abc-master
|
Go to the source code of this file.
Functions | |
static ABC_NAMESPACE_IMPL_START void | Dsd_TreeUnmark_rec (Dsd_Node_t *pNode) |
FUNCTION DECLARATIONS ///. More... | |
static void | Dsd_TreeGetInfo_rec (Dsd_Node_t *pNode, int RankCur) |
static int | Dsd_TreeCountNonTerminalNodes_rec (Dsd_Node_t *pNode) |
static int | Dsd_TreeCountPrimeNodes_rec (Dsd_Node_t *pNode) |
static int | Dsd_TreeCollectDecomposableVars_rec (DdManager *dd, Dsd_Node_t *pNode, int *pVars, int *nVars) |
static void | Dsd_TreeCollectNodesDfs_rec (Dsd_Node_t *pNode, Dsd_Node_t *ppNodes[], int *pnNodes) |
static void | Dsd_TreePrint_rec (FILE *pFile, Dsd_Node_t *pNode, int fCcmp, char *pInputNames[], char *pOutputName, int nOffset, int *pSigCounter, int fShortNames) |
static void | Dsd_NodePrint_rec (FILE *pFile, Dsd_Node_t *pNode, int fComp, char *pOutputName, int nOffset, int *pSigCounter) |
Dsd_Node_t * | Dsd_TreeNodeCreate (int Type, int nDecs, int BlockNum) |
FUNCTION DEFINITIONS ///. More... | |
void | Dsd_TreeNodeDelete (DdManager *dd, Dsd_Node_t *pNode) |
void | Dsd_TreeUnmark (Dsd_Manager_t *pDsdMan) |
void | Dsd_TreeNodeGetInfo (Dsd_Manager_t *pDsdMan, int *DepthMax, int *GateSizeMax) |
void | Dsd_TreeNodeGetInfoOne (Dsd_Node_t *pNode, int *DepthMax, int *GateSizeMax) |
int | Dsd_TreeGetAigCost_rec (Dsd_Node_t *pNode) |
int | Dsd_TreeGetAigCost (Dsd_Node_t *pNode) |
int | Dsd_TreeCountNonTerminalNodes (Dsd_Manager_t *pDsdMan) |
int | Dsd_TreeCountNonTerminalNodesOne (Dsd_Node_t *pRoot) |
int | Dsd_TreeCountPrimeNodes (Dsd_Manager_t *pDsdMan) |
int | Dsd_TreeCountPrimeNodesOne (Dsd_Node_t *pRoot) |
int | Dsd_TreeCollectDecomposableVars (Dsd_Manager_t *pDsdMan, int *pVars) |
Dsd_Node_t ** | Dsd_TreeCollectNodesDfs (Dsd_Manager_t *pDsdMan, int *pnNodes) |
Dsd_Node_t ** | Dsd_TreeCollectNodesDfsOne (Dsd_Manager_t *pDsdMan, Dsd_Node_t *pNode, int *pnNodes) |
void | Dsd_TreePrint (FILE *pFile, Dsd_Manager_t *pDsdMan, char *pInputNames[], char *pOutputNames[], int fShortNames, int Output) |
word | Dsd_TreeFunc2Truth_rec (DdManager *dd, DdNode *bFunc) |
void | Dsd_TreePrint2_rec (FILE *pFile, DdManager *dd, Dsd_Node_t *pNode, int fComp, char *pInputNames[]) |
void | Dsd_TreePrint2 (FILE *pFile, Dsd_Manager_t *pDsdMan, char *pInputNames[], char *pOutputNames[], int Output) |
void | Dsd_NodePrint (FILE *pFile, Dsd_Node_t *pNode) |
DdNode * | Dsd_TreeGetPrimeFunctionOld (DdManager *dd, Dsd_Node_t *pNode, int fRemap) |
Variables | |
static int | s_DepthMax |
STATIC VARIABLES ///. More... | |
static int | s_GateSizeMax |
void Dsd_NodePrint | ( | FILE * | pFile, |
Dsd_Node_t * | pNode | ||
) |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 949 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis [Prints one node of the decomposition tree.]
Description []
SideEffects []
SeeAlso []
Definition at line 968 of file dsdTree.c.
int Dsd_TreeCollectDecomposableVars | ( | Dsd_Manager_t * | pDsdMan, |
int * | pVars | ||
) |
Function*************************************************************
Synopsis [Collects the decomposable vars on the PI side.]
Description []
SideEffects []
SeeAlso []
Definition at line 470 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis [Implements the recursive part of Dsd_TreeCollectDecomposableVars().]
Description [Adds decomposable variables as they are found to pVars and increments nVars. Returns 1 if a non-dec node with more than 4 inputs was encountered in the processed subtree. Returns 0, otherwise. ]
SideEffects []
SeeAlso []
Definition at line 494 of file dsdTree.c.
Dsd_Node_t** Dsd_TreeCollectNodesDfs | ( | Dsd_Manager_t * | pDsdMan, |
int * | pnNodes | ||
) |
Function*************************************************************
Synopsis [Creates the DFS ordered array of DSD nodes in the tree.]
Description [The collected nodes do not include the terminal nodes and the constant 1 node. The array of nodes is returned. The number of entries in the array is returned in the variale pnNodes.]
SideEffects []
SeeAlso []
Definition at line 555 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 611 of file dsdTree.c.
Dsd_Node_t** Dsd_TreeCollectNodesDfsOne | ( | Dsd_Manager_t * | pDsdMan, |
Dsd_Node_t * | pNode, | ||
int * | pnNodes | ||
) |
Function*************************************************************
Synopsis [Creates the DFS ordered array of DSD nodes in the tree.]
Description [The collected nodes do not include the terminal nodes and the constant 1 node. The array of nodes is returned. The number of entries in the array is returned in the variale pnNodes.]
SideEffects []
SeeAlso []
Definition at line 585 of file dsdTree.c.
int Dsd_TreeCountNonTerminalNodes | ( | Dsd_Manager_t * | pDsdMan | ) |
Function*************************************************************
Synopsis [Counts non-terminal nodes of the DSD tree.]
Description [Nonterminal nodes include all the nodes with the support more than 1. These are OR, EXOR, and PRIME nodes. They do not include the elementary variable nodes and the constant 1 node.]
SideEffects []
SeeAlso []
Definition at line 310 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis [Counts non-terminal nodes for one root.]
Description []
SideEffects []
SeeAlso []
Definition at line 354 of file dsdTree.c.
int Dsd_TreeCountNonTerminalNodesOne | ( | Dsd_Node_t * | pRoot | ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 331 of file dsdTree.c.
int Dsd_TreeCountPrimeNodes | ( | Dsd_Manager_t * | pDsdMan | ) |
Function*************************************************************
Synopsis [Counts prime nodes of the DSD tree.]
Description [Prime nodes are nodes with the support more than 2, that is not an OR or EXOR gate.]
SideEffects []
SeeAlso []
Definition at line 389 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 433 of file dsdTree.c.
int Dsd_TreeCountPrimeNodesOne | ( | Dsd_Node_t * | pRoot | ) |
Function*************************************************************
Synopsis [Counts prime nodes for one root.]
Description []
SideEffects []
SeeAlso []
Definition at line 410 of file dsdTree.c.
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 837 of file dsdTree.c.
int Dsd_TreeGetAigCost | ( | Dsd_Node_t * | pNode | ) |
int Dsd_TreeGetAigCost_rec | ( | Dsd_Node_t * | pNode | ) |
|
static |
Function*************************************************************
Synopsis [Performs the recursive step of Dsd_TreeNodeGetInfo().]
Description [pNode is the node, for the tree rooted in which we are determining info. RankCur is the current rank to assign to the node. fSetRank is the flag saying whether the rank will be written in the node. s_DepthMax is the maximum depths of the tree. s_GateSizeMax is the maximum gate size.]
SideEffects []
SeeAlso []
Definition at line 212 of file dsdTree.c.
DdNode* Dsd_TreeGetPrimeFunctionOld | ( | DdManager * | dd, |
Dsd_Node_t * | pNode, | ||
int | fRemap | ||
) |
Function*************************************************************
Synopsis [Retuns the function of one node of the decomposition tree.]
Description [This is the old procedure. It is now superceded by the procedure Dsd_TreeGetPrimeFunction() found in "dsdLocal.c".]
SideEffects []
SeeAlso []
Definition at line 1120 of file dsdTree.c.
Dsd_Node_t* Dsd_TreeNodeCreate | ( | int | Type, |
int | nDecs, | ||
int | BlockNum | ||
) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Create the DSD node.]
Description []
SideEffects []
SeeAlso []
Definition at line 61 of file dsdTree.c.
void Dsd_TreeNodeDelete | ( | DdManager * | dd, |
Dsd_Node_t * | pNode | ||
) |
void Dsd_TreeNodeGetInfo | ( | Dsd_Manager_t * | pDsdMan, |
int * | DepthMax, | ||
int * | GateSizeMax | ||
) |
Function*************************************************************
Synopsis [Getting information about the node.]
Description [This function computes the max depth and the max gate size of the tree rooted at the node.]
SideEffects []
SeeAlso []
Definition at line 156 of file dsdTree.c.
void Dsd_TreeNodeGetInfoOne | ( | Dsd_Node_t * | pNode, |
int * | DepthMax, | ||
int * | GateSizeMax | ||
) |
Function*************************************************************
Synopsis [Getting information about the node.]
Description [This function computes the max depth and the max gate size of the tree rooted at the node.]
SideEffects []
SeeAlso []
Definition at line 183 of file dsdTree.c.
void Dsd_TreePrint | ( | FILE * | pFile, |
Dsd_Manager_t * | pDsdMan, | ||
char * | pInputNames[], | ||
char * | pOutputNames[], | ||
int | fShortNames, | ||
int | Output | ||
) |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 641 of file dsdTree.c.
void Dsd_TreePrint2 | ( | FILE * | pFile, |
Dsd_Manager_t * | pDsdMan, | ||
char * | pInputNames[], | ||
char * | pOutputNames[], | ||
int | Output | ||
) |
Definition at line 917 of file dsdTree.c.
void Dsd_TreePrint2_rec | ( | FILE * | pFile, |
DdManager * | dd, | ||
Dsd_Node_t * | pNode, | ||
int | fComp, | ||
char * | pInputNames[] | ||
) |
Definition at line 853 of file dsdTree.c.
|
static |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 675 of file dsdTree.c.
void Dsd_TreeUnmark | ( | Dsd_Manager_t * | pDsdMan | ) |
Function*************************************************************
Synopsis [Unmarks the decomposition tree.]
Description [This function assumes that originally pNode->nVisits are set to zero!]
SideEffects []
SeeAlso []
Definition at line 107 of file dsdTree.c.
|
static |
FUNCTION DECLARATIONS ///.
CFile****************************************************************
FileName [dsdTree.c]
PackageName [DSD: Disjoint-support decomposition package.]
Synopsis [Managing the decomposition tree.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 8.0. Started - September 22, 2003.]
Revision [
]
Function*************************************************************
Synopsis [Recursive unmarking.]
Description [This function should be called with a non-complemented pointer.]
SideEffects []
SeeAlso []
Definition at line 127 of file dsdTree.c.