1GENLIB_MACRO(3) Alliance - genlib User's Manual GENLIB_MACRO(3)
2
3
4
6 GENLIB_MACRO - Interface with all MACRO generators.
7
9 #include <genlib.h>
10
11 void GENLIB_MACRO (long function, char *modelname, long flags, long N,
12 long drive, long regNumber, char *constVal);
13
15 The GENLIB_MACRO() fonction call is the generic interface to all genlib
16 macro generators. As all generators do not have the sames arguments it
17 takes a variable number of arguments.
18
19 Arguments are of two kinds :
20
21 · Mandatory arguments : those arguments must always be supplied. They
22 represents the minimal set of common arguments for all macro-genera‐
23 tors. Mandatory arguments comme firts in the arguments list.
24
25 · Optional arguments : arguments specifics to a macro-generator or a
26 class of macro-generators.
27
28 ARGUMENTS
29 1. long function : (mandatory) specify which macro-generator is to be
30 invoked. For example, to create a two entry multiplexer gives GEN‐
31 LIB_MUX2.
32
33 2. char* modelname : (mandatory) specify the name of the model to be
34 generated. For example : "model_mux2_32bits".
35
36 3. long flags : (mandatory) tells which views are to be generated. It
37 is a logical combination of the following values : (ORed)
38
39 1. F_PLACE : generate physical view (placement only).
40
41 2. F_BEHAV : generate behavioral view (VHDL view).
42
43 3. F_LSB_FIRST : the terminal of index zero is matched to the LSB,
44 thus a 32 bits vector will be written : "signal[31:0]".
45
46 4. F_MSB_FIRST : the terminal of index zero is matched to the MSB,
47 thus a 32 bits vector will be written : "signal[0:31]" (aka. IBM
48 notation).
49
50 4. long N : (mandatory) width of the model's bus to be generated.
51
52 5. long drive : (optional) output power drive.
53
54 6. long regNumber : (optional) number of registers or depth of for a
55 FIFO macro-generator.
56
57 7. char* constval : (optional) a character string holding a constant.
58 For example : "0xFFFF0000".
59
60 AVAILABLE MACRO-GENERATORS
61 · Inverters and Buffers :
62
63 · DPGEN_INV(3)
64
65 · DPGEN_BUFF(3)
66
67 · Boolean Operators :
68
69 · DPGEN_NAND2(3)
70
71 · DPGEN_NAND3(3)
72
73 · DPGEN_NAND4(3)
74
75 · DPGEN_AND2(3)
76
77 · DPGEN_AND3(3)
78
79 · DPGEN_AND4(3)
80
81 · DPGEN_NOR2(3)
82
83 · DPGEN_NOR3(3)
84
85 · DPGEN_NOR4(3)
86
87 · DPGEN_OR2(3)
88
89 · DPGEN_OR3(3)
90
91 · DPGEN_OR4(3)
92
93 · DPGEN_XOR2(3)
94
95 · DPGEN_XNOR2(3)
96
97 · Multiplexers and Tristates :
98
99 · DPGEN_NMUX2(3)
100
101 · DPGEN_MUX2(3)
102
103 · DPGEN_NBUSE(3)
104
105 · DPGEN_BUSE(3)
106
107 · Programmable Masks :
108
109 · DPGEN_NAND2MASK(3)
110
111 · DPGEN_NOR2MASK(3)
112
113 · DPGEN_XNOR2MASK(3)
114
115 · Arithmetics Operators :
116
117 · DPGEN_ADSB2F(3)
118
119 · DPGEN_SHIFT(3)
120
121 · Miscellaneous :
122
123 · DPGEN_NUL(3)
124
125 · DPGEN_CONST(3)
126
127 · DPGEN_ROM2(3)
128
129 · DPGEN_ROM4(3)
130
131 · Registers :
132
133 · DPGEN_RF1(3)
134
135 · DPGEN_RF1R0(3)
136
137 · DPGEN_FIFO(3)
138
139 · DPGEN_RF1D(3)
140
141 · DPGEN_RF1DR0(3)
142
143 · DPGEN_DFF(3)
144
145 · DPGEN_DFFT(3)
146
147 · DPGEN_SFF(3)
148
149 · DPGEN_SFFT(3)
150
152 mbk(1),
153
154
155
156ASIM/LIP6 30 July 2004 GENLIB_MACRO(3)