|
abc-master
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include "misc/vec/vec.h"#include "sat/bsat/satSolver.h"#include "sfm.h"Go to the source code of this file.
Data Structures | |
| struct | Sfm_Ntk_t_ |
| BASIC TYPES ///. More... | |
Macros | |
| #define | SFM_FANIN_MAX 6 |
| INCLUDES ///. More... | |
| #define | SFM_SAT_UNDEC 0x1234567812345678 |
| #define | SFM_SAT_SAT 0x8765432187654321 |
| #define | Sfm_NtkForEachPi(p, i) for ( i = 0; i < p->nPis; i++ ) |
| MACRO DEFINITIONS ///. More... | |
| #define | Sfm_NtkForEachPo(p, i) for ( i = p->nObjs - p->nPos; i < p->nObjs; i++ ) |
| #define | Sfm_NtkForEachNode(p, i) for ( i = p->nPis; i + p->nPos < p->nObjs; i++ ) |
| #define | Sfm_NtkForEachNodeReverse(p, i) for ( i = p->nObjs - p->nPos - 1; i >= p->nPis; i-- ) |
| #define | Sfm_ObjForEachFanin(p, Node, Fan, i) for ( i = 0; i < Sfm_ObjFaninNum(p, Node) && ((Fan = Sfm_ObjFanin(p, Node, i)), 1); i++ ) |
| #define | Sfm_ObjForEachFanout(p, Node, Fan, i) for ( i = 0; i < Sfm_ObjFanoutNum(p, Node) && ((Fan = Sfm_ObjFanout(p, Node, i)), 1); i++ ) |
Functions | |
| static int | Sfm_NtkPiNum (Sfm_Ntk_t *p) |
| static int | Sfm_NtkPoNum (Sfm_Ntk_t *p) |
| static int | Sfm_NtkNodeNum (Sfm_Ntk_t *p) |
| static int | Sfm_ObjIsPi (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjIsPo (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjIsNode (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjIsFixed (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjAddsLevelArray (Vec_Str_t *p, int i) |
| static int | Sfm_ObjAddsLevel (Sfm_Ntk_t *p, int i) |
| static Vec_Int_t * | Sfm_ObjFiArray (Sfm_Ntk_t *p, int i) |
| static Vec_Int_t * | Sfm_ObjFoArray (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjFaninNum (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjFanoutNum (Sfm_Ntk_t *p, int i) |
| static int | Sfm_ObjRefIncrement (Sfm_Ntk_t *p, int iObj) |
| static int | Sfm_ObjRefDecrement (Sfm_Ntk_t *p, int iObj) |
| static int | Sfm_ObjFanin (Sfm_Ntk_t *p, int i, int k) |
| static int | Sfm_ObjFanout (Sfm_Ntk_t *p, int i, int k) |
| static int | Sfm_ObjSatVar (Sfm_Ntk_t *p, int iObj) |
| static void | Sfm_ObjSetSatVar (Sfm_Ntk_t *p, int iObj, int Num) |
| static void | Sfm_ObjCleanSatVar (Sfm_Ntk_t *p, int Num) |
| static void | Sfm_NtkCleanVars (Sfm_Ntk_t *p) |
| static int | Sfm_ObjLevel (Sfm_Ntk_t *p, int iObj) |
| static void | Sfm_ObjSetLevel (Sfm_Ntk_t *p, int iObj, int Lev) |
| static int | Sfm_ObjLevelR (Sfm_Ntk_t *p, int iObj) |
| static void | Sfm_ObjSetLevelR (Sfm_Ntk_t *p, int iObj, int Lev) |
| static int | Sfm_ObjUpdateFaninCount (Sfm_Ntk_t *p, int iObj) |
| static void | Sfm_ObjResetFaninCount (Sfm_Ntk_t *p, int iObj) |
| void | Kit_DsdPrintFromTruth (unsigned *pTruth, int nVars) |
| void | Sfm_PrintCnf (Vec_Str_t *vCnf) |
| FUNCTION DECLARATIONS ///. More... | |
| int | Sfm_TruthToCnf (word Truth, int nVars, Vec_Int_t *vCover, Vec_Str_t *vCnf) |
| Vec_Wec_t * | Sfm_CreateCnf (Sfm_Ntk_t *p) |
| void | Sfm_TranslateCnf (Vec_Wec_t *vRes, Vec_Str_t *vCnf, Vec_Int_t *vFaninMap, int iPivotVar) |
| Sfm_Ntk_t * | Sfm_ConstructNetwork (Vec_Wec_t *vFanins, int nPis, int nPos) |
| void | Sfm_NtkPrepare (Sfm_Ntk_t *p) |
| void | Sfm_NtkUpdate (Sfm_Ntk_t *p, int iNode, int f, int iFaninNew, word uTruth) |
| int | Sfm_NtkWindowToSolver (Sfm_Ntk_t *p) |
| FUNCTION DEFINITIONS ///. More... | |
| word | Sfm_ComputeInterpolant (Sfm_Ntk_t *p) |
| int | Sfm_ObjMffcSize (Sfm_Ntk_t *p, int iObj) |
| int | Sfm_NtkCreateWindow (Sfm_Ntk_t *p, int iNode, int fVerbose) |
| #define SFM_FANIN_MAX 6 |
INCLUDES ///.
CFile****************************************************************
FileName [rsbInt.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [SAT-based optimization using internal don't-cares.]
Synopsis [Internal declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///
| #define Sfm_ObjForEachFanin | ( | p, | |
| Node, | |||
| Fan, | |||
| i | |||
| ) | for ( i = 0; i < Sfm_ObjFaninNum(p, Node) && ((Fan = Sfm_ObjFanin(p, Node, i)), 1); i++ ) |
| #define Sfm_ObjForEachFanout | ( | p, | |
| Node, | |||
| Fan, | |||
| i | |||
| ) | for ( i = 0; i < Sfm_ObjFanoutNum(p, Node) && ((Fan = Sfm_ObjFanout(p, Node, i)), 1); i++ ) |
| void Kit_DsdPrintFromTruth | ( | unsigned * | pTruth, |
| int | nVars | ||
| ) |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 490 of file kitDsd.c.
Function*************************************************************
Synopsis [Takes SAT solver and returns interpolant.]
Description [If interpolant does not exist, records difference variables.]
SideEffects []
SeeAlso []
Definition at line 162 of file sfmSat.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 122 of file sfmCnf.c.
|
inlinestatic |
Definition at line 151 of file sfmInt.h.
| int Sfm_NtkCreateWindow | ( | Sfm_Ntk_t * | p, |
| int | iNode, | ||
| int | fVerbose | ||
| ) |
Definition at line 334 of file sfmWin.c.
|
inlinestatic |
| void Sfm_NtkPrepare | ( | Sfm_Ntk_t * | p | ) |
Definition at line 195 of file sfmNtk.c.
Definition at line 314 of file sfmNtk.c.
| int Sfm_NtkWindowToSolver | ( | Sfm_Ntk_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Converts a window into a SAT solver.]
Description []
SideEffects []
SeeAlso []
Definition at line 54 of file sfmSat.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 150 of file sfmInt.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 160 of file sfmInt.h.
|
inlinestatic |
|
inlinestatic |
Definition at line 154 of file sfmInt.h.
|
inlinestatic |
Definition at line 157 of file sfmInt.h.
|
inlinestatic |
Definition at line 149 of file sfmInt.h.
|
inlinestatic |
Definition at line 159 of file sfmInt.h.
| void Sfm_PrintCnf | ( | Vec_Str_t * | vCnf | ) |
FUNCTION DECLARATIONS ///.
FUNCTION DECLARATIONS ///.
CFile****************************************************************
FileName [sfmCnf.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [SAT-based optimization using internal don't-cares.]
Synopsis [CNF 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 46 of file sfmCnf.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 153 of file sfmCnf.c.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 71 of file sfmCnf.c.