Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / ttv / ttv_fig.h
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI Alliance */
4 /* */
5 /* Produit : TTV Version 1 */
6 /* Fichier : ttv_fig.h */
7 /* */
8 /* (c) copyright 1995-1998 Laboratoire LIP6 equipe ASIM */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
11 /* */
12 /* Auteur(s) : Karim DIOURY */
13 /* */
14 /****************************************************************************/
15
16 #define TTV_NODE_LOOP ((long) 0x01000000 ) /* noeud dans une loop */
17 #define TTV_NODE_USED ((long) 0x02000000 ) /* noeud deja parcouru */
18 #define TTV_NODE_USEDDUAL ((long) 0x04000000 ) /* noeud deja parcouru */
19 #define TTV_NODE_LINEEXT ((long) 0x08000000 ) /* noeud deja parcouru */
20 #define TTV_NODE_LOOPNODE ((long) 0x00100000 ) /* noeud deja parcouru */
21 #define TTV_LINE_LOOP ((long) 0x01000000 ) /* lien sur une boucle */
22 #define TTV_LINE_EXT ((long) 0x02000000 ) /* lien sur un chemin ext */
23 #define TTV_LINE_USED ((long) 0x04000000 ) /* lien sur une boucle */
24 #define TTV_LINE_USEDDUAL ((long) 0x08000000 ) /* lien sur un chemin ext */
25
26 #define TTV_PROP_MIN ((int) 0x00000001 )
27 #define TTV_PROP_MAX ((int) 0x00000002 )
28
29 extern ttvsbloc_list *TTV_HEAD_REFSIG ;
30 extern long TTV_NUMB_REFSIG ;
31 extern chain_list *TTV_FREE_REFSIG ;
32 extern ht *TTV_HT_MODEL ;
33 extern int TTV_MAX_PATH_PERIOD ;
34
35 extern void ttv_addhtmodel __P(( ttvfig_list*));
36 extern void ttv_delhtmodel __P(( ttvfig_list*));
37 extern ttvfig_list* ttv_gethtmodel __P(( char *));
38 extern ttvsbloc_list ** ttv_addsigtab __P(( ttvfig_list*));
39 extern void ttv_delsigtab __P(( ttvfig_list*));
40 extern ttvsig_list* ttv_addsig __P(( ttvfig_list*,
41 char*,
42 char*,
43 float,
44 long
45 ));
46 extern chain_list* ttv_addrefsig __P(( ttvfig_list*,
47 char*,
48 char*,
49 float,
50 long,
51 chain_list*
52 ));
53 extern long ttv_gettypesig __P(( ttvsig_list* ));
54 extern void ttv_delrefsig __P(( ttvsig_list* ));
55 extern ttvline_list* ttv_addline __P(( ttvfig_list*,
56 ttvevent_list*,
57 ttvevent_list*,
58 long,
59 long,
60 long,
61 long,
62 long
63 ));
64 extern void ttv_addcaracline __P(( ttvline_list*,
65 char *,
66 char *,
67 char *,
68 char *
69 ));
70 extern int ttv_calcaracline __P(( ttvline_list*,
71 ttvline_list*,
72 long,
73 int
74 ));
75 extern void ttv_addconttype __P(( ttvline_list*,
76 long
77 ));
78 extern long ttv_getconttype __P(( ttvline_list* ));
79 extern void ttv_delconttype __P(( ttvline_list* ));
80 extern void ttv_addmodelline __P(( ttvline_list*,
81 char *,
82 char *
83 ));
84 extern void ttv_getmodelline __P(( ttvline_list*,
85 char **,
86 char **
87 ));
88 extern void ttv_delmodelline __P(( ttvline_list* ));
89 extern int ttv_delline __P(( ttvline_list* ));
90 extern long ttv_getlinetype __P(( ttvline_list* ));
91 extern long ttv_getnewlinetype __P(( ttvline_list*,
92 ttvsig_list*,
93 ttvsig_list*
94 ));
95 extern void ttv_delcmd __P(( ttvfig_list*,
96 ttvsig_list*
97 ));
98 extern ttvevent_list* ttv_getcmd __P(( ttvfig_list*,
99 ttvevent_list*
100 ));
101 extern ttvevent_list* ttv_getlinecmd __P(( ttvfig_list*,
102 ttvline_list*,
103 long
104 ));
105 extern ptype_list* ttv_addcmd __P(( ttvline_list*,
106 long,
107 ttvevent_list*
108 ));
109 extern chain_list* ttv_getlrcmd __P(( ttvfig_list*,
110 ttvsig_list*
111 ));
112 extern void ttv_addprevline __P(( ttvline_list* ));
113 extern void ttv_delprevline __P(( ttvline_list* ));
114 extern int ttv_islinelevel __P(( ttvfig_list*,
115 ttvline_list*,
116 long
117 ));
118 extern ttvfig_list* ttv_getttvfig __P(( char*,
119 long
120 ));
121 extern ttvfig_list* ttv_getttvins __P(( ttvfig_list*,
122 char*,
123 char*
124 ));
125 extern ttvfig_list* ttv_givehead __P(( char*,
126 char*,
127 ttvfig_list*
128 ));
129 extern ttvfig_list* ttv_givettvfig __P(( char*,
130 char*,
131 ttvfig_list*
132 ));
133 extern chain_list* ttv_getttvfiglist __P(( ttvfig_list* ));
134 extern char* ttv_getinsname __P(( ttvfig_list*,
135 char*,
136 ttvfig_list*
137 ));
138 extern char* ttv_getsigname __P(( ttvfig_list*,
139 char*,
140 ttvsig_list*
141 ));
142 extern char* ttv_getnetname __P(( ttvfig_list*,
143 char*,
144 ttvsig_list*
145 ));
146 extern ttvsig_list* ttv_getsig __P(( ttvfig_list*,
147 char*
148 ));
149 extern ttvsig_list* ttv_getsigbyhash __P(( ttvfig_list*,
150 char*
151 ));
152 extern ttvsig_list* ttv_getsigbyname __P(( ttvfig_list*,
153 char*,
154 long
155 ));
156 extern ttvsig_list* ttv_getsigbyinsname __P(( ttvfig_list*,
157 char*,
158 long
159 ));
160 extern ttvsig_list* ttv_getsigbyindex __P(( ttvfig_list*,
161 long,
162 long
163 ));
164 extern chain_list* ttv_getsigbytype __P(( ttvfig_list*,
165 ttvfig_list*,
166 long,
167 chain_list*
168 ));
169 extern chain_list* ttv_getsignamelist __P(( ttvfig_list*,
170 ttvfig_list*,
171 chain_list*
172 ));
173 extern void ttv_freenamelist __P(( chain_list* ));
174 extern chain_list* ttv_getallsigbytype __P(( ttvfig_list*,
175 long,
176 chain_list*
177 ));
178 extern void ttv_setsiglevel __P(( ttvsig_list*, long ));
179 extern long ttv_getsiglevel __P(( ttvsig_list* ));
180 extern void ttv_delsiglevel __P(( ttvfig_list*,
181 ttvsig_list*
182 ));
183 extern void ttv_expfigsig __P(( ttvfig_list*,
184 ttvsig_list*,
185 long,
186 long,
187 long,
188 long
189 ));
190 extern FILE * ttv_openfile __P((ttvfig_list *,
191 long,
192 char *
193 ));
194 extern long ttv_existefile __P((ttvfig_list *,
195 long
196 ));
197 extern chain_list* ttv_addlooplist __P(( ttvfig_list*,
198 chain_list*
199 ));
200 extern chain_list* ttv_addloop __P(( ttvfig_list*,
201 ttvevent_list*
202 ));
203 extern void ttv_marknode __P(( ttvfig_list*,
204 ttvevent_list*,
205 long,
206 long
207 ));
208 extern chain_list* ttv_depthmark __P(( ttvfig_list*,
209 ttvevent_list*,
210 long,
211 long
212 ));
213 extern chain_list* ttv_detectloop __P(( ttvfig_list*,
214 long
215 ));
216 extern ttvfig_list* ttv_builtrefsig __P(( ttvfig_list* ));
217 extern void ttv_printloop __P(( int,
218 chain_list*,
219 char*
220 ));
221 extern int ttv_existeline __P(( ttvfig_list*,
222 ttvevent_list*,
223 ttvevent_list*,
224 long
225 ));
226 extern ttvline_list *ttv_getline __P(( ttvfig_list*,
227 ttvfig_list*,
228 ttvevent_list*,
229 ttvevent_list*,
230 ttvevent_list*,
231 long,
232 long,
233 int,
234 int
235 ));
236 extern lofig_list *ttv_getrcxlofig __P(( ttvfig_list*));
237 extern void ttv_delrcxlofig __P(( ttvfig_list*));
238 extern int ttv_getdelaypos __P(( ttvfig_list*,long,int*));
239 extern ttvdelay_list *ttv_getlinedelay __P(( ttvline_list*));
240 extern ttvdelay_list *ttv_addlinedelay __P(( ttvline_list*,
241 long,
242 long,
243 long,
244 long,
245 float,
246 float
247 ));
248 extern void ttv_delnodedelay __P(( ttvevent_list*));
249 extern ttvdelay_list *ttv_getnodedelay __P(( ttvevent_list*));
250 extern ttvdelay_list *ttv_addnodedelay __P(( ttvevent_list*,
251 long,
252 long,
253 long,
254 long
255 ));
256 extern void ttv_dellinedelay __P(( ttvline_list*));
257 extern long ttv_getdelaymax __P(( ttvline_list*));
258 extern long ttv_getdelaymin __P(( ttvline_list*));
259 extern long ttv_getslopemax __P(( ttvline_list*));
260 extern long ttv_getslopemin __P(( ttvline_list*));
261 extern float ttv_getcapamax __P(( ttvline_list*));
262 extern float ttv_getcapamin __P(( ttvline_list*));
263 extern float ttv_getslopeforload __P(( ttvline_list*, long ));
264 extern long ttv_calclinedelayslope __P(( ttvline_list*,
265 long,
266 long,
267 stm_pwl*,
268 stm_pwl*,
269 float,
270 float,
271 float,
272 float,
273 float,
274 float,
275 float,
276 float,
277 float,
278 long*,
279 long*,
280 stm_pwl**,
281 long*,
282 long*,
283 stm_pwl**,
284 char,
285 float,
286 float,
287 double*,
288 double*,
289 double*,
290 float,
291 float,
292 double*,
293 double*,
294 double*,
295 float*,
296 float*
297 ));
298 extern void ttv_calcgatercdelayslope __P(( ttvline_list*,
299 ttvline_list*,
300 long,
301 long,
302 float,
303 long*,
304 long*,
305 long*,
306 long*,
307 char
308 ));
309 extern long ttv_calcnodedelayslope __P(( ttvfig_list*,
310 long,
311 ttvevent_list *,
312 long,
313 char
314 ));
315 extern long ttv_getslopenode __P(( ttvfig_list*,
316 long,
317 ttvevent_list *,
318 long,
319 long
320 ));
321 extern long ttv_getdelaynode __P(( ttvfig_list*,
322 long,
323 ttvevent_list *,
324 long
325 ));
326 extern chain_list *ttv_levelise __P(( ttvfig_list *,
327 long,
328 long
329 ));
330 extern void ttv_movedelayline __P(( ttvfig_list *,
331 long
332 ));
333 extern void ttv_cleanfigmodel __P(( ttvfig_list *,
334 long,
335 long
336 ));
337 extern void ttv_freefigdelay __P(( chain_list * ));
338 extern void ttv_readcell __P(( char * ));
339 extern void ttvenv __P(( ));
340 extern int ttv_isemptyttvins __P(( ttvfig_list *,
341 long
342 ));
343 extern chain_list *ttv_copyttvinsinttvfig __P(( ttvfig_list *,
344 ttvfig_list *,
345 long
346 ));
347 extern chain_list *ttv_flatttvfigrec __P(( ttvfig_list *,
348 chain_list *,
349 long
350 ));
351 extern void ttv_flatttvfigfromlist __P(( ttvfig_list *,
352 chain_list *,
353 long
354 ));
355 extern void ttv_flatttvfig __P(( ttvfig_list *,
356 chain_list *,
357 long
358 ));
359 extern losig_list* ttv_getlosigfromevent __P(( ttvfig_list *,
360 ttvsig_list *,
361 char **,
362 chain_list **,
363 lofig_list **
364 ));
365 extern ttvfig_list* ttv_getttvinsbyhiername __P(( ttvfig_list *,
366 char *
367 ));
368 extern int ttv_isttvsigdriver __P(( ttvfig_list *,
369 long,
370 long,
371 ttvsig_list*
372 ));
373 extern void ttv_addttvsigfast __P(( ttvfig_list *,
374 char *,
375 losig_list *,
376 ttvsig_list *
377 ));
378 extern ttvsig_list* ttv_getttvsigfast __P(( ttvfig_list *,
379 char *,
380 losig_list *
381 ));
382 extern ttvsig_list* ttv_getttvsig __P(( ttvfig_list *,
383 long,
384 long,
385 char *,
386 losig_list *,
387 char
388 ));
389 extern void ttv_addsigcapas __P(( ttvsig_list *ttvsig,
390 float cu,
391 float cumin,
392 float cumax,
393 float cd,
394 float cdmin,
395 float cdmax
396 ));
397 extern ttvsig_capas* ttv_getsigcapas __P(( ttvsig_list *ttvsig,
398 float *cu,
399 float *cumin,
400 float *cumax,
401 float *cd,
402 float *cdmin,
403 float *cdmax
404 ));
405 extern void ttv_delsigcapas __P(( ttvsig_list *ttvsig
406 ));
407 extern void ttv_setallsigcapas __P(( lofig_list *lofig,
408 losig_list *losig,
409 ttvsig_list *ttvsig
410 ));
411 int ttv_addsig_addrcxpnode(int mode);
412