Label connection between global and hierarchical


I know that global is making all connection in all sheet
In case of same sheet,
If I make same label name to global label and hierarchical label
then these have automatically a connection ?

or I have to make a connection manually? like below


The way you connect them here makes no sense at all. If you want to use global labels inside a sheet simply use global labels. There is no benefit to adding local or hierarchical labels in this case.

If you want to keep your sheet as a nice enclosed object with a well defined interface then use no global labels inside it. Connect them on the next level up to the hierarchical pin. (note the difference between hierarchical label and hierarchical pin.)

To add hierarchical pins to the sheet on the upper layer right click onto the outline of the instantiated sheet and select import sheet pins. (And yes this is missing from my tutorial about hierarchical design. Will add it sometime in the near future.)

1 Like

Hi, Rene

Actually, I want to use global label (because I don’t need isolated sheet)
I use hierarchical label only for showing relation between subsheets (I mean I use it for sequential operating process, and intuitively displaying connection)
so actually there is no problem.

but I’m curious that if i use same name for both global and hierarachical lable then is there a connection? because of same name?

Labels with the same name seem to be connected to each other iff they are used in the same sheet. Which is a bit strange in my opinion. (placing a local label test inside a sheet does however not connect to a global label of the same name if the global label is not used in the same sheet.)

1 Like

Those local labels in the hierarchical sheets supposedly have some hidden numbers attached to them that make them distinguishable if the same file is used for multiple sheet names. However I find that in PCBnew, those labels while correctly still not getting connected to a label with the same name from a different instance of the sheet, those extra attached numbers on the labels are not displayed as nets, so there is no way of distinguishing those nets by looking just as the name of the label, which is pretty confusing. I am not sure if this is by design or is actually a bug. I am using ver. 5.1.1 on Win97.

Version: (5.1.0)-1, release build
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW

1 Like

The name of a local net has 2 parts: the name of the local label + the name of the sheet it belongs to.
So, if a hierarchical sheet is called i2c and a net in it has a local label sda, the name of the net is /i2c/sda.

Now, if we have two i2c sheets, i2c-1 and i2c-2 sharing the same file i2c, the nets sda are called /i2c-1/sda and /i2c-2/sda although you see an identical label sda in both hierarchcal sheets.


Thanks for the clarification. Now I see that the full net name is listed on the status line once a net has been wired and the clicked to display it. I just started using hierarchical sheets, so I had not yet gotten to the stage of laying down any traces in PCBnew from hierarchical sheets, I only looked at the name of the pads.


I agree that it’s confusing when the label sheet paths (/somesheet/local_label_name) are not displayed on the traces/pads in PcbNew (only in the status panel), since if you have more than one instance of the same sheet, you can have /sheetA/net and /sheetB/net, but they will both just be shown as net on the board. I have filed a ticket to improve this for 6.0


Thanks, I put in my vote for it on the bug tracker.

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