Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / tlf / tlf_parse.h
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI AVERTEC */
4 /* */
5 /* Produit : TLF Version 1.00 */
6 /* Fichier : tlf_parse.h */
7 /* */
8 /* (c) copyright 2000 AVERTEC */
9 /* Tous droits reserves */
10 /* */
11 /* Auteur(s) : Gilles Augustins */
12 /* */
13 /****************************************************************************/
14
15 #ifndef TLF_PARSE_H
16 #define TLF_PARSE_H
17
18 /****************************************************************************/
19 /* includes */
20 /****************************************************************************/
21
22 #include TLF_H
23
24 /****************************************************************************/
25 /* defines */
26 /****************************************************************************/
27
28 /****************************************************************************/
29 /* GCF */
30 /****************************************************************************/
31 #define CLOCK_DETECT 'C'
32 #define CLOCK_DUMP 'K'
33 #define DISABLE_DUMP 'D'
34 #define SPECIN_DUMP 'I'
35 #define SPECOUT_DUMP 'O'
36 #define VIRTUAL_CLOCK 'V'
37 #define REAL_CLOCK 'R'
38 #define DC FLT_MAX /* don't care */
39 #define GCF_SIZEHCK 100
40 #define GCF_MAX_CONSTRAINT 1000000
41 #define GCF_MIN_CONSTRAINT (-1000000)
42
43 /****************************************************************************/
44 /* TLF */
45 /****************************************************************************/
46 #define ATTRIBUTE_HT_SIZE 128
47 #define TLF_NO_CAPA 0
48 #define TLF_CONST 0
49 #define TLF_1D 1
50 #define TLF_2D 2
51 #define TLF_NODIM 3
52
53 /****************************************************************************/
54 /* globals */
55 /****************************************************************************/
56
57 extern int TLF_LINE ;
58 extern char *TLF_TOOLNAME ; /* default is "tlf2ttv" */
59 extern char *TLF_TOOLVERSION ; /* default is "1.0" */
60 extern char *TLF_TECHNOVERSION ; /* default is "0.0" */
61 extern chain_list *TLF_TTVFIG_LIST ;
62 extern char TLF_TIME_UNIT ;
63 extern char TLF_CAPA_UNIT ;
64 extern char TLF_RES_UNIT ;
65
66 extern int GCF_LINE ;
67 extern char GCF_MODE ;
68 extern FILE *GCF_OUT ;
69 extern eqt_ctx *tlfEqtCtx ;
70
71 /****************************************************************************/
72 /* functions */
73 /****************************************************************************/
74
75 extern void parsetlf3 (char *tlf_file) ;
76 extern void parsetlf4 (char *tlf_file) ;
77 extern void tlf_parse (char *tlf_file, int version) ;
78 extern chain_list *tlf_load (char *filename, int version) ;
79 extern void tlf_stb2gcf (char *gcf_file) ;
80 extern long ftol (float f) ;
81 extern long ftolstretch (float f) ;
82 extern int is_attribute (char *ident) ;
83 extern void set_attribute (char *attribute, char target) ;
84 extern void callback_attribute (char *attribute, char *arg) ;
85 extern int isclockpin (chain_list *isclockpinchain, char *pname) ;
86 extern char getoutputtype (char *pname, chain_list *flipflops, chain_list *latchs) ;
87 extern void tlf3reset (void) ;
88 extern void tlf4reset (void) ;
89
90 #endif