summaryrefslogtreecommitdiffstats
path: root/src/map/scl/scl.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-10-13 23:08:52 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-10-13 23:08:52 -0700
commit1692c1a57a74938a396812375f29f0065b5337b7 (patch)
tree8eee10f90bef82325f134dbaadf86d158b92de21 /src/map/scl/scl.c
parenta4f80c1d36ee2ea986ac3fd637aa91f97537cdb6 (diff)
downloadabc-1692c1a57a74938a396812375f29f0065b5337b7.tar.gz
abc-1692c1a57a74938a396812375f29f0065b5337b7.tar.bz2
abc-1692c1a57a74938a396812375f29f0065b5337b7.zip
Improvements to buffering and sizing.
Diffstat (limited to 'src/map/scl/scl.c')
-rw-r--r--src/map/scl/scl.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/map/scl/scl.c b/src/map/scl/scl.c
index 1c5e3354..36bec7b4 100644
--- a/src/map/scl/scl.c
+++ b/src/map/scl/scl.c
@@ -308,7 +308,7 @@ usage:
***********************************************************************/
int Scl_CommandPrintLib( Abc_Frame_t * pAbc, int argc, char **argv )
{
- float Slew = 200;
+ float Slew = 0; // use library
float Gain = 100;
int fInvOnly = 0;
int fShort = 0;
@@ -512,8 +512,8 @@ usage:
int Scl_CommandDumpGen( Abc_Frame_t * pAbc, int argc, char **argv )
{
char * pFileName = NULL;
- float Slew = 200;
- float Gain = 100;
+ float Slew = 0; // use the library
+ float Gain = 200;
int nGatesMin = 4;
int c, fVerbose = 0;
Extra_UtilGetoptReset();
@@ -871,8 +871,8 @@ int Scl_CommandBuffer( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Ntk_t * pNtkRes, * pNtk = Abc_FrameReadNtk(pAbc);
int c;
memset( pPars, 0, sizeof(SC_BusPars) );
- pPars->GainRatio = 1000;
- pPars->Slew = 100;
+ pPars->GainRatio = 250;
+ pPars->Slew = pAbc->pLibScl ? Abc_SclComputeAverageSlew((SC_Lib *)pAbc->pLibScl) : 100;
pPars->nDegree = 10;
pPars->fSizeOnly = 0;
pPars->fAddBufs = 1;
@@ -881,7 +881,7 @@ int Scl_CommandBuffer( Abc_Frame_t * pAbc, int argc, char ** argv )
pPars->fVerbose = 0;
pPars->fVeryVerbose = 0;
Extra_UtilGetoptReset();
- while ( ( c = Extra_UtilGetopt( argc, argv, "GSDsbpcvwh" ) ) != EOF )
+ while ( ( c = Extra_UtilGetopt( argc, argv, "GSNsbpcvwh" ) ) != EOF )
{
switch ( c )
{
@@ -907,7 +907,7 @@ int Scl_CommandBuffer( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( pPars->Slew < 0 )
goto usage;
break;
- case 'D':
+ case 'N':
if ( globalUtilOptind >= argc )
{
Abc_Print( -1, "Command line switch \"-N\" should be followed by a positive integer.\n" );
@@ -959,7 +959,7 @@ int Scl_CommandBuffer( Abc_Frame_t * pAbc, int argc, char ** argv )
return 1;
}
// modify the current network
- pNtkRes = Abc_SclBufSizePerform( pNtk, (SC_Lib *)pAbc->pLibScl, pPars );
+ pNtkRes = Abc_SclBufferingPerform( pNtk, (SC_Lib *)pAbc->pLibScl, pPars );
if ( pNtkRes == NULL )
{
Abc_Print( -1, "The command has failed.\n" );
@@ -970,11 +970,11 @@ int Scl_CommandBuffer( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0;
usage:
- fprintf( pAbc->Err, "usage: buffer [-GSD num] [-sbpcvwh]\n" );
+ fprintf( pAbc->Err, "usage: buffer [-GSN num] [-sbpcvwh]\n" );
fprintf( pAbc->Err, "\t performs buffering and sizing and mapped network\n" );
fprintf( pAbc->Err, "\t-G <num> : target gain percentage [default = %d]\n", pPars->GainRatio );
fprintf( pAbc->Err, "\t-S <num> : target slew in pisoseconds [default = %d]\n", pPars->Slew );
- fprintf( pAbc->Err, "\t-D <num> : the maximum fanout degree [default = %d]\n", pPars->nDegree );
+ fprintf( pAbc->Err, "\t-N <num> : the maximum fanout count [default = %d]\n", pPars->nDegree );
fprintf( pAbc->Err, "\t-s : toggle performing only sizing [default = %s]\n", pPars->fSizeOnly? "yes": "no" );
fprintf( pAbc->Err, "\t-b : toggle using buffers instead of inverters [default = %s]\n", pPars->fAddBufs? "yes": "no" );
fprintf( pAbc->Err, "\t-p : toggle buffering primary inputs [default = %s]\n", pPars->fBufPis? "yes": "no" );