#include <stdio.h>#include "aig/aig/aig.h"#include "aig/saig/saig.h"#include "proof/ssw/ssw.h"#include "llb.h"#include "bdd/extrab/extraBdd.h"

Go to the source code of this file.
Classes | |
| struct | Llb_Man_t_ |
| struct | Llb_Mtr_t_ |
| struct | Llb_Grp_t_ |
Typedefs | |
| typedef typedefABC_NAMESPACE_HEADER_START struct Llb_Man_t_ | Llb_Man_t |
| INCLUDES ///. | |
| typedef struct Llb_Mtr_t_ | Llb_Mtr_t |
| typedef struct Llb_Grp_t_ | Llb_Grp_t |
Functions | |
| Vec_Int_t * | Llb_ManDeriveConstraints (Aig_Man_t *p) |
| FUNCTION DECLARATIONS ///. | |
| void | Llb_ManPrintEntries (Aig_Man_t *p, Vec_Int_t *vCands) |
| int | Llb_ManModelCheckAig (Aig_Man_t *pAigGlo, Gia_ParLlb_t *pPars, Vec_Int_t *vHints, DdManager **pddGlo) |
| void | Llb_ManCluster (Llb_Mtr_t *p) |
| void | Llb_ManDumpReached (DdManager *ddG, DdNode *bReached, char *pModel, char *pFileName) |
| Vec_Ptr_t * | Llb_ManFlow (Aig_Man_t *p, Vec_Ptr_t *vSources, int *pnFlow) |
| int | Llb_ManReachabilityWithHints (Llb_Man_t *p) |
| int | Llb_ManModelCheckAigWithHints (Aig_Man_t *pAigGlo, Gia_ParLlb_t *pPars) |
| void | Llb_ManPrepareVarMap (Llb_Man_t *p) |
| DECLARATIONS ///. | |
| Llb_Man_t * | Llb_ManStart (Aig_Man_t *pAigGlo, Aig_Man_t *pAig, Gia_ParLlb_t *pPars) |
| void | Llb_ManStop (Llb_Man_t *p) |
| void | Llb_MtrVerifyMatrix (Llb_Mtr_t *p) |
| Llb_Mtr_t * | Llb_MtrCreate (Llb_Man_t *p) |
| void | Llb_MtrFree (Llb_Mtr_t *p) |
| void | Llb_MtrPrint (Llb_Mtr_t *p, int fOrder) |
| void | Llb_MtrPrintMatrixStats (Llb_Mtr_t *p) |
| Llb_Grp_t * | Llb_ManGroupAlloc (Llb_Man_t *pMan) |
| DECLARATIONS ///. | |
| void | Llb_ManGroupStop (Llb_Grp_t *p) |
| void | Llb_ManPrepareGroups (Llb_Man_t *pMan) |
| Llb_Grp_t * | Llb_ManGroupsCombine (Llb_Grp_t *p1, Llb_Grp_t *p2) |
| Llb_Grp_t * | Llb_ManGroupCreateFromCuts (Llb_Man_t *pMan, Vec_Int_t *vCut1, Vec_Int_t *vCut2) |
| void | Llb_ManPrepareVarLimits (Llb_Man_t *p) |
| int | Llb_ManTracePaths (Aig_Man_t *p, Aig_Obj_t *pPivot) |
| Vec_Int_t * | Llb_ManMarkPivotNodes (Aig_Man_t *p, int fUseInternal) |
| int | Llb_ManReachability (Llb_Man_t *p, Vec_Int_t *vHints, DdManager **pddGlo) |
| void | Llb_MtrSchedule (Llb_Mtr_t *p) |
| DdNode * | Llb_BddComputeBad (Aig_Man_t *pInit, DdManager *dd, abctime TimeOut) |
| DECLARATIONS ///. | |
| DdNode * | Llb_BddQuantifyPis (Aig_Man_t *pInit, DdManager *dd, DdNode *bFunc) |
| DdNode * | Llb_CoreComputeCube (DdManager *dd, Vec_Int_t *vVars, int fUseVarIndex, char *pValues) |
| FUNCTION DEFINITIONS ///. | |
| int | Llb_CoreExperiment (Aig_Man_t *pInit, Aig_Man_t *pAig, Gia_ParLlb_t *pPars, Vec_Ptr_t *vResult, abctime TimeTarget) |
| Vec_Int_t * | Llb_DriverCountRefs (Aig_Man_t *p) |
| DECLARATIONS ///. | |
| Vec_Int_t * | Llb_DriverCollectNs (Aig_Man_t *pAig, Vec_Int_t *vDriRefs) |
| Vec_Int_t * | Llb_DriverCollectCs (Aig_Man_t *pAig) |
| DdNode * | Llb_DriverPhaseCube (Aig_Man_t *pAig, Vec_Int_t *vDriRefs, DdManager *dd) |
| DdManager * | Llb_DriverLastPartition (Aig_Man_t *p, Vec_Int_t *vVarsNs, abctime TimeTarget) |
| Vec_Ptr_t * | Llb_ImgSupports (Aig_Man_t *p, Vec_Ptr_t *vDdMans, Vec_Int_t *vStart, Vec_Int_t *vStop, int fAddPis, int fVerbose) |
| FUNCTION DEFINITIONS ///. | |
| void | Llb_ImgSchedule (Vec_Ptr_t *vSupps, Vec_Ptr_t **pvQuant0, Vec_Ptr_t **pvQuant1, int fVerbose) |
| DdManager * | Llb_ImgPartition (Aig_Man_t *p, Vec_Ptr_t *vLower, Vec_Ptr_t *vUpper, abctime TimeTarget) |
| void | Llb_ImgQuantifyFirst (Aig_Man_t *pAig, Vec_Ptr_t *vDdMans, Vec_Ptr_t *vQuant0, int fVerbose) |
| void | Llb_ImgQuantifyReset (Vec_Ptr_t *vDdMans) |
| DdNode * | Llb_ImgComputeImage (Aig_Man_t *pAig, Vec_Ptr_t *vDdMans, DdManager *dd, DdNode *bInit, Vec_Ptr_t *vQuant0, Vec_Ptr_t *vQuant1, Vec_Int_t *vDriRefs, abctime TimeTarget, int fBackward, int fReorder, int fVerbose) |
| DdManager * | Llb_NonlinImageStart (Aig_Man_t *pAig, Vec_Ptr_t *vLeaves, Vec_Ptr_t *vRoots, int *pVars2Q, int *pOrder, int fFirst, abctime TimeTarget) |
| DdNode * | Llb_NonlinImageCompute (DdNode *bCurrent, int fReorder, int fDrop, int fVerbose, int *pOrder) |
| void | Llb_NonlinImageQuit () |
| DdNode * | Llb_NonlinImage (Aig_Man_t *pAig, Vec_Ptr_t *vLeaves, Vec_Ptr_t *vRoots, int *pVars2Q, DdManager *dd, DdNode *bCurrent, int fReorder, int fVerbose, int *pOrder) |
| DdNode * | Llb_NonlinComputeInitState (Aig_Man_t *pAig, DdManager *dd) |
| Abc_Cex_t * | Llb4_Nonlin4TransformCex (Aig_Man_t *pAig, Vec_Ptr_t *vStates, int iCexPo, int fVerbose) |
| DECLARATIONS ///. | |
| DdNode * | Llb_Nonlin4Image (DdManager *dd, Vec_Ptr_t *vParts, DdNode *bCurrent, Vec_Int_t *vVars2Q) |
| Vec_Ptr_t * | Llb_Nonlin4Group (DdManager *dd, Vec_Ptr_t *vParts, Vec_Int_t *vVars2Q, int nSizeMax) |
| void | Llb4_Nonlin4Sweep (Aig_Man_t *pAig, int nSweepMax, int nClusterMax, DdManager **pdd, Vec_Int_t **pvOrder, Vec_Ptr_t **pvGroups, int fVerbose) |
| typedef struct Llb_Grp_t_ Llb_Grp_t |
| typedef typedefABC_NAMESPACE_HEADER_START struct Llb_Man_t_ Llb_Man_t |
INCLUDES ///.
CFile****************************************************************
FileName [llbInt.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD-based reachability.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - May 8, 2010.]
Revision [
] PARAMETERS /// BASIC TYPES ///
| typedef struct Llb_Mtr_t_ Llb_Mtr_t |
|
extern |
Function*************************************************************
Synopsis [Performs BDD sweep on the netlist.]
Description [Returns BDD manager, ordering, clusters, and bad states inside dd->bFunc.]
SideEffects []
SeeAlso []
Definition at line 520 of file llb4Sweep.c.


