ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
dar.h
Go to the documentation of this file.
1
20
21#ifndef ABC__aig__dar__dar_h
22#define ABC__aig__dar__dar_h
23
24
28
32
33
34
36
37
41
44
46{
47 int nCutsMax; // the maximum number of cuts to try
48 int nSubgMax; // the maximum number of subgraphs to try
49 int nMinSaved; // the minumum number of nodes saved
50 int fFanout; // support fanout representation
51 int fUpdateLevel; // update level
52 int fUseZeros; // performs zero-cost replacement
53 int fPower; // enables power-aware rewriting
54 int fRecycle; // enables cut recycling
55 int fVerbose; // enables verbose output
56 int fVeryVerbose; // enables very verbose output
57};
58
60{
61 int nMffcMin; // the min MFFC size for which refactoring is used
62 int nLeafMax; // the max number of leaves of a cut
63 int nCutsMax; // the max number of cuts to consider
64 int fExtend; // extends the cut below MFFC
65 int fUpdateLevel; // updates the level after each move
66 int fUseZeros; // perform zero-cost replacements
67 int fVerbose; // verbosity level
68 int fVeryVerbose; // enables very verbose output
69};
70
74
78
82
83/*=== darLib.c ========================================================*/
84extern void Dar_LibStart();
85extern void Dar_LibStop();
86extern void Dar_LibPrepare( int nSubgraphs );
87extern int Dar_LibReturnClass( unsigned uTruth );
88/*=== darBalance.c ========================================================*/
89extern Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel );
90extern Aig_Man_t * Dar_ManBalanceXor( Aig_Man_t * pAig, int fExor, int fUpdateLevel, int fVerbose );
91extern void Dar_BalancePrintStats( Aig_Man_t * p );
92/*=== darCore.c ========================================================*/
93extern void Dar_ManDefaultRwrParams( Dar_RwrPar_t * pPars );
94extern int Dar_ManRewrite( Aig_Man_t * pAig, Dar_RwrPar_t * pPars );
95extern Aig_MmFixed_t * Dar_ManComputeCuts( Aig_Man_t * pAig, int nCutsMax, int fSkipTtMin, int fVerbose );
96/*=== darRefact.c ========================================================*/
97extern void Dar_ManDefaultRefParams( Dar_RefPar_t * pPars );
98extern int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars );
99/*=== darScript.c ========================================================*/
100extern Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig );
101extern Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose );
102extern Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fPower, int fVerbose );
103extern Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fFanout, int fPower, int fVerbose );
104extern Aig_Man_t * Dar_ManChoice( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fConstruct, int nConfMax, int nLevelMax, int fVerbose );
105
106
107
109
110
111
112#endif
113
117
#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
struct Aig_MmFixed_t_ Aig_MmFixed_t
Definition aig.h:52
Aig_Man_t * Dar_ManBalanceXor(Aig_Man_t *pAig, int fExor, int fUpdateLevel, int fVerbose)
Definition darBalance.c:687
Aig_Man_t * Dar_ManCompress2(Aig_Man_t *pAig, int fBalance, int fUpdateLevel, int fFanout, int fPower, int fVerbose)
Definition darScript.c:235
int Dar_ManRefactor(Aig_Man_t *pAig, Dar_RefPar_t *pPars)
Definition darRefact.c:496
typedefABC_NAMESPACE_HEADER_START struct Dar_RwrPar_t_ Dar_RwrPar_t
INCLUDES ///.
Definition dar.h:42
void Dar_ManDefaultRwrParams(Dar_RwrPar_t *pPars)
FUNCTION DEFINITIONS ///.
Definition darCore.c:51
void Dar_LibStart()
MACRO DEFINITIONS ///.
Definition darLib.c:593
Aig_Man_t * Dar_ManBalance(Aig_Man_t *p, int fUpdateLevel)
Definition darBalance.c:554
Aig_Man_t * Dar_ManRwsat(Aig_Man_t *pAig, int fBalance, int fVerbose)
DECLARATIONS ///.
Definition darScript.c:71
void Dar_LibStop()
Definition darLib.c:615
struct Dar_RefPar_t_ Dar_RefPar_t
Definition dar.h:43
int Dar_ManRewrite(Aig_Man_t *pAig, Dar_RwrPar_t *pPars)
Definition darCore.c:79
Aig_Man_t * Dar_ManRewriteDefault(Aig_Man_t *pAig)
DECLARATIONS ///.
Definition darScript.c:48
void Dar_BalancePrintStats(Aig_Man_t *p)
Definition darBalance.c:716
void Dar_ManDefaultRefParams(Dar_RefPar_t *pPars)
FUNCTION DEFINITIONS ///.
Definition darRefact.c:85
void Dar_LibPrepare(int nSubgraphs)
Definition darLib.c:478
Aig_MmFixed_t * Dar_ManComputeCuts(Aig_Man_t *pAig, int nCutsMax, int fSkipTtMin, int fVerbose)
Definition darCore.c:291
int Dar_LibReturnClass(unsigned uTruth)
Definition darLib.c:194
Aig_Man_t * Dar_ManChoice(Aig_Man_t *pAig, int fBalance, int fUpdateLevel, int fConstruct, int nConfMax, int nLevelMax, int fVerbose)
Definition darScript.c:378
Aig_Man_t * Dar_ManCompress(Aig_Man_t *pAig, int fBalance, int fUpdateLevel, int fPower, int fVerbose)
Definition darScript.c:162
Cube * p
Definition exorList.c:222
int nLeafMax
Definition dar.h:62
int fVerbose
Definition dar.h:67
int fUseZeros
Definition dar.h:66
int nCutsMax
Definition dar.h:63
int fUpdateLevel
Definition dar.h:65
int fVeryVerbose
Definition dar.h:68
int fExtend
Definition dar.h:64
int nMffcMin
Definition dar.h:61
int fRecycle
Definition dar.h:54
int fVerbose
Definition dar.h:55
int fUseZeros
Definition dar.h:52
int fPower
Definition dar.h:53
int fUpdateLevel
Definition dar.h:51
int fFanout
Definition dar.h:50
int fVeryVerbose
Definition dar.h:56
int nMinSaved
Definition dar.h:49
int nCutsMax
Definition dar.h:47
int nSubgMax
Definition dar.h:48