abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Dau_Dsd_t_ |
Typedefs | |
typedef struct Dau_Dsd_t_ | Dau_Dsd_t |
Functions | |
static ABC_NAMESPACE_IMPL_START word ** | Dau_DsdTtElems () |
DECLARATIONS ///. More... | |
int * | Dau_DsdComputeMatches (char *p) |
int | Dau_DsdFindVarNum (char *pDsd) |
void | Dau_DsdGenRandPerm (int *pPerm, int nVars) |
void | Dau_DsdPermute (char *pDsd) |
char * | Dau_DsdNormalizeCopy (char *pDest, char *pSour, int *pMarks, int i) |
int | Dau_DsdNormalizeCompare (char *pStr, int *pMarks, int i, int j) |
int * | Dau_DsdNormalizePerm (char *pStr, int *pMarks, int nMarks) |
void | Dau_DsdNormalize_rec (char *pStr, char **p, int *pMatches) |
void | Dau_DsdNormalize (char *pDsd) |
int | Dau_DsdCountAnds_rec (char *pStr, char **p, int *pMatches) |
int | Dau_DsdCountAnds (char *pDsd) |
word | Dau_Dsd6TruthCompose_rec (word Func, word *pFanins, int nVars) |
word | Dau_Dsd6ToTruth_rec (char *pStr, char **p, int *pMatches, word *pTruths) |
word | Dau_Dsd6ToTruth (char *p) |
void | Dau_DsdTruth6Compose_rec (word Func, word pFanins[DAU_MAX_VAR][DAU_MAX_WORD], word *pRes, int nVars, int nWordsR) |
void | Dau_DsdTruthCompose_rec (word *pFunc, word pFanins[DAU_MAX_VAR][DAU_MAX_WORD], word *pRes, int nVars, int nWordsR) |
void | Dau_DsdToTruth_rec (char *pStr, char **p, int *pMatches, word **pTtElems, word *pRes, int nVars) |
word * | Dau_DsdToTruth (char *p, int nVars) |
void | Dau_DsdTest2 () |
static int | Dau_DsdPerformReplace (char *pBuffer, int PosStart, int Pos, int Symb, char *pNext) |
int | Dau_DsdPerform_rec (word t, char *pBuffer, int Pos, int *pVars, int nVars) |
char * | Dau_DsdPerform (word t) |
void | Dau_DsdTest3 () |
int | Dau_DsdCheck1Step (void *p, word *pTruth, int nVarsInit, int *pVarLevels) |
static void | Dau_DsdInitialize (Dau_Dsd_t *p, int nVarsInit) |
static void | Dau_DsdWriteString (Dau_Dsd_t *p, char *pStr) |
static void | Dau_DsdWriteVar (Dau_Dsd_t *p, int iVar, int fInv) |
int | Dau_DsdLevelVar (void *pMan, int iVar) |
static void | Dau_DsdTranslate (Dau_Dsd_t *p, int *pVars, int nVars, char *pStr) |
static int | Dau_DsdWritePrime (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static void | Dau_DsdFinalize (Dau_Dsd_t *p) |
static int | Dau_DsdAddVarDef (Dau_Dsd_t *p, char *pStr) |
static int | Dau_DsdFindVarDef (int *pVars, int nVars, int VarDef) |
static void | Dau_DsdInsertVarCache (Dau_Dsd_t *p, int v, int u, int Status) |
static int | Dau_DsdLookupVarCache (Dau_Dsd_t *p, int v, int u) |
static int | Dau_Dsd6DecomposeSingleVarOne (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
int | Dau_Dsd6DecomposeSingleVar (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static int | Dau_Dsd6FindSupportOne (Dau_Dsd_t *p, word tCof0, word tCof1, int *pVars, int nVars, int v, int u) |
static unsigned | Dau_Dsd6FindSupports (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
static void | Dau_DsdPrintSupports (unsigned uSupp, int nVars) |
static int | Dau_Dsd6DecomposeDoubleVarsOne (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v, int u) |
int | Dau_Dsd6DecomposeDoubleVars (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static int | Dau_Dsd6DecomposeTripleVarsOuter (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
static int | Dau_Dsd6DecomposeTripleVarsInner (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v, unsigned uSupports) |
int | Dau_Dsd6DecomposeTripleVars (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
int | Dau_Dsd6DecomposeInternal (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static int | Dau_DsdDecomposeSingleVarOne (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
int | Dau_DsdDecomposeSingleVar (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static int | Dau_DsdFindSupportOne (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v, int u) |
static unsigned | Dau_DsdFindSupports (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
static int | Dau_DsdDecomposeDoubleVarsOne (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v, int u) |
int | Dau_DsdDecomposeDoubleVars (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
static int | Dau_DsdDecomposeTripleVarsOuter (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v) |
static int | Dau_DsdDecomposeTripleVarsInner (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars, int v, unsigned uSupports) |
int | Dau_DsdDecomposeTripleVars (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
int | Dau_DsdDecomposeInternal (Dau_Dsd_t *p, word *pTruth, int *pVars, int nVars) |
int | Dau_DsdMinBase (word *pTruth, int nVars, int *pVarsNew) |
int | Dau_DsdDecomposeInt (Dau_Dsd_t *p, word *pTruth, int nVarsInit) |
int | Dau_DsdDecompose (word *pTruth, int nVarsInit, int fSplitPrime, int fWriteTruth, char *pRes) |
int | Dau_DsdDecomposeLevel (word *pTruth, int nVarsInit, int fSplitPrime, int fWriteTruth, char *pRes, int *pVarLevels) |
void | Dau_DsdPrintFromTruthFile (FILE *pFile, word *pTruth, int nVarsInit) |
void | Dau_DsdPrintFromTruth (word *pTruth, int nVarsInit) |
void | Dau_DsdTest44 () |
void | Dau_DsdTest888 () |
void | Dau_DsdTest555 () |
Variables | |
static abctime | s_Times [3] = {0} |
typedef struct Dau_Dsd_t_ Dau_Dsd_t |
Definition at line 1320 of file dauDsd.c.
|
inlinestatic |
Definition at line 1257 of file dauDsd.c.
Definition at line 1461 of file dauDsd.c.
Definition at line 1191 of file dauDsd.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Procedures specialized for 6-variable functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 1134 of file dauDsd.c.
Definition at line 1419 of file dauDsd.c.
|
inlinestatic |
Definition at line 1384 of file dauDsd.c.
|
inlinestatic |
Definition at line 1353 of file dauDsd.c.
|
inlinestatic |
Definition at line 1212 of file dauDsd.c.
|
inlinestatic |
Definition at line 1223 of file dauDsd.c.
word Dau_Dsd6ToTruth | ( | char * | p | ) |
Definition at line 445 of file dauDsd.c.
Definition at line 353 of file dauDsd.c.
Function*************************************************************
Synopsis [Computes truth table for the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 334 of file dauDsd.c.
|
inlinestatic |
int Dau_DsdCheck1Step | ( | void * | p, |
word * | pTruth, | ||
int | nVarsInit, | ||
int * | pVarLevels | ||
) |
Function*************************************************************
Synopsis [Find the best cofactoring variable.]
Description [Return -2 if non-DSD; -1 if full DSD; otherwise, returns cofactoring variables i (i >= 0).]
SideEffects []
SeeAlso []
Definition at line 893 of file dauDsd.c.
int* Dau_DsdComputeMatches | ( | char * | p | ) |
int Dau_DsdCountAnds | ( | char * | pDsd | ) |
Definition at line 316 of file dauDsd.c.
int Dau_DsdCountAnds_rec | ( | char * | pStr, |
char ** | p, | ||
int * | pMatches | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 279 of file dauDsd.c.
int Dau_DsdDecompose | ( | word * | pTruth, |
int | nVarsInit, | ||
int | fSplitPrime, | ||
int | fWriteTruth, | ||
char * | pRes | ||
) |
Definition at line 1912 of file dauDsd.c.
Definition at line 1697 of file dauDsd.c.
|
inlinestatic |
Definition at line 1602 of file dauDsd.c.
Definition at line 1897 of file dauDsd.c.
Definition at line 1854 of file dauDsd.c.
int Dau_DsdDecomposeLevel | ( | word * | pTruth, |
int | nVarsInit, | ||
int | fSplitPrime, | ||
int | fWriteTruth, | ||
char * | pRes, | ||
int * | pVarLevels | ||
) |
Definition at line 1936 of file dauDsd.c.
Definition at line 1550 of file dauDsd.c.
|
inlinestatic |
Function*************************************************************
Synopsis [Procedures specialized for 6-variable functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 1490 of file dauDsd.c.
Definition at line 1812 of file dauDsd.c.
|
inlinestatic |
Definition at line 1764 of file dauDsd.c.
|
inlinestatic |
Definition at line 1730 of file dauDsd.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 1572 of file dauDsd.c.
|
inlinestatic |
Definition at line 1589 of file dauDsd.c.
|
inlinestatic |
int Dau_DsdFindVarNum | ( | char * | pDsd | ) |
|
inlinestatic |
|
inlinestatic |
int Dau_DsdLevelVar | ( | void * | pMan, |
int | iVar | ||
) |
Definition at line 1018 of file dauDsd.c.
|
inlinestatic |
int Dau_DsdMinBase | ( | word * | pTruth, |
int | nVars, | ||
int * | pVarsNew | ||
) |
Function*************************************************************
Synopsis [Fast DSD for truth tables.]
Description []
SideEffects []
SeeAlso []
Definition at line 1883 of file dauDsd.c.
void Dau_DsdNormalize | ( | char * | pDsd | ) |
Definition at line 260 of file dauDsd.c.
void Dau_DsdNormalize_rec | ( | char * | pStr, |
char ** | p, | ||
int * | pMatches | ||
) |
Definition at line 205 of file dauDsd.c.
int Dau_DsdNormalizeCompare | ( | char * | pStr, |
int * | pMarks, | ||
int | i, | ||
int | j | ||
) |
char* Dau_DsdNormalizeCopy | ( | char * | pDest, |
char * | pSour, | ||
int * | pMarks, | ||
int | i | ||
) |
Function*************************************************************
Synopsis [Normalize the ordering of components.]
Description []
SideEffects []
SeeAlso []
int* Dau_DsdNormalizePerm | ( | char * | pStr, |
int * | pMarks, | ||
int | nMarks | ||
) |
Definition at line 189 of file dauDsd.c.
char* Dau_DsdPerform | ( | word | t | ) |
Definition at line 828 of file dauDsd.c.
int Dau_DsdPerform_rec | ( | word | t, |
char * | pBuffer, | ||
int | Pos, | ||
int * | pVars, | ||
int | nVars | ||
) |
Definition at line 673 of file dauDsd.c.
|
inlinestatic |
void Dau_DsdPrintFromTruth | ( | word * | pTruth, |
int | nVarsInit | ||
) |
Definition at line 1968 of file dauDsd.c.
void Dau_DsdPrintFromTruthFile | ( | FILE * | pFile, |
word * | pTruth, | ||
int | nVarsInit | ||
) |
Definition at line 1960 of file dauDsd.c.
|
inlinestatic |
void Dau_DsdTest2 | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
void Dau_DsdTest3 | ( | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
void Dau_DsdTest44 | ( | ) |
Definition at line 1977 of file dauDsd.c.
void Dau_DsdTest555 | ( | ) |
Definition at line 2032 of file dauDsd.c.
void Dau_DsdTest888 | ( | ) |
Definition at line 1999 of file dauDsd.c.
word* Dau_DsdToTruth | ( | char * | p, |
int | nVars | ||
) |
Definition at line 609 of file dauDsd.c.
void Dau_DsdToTruth_rec | ( | char * | pStr, |
char ** | p, | ||
int * | pMatches, | ||
word ** | pTtElems, | ||
word * | pRes, | ||
int | nVars | ||
) |
Definition at line 535 of file dauDsd.c.
|
inlinestatic |
Definition at line 1033 of file dauDsd.c.
void Dau_DsdTruth6Compose_rec | ( | word | Func, |
word | pFanins[DAU_MAX_VAR][DAU_MAX_WORD], | ||
word * | pRes, | ||
int | nVars, | ||
int | nWordsR | ||
) |
Function*************************************************************
Synopsis [Computes truth table for the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 469 of file dauDsd.c.
void Dau_DsdTruthCompose_rec | ( | word * | pFunc, |
word | pFanins[DAU_MAX_VAR][DAU_MAX_WORD], | ||
word * | pRes, | ||
int | nVars, | ||
int | nWordsR | ||
) |
Definition at line 501 of file dauDsd.c.
|
inlinestatic |
DECLARATIONS ///.
CFile****************************************************************
FileName [dauDsd.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [DAG-aware unmapping.]
Synopsis [Disjoint-support decomposition.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Elementary truth tables.]
Description []
SideEffects []
SeeAlso []
Definition at line 56 of file dauDsd.c.
Definition at line 1041 of file dauDsd.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 1007 of file dauDsd.c.