ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
cecMan.c File Reference
#include "cecInt.h"
Include dependency graph for cecMan.c:

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START Cec_ManSat_tCec_ManSatCreate (Gia_Man_t *pAig, Cec_ParSat_t *pPars)
 DECLARATIONS ///.
 
void Cec_ManSatPrintStats (Cec_ManSat_t *p)
 
void Cec_ManSatStop (Cec_ManSat_t *p)
 
Cec_ManPat_tCec_ManPatStart ()
 
void Cec_ManPatPrintStats (Cec_ManPat_t *p)
 
void Cec_ManPatStop (Cec_ManPat_t *p)
 
Cec_ManSim_tCec_ManSimStart (Gia_Man_t *pAig, Cec_ParSim_t *pPars)
 
void Cec_ManSimStop (Cec_ManSim_t *p)
 
Cec_ManFra_tCec_ManFraStart (Gia_Man_t *pAig, Cec_ParFra_t *pPars)
 
void Cec_ManFraStop (Cec_ManFra_t *p)
 

Function Documentation

◆ Cec_ManFraStart()

Cec_ManFra_t * Cec_ManFraStart ( Gia_Man_t * pAig,
Cec_ParFra_t * pPars )

Function*************************************************************

Synopsis [Creates AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 263 of file cecMan.c.

264{
265 Cec_ManFra_t * p;
266 p = ABC_ALLOC( Cec_ManFra_t, 1 );
267 memset( p, 0, sizeof(Cec_ManFra_t) );
268 p->pAig = pAig;
269 p->pPars = pPars;
270 p->vXorNodes = Vec_IntAlloc( 1000 );
271 return p;
272}
#define ABC_ALLOC(type, num)
Definition abc_global.h:264
struct Cec_ManFra_t_ Cec_ManFra_t
Definition cecInt.h:147
Cube * p
Definition exorList.c:222
char * memset()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cec_ManFraStop()

void Cec_ManFraStop ( Cec_ManFra_t * p)

Function*************************************************************

Synopsis [Deletes AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 285 of file cecMan.c.

286{
287 Vec_IntFree( p->vXorNodes );
288 ABC_FREE( p );
289}
#define ABC_FREE(obj)
Definition abc_global.h:267
Here is the caller graph for this function:

◆ Cec_ManPatPrintStats()

void Cec_ManPatPrintStats ( Cec_ManPat_t * p)

Function*************************************************************

Synopsis [Creates AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 151 of file cecMan.c.

152{
153 Abc_Print( 1, "Latest: P = %8d. L = %10d. Lm = %10d. Ave = %6.1f. MEM =%6.2f MB\n",
154 p->nPats, p->nPatLits, p->nPatLitsMin, 1.0 * p->nPatLitsMin/p->nPats,
155 1.0*(Vec_StrSize(p->vStorage)-p->iStart)/(1<<20) );
156 Abc_Print( 1, "Total: P = %8d. L = %10d. Lm = %10d. Ave = %6.1f. MEM =%6.2f MB\n",
157 p->nPatsAll, p->nPatLitsAll, p->nPatLitsMinAll, 1.0 * p->nPatLitsMinAll/p->nPatsAll,
158 1.0*Vec_StrSize(p->vStorage)/(1<<20) );
159 Abc_PrintTimeP( 1, "Finding ", p->timeFind, p->timeTotal );
160 Abc_PrintTimeP( 1, "Shrinking", p->timeShrink, p->timeTotal );
161 Abc_PrintTimeP( 1, "Verifying", p->timeVerify, p->timeTotal );
162 Abc_PrintTimeP( 1, "Sorting ", p->timeSort, p->timeTotal );
163 Abc_PrintTimeP( 1, "Packing ", p->timePack, p->timeTotal );
164 Abc_PrintTime( 1, "TOTAL ", p->timeTotal );
165}
Here is the caller graph for this function:

◆ Cec_ManPatStart()

Cec_ManPat_t * Cec_ManPatStart ( )

Function*************************************************************

Synopsis [Creates AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 130 of file cecMan.c.

131{
132 Cec_ManPat_t * p;
133 p = ABC_CALLOC( Cec_ManPat_t, 1 );
134 p->vStorage = Vec_StrAlloc( 1<<20 );
135 p->vPattern1 = Vec_IntAlloc( 1000 );
136 p->vPattern2 = Vec_IntAlloc( 1000 );
137 return p;
138}
#define ABC_CALLOC(type, num)
Definition abc_global.h:265
typedefABC_NAMESPACE_HEADER_START struct Cec_ManPat_t_ Cec_ManPat_t
INCLUDES ///.
Definition cecInt.h:49
Here is the caller graph for this function:

◆ Cec_ManPatStop()

void Cec_ManPatStop ( Cec_ManPat_t * p)

Function*************************************************************

Synopsis [Deletes AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 178 of file cecMan.c.

179{
180 Vec_StrFree( p->vStorage );
181 Vec_IntFree( p->vPattern1 );
182 Vec_IntFree( p->vPattern2 );
183 ABC_FREE( p );
184}
Here is the caller graph for this function:

◆ Cec_ManSatCreate()

ABC_NAMESPACE_IMPL_START Cec_ManSat_t * Cec_ManSatCreate ( Gia_Man_t * pAig,
Cec_ParSat_t * pPars )

DECLARATIONS ///.

CFile****************************************************************

FileName [cecMan.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Combinational equivalence checking.]

Synopsis [Manager procedures.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 20, 2005.]

Revision [

Id
cecMan.c,v 1.00 2005/06/20 00:00:00 alanmi Exp

] FUNCTION DEFINITIONS /// Function*************************************************************

Synopsis [Creates the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 45 of file cecMan.c.

46{
48 // create interpolation manager
49 p = ABC_ALLOC( Cec_ManSat_t, 1 );
50 memset( p, 0, sizeof(Cec_ManSat_t) );
51 p->pPars = pPars;
52 p->pAig = pAig;
53 // SAT solving
54 p->nSatVars = 1;
55 p->pSatVars = ABC_CALLOC( int, Gia_ManObjNum(pAig) );
56 p->vUsedNodes = Vec_PtrAlloc( 1000 );
57 p->vFanins = Vec_PtrAlloc( 100 );
58 p->vCex = Vec_IntAlloc( 100 );
59 p->vVisits = Vec_IntAlloc( 100 );
60 return p;
61}
struct Cec_ManSat_t_ Cec_ManSat_t
Definition cecInt.h:75
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cec_ManSatPrintStats()

void Cec_ManSatPrintStats ( Cec_ManSat_t * p)

Function*************************************************************

Synopsis [Prints statistics of the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 74 of file cecMan.c.

75{
76 printf( "SAT solver statistics:\n" );
77 Abc_Print( 1, "CO = %8d ", Gia_ManCoNum(p->pAig) );
78 Abc_Print( 1, "AND = %8d ", Gia_ManAndNum(p->pAig) );
79 Abc_Print( 1, "Conf = %5d ", p->pPars->nBTLimit );
80 Abc_Print( 1, "MinVar = %5d ", p->pPars->nSatVarMax );
81 Abc_Print( 1, "MinCalls = %5d\n", p->pPars->nCallsRecycle );
82 Abc_Print( 1, "Unsat calls %6d (%6.2f %%) Ave conf = %8.1f ",
83 p->nSatUnsat, p->nSatTotal? 100.0*p->nSatUnsat/p->nSatTotal : 0.0, p->nSatUnsat? 1.0*p->nConfUnsat/p->nSatUnsat :0.0 );
84 Abc_PrintTimeP( 1, "Time", p->timeSatUnsat, p->timeTotal );
85 Abc_Print( 1, "Sat calls %6d (%6.2f %%) Ave conf = %8.1f ",
86 p->nSatSat, p->nSatTotal? 100.0*p->nSatSat/p->nSatTotal : 0.0, p->nSatSat? 1.0*p->nConfSat/p->nSatSat : 0.0 );
87 Abc_PrintTimeP( 1, "Time", p->timeSatSat, p->timeTotal );
88 Abc_Print( 1, "Undef calls %6d (%6.2f %%) Ave conf = %8.1f ",
89 p->nSatUndec, p->nSatTotal? 100.0*p->nSatUndec/p->nSatTotal : 0.0, p->nSatUndec? 1.0*p->nConfUndec/p->nSatUndec : 0.0 );
90 Abc_PrintTimeP( 1, "Time", p->timeSatUndec, p->timeTotal );
91 Abc_PrintTime( 1, "Total time", p->timeTotal );
92}
Here is the caller graph for this function:

◆ Cec_ManSatStop()

void Cec_ManSatStop ( Cec_ManSat_t * p)

Function*************************************************************

Synopsis [Frees the manager.]

Description []

SideEffects []

SeeAlso []

Definition at line 105 of file cecMan.c.

106{
107 if ( p->pSat )
108 sat_solver_delete( p->pSat );
109 Vec_IntFree( p->vCex );
110 Vec_IntFree( p->vVisits );
111 Vec_PtrFree( p->vUsedNodes );
112 Vec_PtrFree( p->vFanins );
113 ABC_FREE( p->pSatVars );
114 ABC_FREE( p );
115}
void sat_solver_delete(sat_solver *s)
Definition satSolver.c:1341
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cec_ManSimStart()

Cec_ManSim_t * Cec_ManSimStart ( Gia_Man_t * pAig,
Cec_ParSim_t * pPars )

Function*************************************************************

Synopsis [Creates AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 199 of file cecMan.c.

200{
201 Cec_ManSim_t * p;
202 p = ABC_ALLOC( Cec_ManSim_t, 1 );
203 memset( p, 0, sizeof(Cec_ManSim_t) );
204 p->pAig = pAig;
205 p->pPars = pPars;
206 p->nWords = pPars->nWords;
207 p->pSimInfo = ABC_CALLOC( int, Gia_ManObjNum(pAig) );
208 p->vClassOld = Vec_IntAlloc( 1000 );
209 p->vClassNew = Vec_IntAlloc( 1000 );
210 p->vClassTemp = Vec_IntAlloc( 1000 );
211 p->vRefinedC = Vec_IntAlloc( 10000 );
212 p->vCiSimInfo = Vec_PtrAllocSimInfo( Gia_ManCiNum(p->pAig), pPars->nWords );
213 if ( pPars->fCheckMiter || Gia_ManRegNum(p->pAig) )
214 {
215 p->vCoSimInfo = Vec_PtrAllocSimInfo( Gia_ManCoNum(p->pAig), pPars->nWords );
216 Vec_PtrCleanSimInfo( p->vCoSimInfo, 0, pPars->nWords );
217 }
218 p->iOut = -1;
219 return p;
220}
struct Cec_ManSim_t_ Cec_ManSim_t
Definition cecInt.h:113
int fCheckMiter
Definition cec.h:69
int nWords
Definition cec.h:63
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cec_ManSimStop()

void Cec_ManSimStop ( Cec_ManSim_t * p)

Function*************************************************************

Synopsis [Deletes AIG.]

Description []

SideEffects []

SeeAlso []

Definition at line 233 of file cecMan.c.

234{
235 Vec_IntFree( p->vClassOld );
236 Vec_IntFree( p->vClassNew );
237 Vec_IntFree( p->vClassTemp );
238 Vec_IntFree( p->vRefinedC );
239 if ( p->vCiSimInfo )
240 Vec_PtrFree( p->vCiSimInfo );
241 if ( p->vCoSimInfo )
242 Vec_PtrFree( p->vCoSimInfo );
243 ABC_FREE( p->pScores );
244 ABC_FREE( p->pCexComb );
245 ABC_FREE( p->pCexes );
246 ABC_FREE( p->pMems );
247 ABC_FREE( p->pSimInfo );
248 ABC_FREE( p );
249}
Here is the caller graph for this function: