summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-02-24 13:37:31 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2012-02-24 13:37:31 -0800
commit3552d39b7193be6e1c740b7a6b2c80225d9726be (patch)
treecc9f52600fb73904f44e8423ca141a8c80ecee71
parentd80f43a1851035b48b80dbeb2a898a3eeaea2df1 (diff)
downloadabc-3552d39b7193be6e1c740b7a6b2c80225d9726be.tar.gz
abc-3552d39b7193be6e1c740b7a6b2c80225d9726be.tar.bz2
abc-3552d39b7193be6e1c740b7a6b2c80225d9726be.zip
Making BMC engines (bmc2, bmc3) to perform OR-decomposition by default.
-rw-r--r--src/base/abci/abcDar.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/base/abci/abcDar.c b/src/base/abci/abcDar.c
index 8efa669f..8797b167 100644
--- a/src/base/abci/abcDar.c
+++ b/src/base/abci/abcDar.c
@@ -133,10 +133,17 @@ Aig_Man_t * Abc_NtkToDarBmc( Abc_Ntk_t * pNtk, Vec_Int_t ** pvMap )
// collect the drivers
vSuper = Vec_PtrAlloc( 100 );
vDrivers = Vec_PtrAlloc( 100 );
- if ( pvMap )
+ if ( pvMap )
*pvMap = Vec_IntAlloc( 100 );
Abc_NtkForEachPo( pNtk, pObj, i )
{
+ if ( pNtk->nConstrs && i >= pNtk->nConstrs )
+ {
+ Vec_PtrPush( vDrivers, Abc_ObjNot(Abc_ObjChild0(pObj)) );
+ if ( pvMap )
+ Vec_IntPush( *pvMap, i );
+ continue;
+ }
Abc_CollectTopOr( Abc_ObjChild0(pObj), vSuper );
Vec_PtrForEachEntry( Abc_Obj_t *, vSuper, pTemp, k )
{