parallaxsw / OpenSTA

GNU General Public License v3.0
52 stars 23 forks source link

get_pins with -hier unable to find pins on wide busses #37

Closed gadfort closed 5 months ago

gadfort commented 5 months ago

When attempting to get a pin using get_pins -hier it seems to be unable to find the pins if the port on the module is sufficiently wide.

In the attached testcase I have two tests: test_pin_hier.tar.gz

tar zvfx test_pin_hier.tar.gz
cd test_pin_hier

First the working example:

sta test_works.tcl

Should output:

OpenSTA 2.5.0 e01d3f163f Copyright (c) 2024, Parallax Software, Inc.
License GPLv3: GNU GPL version 3 <http://gnu.org/licenses/gpl.html>

This is free software, and you are free to change and redistribute it
under certain conditions; type `show_copying' for details. 
This program comes with ABSOLUTELY NO WARRANTY; for details type `show_warranty'.
u0/u1/u2/I3[2]
u0/u1/u2/I3[2]

Indicating it found the u0/u1/u2/I3[2] with and output the -hier flag.

In the non-working example:

sta test.tcl

Should output:

OpenSTA 2.5.0 e01d3f163f Copyright (c) 2024, Parallax Software, Inc.
License GPLv3: GNU GPL version 3 <http://gnu.org/licenses/gpl.html>

This is free software, and you are free to change and redistribute it
under certain conditions; type `show_copying' for details. 
This program comes with ABSOLUTELY NO WARRANTY; for details type `show_warranty'.
u1/u2/u3/I3[2]
Warning: test.tcl line 10, pin '*u*/I3[2]' not found.

Indicating that the get_pins -hier failed to find the pin, the only difference between the first and second case is the width of the I3 port going from 3 bits to 161 bits.

parallaxsw commented 5 months ago

fixed by a9106a19 issue37 get_pins -hierarchical