summaryrefslogtreecommitdiffstats
path: root/src/aig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2016-01-05 19:25:46 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2016-01-05 19:25:46 -0800
commit7bf3f5e186cfd44e4695089e0cc564eff90f9110 (patch)
treeab646c6caba5045960085630d396cdc420d249aa /src/aig
parent30d09e2cbe68ca6138513703dad94d6b295e0625 (diff)
downloadabc-7bf3f5e186cfd44e4695089e0cc564eff90f9110.tar.gz
abc-7bf3f5e186cfd44e4695089e0cc564eff90f9110.tar.bz2
abc-7bf3f5e186cfd44e4695089e0cc564eff90f9110.zip
Fix in &nf for the case when PO can be driven by an inverter.
Diffstat (limited to 'src/aig')
-rw-r--r--src/aig/gia/giaNf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/aig/gia/giaNf.c b/src/aig/gia/giaNf.c
index 89944c7d..d249a200 100644
--- a/src/aig/gia/giaNf.c
+++ b/src/aig/gia/giaNf.c
@@ -2041,10 +2041,15 @@ void Nf_ManFixPoDrivers( Nf_Man_t * p )
// skip if arrival time exceeds the required time
if ( pMc->D + p->InvDelayI > p->pPars->MapDelay )
continue;
+ // update references
+ Nf_MatchDeref_rec( p, iDriver, Gia_ObjFaninC0(pObj), pM );
+ Nf_ObjMapRefInc( p, iDriver, !Gia_ObjFaninC0(pObj) );
// add inverter
*pM = *pMc;
pM->D += p->InvDelayI;
pM->fCompl = 1;
+ pM->fBest = 1;
+ pMc->fBest = 1;
Count++;
}
//printf( "Fixed %d PO drivers.\n", Count );