#include "gia.h"#include "sat/cnf/cnf.h"#include "sat/bsat/satStore.h"#include "misc/extra/extra.h"#include "sat/glucose/AbcGlucose.h"#include "misc/util/utilTruth.h"#include "base/io/ioResub.h"
Go to the source code of this file.
Classes | |
| struct | Qbf_Man_t_ |
Typedefs | |
| typedef typedefABC_NAMESPACE_IMPL_START struct Qbf_Man_t_ | Qbf_Man_t |
| DECLARATIONS ///. | |
Functions | |
| Vec_Int_t * | Gia_GenCollectFlopIndexes (char *pStr, int nLutNum, int nLutSize, int nFlops) |
| FUNCTION DEFINITIONS ///. | |
| int | Gia_GenCreateMux_rec (Gia_Man_t *pNew, int *pCtrl, int nCtrl, Vec_Int_t *vData, int Shift) |
| Vec_Int_t * | Gia_GenCreateMuxes (Gia_Man_t *p, Gia_Man_t *pNew, Vec_Int_t *vFlops, int nLutNum, int nLutSize, Vec_Int_t *vParLits, int fUseRi) |
| Gia_Man_t * | Gia_GenQbfMiter (Gia_Man_t *p, int nFrames, int nLutNum, int nLutSize, char *pStr, int fUseOut, int fVerbose) |
| int | Gia_Gen2CreateMux_rec (Gia_Man_t *pNew, int *pCtrl, int nCtrl, Vec_Int_t *vData, int Shift) |
| Vec_Int_t * | Gia_Gen2CreateMuxes (Gia_Man_t *pNew, int nLutSize, int nLutNum, Vec_Int_t *vPLits, Vec_Int_t *vXLits) |
| Gia_Man_t * | Gia_Gen2CreateMiter (int nLutSize, int nLutNum) |
| int | Gia_Gen2CodeOne (int nLutSize, int nLutNum, Vec_Int_t *vCode, int x) |
| word * | Gia_Gen2CodeOneP (int nLutSize, int nLutNum, Vec_Int_t *vCode, int x) |
| void | Gia_Gen2CodePrint (int nLutSize, int nLutNum, Vec_Int_t *vCode) |
| void | Gia_Gen2CodeTest () |
| int | Gia_ManSatEnum (Gia_Man_t *pGia, int nConfLimit, int nTimeOut, int fVerbose) |
| void | Gia_QbfDumpFile (Gia_Man_t *pGia, int nPars) |
| void | Gia_QbfDumpFileInv (Gia_Man_t *pGia, int nPars) |
| Qbf_Man_t * | Gia_QbfAlloc (Gia_Man_t *pGia, int nPars, int fGlucose, int fVerbose) |
| void | Gia_QbfFree (Qbf_Man_t *p) |
| Gia_Man_t * | Gia_QbfQuantifyOne (Gia_Man_t *p, int iVar, int fAndAll, int fOrAll) |
| Gia_Man_t * | Gia_QbfQuantifyAll (Gia_Man_t *p, int nPars, int fAndAll, int fOrAll) |
| Gia_Man_t * | Gia_QbfCofactor (Gia_Man_t *p, int nPars, Vec_Int_t *vValues, Vec_Int_t *vParMap) |
| void | Cnf_SpecialDataLift (Cnf_Dat_t *p, int nVarsPlus, int firstPiVar, int lastPiVar) |
| int | Gia_QbfAddCofactor (Qbf_Man_t *p, Gia_Man_t *pCof) |
| int | Gia_QbfAddCofactorG (Qbf_Man_t *p, Gia_Man_t *pCof) |
| void | Gia_QbfOnePattern (Qbf_Man_t *p, Vec_Int_t *vValues) |
| void | Gia_QbfPrint (Qbf_Man_t *p, Vec_Int_t *vValues, int Iter) |
| int | Gia_QbfVerify (Qbf_Man_t *p, Vec_Int_t *vValues) |
| void | Gia_QbfAddSpecialConstr (Qbf_Man_t *p) |
| void | Gia_QbfLearnConstraint (Qbf_Man_t *p, Vec_Int_t *vValues) |
| int | Gia_QbfSolve (Gia_Man_t *pGia, int nPars, int nIterLimit, int nConfLimit, int nTimeOut, int nEncVars, int fGlucose, int fVerbose) |
| sat_solver * | Gia_ManGenSolver (Gia_Man_t *p, Vec_Int_t *vInsOuts, int nIns) |
| Vec_Int_t * | Gia_ManGenCombs (Gia_Man_t *p, Vec_Int_t *vInsOuts, int nIns, int fVerbose) |
| void | Gia_ManGenWriteRel (Vec_Int_t *vRes, int nIns, int nOuts, char *pFileName) |
| void | Gia_ManGenRel2 (Gia_Man_t *pGia, Vec_Int_t *vInsOuts, int nIns, char *pFileName, int fVerbose) |
| Vec_Int_t * | Gia_ManCollectNodeTfos (Gia_Man_t *p, int *pNodes, int nNodes) |
| Vec_Int_t * | Gia_ManCollectNodeTfis (Gia_Man_t *p, Vec_Int_t *vNodes) |
| Gia_Man_t * | Gia_ManGenRelMiter (Gia_Man_t *pGia, Vec_Int_t *vInsOuts, int nIns) |
| void | Gia_ManPrintRelMinterm (int Mint, int nIns, int nVars) |
| Vec_Int_t * | Gia_ManGenIoCombs (Gia_Man_t *pGia, Vec_Int_t *vInsOuts, int nIns, int fVerbose) |
| void | Gia_ManGenRel (Gia_Man_t *pGia, Vec_Int_t *vInsOuts, int nIns, char *pFileName, int fVerbose) |
| typedef typedefABC_NAMESPACE_IMPL_START struct Qbf_Man_t_ Qbf_Man_t |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaQbf.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [QBF solver.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - October 18, 2014.]
Revision [
]
| void Cnf_SpecialDataLift | ( | Cnf_Dat_t * | p, |
| int | nVarsPlus, | ||
| int | firstPiVar, | ||
| int | lastPiVar ) |
| int Gia_Gen2CodeOne | ( | int | nLutSize, |
| int | nLutNum, | ||
| Vec_Int_t * | vCode, | ||
| int | x ) |
| void Gia_Gen2CodePrint | ( | int | nLutSize, |
| int | nLutNum, | ||
| Vec_Int_t * | vCode ) |
Definition at line 307 of file giaQbf.c.


