Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / tas / tas_util.h
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI Alliance */
4 /* */
5 /* Produit : TAS Version 5 */
6 /* Fichier : tas_util.h */
7 /* */
8 /* (c) copyright 1991-1998 Laboratoire LIP6 equipe ASIM */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
11 /* */
12 /* Auteur(s) : Payam KIANI */
13 /* Karim DIOURY */
14 /* */
15 /****************************************************************************/
16
17 /* declaration de variable */
18 extern tas_context_list *TAS_CONTEXT;
19 extern info_list TAS_INFO ;
20
21 /* declaration de fonction */
22 extern int tas_version __P(( void ));
23 extern int tas_GenPwl __P(( FILE*,
24 double,
25 double,
26 double,
27 char*
28 ));
29 extern int tas_PwlFile __P(( void ));
30 extern int tas_PwlFileInput __P(( FILE*,
31 char,
32 char*
33 ));
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,
47 struct rusage,
48 long
49 ));
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);
56
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);
69
70
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);
76
77 #define TAS_SCALE_FLOAT ((int)1500000000)