summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-08-18 20:19:32 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-08-18 20:19:32 -0700
commit65f9b73505412c99c512e565b1a3e965fab5301c (patch)
tree1801e0c3adf38ca41845187083dbc81f61c3b23a
parent7c8136c82da0baabe77daefab4a5ce0a93f6472e (diff)
downloadabc-65f9b73505412c99c512e565b1a3e965fab5301c.tar.gz
abc-65f9b73505412c99c512e565b1a3e965fab5301c.tar.bz2
abc-65f9b73505412c99c512e565b1a3e965fab5301c.zip
Changing default CNF generation in &bmc.
-rw-r--r--src/aig/gia/giaUtil.c6
-rw-r--r--src/base/abci/abc.c2
-rw-r--r--src/sat/bmc/bmcBmcAnd.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c
index 7bf29b18..7983f107 100644
--- a/src/aig/gia/giaUtil.c
+++ b/src/aig/gia/giaUtil.c
@@ -1360,6 +1360,8 @@ void Gia_ManPrintCo_rec( Gia_Man_t * p, Gia_Obj_t * pObj )
{
Gia_ManPrintCo_rec( p, Gia_ObjFanin0(pObj) );
Gia_ManPrintCo_rec( p, Gia_ObjFanin1(pObj) );
+ if ( Gia_ObjIsMux(p, pObj) )
+ Gia_ManPrintCo_rec( p, Gia_ObjFanin2(p, pObj) );
}
Gia_ObjPrint( p, pObj );
}
@@ -1378,6 +1380,8 @@ void Gia_ManPrintCollect_rec( Gia_Man_t * p, Gia_Obj_t * pObj, Vec_Int_t * vNode
assert( Gia_ObjIsAnd(pObj) );
Gia_ManPrintCollect_rec( p, Gia_ObjFanin0(pObj), vNodes );
Gia_ManPrintCollect_rec( p, Gia_ObjFanin1(pObj), vNodes );
+ if ( Gia_ObjIsMux(p, pObj) )
+ Gia_ManPrintCollect_rec( p, Gia_ObjFanin2(p, pObj), vNodes );
Vec_IntPush( vNodes, Gia_ObjId(p, pObj) );
}
void Gia_ManPrintCone( Gia_Man_t * p, Gia_Obj_t * pObj, int * pLeaves, int nLeaves, Vec_Int_t * vNodes )
@@ -1400,6 +1404,8 @@ void Gia_ManPrintCollect2_rec( Gia_Man_t * p, Gia_Obj_t * pObj, Vec_Int_t * vNod
Gia_ManPrintCollect2_rec( p, Gia_ObjFanin0(pObj), vNodes );
if ( Gia_ObjIsAnd(pObj) )
Gia_ManPrintCollect2_rec( p, Gia_ObjFanin1(pObj), vNodes );
+ if ( Gia_ObjIsMux(p, pObj) )
+ Gia_ManPrintCollect2_rec( p, Gia_ObjFanin2(p, pObj), vNodes );
Vec_IntPush( vNodes, Gia_ObjId(p, pObj) );
}
void Gia_ManPrintCone2( Gia_Man_t * p, Gia_Obj_t * pObj )
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index d3aae8a7..d21c1887 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -34071,7 +34071,7 @@ int Abc_CommandAbc9Bmc( Abc_Frame_t * pAbc, int argc, char ** argv )
pPars->fLoadCnf = 0; // dynamic CNF loading
pPars->fDumpFrames = 0; // dump unrolled timeframes
pPars->fUseSynth = 0; // use synthesis
- pPars->fUseOldCnf = 0; // use old CNF construction
+ pPars->fUseOldCnf = 1; // use old CNF construction
pPars->fVerbose = 0; // verbose
pPars->fVeryVerbose = 0; // very verbose
pPars->fNotVerbose = 0; // skip line-by-line print-out
diff --git a/src/sat/bmc/bmcBmcAnd.c b/src/sat/bmc/bmcBmcAnd.c
index 406aead1..10d15c00 100644
--- a/src/sat/bmc/bmcBmcAnd.c
+++ b/src/sat/bmc/bmcBmcAnd.c
@@ -985,6 +985,8 @@ int Gia_ManBmcPerformInt( Gia_Man_t * pGia, Bmc_AndPar_t * pPars )
{
p->pFrames = Jf_ManDeriveCnf( pTemp = p->pFrames, 1 ); Gia_ManStop( pTemp );
p->pCnf = (Cnf_Dat_t *)p->pFrames->pData; p->pFrames->pData = NULL;
+// extern Cnf_Dat_t * Mf_ManGenerateCnf( Gia_Man_t * pGia, int nLutSize, int fCnfObjIds, int fAddOrCla, int fVerbose );
+// p->pCnf = Mf_ManGenerateCnf( p->pFrames, 6, 1, 0, 0 );
}
Vec_IntFillExtra( p->vId2Var, Gia_ManObjNum(p->pFrames), 0 );
// create clauses for constant node