The Xfuzzy 3 development environment

Synthesis stage

The synthesis stage is the last step in the design flow of a system. Its aim is to generate a system representation that could be used externally. There are two different types of final representations for a fuzzy system: software representations and hardware representations. The software synthesis generates a system representation in a high level programming language. The hardware synthesis generates a microelectronic circuit that implements the inference process described by the fuzzy system.

Software representations are useful when there are not strong restrictions on the inference speed, the system size, or the power consumption. They can be generated from any fuzzy system developed in Xfuzzy. On the other hand, hardware representations are more adequate when high speed, small area, or power is needed, but for this solution to be efficient some constraints has to be imposed on the fuzzy systems, so that the hardware synthesis is not so generic as its software counterpart.

Xfuzzy 3 provides the user with three tools for software synthesis: xfc, that generates an ANSI-C description of the system, xfcpp, to develop a C++ description, and xfj, that represents the system as a Java class. Regarding the hardware synthesis, Xfuzzy 3 includes xfvhdl, a tool that generates a synthesizable VHDL description based on a specific architecture for fuzzy systems, and xfsg, which generates a Simulink model that can be implemented on FPGAs using the DSP development tools from Xilinx.

For comments, patches, bug reports, etc contact us at:

©IMSE-CNM 2018