diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-11-07 10:24:47 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-11-07 10:24:47 -0800 |
commit | 4774dc56fe5a7ef6a9ae154f57b3cb2a48c4ca97 (patch) | |
tree | 67dee47389a5117d1b0057a9065c27f980e230f4 /src/map/scl/sclLiberty.c | |
parent | f29fe2d0c226b33505e544e4560f9357cfed66f0 (diff) | |
download | abc-4774dc56fe5a7ef6a9ae154f57b3cb2a48c4ca97.tar.gz abc-4774dc56fe5a7ef6a9ae154f57b3cb2a48c4ca97.tar.bz2 abc-4774dc56fe5a7ef6a9ae154f57b3cb2a48c4ca97.zip |
Fixing the wire-load approximation problem.
Diffstat (limited to 'src/map/scl/sclLiberty.c')
-rw-r--r-- | src/map/scl/sclLiberty.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/scl/sclLiberty.c b/src/map/scl/sclLiberty.c index 56ff2998..7342a008 100644 --- a/src/map/scl/sclLiberty.c +++ b/src/map/scl/sclLiberty.c @@ -811,10 +811,10 @@ void Scl_LibertyReadWireLoad( Scl_Tree_t * p, Vec_Str_t * vOut ) Scl_ItemForEachChildName( p, Scl_LibertyRoot(p), pItem, "wire_load" ) { Vec_StrPutS_( vOut, Scl_LibertyReadString(p, pItem->Head) ); - Scl_ItemForEachChildName( p, pItem, pChild, "resistance" ) - Vec_StrPutF_( vOut, atof(Scl_LibertyReadString(p, pChild->Head)) ); Scl_ItemForEachChildName( p, pItem, pChild, "capacitance" ) Vec_StrPutF_( vOut, atof(Scl_LibertyReadString(p, pChild->Head)) ); + Scl_ItemForEachChildName( p, pItem, pChild, "slope" ) + Vec_StrPutF_( vOut, atof(Scl_LibertyReadString(p, pChild->Head)) ); Vec_StrPut_( vOut ); Vec_StrPutI_( vOut, Scl_LibertyItemNum(p, pItem, "fanout_length") ); Vec_StrPut_( vOut ); @@ -1575,6 +1575,8 @@ SC_Lib * Abc_SclReadLiberty( char * pFileName, int fVerbose, int fVeryVerbose ) Scl_LibertyStop( p, fVeryVerbose ); // construct SCL data-structure pLib = Abc_SclReadFromStr( vStr ); + if ( pLib == NULL ) + return NULL; pLib->pFileName = Abc_UtilStrsav( pFileName ); Abc_SclLibNormalize( pLib ); Vec_StrFree( vStr ); |