summaryrefslogtreecommitdiffstats
path: root/src/aig/fra/fraHot.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-02-05 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2008-02-05 08:01:00 -0800
commit7174787abafe80437892b55a53f994da85a37342 (patch)
tree0df4c6f35d99111d757aa9b8091853b8f88ee762 /src/aig/fra/fraHot.c
parent3b790eb17e54cd922440a1a3b18a5cfdd5cbcadb (diff)
downloadabc-7174787abafe80437892b55a53f994da85a37342.tar.gz
abc-7174787abafe80437892b55a53f994da85a37342.tar.bz2
abc-7174787abafe80437892b55a53f994da85a37342.zip
Version abc80205
Diffstat (limited to 'src/aig/fra/fraHot.c')
-rw-r--r--src/aig/fra/fraHot.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/aig/fra/fraHot.c b/src/aig/fra/fraHot.c
index 6783b459..4a3f9b03 100644
--- a/src/aig/fra/fraHot.c
+++ b/src/aig/fra/fraHot.c
@@ -395,25 +395,28 @@ Aig_Man_t * Fra_OneHotCreateExdc( Fra_Man_t * p, Vec_Int_t * vOneHots )
{
Aig_Man_t * pNew;
Aig_Obj_t * pObj1, * pObj2, * pObj;
- int i, Out1, Out2;
+ int i, Out1, Out2, nTruePis;
pNew = Aig_ManStart( Vec_IntSize(vOneHots)/2 );
- for ( i = 0; i < Aig_ManRegNum(p->pManAig); i++ )
+// for ( i = 0; i < Aig_ManRegNum(p->pManAig); i++ )
+// Aig_ObjCreatePi(pNew);
+ Aig_ManForEachPi( p->pManAig, pObj, i )
Aig_ObjCreatePi(pNew);
+ nTruePis = Aig_ManPiNum(p->pManAig) - Aig_ManRegNum(p->pManAig);
for ( i = 0; i < Vec_IntSize(vOneHots); i += 2 )
{
Out1 = Vec_IntEntry( vOneHots, i );
Out2 = Vec_IntEntry( vOneHots, i+1 );
if ( Out1 == 0 && Out2 == 0 )
continue;
- pObj1 = Aig_ManPi( pNew, Fra_LitReg(Out1) );
- pObj2 = Aig_ManPi( pNew, Fra_LitReg(Out2) );
+ pObj1 = Aig_ManPi( pNew, nTruePis + Fra_LitReg(Out1) );
+ pObj2 = Aig_ManPi( pNew, nTruePis + Fra_LitReg(Out2) );
pObj1 = Aig_NotCond( pObj1, Fra_LitSign(Out1) );
pObj2 = Aig_NotCond( pObj2, Fra_LitSign(Out2) );
pObj = Aig_Or( pNew, pObj1, pObj2 );
Aig_ObjCreatePo( pNew, pObj );
}
Aig_ManCleanup(pNew);
- printf( "Created AIG with %d nodes and %d outputs.\n", Aig_ManNodeNum(pNew), Aig_ManPoNum(pNew) );
+// printf( "Created AIG with %d nodes and %d outputs.\n", Aig_ManNodeNum(pNew), Aig_ManPoNum(pNew) );
return pNew;
}