#include "mapperInt.h"
Go to the source code of this file.
Classes | |
| struct | Map_CutTableStrutct_t |
Macros | |
| #define | MAP_CUTS_MAX_COMPUTE 1000 |
| DECLARATIONS ///. | |
| #define | MAP_CUTS_MAX_USE 250 |
| #define | Map_ListForEachCut(pList, pCut) |
| #define | Map_ListForEachCutSafe(pList, pCut, pCut2) |
Typedefs | |
| typedef struct Map_CutTableStrutct_t | Map_CutTable_t |
Functions | |
| int | Map_MappingCountAllCuts (Map_Man_t *pMan) |
| FUNCTION DEFINITIONS ///. | |
| void | Map_MappingCutsInput (Map_Man_t *p, Map_Node_t *pNode) |
| void | Map_MappingCuts (Map_Man_t *p) |
| GLOBAL VARIABLES ///. | |
| Map_Cut_t * | Map_CutMergeLists2 (Map_Man_t *p, Map_CutTable_t *pTable, Map_Cut_t *pList1, Map_Cut_t *pList2, int fComp1, int fComp2) |
| int | Map_CutSortCutsCompare (Map_Cut_t **pC1, Map_Cut_t **pC2) |
| #define MAP_CUTS_MAX_COMPUTE 1000 |
DECLARATIONS ///.
CFile****************************************************************
FileName [mapperCut.c]
PackageName [MVSIS 1.3: Multi-valued logic synthesis system.]
Synopsis [Generic technology mapping engine.]
Author [MVSIS Group]
Affiliation [UC Berkeley]
Date [Ver. 2.0. Started - June 1, 2004.]
Revision [
]
Definition at line 29 of file mapperCut.c.
| #define MAP_CUTS_MAX_USE 250 |
Definition at line 31 of file mapperCut.c.
| #define Map_ListForEachCut | ( | pList, | |
| pCut ) |
Definition at line 74 of file mapperCut.c.
| #define Map_ListForEachCutSafe | ( | pList, | |
| pCut, | |||
| pCut2 ) |
Definition at line 78 of file mapperCut.c.
| typedef struct Map_CutTableStrutct_t Map_CutTable_t |
Definition at line 34 of file mapperCut.c.
| Map_Cut_t * Map_CutMergeLists2 | ( | Map_Man_t * | p, |
| Map_CutTable_t * | pTable, | ||
| Map_Cut_t * | pList1, | ||
| Map_Cut_t * | pList2, | ||
| int | fComp1, | ||
| int | fComp2 ) |
Function*************************************************************
Synopsis [Merges two lists of cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 522 of file mapperCut.c.
Function*************************************************************
Synopsis [Compares the cuts by the number of leaves and then by delay.]
Description []
SideEffects []
SeeAlso []
Definition at line 980 of file mapperCut.c.
| int Map_MappingCountAllCuts | ( | Map_Man_t * | pMan | ) |
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Counts all the cuts.]
Description []
SideEffects []
SeeAlso []
Definition at line 100 of file mapperCut.c.

| void Map_MappingCuts | ( | Map_Man_t * | p | ) |
GLOBAL VARIABLES ///.
FUNCTION DEFINITIONS ///
Definition at line 172 of file mapperCut.c.


| void Map_MappingCutsInput | ( | Map_Man_t * | p, |
| Map_Node_t * | pNode ) |
Function*************************************************************
Synopsis [Computes the cuts for each node in the object graph.]
Description [The cuts are computed in one sweep over the mapping graph. First, the elementary cuts, which include the node itself, are assigned to the PI nodes. The internal nodes are considered in the DFS order. Each node is two-input AND-gate. So to compute the cuts at a node, we need to merge the sets of cuts of its two predecessors. The merged set contains only unique cuts with the number of inputs equal to k or less. Finally, the elementary cut, composed of the node itself, is added to the set of cuts for the node.
This procedure is pretty fast for 5-feasible cuts, but it dramatically slows down on some "dense" networks when computing 6-feasible cuts. The problem is that there are too many cuts in this case. We should think how to heuristically trim the number of cuts in such cases, to have reasonable runtime.]
SideEffects []
SeeAlso []
Definition at line 158 of file mapperCut.c.

