summaryrefslogtreecommitdiffstats
path: root/src/map/scl/sclTime.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-09-12 14:39:50 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-09-12 14:39:50 -0700
commit9b15f71f2f82dfe5a222fceed135640be8cc5dfb (patch)
tree4709f96ea03198a1f65bb9e2105d5b7545712411 /src/map/scl/sclTime.c
parente3d75484ce558d862f7dfc80de9e88b56360b084 (diff)
downloadabc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.tar.gz
abc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.tar.bz2
abc-9b15f71f2f82dfe5a222fceed135640be8cc5dfb.zip
Added new command 'upsize'.
Diffstat (limited to 'src/map/scl/sclTime.c')
-rw-r--r--src/map/scl/sclTime.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/map/scl/sclTime.c b/src/map/scl/sclTime.c
index 6b5031c1..202cf96b 100644
--- a/src/map/scl/sclTime.c
+++ b/src/map/scl/sclTime.c
@@ -250,14 +250,20 @@ void Abc_SclTimeCone( SC_Man * p, Vec_Int_t * vCone )
printf( "after (%6.1f ps %6.1f ps)\n", Abc_SclObjTimePs(p, pObj, 1), Abc_SclObjTimePs(p, pObj, 0) );
}
}
-void Abc_SclTimeNtk( SC_Man * p )
+void Abc_SclTimeNtkRecompute( SC_Man * p, float * pArea, float * pDelay )
{
Abc_Obj_t * pObj;
int i;
+ Abc_SclComputeLoad( p );
+ Abc_SclManCleanTime( p );
Abc_NtkForEachNode1( p->pNtk, pObj, i )
Abc_SclTimeGate( p, pObj );
Abc_NtkForEachCo( p->pNtk, pObj, i )
Abc_SclObjDupFanin( p, pObj );
+ if ( pArea )
+ *pArea = Abc_SclGetTotalArea( p );
+ if ( pDelay )
+ *pDelay = Abc_SclGetMaxDelay( p );
}
/**Function*************************************************************
@@ -277,11 +283,8 @@ SC_Man * Abc_SclManStart( SC_Lib * pLib, Abc_Ntk_t * pNtk, int fUseWireLoads )
p->fUseWireLoads = fUseWireLoads;
assert( p->vGates == NULL );
p->vGates = Abc_SclManFindGates( pLib, pNtk );
-// Abc_SclManUpsize( p );
- Abc_SclComputeLoad( p );
- Abc_SclTimeNtk( p );
- p->SumArea = p->SumArea0 = Abc_SclGetTotalArea( p );
- p->MaxDelay0 = Abc_SclGetMaxDelay( p );
+ Abc_SclTimeNtkRecompute( p, &p->SumArea0, &p->MaxDelay0 );
+ p->SumArea = p->SumArea0;
return p;
}