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

Go to the source code of this file.

Functions

ABC_NAMESPACE_IMPL_START int Inter_ManCheckInitialState (Aig_Man_t *p)
 DECLARATIONS ///.
 
int Inter_ManCheckAllStates (Aig_Man_t *p)
 

Function Documentation

◆ Inter_ManCheckAllStates()

int Inter_ManCheckAllStates ( Aig_Man_t * p)

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

Synopsis [Returns 1 if the property holds in all states.]

Description []

SideEffects []

SeeAlso []

Definition at line 85 of file intUtil.c.

86{
87 Cnf_Dat_t * pCnf;
88 sat_solver * pSat;
89 int status;
90 abctime clk = Abc_Clock();
91 pCnf = Cnf_Derive( p, Saig_ManRegNum(p) );
92 pSat = (sat_solver *)Cnf_DataWriteIntoSolver( pCnf, 1, 0 );
93 Cnf_DataFree( pCnf );
94 if ( pSat == NULL )
95 return 1;
96 status = sat_solver_solve( pSat, NULL, NULL, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
97 sat_solver_delete( pSat );
98 ABC_PRT( "Time", Abc_Clock() - clk );
99 return status == l_False;
100}
ABC_INT64_T abctime
Definition abc_global.h:332
#define ABC_PRT(a, t)
Definition abc_global.h:255
#define l_False
Definition bmcBmcS.c:36
#define sat_solver
Definition cecSatG2.c:34
#define sat_solver_solve
Definition cecSatG2.c:45
Cnf_Dat_t * Cnf_Derive(Aig_Man_t *pAig, int nOutputs)
Definition cnfCore.c:165
struct Cnf_Dat_t_ Cnf_Dat_t
Definition cnf.h:52
void Cnf_DataFree(Cnf_Dat_t *p)
Definition cnfMan.c:207
Cube * p
Definition exorList.c:222
void * Cnf_DataWriteIntoSolver(Cnf_Dat_t *p, int nFrames, int fInit)
Definition cnfMan.c:579
void sat_solver_delete(sat_solver *s)
Definition satSolver.c:1341
Here is the call graph for this function:

◆ Inter_ManCheckInitialState()

ABC_NAMESPACE_IMPL_START int Inter_ManCheckInitialState ( Aig_Man_t * p)

DECLARATIONS ///.

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

FileName [intUtil.c]

SystemName [ABC: Logic synthesis and verification system.]

PackageName [Interpolation engine.]

Synopsis [Various interpolation utilities.]

Author [Alan Mishchenko]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - June 24, 2008.]

Revision [

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

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

Synopsis [Returns 1 if the property fails in the initial state.]

Description []

SideEffects []

SeeAlso []

Definition at line 46 of file intUtil.c.

47{
48 Cnf_Dat_t * pCnf;
49 Aig_Obj_t * pObj;
50 sat_solver * pSat;
51 int i, status;
52 //abctime clk = Abc_Clock();
53 pCnf = Cnf_Derive( p, Saig_ManRegNum(p) );
54 pSat = (sat_solver *)Cnf_DataWriteIntoSolver( pCnf, 1, 1 );
55 if ( pSat == NULL )
56 {
57 Cnf_DataFree( pCnf );
58 return 0;
59 }
60 status = sat_solver_solve( pSat, NULL, NULL, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
61 //ABC_PRT( "Time", Abc_Clock() - clk );
62 if ( status == l_True )
63 {
64 p->pSeqModel = Abc_CexAlloc( Aig_ManRegNum(p), Saig_ManPiNum(p), 1 );
65 Saig_ManForEachPi( p, pObj, i )
66 if ( sat_solver_var_value( pSat, pCnf->pVarNums[Aig_ObjId(pObj)] ) )
67 Abc_InfoSetBit( p->pSeqModel->pData, Aig_ManRegNum(p) + i );
68 }
69 Cnf_DataFree( pCnf );
70 sat_solver_delete( pSat );
71 return status == l_True;
72}
struct Aig_Obj_t_ Aig_Obj_t
Definition aig.h:51
#define l_True
Definition bmcBmcS.c:35
#define Saig_ManForEachPi(p, pObj, i)
Definition saig.h:91
int * pVarNums
Definition cnf.h:63
ABC_NAMESPACE_IMPL_START Abc_Cex_t * Abc_CexAlloc(int nRegs, int nRealPis, int nFrames)
DECLARATIONS ///.
Definition utilCex.c:51
Here is the call graph for this function:
Here is the caller graph for this function: