diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2015-10-01 11:47:58 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2015-10-01 11:47:58 -0700 |
commit | d76a96d22f2cf6f964720d7998757e2caadf80ee (patch) | |
tree | b64d80f56a16abcea648fe11966455f8a44d3f32 /src/aig | |
parent | 0e0f2e64af4a101f8a60d236f29b95dd7cfd1fbf (diff) | |
download | abc-d76a96d22f2cf6f964720d7998757e2caadf80ee.tar.gz abc-d76a96d22f2cf6f964720d7998757e2caadf80ee.tar.bz2 abc-d76a96d22f2cf6f964720d7998757e2caadf80ee.zip |
Bug fix in propagating required times in &nf.
Diffstat (limited to 'src/aig')
-rw-r--r-- | src/aig/gia/giaNf.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/aig/gia/giaNf.c b/src/aig/gia/giaNf.c index b088c4f2..7f9b83aa 100644 --- a/src/aig/gia/giaNf.c +++ b/src/aig/gia/giaNf.c @@ -1437,7 +1437,7 @@ void Nf_ManSetOutputRequireds( Nf_Man_t * p, int fPropCompl ) else { if ( p->pGia->vOutReqs && Vec_FltEntry(p->pGia->vOutReqs, i) > 0 && Required <= Nf_Flt2Wrd(Vec_FltEntry(p->pGia->vOutReqs, i)) ) - Required = Nf_Flt2Wrd(Vec_FltEntry(p->pGia->vOutReqs, i)); + Required = Abc_MinWord( 2*Required, Nf_Flt2Wrd(Vec_FltEntry(p->pGia->vOutReqs, i)) ); } // if external required cannot be achieved, set the earliest possible arrival time // else if ( p->pGia->vOutReqs && Vec_FltEntry(p->pGia->vOutReqs, i) > 0 && Required > Vec_FltEntry(p->pGia->vOutReqs, i) ) @@ -2127,7 +2127,7 @@ void Nf_ManUpdateStats( Nf_Man_t * p ) p->pPars->Area++; p->nInvs++; } - if ( p->Iter && WordMapDelayOld < p->pPars->WordMapDelay ) + if ( p->Iter && WordMapDelayOld < p->pPars->WordMapDelay && p->pGia->vOutReqs == NULL ) printf( "******** Critical delay violation %.2f -> %.2f ********\n", Nf_Wrd2Flt(WordMapDelayOld), Nf_Wrd2Flt(p->pPars->WordMapDelay) ); } |