1 | /**CHeaderFile***************************************************************** |
---|
2 | |
---|
3 | FileName [synth.h] |
---|
4 | |
---|
5 | PackageName [synth] |
---|
6 | |
---|
7 | Synopsis [Symbolic synthesis package.] |
---|
8 | |
---|
9 | Description [] |
---|
10 | |
---|
11 | Author [In-Ho Moon, Balakrishna Kumthekar] |
---|
12 | |
---|
13 | Copyright [This file was created at the University of Colorado at |
---|
14 | Boulder. The University of Colorado at Boulder makes no warranty |
---|
15 | about the suitability of this software for any purpose. It is |
---|
16 | presented on an AS IS basis.] |
---|
17 | |
---|
18 | Revision [$Id: synth.h,v 1.14 2005/05/11 20:16:47 hhhan Exp $] |
---|
19 | |
---|
20 | ******************************************************************************/ |
---|
21 | |
---|
22 | #ifndef _SYNTH |
---|
23 | #define _SYNTH |
---|
24 | |
---|
25 | /*---------------------------------------------------------------------------*/ |
---|
26 | /* Nested includes */ |
---|
27 | /*---------------------------------------------------------------------------*/ |
---|
28 | #include "fsm.h" |
---|
29 | #include "part.h" |
---|
30 | #include "st.h" |
---|
31 | #include "util.h" |
---|
32 | #include "bdd.h" |
---|
33 | |
---|
34 | /*---------------------------------------------------------------------------*/ |
---|
35 | /* Constant declarations */ |
---|
36 | /*---------------------------------------------------------------------------*/ |
---|
37 | |
---|
38 | |
---|
39 | /*---------------------------------------------------------------------------*/ |
---|
40 | /* Structure declarations */ |
---|
41 | /*---------------------------------------------------------------------------*/ |
---|
42 | |
---|
43 | |
---|
44 | /*---------------------------------------------------------------------------*/ |
---|
45 | /* Type declarations */ |
---|
46 | /*---------------------------------------------------------------------------*/ |
---|
47 | |
---|
48 | typedef struct SynthInfoDataStruct Synth_InfoData_t; |
---|
49 | |
---|
50 | /*---------------------------------------------------------------------------*/ |
---|
51 | /* Variable declarations */ |
---|
52 | /*---------------------------------------------------------------------------*/ |
---|
53 | |
---|
54 | |
---|
55 | /*---------------------------------------------------------------------------*/ |
---|
56 | /* Macro declarations */ |
---|
57 | /*---------------------------------------------------------------------------*/ |
---|
58 | |
---|
59 | /**AutomaticStart*************************************************************/ |
---|
60 | |
---|
61 | /*---------------------------------------------------------------------------*/ |
---|
62 | /* Function prototypes */ |
---|
63 | /*---------------------------------------------------------------------------*/ |
---|
64 | |
---|
65 | EXTERN void Synth_Init(void); |
---|
66 | EXTERN void Synth_End(void); |
---|
67 | EXTERN bdd_node * Synth_ZddQuickDivisor(bdd_manager *dd, bdd_node *f); |
---|
68 | EXTERN bdd_node * Synth_ZddLeastDivisor(bdd_manager *dd, bdd_node *f); |
---|
69 | EXTERN bdd_node * Synth_ZddMostDivisor(bdd_manager *dd, bdd_node *f); |
---|
70 | EXTERN bdd_node * Synth_ZddLevelZeroDivisor(bdd_manager *dd, bdd_node *f); |
---|
71 | EXTERN bdd_node * Synth_ZddCommonDivisor(bdd_manager *dd, bdd_node *f); |
---|
72 | EXTERN bdd_node * Synth_ZddLpDivisor(bdd_manager *dd, bdd_node *f); |
---|
73 | EXTERN Synth_InfoData_t * Synth_InitializeInfo(int factoring, int divisor, int unreachDC, int reordering, int trySharing, int realign, char *filehead, char *prefix, boolean eqn); |
---|
74 | EXTERN void Synth_FreeInfo(Synth_InfoData_t *synthInfo); |
---|
75 | EXTERN int Synth_SynthesizeNetwork(Ntk_Network_t *network, graph_t *partition, st_table *careTable, Synth_InfoData_t *synthInfo, int verbosity); |
---|
76 | EXTERN int Synth_SynthesizeFsm(Fsm_Fsm_t *fsm, st_table *careTable, Synth_InfoData_t *synthInfo, int verbosity); |
---|
77 | |
---|
78 | /**AutomaticEnd***************************************************************/ |
---|
79 | |
---|
80 | #endif /* _SYNTH */ |
---|