Commit e48cfd92 by Alan Mishchenko

Producing AIG after structural mapping.

parent 181a7629
...@@ -1440,7 +1440,7 @@ void Jf_ManDeriveMapping( Jf_Man_t * p ) ...@@ -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 ) ...@@ -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, ...@@ -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, ...@@ -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 );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment