diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-12 23:59:18 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-12 23:59:18 -0700 |
commit | bee107443d48d2429700f2d5bdea2abee3b4aa92 (patch) | |
tree | 8146628cdf76356fe7666afce00f4aa61f2bdea9 /src/aig/gia | |
parent | 7312ff3c4a497ef6773ac5ba80d5b0311bd7c8df (diff) | |
download | abc-bee107443d48d2429700f2d5bdea2abee3b4aa92.tar.gz abc-bee107443d48d2429700f2d5bdea2abee3b4aa92.tar.bz2 abc-bee107443d48d2429700f2d5bdea2abee3b4aa92.zip |
Improvements to the new technology mapper.
Diffstat (limited to 'src/aig/gia')
-rw-r--r-- | src/aig/gia/giaJf.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/aig/gia/giaJf.c b/src/aig/gia/giaJf.c index 4a9da4a9..3c790fd8 100644 --- a/src/aig/gia/giaJf.c +++ b/src/aig/gia/giaJf.c @@ -190,7 +190,7 @@ void Jf_ManProfileClasses( Jf_Man_t * p ) Gia_Obj_t * pObj; int Counts[595] = {0}, Costs[595] = {0}; int i, iFunc, Total = 0, CostTotal = 0, Other = 0, CostOther = 0; - printf( "DSD classes that appear in more than %.1f %% mapped nodes:\n", 0.1 * p->pPars->nVerbLimit ); + printf( "DSD classes that appear in more than %.1f %% of mapped nodes:\n", 0.1 * p->pPars->nVerbLimit ); Gia_ManForEachAnd( p->pGia, pObj, i ) if ( !Gia_ObjIsBuf(pObj) && Gia_ObjRefNumId(p->pGia, i) ) { @@ -1034,6 +1034,8 @@ void Jf_ObjComputeCuts( Jf_Man_t * p, Gia_Obj_t * pObj, int fEdge ) pSto[c]->iFunc = Sdm_ManComputeFunc( p->pDsd, Jf_ObjFunc0(pObj, pCut0), Jf_ObjFunc1(pObj, pCut1), pSto[c]->pCut, Config, 0 ); if ( pSto[c]->iFunc == -1 ) continue; + if ( p->pPars->fGenCnf && Jf_CutCnfSizeF(p, Abc_Lit2Var(pSto[c]->iFunc)) >= 12 ) + continue; assert( pSto[c]->pCut[0] <= nOldSupp ); if ( pSto[c]->pCut[0] < nOldSupp ) pSto[c]->Sign = Jf_CutGetSign( pSto[c]->pCut ); @@ -1439,7 +1441,10 @@ Gia_Man_t * Jf_ManPerformMapping( Gia_Man_t * pGia, Jf_Par_t * pPars ) Jf_ManComputeRefs( p ); Jf_ManPrintStats( p, "Start" ); for ( i = 0; i < pPars->nRounds; i++ ) { + if ( !p->pPars->fGenCnf ) + { Jf_ManPropagateFlow( p, pPars->fOptEdge ); Jf_ManPrintStats( p, "Flow " ); + } Jf_ManPropagateEla( p, 0 ); Jf_ManPrintStats( p, "Area " ); Jf_ManPropagateEla( p, 1 ); Jf_ManPrintStats( p, "Edge " ); } |