1 /****************************************************************************/
3 /* Chaine de CAO & VLSI Alliance */
5 /* Produit : TTV Version 1 */
6 /* Fichier : ttv_fig.h */
8 /* (c) copyright 1995-1998 Laboratoire LIP6 equipe ASIM */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
12 /* Auteur(s) : Karim DIOURY */
14 /****************************************************************************/
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 */
26 #define TTV_PROP_MIN ((int) 0x00000001 )
27 #define TTV_PROP_MAX ((int) 0x00000002 )
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
;
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
*,
46 extern chain_list
* ttv_addrefsig
__P(( ttvfig_list
*,
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
*,
64 extern void ttv_addcaracline
__P(( ttvline_list
*,
70 extern int ttv_calcaracline
__P(( ttvline_list
*,
75 extern void ttv_addconttype
__P(( ttvline_list
*,
78 extern long ttv_getconttype
__P(( ttvline_list
* ));
79 extern void ttv_delconttype
__P(( ttvline_list
* ));
80 extern void ttv_addmodelline
__P(( ttvline_list
*,
84 extern void ttv_getmodelline
__P(( ttvline_list
*,
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
*,
95 extern void ttv_delcmd
__P(( ttvfig_list
*,
98 extern ttvevent_list
* ttv_getcmd
__P(( ttvfig_list
*,
101 extern ttvevent_list
* ttv_getlinecmd
__P(( ttvfig_list
*,
105 extern ptype_list
* ttv_addcmd
__P(( ttvline_list
*,
109 extern chain_list
* ttv_getlrcmd
__P(( ttvfig_list
*,
112 extern void ttv_addprevline
__P(( ttvline_list
* ));
113 extern void ttv_delprevline
__P(( ttvline_list
* ));
114 extern int ttv_islinelevel
__P(( ttvfig_list
*,
118 extern ttvfig_list
* ttv_getttvfig
__P(( char*,
121 extern ttvfig_list
* ttv_getttvins
__P(( ttvfig_list
*,
125 extern ttvfig_list
* ttv_givehead
__P(( char*,
129 extern ttvfig_list
* ttv_givettvfig
__P(( char*,
133 extern chain_list
* ttv_getttvfiglist
__P(( ttvfig_list
* ));
134 extern char* ttv_getinsname
__P(( ttvfig_list
*,
138 extern char* ttv_getsigname
__P(( ttvfig_list
*,
142 extern char* ttv_getnetname
__P(( ttvfig_list
*,
146 extern ttvsig_list
* ttv_getsig
__P(( ttvfig_list
*,
149 extern ttvsig_list
* ttv_getsigbyhash
__P(( ttvfig_list
*,
152 extern ttvsig_list
* ttv_getsigbyname
__P(( ttvfig_list
*,
156 extern ttvsig_list
* ttv_getsigbyinsname
__P(( ttvfig_list
*,
160 extern ttvsig_list
* ttv_getsigbyindex
__P(( ttvfig_list
*,
164 extern chain_list
* ttv_getsigbytype
__P(( ttvfig_list
*,
169 extern chain_list
* ttv_getsignamelist
__P(( ttvfig_list
*,
173 extern void ttv_freenamelist
__P(( chain_list
* ));
174 extern chain_list
* ttv_getallsigbytype
__P(( ttvfig_list
*,
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
*,
183 extern void ttv_expfigsig
__P(( ttvfig_list
*,
190 extern FILE * ttv_openfile
__P((ttvfig_list
*,
194 extern long ttv_existefile
__P((ttvfig_list
*,
197 extern chain_list
* ttv_addlooplist
__P(( ttvfig_list
*,
200 extern chain_list
* ttv_addloop
__P(( ttvfig_list
*,
203 extern void ttv_marknode
__P(( ttvfig_list
*,
208 extern chain_list
* ttv_depthmark
__P(( ttvfig_list
*,
213 extern chain_list
* ttv_detectloop
__P(( ttvfig_list
*,
216 extern ttvfig_list
* ttv_builtrefsig
__P(( ttvfig_list
* ));
217 extern void ttv_printloop
__P(( int,
221 extern int ttv_existeline
__P(( ttvfig_list
*,
226 extern ttvline_list
*ttv_getline
__P(( ttvfig_list
*,
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
*,
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
*,
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
*,
298 extern void ttv_calcgatercdelayslope
__P(( ttvline_list
*,
309 extern long ttv_calcnodedelayslope
__P(( ttvfig_list
*,
315 extern long ttv_getslopenode
__P(( ttvfig_list
*,
321 extern long ttv_getdelaynode
__P(( ttvfig_list
*,
326 extern chain_list
*ttv_levelise
__P(( ttvfig_list
*,
330 extern void ttv_movedelayline
__P(( ttvfig_list
*,
333 extern void ttv_cleanfigmodel
__P(( ttvfig_list
*,
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
*,
343 extern chain_list
*ttv_copyttvinsinttvfig
__P(( ttvfig_list
*,
347 extern chain_list
*ttv_flatttvfigrec
__P(( ttvfig_list
*,
351 extern void ttv_flatttvfigfromlist
__P(( ttvfig_list
*,
355 extern void ttv_flatttvfig
__P(( ttvfig_list
*,
359 extern losig_list
* ttv_getlosigfromevent
__P(( ttvfig_list
*,
365 extern ttvfig_list
* ttv_getttvinsbyhiername
__P(( ttvfig_list
*,
368 extern int ttv_isttvsigdriver
__P(( ttvfig_list
*,
373 extern void ttv_addttvsigfast
__P(( ttvfig_list
*,
378 extern ttvsig_list
* ttv_getttvsigfast
__P(( ttvfig_list
*,
382 extern ttvsig_list
* ttv_getttvsig
__P(( ttvfig_list
*,
389 extern void ttv_addsigcapas
__P(( ttvsig_list
*ttvsig
,
397 extern ttvsig_capas
* ttv_getsigcapas
__P(( ttvsig_list
*ttvsig
,
405 extern void ttv_delsigcapas
__P(( ttvsig_list
*ttvsig
407 extern void ttv_setallsigcapas
__P(( lofig_list
*lofig
,
411 int ttv_addsig_addrcxpnode(int mode
);