#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 ///. | |
| #define | DAU_MAX_STR 2000 |
| #define | DAU_MAX_WORD (1<<(DAU_MAX_VAR-6)) |
Typedefs | |
| typedef struct Dss_Man_t_ | Dss_Man_t |
| typedef struct Abc_TtHieMan_t_ | Abc_TtHieMan_t |
| typedef unsigned(* | TtCanonicizeFunc) (Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int flag) |
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 | |
| unsigned | Abc_TtCanonicize (word *pTruth, int nVars, char *pCanonPerm) |
| FUNCTION DECLARATIONS ///. | |
| unsigned | Abc_TtCanonicizePerm (word *pTruth, int nVars, char *pCanonPerm) |
| unsigned | Abc_TtCanonicizePhase (word *pTruth, int nVars) |
| int | Abc_TtCountOnesInCofsSimple (word *pTruth, int nVars, int *pStore) |
| unsigned | Abc_TtCanonicizeHie (Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int fExact) |
| Abc_TtHieMan_t * | Abc_TtHieManStart (int nVars, int nLevels) |
| void | Abc_TtHieManStop (Abc_TtHieMan_t *p) |
| unsigned | Abc_TtCanonicizeWrap (TtCanonicizeFunc func, Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int flag) |
| unsigned | Abc_TtCanonicizeAda (Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int iThres) |
| int | Abc_TtCountOnesInCofsQuick (word *pTruth, int nVars, int *pStore) |
| 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 ///. | |
| 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 Abc_TtHieMan_t_ Abc_TtHieMan_t |
| typedef struct Dss_Man_t_ Dss_Man_t |
| typedef unsigned(* TtCanonicizeFunc) (Abc_TtHieMan_t *p, word *pTruth, int nVars, char *pCanonPerm, int flag) |
| 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 | |
Definition at line 51 of file dau.h.
|
extern |
FUNCTION DECLARATIONS ///.
Function*************************************************************
Synopsis [Semi-canonical form computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 1036 of file dauCanon.c.


|
extern |
Function*************************************************************
Synopsis [Adaptive heuristic/exact canonical form computation.]
Description []
SideEffects []
SeeAlso []
Definition at line 2573 of file dauCanon.c.


|
extern |
Definition at line 1318 of file dauCanon.c.


|
extern |
Definition at line 1085 of file dauCanon.c.


|
extern |
Definition at line 1187 of file dauCanon.c.

|
extern |
Definition at line 1530 of file dauCanon.c.


|
extern |
Definition at line 376 of file dauCount.c.


|
extern |
Definition at line 370 of file dauCanon.c.

|
extern |
Definition at line 1255 of file dauCanon.c.

|
extern |
Definition at line 516 of file dauNonDsd.c.


Definition at line 462 of file dauNonDsd.c.


|
extern |
Definition at line 390 of file dauNonDsd.c.


|
extern |
Definition at line 434 of file dauNonDsd.c.


|
extern |
Definition at line 371 of file dauNonDsd.c.

|
extern |
Definition at line 445 of file dauDsd.c.


|
extern |
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.


|
extern |
Function*************************************************************
Synopsis [DSD formula manipulation.]
Description []
SideEffects []
SeeAlso []
Definition at line 80 of file dauDsd.c.

|
extern |
Definition at line 316 of file dauDsd.c.


|
extern |
Definition at line 1912 of file dauDsd.c.


|
extern |
Definition at line 1936 of file dauDsd.c.


|
extern |
DECLARATIONS ///.
Function*************************************************************
Synopsis [Performs merging of two DSD formulas.]
Description []
SideEffects []
SeeAlso []
Definition at line 587 of file dauMerge.c.

|
extern |
Definition at line 260 of file dauDsd.c.


|
extern |
Definition at line 1968 of file dauDsd.c.


|
extern |
Definition at line 1960 of file dauDsd.c.

|
extern |
Definition at line 554 of file dauMerge.c.


|
extern |
Definition at line 609 of file dauDsd.c.


|
extern |
Definition at line 501 of file dauDsd.c.


|
extern |
Function*************************************************************
Synopsis [Performs structural hashing on the LUT functions.]
Description []
SideEffects []
SeeAlso []
Definition at line 503 of file dauGia.c.


Function*************************************************************
Synopsis [Convert TT to GIA via DSD.]
Description []
SideEffects []
SeeAlso []
Definition at line 441 of file dauGia.c.


|
extern |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 967 of file dauTree.c.


|
extern |
Definition at line 987 of file dauTree.c.


|
extern |
Definition at line 1539 of file dauTree.c.


|
extern |
Definition at line 1086 of file dauTree.c.

