abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
sfm.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [sfm.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [SAT-based optimization using internal don't-cares.]
8 
9  Synopsis [External declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - June 20, 2005.]
16 
17  Revision [$Id: sfm.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__opt_sfm__h
22 #define ABC__opt_sfm__h
23 
24 
25 ////////////////////////////////////////////////////////////////////////
26 /// INCLUDES ///
27 ////////////////////////////////////////////////////////////////////////
28 
29 #include "misc/vec/vecWec.h"
30 
31 ////////////////////////////////////////////////////////////////////////
32 /// PARAMETERS ///
33 ////////////////////////////////////////////////////////////////////////
34 
36 
37 ////////////////////////////////////////////////////////////////////////
38 /// BASIC TYPES ///
39 ////////////////////////////////////////////////////////////////////////
40 
41 typedef struct Sfm_Ntk_t_ Sfm_Ntk_t;
42 typedef struct Sfm_Par_t_ Sfm_Par_t;
43 struct Sfm_Par_t_
44 {
45  int nTfoLevMax; // the maximum fanout levels
46  int nFanoutMax; // the maximum number of fanouts
47  int nDepthMax; // the maximum depth to try
48  int nWinSizeMax; // the maximum window size
49  int nGrowthLevel; // the maximum allowed growth in level
50  int nBTLimit; // the maximum number of conflicts in one SAT run
51  int nNodesMax; // the maximum number of nodes to try
52  int nFirstFixed; // the number of first nodes to be treated as fixed
53  int fRrOnly; // perform redundance removal
54  int fArea; // performs optimization for area
55  int fMoreEffort; // performs high-affort minimization
56  int fVerbose; // enable basic stats
57  int fVeryVerbose; // enable detailed stats
58 };
59 
60 ////////////////////////////////////////////////////////////////////////
61 /// MACRO DEFINITIONS ///
62 ////////////////////////////////////////////////////////////////////////
63 
64 ////////////////////////////////////////////////////////////////////////
65 /// FUNCTION DECLARATIONS ///
66 ////////////////////////////////////////////////////////////////////////
67 
68 /*=== sfmCnf.c ==========================================================*/
69 /*=== sfmCore.c ==========================================================*/
70 extern void Sfm_ParSetDefault( Sfm_Par_t * pPars );
71 extern int Sfm_NtkPerform( Sfm_Ntk_t * p, Sfm_Par_t * pPars );
72 /*=== sfmNtk.c ==========================================================*/
73 extern 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 );
74 extern void Sfm_NtkFree( Sfm_Ntk_t * p );
75 extern Vec_Int_t * Sfm_NodeReadFanins( Sfm_Ntk_t * p, int i );
76 extern word * Sfm_NodeReadTruth( Sfm_Ntk_t * p, int i );
77 extern int Sfm_NodeReadFixed( Sfm_Ntk_t * p, int i );
78 extern int Sfm_NodeReadUsed( Sfm_Ntk_t * p, int i );
79 /*=== sfmWin.c ==========================================================*/
80 extern Vec_Int_t * Sfm_NtkDfs( Sfm_Ntk_t * p, Vec_Wec_t * vGroups, Vec_Int_t * vGroupMap, Vec_Int_t * vBoxesLeft );
81 
82 
84 
85 #endif
86 
87 ////////////////////////////////////////////////////////////////////////
88 /// END OF FILE ///
89 ////////////////////////////////////////////////////////////////////////
90 
int fRrOnly
Definition: sfm.h:53
typedefABC_NAMESPACE_HEADER_START struct Vec_Wec_t_ Vec_Wec_t
INCLUDES ///.
Definition: vecWec.h:42
static Llb_Mgr_t * p
Definition: llb3Image.c:950
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition: bblif.c:37
Vec_Int_t * Sfm_NtkDfs(Sfm_Ntk_t *p, Vec_Wec_t *vGroups, Vec_Int_t *vGroupMap, Vec_Int_t *vBoxesLeft)
Definition: sfmWin.c:166
Vec_Int_t * Sfm_NodeReadFanins(Sfm_Ntk_t *p, int i)
Definition: sfmNtk.c:358
int nNodesMax
Definition: sfm.h:51
int nFirstFixed
Definition: sfm.h:52
typedefABC_NAMESPACE_HEADER_START struct Sfm_Ntk_t_ Sfm_Ntk_t
INCLUDES ///.
Definition: sfm.h:41
int nBTLimit
Definition: sfm.h:50
Definition: sfm.h:43
int fArea
Definition: sfm.h:54
void Sfm_ParSetDefault(Sfm_Par_t *pPars)
MACRO DEFINITIONS ///.
Definition: sfmCore.c:45
int Sfm_NtkPerform(Sfm_Ntk_t *p, Sfm_Par_t *pPars)
Definition: sfmCore.c:257
int fMoreEffort
Definition: sfm.h:55
int Sfm_NodeReadUsed(Sfm_Ntk_t *p, int i)
Definition: sfmNtk.c:370
int nDepthMax
Definition: sfm.h:47
int nGrowthLevel
Definition: sfm.h:49
unsigned __int64 word
DECLARATIONS ///.
Definition: kitPerm.c:36
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
int nTfoLevMax
Definition: sfm.h:45
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
int fVerbose
Definition: sfm.h:56
void Sfm_NtkFree(Sfm_Ntk_t *p)
Definition: sfmNtk.c:213
BASIC TYPES ///.
Definition: sfmInt.h:52
int fVeryVerbose
Definition: sfm.h:57
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)
Definition: sfmNtk.c:167
int Sfm_NodeReadFixed(Sfm_Ntk_t *p, int i)
Definition: sfmNtk.c:366
int nWinSizeMax
Definition: sfm.h:48
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
Definition: vecWrd.h:42
word * Sfm_NodeReadTruth(Sfm_Ntk_t *p, int i)
Definition: sfmNtk.c:362
int nFanoutMax
Definition: sfm.h:46