summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/scl/scl.c34
-rw-r--r--src/map/scl/sclUtil.c10
2 files changed, 26 insertions, 18 deletions
diff --git a/src/map/scl/scl.c b/src/map/scl/scl.c
index 9d4653a7..27342458 100644
--- a/src/map/scl/scl.c
+++ b/src/map/scl/scl.c
@@ -1823,13 +1823,17 @@ int Scl_CommandReadConstr( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc);
FILE * pFile;
char * pFileName;
+ int fUseNewFormat = 0;
int c, fVerbose = 0;
Extra_UtilGetoptReset();
- while ( ( c = Extra_UtilGetopt( argc, argv, "vh" ) ) != EOF )
+ while ( ( c = Extra_UtilGetopt( argc, argv, "nvh" ) ) != EOF )
{
switch ( c )
{
+ case 'n':
+ fVerbose ^= 1;
+ break;
case 'v':
fVerbose ^= 1;
break;
@@ -1850,25 +1854,29 @@ int Scl_CommandReadConstr( Abc_Frame_t * pAbc, int argc, char ** argv )
return 1;
}
fclose( pFile );
-// Abc_SclReadTimingConstr( pAbc, pFileName, fVerbose );
- if ( pNtk == NULL )
- {
- fprintf( pAbc->Err, "There is no current network.\n" );
- return 1;
- }
-
- // input constraint manager
- if ( pNtk )
+ if ( !fUseNewFormat )
+ Abc_SclReadTimingConstr( pAbc, pFileName, fVerbose );
+ else
{
- Scl_Con_t * pCon = Scl_ConRead( pFileName, Abc_NtkNameMan(pNtk, 0), Abc_NtkNameMan(pNtk, 1) );
- if ( pCon ) Scl_ConUpdateMan( pAbc, pCon );
+ if ( pNtk == NULL )
+ {
+ fprintf( pAbc->Err, "There is no current network.\n" );
+ return 1;
+ }
+ // input constraint manager
+ if ( pNtk )
+ {
+ Scl_Con_t * pCon = Scl_ConRead( pFileName, Abc_NtkNameMan(pNtk, 0), Abc_NtkNameMan(pNtk, 1) );
+ if ( pCon ) Scl_ConUpdateMan( pAbc, pCon );
+ }
}
return 0;
usage:
- fprintf( pAbc->Err, "usage: read_constr [-vh] <file>\n" );
+ fprintf( pAbc->Err, "usage: read_constr [-nvh] <file>\n" );
fprintf( pAbc->Err, "\t read file with timing constraints for standard-cell designs\n" );
+ fprintf( pAbc->Err, "\t-n : toggle using new constraint file format [default = %s]\n", fUseNewFormat? "yes": "no" );
fprintf( pAbc->Err, "\t-v : toggle printing verbose information [default = %s]\n", fVerbose? "yes": "no" );
fprintf( pAbc->Err, "\t-h : prints the command summary\n" );
fprintf( pAbc->Err, "\t<file> : the name of a file to read\n" );
diff --git a/src/map/scl/sclUtil.c b/src/map/scl/sclUtil.c
index 70140044..07e0deb6 100644
--- a/src/map/scl/sclUtil.c
+++ b/src/map/scl/sclUtil.c
@@ -254,21 +254,21 @@ void Abc_SclReadTimingConstr( Abc_Frame_t * pAbc, char * pFileName, int fVerbose
pToken = strtok( Buffer, " \t\r\n" );
if ( pToken == NULL )
continue;
-// if ( !strcmp(pToken, "set_driving_cell") )
- if ( !strcmp(pToken, "default_input_cell") )
+ if ( !strcmp(pToken, "set_driving_cell") )
+// if ( !strcmp(pToken, "default_input_cell") )
{
Abc_FrameSetDrivingCell( Abc_UtilStrsav(strtok(NULL, " \t\r\n")) );
if ( fVerbose )
printf( "Setting driving cell to be \"%s\".\n", Abc_FrameReadDrivingCell() );
}
-// else if ( !strcmp(pToken, "set_load") )
- else if ( !strcmp(pToken, "default_output_load") )
+ else if ( !strcmp(pToken, "set_load") )
+// else if ( !strcmp(pToken, "default_output_load") )
{
Abc_FrameSetMaxLoad( atof(strtok(NULL, " \t\r\n")) );
if ( fVerbose )
printf( "Setting driving cell to be %f.\n", Abc_FrameReadMaxLoad() );
}
-// else printf( "Unrecognized token \"%s\".\n", pToken );
+ else printf( "Unrecognized token \"%s\".\n", pToken );
}
fclose( pFile );
}