|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [llb2Cex.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Non-linear quantification scheduling.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Translates a sequence of states into a counter-example.]
Description []
SideEffects []
SeeAlso []
Definition at line 47 of file llb4Cex.c.


DECLARATIONS ///.
CFile****************************************************************
FileName [llb2Bad.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Computing bad states.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Computes bad in working manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file llb2Bad.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 109 of file llb2Bad.c.

|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Computes cube composed of given variables with given values.]
Description []
SideEffects []
SeeAlso []
Definition at line 68 of file llb2Core.c.

|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 694 of file llb2Core.c.


Function*************************************************************
Synopsis [Returns array of CS variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 106 of file llb2Driver.c.

Function*************************************************************
Synopsis [Returns array of NS variables.]
Description []
SideEffects []
SeeAlso []
Definition at line 78 of file llb2Driver.c.

DECLARATIONS ///.
CFile****************************************************************
FileName [llb2Driver.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Procedures working with flop drivers.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Returns the array of times each flop driver is referenced.]
Description []
SideEffects []
SeeAlso []
Definition at line 56 of file llb2Driver.c.

|
extern |
Function*************************************************************
Synopsis [Compute the last partition.]
Description []
SideEffects []
SeeAlso []
Definition at line 163 of file llb2Driver.c.

Function*************************************************************
Synopsis [Create cube for phase swapping.]
Description []
SideEffects []
SeeAlso []
Definition at line 128 of file llb2Driver.c.

|
extern |
Function*************************************************************
Synopsis [Computes image of the initial set of states.]
Description []
SideEffects []
SeeAlso []
Definition at line 364 of file llb2Image.c.


|
extern |
Function*************************************************************
Synopsis [Computes one partition in a separate BDD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 183 of file llb2Image.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 288 of file llb2Image.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 340 of file llb2Image.c.

|
extern |
Function*************************************************************
Synopsis [Computes quantification schedule.]
Description [Input array contains supports: 0=starting, ... intermediate... N-1=final. Output arrays contain immediately quantifiable vars (vQuant0) and vars that should be quantified after conjunction (vQuant1).]
SideEffects []
SeeAlso []
Definition at line 122 of file llb2Image.c.

|
extern |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Computes supports of the partitions.]
Description []
SideEffects []
SeeAlso []
Definition at line 48 of file llb2Image.c.

|
extern |
Function*************************************************************
Synopsis [Combines one pair of columns.]
Description []
SideEffects []
SeeAlso []
Definition at line 324 of file llb1Cluster.c.


FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Derives inductive constraints.]
Description []
SideEffects []
SeeAlso []
Definition at line 267 of file llb1Constr.c.


