56 p->pSatVars =
ABC_CALLOC(
int, Aig_ManObjNumMax(
p->pAigTotal) );
57 p->vUsedNodes = Vec_PtrAlloc( 1000 );
58 p->vFanins = Vec_PtrAlloc( 100 );
59 p->vSimRoots = Vec_PtrAlloc( 1000 );
60 p->vSimClasses = Vec_PtrAlloc( 1000 );
79 int nNodeNum = Aig_ManNodeNum(
p->pAigTotal) / 3;
80 Abc_Print( 1,
"Parameters: Sim words = %d. Conf limit = %d. SAT var max = %d.\n",
81 p->pPars->nWords,
p->pPars->nBTLimit,
p->pPars->nSatVarMax );
82 Abc_Print( 1,
"AIG nodes : Total = %6d. Dangling = %6d. Main = %6d. (%6.2f %%)\n",
83 Aig_ManNodeNum(
p->pAigTotal),
84 Aig_ManNodeNum(
p->pAigTotal)-nNodeNum,
86 100.0 * nNodeNum/Aig_ManNodeNum(
p->pAigTotal) );
87 Abc_Print( 1,
"SAT solver: Vars = %d. Max cone = %d. Recycles = %d.\n",
88 p->nSatVars,
p->nConeMax,
p->nRecycles );
89 Abc_Print( 1,
"SAT calls : All = %6d. Unsat = %6d. Sat = %6d. Fail = %6d.\n",
90 p->nSatCalls,
p->nSatCalls-
p->nSatCallsSat-
p->nSatFailsReal,
91 p->nSatCallsSat,
p->nSatFailsReal );
92 Abc_Print( 1,
"Choices : Lits = %6d. Reprs = %5d. Equivs = %5d. Choices = %5d.\n",
93 p->nLits,
p->nReprs,
p->nEquivs,
p->nChoices );
94 Abc_Print( 1,
"Choicing runtime statistics:\n" );
95 p->timeOther =
p->timeTotal-
p->timeSimInit-
p->timeSimSat-
p->timeSat-
p->timeChoice;
96 Abc_PrintTimeP( 1,
"Sim init ",
p->timeSimInit,
p->timeTotal );
97 Abc_PrintTimeP( 1,
"Sim SAT ",
p->timeSimSat,
p->timeTotal );
98 Abc_PrintTimeP( 1,
"SAT solving",
p->timeSat,
p->timeTotal );
99 Abc_PrintTimeP( 1,
" sat ",
p->timeSatSat,
p->timeTotal );
100 Abc_PrintTimeP( 1,
" unsat ",
p->timeSatUnsat,
p->timeTotal );
101 Abc_PrintTimeP( 1,
" undecided",
p->timeSatUndec,
p->timeTotal );
102 Abc_PrintTimeP( 1,
"Choice ",
p->timeChoice,
p->timeTotal );
103 Abc_PrintTimeP( 1,
"Other ",
p->timeOther,
p->timeTotal );
104 Abc_PrintTimeP( 1,
"TOTAL ",
p->timeTotal,
p->timeTotal );
105 if (
p->pPars->timeSynth )
107 Abc_PrintTime( 1,
"Synthesis ",
p->pPars->timeSynth );
125 if (
p->pPars->fVerbose )
133 Vec_PtrFree(
p->vUsedNodes );
134 Vec_PtrFree(
p->vFanins );
135 Vec_PtrFree(
p->vSimRoots );
136 Vec_PtrFree(
p->vSimClasses );
161 Dch_ObjSetSatNum(
p, pObj, 0 );
162 Vec_PtrClear(
p->vUsedNodes );
172 Lit = toLit(
p->nSatVars );
173 if (
p->pPars->fPolarFlip )
174 Lit = lit_neg( Lit );
176 Dch_ObjSetSatNum(
p, Aig_ManConst1(
p->pAigFraig),
p->nSatVars++ );
#define ABC_ALLOC(type, num)
#define ABC_CALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Aig_ManFanoutStart(Aig_Man_t *p)
FUNCTION DEFINITIONS ///.
void Aig_ManFanoutStop(Aig_Man_t *p)
void Aig_ManStop(Aig_Man_t *p)
struct Aig_Obj_t_ Aig_Obj_t
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
#define sat_solver_addclause
void Dch_ClassesStop(Dch_Cla_t *p)
struct Dch_Man_t_ Dch_Man_t
void Dch_ManStop(Dch_Man_t *p)
ABC_NAMESPACE_IMPL_START Dch_Man_t * Dch_ManCreate(Aig_Man_t *pAig, Dch_Pars_t *pPars)
DECLARATIONS ///.
void Dch_ManPrintStats(Dch_Man_t *p)
void Dch_ManSatSolverRecycle(Dch_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Dch_Pars_t_ Dch_Pars_t
INCLUDES ///.
sat_solver * sat_solver_new(void)
void sat_solver_setnvars(sat_solver *s, int n)
void sat_solver_delete(sat_solver *s)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.