From d76a96d22f2cf6f964720d7998757e2caadf80ee Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 1 Oct 2015 11:47:58 -0700 Subject: Bug fix in propagating required times in &nf. --- src/aig/gia/giaNf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/aig/gia') 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) ); } -- cgit v1.2.3