diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-03-07 20:38:55 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-03-07 20:38:55 -0800 |
commit | a3bdba68757a16ed28208bfe4ab81bfdbe928d89 (patch) | |
tree | e69296db616f171179698ffa4c4071ccda65abd3 /src/aig/gia | |
parent | 1ce537e99298bb61263534c9e16496d687ace526 (diff) | |
download | abc-a3bdba68757a16ed28208bfe4ab81bfdbe928d89.tar.gz abc-a3bdba68757a16ed28208bfe4ab81bfdbe928d89.tar.bz2 abc-a3bdba68757a16ed28208bfe4ab81bfdbe928d89.zip |
Modified command 'init' to allow for specific init values.
Diffstat (limited to 'src/aig/gia')
-rw-r--r-- | src/aig/gia/gia.h | 2 | ||||
-rw-r--r-- | src/aig/gia/giaDup.c | 12 | ||||
-rw-r--r-- | src/aig/gia/giaEquiv.c | 4 | ||||
-rw-r--r-- | src/aig/gia/giaTim.c | 2 |
4 files changed, 13 insertions, 7 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 2083f8ea..cf033362 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -852,7 +852,7 @@ extern Gia_Man_t * Gia_ManDupWithNewPo( Gia_Man_t * p1, Gia_Man_t * p2 ) extern Gia_Man_t * Gia_ManDupDfsCiMap( Gia_Man_t * p, int * pCi2Lit, Vec_Int_t * vLits ); extern Gia_Man_t * Gia_ManDupDfsClasses( Gia_Man_t * p ); extern Gia_Man_t * Gia_ManDupTopAnd( Gia_Man_t * p, int fVerbose ); -extern Gia_Man_t * Gia_ManMiter( Gia_Man_t * pAig0, Gia_Man_t * pAig1, int fDualOut, int fSeq, int fVerbose ); +extern Gia_Man_t * Gia_ManMiter( Gia_Man_t * pAig0, Gia_Man_t * pAig1, int nInsDup, int fDualOut, int fSeq, int fVerbose ); extern Gia_Man_t * Gia_ManTransformMiter( Gia_Man_t * p ); extern Gia_Man_t * Gia_ManChoiceMiter( Vec_Ptr_t * vGias ); extern Gia_Man_t * Gia_ManDupWithConstraints( Gia_Man_t * p, Vec_Int_t * vPoTypes ); diff --git a/src/aig/gia/giaDup.c b/src/aig/gia/giaDup.c index 37bdfefd..2782ccf1 100644 --- a/src/aig/gia/giaDup.c +++ b/src/aig/gia/giaDup.c @@ -1650,7 +1650,7 @@ int Gia_ManMiter_rec( Gia_Man_t * pNew, Gia_Man_t * p, Gia_Obj_t * pObj ) SeeAlso [] ***********************************************************************/ -Gia_Man_t * Gia_ManMiter( Gia_Man_t * p0, Gia_Man_t * p1, int fDualOut, int fSeq, int fVerbose ) +Gia_Man_t * Gia_ManMiter( Gia_Man_t * p0, Gia_Man_t * p1, int nInsDup, int fDualOut, int fSeq, int fVerbose ) { Gia_Man_t * pNew, * pTemp; Gia_Obj_t * pObj; @@ -1702,7 +1702,10 @@ Gia_Man_t * Gia_ManMiter( Gia_Man_t * p0, Gia_Man_t * p1, int fDualOut, int fSeq Gia_ManForEachPi( p0, pObj, i ) pObj->Value = Gia_ManAppendCi( pNew ); Gia_ManForEachPi( p1, pObj, i ) - pObj->Value = Gia_ObjToLit( pNew, Gia_ManPi(pNew, i) ); + if ( i < Gia_ManPiNum(p1) - nInsDup ) + pObj->Value = Gia_ObjToLit( pNew, Gia_ManPi(pNew, i) ); + else + pObj->Value = Gia_ManAppendCi( pNew ); // create latch outputs Gia_ManForEachRo( p0, pObj, i ) pObj->Value = Gia_ManAppendCi( pNew ); @@ -1743,7 +1746,10 @@ Gia_Man_t * Gia_ManMiter( Gia_Man_t * p0, Gia_Man_t * p1, int fDualOut, int fSeq Gia_ManForEachCi( p0, pObj, i ) pObj->Value = Gia_ManAppendCi( pNew ); Gia_ManForEachCi( p1, pObj, i ) - pObj->Value = Gia_ObjToLit( pNew, Gia_ManCi(pNew, i) ); + if ( i < Gia_ManPiNum(p1) - nInsDup ) + pObj->Value = Gia_ObjToLit( pNew, Gia_ManCi(pNew, i) ); + else + pObj->Value = Gia_ManAppendCi( pNew ); // create combinational outputs Gia_ManForEachCo( p0, pObj, i ) { diff --git a/src/aig/gia/giaEquiv.c b/src/aig/gia/giaEquiv.c index 5ddd9b08..c7d4d5c7 100644 --- a/src/aig/gia/giaEquiv.c +++ b/src/aig/gia/giaEquiv.c @@ -1775,7 +1775,7 @@ int Gia_ManFilterEquivsForSpeculation( Gia_Man_t * pGia, char * pName1, char * p Abc_Print( 1, "Cannot read second file %s.\n", pName2 ); return 0; } - pMiter = Gia_ManMiter( pGia1, pGia2, 0, 1, 0 ); + pMiter = Gia_ManMiter( pGia1, pGia2, 0, 0, 1, 0 ); if ( pMiter == NULL ) { Gia_ManStop( pGia1 ); @@ -1914,7 +1914,7 @@ int Gia_ManFilterEquivsUsingParts( Gia_Man_t * pGia, char * pName1, char * pName Abc_Print( 1, "Cannot read second file %s.\n", pName2 ); return 0; } - pMiter = Gia_ManMiter( pGia1, pGia2, 0, 1, 0 ); + pMiter = Gia_ManMiter( pGia1, pGia2, 0, 0, 1, 0 ); if ( pMiter == NULL ) { Gia_ManStop( pGia1 ); diff --git a/src/aig/gia/giaTim.c b/src/aig/gia/giaTim.c index a00c6d0c..f4b5bcb6 100644 --- a/src/aig/gia/giaTim.c +++ b/src/aig/gia/giaTim.c @@ -553,7 +553,7 @@ int Gia_ManVerifyWithBoxes( Gia_Man_t * pGia, void * pParsInit ) pGia1 = Gia_ManDupCollapse( pGia, pGia->pAigExtra, NULL ); Vec_IntFreeP( &vBoxPres ); // compute the miter - pMiter = Gia_ManMiter( pGia0, pGia1, 1, 0, fVerbose ); + pMiter = Gia_ManMiter( pGia0, pGia1, 0, 1, 0, fVerbose ); if ( pMiter ) { Cec_ParCec_t ParsCec, * pPars = &ParsCec; |