xftl

Section: User Commands (1)
Updated: 10 Sep 2001
Index
 

NAME

xftl - synthesizable look-up table generator for xfl-based fuzzy systems  

SYNOPSIS

xftl [ -O opsfile ] [ -w ] [ -o outprefix ] [ -t ftype ] [ -b bitsize ] [ -v var:bitsize ] [ -E[c|p|s] ] [ -C[s|x] ] -N[f|s] ] [ -F[l|m|h] ] [ -M[s|m|n] ] [ -P ] [ -T ] [ -B ] [ -R ] [ -H ] [ -D devicename ] xflfile  

DESCRIPTION

xftl takes an xfl file and produces a C program which (once compiled) is able to generate a boolean function definition that implements the behavior of the fuzzy system. The boolean definition is generated using Brekeley PLA format. This permits the use of widely available tools for further minimization and implementation of the results. Depending on the mode of execution, xftl is able to generate the C source file, build the boolean definition on Berkeley PLA format and direct Synopsys to synthesize it on a Xilinx FPGA.

The only requirement that the C output file generated by xftl imposes is that it must be compiled using the libm.a library, since it uses specific mathematical functions.  

OPTIONS

-E
Selects the mode of execution: c builds only the C source for the table look-up generation program, with suffix "Pla.c". This file should be later compiled and will produce the definiton in PLA format on its standard output. p builds the PLA definition file, which has the suffix ".pla". In this mode, xftl will also show the results as they are generated on its standard output. This is the default mode of execution. s builds the PLA definition file and execute the synthesis process on it.

C and PLA generation options

These options allow the configuration of the C source and PLA files generation, defining how these outputs are derived from the xfl description.

-O opsfile
Use opsfile as the fuzzy operations file (see xfc(1) for more details).
-w
Suppresses the printing of warning messages on stderr.
-o outprefix
Use outprefix as the prefix for the output file. This prefix is prepended to the suffixes described below to produce the names of the output files. Any valid path component can be used. The default value is "./a.xf".
-t ftype
Use ftype as the type of fuzzy variables within the output file. Any valid C type identifier can be used as value, since the value of this option is used in a "typedef FUZZY ftype" construct. The default value is "double".
-b bitsize
Set bitsize as the default number of bits for all the variables defined for the system. This option overrides the automatic bitsize assignment, which derives the bitsize for each variable from the cardinality, either explicit or implicit, defined for its type in the xfl source file.
-v var:bitsize
Set bitsize as the number of bits for variable var, instead of the general values defined automatically or by means of the -b option.

Synthesis options

Synthesis is driven by a file with suffix ".pgs", specifically tailored for the use of Synopsys and the implementation on a Xilinx FPGA. These options allow the configuration of the contents of the script file and the behavior of xftl when the PLA definition file has been generated.

-C
Selects the synthesis tool to be called: s directs the use of the Synopsys design compiler [dc_shell]. x directs the use of the Synopsys FPGA compiler [fpga_shell] (which is the default synthesis tool).
-N
Deactivates logic optimizations in the synthesis tool. f deactivates flattening (options -F , -M and -P do not apply), while s deactivates structuring (options -T and -B do not apply).
-F
Defines the flattening effort to be used by the synthesis tool: l selects low effort. m selects medium effort (which is the default). h selects high effort.
-M
Defines the type of minimization to be performed by the synthesis tool: s selects single-output minimization. m selects multiple-output minimization. n selects no minimization (which is the default).
-P
Directs the synthesis tool to invert the phase of design signals.
-T
Directs the synthesis tool to omit timing-driven structuring.
-B
Directs the synthesis tool to omit boolean optimization techniques.
-R
Directs the Xilinx tools to perform place and route for the design.
-H
Directs the synthesis tool to perform removal of block names, allowing more flexibility to the place and route process.
-D devicename
Selects devicename as the FPGA device on which the fuzzy system is going to be implemented. By default, the 4005XL-1-PC84 is used.
 

ENVIRONMENT

FSCCOMPILER
Defines the C compiler to be used for producing the executable file that generates the PLA description. Defaults to "cc" if not set.
 

FILES

The execution of xftl generates files with the following suffixes:
"Pla.c"
Containing the C source code for the PLA description generation program.
".pla"
Containing the table look-up synthesized in Berkeley PLA format.
".pgs"
This is a script file with the necessary instructions for Synopsys to synthesize the PLA description of the fuzzy system.
 

EXAMPLES

The following command would produce on its standard output the boolean function description for the fuzzy system defined in "func.xfl":

xftl -Ec func.xfl; cc -o func-bool a.xfPla.c -lm; func-bool

The following command would produce the file "func.pla" with the PLA definition of the table look-up synthesized from "func.xfl":

xftl -o func func.xfl

And the following command would synthesize on a 4013BG225-4 FPGA the fuzzy system described by "func.xfl", using "func" as the output file prefix, with 4 bits per variable:

xftl -o func -b 4 -Es -D 4013BG225-4 func.xfl  

SEE ALSO

xfc(1)

A guide to xfl, Xfuzzy user guide


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
ENVIRONMENT
FILES
EXAMPLES
SEE ALSO