summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-11-04 20:24:33 +0800
committerAlan Mishchenko <alanmi@berkeley.edu>2018-11-04 20:24:33 +0800
commit4d56acfd5aa59cf5d2d0109d9836fadb33cffe97 (patch)
tree97f5af42bca6dd5294bb41992061859fd6bce915
parent455e0bae3e1b40a1777b5f3103bff26b6bcefac3 (diff)
downloadabc-4d56acfd5aa59cf5d2d0109d9836fadb33cffe97.tar.gz
abc-4d56acfd5aa59cf5d2d0109d9836fadb33cffe97.tar.bz2
abc-4d56acfd5aa59cf5d2d0109d9836fadb33cffe97.zip
Several recent bug fixes.
-rw-r--r--src/aig/gia/giaIf.c5
-rw-r--r--src/aig/ivy/ivyFraig.c2
-rw-r--r--src/base/abci/abcIvy.c1
-rw-r--r--src/base/wlc/wlcBlast.c8
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) );
}
}