genlib_macro(3) - Linux man page
Name
GENLIB_MACRO - Interface with all MACRO generators.Synopsis
#include <genlib.h>
void GENLIB_MACRO (long function, char *modelname, long flags, long N, long drive, long regNumber, char *constVal);
Description
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.
Arguments
- ..
- long function : (mandatory) specify which macro-generator is to be invoked. For example, to create a two entry multiplexer gives GENLIB_MUX2..
- char* modelname : (mandatory) specify the name of the model to be generated. For example : "model_mux2_32bits"..
- long flags : (mandatory) tells which views are to be generated. It is a logical combination of the following values : (ORed) .
- F_PLACE : generate physical view (placement only)..
- F_BEHAV : generate behavioral view (VHDL view)..
- F_LSB_FIRST : the terminal of index zero is matched to the LSB, thus a 32 bits vector will be written : "signal[31:0]".
- 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).
- ..
- long N : (mandatory) width of the model's bus to be generated..
- long drive : (optional) output power drive..
- long regNumber : (optional) number of registers or depth of for a FIFO macro-generator.
- char* constval : (optional) a character string holding a constant. For example : "0xFFFF0000".
Available Macro-generators
- Inverters and Buffers :
- dpgen_inv(3)
- dpgen_buff(3)
- Boolean Operators :
- dpgen_nand2(3)
- dpgen_nand3(3)
- dpgen_nand4(3)
- dpgen_and2(3)
- dpgen_and3(3)
- dpgen_and4(3)
- dpgen_nor2(3)
- dpgen_nor3(3)
- dpgen_nor4(3)
- dpgen_or2(3)
- dpgen_or3(3)
- dpgen_or4(3)
- dpgen_xor2(3)
- dpgen_xnor2(3)
- Multiplexers and Tristates :
- dpgen_nmux2(3)
- dpgen_mux2(3)
- dpgen_nbuse(3)
- dpgen_buse(3)
- Programmable Masks :
- dpgen_nand2mask(3)
- dpgen_nor2mask(3)
- dpgen_xnor2mask(3)
- Arithmetics Operators :
- dpgen_adsb2f(3)
- dpgen_shift(3)
- Miscellaneous :
- dpgen_nul(3)
- dpgen_const(3)
- dpgen_rom2(3)
- dpgen_rom4(3)
- Registers :
- dpgen_rf1(3)
- DPGEN_RF1R0(3)
- dpgen_fifo(3)
- dpgen_rf1d(3)
- DPGEN_RF1DR0(3)
- dpgen_dff(3)
- dpgen_dfft(3)
- dpgen_sff(3)
- dpgen_sfft(3)
See Also
mbk(1),