summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-08-09 22:55:09 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-08-09 22:55:09 -0700
commit118cb03be4b18d0b3add4be21f5c9b09b36336cd (patch)
tree0f36df94eec99cc8116734241f4152abba55017b
parent6e2ee1d30accf7e7da6277b25594b384e8364308 (diff)
downloadabc-118cb03be4b18d0b3add4be21f5c9b09b36336cd.tar.gz
abc-118cb03be4b18d0b3add4be21f5c9b09b36336cd.tar.bz2
abc-118cb03be4b18d0b3add4be21f5c9b09b36336cd.zip
Integrated buffering and sizing.
-rw-r--r--src/map/scl/sclBufSize.c2
-rw-r--r--src/map/scl/sclLib.c23
-rw-r--r--src/map/scl/sclSize.c10
3 files changed, 16 insertions, 19 deletions
diff --git a/src/map/scl/sclBufSize.c b/src/map/scl/sclBufSize.c
index 431c61df..72712e7d 100644
--- a/src/map/scl/sclBufSize.c
+++ b/src/map/scl/sclBufSize.c
@@ -355,7 +355,7 @@ void Abc_SclBufSize( Bus_Man_t * p )
printf( "Node %7d : ", i );
printf( "%12s ", pCellNew->pName );
printf( "(%2d/%2d) ", pCellNew->Order, pCellNew->nGates );
- printf( "gain =%5.2f ", Load / SC_CellPinCapAve(pCellNew) );
+ printf( "gain =%5d ", (int)(100.0 * Load / SC_CellPinCapAve(pCellNew)) );
printf( "dept =%7.0f ps ", SC_LibTimePs(p->pLib, Dept) );
printf( "\n" );
}
diff --git a/src/map/scl/sclLib.c b/src/map/scl/sclLib.c
index 1dfdcd13..1f9b26ec 100644
--- a/src/map/scl/sclLib.c
+++ b/src/map/scl/sclLib.c
@@ -1092,19 +1092,18 @@ void Abc_SclPrintCells( SC_Lib * p, float Slew, float Gain )
SC_RingForEachCell( pRepr, pCell, i )
{
Abc_SclComputeParametersCell( p, pCell, Slew, &ED, &PD );
- printf( " %3d ", i+1 );
- printf( "%s", pCell->fSkip ? "s" : " " );
+ printf( " %3d ", i+1 );
+ printf( "%s", pCell->fSkip ? "s" : " " );
printf( " : " );
- printf( "%-*s ", nLength, pCell->pName );
- printf( "%2d ", pCell->drive_strength );
- printf( "A =%8.2f ", pCell->area );
- printf( "D =%6.0f ps ", 0.01 * ED * Gain + PD );
- printf( "ED =%6.0f ps ", ED );
- printf( "PD =%6.0f ps ", PD );
- printf( "C =%5.1f ff ", SC_CellPinCapAve(pCell) );
- printf( "Lm =%5.1f ff ", 0.01 * Gain * SC_CellPinCapAve(pCell) );
-// printf( "MaxS =%5.1f ps ", SC_CellPin(pCell, pCell->n_inputs)->max_out_slew );
- printf( "Lm2 =%5.0f ff ", SC_CellPin(pCell, pCell->n_inputs)->max_out_cap );
+ printf( "%-*s ", nLength, pCell->pName );
+ printf( "%2d ", pCell->drive_strength );
+ printf( "A =%8.2f ", pCell->area );
+ printf( "D =%6.0f ps ", 0.01 * ED * Gain + PD );
+ printf( "ED =%6.0f ps ", ED );
+ printf( "PD =%6.0f ps ", PD );
+ printf( "C =%5.1f ff ", SC_CellPinCapAve(pCell) );
+ printf( "Cm =%5.0f ff ", SC_CellPin(pCell, pCell->n_inputs)->max_out_cap );
+ printf( "Sm =%5.1f ps ", SC_CellPin(pCell, pCell->n_inputs)->max_out_slew );
printf( "\n" );
}
}
diff --git a/src/map/scl/sclSize.c b/src/map/scl/sclSize.c
index 8b321328..78d670b4 100644
--- a/src/map/scl/sclSize.c
+++ b/src/map/scl/sclSize.c
@@ -121,7 +121,7 @@ static inline void Abc_SclTimeNodePrint( SC_Man * p, Abc_Obj_t * pObj, int fRise
printf( "Cin =%4.0f ff ", pCell ? SC_CellPinCapAve(pCell) : 0.0 );
printf( "Cout =%5.0f ff ", Abc_SclObjLoadFf(p, pObj, fRise >= 0 ? fRise : 0 ) );
printf( "Cmax =%5.0f ff ", pCell ? SC_CellPin(pCell, pCell->n_inputs)->max_out_cap : 0.0 );
- printf( "G =%5.1f ", pCell ? Abc_SclObjLoadAve(p, pObj) / SC_CellPinCap(pCell, 0) : 0.0 );
+ printf( "G =%5d ", pCell ? (int)(100.0 * Abc_SclObjLoadAve(p, pObj) / SC_CellPinCapAve(pCell)) : 0 );
printf( "SL =%5.1f ps", Abc_SclObjSlackPs(p, pObj, p->MaxDelay0) );
printf( "\n" );
}
@@ -138,10 +138,8 @@ void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll, int fPrintPath )
printf( "Min = %5.1f %% ", 100.0 * Abc_SclCountMinSize(p->pLib, p->pNtk, 0) / Abc_NtkNodeNum(p->pNtk) );
printf( "Area = %12.2f ", Abc_SclGetTotalArea( p ) );
printf( "Delay = %8.2f ps ", maxDelay );
- printf( "Min = %5.1f %%\n", 100.0 * Abc_SclCountNearCriticalNodes(p) / Abc_NtkNodeNum(p->pNtk) );
- if ( !fPrintPath )
- return;
-
+ printf( "Min = %5.1f %% ", 100.0 * Abc_SclCountNearCriticalNodes(p) / Abc_NtkNodeNum(p->pNtk) );
+ printf( " \n" );
if ( fShowAll )
{
// printf( "Timing information for all nodes: \n" );
@@ -154,7 +152,7 @@ void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll, int fPrintPath )
if ( Abc_ObjFaninNum(pObj) > 0 )
Abc_SclTimeNodePrint( p, pObj, -1, nLength, maxDelay );
}
- else
+ if ( fPrintPath )
{
// printf( "Critical path: \n" );
// find the longest cell name