GENLIB_MACRO(3) Alliance - genlib User's Manual GENLIB_MACRO(3)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 :
o Mandatory arguments : those arguments must always be supplied. They represents the minimal set of common arguments for all macro-genera-
tors. Mandatory arguments comme firts in the arguments list.
o Optional arguments : arguments specifics to a macro-generator or a class of macro-generators.
ARGUMENTS
1. long function : (mandatory) specify which macro-generator is to be invoked. For example, to create a two entry multiplexer gives GEN-
LIB_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".
AVAILABLE MACRO-GENERATORS
o Inverters and Buffers :
o DPGEN_INV(3)
o DPGEN_BUFF(3)
o Boolean Operators :
o DPGEN_NAND2(3)
o DPGEN_NAND3(3)
o DPGEN_NAND4(3)
o DPGEN_AND2(3)
o DPGEN_AND3(3)
o DPGEN_AND4(3)
o DPGEN_NOR2(3)
o DPGEN_NOR3(3)
o DPGEN_NOR4(3)
o DPGEN_OR2(3)
o DPGEN_OR3(3)
o DPGEN_OR4(3)
o DPGEN_XOR2(3)
o DPGEN_XNOR2(3)
o Multiplexers and Tristates :
o DPGEN_NMUX2(3)
o DPGEN_MUX2(3)
o DPGEN_NBUSE(3)
o DPGEN_BUSE(3)
o Programmable Masks :
o DPGEN_NAND2MASK(3)
o DPGEN_NOR2MASK(3)
o DPGEN_XNOR2MASK(3)
o Arithmetics Operators :
o DPGEN_ADSB2F(3)
o DPGEN_SHIFT(3)
o Miscellaneous :
o DPGEN_NUL(3)
o DPGEN_CONST(3)
o DPGEN_ROM2(3)
o DPGEN_ROM4(3)
o Registers :
o DPGEN_RF1(3)
o DPGEN_RF1R0(3)
o DPGEN_FIFO(3)
o DPGEN_RF1D(3)
o DPGEN_RF1DR0(3)
o DPGEN_DFF(3)
o DPGEN_DFFT(3)
o DPGEN_SFF(3)
o DPGEN_SFFT(3)SEE ALSO mbk(1),
ASIM /LIP6 30 July 2004 GENLIB_MACRO(3)
Check Out this Related Man Page
GENLIB_BUS.3(October 1, 1997) GENLIB_BUS.3(October 1, 1997)
NAME
GENLIB_BUS - Creates a bus name for netlist
SYNOPSYS
#include <genlib.h>
char *GENLIB_BUS(busname, from, to);
char *busname;
long from, to;
ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in
Paris, France.
Web : http://asim.lip6.fr/recherche/alliance/
E-mail : alliance-users@asim.lip6.fr
PARAMETERS
busname Common signal name for a bus
from Starting index of the set of signal, from included
to Ending index of the set of signal, to included
DESCRIPTION
GENLIB_BUS Creates a set of names, based upon a common name, valid for the genlib netlist functions that manipulate the signal, and/or con-
nector, concept. They are:
LOINS(3)LOCON(3)
The from, to arguments give the boundaries of the bus to be created, both of them beeing included in the set. The function allows increas-
ing or decreasing order busses, as one could expect.
This function has a constant equivalent, it means that if the from, to values are known at compilation time, one should better use, for
readability purposes, the "[n:m]" construct.
EXAMPLE
#include <genlib.h>
main()
{
int b = 0;
int e = 12;
/* Create a figure to work on */
GENLIB_DEF_LOFIG("mycell");
/* define interface */
GENLIB_LOCON(GENLIB_BUS("i", b, e), INPUT, GENLIB_BUS("sig", b, e);
GENLIB_LOCON("o[2:0]", OUTPUT, "sigout[4:6]");
/* Place an instance */
GENLIB_LOINS("model","instance", GENLIB_BUS("sig", e/2), "sigout[6]", EOL);
/* Save all that on disk */
GENLIB_SAVE_LOFIG();
}
SEE ALSO genlib(1), GENLIB_ELM(3).
BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.
PROCEDURAL GENERATION LANGUAGE ASIM/LIP6 GENLIB_BUS.3(October 1, 1997)