abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
fxu.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [fxu.h]
4 
5  PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]
6 
7  Synopsis [External declarations of fast extract for unate covers.]
8 
9  Author [MVSIS Group]
10 
11  Affiliation [UC Berkeley]
12 
13  Date [Ver. 1.0. Started - February 1, 2003.]
14 
15  Revision [$Id: fxu.h,v 1.0 2003/02/01 00:00:00 alanmi Exp $]
16 
17 ***********************************************************************/
18 
19 #ifndef ABC__opt__fxu__fxu_h
20 #define ABC__opt__fxu__fxu_h
21 
22 
23 ////////////////////////////////////////////////////////////////////////
24 /// INCLUDES ///
25 ////////////////////////////////////////////////////////////////////////
26 
27 #include "misc/vec/vec.h"
28 
29 ////////////////////////////////////////////////////////////////////////
30 /// PARAMETERS ///
31 ////////////////////////////////////////////////////////////////////////
32 
33 
34 
36 
37 
38 ////////////////////////////////////////////////////////////////////////
39 /// STRUCTURE DEFINITIONS ///
40 ////////////////////////////////////////////////////////////////////////
41 
42 typedef struct FxuDataStruct Fxu_Data_t;
43 
44 // structure for the FX input/output data
46 {
47  // user specified parameters
48  int fOnlyS; // set to 1 to have only single-cube divs
49  int fOnlyD; // set to 1 to have only double-cube divs
50  int fUse0; // set to 1 to have 0-weight also extracted
51  int fUseCompl; // set to 1 to have complement taken into account
52  int fVerbose; // set to 1 to have verbose output
53  int fVeryVerbose; // set to 1 to have more verbose output
54  int nNodesExt; // the number of divisors to extract
55  int nSingleMax; // the max number of single-cube divisors to consider
56  int nPairsMax; // the max number of double-cube divisors to consider
57  int WeightMin; // the min weight of a divisor to extract
58  int LitCountMax; // the max literal count of a divisor to consider
59  // the input information
60  Vec_Ptr_t * vSops; // the SOPs for each node in the network
61  Vec_Ptr_t * vFanins; // the fanins of each node in the network
62  // output information
63  Vec_Ptr_t * vSopsNew; // the SOPs for each node in the network after extraction
64  Vec_Ptr_t * vFaninsNew; // the fanins of each node in the network after extraction
65  // the SOP manager
67  // statistics
68  int nNodesOld; // the old number of nodes
69  int nNodesNew; // the number of divisors actually extracted
70 };
71 
72 ////////////////////////////////////////////////////////////////////////
73 /// MACRO DEFINITIONS ///
74 ////////////////////////////////////////////////////////////////////////
75 
76 ////////////////////////////////////////////////////////////////////////
77 /// FUNCTION DEFINITIONS ///
78 ////////////////////////////////////////////////////////////////////////
79 
80 /*===== fxu.c ==========================================================*/
81 extern void Abc_NtkSetDefaultFxParams( Fxu_Data_t * p );
82 extern int Abc_NtkFastExtract( Abc_Ntk_t * pNtk, Fxu_Data_t * p );
83 extern void Abc_NtkFxuFreeInfo( Fxu_Data_t * p );
84 
85 
86 
88 
89 
90 
91 #endif
92 
93 ////////////////////////////////////////////////////////////////////////
94 /// END OF FILE ///
95 ////////////////////////////////////////////////////////////////////////
96 
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Definition: vecPtr.h:42
int fUseCompl
Definition: fxu.h:51
static Llb_Mgr_t * p
Definition: llb3Image.c:950
int fUse0
Definition: fxu.h:50
int fVerbose
Definition: fxu.h:52
int nNodesExt
Definition: fxu.h:54
int fOnlyD
Definition: fxu.h:49
typedefABC_NAMESPACE_HEADER_START struct FxuDataStruct Fxu_Data_t
INCLUDES ///.
Definition: fxu.h:42
Mem_Flex_t * pManSop
Definition: fxu.h:66
int nNodesOld
Definition: fxu.h:68
void Abc_NtkSetDefaultFxParams(Fxu_Data_t *p)
MACRO DEFINITIONS ///.
Definition: abcFxu.c:52
int LitCountMax
Definition: fxu.h:58
Vec_Ptr_t * vSopsNew
Definition: fxu.h:63
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
Vec_Ptr_t * vFanins
Definition: fxu.h:61
void Abc_NtkFxuFreeInfo(Fxu_Data_t *p)
Definition: abcFxu.c:207
int fOnlyS
Definition: fxu.h:48
int nPairsMax
Definition: fxu.h:56
int Abc_NtkFastExtract(Abc_Ntk_t *pNtk, Fxu_Data_t *p)
Definition: abcFxu.c:83
int WeightMin
Definition: fxu.h:57
int fVeryVerbose
Definition: fxu.h:53
Vec_Ptr_t * vFaninsNew
Definition: fxu.h:64
int nNodesNew
Definition: fxu.h:69
int nSingleMax
Definition: fxu.h:55
Vec_Ptr_t * vSops
Definition: fxu.h:60