Fuzzy Logic Controller on the Reconfigurable FPGA System

This paper concerns an implementation of a fuzzy logic controller (FLC) on a reconfigurable field-programmable gate array (FPGA) system. In the proposed implementation method, the FLC is partitioned into many temporally independent functional modules, and each module is implemented individually on the FLC automatic design and implementation system, which is an integrated development environment for performing many subtasks such as automatic VHSIC hardware description language description, FPGA synthesis, optimization, placement and routing, and downloading. Each implemented module forms a downloadable hardware object that is ready to configure the FPGA chip. Then, the FPGA chip is consequently reconfigured with one module at a time by using the run-time reconfiguration method. This implementation method is effective when a single FPGA chip cannot fit the FLC due to the limited size of its constituent cells. We test the proposed implementation method by building the FLC for the truck backer-upper control on VCC Corporation’s EVC-1 reconfigurable FPGA board directly.

FUZZY LOGIC controllers (FLC’s) have been widely applied to both consumer products and industrial process controls. In particular, FLC’s are very effective techniques for complicated and imprecise processes for which either no mathematical model exists or the mathematical model is severely nonlinear, because FLC’s can easily approximate a human expert’s control behaviors that work fine in such ill-defined environments [1]. An FLC typically consists of four principal units: 1) fuzzifier which converts a crisp input into a fuzzy term set; 2) fuzzy rule base which stores fuzzy rules describing how the fuzzy system performs; 3) fuzzy inference engine which performs approximate reasoning by associating input variables with fuzzy rules; and 4) defuzzifier which converts the FLC’s fuzzy output to a crisp value for the actual system input over the target. The control performance is more or less influenced by the selection of fuzzy sets of linguistic variables, the shapes of membership functions, the fuzzy rule base, the inference mechanism, and the defuzzification method.

For application purposes, the FLC can be divided into two classes: 1) general-purpose fuzzy processor with specialized fuzzy computations and 2) dedicated fuzzy hardware for specific applications. The general-purpose fuzzy processor has been implemented on various platforms, such as: 1) computers (PC or WS); 2) processors ( P, C, digital signal processor (DSP), or transputers; and 3) lookup table (digital memory devices). The relatively simple architecture and the processing algorithm of the FLC naturally lead to straightforward implementations in dedicated hardware. The dedicated fuzzy hardware has been implemented by different technologies, digital and analog. The first hardware implementation of the FLC was the full-custom digital design reported in 1986 at AT&T Bell Laboratories . Since then, many industries have developed various FLC chips using the semi-custom design with CMOS standard cells. The analog implementation of a fuzzy system originated from the work of Yamagawa and Miki based on the standard CMOS process in nonlinear analog current-mode circuits. Since then, a large amount of academic work has been tried with different technologies and circuit techniques, such as CMOS, BiCMOS , bipolar , and PLA

Free download research paper