diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-04-02 22:22:49 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-04-02 22:22:49 -0700 |
commit | 7e85276780c83538813329325ba1b28e95333be5 (patch) | |
tree | 5e7e21a0a46230c4c9d3cc99abb19990bafb8d73 /src/opt/sfm/sfm.h | |
parent | f1c9f1829a1960865bd7b964169f714abc3db597 (diff) | |
download | abc-7e85276780c83538813329325ba1b28e95333be5.tar.gz abc-7e85276780c83538813329325ba1b28e95333be5.tar.bz2 abc-7e85276780c83538813329325ba1b28e95333be5.zip |
New MFS package.
Diffstat (limited to 'src/opt/sfm/sfm.h')
-rw-r--r-- | src/opt/sfm/sfm.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/opt/sfm/sfm.h b/src/opt/sfm/sfm.h new file mode 100644 index 00000000..fd25a6a1 --- /dev/null +++ b/src/opt/sfm/sfm.h @@ -0,0 +1,90 @@ +/**CFile**************************************************************** + + FileName [sfm.h] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [SAT-based optimization using internal don't-cares.] + + Synopsis [External declarations.] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - June 20, 2005.] + + Revision [$Id: sfm.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#ifndef ABC__opt_sfm__h +#define ABC__opt_sfm__h + + +//////////////////////////////////////////////////////////////////////// +/// INCLUDES /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// PARAMETERS /// +//////////////////////////////////////////////////////////////////////// + +ABC_NAMESPACE_HEADER_START + +//////////////////////////////////////////////////////////////////////// +/// BASIC TYPES /// +//////////////////////////////////////////////////////////////////////// + +typedef struct Sfm_Man_t_ Sfm_Man_t; +typedef struct Sfm_Ntk_t_ Sfm_Ntk_t; +typedef struct Sfm_Par_t_ Sfm_Par_t; +struct Sfm_Par_t_ +{ + int nWinTfoLevs; // the maximum fanout levels + int nFanoutsMax; // the maximum number of fanouts + int nDepthMax; // the maximum number of logic levels + int nDivMax; // the maximum number of divisors + int nWinSizeMax; // the maximum size of the window + int nGrowthLevel; // the maximum allowed growth in level + int nBTLimit; // the maximum number of conflicts in one SAT run + int fResub; // performs resubstitution + int fArea; // performs optimization for area + int fMoreEffort; // performs high-affort minimization + int fSwapEdge; // performs edge swapping + int fOneHotness; // adds one-hotness conditions + int fDelay; // performs optimization for delay + int fPower; // performs power-aware optimization + int fGiaSat; // use new SAT solver + int fVerbose; // enable basic stats + int fVeryVerbose; // enable detailed stats +}; + +//////////////////////////////////////////////////////////////////////// +/// MACRO DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + +/*=== sfmCnf.c ==========================================================*/ +/*=== sfmCore.c ==========================================================*/ +extern int Sfm_ManPerform( Sfm_Ntk_t * p, Sfm_Par_t * pPars ); +/*=== sfmMan.c ==========================================================*/ +extern Sfm_Man_t * Sfm_ManAlloc( Sfm_Ntk_t * p ); +extern void Sfm_ManFree( Sfm_Man_t * p ); +/*=== sfmNtk.c ==========================================================*/ +extern Sfm_Ntk_t * Sfm_NtkAlloc( int nPis, int nPos, int nNodes, int nEdges ); +extern void Sfm_NtkFree( Sfm_Ntk_t * p ); +/*=== sfmSat.c ==========================================================*/ + + +ABC_NAMESPACE_HEADER_END + +#endif + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + |