DECLARATIONS ///.
CFile****************************************************************
FileName [mapperCore.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 [
- Id:
- mapperCore.c,v 1.7 2004/10/01 23:41:04 satrajit Exp
]FUNCTION DEFINITIONS /// Function*************************************************************
Synopsis [Performs technology mapping for the given object graph.]
Description [The object graph is stored in the mapping manager. First, the AND nodes that fanout into POs are collected in the DFS order. Two preprocessing steps are performed: the k-feasible cuts are computed for each node and the truth tables are computed for each cut. Next, the delay-optimal matches are assigned for each node, followed by several iterations of area recoveryd: using area flow (global optimization) and using exact area at a node (local optimization).]
SideEffects []
SeeAlso []
Definition at line 50 of file mapperCore.c.
52 int fShowSwitching = 0;
54 int fUseExactArea = !
p->fSwitching;
55 int fUseExactAreaWithPhase = !
p->fSwitching;
88 printf(
"Delay : %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
89 fShowSwitching?
"Switch" :
"Delay",
96 if ( !
p->fAreaRecovery )
118 printf(
"AreaFlow : %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
119 fShowSwitching?
"Switch" :
"Delay",
122 100.0*(
p->AreaBase-
p->AreaFinal)/
p->AreaBase );
144 printf(
"Area : %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
145 fShowSwitching?
"Switch" :
"Delay",
148 100.0*(
p->AreaBase-
p->AreaFinal)/
p->AreaBase );
158 if ( fUseExactAreaWithPhase )
170 printf(
"Area : %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
171 fShowSwitching?
"Switch" :
"Delay",
174 100.0*(
p->AreaBase-
p->AreaFinal)/
p->AreaBase );
196 printf(
"Switching: %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
197 fShowSwitching?
"Switch" :
"Delay",
200 100.0*(
p->AreaBase-
p->AreaFinal)/
p->AreaBase );
214 printf(
"Switching: %s = %8.2f Flow = %11.1f Area = %11.1f %4.1f %% ",
215 fShowSwitching?
"Switch" :
"Delay",
218 100.0*(
p->AreaBase-
p->AreaFinal)/
p->AreaBase );
float Map_MappingGetSwitching(Map_Man_t *pMan)
void Map_MappingSetRefs(Map_Man_t *pMan)
int Map_MappingMatches(Map_Man_t *p)
static abctime Abc_Clock()
void Map_MappingTruths(Map_Man_t *pMan)
FUNCTION DEFINITIONS ///.
void Map_MappingSetChoiceLevels(Map_Man_t *pMan)
float Map_MappingGetAreaFlow(Map_Man_t *p)
void Map_TimeComputeRequiredGlobal(Map_Man_t *p)
void Map_MappingReportChoices(Map_Man_t *pMan)
float Map_MappingGetArea(Map_Man_t *pMan)
void Map_MappingCuts(Map_Man_t *p)
GLOBAL VARIABLES ///.
void Map_MappingPrintOutputArrivals(Map_Man_t *p)