Power Flags inside hierarchical sheet gives Annotation error "Multiple item #PWRnnn" and one work-around

I’m on KiCad Version 5.0.0.
I have a hierarchical sheet containing stuff including a garden variety GND symbol with the inverted triangle.

The implicit faith would be that wherever this type of GND symbol appears, it it is the same galvanic net. In addition the GND symbol is a subtype of POWER_FLAG and should be treated as one (please correct me if I am wrong).

I would expect that a Global netname ‘GND’ (assuming it exists somewhere), and which has a POWER_FLAG attached to it (somewhere, eventually, when the whole netlist is expressed) would be equivalent to this GND symbol. There is probably no other magical qualities in the GND symbol (Or, is there?).

As I duplicated my hierarchical circuit to produce four ‘channels’ of it in EeSchema, and tried to Annotate, the Annotator threw me this cryptic error:
Error: Multiple item #PWR114 (unit 1)
Error: Multiple item #PWR114 (unit 1)
Error: Multiple item #PWR114 (unit 1)

In the .sch file, I see four instantiations with the same refdes “#PWR0114” which is really the problem (but this is a power symbol and should have been left alone!).

The relevant part of the .sch file:

L power:GND #PWR?
U 1 1 5BEE7317
P 4100 3150
AR Path="/5BEBD254/5BEE7317" Ref="#PWR?" Part=“1”
AR Path="/5BEBD254/5BEE6FBD/5BEE7317" Ref="#PWR0114" Part=“1”
AR Path="/5BEBD254/5BF5B77D/5BEE7317" Ref="#PWR0114" Part=“1”
AR Path="/5BEBD254/5BF6AE65/5BEE7317" Ref="#PWR0114" Part=“1”
AR Path="/5BEBD254/5BF72570/5BEE7317" Ref="#PWR0114" Part=“1”
F 0 “#PWR0114” H 4100 2900 50 0001 C CNN
F 1 “GND” H 4105 2977 50 0000 C CNN
F 2 “” H 4100 3150 50 0001 C CNN
F 3 “” H 4100 3150 50 0001 C CNN
1 4100 3150
1 0 0 -1

The work around (tested OK) is to change the GND symbol to a Global net with the name ‘GND’. An ugly… but a work-around!

What is the normal done thing? I’m curious.

A power port in reality is just a normal symbol.

  • It has a single invisible power input pin (this is the label. The name of the net is determined by the name of this pin)
  • Its reference starts with “#” (this hides the part from the footprint assignment stuff and from the BOM)
  • The “this is a power symbol” flag is set (This makes it appear in the “add power port” dialog)

Your problem should be fixed by re running the annotation. Either tell it to delete existing annotations or manually remove the annotation from this one symbol from within the symbol dialog. For the later right click on the affected power symbol -> edit and delete the number at the end of the reference. (references that do not end in numbers are assumed to need reannotation)

1 Like

That’s a cool explanation, thanks! :smiley:

For even more details look at the tutorial in the FAQ: Tutorial: How to make a symbol (KiCad v5.1.x)

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