mirror of https://github.com/YosysHQ/abc.git
Producing AIG after structural mapping.
This commit is contained in:
parent
181a762927
commit
e48cfd92ee
|
|
@ -1440,7 +1440,7 @@ void Jf_ManDeriveMapping( Jf_Man_t * p )
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p )
|
Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p )
|
||||||
{
|
{
|
||||||
Gia_Man_t * pNew;
|
Gia_Man_t * pNew, * pTemp;
|
||||||
Gia_Obj_t * pObj;
|
Gia_Obj_t * pObj;
|
||||||
Vec_Int_t * vCopies = Vec_IntStartFull( Gia_ManObjNum(p->pGia) );
|
Vec_Int_t * vCopies = Vec_IntStartFull( Gia_ManObjNum(p->pGia) );
|
||||||
Vec_Int_t * vCover = Vec_IntAlloc( 1 << 16 );
|
Vec_Int_t * vCover = Vec_IntAlloc( 1 << 16 );
|
||||||
|
|
@ -1516,6 +1516,9 @@ Gia_Man_t * Jf_ManDeriveGia( Jf_Man_t * p )
|
||||||
Gia_ManHashStop( pNew );
|
Gia_ManHashStop( pNew );
|
||||||
Gia_ManSetRegNum( pNew, Gia_ManRegNum(p->pGia) );
|
Gia_ManSetRegNum( pNew, Gia_ManRegNum(p->pGia) );
|
||||||
// Dsm_ManReportStats();
|
// Dsm_ManReportStats();
|
||||||
|
// perform cleanup
|
||||||
|
pNew = Gia_ManCleanup( pTemp = pNew );
|
||||||
|
Gia_ManStop( pTemp );
|
||||||
return pNew;
|
return pNew;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -161,11 +161,10 @@ int Dau_DsdToGia_rec( Gia_Man_t * pGia, char * pStr, char ** p, int * pMatches,
|
||||||
}
|
}
|
||||||
if ( (**p >= 'A' && **p <= 'F') || (**p >= '0' && **p <= '9') )
|
if ( (**p >= 'A' && **p <= 'F') || (**p >= '0' && **p <= '9') )
|
||||||
{
|
{
|
||||||
word Func;
|
Vec_Int_t vLeaves; char * q;
|
||||||
|
word pFunc[DAU_DSD_MAX_VAR > 6 ? (1 << (DAU_DSD_MAX_VAR-6)) : 1];
|
||||||
int Fanins[DAU_DSD_MAX_VAR], Res;
|
int Fanins[DAU_DSD_MAX_VAR], Res;
|
||||||
Vec_Int_t vLeaves;
|
int i, nVars = Abc_TtReadHex( pFunc, *p );
|
||||||
char * q;
|
|
||||||
int i, nVars = Abc_TtReadHex( &Func, *p );
|
|
||||||
*p += Abc_TtHexDigitNum( nVars );
|
*p += Abc_TtHexDigitNum( nVars );
|
||||||
q = pStr + pMatches[ *p - pStr ];
|
q = pStr + pMatches[ *p - pStr ];
|
||||||
assert( **p == '{' && *q == '}' );
|
assert( **p == '{' && *q == '}' );
|
||||||
|
|
@ -177,7 +176,7 @@ int Dau_DsdToGia_rec( Gia_Man_t * pGia, char * pStr, char ** p, int * pMatches,
|
||||||
vLeaves.nCap = nVars;
|
vLeaves.nCap = nVars;
|
||||||
vLeaves.nSize = nVars;
|
vLeaves.nSize = nVars;
|
||||||
vLeaves.pArray = Fanins;
|
vLeaves.pArray = Fanins;
|
||||||
Res = Kit_TruthToGia( pGia, (unsigned *)&Func, nVars, vCover, &vLeaves, 1 );
|
Res = Kit_TruthToGia( pGia, (unsigned *)pFunc, nVars, vCover, &vLeaves, 1 );
|
||||||
m_Non1Step++;
|
m_Non1Step++;
|
||||||
return Abc_LitNotCond( Res, fCompl );
|
return Abc_LitNotCond( Res, fCompl );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue