ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
cgt.h
Go to the documentation of this file.
1
20
21#ifndef ABC__aig__cgt__cgt_h
22#define ABC__aig__cgt__cgt_h
23
24
25/*
26 The algorithm implemented in this package is based on the paper:
27 A. Hurst. "Automatic synthesis of clock gating logic with controlled
28 netlist perturbation", DAC 2008.
29*/
30
34
38
39
40
42
43
47
48typedef struct Cgt_Par_t_ Cgt_Par_t;
50{
51 int nLevelMax; // the max number of levels to look for clock-gates
52 int nCandMax; // the max number of candidates at each node
53 int nOdcMax; // the max number of ODC levels to consider
54 int nConfMax; // the max number of conflicts at a node
55 int nVarsMin; // the min number of variables to recycle the SAT solver
56 int nFlopsMin; // the min number of flops needed to recycle the SAT solver
57 int fAreaOnly; // derive clock gating to minimize area
58 int fVerbose; // verbosity flag
59 int fVeryVerbose; // verbosity flag
60};
61
65
69
70/*=== cgtCore.c ==========================================================*/
71extern void Cgt_SetDefaultParams( Cgt_Par_t * p );
72extern Vec_Vec_t * Cgt_ClockGatingCandidates( Aig_Man_t * pAig, Aig_Man_t * pCare, Cgt_Par_t * pPars, Vec_Int_t * vUseful );
73extern Vec_Vec_t * Cgt_ClockGatingInt( Aig_Man_t * pAig, Aig_Man_t * pCare, Cgt_Par_t * pPars, Vec_Int_t * vUseful );
74extern Aig_Man_t * Cgt_ClockGating( Aig_Man_t * pAig, Aig_Man_t * pCare, Cgt_Par_t * pPars );
75
76
77
79
80
81
82#endif
83
87
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
Definition aig.h:50
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
typedefABC_NAMESPACE_HEADER_START struct Cgt_Par_t_ Cgt_Par_t
INCLUDES ///.
Definition cgt.h:48
Vec_Vec_t * Cgt_ClockGatingCandidates(Aig_Man_t *pAig, Aig_Man_t *pCare, Cgt_Par_t *pPars, Vec_Int_t *vUseful)
Definition cgtCore.c:245
Vec_Vec_t * Cgt_ClockGatingInt(Aig_Man_t *pAig, Aig_Man_t *pCare, Cgt_Par_t *pPars, Vec_Int_t *vUseful)
Definition cgtCore.c:287
void Cgt_SetDefaultParams(Cgt_Par_t *p)
MACRO DEFINITIONS ///.
Definition cgtCore.c:46
Aig_Man_t * Cgt_ClockGating(Aig_Man_t *pAig, Aig_Man_t *pCare, Cgt_Par_t *pPars)
Definition cgtCore.c:298
Cube * p
Definition exorList.c:222
int nVarsMin
Definition cgt.h:55
int fVerbose
Definition cgt.h:58
int nOdcMax
Definition cgt.h:53
int nConfMax
Definition cgt.h:54
int fVeryVerbose
Definition cgt.h:59
int nFlopsMin
Definition cgt.h:56
int fAreaOnly
Definition cgt.h:57
int nLevelMax
Definition cgt.h:51
int nCandMax
Definition cgt.h:52
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
Definition vecVec.h:42