Hierarchical Sheet Question - Multiple Power Sources Same Schematic File


#1

A design has several duplicate circuits with duplicate loads.

An attempt was made to place 3.3V_A on one sheet and 3.3_B on the other sheet; but this does not work because the other sheet changes from 3.3_A into 3.3V_B. The result is that the two regulators end up with their output on the same net.

Is there some way to correct this issue without changing the second sheet schematic file reference?

ON EDIT: Maybe this should be a Feature Request? All that would need to be done is to treat the Power Symbols the same way as the Ref Des. The Ref Des does not get copied into the other Sheet Number. Is this already a feature in V5.0.1? (I will have data in 2 more days).


#2

Instead of using power symbols on the sub sheets, you may need to use local labels on those sheets. Then if you want, connect them to individual power symbols on parent sheets through hierarchical pins to force the individual global label names.

All local nets that are on a sub sheet that are only on that sub sheet will have a name like “sheetname/netname” in the netlist. That is why slash symbols aren’t valid in net names.

Power symbols are global nets that will connect to global net names on all sheets.


#3

I tried the idea of local labels, and it does not appear to work.

The problem is that, unless I’m doing something wrong, the two sheets still have the same power net name at the load.

I’ll upload a small example project of the issue tomorrow.


#4

Local labels should be prefixed with the sheet name in pcb_new.

Another option is to use hierarchical pins. This is how i do it as i then can connect the correct power symbol in the top level sheet. (Allows multiple instances of the same sheet to be connected to different top level power symbols.)


#5

That was the last attempt I made tonight, it didn’t work.

Any chance you can upload a screen - grab of what you have found to work?


#6

One example from my github repo: https://github.com/TERA-TU-Graz/BatteryManagement_2017/tree/master/HW/projects/ibex/BMS_Ibex/Master/BMS_Master_V6.2_kicad

Multiple instantiating happens inside the RelayAndFanCrtl sub sheet.

Edit: A much simpler example especially made for showcasing this: test_multi_instance_power.zip (12.8 KB)


I Found a PEBCAK Error (V5.0.0)
#7

It may not appear to work, but it does. The schematic sheet will only show you the base name of the local label, but behind the scenes and once you transfer to PCBNew (either through netlist or directly through the toolbar buttons) the sheet name will be prefixed to all the local labels of the net.

When you repeat the same schematic file across multiple hierarchical sheet objects, the only thing that KiCad can handle being different in the layout between the sheet objects are reference designators. Everything else has to be identical because you only draw the schematic once. KiCad handles keeping local nets, only, apart by prefixing the sheet name to local labels. Global labels don’t have any sheet names prefixed so they are electrically common across the entire schematic.