From 303baf27cf34c2a57db97c4c567fd744241fa14b Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 2 Jul 2008 08:01:00 -0700 Subject: Version abc80702 --- src/base/abci/abcFraig.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/base/abci/abcFraig.c') diff --git a/src/base/abci/abcFraig.c b/src/base/abci/abcFraig.c index be8a25f1..d3cbaccb 100644 --- a/src/base/abci/abcFraig.c +++ b/src/base/abci/abcFraig.c @@ -101,7 +101,7 @@ void * Abc_NtkToFraig( Abc_Ntk_t * pNtk, void * pParams, int fAllNodes, int fExd { int fInternal = ((Fraig_Params_t *)pParams)->fInternal; Fraig_Man_t * pMan; - ProgressBar * pProgress; + ProgressBar * pProgress = NULL; Vec_Ptr_t * vNodes; Abc_Obj_t * pNode; int i; @@ -126,14 +126,18 @@ void * Abc_NtkToFraig( Abc_Ntk_t * pNtk, void * pParams, int fAllNodes, int fExd { if ( Abc_ObjFaninNum(pNode) == 0 ) continue; - if ( !fInternal ) + if ( !fInternal ) { + assert(pProgress); Extra_ProgressBarUpdate( pProgress, i, NULL ); + } pNode->pCopy = (Abc_Obj_t *)Fraig_NodeAnd( pMan, Fraig_NotCond( Abc_ObjFanin0(pNode)->pCopy, Abc_ObjFaninC0(pNode) ), Fraig_NotCond( Abc_ObjFanin1(pNode)->pCopy, Abc_ObjFaninC1(pNode) ) ); } - if ( !fInternal ) + if ( !fInternal ) { + assert(pProgress); Extra_ProgressBarStop( pProgress ); + } Vec_PtrFree( vNodes ); // use EXDC to change the mapping of nodes into FRAIG nodes @@ -316,7 +320,7 @@ Abc_Obj_t * Abc_NodeFromFraig_rec( Abc_Ntk_t * pNtkNew, Fraig_Node_t * pNodeFrai Fraig_Node_t * pNodeTemp, * pNodeFraigR = Fraig_Regular(pNodeFraig); void ** ppTail; // check if the node was already considered - if ( pRes = (Abc_Obj_t *)Fraig_NodeReadData1(pNodeFraigR) ) + if ( (pRes = (Abc_Obj_t *)Fraig_NodeReadData1(pNodeFraigR)) ) return Abc_ObjNotCond( pRes, Fraig_IsComplement(pNodeFraig) ); // solve the children pRes0 = Abc_NodeFromFraig_rec( pNtkNew, Fraig_NodeReadOne(pNodeFraigR) ); @@ -455,7 +459,7 @@ void Abc_NtkFromFraig2_rec( Abc_Ntk_t * pNtkNew, Abc_Obj_t * pNode, Vec_Ptr_t * Abc_NodeSetTravIdCurrent( pNode ); assert( Abc_ObjIsNode( pNode ) ); // get the node's representative - if ( pRepr = Vec_PtrEntry(vNodeReprs, pNode->Id) ) + if ( (pRepr = Vec_PtrEntry(vNodeReprs, pNode->Id)) ) { Abc_NtkFromFraig2_rec( pNtkNew, pRepr, vNodeReprs ); pNode->pCopy = Abc_ObjNotCond( pRepr->pCopy, pRepr->fPhase ^ pNode->fPhase ); @@ -695,7 +699,7 @@ Abc_Ntk_t * Abc_NtkFraigRestore() Vec_Ptr_t * vStore; Abc_Ntk_t * pNtk, * pFraig; int nWords1, nWords2, nWordsMin; - int clk = clock(); +// int clk = clock(); // get the stored network vStore = Abc_FrameReadStore(); @@ -732,6 +736,7 @@ Abc_Ntk_t * Abc_NtkFraigRestore() Params.fDoSparse = 1; // performs equiv tests for sparse functions Params.fChoicing = 1; // enables recording structural choices Params.fTryProve = 0; // tries to solve the final miter + Params.fInternal = 1; // does not show progress bar Params.fVerbose = 0; // the verbosiness flag // perform partitioned computation of structural choices -- cgit v1.2.3