Via Unconnected problems

Hi. Using KiCad V7 here. I am working on my first 4 layer board and ran into a problem I cannot solve. The layers are F.cu, Gnd, Power, and B.cu. The power plane has two filled zones, one for +5 volts and one for VDDD (also 5 volts but from different source). I made the VDDD zone first and it seems all ok, but all of the vias to +5 are throwing a DRC error of “Warning: Via is not connected or connected to only one layer”. And the same thing happens to all my vias to the ground plane. I am sure I am doing something wrong, but cannot figure it out.
I’m not sure I understand how the vias work. When I make one that is ‘through hole’, examining properties shows that it goes from f.cu to b.cu, even though it is to one of the other planes. But it also shows the correct plane in properties, so I guess that it goes through all planes but only connects to to f.cu and the power or ground plane (as designated). Anyway, changing it to a ‘Blind/buried’ type does not fix the problem…
Thanks for any help.
Russ

You have to assign the same net as for the zone for the via to connect to the zone. If you have a via with the net +5 (or none) and the zone with VDDD kicad has no way of knowing these two are connected so it does not connect them.

Not sure I understand. +5 and VDDD are NOT connected. VDDD supplies +5 volts to the microprocessor, and The +5 Power zone supplies +5 to all the other devices. They are separate power supplies.
But your response set me on the right track, I think. When I create a via and tell it to connect to the power layer, there is no way to tell it which zone I want it to connect to. However, I expected it would connect to which-ever zone was underneath the trace I am putting the via on. Is that wrong ???

To elaborate a bit further, here is a snip that shows a via and it’s properties:


It shows that the net is +5V, and that it starts and F.cu. But DRC says it is not connected???

Yes, that’s wrong.
Think about it - You can have a several power zones on the same layer. You can’t assume that the zone currently under a trace is the correct one.

To connect a via to a zone, the net names must be exact matches. a “+5” does not connect to a “+5V”. If you draw copper zones, you have to set the net to which it is a part in the Properties dialog of that zone.

Yes, that is wrong indeed.
As I mentioned earlier, you have to set the net of the zone in the properties of the zone itself. Zones in KiCad are mostly drawn automatically, and when you depress the B key, the internal geometry of all zones is re-calculated, and the zones will keep a defined clearance distance from each net that has a different name then the net of the zone.

If you are routing trace you have its net assigned. When you do a via there is no reason to suddenly change the net only because there is some zone on some other layer in that point.
I have designed only one 4 layer PCB and I suppose I have no done any via while routing tracks.
I have just found some region where I have only one zone (you can do it temporarily) and I placed there lot of vias and then moved them whenever I needed one of them and routed track to via.
I have done the same with vias for other power/GND nets.
At the end I removed all not used vias.

For 2 layer boards I have one layer full GND so I have no other than GND vias so I have no experience with adding via while routing track. And I didn’t got that experience with my 4 layer board. But I think that Kicad need to know to what layer you want to jump. So probably somewhere is the setting of layer pair you are working on now (it can be not important if you are just finishing track with via to power zone).
If your via has +5V net and there is +5V zone under it I think it will be connected (after zone will be filled with B hotkey).

somewhat wrong. you actually can connect a via without an assigned net to a zones (or wires) net, if you just place it there. however for this to work the zone needs to be filled before and this brings me to the actual problem in this case here:

It shows that the net is +5V, and that it starts and F.cu. But DRC says it is not connected???

that is probably because you have not filled the zone at any point and deselected the Refill all zones before performing DRC option in the DRC window. the other option would be that the zone you want to use has not the same net assigned and therefore is not filled as it can’t find any connected pad. (kicad fills only zones which have at least one pad connected to them)

Thanks Tojan. You have it exactly right. There were several contributing factors and I could not figure it out because they interacted. I knew about refilling, but did not always do it because it did not help. That was because of two things, clearance problems and that my ground layer did not have the net assigned. I finally got it all working late last night. Thanks to everyone who contributed to help me.
Regards, Russ

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