mirror of https://github.com/YosysHQ/abc.git
Several recent bug fixes.
This commit is contained in:
parent
455e0bae3e
commit
4d56acfd5a
|
|
@ -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 );
|
extern void Gia_ManIffTest( Gia_Man_t * pGia, If_LibLut_t * pLib, int fVerbose );
|
||||||
Gia_Man_t * pNew;
|
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->pTimesArr == NULL );
|
||||||
assert( pPars->pTimesReq == NULL );
|
assert( pPars->pTimesReq == NULL );
|
||||||
if ( p->vCiArrs )
|
if ( p->vCiArrs )
|
||||||
|
|
@ -2244,11 +2244,10 @@ Gia_Man_t * Gia_ManPerformMappingInt( Gia_Man_t * p, If_Par_t * pPars )
|
||||||
}
|
}
|
||||||
else if ( p->vInArrs )
|
else if ( p->vInArrs )
|
||||||
{
|
{
|
||||||
int Id, And2Delay = p->And2Delay ? p->And2Delay : 1;
|
|
||||||
assert( Vec_FltSize(p->vInArrs) == Gia_ManCiNum(p) );
|
assert( Vec_FltSize(p->vInArrs) == Gia_ManCiNum(p) );
|
||||||
pPars->pTimesArr = ABC_CALLOC( float, Gia_ManCiNum(p));
|
pPars->pTimesArr = ABC_CALLOC( float, Gia_ManCiNum(p));
|
||||||
Gia_ManForEachCiId( p, Id, i )
|
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 )
|
if ( p->vCoReqs )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1354,7 +1354,7 @@ int Ivy_FraigCheckOutputSims( Ivy_FraigMan_t * p )
|
||||||
// pObj = Ivy_ManPo( p->pManAig, 0 );
|
// pObj = Ivy_ManPo( p->pManAig, 0 );
|
||||||
Ivy_ManForEachPo( p->pManAig, pObj, i )
|
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
|
// complement simulation info
|
||||||
// if ( Ivy_ObjFanin0(pObj)->fPhase ^ Ivy_ObjFaninC0(pObj) ) // Ivy_ObjFaninPhase(Ivy_ObjChild0(pObj))
|
// if ( Ivy_ObjFanin0(pObj)->fPhase ^ Ivy_ObjFaninC0(pObj) ) // Ivy_ObjFaninPhase(Ivy_ObjChild0(pObj))
|
||||||
// Ivy_NodeComplementSim( p, Ivy_ObjFanin0(pObj) );
|
// Ivy_NodeComplementSim( p, Ivy_ObjFanin0(pObj) );
|
||||||
|
|
|
||||||
|
|
@ -482,6 +482,7 @@ Abc_Ntk_t * Abc_NtkIvyFraig( Abc_Ntk_t * pNtk, int nConfLimit, int fDoSparse, in
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pNtkAig = Abc_NtkIvyAfter( pNtk, pMan, 0, 0 );
|
pNtkAig = Abc_NtkIvyAfter( pNtk, pMan, 0, 0 );
|
||||||
|
pNtkAig->pModel = (int *)pMan->pData; pMan->pData = NULL;
|
||||||
Ivy_ManStop( pTemp );
|
Ivy_ManStop( pTemp );
|
||||||
Ivy_ManStop( pMan );
|
Ivy_ManStop( pMan );
|
||||||
return pNtkAig;
|
return pNtkAig;
|
||||||
|
|
|
||||||
|
|
@ -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));
|
char * pName = Wlc_ObjName(p, Wlc_ObjId(p, pObj));
|
||||||
nRange = Wlc_ObjRange( pObj );
|
nRange = Wlc_ObjRange( pObj );
|
||||||
if ( fSkipBitRange && nRange == 1 )
|
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
|
else
|
||||||
for ( k = 0; k < nRange; k++ )
|
for ( k = 0; k < nRange; k++ )
|
||||||
{
|
{
|
||||||
char Buffer[1000];
|
char Buffer[1000];
|
||||||
sprintf( Buffer, "%s[%d]", pName, k );
|
sprintf( Buffer, "%s_fi[%d]", pName, k );
|
||||||
Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) );
|
Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue