mirror of
https://github.com/YosysHQ/abc.git
synced 2026-09-01 18:27:44 +02:00
Updated code for lazy man's synthesis.
This commit is contained in:
+5
-1
@@ -525,9 +525,13 @@ extern int If_ManCountSpecialPos( If_Man_t * p );
|
||||
|
||||
/*=== abcRec.c ============================================================*/
|
||||
extern int If_CutDelayRecCost(If_Man_t* p, If_Cut_t* pCut, If_Obj_t * pObj);
|
||||
extern int If_CutDelayRecCost2(If_Man_t* p, If_Cut_t* pCut, If_Obj_t * pObj);
|
||||
/*=== abcRec2.c ============================================================*/
|
||||
extern int Abc_NtkRecIsRunning();
|
||||
extern int Abc_NtkRecIsRunning2();
|
||||
|
||||
// othe packages
|
||||
extern int Bat_ManCellFuncLookup( unsigned * pTruth, int nVars, int nLeaves );
|
||||
extern int Bat_ManCellFuncLookup( unsigned * pTruth, int nVars, int nLeaves );
|
||||
|
||||
ABC_NAMESPACE_HEADER_END
|
||||
|
||||
|
||||
+16
-2
@@ -156,7 +156,14 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
|
||||
/// if ( p->pPars->pLutStruct )
|
||||
/// pCut->Delay = If_CutDelayLutStruct( p, pCut, p->pPars->pLutStruct, p->pPars->WireDelay );
|
||||
if ( p->pPars->fUserRecLib )
|
||||
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
|
||||
{
|
||||
if((Abc_NtkRecIsRunning2()&& Abc_NtkRecIsRunning()) || (!Abc_NtkRecIsRunning2()&& !Abc_NtkRecIsRunning()))
|
||||
assert(0);
|
||||
else if(Abc_NtkRecIsRunning())
|
||||
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
|
||||
else
|
||||
pCut->Delay = If_CutDelayRecCost2(p, pCut, pObj);
|
||||
}
|
||||
else if(p->pPars->fDelayOpt)
|
||||
pCut->Delay = If_CutDelaySopCost(p,pCut);
|
||||
else if(p->pPars->nGateSize > 0)
|
||||
@@ -228,7 +235,14 @@ void If_ObjPerformMappingAnd( If_Man_t * p, If_Obj_t * pObj, int Mode, int fPrep
|
||||
/// if ( p->pPars->pLutStruct )
|
||||
/// pCut->Delay = If_CutDelayLutStruct( p, pCut, p->pPars->pLutStruct, p->pPars->WireDelay );
|
||||
if ( p->pPars->fUserRecLib )
|
||||
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
|
||||
{
|
||||
if((Abc_NtkRecIsRunning2()&& Abc_NtkRecIsRunning()) || (!Abc_NtkRecIsRunning2()&& !Abc_NtkRecIsRunning()))
|
||||
assert(0);
|
||||
else if(Abc_NtkRecIsRunning())
|
||||
pCut->Delay = If_CutDelayRecCost(p, pCut, pObj);
|
||||
else
|
||||
pCut->Delay = If_CutDelayRecCost2(p, pCut, pObj);
|
||||
}
|
||||
else if (p->pPars->fDelayOpt)
|
||||
pCut->Delay = If_CutDelaySopCost(p, pCut);
|
||||
else if(p->pPars->nGateSize > 0)
|
||||
|
||||
Reference in New Issue
Block a user