00001 00021 #ifndef __LPK_H__ 00022 #define __LPK_H__ 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00031 00035 00039 00040 typedef struct Lpk_Par_t_ Lpk_Par_t; 00041 struct Lpk_Par_t_ 00042 { 00043 // user-controlled parameters 00044 int nLutsMax; // (N) the maximum number of LUTs in the structure 00045 int nLutsOver; // (Q) the maximum number of LUTs not in the MFFC 00046 int nVarsShared; // (S) the maximum number of shared variables (crossbars) 00047 int nGrowthLevel; // (L) the maximum increase in the node level after resynthesis 00048 int fSatur; // iterate till saturation 00049 int fZeroCost; // accept zero-cost replacements 00050 int fFirst; // use root node and first cut only 00051 int fOldAlgo; // use old algorithm 00052 int fVerbose; // the verbosiness flag 00053 int fVeryVerbose; // additional verbose info printout 00054 // internal parameters 00055 int nLutSize; // (K) the LUT size (determined by the input network) 00056 int nVarsMax; // (V) the largest number of variables: V = N * (K-1) + 1 00057 }; 00058 00062 00066 00070 00071 /*=== lpkCore.c ========================================================*/ 00072 extern int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars ); 00073 00074 00075 #ifdef __cplusplus 00076 } 00077 #endif 00078 00079 #endif 00080 00084