summaryrefslogtreecommitdiffstats
path: root/src/aig/fra/fraCore.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-02-12 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2008-02-12 08:01:00 -0800
commitbd995ee2ca86bcb488d2e9592012b6077a6283f6 (patch)
tree7b11181885531a3064c4cc1555c011a00100e68b /src/aig/fra/fraCore.c
parentd9760b04a80adbb44a203aeb614ab6576171aa9b (diff)
downloadabc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.tar.gz
abc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.tar.bz2
abc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.zip
Version abc80212
Diffstat (limited to 'src/aig/fra/fraCore.c')
-rw-r--r--src/aig/fra/fraCore.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/aig/fra/fraCore.c b/src/aig/fra/fraCore.c
index 0157421b..0a81105b 100644
--- a/src/aig/fra/fraCore.c
+++ b/src/aig/fra/fraCore.c
@@ -303,6 +303,7 @@ void Fra_FraigSweep( Fra_Man_t * p )
// Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObjNew;
int i, Pos = 0;
+ int nBTracksOld;
// fraig latch outputs
Aig_ManForEachLoSeq( p->pManAig, pObj, i )
{
@@ -315,6 +316,7 @@ void Fra_FraigSweep( Fra_Man_t * p )
// fraig internal nodes
// if ( !p->pPars->fDontShowBar )
// pProgress = Bar_ProgressStart( stdout, Aig_ManObjNumMax(p->pManAig) );
+ nBTracksOld = p->pPars->nBTLimitNode;
Aig_ManForEachNode( p->pManAig, pObj, i )
{
// if ( pProgress )
@@ -327,7 +329,12 @@ void Fra_FraigSweep( Fra_Man_t * p )
if ( p->pManFraig->pData )
continue;
// perform fraiging
+ if ( p->pPars->nLevelMax && (int)pObj->Level > p->pPars->nLevelMax )
+ p->pPars->nBTLimitNode = 5;
Fra_FraigNode( p, pObj );
+ if ( p->pPars->nLevelMax && (int)pObj->Level > p->pPars->nLevelMax )
+ p->pPars->nBTLimitNode = nBTracksOld;
+ // check implications
if ( p->pPars->fUseImps )
Pos = Fra_ImpCheckForNode( p, p->pCla->vImps, pObj, Pos );
}
@@ -382,7 +389,7 @@ clk = clock();
// finalize the fraiged manager
Fra_ManFinalizeComb( p );
if ( p->pPars->fChoicing )
- {
+ {
int clk2 = clock();
Fra_ClassesCopyReprs( p->pCla, p->vTimeouts );
pManAigNew = Aig_ManDupRepr( p->pManAig, 1 );
@@ -419,7 +426,7 @@ p->timeTotal = clock() - clk;
SeeAlso []
***********************************************************************/
-Aig_Man_t * Fra_FraigChoice( Aig_Man_t * pManAig, int nConfMax )
+Aig_Man_t * Fra_FraigChoice( Aig_Man_t * pManAig, int nConfMax, int nLevelMax )
{
Fra_Par_t Pars, * pPars = &Pars;
Fra_ParamsDefault( pPars );
@@ -430,6 +437,7 @@ Aig_Man_t * Fra_FraigChoice( Aig_Man_t * pManAig, int nConfMax )
pPars->fProve = 0;
pPars->fVerbose = 0;
pPars->fDontShowBar = 1;
+ pPars->nLevelMax = nLevelMax;
return Fra_FraigPerform( pManAig, pPars );
}