abc-master
|
#include <math.h>
#include "if.h"
#include "ifCount.h"
#include "misc/extra/extra.h"
#include "sat/bsat/satSolver.h"
#include "aig/gia/gia.h"
#include "bool/kit/kit.h"
Go to the source code of this file.
Data Structures | |
struct | If_DsdObj_t_ |
struct | If_DsdMan_t_ |
Macros | |
#define | If_DsdVecForEachObj(vVec, pObj, i) Vec_PtrForEachEntry( If_DsdObj_t *, vVec, pObj, i ) |
#define | If_DsdVecForEachObjStart(vVec, pObj, i, Start) Vec_PtrForEachEntryStart( If_DsdObj_t *, vVec, pObj, i, Start ) |
#define | If_DsdVecForEachObjVec(vNodes, vVec, pObj, i) for ( i = 0; (i < Vec_IntSize(vNodes)) && ((pObj) = If_DsdVecObj(vVec, Vec_IntEntry(vNodes,i))); i++ ) |
#define | If_DsdVecForEachNode(vVec, pObj, i) Vec_PtrForEachEntryStart( If_DsdObj_t *, vVec, pObj, i, 2 ) |
#define | If_DsdObjForEachFanin(vVec, pObj, pFanin, i) for ( i = 0; (i < If_DsdObjFaninNum(pObj)) && ((pFanin) = If_DsdObjFanin(vVec, pObj, i)); i++ ) |
#define | If_DsdObjForEachFaninLit(vVec, pObj, iLit, i) for ( i = 0; (i < If_DsdObjFaninNum(pObj)) && ((iLit) = If_DsdObjFaninLit(pObj, i)); i++ ) |
#define | DSD_ARRAY_LIMIT 16 |
Typedefs | |
typedef struct If_DsdObj_t_ | If_DsdObj_t |
Enumerations | |
enum | If_DsdType_t { IF_DSD_NONE = 0, IF_DSD_CONST0, IF_DSD_VAR, IF_DSD_AND, IF_DSD_XOR, IF_DSD_MUX, IF_DSD_PRIME } |
DECLARATIONS ///. More... | |
Functions | |
static int | If_DsdObjWordNum (int nFans) |
static int | If_DsdObjTruthId (If_DsdMan_t *p, If_DsdObj_t *pObj) |
static word * | If_DsdObjTruth (If_DsdMan_t *p, If_DsdObj_t *pObj) |
static void | If_DsdObjSetTruth (If_DsdMan_t *p, If_DsdObj_t *pObj, int Id) |
static void | If_DsdObjClean (If_DsdObj_t *pObj) |
static int | If_DsdObjId (If_DsdObj_t *pObj) |
static int | If_DsdObjType (If_DsdObj_t *pObj) |
static int | If_DsdObjIsVar (If_DsdObj_t *pObj) |
static int | If_DsdObjSuppSize (If_DsdObj_t *pObj) |
static int | If_DsdObjFaninNum (If_DsdObj_t *pObj) |
static int | If_DsdObjFaninC (If_DsdObj_t *pObj, int i) |
static int | If_DsdObjFaninLit (If_DsdObj_t *pObj, int i) |
static If_DsdObj_t * | If_DsdVecObj (Vec_Ptr_t *p, int Id) |
static If_DsdObj_t * | If_DsdVecConst0 (Vec_Ptr_t *p) |
static If_DsdObj_t * | If_DsdVecVar (Vec_Ptr_t *p, int v) |
static int | If_DsdVecObjSuppSize (Vec_Ptr_t *p, int iObj) |
static int | If_DsdVecLitSuppSize (Vec_Ptr_t *p, int iLit) |
static int | If_DsdVecObjRef (Vec_Ptr_t *p, int iObj) |
static void | If_DsdVecObjIncRef (Vec_Ptr_t *p, int iObj) |
static If_DsdObj_t * | If_DsdObjFanin (Vec_Ptr_t *p, If_DsdObj_t *pObj, int i) |
static int | If_DsdVecObjMark (Vec_Ptr_t *p, int iObj) |
static void | If_DsdVecObjSetMark (Vec_Ptr_t *p, int iObj) |
static void | If_DsdVecObjClearMark (Vec_Ptr_t *p, int iObj) |
int | Kit_TruthToGia (Gia_Man_t *pMan, unsigned *pTruth, int nVars, Vec_Int_t *vMemory, Vec_Int_t *vLeaves, int fHash) |
DECLARATIONS ///. More... | |
char * | If_DsdManFileName (If_DsdMan_t *p) |
FUNCTION DEFINITIONS ///. More... | |
int | If_DsdManVarNum (If_DsdMan_t *p) |
int | If_DsdManObjNum (If_DsdMan_t *p) |
int | If_DsdManLutSize (If_DsdMan_t *p) |
void | If_DsdManSetLutSize (If_DsdMan_t *p, int nLutSize) |
int | If_DsdManSuppSize (If_DsdMan_t *p, int iDsd) |
int | If_DsdManCheckDec (If_DsdMan_t *p, int iDsd) |
int | If_DsdManReadMark (If_DsdMan_t *p, int iDsd) |
void | If_DsdManSetNewAsUseless (If_DsdMan_t *p) |
word | If_DsdManGetFuncPerm (If_DsdMan_t *p, int iDsd) |
char * | If_DsdManGetCellStr (If_DsdMan_t *p) |
static word ** | If_ManDsdTtElems () |
If_DsdObj_t * | If_DsdObjAlloc (If_DsdMan_t *p, int Type, int nFans) |
If_DsdMan_t * | If_DsdManAlloc (int nVars, int LutSize) |
void | If_DsdManAllocIsops (If_DsdMan_t *p, int nLutSize) |
void | If_DsdManFree (If_DsdMan_t *p, int fVerbose) |
void | If_DsdManDumpDsd (If_DsdMan_t *p, int Support) |
void | If_DsdManDumpAll (If_DsdMan_t *p, int Support) |
int | If_DsdManHasMarks (If_DsdMan_t *p) |
void | If_DsdManHashProfile (If_DsdMan_t *p) |
int | If_DsdManCheckNonDec_rec (If_DsdMan_t *p, int Id) |
void | If_DsdManPrint_rec (FILE *pFile, If_DsdMan_t *p, int iDsdLit, unsigned char *pPermLits, int *pnSupp) |
void | If_DsdManPrintOne (FILE *pFile, If_DsdMan_t *p, int iObjId, unsigned char *pPermLits, int fNewLine) |
void | If_DsdManPrintDecs (FILE *pFile, If_DsdMan_t *p) |
void | If_DsdManPrintOccurs (FILE *pFile, If_DsdMan_t *p) |
void | If_DsdManPrintDistrib (If_DsdMan_t *p) |
void | If_DsdManPrint (If_DsdMan_t *p, char *pFileName, int Number, int Support, int fOccurs, int fTtDump, int fVerbose) |
int | If_DsdManCheckNonTriv (If_DsdMan_t *p, int Id, int nVars, int iVarMax) |
int | If_DsdObjCompare (If_DsdMan_t *pMan, Vec_Ptr_t *p, int iLit0, int iLit1) |
void | If_DsdObjSort (If_DsdMan_t *pMan, Vec_Ptr_t *p, int *pLits, int nLits, int *pPerm) |
static unsigned | If_DsdObjHashKey (If_DsdMan_t *p, int Type, int *pLits, int nLits, int truthId) |
unsigned * | If_DsdObjHashLookup (If_DsdMan_t *p, int Type, int *pLits, int nLits, int truthId) |
static void | If_DsdObjHashResize (If_DsdMan_t *p) |
int | If_DsdObjCreate (If_DsdMan_t *p, int Type, int *pLits, int nLits, int truthId) |
int | If_DsdObjFindOrAdd (If_DsdMan_t *p, int Type, int *pLits, int nLits, word *pTruth) |
void | If_DsdManSave (If_DsdMan_t *p, char *pFileName) |
If_DsdMan_t * | If_DsdManLoad (char *pFileName) |
void | If_DsdManMerge (If_DsdMan_t *p, If_DsdMan_t *pNew) |
void | If_DsdManCleanOccur (If_DsdMan_t *p, int fVerbose) |
void | If_DsdManCleanMarks (If_DsdMan_t *p, int fVerbose) |
void | If_DsdManInvertMarks (If_DsdMan_t *p, int fVerbose) |
void | If_DsdManFilter_rec (If_DsdMan_t *pNew, If_DsdMan_t *p, int i, Vec_Int_t *vMap) |
If_DsdMan_t * | If_DsdManFilter (If_DsdMan_t *p, int Limit) |
void | If_DsdManCollect_rec (If_DsdMan_t *p, int Id, Vec_Int_t *vNodes, Vec_Int_t *vFirsts, int *pnSupp) |
void | If_DsdManCollect (If_DsdMan_t *p, int Id, Vec_Int_t *vNodes, Vec_Int_t *vFirsts) |
void | If_DsdManComputeTruth_rec (If_DsdMan_t *p, int iDsd, word *pRes, unsigned char *pPermLits, int *pnSupp) |
void | If_DsdManComputeTruthPtr (If_DsdMan_t *p, int iDsd, unsigned char *pPermLits, word *pRes) |
word * | If_DsdManComputeTruth (If_DsdMan_t *p, int iDsd, unsigned char *pPermLits) |
int | If_DsdManCheckInv_rec (If_DsdMan_t *p, int iLit) |
int | If_DsdManPushInv_rec (If_DsdMan_t *p, int iLit, unsigned char *pPerm) |
int | If_DsdManPushInv (If_DsdMan_t *p, int iLit, unsigned char *pPerm) |
int | If_DsdManComputeFirstArray (If_DsdMan_t *p, int *pLits, int nLits, int *pFirsts) |
int | If_DsdManComputeFirst (If_DsdMan_t *p, If_DsdObj_t *pObj, int *pFirsts) |
int | If_DsdManOperation (If_DsdMan_t *p, int Type, int *pLits, int nLits, unsigned char *pPerm, word *pTruth) |
static void | If_DsdMergeMatches (char *pDsd, int *pMatches) |
int | If_DsdManAddDsd_rec (char *pStr, char **p, int *pMatches, If_DsdMan_t *pMan, word *pTruth, unsigned char *pPerm, int *pnSupp) |
int | If_DsdManAddDsd (If_DsdMan_t *p, char *pDsd, word *pTruth, unsigned char *pPerm, int *pnSupp) |
unsigned | If_DsdSign_rec (If_DsdMan_t *p, If_DsdObj_t *pObj, int *pnSupp) |
unsigned | If_DsdSign (If_DsdMan_t *p, If_DsdObj_t *pObj, int iFan, int iFirst, int fShared) |
void | If_DsdManGetSuppSizes (If_DsdMan_t *p, If_DsdObj_t *pObj, int *pSSizes) |
unsigned | If_DsdManCheckAndXor (If_DsdMan_t *p, int iFirst, unsigned uMaskNot, If_DsdObj_t *pObj, int nSuppAll, int LutSize, int fDerive, int fVerbose) |
unsigned | If_DsdManCheckMux (If_DsdMan_t *p, int iFirst, unsigned uMaskNot, If_DsdObj_t *pObj, int nSuppAll, int LutSize, int fDerive, int fVerbose) |
unsigned | If_DsdManCheckPrime (If_DsdMan_t *p, int iFirst, unsigned uMaskNot, If_DsdObj_t *pObj, int nSuppAll, int LutSize, int fDerive, int fVerbose) |
unsigned | If_DsdManCheckXY_int (If_DsdMan_t *p, int iDsd, int LutSize, int fDerive, unsigned uMaskNot, int fVerbose) |
unsigned | If_DsdManCheckXY (If_DsdMan_t *p, int iDsd, int LutSize, int fDerive, unsigned uMaskNot, int fHighEffort, int fVerbose) |
unsigned | If_DsdManCheckXYZ (If_DsdMan_t *p, int iDsd, int LutSize, int fDerive, int fVerbose) |
int | If_DsdManCompute (If_DsdMan_t *p, word *pTruth, int nLeaves, unsigned char *pPerm, char *pLutStruct) |
void | If_DsdManTest () |
int | If_CutDsdBalancePinDelays_rec (If_DsdMan_t *p, int Id, int *pTimes, word *pRes, int *pnSupp, int nSuppAll, char *pPermLits) |
int | If_CutDsdBalancePinDelays (If_Man_t *p, If_Cut_t *pCut, char *pPerm) |
int | If_CutDsdPermLitMax (char *pPermLits, int nVars, int iVar) |
int | If_CutDsdBalanceEval_rec (If_DsdMan_t *p, int Id, int *pTimes, int *pnSupp, Vec_Int_t *vAig, int *piLit, int nSuppAll, int *pArea, char *pPermLits) |
int | If_CutDsdBalanceEvalInt (If_DsdMan_t *p, int iDsd, int *pTimes, Vec_Int_t *vAig, int *pArea, char *pPermLits) |
int | If_CutDsdBalanceEval (If_Man_t *p, If_Cut_t *pCut, Vec_Int_t *vAig) |
void | If_DsdManTune (If_DsdMan_t *p, int LutSize, int fFast, int fAdd, int fSpec, int fVerbose) |
void | Id_DsdManTuneStr1 (If_DsdMan_t *p, char *pStruct, int nConfls, int fVerbose) |
void | Id_DsdManTuneStr (If_DsdMan_t *p, char *pStruct, int nConfls, int nProcs, int fVerbose) |
void | Id_DsdManTuneThresh (If_DsdMan_t *p, int fUnate, int fThresh, int fVerbose) |
#define If_DsdObjForEachFanin | ( | vVec, | |
pObj, | |||
pFanin, | |||
i | |||
) | for ( i = 0; (i < If_DsdObjFaninNum(pObj)) && ((pFanin) = If_DsdObjFanin(vVec, pObj, i)); i++ ) |
#define If_DsdObjForEachFaninLit | ( | vVec, | |
pObj, | |||
iLit, | |||
i | |||
) | for ( i = 0; (i < If_DsdObjFaninNum(pObj)) && ((iLit) = If_DsdObjFaninLit(pObj, i)); i++ ) |
#define If_DsdVecForEachNode | ( | vVec, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntryStart( If_DsdObj_t *, vVec, pObj, i, 2 ) |
#define If_DsdVecForEachObj | ( | vVec, | |
pObj, | |||
i | |||
) | Vec_PtrForEachEntry( If_DsdObj_t *, vVec, pObj, i ) |
#define If_DsdVecForEachObjStart | ( | vVec, | |
pObj, | |||
i, | |||
Start | |||
) | Vec_PtrForEachEntryStart( If_DsdObj_t *, vVec, pObj, i, Start ) |
#define If_DsdVecForEachObjVec | ( | vNodes, | |
vVec, | |||
pObj, | |||
i | |||
) | for ( i = 0; (i < Vec_IntSize(vNodes)) && ((pObj) = If_DsdVecObj(vVec, Vec_IntEntry(vNodes,i))); i++ ) |
typedef struct If_DsdObj_t_ If_DsdObj_t |
enum If_DsdType_t |
DECLARATIONS ///.
CFile****************************************************************
FileName [ifDsd.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [FPGA mapping based on priority cuts.]
Synopsis [Computation of DSD representation.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - November 21, 2006.]
Revision [
]
Enumerator | |
---|---|
IF_DSD_NONE | |
IF_DSD_CONST0 | |
IF_DSD_VAR | |
IF_DSD_AND | |
IF_DSD_XOR | |
IF_DSD_MUX | |
IF_DSD_PRIME |
Definition at line 48 of file ifDsd.c.
void Id_DsdManTuneStr | ( | If_DsdMan_t * | p, |
char * | pStruct, | ||
int | nConfls, | ||
int | nProcs, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2519 of file ifDsd.c.
void Id_DsdManTuneStr1 | ( | If_DsdMan_t * | p, |
char * | pStruct, | ||
int | nConfls, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2435 of file ifDsd.c.
void Id_DsdManTuneThresh | ( | If_DsdMan_t * | p, |
int | fUnate, | ||
int | fThresh, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2721 of file ifDsd.c.
Definition at line 2288 of file ifDsd.c.
int If_CutDsdBalanceEval_rec | ( | If_DsdMan_t * | p, |
int | Id, | ||
int * | pTimes, | ||
int * | pnSupp, | ||
Vec_Int_t * | vAig, | ||
int * | piLit, | ||
int | nSuppAll, | ||
int * | pArea, | ||
char * | pPermLits | ||
) |
Function*************************************************************
Synopsis [Evaluate delay using DSD balancing.]
Description []
SideEffects []
SeeAlso []
Definition at line 2208 of file ifDsd.c.
int If_CutDsdBalanceEvalInt | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
int * | pTimes, | ||
Vec_Int_t * | vAig, | ||
int * | pArea, | ||
char * | pPermLits | ||
) |
Definition at line 2274 of file ifDsd.c.
Definition at line 2152 of file ifDsd.c.
int If_CutDsdBalancePinDelays_rec | ( | If_DsdMan_t * | p, |
int | Id, | ||
int * | pTimes, | ||
word * | pRes, | ||
int * | pnSupp, | ||
int | nSuppAll, | ||
char * | pPermLits | ||
) |
Function*************************************************************
Synopsis [Compute pin delays.]
Description []
SideEffects []
SeeAlso []
Definition at line 2104 of file ifDsd.c.
int If_CutDsdPermLitMax | ( | char * | pPermLits, |
int | nVars, | ||
int | iVar | ||
) |
int If_DsdManAddDsd | ( | If_DsdMan_t * | p, |
char * | pDsd, | ||
word * | pTruth, | ||
unsigned char * | pPerm, | ||
int * | pnSupp | ||
) |
Definition at line 1687 of file ifDsd.c.
int If_DsdManAddDsd_rec | ( | char * | pStr, |
char ** | p, | ||
int * | pMatches, | ||
If_DsdMan_t * | pMan, | ||
word * | pTruth, | ||
unsigned char * | pPerm, | ||
int * | pnSupp | ||
) |
Definition at line 1634 of file ifDsd.c.
If_DsdMan_t* If_DsdManAlloc | ( | int | nVars, |
int | LutSize | ||
) |
Definition at line 248 of file ifDsd.c.
void If_DsdManAllocIsops | ( | If_DsdMan_t * | p, |
int | nLutSize | ||
) |
Definition at line 289 of file ifDsd.c.
unsigned If_DsdManCheckAndXor | ( | If_DsdMan_t * | p, |
int | iFirst, | ||
unsigned | uMaskNot, | ||
If_DsdObj_t * | pObj, | ||
int | nSuppAll, | ||
int | LutSize, | ||
int | fDerive, | ||
int | fVerbose | ||
) |
Definition at line 1746 of file ifDsd.c.
int If_DsdManCheckDec | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
int If_DsdManCheckInv_rec | ( | If_DsdMan_t * | p, |
int | iLit | ||
) |
Function*************************************************************
Synopsis [Procedures to propagate the invertor.]
Description []
SideEffects []
SeeAlso []
Definition at line 1414 of file ifDsd.c.
unsigned If_DsdManCheckMux | ( | If_DsdMan_t * | p, |
int | iFirst, | ||
unsigned | uMaskNot, | ||
If_DsdObj_t * | pObj, | ||
int | nSuppAll, | ||
int | LutSize, | ||
int | fDerive, | ||
int | fVerbose | ||
) |
Definition at line 1817 of file ifDsd.c.
int If_DsdManCheckNonDec_rec | ( | If_DsdMan_t * | p, |
int | Id | ||
) |
Definition at line 453 of file ifDsd.c.
int If_DsdManCheckNonTriv | ( | If_DsdMan_t * | p, |
int | Id, | ||
int | nVars, | ||
int | iVarMax | ||
) |
Function*************************************************************
Synopsis [Check if the function is non-trivial.]
Description []
SideEffects []
SeeAlso []
Definition at line 802 of file ifDsd.c.
unsigned If_DsdManCheckPrime | ( | If_DsdMan_t * | p, |
int | iFirst, | ||
unsigned | uMaskNot, | ||
If_DsdObj_t * | pObj, | ||
int | nSuppAll, | ||
int | LutSize, | ||
int | fDerive, | ||
int | fVerbose | ||
) |
Definition at line 1853 of file ifDsd.c.
unsigned If_DsdManCheckXY | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
int | LutSize, | ||
int | fDerive, | ||
unsigned | uMaskNot, | ||
int | fHighEffort, | ||
int | fVerbose | ||
) |
Definition at line 1986 of file ifDsd.c.
unsigned If_DsdManCheckXY_int | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
int | LutSize, | ||
int | fDerive, | ||
unsigned | uMaskNot, | ||
int | fVerbose | ||
) |
Definition at line 1911 of file ifDsd.c.
unsigned If_DsdManCheckXYZ | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
int | LutSize, | ||
int | fDerive, | ||
int | fVerbose | ||
) |
void If_DsdManCleanMarks | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1224 of file ifDsd.c.
void If_DsdManCleanOccur | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1217 of file ifDsd.c.
void If_DsdManCollect | ( | If_DsdMan_t * | p, |
int | Id, | ||
Vec_Int_t * | vNodes, | ||
Vec_Int_t * | vFirsts | ||
) |
Definition at line 1307 of file ifDsd.c.
void If_DsdManCollect_rec | ( | If_DsdMan_t * | p, |
int | Id, | ||
Vec_Int_t * | vNodes, | ||
Vec_Int_t * | vFirsts, | ||
int * | pnSupp | ||
) |
Function*************************************************************
Synopsis [Collect nodes of the tree.]
Description []
SideEffects []
SeeAlso []
Definition at line 1290 of file ifDsd.c.
int If_DsdManCompute | ( | If_DsdMan_t * | p, |
word * | pTruth, | ||
int | nLeaves, | ||
unsigned char * | pPerm, | ||
char * | pLutStruct | ||
) |
Function*************************************************************
Synopsis [Add the function to the DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 2032 of file ifDsd.c.
int If_DsdManComputeFirst | ( | If_DsdMan_t * | p, |
If_DsdObj_t * | pObj, | ||
int * | pFirsts | ||
) |
Definition at line 1493 of file ifDsd.c.
int If_DsdManComputeFirstArray | ( | If_DsdMan_t * | p, |
int * | pLits, | ||
int | nLits, | ||
int * | pFirsts | ||
) |
word* If_DsdManComputeTruth | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
unsigned char * | pPermLits | ||
) |
Definition at line 1396 of file ifDsd.c.
void If_DsdManComputeTruth_rec | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
word * | pRes, | ||
unsigned char * | pPermLits, | ||
int * | pnSupp | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 1326 of file ifDsd.c.
void If_DsdManComputeTruthPtr | ( | If_DsdMan_t * | p, |
int | iDsd, | ||
unsigned char * | pPermLits, | ||
word * | pRes | ||
) |
Definition at line 1378 of file ifDsd.c.
void If_DsdManDumpAll | ( | If_DsdMan_t * | p, |
int | Support | ||
) |
Definition at line 390 of file ifDsd.c.
void If_DsdManDumpDsd | ( | If_DsdMan_t * | p, |
int | Support | ||
) |
Definition at line 356 of file ifDsd.c.
char* If_DsdManFileName | ( | If_DsdMan_t * | p | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
If_DsdMan_t* If_DsdManFilter | ( | If_DsdMan_t * | p, |
int | Limit | ||
) |
Definition at line 1263 of file ifDsd.c.
void If_DsdManFilter_rec | ( | If_DsdMan_t * | pNew, |
If_DsdMan_t * | p, | ||
int | i, | ||
Vec_Int_t * | vMap | ||
) |
Definition at line 1242 of file ifDsd.c.
void If_DsdManFree | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 316 of file ifDsd.c.
char* If_DsdManGetCellStr | ( | If_DsdMan_t * | p | ) |
word If_DsdManGetFuncPerm | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManGetSuppSizes | ( | If_DsdMan_t * | p, |
If_DsdObj_t * | pObj, | ||
int * | pSSizes | ||
) |
Definition at line 1739 of file ifDsd.c.
void If_DsdManHashProfile | ( | If_DsdMan_t * | p | ) |
Function*************************************************************
Synopsis [Printing.]
Description []
SideEffects []
SeeAlso []
Definition at line 436 of file ifDsd.c.
int If_DsdManHasMarks | ( | If_DsdMan_t * | p | ) |
Definition at line 415 of file ifDsd.c.
void If_DsdManInvertMarks | ( | If_DsdMan_t * | p, |
int | fVerbose | ||
) |
Definition at line 1233 of file ifDsd.c.
If_DsdMan_t* If_DsdManLoad | ( | char * | pFileName | ) |
Definition at line 1086 of file ifDsd.c.
int If_DsdManLutSize | ( | If_DsdMan_t * | p | ) |
void If_DsdManMerge | ( | If_DsdMan_t * | p, |
If_DsdMan_t * | pNew | ||
) |
Definition at line 1177 of file ifDsd.c.
int If_DsdManObjNum | ( | If_DsdMan_t * | p | ) |
int If_DsdManOperation | ( | If_DsdMan_t * | p, |
int | Type, | ||
int * | pLits, | ||
int | nLits, | ||
unsigned char * | pPerm, | ||
word * | pTruth | ||
) |
Definition at line 1497 of file ifDsd.c.
void If_DsdManPrint | ( | If_DsdMan_t * | p, |
char * | pFileName, | ||
int | Number, | ||
int | Support, | ||
int | fOccurs, | ||
int | fTtDump, | ||
int | fVerbose | ||
) |
Definition at line 684 of file ifDsd.c.
void If_DsdManPrint_rec | ( | FILE * | pFile, |
If_DsdMan_t * | p, | ||
int | iDsdLit, | ||
unsigned char * | pPermLits, | ||
int * | pnSupp | ||
) |
Definition at line 469 of file ifDsd.c.
void If_DsdManPrintDecs | ( | FILE * | pFile, |
If_DsdMan_t * | p | ||
) |
Definition at line 505 of file ifDsd.c.
void If_DsdManPrintDistrib | ( | If_DsdMan_t * | p | ) |
Definition at line 630 of file ifDsd.c.
void If_DsdManPrintOccurs | ( | FILE * | pFile, |
If_DsdMan_t * | p | ||
) |
Definition at line 572 of file ifDsd.c.
void If_DsdManPrintOne | ( | FILE * | pFile, |
If_DsdMan_t * | p, | ||
int | iObjId, | ||
unsigned char * | pPermLits, | ||
int | fNewLine | ||
) |
Definition at line 492 of file ifDsd.c.
int If_DsdManPushInv | ( | If_DsdMan_t * | p, |
int | iLit, | ||
unsigned char * | pPerm | ||
) |
Definition at line 1465 of file ifDsd.c.
int If_DsdManPushInv_rec | ( | If_DsdMan_t * | p, |
int | iLit, | ||
unsigned char * | pPerm | ||
) |
Definition at line 1435 of file ifDsd.c.
int If_DsdManReadMark | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManSave | ( | If_DsdMan_t * | p, |
char * | pFileName | ||
) |
Function*************************************************************
Synopsis [Saving/loading DSD manager.]
Description []
SideEffects []
SeeAlso []
Definition at line 1032 of file ifDsd.c.
void If_DsdManSetLutSize | ( | If_DsdMan_t * | p, |
int | nLutSize | ||
) |
void If_DsdManSetNewAsUseless | ( | If_DsdMan_t * | p | ) |
int If_DsdManSuppSize | ( | If_DsdMan_t * | p, |
int | iDsd | ||
) |
void If_DsdManTest | ( | ) |
Function*************************************************************
Synopsis [Checks existence of decomposition.]
Description []
SideEffects []
SeeAlso []
Definition at line 2082 of file ifDsd.c.
void If_DsdManTune | ( | If_DsdMan_t * | p, |
int | LutSize, | ||
int | fFast, | ||
int | fAdd, | ||
int | fSpec, | ||
int | fVerbose | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 2377 of file ifDsd.c.
int If_DsdManVarNum | ( | If_DsdMan_t * | p | ) |
|
inlinestatic |
If_DsdObj_t* If_DsdObjAlloc | ( | If_DsdMan_t * | p, |
int | Type, | ||
int | nFans | ||
) |
Definition at line 231 of file ifDsd.c.
|
inlinestatic |
Definition at line 110 of file ifDsd.c.
int If_DsdObjCompare | ( | If_DsdMan_t * | pMan, |
Vec_Ptr_t * | p, | ||
int | iLit0, | ||
int | iLit1 | ||
) |
Function*************************************************************
Synopsis [Sorting DSD literals.]
Description []
SideEffects []
SeeAlso []
Definition at line 827 of file ifDsd.c.
int If_DsdObjCreate | ( | If_DsdMan_t * | p, |
int | Type, | ||
int * | pLits, | ||
int | nLits, | ||
int | truthId | ||
) |
Definition at line 941 of file ifDsd.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int If_DsdObjFindOrAdd | ( | If_DsdMan_t * | p, |
int | Type, | ||
int * | pLits, | ||
int | nLits, | ||
word * | pTruth | ||
) |
Definition at line 976 of file ifDsd.c.
|
inlinestatic |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 890 of file ifDsd.c.
unsigned* If_DsdObjHashLookup | ( | If_DsdMan_t * | p, |
int | Type, | ||
int * | pLits, | ||
int | nLits, | ||
int | truthId | ||
) |
Definition at line 903 of file ifDsd.c.
|
static |
Definition at line 922 of file ifDsd.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 113 of file ifDsd.c.
|
inlinestatic |
Definition at line 108 of file ifDsd.c.
void If_DsdObjSort | ( | If_DsdMan_t * | pMan, |
Vec_Ptr_t * | p, | ||
int * | pLits, | ||
int | nLits, | ||
int * | pPerm | ||
) |
Definition at line 862 of file ifDsd.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 107 of file ifDsd.c.
|
inlinestatic |
Definition at line 106 of file ifDsd.c.
|
inlinestatic |
unsigned If_DsdSign | ( | If_DsdMan_t * | p, |
If_DsdObj_t * | pObj, | ||
int | iFan, | ||
int | iFirst, | ||
int | fShared | ||
) |
Definition at line 1732 of file ifDsd.c.
unsigned If_DsdSign_rec | ( | If_DsdMan_t * | p, |
If_DsdObj_t * | pObj, | ||
int * | pnSupp | ||
) |
Function*************************************************************
Synopsis [Returns 1 if XY-decomposability holds to this LUT size.]
Description []
SideEffects []
SeeAlso []
Definition at line 1722 of file ifDsd.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 119 of file ifDsd.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int Kit_TruthToGia | ( | Gia_Man_t * | pMan, |
unsigned * | pTruth, | ||
int | nVars, | ||
Vec_Int_t * | vMemory, | ||
Vec_Int_t * | vLeaves, | ||
int | fHash | ||
) |
DECLARATIONS ///.
CFile****************************************************************
FileName [giaMap.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [Scalable AIG package.]
Synopsis [Manipulation of mapping associated with the AIG.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
Definition at line 80 of file kitHop.c.