| void Gia_Gen2CodeTest | ( | ) |
Definition at line 374 of file giaQbf.c.

| Gia_Man_t * Gia_Gen2CreateMiter | ( | int | nLutSize, |
| int | nLutNum ) |
Definition at line 224 of file giaQbf.c.

| int Gia_Gen2CreateMux_rec | ( | Gia_Man_t * | pNew, |
| int * | pCtrl, | ||
| int | nCtrl, | ||
| Vec_Int_t * | vData, | ||
| int | Shift ) |
Function*************************************************************
Synopsis [Generate miter for the encoding problem.]
Description []
SideEffects []
SeeAlso []
Definition at line 201 of file giaQbf.c.


| Vec_Int_t * Gia_Gen2CreateMuxes | ( | Gia_Man_t * | pNew, |
| int | nLutSize, | ||
| int | nLutNum, | ||
| Vec_Int_t * | vPLits, | ||
| Vec_Int_t * | vXLits ) |
Definition at line 210 of file giaQbf.c.


| Vec_Int_t * Gia_GenCollectFlopIndexes | ( | char * | pStr, |
| int | nLutNum, | ||
| int | nLutSize, | ||
| int | nFlops ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Generating QBF miter to solve the induction problem.]
Description []
SideEffects []
SeeAlso []
Definition at line 70 of file giaQbf.c.


Definition at line 106 of file giaQbf.c.


| Vec_Int_t * Gia_GenCreateMuxes | ( | Gia_Man_t * | p, |
| Gia_Man_t * | pNew, | ||
| Vec_Int_t * | vFlops, | ||
| int | nLutNum, | ||
| int | nLutSize, | ||
| Vec_Int_t * | vParLits, | ||
| int | fUseRi ) |
Definition at line 115 of file giaQbf.c.


