unconnected hierarchical bus pin connects members between sheets
Description
(i'm filling this on behalf of someone who ran into this issue)
having an "imported" hierarchical sheet pin for a bus
will connect its members within the sheet to the same labels outside the sheet
even without having a drawn connection
Steps to reproduce
- draw a hierarchical sheet containing a net label and a hierarchical sheet pin for a bus whose name matches the net label (e.g.:
TEST1
andTEST[0..1]
) - in the root sheet, import that hierarchical sheet pin and draw a label matching the sheet's inner net label (draw no busses or wires)
- highlight the parent net label
- enter the hierarchical sheet and see the unconnected net label also highlighted
a very minimal example of that situation is shown here
bus-test.zip
the original reporter also produced an example project
TEST.zip
it seems to me like the imported pin itself implicitly brings its bus' nets into scope for the parent sheet
this seems like a very error prone behaviour, connections should be explicit,
and it means one can think they disconnected something, while it stays connected
i think a fair solution would be to not bring bus members into scope for the parent sheet until they are "unfolded" from the bus
conversely, having a (non-bus) hierarchical sheet pin by the same name as a label in the parent sheet, does not connect the two
KiCad Version
6.99.0 (2022-01-13), also 6.0.1
Application: KiCad Schematic Editor
Version: 6.99.0-33a4c9b08e, release build
Libraries:
wxWidgets 3.1.4
libcurl/7.80.0 OpenSSL/1.1.1m zlib/1.2.11 brotli/1.0.9 libssh2/1.10.0 nghttp2/1.43.0
Platform: Linux 5.15.13 x86_64, 64 bit, Little endian, wxGTK, , wayland
Build Info:
Date: Jan 1 1980 00:00:00
wxWidgets: 3.1.4 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.77.0
OCC: 7.5.1
Curl: 7.80.0
ngspice: 34
Compiler: GCC 10.3.0 with C++ ABI 1014
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON