diff options
author | alanminko <37236958+alanminko@users.noreply.github.com> | 2022-04-04 12:55:49 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-04 12:55:49 -0700 |
commit | 547de09670ca4728abf52491455ad26c0823347a (patch) | |
tree | 4b16b8b6d58185d8d3b11fa1ba43f8163e9f6f58 /src | |
parent | 5405003a5e99758988507cfb0f9ae4341c0025ff (diff) | |
parent | f288c4d7f6e97146bdc4de48f14168cbce9d3c96 (diff) | |
download | abc-547de09670ca4728abf52491455ad26c0823347a.tar.gz abc-547de09670ca4728abf52491455ad26c0823347a.tar.bz2 abc-547de09670ca4728abf52491455ad26c0823347a.zip |
Merge pull request #145 from QuantamHD/fix_internal_pins
Fixes internal pin parsing error in ASAP7 liberty file.
Diffstat (limited to 'src')
-rw-r--r-- | src/map/scl/sclLiberty.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/map/scl/sclLiberty.c b/src/map/scl/sclLiberty.c index 4b6adab4..49b5c237 100644 --- a/src/map/scl/sclLiberty.c +++ b/src/map/scl/sclLiberty.c @@ -955,6 +955,8 @@ int Scl_LibertyReadPinDirection( Scl_Tree_t * p, Scl_Item_t * pPin ) return 0; if ( !strcmp(pToken, "output") ) return 1; + if ( !strcmp(pToken, "internal") ) + return 2; break; } return -1; @@ -1525,7 +1527,7 @@ Vec_Str_t * Scl_LibertyReadSclStr( Scl_Tree_t * p, int fVerbose, int fVeryVerbos float CapOne, CapRise, CapFall; if ( Scl_LibertyReadPinFormula(p, pPin) != NULL ) // skip output pin continue; - assert( Scl_LibertyReadPinDirection(p, pPin) == 0 ); + assert( Scl_LibertyReadPinDirection(p, pPin) == 0 || Scl_LibertyReadPinDirection(p, pPin) == 2); pName = Scl_LibertyReadString(p, pPin->Head); Vec_PtrPush( vNameIns, Abc_UtilStrsav(pName) ); Vec_StrPutS_( vOut, pName ); @@ -1546,6 +1548,8 @@ Vec_Str_t * Scl_LibertyReadSclStr( Scl_Tree_t * p, int fVerbose, int fVeryVerbos { if ( !Scl_LibertyReadPinFormula(p, pPin) ) // skip input pin continue; + if (Scl_LibertyReadPinDirection(p, pPin) == 2) // skip internal pin + continue; assert( Scl_LibertyReadPinDirection(p, pPin) == 1 ); pName = Scl_LibertyReadString(p, pPin->Head); Vec_StrPutS_( vOut, pName ); |