
Go to the source code of this file.
Functions | |
| Dsd_Node_t * | Dsd_TreeNodeCreate (int Type, int nDecs, int BlockNum) |
| FUNCTION DEFINITIONS ///. | |
| 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) |
| int | Dsd_TreeNonDsdMax_rec (Dsd_Node_t *pNode) |
| int | Dsd_TreeNonDsdMax (Dsd_Manager_t *pDsdMan, int Output) |
| int | Dsd_TreeSuppSize_rec (Dsd_Node_t *pNode) |
| int | Dsd_TreeSuppSize (Dsd_Manager_t *pDsdMan, int Output) |
| void | Dsd_TreePrint3_rec (Vec_Str_t *p, Dsd_Node_t *pNode) |
| void | Dsd_TreePrint3 (void *pStr, Dsd_Manager_t *pDsdMan, int Output) |
| void | Dsd_TreePrint4_rec (Vec_Str_t *p, Dsd_Node_t *pNode) |
| void | Dsd_TreePrint4 (void *pStr, Dsd_Manager_t *pDsdMan, int Output) |
| void | Dsd_TreePrint (FILE *pFile, Dsd_Manager_t *pDsdMan, char *pInputNames[], char *pOutputNames[], int fShortNames, int Output, int OffSet) |
| 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) |
| void Dsd_NodePrint | ( | FILE * | pFile, |
| Dsd_Node_t * | pNode ) |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 1138 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.
| 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.

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


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

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

| word Dsd_TreeFunc2Truth_rec | ( | DdManager * | dd, |
| DdNode * | bFunc ) |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 1026 of file dsdTree.c.


| int Dsd_TreeGetAigCost | ( | Dsd_Node_t * | pNode | ) |
Function*************************************************************
Synopsis [Counts AIG nodes needed to implement this node.]
Description [Assumes that the only primes of the DSD tree are MUXes.]
SideEffects []
SeeAlso []
Definition at line 291 of file dsdTree.c.

| int Dsd_TreeGetAigCost_rec | ( | Dsd_Node_t * | pNode | ) |
Function*************************************************************
Synopsis [Counts AIG nodes needed to implement this node.]
Description []
SideEffects []
SeeAlso []
Definition at line 255 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 1309 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.

| int Dsd_TreeNonDsdMax | ( | Dsd_Manager_t * | pDsdMan, |
| int | Output ) |
| int Dsd_TreeNonDsdMax_rec | ( | Dsd_Node_t * | pNode | ) |
Function*************************************************************
Synopsis [Returns the size of the largest non-DSD block.]
Description []
SideEffects []
SeeAlso []
Definition at line 641 of file dsdTree.c.


| void Dsd_TreePrint | ( | FILE * | pFile, |
| Dsd_Manager_t * | pDsdMan, | ||
| char * | pInputNames[], | ||
| char * | pOutputNames[], | ||
| int | fShortNames, | ||
| int | Output, | ||
| int | OffSet ) |
Function*************************************************************
Synopsis [Prints the decompostion tree into file.]
Description []
SideEffects []
SeeAlso []
Definition at line 830 of file dsdTree.c.

| void Dsd_TreePrint2 | ( | FILE * | pFile, |
| Dsd_Manager_t * | pDsdMan, | ||
| char * | pInputNames[], | ||
| char * | pOutputNames[], | ||
| int | Output ) |
Definition at line 1106 of file dsdTree.c.

| void Dsd_TreePrint2_rec | ( | FILE * | pFile, |
| DdManager * | dd, | ||
| Dsd_Node_t * | pNode, | ||
| int | fComp, | ||
| char * | pInputNames[] ) |
Definition at line 1042 of file dsdTree.c.


| void Dsd_TreePrint3 | ( | void * | pStr, |
| Dsd_Manager_t * | pDsdMan, | ||
| int | Output ) |
| void Dsd_TreePrint3_rec | ( | Vec_Str_t * | p, |
| Dsd_Node_t * | pNode ) |
Function*************************************************************
Synopsis [Prints the decompostion tree into a string.]
Description []
SideEffects []
SeeAlso []
Definition at line 720 of file dsdTree.c.


| void Dsd_TreePrint4 | ( | void * | pStr, |
| Dsd_Manager_t * | pDsdMan, | ||
| int | Output ) |
| void Dsd_TreePrint4_rec | ( | Vec_Str_t * | p, |
| Dsd_Node_t * | pNode ) |
Function*************************************************************
Synopsis [Prints the decompostion tree into a string.]
Description []
SideEffects []
SeeAlso []
Definition at line 775 of file dsdTree.c.


| int Dsd_TreeSuppSize | ( | Dsd_Manager_t * | pDsdMan, |
| int | Output ) |
| int Dsd_TreeSuppSize_rec | ( | Dsd_Node_t * | pNode | ) |
Function*************************************************************
Synopsis [Returns the support size.]
Description []
SideEffects []
SeeAlso []
Definition at line 682 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.
