summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaDup.c
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-23 14:40:42 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-23 14:40:42 -0800
commitddb626576c11f5a2790999584f2913c0aba16a7e (patch)
treed3c9333176d06ba8ed2fc0adbc2622b9e4586842 /src/aig/gia/giaDup.c
parentafebb18041e7bb47671c0cde5d0cd11822087463 (diff)
downloadabc-ddb626576c11f5a2790999584f2913c0aba16a7e.tar.gz
abc-ddb626576c11f5a2790999584f2913c0aba16a7e.tar.bz2
abc-ddb626576c11f5a2790999584f2913c0aba16a7e.zip
Gia_ManDupPermFlop to behave as Gia_ManDupPerm
Fixes sequential synthesis (e.g. &scl) for multiple domains
Diffstat (limited to 'src/aig/gia/giaDup.c')
-rw-r--r--src/aig/gia/giaDup.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/aig/gia/giaDup.c b/src/aig/gia/giaDup.c
index e05380d5..21b6f03a 100644
--- a/src/aig/gia/giaDup.c
+++ b/src/aig/gia/giaDup.c
@@ -855,12 +855,12 @@ Gia_Man_t * Gia_ManDupPerm( Gia_Man_t * p, Vec_Int_t * vPiPerm )
}
Gia_Man_t * Gia_ManDupPermFlop( Gia_Man_t * p, Vec_Int_t * vFfPerm )
{
- Vec_Int_t * vPermInv;
+ //Vec_Int_t * vPermInv;
Gia_Man_t * pNew;
Gia_Obj_t * pObj;
int i;
assert( Vec_IntSize(vFfPerm) == Gia_ManRegNum(p) );
- vPermInv = Vec_IntInvert( vFfPerm, -1 );
+ //vPermInv = Vec_IntInvert( vFfPerm, -1 );
pNew = Gia_ManStart( Gia_ManObjNum(p) );
pNew->pName = Abc_UtilStrsav( p->pName );
pNew->pSpec = Abc_UtilStrsav( p->pSpec );
@@ -868,14 +868,16 @@ Gia_Man_t * Gia_ManDupPermFlop( Gia_Man_t * p, Vec_Int_t * vFfPerm )
Gia_ManForEachPi( p, pObj, i )
pObj->Value = Gia_ManAppendCi(pNew);
Gia_ManForEachRo( p, pObj, i )
- Gia_ManRo(p, Vec_IntEntry(vPermInv, i))->Value = Gia_ManAppendCi(pNew);
+ //Gia_ManRo(p, Vec_IntEntry(vPermInv, i))->Value = Gia_ManAppendCi(pNew);
+ Gia_ManRo(p, Vec_IntEntry(vFfPerm, i))->Value = Gia_ManAppendCi( pNew );
Gia_ManForEachAnd( p, pObj, i )
pObj->Value = Gia_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
Gia_ManForEachPo( p, pObj, i )
pObj->Value = Gia_ManAppendCo( pNew, Gia_ObjFanin0Copy(pObj) );
Gia_ManForEachRi( p, pObj, i )
- pObj->Value = Gia_ManAppendCo( pNew, Gia_ObjFanin0Copy( Gia_ManRi(p, Vec_IntEntry(vPermInv, i)) ) );
- Vec_IntFree( vPermInv );
+ //pObj->Value = Gia_ManAppendCo( pNew, Gia_ObjFanin0Copy( Gia_ManRi(p, Vec_IntEntry(vPermInv, i)) ) );
+ pObj->Value = Gia_ManAppendCo( pNew, Gia_ObjFanin0Copy( Gia_ManRi(p, Vec_IntEntry(vFfPerm, i)) ) );
+ //Vec_IntFree( vPermInv );
Gia_ManSetRegNum( pNew, Gia_ManRegNum(p) );
return pNew;
}