diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-25 16:55:39 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-25 16:55:39 -0700 |
commit | 47dde4e4789c4c068f3c8ebe77a5a629da48936b (patch) | |
tree | bf6af774173dedb5470dd376af14883ee2868e71 /src/aig/gia/giaIf.c | |
parent | cbbf78e6f4d8acd32b0afcdc0e4e87bc318a2590 (diff) | |
download | abc-47dde4e4789c4c068f3c8ebe77a5a629da48936b.tar.gz abc-47dde4e4789c4c068f3c8ebe77a5a629da48936b.tar.bz2 abc-47dde4e4789c4c068f3c8ebe77a5a629da48936b.zip |
Correcting incorrect handling of timing in several &-commands.
Diffstat (limited to 'src/aig/gia/giaIf.c')
-rw-r--r-- | src/aig/gia/giaIf.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c index 6e04efd4..4ed46e96 100644 --- a/src/aig/gia/giaIf.c +++ b/src/aig/gia/giaIf.c @@ -1619,12 +1619,13 @@ void Gia_ManTransferPacking( Gia_Man_t * pGia, Gia_Man_t * p ) } void Gia_ManTransferTiming( Gia_Man_t * pGia, Gia_Man_t * p ) { + if ( pGia->pManTime == NULL ) + return; p->pManTime = pGia->pManTime; pGia->pManTime = NULL; p->pAigExtra = pGia->pAigExtra; pGia->pAigExtra = NULL; p->nAnd2Delay = pGia->nAnd2Delay; pGia->nAnd2Delay = 0; } - /**Function************************************************************* Synopsis [Interface of LUT mapping package.] @@ -1741,6 +1742,7 @@ Gia_Man_t * Gia_ManPerformSopBalance( Gia_Man_t * p, int nCutNum, int nRelaxRati If_ManPerformMapping( pIfMan ); pNew = Gia_ManFromIfAig( pIfMan ); If_ManStop( pIfMan ); + Gia_ManTransferTiming( p, pNew ); // transfer name assert( pNew->pName == NULL ); pNew->pName = Abc_UtilStrsav( p->pName ); @@ -1748,7 +1750,7 @@ Gia_Man_t * Gia_ManPerformSopBalance( Gia_Man_t * p, int nCutNum, int nRelaxRati Gia_ManSetRegNum( pNew, Gia_ManRegNum(p) ); return pNew; } -Gia_Man_t * Gia_ManPerformDsdBalance( Gia_Man_t * p, int nCutNum, int nRelaxRatio, int fVerbose ) +Gia_Man_t * Gia_ManPerformDsdBalance( Gia_Man_t * p, int nLutSize, int nCutNum, int nRelaxRatio, int fVerbose ) { Gia_Man_t * pNew; If_Man_t * pIfMan; @@ -1757,7 +1759,7 @@ Gia_Man_t * Gia_ManPerformDsdBalance( Gia_Man_t * p, int nCutNum, int nRelaxRati pPars->nCutsMax = nCutNum; pPars->nRelaxRatio = nRelaxRatio; pPars->fVerbose = fVerbose; - pPars->nLutSize = 6; + pPars->nLutSize = nLutSize; pPars->fDsdBalance = 1; pPars->fUseDsd = 1; pPars->fCutMin = 1; @@ -1773,6 +1775,7 @@ Gia_Man_t * Gia_ManPerformDsdBalance( Gia_Man_t * p, int nCutNum, int nRelaxRati If_ManPerformMapping( pIfMan ); pNew = Gia_ManFromIfAig( pIfMan ); If_ManStop( pIfMan ); + Gia_ManTransferTiming( p, pNew ); // transfer name assert( pNew->pName == NULL ); pNew->pName = Abc_UtilStrsav( p->pName ); |