Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / yagle / genius / gen_gnstest.c
1 #include MUT_H
2 #include MLO_H
3 #include MLU_H
4 #include BEG_H
5 #include ELP_H
6
7 #include API_H
8
9 #ifdef AVERTEC
10 #include AVT_H
11 #endif
12
13
14 #include GEN_H
15 #include "gen_env.h"
16 #include "gen_model_utils.h"
17 #include "gen_model_global.h"
18 #include "gen_verif_global.h"
19 #include "gen_search_global.h"
20 #include "gen_search_utils.h"
21 #include "gen_new_kind.h"
22 #include "gen_main.h"
23 #include "gen_display.h"
24 #include "gen_globals.h"
25
26 extern ht *gns_create_template_hierarchy(lib_entry *files_list);
27 extern tree_list *Read_All(lib_entry *);
28
29 int main()
30 {
31 int err;
32 ptype_list *bi_list;
33
34 avtenv();
35 mbkenv();
36 fclenv();
37
38 elpenv();
39 // mccenv();
40
41 elpLoadOnceElp();
42
43 GEN_DEBUG_LEVEL=1;
44
45 genius_ec=APINewExecutionContext();
46
47 APIInit();
48
49 genius_env(NULL, NULL, NULL);
50
51 GEN_DEBUG_LEVEL=1;
52
53 GENIUS_PRIORITY = APIReadLibrary(GENIUS_LIB_NAME,GENIUS_LIB_PATH, stdout);
54 err = Get_Error();
55 if (err)
56 {
57 avt_errmsg(GNS_ERRMSG, "039", AVT_ERR, err);
58 //fprintf(stderr,"*** %d error(s) detected, I can't get farther!! ***\n",err);
59 return err;
60 }
61 if (!GENIUS_PRIORITY) return 0;
62
63 LoadSpiceFCLFiles(GENIUS_PRIORITY);
64
65 GNS_TEMPLATE_HT=gns_create_template_hierarchy(GENIUS_PRIORITY);
66
67 APIParseFile_SetTemplateInfo(GNS_TEMPLATE_HT);
68
69 GENIUS_TREE = Read_All(GENIUS_PRIORITY); /* ----> GENIUS_TREE */
70
71 APIParseFile_SetTemplateInfo(NULL);
72
73 if (!GENIUS_TREE) return 0;
74 APIVerify_C_Functions(genius_ec);
75
76 err = Get_Error();
77 if (err)
78 {
79 avt_errmsg(GNS_ERRMSG, "039", AVT_ERR, err);
80 //fprintf(stderr,"*** %d error(s) detected, I can't get farther!! ***\n",err);
81 return err;
82 }
83
84 Build_All_Transistor_Models();
85
86 /*get a tree_list for GENIUS and FCL */
87 bi_list=Verif_All(GENIUS_TREE);
88
89 freeptype(bi_list);
90 err = Get_Error();
91 if (err)
92 {
93 avt_errmsg(GNS_ERRMSG, "039", AVT_ERR, err);
94 //fprintf(stderr,"\n%d error(s) detected, I can't get farther!!\n",err);
95 return err;
96 }
97
98 if (genius_ec->ALL_USED_FUNCTIONS!=NULL)
99 {
100 LoadDynamicLibraries(stdout);
101
102 if (APICheckCFunctions(genius_ec)) return 1;
103 }
104
105 return 0;
106 }