Information Technology Reference
In-Depth Information
terizable, making it possible to adapt their functionality by adequately defining the
corresponding parameters.
The 'SysGen code generator tool' ( xfsg ) included in Xfuzzy is able to generate
the files required to automate this design flow. The graphical user interface (GUI)
of this tool is shown in Fig. 13.4 . The middle left area contains the knowledge base,
structured as a pull-downmenuwith components grouped under the categories “Rule-
Bases” and “CrispBlocks”. When a particular rule base is selected, the middle right
area allows defining the parameters related to the dimension of that component. This
area also shows information about membership functions and fuzzy rules extracted
directly from the XFL3 specification. The user can select a set of global implemen-
tation options, which affect the number and the content of generated files.
The main outputs of xfsg are: an “.mdl” file containing a Simulink model of
the fuzzy system, and an “.m” file with the parameters that define the size and
functionality of its components. These files constitute the starting point for applying
the model-based design flow for fuzzy controllers that will be illustrated in Sect. 13.5 .
13.4 Synthesis of Fuzzy Controllers with xfvhdl
Fuzzy controllers provided by xfsg only can be implemented on Xilinx's FPGAs.
In order to provide a more general approach, the second design technique offered
by the Xfuzzy environment is able to generate a behavioral VHDL description from
the XFL3 specification of a fuzzy system. This standard VHDL code can be used
as interface to commercial VHDL synthesis and verification tools, as well as to
conventional FPGA development environments.
To support this VHDL-based technique, the components of the architecture dis-
cussed in Sect. 13.2.1 have been implemented bymeans of blocks described inVHDL
language. As happens to the Simulink library mentioned in Sect. 13.3 , this VHDL
library contains different blocks for generation of membership functions, processing
of active rules, calculation of rule activation degrees, storage of consequents for rule
bases, development of tasks of accumulation and division for different defuzzification
methods, and generation of control signals, as well as crisp blocks that implement
general purpose arithmetic and logic functions. Fixed-point arithmetic is used in all
the components and input and output signals are normalized in the interval [0, 1].
To facilitate design process automation, library components are parameterized by
“generic” VHDL statements, which are fixed when the components are placed. By
means of these parameters, the user can select the word-lengths of input and output
signals, membership degrees, slopes, and defuzzification weight factors, using the
interface provided by the xfvhdl tool.
The 'VHDL code generator tool' ( xfvhdl ) included in Xfuzzy allows translating the
high-level description of a fuzzy system written in XFL3 into a VHDL description
that can be synthesized and implemented on a programmable device or an application
specific integrated circuit.
Search WWH ::




Custom Search