Commit c30a0ca0 by Alan Mishchenko

Improvements to handling boxes and flops.

parent ba4063ac
...@@ -634,7 +634,8 @@ Gia_Man_t * Gia_ManSweepWithBoxesAndDomains( Gia_Man_t * p, void * pParsS, int f ...@@ -634,7 +634,8 @@ Gia_Man_t * Gia_ManSweepWithBoxesAndDomains( Gia_Man_t * p, void * pParsS, int f
// iterate over domains // iterate over domains
for ( iDom = 1; iDom <= nDoms; iDom++ ) for ( iDom = 1; iDom <= nDoms; iDom++ )
{ {
if ( Vec_IntCountEntry(pNew->vRegClasses, iDom) < 2 ) int nFlops = Vec_IntCountEntry(pNew->vRegClasses, iDom);
if ( nFlops < 2 )
continue; continue;
// find global equivalences // find global equivalences
pClp = Gia_ManDupCollapse( pNew, pNew->pAigExtra, NULL, 1 ); pClp = Gia_ManDupCollapse( pNew, pNew->pAigExtra, NULL, 1 );
...@@ -655,7 +656,7 @@ Gia_Man_t * Gia_ManSweepWithBoxesAndDomains( Gia_Man_t * p, void * pParsS, int f ...@@ -655,7 +656,7 @@ Gia_Man_t * Gia_ManSweepWithBoxesAndDomains( Gia_Man_t * p, void * pParsS, int f
// report // report
//if ( fVerbose ) //if ( fVerbose )
{ {
printf( "Domain %2d with %5d flops: ", iDom, Vec_IntCountEntry(pNew->vRegClasses, iDom) ); printf( "Domain %2d : %5d -> %5d : ", iDom, nFlops, Vec_IntCountEntry(pNew->vRegClasses, iDom) );
Gia_ManPrintStats( pNew, NULL ); Gia_ManPrintStats( pNew, NULL );
} }
} }
......
...@@ -914,6 +914,7 @@ int Gia_ManVerifyWithBoxes( Gia_Man_t * pGia, int nBTLimit, int nTimeLim, int fS ...@@ -914,6 +914,7 @@ int Gia_ManVerifyWithBoxes( Gia_Man_t * pGia, int nBTLimit, int nTimeLim, int fS
Aig_Man_t * pMan; Aig_Man_t * pMan;
Fra_Sec_t SecPar, * pSecPar = &SecPar; Fra_Sec_t SecPar, * pSecPar = &SecPar;
Fra_SecSetDefaultParams( pSecPar ); Fra_SecSetDefaultParams( pSecPar );
pSecPar->fRetimeFirst = 0;
pSecPar->nBTLimit = nBTLimit; pSecPar->nBTLimit = nBTLimit;
pSecPar->TimeLimit = nTimeLim; pSecPar->TimeLimit = nTimeLim;
pSecPar->fVerbose = fVerbose; pSecPar->fVerbose = fVerbose;
......
...@@ -58,7 +58,7 @@ int Inter_ManCheckInitialState( Aig_Man_t * p ) ...@@ -58,7 +58,7 @@ int Inter_ManCheckInitialState( Aig_Man_t * p )
return 0; return 0;
} }
status = sat_solver_solve( pSat, NULL, NULL, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 ); status = sat_solver_solve( pSat, NULL, NULL, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
ABC_PRT( "Time", Abc_Clock() - clk ); //ABC_PRT( "Time", Abc_Clock() - clk );
if ( status == l_True ) if ( status == l_True )
{ {
p->pSeqModel = Abc_CexAlloc( Aig_ManRegNum(p), Saig_ManPiNum(p), 1 ); p->pSeqModel = Abc_CexAlloc( Aig_ManRegNum(p), Saig_ManPiNum(p), 1 );
......
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