summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-07-22 23:11:04 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-07-22 23:11:04 -0700
commit038f2964531fc3e1e59ad3d98eebf8722edbef72 (patch)
treecbd0a56f51cfbe963bd7f171013ffadd64da9dc0 /src/base
parent054caacb3c196efb1a76ce6aa1b9eb894e3eef53 (diff)
downloadabc-038f2964531fc3e1e59ad3d98eebf8722edbef72.tar.gz
abc-038f2964531fc3e1e59ad3d98eebf8722edbef72.tar.bz2
abc-038f2964531fc3e1e59ad3d98eebf8722edbef72.zip
Bug fix and warning print.
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abci/abcMap.c44
1 files changed, 42 insertions, 2 deletions
diff --git a/src/base/abci/abcMap.c b/src/base/abci/abcMap.c
index 8ceb463e..9a97b35f 100644
--- a/src/base/abci/abcMap.c
+++ b/src/base/abci/abcMap.c
@@ -167,6 +167,46 @@ ABC_PRT( "Total runtime", Abc_Clock() - clkTotal );
SeeAlso []
***********************************************************************/
+Map_Time_t * Abc_NtkMapCopyCiArrival( Abc_Ntk_t * pNtk, Abc_Time_t * ppTimes )
+{
+ Map_Time_t * p;
+ int i;
+ p = ABC_CALLOC( Map_Time_t, Abc_NtkCiNum(pNtk) );
+ for ( i = 0; i < Abc_NtkCiNum(pNtk); i++ )
+ {
+ p->Fall = ppTimes[i].Fall;
+ p->Rise = ppTimes[i].Rise;
+ p->Worst = Abc_MaxFloat( p->Fall, p->Rise );
+ }
+ ABC_FREE( ppTimes );
+ return p;
+}
+Map_Time_t * Abc_NtkMapCopyCoRequired( Abc_Ntk_t * pNtk, Abc_Time_t * ppTimes )
+{
+ Map_Time_t * p;
+ int i;
+ p = ABC_CALLOC( Map_Time_t, Abc_NtkCoNum(pNtk) );
+ for ( i = 0; i < Abc_NtkCoNum(pNtk); i++ )
+ {
+ p->Fall = ppTimes[i].Fall;
+ p->Rise = ppTimes[i].Rise;
+ p->Worst = Abc_MaxFloat( p->Fall, p->Rise );
+ }
+ ABC_FREE( ppTimes );
+ return p;
+}
+
+/**Function*************************************************************
+
+ Synopsis [Load the network into manager.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
Map_Man_t * Abc_NtkToMap( Abc_Ntk_t * pNtk, double DelayTarget, int fRecovery, float * pSwitching, int fVerbose )
{
Map_Man_t * pMan;
@@ -185,8 +225,8 @@ Map_Man_t * Abc_NtkToMap( Abc_Ntk_t * pNtk, double DelayTarget, int fRecovery, f
Map_ManSetAreaRecovery( pMan, fRecovery );
Map_ManSetOutputNames( pMan, Abc_NtkCollectCioNames(pNtk, 1) );
Map_ManSetDelayTarget( pMan, (float)DelayTarget );
- Map_ManSetInputArrivals( pMan, (Map_Time_t *)Abc_NtkGetCiArrivalTimes(pNtk) );
- Map_ManSetOutputRequireds( pMan, (Map_Time_t *)Abc_NtkGetCoRequiredTimes(pNtk) );
+ Map_ManSetInputArrivals( pMan, Abc_NtkMapCopyCiArrival(pNtk, Abc_NtkGetCiArrivalTimes(pNtk)) );
+ Map_ManSetOutputRequireds( pMan, Abc_NtkMapCopyCoRequired(pNtk, Abc_NtkGetCoRequiredTimes(pNtk)) );
// create PIs and remember them in the old nodes
Abc_NtkCleanCopy( pNtk );