diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-06-08 11:34:51 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-06-08 11:34:51 -0700 |
commit | b2dfa01370fe1be7d2c2060284fe99f91f054f05 (patch) | |
tree | 9ee6c9dfb70c638f61f175f633e763df61a51078 /src/aig | |
parent | 11f684c04d08301ab7ac3bbddb0ab5254f97b5f3 (diff) | |
download | abc-b2dfa01370fe1be7d2c2060284fe99f91f054f05.tar.gz abc-b2dfa01370fe1be7d2c2060284fe99f91f054f05.tar.bz2 abc-b2dfa01370fe1be7d2c2060284fe99f91f054f05.zip |
Adding command 'srm2' (additional feature).
Diffstat (limited to 'src/aig')
-rw-r--r-- | src/aig/gia/giaEquiv.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/aig/gia/giaEquiv.c b/src/aig/gia/giaEquiv.c index 2e5b53ea..fb0ab071 100644 --- a/src/aig/gia/giaEquiv.c +++ b/src/aig/gia/giaEquiv.c @@ -887,7 +887,7 @@ Gia_Man_t * Gia_ManSpecReduceTrace( Gia_Man_t * p, Vec_Int_t * vTrace ) SeeAlso [] ***********************************************************************/ -int Gia_ManFilterEquivsForSpeculation( Gia_Man_t * pGia, char * pName1, char * pName2 ) +int Gia_ManFilterEquivsForSpeculation( Gia_Man_t * pGia, char * pName1, char * pName2, int fLatchA, int fLatchB ) { Gia_Man_t * pGia1, * pGia2, * pMiter; Gia_Obj_t * pObj1, * pObj2, * pObjM, * pObj; @@ -969,9 +969,17 @@ int Gia_ManFilterEquivsForSpeculation( Gia_Man_t * pGia, char * pName1, char * p { pObj = Gia_ManObj( pGia, iObj ); if ( ClassA == -1 && pObj->fMark0 && !pObj->fMark1 ) + { + if ( fLatchA && !Gia_ObjIsRo(pGia, pObj) ) + continue; ClassA = iObj; + } if ( ClassB == -1 && pObj->fMark1 && !pObj->fMark0 ) + { + if ( fLatchB && !Gia_ObjIsRo(pGia, pObj) ) + continue; ClassB = iObj; + } } // undo equivalence classes for ( iObj = i, iNext = Gia_ObjNext(pGia, iObj); iObj; |