abc-master
|
Go to the source code of this file.
Data Structures | |
struct | If_Grp_t_ |
struct | If_Hte_t_ |
Macros | |
#define | CLU_VAR_MAX 16 |
DECLARATIONS ///. More... | |
#define | CLU_WRD_MAX (1 << ((CLU_VAR_MAX)-6)) |
#define | CLU_MEM_MAX 1000 |
#define | CLU_UNUSED 0xff |
Typedefs | |
typedef struct If_Grp_t_ | If_Grp_t |
typedef struct If_Hte_t_ | If_Hte_t |
Functions | |
void | Kit_DsdPrintFromTruth (unsigned *pTruth, int nVars) |
void | Extra_PrintBinary (FILE *pFile, unsigned Sign[], int nBits) |
int | If_CluSupportSize (word *t, int nVars) |
static unsigned | If_CluGrp2Uns (If_Grp_t *pG) |
FUNCTION DEFINITIONS ///. More... | |
static void | If_CluUns2Grp (unsigned Group, If_Grp_t *pG) |
unsigned int | If_CluPrimeCudd (unsigned int p) |
static int | If_CluWordNum (int nVars) |
static int | If_CluCountOnes (word t) |
void | If_CluHashTableCheck (If_Man_t *p) |
void | If_CluHashPrintStats (If_Man_t *p, int t) |
int | If_CluHashFindMedian (If_Man_t *p, int t) |
int | If_CluHashKey (word *pTruth, int nWords, int Size) |
unsigned * | If_CluHashLookup (If_Man_t *p, word *pTruth, int t) |
static void | If_CluClear (word *pIn, int nVars) |
static void | If_CluFill (word *pIn, int nVars) |
static void | If_CluCopy (word *pOut, word *pIn, int nVars) |
static int | If_CluEqual (word *pOut, word *pIn, int nVars) |
static void | If_CluAnd (word *pRes, word *pIn1, word *pIn2, int nVars) |
static void | If_CluSharp (word *pRes, word *pIn1, word *pIn2, int nVars) |
static void | If_CluOr (word *pRes, word *pIn1, word *pIn2, int nVars) |
static word | If_CluAdjust (word t, int nVars) |
static void | If_CluAdjustBig (word *pF, int nVarsCur, int nVarsMax) |
static void | If_CluSwapAdjacent (word *pOut, word *pIn, int iVar, int nVars) |
void | If_CluChangePhase (word *pF, int nVars, int iVar) |
void | If_CluCountOnesInCofs (word *pTruth, int nVars, int *pStore) |
unsigned | If_CluSemiCanonicize (word *pTruth, int nVars, int *pCanonPerm) |
void | If_CluSemiCanonicizeVerify (word *pTruth, word *pTruth0, int nVars, int *pCanonPerm, unsigned uCanonPhase) |
void | If_CluPrintGroup (If_Grp_t *g) |
void | If_CluPrintConfig (int nVars, If_Grp_t *g, If_Grp_t *r, word BStruth, word *pFStruth) |
void | If_CluInitTruthTables () |
static void | If_CluComposeLut (int nVars, If_Grp_t *g, word *t, word f[6][CLU_WRD_MAX], word *r) |
void | If_CluVerify (word *pF, int nVars, If_Grp_t *g, If_Grp_t *r, word BStruth, word *pFStruth) |
void | If_CluVerify3 (word *pF, int nVars, If_Grp_t *g, If_Grp_t *g2, If_Grp_t *r, word BStruth, word BStruth2, word FStruth) |
void | If_CluSwapVars (word *pTruth, int nVars, int *V2P, int *P2V, int iVar, int jVar) |
void | If_CluReverseOrder (word *pTruth, int nVars, int *V2P, int *P2V, int iVarStart) |
void | If_CluMoveVar2 (word *pF, int nVars, int *Var2Pla, int *Pla2Var, int v, int p) |
void | If_CluMoveVar (word *pF, int nVars, int *Var2Pla, int *Pla2Var, int v, int p) |
void | If_CluMoveGroupToMsb (word *pF, int nVars, int *V2P, int *P2V, If_Grp_t *g) |
void | If_CluReverseOrder_old (word *pF, int nVars, int *V2P, int *P2V, int iVarStart) |
int | If_CluCountCofs (word *pF, int nVars, int nBSsize, int iShift, word pCofs[3][CLU_WRD_MAX/4]) |
int | If_CluCountCofs4 (word *pF, int nVars, int nBSsize, word pCofs[6][CLU_WRD_MAX/4]) |
void | If_CluCofactors (word *pF, int nVars, int iVar, word *pCof0, word *pCof1) |
int | If_CluDetectSpecialCaseCofs (word *pF, int nVars, int iVar) |
If_Grp_t | If_CluDecUsingCofs (word *pTruth, int nVars, int nLutLeaf) |
word | If_CluDeriveDisjoint (word *pF, int nVars, int *V2P, int *P2V, If_Grp_t *g, If_Grp_t *r) |
void | If_CluDeriveDisjoint4 (word *pF, int nVars, int *V2P, int *P2V, If_Grp_t *g, If_Grp_t *r, word *pTruth0, word *pTruth1) |
word | If_CluDeriveNonDisjoint (word *pF, int nVars, int *V2P, int *P2V, If_Grp_t *g, If_Grp_t *r) |
int | If_CluCheckNonDisjointGroup (word *pF, int nVars, int *V2P, int *P2V, If_Grp_t *g) |
If_Grp_t | If_CluFindGroup (word *pF, int nVars, int iVarStart, int iVarStop, int *V2P, int *P2V, int nBSsize, int fDisjoint) |
void | If_CluCheckGroup (word *pTruth, int nVars, If_Grp_t *g) |
void | If_CluCheckPerm (word *pTruth, word *pF, int nVars, int *V2P, int *P2V) |
static int | If_CluSuppIsMinBase (int Supp) |
static int | If_CluHasVar (word *t, int nVars, int iVar) |
static int | If_CluSupport (word *t, int nVars) |
static void | If_CluTruthShrink (word *pF, int nVars, int nVarsAll, unsigned Phase) |
int | If_CluMinimumBase (word *t, int *pSupp, int nVarsAll, int *pnVars) |
If_Grp_t | If_CluCheck (If_Man_t *p, word *pTruth0, int nVars, int iVarStart, int iVarStop, int nLutLeaf, int nLutRoot, If_Grp_t *pR, word *pFunc0, word *pFunc1, word *pLeftOver, int fHashing) |
int | If_CluCheckDecInAny (word t, int nVars) |
int | If_CluCheckDecIn (word t, int nVars) |
int | If_CluCheckDecInU (word t, int nVars) |
int | If_CluCheckDecOut (word t, int nVars) |
int | If_CluCheckDecOutU (word t, int nVars) |
int | If_CutPerformCheck45 (If_Man_t *p, unsigned *pTruth, int nVars, int nLeaves, char *pStr) |
int | If_CutPerformCheck54 (If_Man_t *p, unsigned *pTruth, int nVars, int nLeaves, char *pStr) |
If_Grp_t | If_CluCheck3 (If_Man_t *p, word *pTruth0, int nVars, int nLutLeaf, int nLutLeaf2, int nLutRoot, If_Grp_t *pR, If_Grp_t *pG2, word *pFunc0, word *pFunc1, word *pFunc2) |
int | If_CluCheckExt (void *pMan, word *pTruth, int nVars, int nLutLeaf, int nLutRoot, char *pLut0, char *pLut1, word *pFunc0, word *pFunc1) |
int | If_CluCheckExt3 (void *pMan, word *pTruth, int nVars, int nLutLeaf, int nLutLeaf2, int nLutRoot, char *pLut0, char *pLut1, char *pLut2, word *pFunc0, word *pFunc1, word *pFunc2) |
float | If_CluDelayMax (If_Grp_t *g, float *pDelays) |
float | If_CutDelayLutStruct (If_Man_t *p, If_Cut_t *pCut, char *pStr, float WireDelay) |
int | If_CutPerformCheck16 (If_Man_t *p, unsigned *pTruth0, int nVars, int nLeaves, char *pStr) |
void | If_CluTest () |
Variables | |
static word | PMasks [5][3] |
static word | Truth6 [6] |
static word | TruthAll [CLU_VAR_MAX][CLU_WRD_MAX] = {{0}} |
int | s_Count2 = 0 |
int | s_Count3 = 0 |
#define CLU_VAR_MAX 16 |
DECLARATIONS ///.
CFile****************************************************************
FileName [ifDec16.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [FPGA mapping based on priority cuts.]
Synopsis [Fast checking procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - November 21, 2006.]
Revision [
]
#define CLU_WRD_MAX (1 << ((CLU_VAR_MAX)-6)) |
void Extra_PrintBinary | ( | FILE * | pFile, |
unsigned | Sign[], | ||
int | nBits | ||
) |
Function*************************************************************
Synopsis [Prints the bit string.]
Description []
SideEffects []
SeeAlso []
Definition at line 497 of file extraUtilFile.c.
|
inlinestatic |
If_Grp_t If_CluCheck | ( | If_Man_t * | p, |
word * | pTruth0, | ||
int | nVars, | ||
int | iVarStart, | ||
int | iVarStop, | ||
int | nLutLeaf, | ||
int | nLutRoot, | ||
If_Grp_t * | pR, | ||
word * | pFunc0, | ||
word * | pFunc1, | ||
word * | pLeftOver, | ||
int | fHashing | ||
) |
G1.pVars[nLutLeaf+i] = P2V[i];
Definition at line 1553 of file ifDec16.c.
If_Grp_t If_CluCheck3 | ( | If_Man_t * | p, |
word * | pTruth0, | ||
int | nVars, | ||
int | nLutLeaf, | ||
int | nLutLeaf2, | ||
int | nLutRoot, | ||
If_Grp_t * | pR, | ||
If_Grp_t * | pG2, | ||
word * | pFunc0, | ||
word * | pFunc1, | ||
word * | pFunc2 | ||
) |
Definition at line 1909 of file ifDec16.c.
int If_CluCheckDecOutU | ( | word | t, |
int | nVars | ||
) |
int If_CluCheckExt | ( | void * | pMan, |
word * | pTruth, | ||
int | nVars, | ||
int | nLutLeaf, | ||
int | nLutRoot, | ||
char * | pLut0, | ||
char * | pLut1, | ||
word * | pFunc0, | ||
word * | pFunc1 | ||
) |
Definition at line 2066 of file ifDec16.c.
int If_CluCheckExt3 | ( | void * | pMan, |
word * | pTruth, | ||
int | nVars, | ||
int | nLutLeaf, | ||
int | nLutLeaf2, | ||
int | nLutRoot, | ||
char * | pLut0, | ||
char * | pLut1, | ||
char * | pLut2, | ||
word * | pFunc0, | ||
word * | pFunc1, | ||
word * | pFunc2 | ||
) |
Definition at line 2079 of file ifDec16.c.
Definition at line 1420 of file ifDec16.c.
Definition at line 1278 of file ifDec16.c.
Definition at line 1451 of file ifDec16.c.
|
inlinestatic |
|
static |
Definition at line 623 of file ifDec16.c.
void If_CluCountOnesInCofs | ( | word * | pTruth, |
int | nVars, | ||
int * | pStore | ||
) |
Definition at line 1112 of file ifDec16.c.
word If_CluDeriveDisjoint | ( | word * | pF, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
If_Grp_t * | g, | ||
If_Grp_t * | r | ||
) |
Definition at line 1183 of file ifDec16.c.
void If_CluDeriveDisjoint4 | ( | word * | pF, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
If_Grp_t * | g, | ||
If_Grp_t * | r, | ||
word * | pTruth0, | ||
word * | pTruth1 | ||
) |
Definition at line 1208 of file ifDec16.c.
word If_CluDeriveNonDisjoint | ( | word * | pF, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
If_Grp_t * | g, | ||
If_Grp_t * | r | ||
) |
Definition at line 1237 of file ifDec16.c.
int If_CluDetectSpecialCaseCofs | ( | word * | pF, |
int | nVars, | ||
int | iVar | ||
) |
|
inlinestatic |
If_Grp_t If_CluFindGroup | ( | word * | pF, |
int | nVars, | ||
int | iVarStart, | ||
int | iVarStop, | ||
int * | V2P, | ||
int * | P2V, | ||
int | nBSsize, | ||
int | fDisjoint | ||
) |
Definition at line 1306 of file ifDec16.c.
|
inlinestatic |
int If_CluHashFindMedian | ( | If_Man_t * | p, |
int | t | ||
) |
Definition at line 180 of file ifDec16.c.
int If_CluHashKey | ( | word * | pTruth, |
int | nWords, | ||
int | Size | ||
) |
Definition at line 233 of file ifDec16.c.
void If_CluHashPrintStats | ( | If_Man_t * | p, |
int | t | ||
) |
Definition at line 164 of file ifDec16.c.
void If_CluHashTableCheck | ( | If_Man_t * | p | ) |
Definition at line 144 of file ifDec16.c.
|
inlinestatic |
int If_CluMinimumBase | ( | word * | t, |
int * | pSupp, | ||
int | nVarsAll, | ||
int * | pnVars | ||
) |
Definition at line 1532 of file ifDec16.c.
Definition at line 855 of file ifDec16.c.
void If_CluMoveVar | ( | word * | pF, |
int | nVars, | ||
int * | Var2Pla, | ||
int * | Pla2Var, | ||
int | v, | ||
int | p | ||
) |
Definition at line 818 of file ifDec16.c.
void If_CluMoveVar2 | ( | word * | pF, |
int | nVars, | ||
int * | Var2Pla, | ||
int * | Pla2Var, | ||
int | v, | ||
int | p | ||
) |
Definition at line 812 of file ifDec16.c.
Definition at line 590 of file ifDec16.c.
void If_CluReverseOrder | ( | word * | pTruth, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
int | iVarStart | ||
) |
Definition at line 800 of file ifDec16.c.
void If_CluReverseOrder_old | ( | word * | pF, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
int | iVarStart | ||
) |
Definition at line 864 of file ifDec16.c.
unsigned If_CluSemiCanonicize | ( | word * | pTruth, |
int | nVars, | ||
int * | pCanonPerm | ||
) |
Definition at line 485 of file ifDec16.c.
void If_CluSemiCanonicizeVerify | ( | word * | pTruth, |
word * | pTruth0, | ||
int | nVars, | ||
int * | pCanonPerm, | ||
unsigned | uCanonPhase | ||
) |
Definition at line 539 of file ifDec16.c.
|
inlinestatic |
|
inlinestatic |
Definition at line 402 of file ifDec16.c.
void If_CluSwapVars | ( | word * | pTruth, |
int | nVars, | ||
int * | V2P, | ||
int * | P2V, | ||
int | iVar, | ||
int | jVar | ||
) |
Definition at line 723 of file ifDec16.c.
void If_CluTest | ( | ) |
Definition at line 2301 of file ifDec16.c.
|
inlinestatic |
Definition at line 1511 of file ifDec16.c.
|
inlinestatic |
void If_CluVerify | ( | word * | pF, |
int | nVars, | ||
If_Grp_t * | g, | ||
If_Grp_t * | r, | ||
word | BStruth, | ||
word * | pFStruth | ||
) |
Definition at line 641 of file ifDec16.c.
void If_CluVerify3 | ( | word * | pF, |
int | nVars, | ||
If_Grp_t * | g, | ||
If_Grp_t * | g2, | ||
If_Grp_t * | r, | ||
word | BStruth, | ||
word | BStruth2, | ||
word | FStruth | ||
) |
Definition at line 673 of file ifDec16.c.
|
inlinestatic |
Definition at line 2103 of file ifDec16.c.
int If_CutPerformCheck16 | ( | If_Man_t * | p, |
unsigned * | pTruth0, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Function*************************************************************
Synopsis [Performs additional check.]
Description []
SideEffects []
SeeAlso []
Definition at line 2216 of file ifDec16.c.
int If_CutPerformCheck45 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Definition at line 1865 of file ifDec16.c.
int If_CutPerformCheck54 | ( | If_Man_t * | p, |
unsigned * | pTruth, | ||
int | nVars, | ||
int | nLeaves, | ||
char * | pStr | ||
) |
Definition at line 1886 of file ifDec16.c.
void Kit_DsdPrintFromTruth | ( | unsigned * | pTruth, |
int | nVars | ||
) |
Function*************************************************************
Synopsis [Print the DSD formula.]
Description []
SideEffects []
SeeAlso []
Definition at line 490 of file kitDsd.c.
|
static |
|
static |
|
static |