.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "GENLIB_MACRO" "3" "30 July 2004" "ASIM/LIP6" "Alliance - genlib User's Manual" .SH NAME GENLIB_MACRO \- Interface with all MACRO generators. .SH SYNOPSIS .sp \fB#include .sp void GENLIB_MACRO (long \fIfunction\fB, char *\fImodelname\fB, long \fIflags\fB, long \fIN\fB, long \fIdrive\fB, long \fIregNumber\fB, char *\fIconstVal\fB); \fR .SH "DESCRIPTION" .PP The \fBGENLIB_MACRO()\fR fonction call is the generic interface to all \fBgenlib\fR macro generators. As all generators do not have the sames arguments it takes a variable number of arguments. .PP Arguments are of two kinds : .TP 0.2i \(bu 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. .TP 0.2i \(bu Optional arguments : arguments specifics to a macro-generator or a class of macro-generators. .SS "ARGUMENTS" .TP 3 1. long \fIfunction\fR : (mandatory) specify which macro-generator is to be invoked. For example, to create a two entry multiplexer gives GENLIB_MUX2\&. .TP 3 2. char* \fImodelname\fR : (mandatory) specify the name of the model to be generated. For example : "model_mux2_32bits"\&. .TP 3 3. long \fIflags\fR : (mandatory) tells which views are to be generated. It is a logical combination of the following values : (\fBORed\fR) .RS .TP 3 1. F_PLACE : generate physical view (placement only). .TP 3 2. F_BEHAV : generate behavioral view (\fBVHDL\fR view). .TP 3 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]"\&. .TP 3 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). .RE .TP 3 4. long \fIN\fR : (mandatory) width of the model's bus to be generated. .TP 3 5. long \fIdrive\fR : (optional) output power drive. .TP 3 6. long \fIregNumber\fR : (optional) number of registers or depth of for a FIFO macro-generator. .TP 3 7. char* \fIconstval\fR : (optional) a character string holding a constant. For example : "0xFFFF0000"\&. .SS "AVAILABLE MACRO-GENERATORS" .PP .TP 0.2i \(bu Inverters and Buffers : .RS .TP 0.2i \(bu \fBDPGEN_INV\fR(3) .TP 0.2i \(bu \fBDPGEN_BUFF\fR(3) .RE .TP 0.2i \(bu Boolean Operators : .RS .TP 0.2i \(bu \fBDPGEN_NAND2\fR(3) .TP 0.2i \(bu \fBDPGEN_NAND3\fR(3) .TP 0.2i \(bu \fBDPGEN_NAND4\fR(3) .TP 0.2i \(bu \fBDPGEN_AND2\fR(3) .TP 0.2i \(bu \fBDPGEN_AND3\fR(3) .TP 0.2i \(bu \fBDPGEN_AND4\fR(3) .TP 0.2i \(bu \fBDPGEN_NOR2\fR(3) .TP 0.2i \(bu \fBDPGEN_NOR3\fR(3) .TP 0.2i \(bu \fBDPGEN_NOR4\fR(3) .TP 0.2i \(bu \fBDPGEN_OR2\fR(3) .TP 0.2i \(bu \fBDPGEN_OR3\fR(3) .TP 0.2i \(bu \fBDPGEN_OR4\fR(3) .TP 0.2i \(bu \fBDPGEN_XOR2\fR(3) .TP 0.2i \(bu \fBDPGEN_XNOR2\fR(3) .RE .TP 0.2i \(bu Multiplexers and Tristates : .RS .TP 0.2i \(bu \fBDPGEN_NMUX2\fR(3) .TP 0.2i \(bu \fBDPGEN_MUX2\fR(3) .TP 0.2i \(bu \fBDPGEN_NBUSE\fR(3) .TP 0.2i \(bu \fBDPGEN_BUSE\fR(3) .RE .TP 0.2i \(bu Programmable Masks : .RS .TP 0.2i \(bu \fBDPGEN_NAND2MASK\fR(3) .TP 0.2i \(bu \fBDPGEN_NOR2MASK\fR(3) .TP 0.2i \(bu \fBDPGEN_XNOR2MASK\fR(3) .RE .TP 0.2i \(bu Arithmetics Operators : .RS .TP 0.2i \(bu \fBDPGEN_ADSB2F\fR(3) .TP 0.2i \(bu \fBDPGEN_SHIFT\fR(3) .RE .TP 0.2i \(bu Miscellaneous : .RS .TP 0.2i \(bu \fBDPGEN_NUL\fR(3) .TP 0.2i \(bu \fBDPGEN_CONST\fR(3) .TP 0.2i \(bu \fBDPGEN_ROM2\fR(3) .TP 0.2i \(bu \fBDPGEN_ROM4\fR(3) .RE .TP 0.2i \(bu Registers : .RS .TP 0.2i \(bu \fBDPGEN_RF1\fR(3) .TP 0.2i \(bu \fBDPGEN_RF1R0\fR(3) .TP 0.2i \(bu \fBDPGEN_FIFO\fR(3) .TP 0.2i \(bu \fBDPGEN_RF1D\fR(3) .TP 0.2i \(bu \fBDPGEN_RF1DR0\fR(3) .TP 0.2i \(bu \fBDPGEN_DFF\fR(3) .TP 0.2i \(bu \fBDPGEN_DFFT\fR(3) .TP 0.2i \(bu \fBDPGEN_SFF\fR(3) .TP 0.2i \(bu \fBDPGEN_SFFT\fR(3) .RE .SH "SEE ALSO" .PP \fBmbk\fR(1),