mirror of https://github.com/YosysHQ/abc.git
Renaming If_Lut_t into If_LibLut_t.
This commit is contained in:
parent
5eedc74a15
commit
dc843b03c9
|
|
@ -109,7 +109,7 @@ int Gia_LutWhereIsPin( Gia_Man_t * p, int iFanout, int iFanin, int * pPinPerm )
|
|||
***********************************************************************/
|
||||
float Gia_ObjComputeArrival( Gia_Man_t * p, int iObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = (If_Lib_t *)p->pLutLib;
|
||||
If_LibLut_t * pLutLib = (If_LibLut_t *)p->pLutLib;
|
||||
Gia_Obj_t * pObj = Gia_ManObj( p, iObj );
|
||||
int k, iFanin, pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
|
|
@ -169,7 +169,7 @@ float Gia_ObjComputeArrival( Gia_Man_t * p, int iObj, int fUseSorting )
|
|||
***********************************************************************/
|
||||
float Gia_ObjPropagateRequired( Gia_Man_t * p, int iObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = (If_Lib_t *)p->pLutLib;
|
||||
If_LibLut_t * pLutLib = (If_LibLut_t *)p->pLutLib;
|
||||
int k, iFanin, pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
float tRequired = 0.0; // Suppress "might be used uninitialized"
|
||||
|
|
@ -230,7 +230,7 @@ float Gia_ObjPropagateRequired( Gia_Man_t * p, int iObj, int fUseSorting )
|
|||
float Gia_ManDelayTraceLut( Gia_Man_t * p )
|
||||
{
|
||||
int fUseSorting = 1;
|
||||
If_Lib_t * pLutLib = (If_Lib_t *)p->pLutLib;
|
||||
If_LibLut_t * pLutLib = (If_LibLut_t *)p->pLutLib;
|
||||
Vec_Int_t * vObjs;
|
||||
Gia_Obj_t * pObj;
|
||||
float tArrival, tArrivalCur, tRequired, tSlack;
|
||||
|
|
@ -336,7 +336,7 @@ float Gia_ManDelayTraceLut( Gia_Man_t * p )
|
|||
***********************************************************************/
|
||||
float Gia_ObjComputeRequired( Gia_Man_t * p, int iObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = p->pLutLib;
|
||||
If_LibLut_t * pLutLib = p->pLutLib;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
Gia_Obj_t * pFanout;
|
||||
|
|
@ -442,7 +442,7 @@ int Gia_LutVerifyTiming( Gia_Man_t * p )
|
|||
***********************************************************************/
|
||||
float Gia_ManDelayTraceLutPrint( Gia_Man_t * p, int fVerbose )
|
||||
{
|
||||
If_Lib_t * pLutLib = (If_Lib_t *)p->pLutLib;
|
||||
If_LibLut_t * pLutLib = (If_LibLut_t *)p->pLutLib;
|
||||
int i, Nodes, * pCounters;
|
||||
float tArrival, tDelta, nSteps, Num;
|
||||
// get the library
|
||||
|
|
@ -500,7 +500,7 @@ float Gia_ManDelayTraceLutPrint( Gia_Man_t * p, int fVerbose )
|
|||
***********************************************************************/
|
||||
unsigned Gia_LutDelayTraceTCEdges( Gia_Man_t * p, int iObj, float tDelta )
|
||||
{
|
||||
If_Lib_t * pLutLib = (If_Lib_t *)p->pLutLib;
|
||||
If_LibLut_t * pLutLib = (If_LibLut_t *)p->pLutLib;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
float tRequired, * pDelays;
|
||||
|
|
|
|||
|
|
@ -14568,7 +14568,7 @@ int Abc_CommandIf( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
pPars->nLatchesCi = pNtk? Abc_NtkLatchNum(pNtk) : 0;
|
||||
pPars->nLatchesCo = pNtk? Abc_NtkLatchNum(pNtk) : 0;
|
||||
pPars->fLiftLeaves = 0;
|
||||
pPars->pLutLib = (If_Lib_t *)Abc_FrameReadLibLut();
|
||||
pPars->pLutLib = (If_LibLut_t *)Abc_FrameReadLibLut();
|
||||
pPars->pTimesArr = NULL;
|
||||
pPars->pTimesArr = NULL;
|
||||
pPars->pFuncCost = NULL;
|
||||
|
|
@ -15070,7 +15070,7 @@ int Abc_CommandIfif( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
int c, fError;
|
||||
|
||||
pPars->nLutSize = -1; // the LUT size
|
||||
pPars->pLutLib = (If_Lib_t *)Abc_FrameReadLibLut(); // the LUT library
|
||||
pPars->pLutLib = (If_LibLut_t *)Abc_FrameReadLibLut(); // the LUT library
|
||||
pPars->DelayWire = (float)0.5; // wire delay
|
||||
pPars->nDegree = 0; // structure degree
|
||||
pPars->fCascade = 0; // cascade
|
||||
|
|
@ -27337,7 +27337,7 @@ int Abc_CommandAbc9If( Abc_Frame_t * pAbc, int argc, char ** argv )
|
|||
if ( pAbc->pLibLut == NULL )
|
||||
{
|
||||
Abc_Print( -1, "LUT library is not given. Using default LUT library.\n" );
|
||||
pAbc->pLibLut = If_LutLibSetSimple( 6 );
|
||||
pAbc->pLibLut = If_LibLutSetSimple( 6 );
|
||||
}
|
||||
Extra_UtilGetoptReset();
|
||||
while ( ( c = Extra_UtilGetopt( argc, argv, "KCFAGDEWSqaflepmrsdbgyojikcvh" ) ) != EOF )
|
||||
|
|
|
|||
|
|
@ -165,13 +165,13 @@ float Abc_NtkMfsTotalSwitching( Abc_Ntk_t * pNtk )
|
|||
***********************************************************************/
|
||||
float Abc_NtkGetArea( Abc_Ntk_t * pNtk )
|
||||
{
|
||||
If_Lib_t * pLutLib;
|
||||
If_LibLut_t * pLutLib;
|
||||
Abc_Obj_t * pObj;
|
||||
float Counter = 0.0;
|
||||
int i;
|
||||
assert( Abc_NtkIsLogic(pNtk) );
|
||||
// get the library
|
||||
pLutLib = (If_Lib_t *)Abc_FrameReadLibLut();
|
||||
pLutLib = (If_LibLut_t *)Abc_FrameReadLibLut();
|
||||
if ( pLutLib && pLutLib->LutMax >= Abc_NtkGetFaninMax(pNtk) )
|
||||
{
|
||||
Abc_NtkForEachNode( pNtk, pObj, i )
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ float Abc_NtkDelayTraceLut( Abc_Ntk_t * pNtk, int fUseLutLib )
|
|||
int fUseSorting = 1;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
If_Lib_t * pLutLib;
|
||||
If_LibLut_t * pLutLib;
|
||||
Abc_Obj_t * pNode, * pFanin;
|
||||
Vec_Ptr_t * vNodes;
|
||||
float tArrival, tRequired, tSlack, * pDelays;
|
||||
|
|
@ -110,7 +110,7 @@ float Abc_NtkDelayTraceLut( Abc_Ntk_t * pNtk, int fUseLutLib )
|
|||
|
||||
assert( Abc_NtkIsLogic(pNtk) );
|
||||
// get the library
|
||||
pLutLib = fUseLutLib? (If_Lib_t *)Abc_FrameReadLibLut() : NULL;
|
||||
pLutLib = fUseLutLib? (If_LibLut_t *)Abc_FrameReadLibLut() : NULL;
|
||||
if ( pLutLib && pLutLib->LutMax < Abc_NtkGetFaninMax(pNtk) )
|
||||
{
|
||||
printf( "The max LUT size (%d) is less than the max fanin count (%d).\n",
|
||||
|
|
@ -244,11 +244,11 @@ float Abc_NtkDelayTraceLut( Abc_Ntk_t * pNtk, int fUseLutLib )
|
|||
void Abc_NtkDelayTracePrint( Abc_Ntk_t * pNtk, int fUseLutLib, int fVerbose )
|
||||
{
|
||||
Abc_Obj_t * pNode;
|
||||
If_Lib_t * pLutLib;
|
||||
If_LibLut_t * pLutLib;
|
||||
int i, Nodes, * pCounters;
|
||||
float tArrival, tDelta, nSteps, Num;
|
||||
// get the library
|
||||
pLutLib = fUseLutLib? (If_Lib_t *)Abc_FrameReadLibLut() : NULL;
|
||||
pLutLib = fUseLutLib? (If_LibLut_t *)Abc_FrameReadLibLut() : NULL;
|
||||
if ( pLutLib && pLutLib->LutMax < Abc_NtkGetFaninMax(pNtk) )
|
||||
{
|
||||
printf( "The max LUT size (%d) is less than the max fanin count (%d).\n",
|
||||
|
|
@ -467,12 +467,12 @@ unsigned Abc_NtkDelayTraceTCEdges( Abc_Ntk_t * pNtk, Abc_Obj_t * pNode, float tD
|
|||
{
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
If_Lib_t * pLutLib;
|
||||
If_LibLut_t * pLutLib;
|
||||
Abc_Obj_t * pFanin;
|
||||
unsigned uResult = 0;
|
||||
float tRequired, * pDelays;
|
||||
int k;
|
||||
pLutLib = fUseLutLib? (If_Lib_t *)Abc_FrameReadLibLut() : NULL;
|
||||
pLutLib = fUseLutLib? (If_LibLut_t *)Abc_FrameReadLibLut() : NULL;
|
||||
tRequired = Abc_ObjRequired(pNode);
|
||||
if ( pLutLib == NULL )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -113,7 +113,6 @@ struct Abc_Frame_t_
|
|||
void * pAbc85Ntl2;
|
||||
void * pAbc85Best;
|
||||
void * pAbc85Delay;
|
||||
// If_Lib_t * pAbc85Lib;
|
||||
|
||||
EXT_ABC_FRAME // plugin for external functionality
|
||||
};
|
||||
|
|
|
|||
|
|
@ -71,16 +71,17 @@ typedef enum {
|
|||
|
||||
typedef struct If_Man_t_ If_Man_t;
|
||||
typedef struct If_Par_t_ If_Par_t;
|
||||
typedef struct If_Lib_t_ If_Lib_t;
|
||||
typedef struct If_Obj_t_ If_Obj_t;
|
||||
typedef struct If_Cut_t_ If_Cut_t;
|
||||
typedef struct If_Set_t_ If_Set_t;
|
||||
typedef struct If_LibLut_t_ If_LibLut_t;
|
||||
typedef struct If_LibBox_t_ If_LibBox_t;
|
||||
|
||||
typedef struct Ifif_Par_t_ Ifif_Par_t;
|
||||
struct Ifif_Par_t_
|
||||
{
|
||||
int nLutSize; // the LUT size
|
||||
If_Lib_t * pLutLib; // the LUT library
|
||||
If_LibLut_t * pLutLib; // the LUT library
|
||||
float pLutDelays[IF_MAX_LUTSIZE]; // pin-to-pin delays of the max LUT
|
||||
float DelayWire; // wire delay
|
||||
int nDegree; // structure degree
|
||||
|
|
@ -138,7 +139,7 @@ struct If_Par_t_
|
|||
int nLatchesCoBox; // the number of white box inputs among the COs
|
||||
int fLiftLeaves; // shift the leaves for seq mapping
|
||||
int fUseCoAttrs; // use CO attributes
|
||||
If_Lib_t * pLutLib; // the LUT library
|
||||
If_LibLut_t * pLutLib; // the LUT library
|
||||
float * pTimesArr; // arrival times
|
||||
float * pTimesReq; // required times
|
||||
int (* pFuncCost) (If_Cut_t *); // procedure to compute the user's cost of a cut
|
||||
|
|
@ -148,7 +149,7 @@ struct If_Par_t_
|
|||
};
|
||||
|
||||
// the LUT library
|
||||
struct If_Lib_t_
|
||||
struct If_LibLut_t_
|
||||
{
|
||||
char * pName; // the name of the LUT library
|
||||
int LutMax; // the maximum LUT size
|
||||
|
|
@ -323,7 +324,6 @@ struct If_Box_t_
|
|||
int * pDelays;
|
||||
};
|
||||
|
||||
typedef struct If_LibBox_t_ If_LibBox_t;
|
||||
struct If_LibBox_t_
|
||||
{
|
||||
Vec_Ptr_t * vBoxes;
|
||||
|
|
@ -388,7 +388,7 @@ static inline int If_CutTruthWords( int nVarsMax ) { r
|
|||
static inline int If_CutPermWords( int nVarsMax ) { return nVarsMax / sizeof(int) + ((nVarsMax % sizeof(int)) > 0); }
|
||||
|
||||
static inline float If_CutLutArea( If_Man_t * p, If_Cut_t * pCut ) { return pCut->fUser? (float)pCut->Cost : (p->pPars->pLutLib? p->pPars->pLutLib->pLutAreas[pCut->nLeaves] : (float)1.0); }
|
||||
static inline float If_CutLutDelay( If_Lib_t * p, int Size, int iPin ) { return p ? (p->fVarPinDelays ? p->pLutDelays[Size][iPin] : p->pLutDelays[Size][0]) : 1.0; }
|
||||
static inline float If_CutLutDelay( If_LibLut_t * p, int Size, int iPin ) { return p ? (p->fVarPinDelays ? p->pLutDelays[Size][iPin] : p->pLutDelays[Size][0]) : 1.0; }
|
||||
|
||||
static inline word If_AndToWrd( If_And_t m ) { union { If_And_t x; word y; } v; v.x = m; return v.y; }
|
||||
static inline If_And_t If_WrdToAnd( word m ) { union { If_And_t x; word y; } v; v.y = m; return v.x; }
|
||||
|
|
@ -492,15 +492,15 @@ extern int If_CluCheckExt( void * p, word * pTruth, int nVars, int n
|
|||
extern int If_CluCheckExt3( void * p, word * pTruth, int nVars, int nLutLeaf, int nLutLeaf2, int nLutRoot,
|
||||
char * pLut0, char * pLut1, char * pLut2, word * pFunc0, word * pFunc1, word * pFunc2 );
|
||||
/*=== ifLib.c =============================================================*/
|
||||
extern If_Lib_t * If_LutLibRead( char * FileName );
|
||||
extern If_Lib_t * If_LutLibDup( If_Lib_t * p );
|
||||
extern void If_LutLibFree( If_Lib_t * pLutLib );
|
||||
extern void If_LutLibPrint( If_Lib_t * pLutLib );
|
||||
extern int If_LutLibDelaysAreDiscrete( If_Lib_t * pLutLib );
|
||||
extern int If_LutLibDelaysAreDifferent( If_Lib_t * pLutLib );
|
||||
extern If_Lib_t * If_LutLibSetSimple( int nLutSize );
|
||||
extern float If_LutLibFastestPinDelay( If_Lib_t * p );
|
||||
extern float If_LutLibSlowestPinDelay( If_Lib_t * p );
|
||||
extern If_LibLut_t * If_LibLutRead( char * FileName );
|
||||
extern If_LibLut_t * If_LibLutDup( If_LibLut_t * p );
|
||||
extern void If_LibLutFree( If_LibLut_t * pLutLib );
|
||||
extern void If_LibLutPrint( If_LibLut_t * pLutLib );
|
||||
extern int If_LibLutDelaysAreDiscrete( If_LibLut_t * pLutLib );
|
||||
extern int If_LibLutDelaysAreDifferent( If_LibLut_t * pLutLib );
|
||||
extern If_LibLut_t * If_LibLutSetSimple( int nLutSize );
|
||||
extern float If_LibLutFastestPinDelay( If_LibLut_t * p );
|
||||
extern float If_LibLutSlowestPinDelay( If_LibLut_t * p );
|
||||
/*=== ifLibBox.c =============================================================*/
|
||||
extern If_LibBox_t * If_LibBoxStart();
|
||||
extern void If_LibBoxFree( If_LibBox_t * p );
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@ static int If_CommandPrintBox( Abc_Frame_t * pAbc, int argc, char **argv );
|
|||
void If_Init( Abc_Frame_t * pAbc )
|
||||
{
|
||||
// set the default library
|
||||
If_Lib_t s_LutLib = { "lutlib", 4, 0, {0,1,1,1,1}, {{0},{1},{1},{1},{1}} };
|
||||
Abc_FrameSetLibLut( If_LutLibDup(&s_LutLib) );
|
||||
If_LibLut_t s_LutLib = { "lutlib", 4, 0, {0,1,1,1,1}, {{0},{1},{1},{1},{1}} };
|
||||
Abc_FrameSetLibLut( If_LibLutDup(&s_LutLib) );
|
||||
|
||||
Cmd_CommandAdd( pAbc, "FPGA mapping", "read_lut", If_CommandReadLut, 0 );
|
||||
Cmd_CommandAdd( pAbc, "FPGA mapping", "print_lut", If_CommandPrintLut, 0 );
|
||||
|
|
@ -74,7 +74,7 @@ void If_Init( Abc_Frame_t * pAbc )
|
|||
***********************************************************************/
|
||||
void If_End( Abc_Frame_t * pAbc )
|
||||
{
|
||||
If_LutLibFree( (If_Lib_t *) Abc_FrameReadLibLut() );
|
||||
If_LibLutFree( (If_LibLut_t *) Abc_FrameReadLibLut() );
|
||||
If_LibBoxFree( (If_LibBox_t *)Abc_FrameReadLibBox() );
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ int If_CommandReadLut( Abc_Frame_t * pAbc, int argc, char **argv )
|
|||
{
|
||||
FILE * pFile;
|
||||
FILE * pOut, * pErr;
|
||||
If_Lib_t * pLib;
|
||||
If_LibLut_t * pLib;
|
||||
Abc_Ntk_t * pNet;
|
||||
char * FileName;
|
||||
int fVerbose;
|
||||
|
|
@ -137,14 +137,14 @@ int If_CommandReadLut( Abc_Frame_t * pAbc, int argc, char **argv )
|
|||
fclose( pFile );
|
||||
|
||||
// set the new network
|
||||
pLib = If_LutLibRead( FileName );
|
||||
pLib = If_LibLutRead( FileName );
|
||||
if ( pLib == NULL )
|
||||
{
|
||||
fprintf( pErr, "Reading LUT library has failed.\n" );
|
||||
goto usage;
|
||||
}
|
||||
// replace the current library
|
||||
If_LutLibFree( (If_Lib_t *)Abc_FrameReadLibLut() );
|
||||
If_LibLutFree( (If_LibLut_t *)Abc_FrameReadLibLut() );
|
||||
Abc_FrameSetLibLut( pLib );
|
||||
return 0;
|
||||
|
||||
|
|
@ -212,7 +212,7 @@ int If_CommandPrintLut( Abc_Frame_t * pAbc, int argc, char **argv )
|
|||
goto usage;
|
||||
|
||||
// set the new network
|
||||
If_LutLibPrint( (If_Lib_t *)Abc_FrameReadLibLut() );
|
||||
If_LibLutPrint( (If_LibLut_t *)Abc_FrameReadLibLut() );
|
||||
return 0;
|
||||
|
||||
usage:
|
||||
|
|
|
|||
|
|
@ -44,10 +44,10 @@ static inline char * If_UtilStrsav( char *s ) { return !s ? s : strcpy(ABC_ALLO
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
If_Lib_t * If_LutLibRead( char * FileName )
|
||||
If_LibLut_t * If_LibLutRead( char * FileName )
|
||||
{
|
||||
char pBuffer[1000], * pToken;
|
||||
If_Lib_t * p;
|
||||
If_LibLut_t * p;
|
||||
FILE * pFile;
|
||||
int i, k;
|
||||
|
||||
|
|
@ -58,8 +58,8 @@ If_Lib_t * If_LutLibRead( char * FileName )
|
|||
return NULL;
|
||||
}
|
||||
|
||||
p = ABC_ALLOC( If_Lib_t, 1 );
|
||||
memset( p, 0, sizeof(If_Lib_t) );
|
||||
p = ABC_ALLOC( If_LibLut_t, 1 );
|
||||
memset( p, 0, sizeof(If_LibLut_t) );
|
||||
p->pName = If_UtilStrsav( FileName );
|
||||
|
||||
i = 1;
|
||||
|
|
@ -150,10 +150,10 @@ If_Lib_t * If_LutLibRead( char * FileName )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
If_Lib_t * If_LutLibDup( If_Lib_t * p )
|
||||
If_LibLut_t * If_LibLutDup( If_LibLut_t * p )
|
||||
{
|
||||
If_Lib_t * pNew;
|
||||
pNew = ABC_ALLOC( If_Lib_t, 1 );
|
||||
If_LibLut_t * pNew;
|
||||
pNew = ABC_ALLOC( If_LibLut_t, 1 );
|
||||
*pNew = *p;
|
||||
pNew->pName = If_UtilStrsav( pNew->pName );
|
||||
return pNew;
|
||||
|
|
@ -170,7 +170,7 @@ If_Lib_t * If_LutLibDup( If_Lib_t * p )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void If_LutLibFree( If_Lib_t * pLutLib )
|
||||
void If_LibLutFree( If_LibLut_t * pLutLib )
|
||||
{
|
||||
if ( pLutLib == NULL )
|
||||
return;
|
||||
|
|
@ -190,7 +190,7 @@ void If_LutLibFree( If_Lib_t * pLutLib )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void If_LutLibPrint( If_Lib_t * pLutLib )
|
||||
void If_LibLutPrint( If_LibLut_t * pLutLib )
|
||||
{
|
||||
int i, k;
|
||||
Abc_Print( 1, "# The area/delay of k-variable LUTs:\n" );
|
||||
|
|
@ -221,7 +221,7 @@ void If_LutLibPrint( If_Lib_t * pLutLib )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
int If_LutLibDelaysAreDiscrete( If_Lib_t * pLutLib )
|
||||
int If_LibLutDelaysAreDiscrete( If_LibLut_t * pLutLib )
|
||||
{
|
||||
float Delay;
|
||||
int i;
|
||||
|
|
@ -245,7 +245,7 @@ int If_LutLibDelaysAreDiscrete( If_Lib_t * pLutLib )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
int If_LutLibDelaysAreDifferent( If_Lib_t * pLutLib )
|
||||
int If_LibLutDelaysAreDifferent( If_LibLut_t * pLutLib )
|
||||
{
|
||||
int i, k;
|
||||
float Delay = pLutLib->pLutDelays[1][0];
|
||||
|
|
@ -276,17 +276,17 @@ int If_LutLibDelaysAreDifferent( If_Lib_t * pLutLib )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
If_Lib_t * If_LutLibSetSimple( int nLutSize )
|
||||
If_LibLut_t * If_LibLutSetSimple( int nLutSize )
|
||||
{
|
||||
If_Lib_t s_LutLib10= { "lutlib",10, 0, {0,1,1,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib9 = { "lutlib", 9, 0, {0,1,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib8 = { "lutlib", 8, 0, {0,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib7 = { "lutlib", 7, 0, {0,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib6 = { "lutlib", 6, 0, {0,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib5 = { "lutlib", 5, 0, {0,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib4 = { "lutlib", 4, 0, {0,1,1,1,1}, {{0},{1},{1},{1},{1}} };
|
||||
If_Lib_t s_LutLib3 = { "lutlib", 3, 0, {0,1,1,1}, {{0},{1},{1},{1}} };
|
||||
If_Lib_t * pLutLib;
|
||||
If_LibLut_t s_LutLib10= { "lutlib",10, 0, {0,1,1,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib9 = { "lutlib", 9, 0, {0,1,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib8 = { "lutlib", 8, 0, {0,1,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib7 = { "lutlib", 7, 0, {0,1,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib6 = { "lutlib", 6, 0, {0,1,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib5 = { "lutlib", 5, 0, {0,1,1,1,1,1}, {{0},{1},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib4 = { "lutlib", 4, 0, {0,1,1,1,1}, {{0},{1},{1},{1},{1}} };
|
||||
If_LibLut_t s_LutLib3 = { "lutlib", 3, 0, {0,1,1,1}, {{0},{1},{1},{1}} };
|
||||
If_LibLut_t * pLutLib;
|
||||
assert( nLutSize >= 3 && nLutSize <= 10 );
|
||||
switch ( nLutSize )
|
||||
{
|
||||
|
|
@ -302,7 +302,7 @@ If_Lib_t * If_LutLibSetSimple( int nLutSize )
|
|||
}
|
||||
if ( pLutLib == NULL )
|
||||
return NULL;
|
||||
return If_LutLibDup(pLutLib);
|
||||
return If_LibLutDup(pLutLib);
|
||||
}
|
||||
|
||||
/**Function*************************************************************
|
||||
|
|
@ -316,7 +316,7 @@ If_Lib_t * If_LutLibSetSimple( int nLutSize )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
float If_LutLibFastestPinDelay( If_Lib_t * p )
|
||||
float If_LibLutFastestPinDelay( If_LibLut_t * p )
|
||||
{
|
||||
return !p? 1.0 : p->pLutDelays[p->LutMax][0];
|
||||
}
|
||||
|
|
@ -332,7 +332,7 @@ float If_LutLibFastestPinDelay( If_Lib_t * p )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
float If_LutLibSlowestPinDelay( If_Lib_t * p )
|
||||
float If_LibLutSlowestPinDelay( If_LibLut_t * p )
|
||||
{
|
||||
return !p? 1.0 : (p->fVarPinDelays? p->pLutDelays[p->LutMax][p->LutMax-1]: p->pLutDelays[p->LutMax][0]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -519,7 +519,7 @@ int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars )
|
|||
|
||||
// get the number of inputs
|
||||
if ( Abc_FrameReadLibLut() )
|
||||
pPars->nLutSize = ((If_Lib_t *)Abc_FrameReadLibLut())->LutMax;
|
||||
pPars->nLutSize = ((If_LibLut_t *)Abc_FrameReadLibLut())->LutMax;
|
||||
else
|
||||
pPars->nLutSize = Abc_NtkGetFaninMax( pNtk );
|
||||
if ( pPars->nLutSize > 6 )
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ extern ABC_DLL Aig_Man_t * Ntl_ManPrepareSec( char * pFileName1, char * pFileNam
|
|||
|
||||
extern ABC_DLL Nwk_Man_t * Ntl_ManExtractNwk( Ntl_Man_t * p, Aig_Man_t * pAig, Tim_Man_t * pManTime );
|
||||
extern ABC_DLL Nwk_Man_t * Ntl_ManReadNwk( char * pFileName, Aig_Man_t * pAig, Tim_Man_t * pManTime );
|
||||
extern ABC_DLL void Nwk_ManPrintStats( Nwk_Man_t * p, If_Lib_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl );
|
||||
extern ABC_DLL void Nwk_ManPrintStats( Nwk_Man_t * p, If_LibLut_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl );
|
||||
extern ABC_DLL void Nwk_ManPrintStatsShort( Ntl_Man_t * p, Aig_Man_t * pAig, Nwk_Man_t * pNtk );
|
||||
extern ABC_DLL void Nwk_ManPrintFanioNew( Nwk_Man_t * p );
|
||||
extern ABC_DLL Nwk_Man_t * Nwk_MappingIf( Aig_Man_t * p, Tim_Man_t * pManTime, If_Par_t * pPars );
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ struct Nwk_Man_t_
|
|||
// functionality, timing, memory, etc
|
||||
Hop_Man_t * pManHop; // the functionality representation
|
||||
Tim_Man_t * pManTime; // the timing manager
|
||||
If_Lib_t * pLutLib; // the LUT library
|
||||
If_LibLut_t * pLutLib; // the LUT library
|
||||
Aig_MmFlex_t * pMemObjs; // memory for objects
|
||||
Vec_Ptr_t * vTemp; // array used for incremental updates
|
||||
int nTravIds; // the counter of traversal IDs
|
||||
|
|
@ -255,7 +255,7 @@ extern ABC_DLL Vec_Ptr_t * Nwk_ManRetimeCutBackward( Nwk_Man_t * pMan, int n
|
|||
extern ABC_DLL Nwk_Man_t * Nwk_ManAlloc();
|
||||
extern ABC_DLL void Nwk_ManFree( Nwk_Man_t * p );
|
||||
extern ABC_DLL float Nwl_ManComputeTotalSwitching( Nwk_Man_t * pNtk );
|
||||
extern ABC_DLL void Nwk_ManPrintStats( Nwk_Man_t * p, If_Lib_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl );
|
||||
extern ABC_DLL void Nwk_ManPrintStats( Nwk_Man_t * p, If_LibLut_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl );
|
||||
/*=== nwkMap.c ============================================================*/
|
||||
extern ABC_DLL Nwk_Man_t * Nwk_MappingIf( Aig_Man_t * p, Tim_Man_t * pManTime, If_Par_t * pPars );
|
||||
/*=== nwkObj.c ============================================================*/
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ void Nwk_ManFree( Nwk_Man_t * p )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void Nwk_ManPrintLutSizes( Nwk_Man_t * p, If_Lib_t * pLutLib )
|
||||
void Nwk_ManPrintLutSizes( Nwk_Man_t * p, If_LibLut_t * pLutLib )
|
||||
{
|
||||
Nwk_Obj_t * pObj;
|
||||
int i, Counters[256] = {0};
|
||||
|
|
@ -231,7 +231,7 @@ float Nwl_ManComputeTotalSwitching( Nwk_Man_t * pNtk )
|
|||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void Nwk_ManPrintStats( Nwk_Man_t * pNtk, If_Lib_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl )
|
||||
void Nwk_ManPrintStats( Nwk_Man_t * pNtk, If_LibLut_t * pLutLib, int fSaveBest, int fDumpResult, int fPower, Ntl_Man_t * pNtl )
|
||||
{
|
||||
// extern int Ntl_ManLatchNum( Ntl_Man_t * p );
|
||||
// extern void Ntl_ManWriteBlifLogic( Nwk_Man_t * pNtk, void * pNtl, char * pFileName );
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ unsigned Nwk_ManDelayTraceTCEdges( Nwk_Man_t * pNtk, Nwk_Obj_t * pNode, float tD
|
|||
{
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
If_Lib_t * pLutLib = fUseLutLib? pNtk->pLutLib : NULL;
|
||||
If_LibLut_t * pLutLib = fUseLutLib? pNtk->pLutLib : NULL;
|
||||
Nwk_Obj_t * pFanin;
|
||||
unsigned uResult = 0;
|
||||
float tRequired, * pDelays;
|
||||
|
|
@ -206,7 +206,7 @@ Aig_Man_t * Nwk_ManSpeedup( Nwk_Man_t * pNtk, int fUseLutLib, int Percentage, in
|
|||
Vec_Ptr_t * vTimeCries, * vTimeFanins;
|
||||
Nwk_Obj_t * pNode, * pFanin, * pFanin2;
|
||||
Aig_Obj_t * pAnd;
|
||||
If_Lib_t * pTempLib = pNtk->pLutLib;
|
||||
If_LibLut_t * pTempLib = pNtk->pLutLib;
|
||||
Tim_Man_t * pTempTim = NULL;
|
||||
float tDelta, tArrival;
|
||||
int i, k, k2, Counter, CounterRes, nTimeCris;
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ int Nwk_ManWhereIsPin( Nwk_Obj_t * pFanout, Nwk_Obj_t * pFanin, int * pPinPerm )
|
|||
***********************************************************************/
|
||||
float Nwk_NodeComputeArrival( Nwk_Obj_t * pObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = pObj->pMan->pLutLib;
|
||||
If_LibLut_t * pLutLib = pObj->pMan->pLutLib;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
Nwk_Obj_t * pFanin;
|
||||
|
|
@ -190,7 +190,7 @@ float Nwk_NodeComputeArrival( Nwk_Obj_t * pObj, int fUseSorting )
|
|||
***********************************************************************/
|
||||
float Nwk_NodeComputeRequired( Nwk_Obj_t * pObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = pObj->pMan->pLutLib;
|
||||
If_LibLut_t * pLutLib = pObj->pMan->pLutLib;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
Nwk_Obj_t * pFanout;
|
||||
|
|
@ -263,7 +263,7 @@ float Nwk_NodeComputeRequired( Nwk_Obj_t * pObj, int fUseSorting )
|
|||
***********************************************************************/
|
||||
float Nwk_NodePropagateRequired( Nwk_Obj_t * pObj, int fUseSorting )
|
||||
{
|
||||
If_Lib_t * pLutLib = pObj->pMan->pLutLib;
|
||||
If_LibLut_t * pLutLib = pObj->pMan->pLutLib;
|
||||
int pPinPerm[32];
|
||||
float pPinDelays[32];
|
||||
Nwk_Obj_t * pFanin;
|
||||
|
|
@ -327,7 +327,7 @@ float Nwk_ManDelayTraceLut( Nwk_Man_t * pNtk )
|
|||
{
|
||||
Vec_Ptr_t * vObjs;
|
||||
int fUseSorting = 1;
|
||||
If_Lib_t * pLutLib = pNtk->pLutLib;
|
||||
If_LibLut_t * pLutLib = pNtk->pLutLib;
|
||||
Vec_Ptr_t * vNodes;
|
||||
Nwk_Obj_t * pObj;
|
||||
float tArrival, tRequired, tSlack;
|
||||
|
|
@ -458,7 +458,7 @@ int Nwk_ManVerifyTiming( Nwk_Man_t * pNtk )
|
|||
***********************************************************************/
|
||||
void Nwk_ManDelayTracePrint( Nwk_Man_t * pNtk )
|
||||
{
|
||||
If_Lib_t * pLutLib = pNtk->pLutLib;
|
||||
If_LibLut_t * pLutLib = pNtk->pLutLib;
|
||||
Nwk_Obj_t * pNode;
|
||||
int i, Nodes, * pCounters;
|
||||
float tArrival, tDelta, nSteps, Num;
|
||||
|
|
|
|||
Loading…
Reference in New Issue