DOKK / manpages / debian 10 / alliance / GENLIB_MACRO.3.en
GENLIB_MACRO(3) Alliance - genlib User's Manual GENLIB_MACRO(3)

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 :

mbk(1),

30 July 2004 ASIM/LIP6