Go to the source code of this file.
◆ Rf2_Man_t
INCLUDES ///.
CFile****************************************************************
FileName [absRef2.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Abstraction package.]
Synopsis [Refinement manager to compute all justifying subsets.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
- Id
- absRef2.h,v 1.00 2005/06/20 00:00:00 alanmi Exp
] PARAMETERS /// BASIC TYPES ///
Definition at line 40 of file absRefJ.h.
◆ Rf2_ManMemoryUsage()
Definition at line 249 of file absRefJ.c.
250{
252}
typedefABC_NAMESPACE_HEADER_START struct Rf2_Man_t_ Rf2_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
◆ Rf2_ManRefine()
Function*************************************************************
Synopsis [Computes the refinement for a given counter-example.]
Description []
SideEffects []
SeeAlso []
Definition at line 863 of file absRefJ.c.
864{
866
868 clock_t clk, clk2 = clock();
869 int nGroups;
871
874 p->fPropFanout = fPropFanout;
875 p->fVerbose = fVerbose;
876
878
879
880
883
884
885
886 Rf2_ManPrintVectorSpecial(
p, vJusts );
887 if ( Vec_IntSize(vJusts) == 0 )
888 {
889 printf( "Empty set of justifying subsets.\n" );
890 return NULL;
891 }
892
893
894
895
896
897
898
899
900 clk = clock();
901
902
903
904 p->timeVer += clock() - clk;
905 p->timeTotal += clock() - clk2;
906
907 return vSelected;
908}
Vec_Int_t * Rf2_ManPropagate(Rf2_Man_t *p, int Limit)
int Rf2_ManAssignJustIds(Rf2_Man_t *p)
void Rf2_ManCollect(Rf2_Man_t *p)
◆ Rf2_ManStart()
MACRO DEFINITIONS ///.
FUNCTION DECLARATIONS ///
MACRO DEFINITIONS ///.
Function*************************************************************
Synopsis [Creates a new manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 211 of file absRefJ.c.
212{
214 assert( Gia_ManPoNum(pGia) == 1 );
217 p->vObjs = Vec_IntAlloc( 1000 );
218 p->vFanins = Vec_IntAlloc( 1000 );
220 p->vGrp2Ppi = Vec_VecStart( 100 );
224}
#define ABC_CALLOC(type, num)
void Gia_ManCleanMark0(Gia_Man_t *p)
void Gia_ManCleanMark1(Gia_Man_t *p)
◆ Rf2_ManStop()
| void Rf2_ManStop |
( |
Rf2_Man_t * | p, |
|
|
int | fProfile ) |
|
extern |
Definition at line 225 of file absRefJ.c.
226{
228
229 if ( fProfile &&
p->nCalls )
230 {
231 double MemGia =
sizeof(
Gia_Man_t) +
sizeof(
Gia_Obj_t) *
p->pGia->nObjsAlloc +
sizeof(int) *
p->pGia->nTravIdsAlloc;
232 double MemOther =
sizeof(
Rf2_Man_t) +
sizeof(
Rf2_Obj_t) *
p->nObjsAlloc +
sizeof(int) * Vec_IntCap(
p->vObjs);
233 clock_t
timeOther =
p->timeTotal -
p->timeFwd -
p->timeBwd -
p->timeVer;
234 printf( "Abstraction refinement runtime statistics:\n" );
235 ABC_PRTP(
"Sensetization",
p->timeFwd,
p->timeTotal );
236 ABC_PRTP(
"Justification",
p->timeBwd,
p->timeTotal );
237 ABC_PRTP(
"Verification ",
p->timeVer,
p->timeTotal );
239 ABC_PRTP(
"TOTAL ",
p->timeTotal,
p->timeTotal );
240 printf( "Total calls = %d. Average refine = %.1f. GIA mem = %.3f MB. Other mem = %.3f MB.\n",
241 p->nCalls, 1.0*
p->nRefines/
p->nCalls, MemGia/(1<<20), MemOther/(1<<20) );
242 }
243 Vec_IntFree(
p->vObjs );
244 Vec_IntFree(
p->vFanins );
245 Vec_VecFree(
p->vGrp2Ppi );
248}
#define ABC_PRTP(a, t, T)
typedefABC_NAMESPACE_IMPL_START struct Rf2_Obj_t_ Rf2_Obj_t
DECLARATIONS ///.
struct Gia_Obj_t_ Gia_Obj_t
struct Gia_Man_t_ Gia_Man_t