Skip to content

Net name alphabetic sorting doesn't always work

Description

Note: refocusing this issue on the comment below as the rest is already addressed elsewhere.

--- original report below ---

I've made my first boards in v4, then a lot of boards in v5, and now i'm finishing my first board made with v6.
I'm disappointed and confused by the ERC.
I quickly made a dummy project just to show what i mean:

While this schematic is not very realistic, there's still more than one error in it:

Either i'm not understanding the ERC logic, or the Error and Warning messages, or the meaning of the schematic elements...

  1. A pin with only some labels doesn't give an error, not even a warning?!
  • That crystal may look connected to the chip, but it's not.
  • The programming port is not connected entirely. There's a warning for the ICSPCLK signal, but that's stupid, the actual problem is the ICSPDAT signal not being connected to the MCU pin, there's no warning to help you notice that.
  1. Multiple labels on the same net is a warning?
  • I use this a lot, i'd wish this not to cause so much noise.
  • Unfortunately it seems v6's rules about which of all the labels on a net is chosen for the net name is very chaotic versus v5, but maybe this is worth a sepparate issue.
  1. The no connection flag.
  • No matter how i think about it, this seems plain wrong. I'd think the purpose of the NC flag is to say "I will NOT connect this pin to anything else".
  • RB2 to RB5 those pins are flagged, and they are NOT connected. Yet they get warnings for being "connected" ... to what? to a wire and a label and a NC flag? but there is no other pin on that net. Each of those pins will be left individually isolated onto their own personal net with nothing else on it. I call that "not connected".
  • Resistor R2 connects to two other pins: RA1 and RA2, also to a NC flag, and there's a NC flag on the RA1 pin. There's a warning for the Resistor pin (i agree with this warning).
  • Resistor R3 and pin RA0 connected via label, NC flag on the RA0 pin - no error, not even a warning.

Steps to reproduce

KiCad Version

Application: KiCad

Version: 6.0.1+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-10-rt-amd64 x86_64, 64 bit, Little endian, wxGTK, LXDE, x11

Build Info:
	Date: Jan 23 2022 07:28:12
	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
Edited by Jon Evans