abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
lpk.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [lpk.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [Fast Boolean matching for LUT structures.]
8 
9  Synopsis [External declarations.]
10 
11  Author [Alan Mishchenko]
12 
13  Affiliation [UC Berkeley]
14 
15  Date [Ver. 1.0. Started - April 28, 2007.]
16 
17  Revision [$Id: lpk.h,v 1.00 2007/04/28 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__opt__lpk__lpk_h
22 #define ABC__opt__lpk__lpk_h
23 
24 
25 ////////////////////////////////////////////////////////////////////////
26 /// INCLUDES ///
27 ////////////////////////////////////////////////////////////////////////
28 
29 ////////////////////////////////////////////////////////////////////////
30 /// PARAMETERS ///
31 ////////////////////////////////////////////////////////////////////////
32 
33 
34 
36 
37 
38 ////////////////////////////////////////////////////////////////////////
39 /// BASIC TYPES ///
40 ////////////////////////////////////////////////////////////////////////
41 
42 typedef struct Lpk_Par_t_ Lpk_Par_t;
43 struct Lpk_Par_t_
44 {
45  // user-controlled parameters
46  int nLutsMax; // (N) the maximum number of LUTs in the structure
47  int nLutsOver; // (Q) the maximum number of LUTs not in the MFFC
48  int nVarsShared; // (S) the maximum number of shared variables (crossbars)
49  int nGrowthLevel; // (L) the maximum increase in the node level after resynthesis
50  int fSatur; // iterate till saturation
51  int fZeroCost; // accept zero-cost replacements
52  int fFirst; // use root node and first cut only
53  int fOldAlgo; // use old algorithm
54  int fVerbose; // the verbosiness flag
55  int fVeryVerbose; // additional verbose info printout
56  // internal parameters
57  int nLutSize; // (K) the LUT size (determined by the input network)
58  int nVarsMax; // (V) the largest number of variables: V = N * (K-1) + 1
59 };
60 
61 ////////////////////////////////////////////////////////////////////////
62 /// MACRO DEFINITIONS ///
63 ////////////////////////////////////////////////////////////////////////
64 
65 ////////////////////////////////////////////////////////////////////////
66 /// ITERATORS ///
67 ////////////////////////////////////////////////////////////////////////
68 
69 ////////////////////////////////////////////////////////////////////////
70 /// FUNCTION DECLARATIONS ///
71 ////////////////////////////////////////////////////////////////////////
72 
73 /*=== lpkCore.c ========================================================*/
74 extern int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars );
75 
76 
77 
78 
80 
81 
82 
83 #endif
84 
85 ////////////////////////////////////////////////////////////////////////
86 /// END OF FILE ///
87 ////////////////////////////////////////////////////////////////////////
88 
int fVerbose
Definition: lpk.h:54
int Lpk_Resynthesize(Abc_Ntk_t *pNtk, Lpk_Par_t *pPars)
MACRO DEFINITIONS ///.
Definition: lpkCore.c:505
int nVarsShared
Definition: lpk.h:48
int fFirst
Definition: lpk.h:52
int nLutsOver
Definition: lpk.h:47
int fZeroCost
Definition: lpk.h:51
int nLutSize
Definition: lpk.h:57
int fSatur
Definition: lpk.h:50
int fVeryVerbose
Definition: lpk.h:55
Definition: lpk.h:43
int fOldAlgo
Definition: lpk.h:53
int nVarsMax
Definition: lpk.h:58
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
int nLutsMax
Definition: lpk.h:46
typedefABC_NAMESPACE_HEADER_START struct Lpk_Par_t_ Lpk_Par_t
INCLUDES ///.
Definition: lpk.h:42
int nGrowthLevel
Definition: lpk.h:49