ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
sfm.h
Go to the documentation of this file.
1
20
21#ifndef ABC__opt_sfm__h
22#define ABC__opt_sfm__h
23
24
28
29#include "misc/vec/vecWec.h"
30
34
36
40
41typedef struct Sfm_Ntk_t_ Sfm_Ntk_t;
42typedef struct Sfm_Par_t_ Sfm_Par_t;
44{
45 int nTfoLevMax; // the maximum fanout levels
46 int nTfiLevMax; // the maximum fanin levels
47 int nFanoutMax; // the maximum number of fanouts
48 int nDepthMax; // the maximum depth to try
49 int nVarMax; // the maximum variable count
50 int nMffcMin; // the minimum MFFC size
51 int nMffcMax; // the maximum MFFC size
52 int nDecMax; // the maximum number of decompositions
53 int nWinSizeMax; // the maximum window size
54 int nGrowthLevel; // the maximum allowed growth in level
55 int nBTLimit; // the maximum number of conflicts in one SAT run
56 int nNodesMax; // the maximum number of nodes to try
57 int iNodeOne; // one particular node to try
58 int nFirstFixed; // the number of first nodes to be treated as fixed
59 int nTimeWin; // the size of timing window in percents
60 int DeltaCrit; // delay delta in picoseconds
61 int DelAreaRatio; // delay/area tradeoff (how many ps we trade for a unit of area)
62 int fRrOnly; // perform redundance removal
63 int fArea; // performs optimization for area
64 int fAreaRev; // performs optimization for area in reverse order
65 int fMoreEffort; // performs high-affort minimization
66 int fUseAndOr; // enable internal detection of AND/OR gates
67 int fZeroCost; // enable zero-cost replacement
68 int fUseSim; // enable simulation
69 int fUseDcs; // enable deriving don't-cares
70 int fPrintDecs; // enable printing decompositions
71 int fAllBoxes; // enable preserving all boxes
72 int fLibVerbose; // enable library stats
73 int fDelayVerbose; // enable delay stats
74 int fVerbose; // enable basic stats
75 int fVeryVerbose; // enable detailed stats
76};
77
81
85
86/*=== sfmCnf.c ==========================================================*/
87/*=== sfmCore.c ==========================================================*/
88extern void Sfm_ParSetDefault( Sfm_Par_t * pPars );
89extern int Sfm_NtkPerform( Sfm_Ntk_t * p, Sfm_Par_t * pPars );
90/*=== sfmNtk.c ==========================================================*/
91extern Sfm_Ntk_t * Sfm_NtkConstruct( Vec_Wec_t * vFanins, int nPis, int nPos, Vec_Str_t * vFixed, Vec_Str_t * vEmpty, Vec_Wrd_t * vTruths, Vec_Int_t * vStarts, Vec_Wrd_t * vTruths2 );
92extern void Sfm_NtkFree( Sfm_Ntk_t * p );
93extern Vec_Int_t * Sfm_NodeReadFanins( Sfm_Ntk_t * p, int i );
94extern word * Sfm_NodeReadTruth( Sfm_Ntk_t * p, int i );
95extern int Sfm_NodeReadFixed( Sfm_Ntk_t * p, int i );
96extern int Sfm_NodeReadUsed( Sfm_Ntk_t * p, int i );
97/*=== sfmWin.c ==========================================================*/
98extern Vec_Int_t * Sfm_NtkDfs( Sfm_Ntk_t * p, Vec_Wec_t * vGroups, Vec_Int_t * vGroupMap, Vec_Int_t * vBoxesLeft, int fAllBoxes );
99
100
102
103#endif
104
108
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
struct Vec_Str_t_ Vec_Str_t
Definition bblif.c:46
Cube * p
Definition exorList.c:222
unsigned __int64 word
DECLARATIONS ///.
Definition kitPerm.c:36
int Sfm_NtkPerform(Sfm_Ntk_t *p, Sfm_Par_t *pPars)
Definition sfmCore.c:367
void Sfm_NtkFree(Sfm_Ntk_t *p)
Definition sfmNtk.c:219
int Sfm_NodeReadFixed(Sfm_Ntk_t *p, int i)
Definition sfmNtk.c:378
struct Sfm_Par_t_ Sfm_Par_t
Definition sfm.h:42
typedefABC_NAMESPACE_HEADER_START struct Sfm_Ntk_t_ Sfm_Ntk_t
INCLUDES ///.
Definition sfm.h:41
Sfm_Ntk_t * Sfm_NtkConstruct(Vec_Wec_t *vFanins, int nPis, int nPos, Vec_Str_t *vFixed, Vec_Str_t *vEmpty, Vec_Wrd_t *vTruths, Vec_Int_t *vStarts, Vec_Wrd_t *vTruths2)
Definition sfmNtk.c:167
void Sfm_ParSetDefault(Sfm_Par_t *pPars)
MACRO DEFINITIONS ///.
Definition sfmCore.c:46
int Sfm_NodeReadUsed(Sfm_Ntk_t *p, int i)
Definition sfmNtk.c:382
word * Sfm_NodeReadTruth(Sfm_Ntk_t *p, int i)
Definition sfmNtk.c:374
Vec_Int_t * Sfm_NtkDfs(Sfm_Ntk_t *p, Vec_Wec_t *vGroups, Vec_Int_t *vGroupMap, Vec_Int_t *vBoxesLeft, int fAllBoxes)
Definition sfmWin.c:166
Vec_Int_t * Sfm_NodeReadFanins(Sfm_Ntk_t *p, int i)
Definition sfmNtk.c:370
int fRrOnly
Definition sfm.h:62
int nMffcMax
Definition sfm.h:51
int DelAreaRatio
Definition sfm.h:61
int nGrowthLevel
Definition sfm.h:54
int nVarMax
Definition sfm.h:49
int nTfoLevMax
Definition sfm.h:45
int fVeryVerbose
Definition sfm.h:75
int fZeroCost
Definition sfm.h:67
int fPrintDecs
Definition sfm.h:70
int nDecMax
Definition sfm.h:52
int fUseDcs
Definition sfm.h:69
int nTimeWin
Definition sfm.h:59
int DeltaCrit
Definition sfm.h:60
int nFanoutMax
Definition sfm.h:47
int fMoreEffort
Definition sfm.h:65
int fUseSim
Definition sfm.h:68
int fAllBoxes
Definition sfm.h:71
int nFirstFixed
Definition sfm.h:58
int fArea
Definition sfm.h:63
int nWinSizeMax
Definition sfm.h:53
int nNodesMax
Definition sfm.h:56
int fUseAndOr
Definition sfm.h:66
int nTfiLevMax
Definition sfm.h:46
int nDepthMax
Definition sfm.h:48
int nBTLimit
Definition sfm.h:55
int iNodeOne
Definition sfm.h:57
int fDelayVerbose
Definition sfm.h:73
int fVerbose
Definition sfm.h:74
int fLibVerbose
Definition sfm.h:72
int fAreaRev
Definition sfm.h:64
int nMffcMin
Definition sfm.h:50
typedefABC_NAMESPACE_HEADER_START struct Vec_Wec_t_ Vec_Wec_t
INCLUDES ///.
Definition vecWec.h:42
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
Definition vecWrd.h:42