diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2021-03-28 15:40:27 -1000 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2021-03-28 15:40:27 -1000 |
commit | 9145a5c20d5fe85523364d7fe2727b8d83c90aaa (patch) | |
tree | 6cd8e6bd0abc6332d67e144a9790cb5bb8ff2cac /src/aig/gia/giaDup.c | |
parent | 18088bd7dcf3de03cc4f9a439e6b41d04e2f8413 (diff) | |
download | abc-9145a5c20d5fe85523364d7fe2727b8d83c90aaa.tar.gz abc-9145a5c20d5fe85523364d7fe2727b8d83c90aaa.tar.bz2 abc-9145a5c20d5fe85523364d7fe2727b8d83c90aaa.zip |
An option to extend the number of primary inputs.
Diffstat (limited to 'src/aig/gia/giaDup.c')
-rw-r--r-- | src/aig/gia/giaDup.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/aig/gia/giaDup.c b/src/aig/gia/giaDup.c index ed4b7109..9de9e735 100644 --- a/src/aig/gia/giaDup.c +++ b/src/aig/gia/giaDup.c @@ -4899,6 +4899,38 @@ Gia_Man_t * Gia_ManDupReplaceCut( Gia_Man_t * p ) return pNew; } +/**Function************************************************************* + + Synopsis [Duplicate AIG by creating a cut between logic fed by PIs] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +Gia_Man_t * Gia_ManDupAddPis( Gia_Man_t * p, int nMulti ) +{ + Gia_Man_t * pNew; int i, k; + Gia_Obj_t * pObj; + pNew = Gia_ManStart( Gia_ManObjNum(p) + Gia_ManCiNum(p) * nMulti ); + pNew->pName = Abc_UtilStrsav( p->pName ); + Gia_ManConst0(p)->Value = 0; + Gia_ManForEachCi( p, pObj, i ) + { + pObj->Value = Gia_ManAppendCi(pNew); + for ( k = 1; k < nMulti; k++ ) + Gia_ManAppendCi(pNew); + } + Gia_ManForEachAnd( p, pObj, i ) + pObj->Value = Gia_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) ); + Gia_ManForEachCo( p, pObj, i ) + pObj->Value = Gia_ManAppendCo( pNew, Gia_ObjFanin0Copy(pObj) ); + assert( Gia_ManCiNum(pNew) == nMulti * Gia_ManCiNum(p) ); + return pNew; +} + //////////////////////////////////////////////////////////////////////// /// END OF FILE /// //////////////////////////////////////////////////////////////////////// |