From 4d56acfd5aa59cf5d2d0109d9836fadb33cffe97 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 4 Nov 2018 20:24:33 +0800 Subject: Several recent bug fixes. --- src/aig/gia/giaIf.c | 5 ++--- src/aig/ivy/ivyFraig.c | 2 +- src/base/abci/abcIvy.c | 1 + src/base/wlc/wlcBlast.c | 8 ++++++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c index 6cb76ba1..18525168 100644 --- a/src/aig/gia/giaIf.c +++ b/src/aig/gia/giaIf.c @@ -2232,7 +2232,7 @@ Gia_Man_t * Gia_ManPerformMappingInt( Gia_Man_t * p, If_Par_t * pPars ) { extern void Gia_ManIffTest( Gia_Man_t * pGia, If_LibLut_t * pLib, int fVerbose ); Gia_Man_t * pNew; - If_Man_t * pIfMan; int i, Entry, EntryF; + If_Man_t * pIfMan; int i, Id, Entry, EntryF; assert( pPars->pTimesArr == NULL ); assert( pPars->pTimesReq == NULL ); if ( p->vCiArrs ) @@ -2244,11 +2244,10 @@ Gia_Man_t * Gia_ManPerformMappingInt( Gia_Man_t * p, If_Par_t * pPars ) } else if ( p->vInArrs ) { - int Id, And2Delay = p->And2Delay ? p->And2Delay : 1; assert( Vec_FltSize(p->vInArrs) == Gia_ManCiNum(p) ); pPars->pTimesArr = ABC_CALLOC( float, Gia_ManCiNum(p)); Gia_ManForEachCiId( p, Id, i ) - pPars->pTimesArr[i] = Vec_FltEntry(p->vInArrs, i)/And2Delay; + pPars->pTimesArr[i] = Vec_FltEntry(p->vInArrs, i); } if ( p->vCoReqs ) { diff --git a/src/aig/ivy/ivyFraig.c b/src/aig/ivy/ivyFraig.c index d9887d74..b51902bb 100644 --- a/src/aig/ivy/ivyFraig.c +++ b/src/aig/ivy/ivyFraig.c @@ -1354,7 +1354,7 @@ int Ivy_FraigCheckOutputSims( Ivy_FraigMan_t * p ) // pObj = Ivy_ManPo( p->pManAig, 0 ); Ivy_ManForEachPo( p->pManAig, pObj, i ) { - assert( Ivy_ObjFanin0(pObj)->fPhase == (unsigned)Ivy_ObjFaninC0(pObj) ); // Ivy_ObjFaninPhase(Ivy_ObjChild0(pObj)) == 0 + //assert( Ivy_ObjFanin0(pObj)->fPhase == (unsigned)Ivy_ObjFaninC0(pObj) ); // Ivy_ObjFaninPhase(Ivy_ObjChild0(pObj)) == 0 // complement simulation info // if ( Ivy_ObjFanin0(pObj)->fPhase ^ Ivy_ObjFaninC0(pObj) ) // Ivy_ObjFaninPhase(Ivy_ObjChild0(pObj)) // Ivy_NodeComplementSim( p, Ivy_ObjFanin0(pObj) ); diff --git a/src/base/abci/abcIvy.c b/src/base/abci/abcIvy.c index e4a5d3b4..5dc125d0 100644 --- a/src/base/abci/abcIvy.c +++ b/src/base/abci/abcIvy.c @@ -482,6 +482,7 @@ Abc_Ntk_t * Abc_NtkIvyFraig( Abc_Ntk_t * pNtk, int nConfLimit, int fDoSparse, in } else pNtkAig = Abc_NtkIvyAfter( pNtk, pMan, 0, 0 ); + pNtkAig->pModel = (int *)pMan->pData; pMan->pData = NULL; Ivy_ManStop( pTemp ); Ivy_ManStop( pMan ); return pNtkAig; diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index e4088f9c..32fdc703 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -2309,12 +2309,16 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) char * pName = Wlc_ObjName(p, Wlc_ObjId(p, pObj)); nRange = Wlc_ObjRange( pObj ); if ( fSkipBitRange && nRange == 1 ) - Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(pName) ); + { + char Buffer[1000]; + sprintf( Buffer, "%s_fi", pName ); + Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); + } else for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, k ); + sprintf( Buffer, "%s_fi[%d]", pName, k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } -- cgit v1.2.3