abc-master
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <time.h>
#include "misc/vec/vec.h"
Go to the source code of this file.
Macros | |
#define | DAU_MAX_VAR 12 |
INCLUDES ///. More... | |
#define | DAU_MAX_STR 2000 |
#define | DAU_MAX_WORD (1<<(DAU_MAX_VAR-6)) |
Typedefs | |
typedef struct Dss_Man_t_ | Dss_Man_t |
Enumerations | |
enum | Dau_DsdType_t { DAU_DSD_NONE = 0, DAU_DSD_CONST0, DAU_DSD_VAR, DAU_DSD_AND, DAU_DSD_XOR, DAU_DSD_MUX, DAU_DSD_PRIME } |
BASIC TYPES ///. More... | |
Functions | |
static int | Dau_DsdIsConst (char *p) |
MACRO DEFINITIONS ///. More... | |
static int | Dau_DsdIsConst0 (char *p) |
static int | Dau_DsdIsConst1 (char *p) |
static int | Dau_DsdIsVar (char *p) |
static int | Dau_DsdReadVar (char *p) |
unsigned | Abc_TtCanonicize (word *pTruth, int nVars, char *pCanonPerm) |
FUNCTION DECLARATIONS ///. More... | |
unsigned | Abc_TtCanonicizePhase (word *pTruth, int nVars) |
int * | Dau_DsdComputeMatches (char *p) |
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) |
word * | Dau_DsdToTruth (char *p, int nVars) |
word | Dau_Dsd6ToTruth (char *p) |
void | Dau_DsdNormalize (char *p) |
int | Dau_DsdCountAnds (char *pDsd) |
void | Dau_DsdTruthCompose_rec (word *pFunc, word pFanins[DAU_MAX_VAR][DAU_MAX_WORD], word *pRes, int nVars, int nWordsR) |
int | Dau_DsdCheck1Step (void *p, word *pTruth, int nVarsInit, int *pVarLevels) |
int | Dsm_ManTruthToGia (void *p, word *pTruth, Vec_Int_t *vLeaves, Vec_Int_t *vCover) |
void * | Dsm_ManDeriveGia (void *p, int fUseMuxes) |
void | Dau_DsdRemoveBraces (char *pDsd, int *pMatches) |
char * | Dau_DsdMerge (char *pDsd0i, int *pPerm0, char *pDsd1i, int *pPerm1, int fCompl0, int fCompl1, int nVars) |
DECLARATIONS ///. More... | |
Vec_Int_t * | Dau_DecFindSets_int (word *pInit, int nVars, int *pSched[16]) |
Vec_Int_t * | Dau_DecFindSets (word *pInit, int nVars) |
void | Dau_DecSortSet (unsigned set, int nVars, int *pnUnique, int *pnShared, int *pnFree) |
void | Dau_DecPrintSets (Vec_Int_t *vSets, int nVars) |
void | Dau_DecPrintSet (unsigned set, int nVars, int fNewLine) |
Dss_Man_t * | Dss_ManAlloc (int nVars, int nNonDecLimit) |
void | Dss_ManFree (Dss_Man_t *p) |
int | Dss_ManMerge (Dss_Man_t *p, int *iDsd, int *nFans, int **pFans, unsigned uSharedMask, int nKLutSize, unsigned char *pPerm, word *pTruth) |
void | Dss_ManPrint (char *pFileName, Dss_Man_t *p) |
#define DAU_MAX_VAR 12 |
INCLUDES ///.
CFile****************************************************************
FileName [dau.h]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [DAG-aware unmapping.]
Synopsis [External declarations.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]PARAMETERS ///
#define DAU_MAX_WORD (1<<(DAU_MAX_VAR-6)) |
typedef struct Dss_Man_t_ Dss_Man_t |
enum Dau_DsdType_t |
BASIC TYPES ///.
Enumerator | |
---|---|
DAU_DSD_NONE | |
DAU_DSD_CONST0 | |
DAU_DSD_VAR | |
DAU_DSD_AND | |
DAU_DSD_XOR | |
DAU_DSD_MUX | |
DAU_DSD_PRIME |
unsigned Abc_TtCanonicize | ( | word * | pTruth, |
int | nVars, | ||
char * | pCanonPerm | ||
) |
FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Semi-canonical form computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 895 of file dauCanon.c.
unsigned Abc_TtCanonicizePhase | ( | word * | pTruth, |
int | nVars | ||
) |
Definition at line 999 of file dauCanon.c.
Definition at line 516 of file dauNonDsd.c.
Definition at line 462 of file dauNonDsd.c.
void Dau_DecPrintSet | ( | unsigned | set, |
int | nVars, | ||
int | fNewLine | ||
) |
Definition at line 390 of file dauNonDsd.c.
void Dau_DecPrintSets | ( | Vec_Int_t * | vSets, |
int | nVars | ||
) |
Definition at line 434 of file dauNonDsd.c.
void Dau_DecSortSet | ( | unsigned | set, |
int | nVars, | ||
int * | pnUnique, | ||
int * | pnShared, | ||
int * | pnFree | ||
) |
Definition at line 371 of file dauNonDsd.c.
word Dau_Dsd6ToTruth | ( | char * | p | ) |
Definition at line 445 of file dauDsd.c.
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_DsdDecompose | ( | word * | pTruth, |
int | nVarsInit, | ||
int | fSplitPrime, | ||
int | fWriteTruth, | ||
char * | pRes | ||
) |
Definition at line 1912 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.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
char* Dau_DsdMerge | ( | char * | pDsd0i, |
int * | pPerm0, | ||
char * | pDsd1i, | ||
int * | pPerm1, | ||
int | fCompl0, | ||
int | fCompl1, | ||
int | nVars | ||
) |
DECLARATIONS ///.
Function*************************************************************
Synopsis [Performs merging of two DSD formulas.]
Description []
SideEffects []
SeeAlso []
Definition at line 587 of file dauMerge.c.
void Dau_DsdNormalize | ( | char * | p | ) |
Definition at line 260 of file dauDsd.c.
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_DsdRemoveBraces | ( | char * | pDsd, |
int * | pMatches | ||
) |
Definition at line 554 of file dauMerge.c.
word* Dau_DsdToTruth | ( | char * | p, |
int | nVars | ||
) |
Definition at line 609 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.
void* Dsm_ManDeriveGia | ( | void * | pGia, |
int | fUseMuxes | ||
) |
Function*************************************************************
Synopsis [Performs structural hashing on the LUT functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 471 of file dauGia.c.
Function*************************************************************
Synopsis [Convert TT to GIA via DSD.]
Description []
SideEffects []
SeeAlso []
Definition at line 415 of file dauGia.c.
Dss_Man_t* Dss_ManAlloc | ( | int | nVars, |
int | nNonDecLimit | ||
) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 967 of file dauTree.c.
void Dss_ManFree | ( | Dss_Man_t * | p | ) |
Definition at line 987 of file dauTree.c.
int Dss_ManMerge | ( | Dss_Man_t * | p, |
int * | iDsd, | ||
int * | nFans, | ||
int ** | pFans, | ||
unsigned | uSharedMask, | ||
int | nKLutSize, | ||
unsigned char * | pPerm, | ||
word * | pTruth | ||
) |
Definition at line 1539 of file dauTree.c.
void Dss_ManPrint | ( | char * | pFileName, |
Dss_Man_t * | p | ||
) |
Definition at line 1086 of file dauTree.c.