diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2007-07-23 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2007-07-23 08:01:00 -0700 |
commit | 64dc240b904adafee78e2a66a1fc31b717f8985f (patch) | |
tree | 3632887450b37c4dcac6f6cbac08d42e9512c440 /src/aig/dar/dar.h | |
parent | 1647addf5e3ce4f82cc35cd4983bc5f7b9730290 (diff) | |
download | abc-64dc240b904adafee78e2a66a1fc31b717f8985f.tar.gz abc-64dc240b904adafee78e2a66a1fc31b717f8985f.tar.bz2 abc-64dc240b904adafee78e2a66a1fc31b717f8985f.zip |
Version abc70723
Diffstat (limited to 'src/aig/dar/dar.h')
-rw-r--r-- | src/aig/dar/dar.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/aig/dar/dar.h b/src/aig/dar/dar.h index cff2785b..3106c7ad 100644 --- a/src/aig/dar/dar.h +++ b/src/aig/dar/dar.h @@ -37,10 +37,10 @@ extern "C" { /// BASIC TYPES /// //////////////////////////////////////////////////////////////////////// -typedef struct Dar_Par_t_ Dar_Par_t; +typedef struct Dar_RwrPar_t_ Dar_RwrPar_t; +typedef struct Dar_RefPar_t_ Dar_RefPar_t; -// the rewriting parameters -struct Dar_Par_t_ +struct Dar_RwrPar_t_ { int nCutsMax; // the maximum number of cuts to try int nSubgMax; // the maximum number of subgraphs to try @@ -50,6 +50,18 @@ struct Dar_Par_t_ int fVeryVerbose; // enables very verbose output }; +struct Dar_RefPar_t_ +{ + int nMffcMin; // the min MFFC size for which refactoring is used + int nLeafMax; // the max number of leaves of a cut + int nCutsMax; // the max number of cuts to consider + int fExtend; // extends the cut below MFFC + int fUpdateLevel; // updates the level after each move + int fUseZeros; // perform zero-cost replacements + int fVerbose; // verbosity level + int fVeryVerbose; // enables very verbose output +}; + //////////////////////////////////////////////////////////////////////// /// MACRO DEFINITIONS /// //////////////////////////////////////////////////////////////////////// @@ -62,10 +74,17 @@ struct Dar_Par_t_ /// FUNCTION DECLARATIONS /// //////////////////////////////////////////////////////////////////////// +/*=== darBalance.c ========================================================*/ +extern Aig_Man_t * Dar_ManBalance( Aig_Man_t * p, int fUpdateLevel ); /*=== darCore.c ========================================================*/ -extern void Dar_ManDefaultParams( Dar_Par_t * pPars ); -extern int Dar_ManRewrite( Aig_Man_t * pAig, Dar_Par_t * pPars ); +extern void Dar_ManDefaultRwrParams( Dar_RwrPar_t * pPars ); +extern int Dar_ManRewrite( Aig_Man_t * pAig, Dar_RwrPar_t * pPars ); extern Aig_MmFixed_t * Dar_ManComputeCuts( Aig_Man_t * pAig ); +/*=== darRefact.c ========================================================*/ +extern void Dar_ManDefaultRefParams( Dar_RefPar_t * pPars ); +extern int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars ); +/*=== darScript.c ========================================================*/ +extern Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fVerbose ); #ifdef __cplusplus } |