summaryrefslogtreecommitdiffstats
path: root/src/map/scl/sclLiberty.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-11-07 10:24:47 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2013-11-07 10:24:47 -0800
commit4774dc56fe5a7ef6a9ae154f57b3cb2a48c4ca97 (patch)
tree67dee47389a5117d1b0057a9065c27f980e230f4 /src/map/scl/sclLiberty.c
parentf29fe2d0c226b33505e544e4560f9357cfed66f0 (diff)
downloadabc-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.c6
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 );