|
extern |
Function*************************************************************
Synopsis [Writes reached state BDD into a BLIF file.]
Description []
SideEffects []
SeeAlso []
Definition at line 63 of file llb2Dump.c.


Function*************************************************************
Synopsis [Implementation of max-flow/min-cut computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 762 of file llb2Flow.c.

DECLARATIONS ///.
CFile****************************************************************
FileName [llb1Group.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Initial partition computation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file llb1Group.c.

|
extern |
Function*************************************************************
Synopsis [Creates group from two cuts derived by the flow computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 312 of file llb1Group.c.

Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 251 of file llb1Group.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 68 of file llb1Group.c.

Function*************************************************************
Synopsis [Determine starting cut-points.]
Description []
SideEffects []
SeeAlso []
Definition at line 220 of file llb1Pivot.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 112 of file llb1Core.c.


|
extern |
Function*************************************************************
Synopsis [Derives AIG whose PI is substituted by a constant.]
Description []
SideEffects []
SeeAlso []
Definition at line 162 of file llb1Hint.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 356 of file llb1Group.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 88 of file llb1Man.c.

|
extern |
DECLARATIONS ///.
CFile****************************************************************
FileName [llb1Man.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [BDD based reachability.]
Synopsis [Reachability manager.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
] FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 45 of file llb1Man.c.

Function*************************************************************
Synopsis [Returns the array of constraint candidates.]
Description []
SideEffects []
SeeAlso []
Definition at line 64 of file llb1Constr.c.


Function*************************************************************
Synopsis [Perform reachability with hints and returns reached states in ppGlo.]
Description []
SideEffects []
SeeAlso []
Definition at line 582 of file llb1Reach.c.


|
extern |
|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 193 of file llb1Man.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 130 of file llb1Man.c.


Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 81 of file llb1Pivot.c.


Function*************************************************************
Synopsis [Matrix reduce.]
Description []
SideEffects []
SeeAlso []
Definition at line 410 of file llb1Matrix.c.


|
extern |
Function*************************************************************
Synopsis [Stops the matrix representation.]
Description []
SideEffects []
SeeAlso []
Definition at line 321 of file llb1Matrix.c.

|
extern |
Function*************************************************************
Synopsis [Creates one column with vars in the array.]
Description []
SideEffects []
SeeAlso []
Definition at line 206 of file llb1Matrix.c.


|
extern |
Function*************************************************************
Synopsis [Verify columns.]
Description []
SideEffects []
SeeAlso []
Definition at line 236 of file llb1Matrix.c.

|
extern |
Function*************************************************************
Synopsis [Matrix reduce.]
Description []
SideEffects []
SeeAlso []
Definition at line 222 of file llb1Sched.c.


|
extern |
Function*************************************************************
Synopsis [Verify columns.]
Description []
SideEffects []
SeeAlso []
Definition at line 115 of file llb1Matrix.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 806 of file llb4Image.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 752 of file llb4Image.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 214 of file llb3Nonlin.c.

|
extern |
Function*************************************************************
Synopsis [Performs image computation.]
Description [Computes image of BDDs (vFuncs).]
SideEffects [BDDs in vFuncs are derefed inside. The result is refed.]
SeeAlso []
Definition at line 884 of file llb3Image.c.


|
extern |
Function*************************************************************
Synopsis [Performs image computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 999 of file llb3Image.c.


|
extern |
Function*************************************************************
Synopsis [Quits image computation manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 1075 of file llb3Image.c.


|
extern |
Function*************************************************************
Synopsis [Starts image computation manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 963 of file llb3Image.c.

