From 7d5b1c572bfb5385dc79f795d4c9d3294adbdae6 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 25 Feb 2017 13:34:54 -0800 Subject: Restoring constraint manager to read old constraint file by default (use 'read_constr -n' to read new format). --- src/map/scl/scl.c | 34 +++++++++++++++++++++------------- src/map/scl/sclUtil.c | 10 +++++----- 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] \n" ); + fprintf( pAbc->Err, "usage: read_constr [-nvh] \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 : 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 ); } -- cgit v1.2.3