ERC doesn't check pin conflicts in hierarchical sheets assigned at the same schematic file
Description
When you create two hierarchical sheets (e.g. sheetA1
and sheetA2
) that use the same schematic file (e.g. sheetA.kicad_sch
), ERC doesn't check pin conflicts between its connections. With two hierarchical sheets using different schematic files (e.g. sheetB1
with sheetB.kicad_sch
and sheetC
with sheetC.kicad_sch
) ERC works fine.
In the previous figure, ERC should report three pin conflicts (three output to output connections), but only two of them are reported.
Update 1
To test this error, I have created the attached project, which essentially, tests different connection combinations between hierarchical sheets. In the attached project, all the leaf files (sheetA.kicad_sch
, sheetB.kicad_sch
and sheetC.kicad_sch
) contain the same circuit, a NOT gate, as can be seen in the following two pictures
Steps to reproduce
- Download the attached file (kicad6-test.zip).
- Run Electrical Rule Checker (ERC).
- Check that only two output to output connection are reported.
KiCad Version
Application: KiCad Schematic Editor
Version: 6.0.2+dfsg-1~bpo11+1, release build
Libraries:
wxWidgets 3.0.5
libcurl/7.74.0 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0 librtmp/2.3
Platform: Linux 5.10.0-11-amd64 x86_64, 64 bit, Little endian, wxGTK, KDE, x11
Build Info:
Date: Feb 18 2022 07:39:00
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.74.0
OCC: 7.5.1
Curl: 7.74.0
ngspice: 34
Compiler: GCC 10.2.1 with C++ ABI 1014
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON