1 /****************************************************************************/
3 /* Chaine de CAO & VLSI Alliance */
5 /* Produit : TAS Version 5 */
6 /* Fichier : tas_util.h */
8 /* (c) copyright 1991-1998 Laboratoire LIP6 equipe ASIM */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
12 /* Auteur(s) : Payam KIANI */
15 /****************************************************************************/
17 /* declaration de variable */
18 extern tas_context_list
*TAS_CONTEXT
;
19 extern info_list TAS_INFO
;
21 /* declaration de fonction */
22 extern int tas_version
__P(( void ));
23 extern int tas_GenPwl
__P(( FILE*,
29 extern int tas_PwlFile
__P(( void ));
30 extern int tas_PwlFileInput
__P(( FILE*,
34 extern int tas_setenv
__P(( void ));
35 extern void tas_restore
__P(( void ));
36 extern void perfpath
__P(( char* ));
37 extern short retkey
__P(( char* ));
38 extern int optionword
__P(( char* ));
39 extern void tas_init
__P(( void )) ;
40 extern int tas_option
__P(( int, char**, char ));
41 extern int tas_CloseTerm
__P(( void ));
42 extern int tas_RestoreTerm
__P(( void ));
43 extern void tas_GetKill
__P(( int ));
44 extern void tas_handler_core
__P(( void ));
45 extern info_list tas_InitInfo
__P(( struct information
));
46 extern int tas_PrintTime
__P(( struct rusage
,
50 extern void tas_yaginit
__P(( void ));
51 extern void tas_addcapalink(link_list
*link
, float capa
);
52 extern float tas_gettotalcapa(lofig_list
*lofig
, losig_list
*losig
, int type
);
53 extern float tas_getcapalink(lofig_list
*lofig
, link_list
*link
, char event
);
54 extern int tas_get_lotrs_current(lotrs_list
*lotrs
, long width
, long length
, float vgs
, float vds
, float vbs
, float *ids
);
55 extern float tas_get_current_rate(link_list
*link
);
57 extern void tas_set_vpol
__P(( link_list
*, float ));
58 extern float tas_get_vpol
__P(( link_list
* ));
59 extern void tas_clean_vpol
__P(( link_list
* ));
60 extern long tas_get_length_active
__P(( lotrs_list
* ));
61 extern long tas_get_width_active
__P(( lotrs_list
*, long ));
62 void tas_SetPinSlew (locon_list
*locon
, float rise
, float fall
);
63 extern long tas_get_pinslew
__P((locon_list
*, char));
64 extern void tas_update_mcctemp
__P(( inffig_list
*ifl
));
65 extern int tas_check_prop (link_list
*link
, double vdd
, double vddin
, double vt
, double gate_th
);
66 extern void tas_log_multivoltage (lofig_list
*lofig
);
67 extern chain_list
* tas_find_corresp_link_from_lotrs( cone_list
*cone
, lotrs_list
*lotrs
, int where
);
68 int tas_checkcnsfig(cnsfig_list
*cf
);
71 int tas_disable_gate_delay(char *input
, cone_list
*cn
, int dirin
, int dirout
);
72 int tas_is_degraded_memsym(branch_list
*branch
, cone_list
*cone
, char type_tran
);
73 void tas_remove_disable_gate_delay(cnsfig_list
*cf
);
74 void tas_add_disable_gate_delay(cnsfig_list
*cf
);
75 void tas_RemoveRC(lofig_list
*lf
);
77 #define TAS_SCALE_FLOAT ((int)1500000000)