Abrupt net class change in pcbnew

In my design, the schematic has GNDD as the common digital ground reference. However, in pcbnew, it shows as GND. Hence, my earlier planes that were created as GNDD won’t fill and importing the .net file gives me an warning saying GNDD plane has no pads connected to it. Also, this happened after I modified the schematic and added a few new components (all of whom have their Vss connected to GNDD). Why is this happening?

EDIT: Here is the annotation report where it shows that all GNDD pins are being reconnected as GND. Why?

My guess is that you connected your GND and GNDD nets somewhere on the schematic. If you want both names to continue to exist then you need to use a net tie. (My guess would be that you want separate ground planes if this is the case. *) If not then only use one of these labels.

More details see regarding how kicad chooses a net name if multiple labels are on the same net: Other net used in PCBnew than indicated in EEschema


*) Using separate zones is not always the best idea. In a lot of cases it is better to have an uninterrupted ground plane on an inside layer. If you have separated zones then make sure that you never cross that separation with a trace as you would then create a slot antenna. (Solution is to place a capacitor right nest to the trace to bridge the gab for high frequency parts of the return currents.)

Hi, Thank you for the explanation! I figured out what was wrong here. One of the parts in the standard library - 74LVC1G17 - has a pin named GND. After adding this part to the schematic and connecting this pin to GNDD, all subsequent GNDD pins became GND. Since my copper fill in pcbnew was set to GNDD, as expected, nothing filled. Is there a way to ensure that schematic references take priority over default pin references?

Unfortunately that entire library was missed (either not noticed, or not gotten to) by the volunteer librarian team when applying the current standards. Ah, I just checked the github repository for the library and found that this is an issue that is being worked on but didn’t seem to make the drop-dead date for v5 release. https://github.com/KiCad/kicad-symbols/issues/756

It used to be that logic gates like in that library used hidden pins to connect to power and ground. It was decided that this was a bad idea, and you have stumbled upon one of the reasons why. A hidden power input pin will automatically connect to a global label that has the same name as the pin name. Anything that connects to that hidden power pin will connect to that global net. If a named local net is attached to the hidden pin, the global name of the pin will take priority and rename the entire named local net to the global name. If an existing global net is connected to the hidden pin, one or the other global net names will take priority.

This property of hidden power input pins is how the power symbols work.

Right now, the way I would personally handle this issue is to create a personal library called something like 74xGxx-fixed. Then as I use symbols from 74xGxx I fix the one(s) that I want to use and keep them in the fixed library.

Another way would be to download the pull request where someone else as done the fixes and use that instead of the install-provided 74xGxx library.

We know about it. There is just nobody prepared to rework these symbols. (One would need to do the whole lib in one go as having a mix of standards would be even more confusing than it already is.)

Right, I did find and link the issue for that library in the second sentence of that paragraph. Maybe I should have re-written that first sentence once I found the issue (and associated pull request, linked later in my reply) on github instead of just adding the second sentence. My apologies for my poor communication.

I created a -fixed library for all the standard 74xx devices and renamed all GND pins to VSS. That seemed to work, at least with the part in my schematic. Not sure if replacing GND with VSS is the right nomenclature.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.