| Gia_Man_t * Gia_GenQbfMiter | ( | Gia_Man_t * | p, |
| int | nFrames, | ||
| int | nLutNum, | ||
| int | nLutSize, | ||
| char * | pStr, | ||
| int | fUseOut, | ||
| int | fVerbose ) |
Definition at line 137 of file giaQbf.c.

Definition at line 1093 of file giaQbf.c.


Function*************************************************************
Synopsis [Derive the SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 1075 of file giaQbf.c.


Definition at line 984 of file giaQbf.c.


Definition at line 1166 of file giaQbf.c.


| void Gia_ManGenRel | ( | Gia_Man_t * | pGia, |
| Vec_Int_t * | vInsOuts, | ||
| int | nIns, | ||
| char * | pFileName, | ||
| int | fVerbose ) |
Definition at line 1223 of file giaQbf.c.

| void Gia_ManGenRel2 | ( | Gia_Man_t * | pGia, |
| Vec_Int_t * | vInsOuts, | ||
| int | nIns, | ||
| char * | pFileName, | ||
| int | fVerbose ) |
Definition at line 1053 of file giaQbf.c.

Definition at line 1115 of file giaQbf.c.


| sat_solver * Gia_ManGenSolver | ( | Gia_Man_t * | p, |
| Vec_Int_t * | vInsOuts, | ||
| int | nIns ) |
Function*************************************************************
Synopsis [Derive the SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 960 of file giaQbf.c.


| void Gia_ManGenWriteRel | ( | Vec_Int_t * | vRes, |
| int | nIns, | ||
| int | nOuts, | ||
| char * | pFileName ) |
Definition at line 1030 of file giaQbf.c.


| void Gia_ManPrintRelMinterm | ( | int | Mint, |
| int | nIns, | ||
| int | nVars ) |
| int Gia_ManSatEnum | ( | Gia_Man_t * | pGia, |
| int | nConfLimit, | ||
| int | nTimeOut, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Naive way to enumerate SAT assignments.]
Description []
SideEffects []
SeeAlso []
Definition at line 396 of file giaQbf.c.

Definition at line 711 of file giaQbf.c.


Definition at line 737 of file giaQbf.c.


| void Gia_QbfAddSpecialConstr | ( | Qbf_Man_t * | p | ) |
Function*************************************************************
Synopsis [Constraint learning.]
Description []
SideEffects []
SeeAlso []
Function*************************************************************
Synopsis [Generate one SAT assignment of the problem.]
Description []
SideEffects []
SeeAlso []
Definition at line 537 of file giaQbf.c.


Function*************************************************************
Synopsis [Create and add one cofactor.]
Description []
SideEffects []
SeeAlso []
Definition at line 650 of file giaQbf.c.


| void Gia_QbfDumpFile | ( | Gia_Man_t * | pGia, |
| int | nPars ) |
Function*************************************************************
Synopsis [Dumps the original problem in QDIMACS format.]
Description []
SideEffects []
SeeAlso []
Definition at line 455 of file giaQbf.c.

| void Gia_QbfDumpFileInv | ( | Gia_Man_t * | pGia, |
| int | nPars ) |
Definition at line 486 of file giaQbf.c.

| void Gia_QbfFree | ( | Qbf_Man_t * | p | ) |
Definition at line 834 of file giaQbf.c.

Function*************************************************************
Synopsis [Extract SAT assignment.]
Description []
SideEffects []
SeeAlso []
Definition at line 764 of file giaQbf.c.


Definition at line 771 of file giaQbf.c.


Definition at line 627 of file giaQbf.c.

Function*************************************************************
Synopsis [Create and add one cofactor.]
Description []
SideEffects []
SeeAlso []
Definition at line 584 of file giaQbf.c.


| int Gia_QbfSolve | ( | Gia_Man_t * | pGia, |
| int | nPars, | ||
| int | nIterLimit, | ||
| int | nConfLimit, | ||
| int | nTimeOut, | ||
| int | nEncVars, | ||
| int | fGlucose, | ||
| int | fVerbose ) |
Function*************************************************************
Synopsis [Performs QBF solving using an improved algorithm.]
Description []
SideEffects []
SeeAlso []
Definition at line 872 of file giaQbf.c.

Function*************************************************************
Synopsis [Generate one SAT assignment in terms of functional vars.]
Description []
SideEffects []
SeeAlso []
Definition at line 793 of file giaQbf.c.
