GENLIB_MACRO - Interface with all MACRO generators.
#include <genlib.h>
void GENLIB_MACRO (long function, char
*modelname, long flags, long N,
long drive, long regNumber, char
*constVal);
The GENLIB_MACRO() fonction call is the generic interface
to all genlib macro generators. As all generators do not have the
sames arguments it takes a variable number of arguments.
Arguments are of two kinds :
- •
- Mandatory arguments : those arguments must always be supplied. They
represents the minimal set of common arguments for all macro-generators.
Mandatory arguments comme firts in the arguments list.
- •
- Optional arguments : arguments specifics to a macro-generator or a class
of macro-generators.
- 1.
- long function : (mandatory) specify which macro-generator is to be
invoked. For example, to create a two entry multiplexer gives
GENLIB_MUX2.
- 2.
- char* modelname : (mandatory) specify the name of the model to be
generated. For example : "model_mux2_32bits".
- 3.
- long flags : (mandatory) tells which views are to be generated. It
is a logical combination of the following values : (ORed)
- 1.
- F_PLACE : generate physical view (placement only).
- 2.
- F_BEHAV : generate behavioral view (VHDL view).
- 3.
- F_LSB_FIRST : the terminal of index zero is matched to the LSB, thus a 32
bits vector will be written : "signal[31:0]".
- 4.
- F_MSB_FIRST : the terminal of index zero is matched to the MSB, thus a 32
bits vector will be written : "signal[0:31]" (aka. IBM
notation).
- 4.
- long N : (mandatory) width of the model's bus to be generated.
- 5.
- long drive : (optional) output power drive.
- 6.
- long regNumber : (optional) number of registers or depth of for a
FIFO macro-generator.
- 7.
- char* constval : (optional) a character string holding a constant.
For example : "0xFFFF0000".
- •
- Inverters and Buffers :
- •
- Boolean Operators :
- •
- Multiplexers and Tristates :
- •
- Programmable Masks :
- •
- Arithmetics Operators :
- •
- Miscellaneous :
- •
- Registers :