57 p->nFrames = pPars->nFramesK + 1;
63 p->pPatWords =
ABC_CALLOC(
unsigned, p->nPatWords );
106 double nMemory = 1.0*
Aig_ManObjNumMax(p->pAig)*p->nFrames*(2*
sizeof(int)+2*
sizeof(
void*))/(1<<20);
108 Abc_Print( 1,
"Parameters: F = %d. AddF = %d. C-lim = %d. Constr = %d. MaxLev = %d. Mem = %0.2f MB.\n",
109 p->pPars->nFramesK, p->pPars->nFramesAddSim, p->pPars->nBTLimit,
Saig_ManConstrNum(p->pAig), p->pPars->nMaxLevs, nMemory );
110 Abc_Print( 1,
"AIG : PI = %d. PO = %d. Latch = %d. Node = %d. Ave SAT vars = %d.\n",
112 0/(p->pPars->nIters+1) );
113 Abc_Print( 1,
"SAT calls : Proof = %d. Cex = %d. Fail = %d. Lits proved = %d.\n",
115 Abc_Print( 1,
"SAT solver: Vars max = %d. Calls max = %d. Recycles = %d. Sim rounds = %d.\n",
116 p->nVarsMax, p->nCallsMax, p->nRecyclesTotal, p->nSimRounds );
117 Abc_Print( 1,
"NBeg = %d. NEnd = %d. (Gain = %6.2f %%). RBeg = %d. REnd = %d. (Gain = %6.2f %%).\n",
118 p->nNodesBeg, p->nNodesEnd, 100.0*(p->nNodesBeg-p->nNodesEnd)/(p->nNodesBeg?p->nNodesBeg:1),
119 p->nRegsBeg, p->nRegsEnd, 100.0*(p->nRegsBeg-p->nRegsEnd)/(p->nRegsBeg?p->nRegsBeg:1) );
121 p->timeOther = p->timeTotal-p->timeBmc-p->timeReduce-p->timeMarkCones-p->timeSimSat-p->timeSat;
122 ABC_PRTP(
"BMC ", p->timeBmc, p->timeTotal );
123 ABC_PRTP(
"Spec reduce", p->timeReduce, p->timeTotal );
124 ABC_PRTP(
"Mark cones ", p->timeMarkCones, p->timeTotal );
125 ABC_PRTP(
"Sim SAT ", p->timeSimSat, p->timeTotal );
126 ABC_PRTP(
"SAT solving", p->timeSat, p->timeTotal );
127 ABC_PRTP(
" unsat ", p->timeSatUnsat, p->timeTotal );
128 ABC_PRTP(
" sat ", p->timeSatSat, p->timeTotal );
129 ABC_PRTP(
" undecided", p->timeSatUndec, p->timeTotal );
130 ABC_PRTP(
"Other ", p->timeOther, p->timeTotal );
131 ABC_PRTP(
"TOTAL ", p->timeTotal, p->timeTotal );
134 if ( p->pAig->nConstrs )
136 Abc_Print( 1,
"Statistics reflecting the use of constraints:\n" );
137 Abc_Print( 1,
"Total cones = %6d. Constraint cones = %6d. (%6.2f %%)\n",
138 p->nConesTotal, p->nConesConstr, 100.0*p->nConesConstr/p->nConesTotal );
139 Abc_Print( 1,
"Total equivs = %6d. Removed equivs = %6d. (%6.2f %%)\n",
140 p->nEquivsTotal, p->nEquivsConstr, 100.0*p->nEquivsConstr/p->nEquivsTotal );
141 Abc_Print( 1,
"NBeg = %d. NEnd = %d. (Gain = %6.2f %%). RBeg = %d. REnd = %d. (Gain = %6.2f %%).\n",
142 p->nNodesBegC, p->nNodesEndC, 100.0*(p->nNodesBegC-p->nNodesEndC)/(p->nNodesBegC?p->nNodesBegC:1),
143 p->nRegsBegC, p->nRegsEndC, 100.0*(p->nRegsBegC-p->nRegsEndC)/(p->nRegsBegC?p->nRegsBegC:1) );
161 assert( p->pMSat == NULL );
175 p->nConstrReduced = 0;
192 if ( p->pPars->fVerbose )
static Aig_Obj_t * Aig_ObjRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Saig_ManPoNum(Aig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
void Aig_ManStop(Aig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Pars_t_ Ssw_Pars_t
INCLUDES ///.
void Ssw_ManPrintStats(Ssw_Man_t *p)
void Ssw_ClassesStop(Ssw_Cla_t *p)
#define ABC_ALLOC(type, num)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
ABC_NAMESPACE_IMPL_START Ssw_Man_t * Ssw_ManCreate(Aig_Man_t *pAig, Ssw_Pars_t *pPars)
DECLARATIONS ///.
static int Aig_ManNodeNum(Aig_Man_t *p)
void Aig_ManFanoutStart(Aig_Man_t *p)
FUNCTION DEFINITIONS ///.
#define ABC_PRTP(a, t, T)
static int Saig_ManConstrNum(Aig_Man_t *p)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
void Ssw_ManStop(Ssw_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
void Aig_ManSetCioIds(Aig_Man_t *p)
static void Abc_Print(int level, const char *format,...)
static int Saig_ManRegNum(Aig_Man_t *p)
static int Aig_ManObjNumMax(Aig_Man_t *p)
void Ssw_SmlStop(Ssw_Sml_t *p)
#define ABC_NAMESPACE_IMPL_START
#define Aig_ManForEachObj(p, pObj, i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Saig_ManPiNum(Aig_Man_t *p)
MACRO DEFINITIONS ///.
void Aig_ManCleanMarkAB(Aig_Man_t *p)
void Ssw_ManCleanup(Ssw_Man_t *p)
#define ABC_CALLOC(type, num)
static int Abc_BitWordNum(int nBits)
static void Vec_IntFree(Vec_Int_t *p)
int Ssw_ManCountEquivs(Ssw_Man_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)