Linking between hierarchical sheets

trying to figure this out but cannot find an answer after endless web searches and messing about.

Example.
I have 2 sheets, and I want to link an output signal on sheet 1 to an input on sheet 2.
I put hierarchal labels on each sheet using the same name assuming they work like net labels within a sheet. nothing links up - even if I go to the root and place the labels and join together they don’t link on the PCB.

so how does this work?

TIA

Post a screenshot.

Here’s an example from my schematic. Part of the root sheet. Notice the output pin on the border of the rectangle.

image

The child sheet. Notice the connection from the flip flop output to the hierarchical label Co inside the schematic.

image

Input pins work in a similar way. I have used a wire connection in the root sheet, but label connections will work the same.

You might like to review the KiCad documentation. Edit: It’s this section: Schematic Editor | 8.0 | English | Documentation | KiCad

Also there are example projects in the v8 distribution that have hierarchical sheets.

1 Like

Hierarchical labels on different sheets do not connect to each other. Hierarchical labels do connect on the same sheet, just as local labels, but to use them on another sheet, you have to use a right click and use Import Sheet Pin on the hierarchical sheet placeholder box.

thanks - I still can’t get this to work… :frowning:

“Hierarchical labels on different sheets do not connect to each other”
So what is the point of them?
The manual says they go the the “parent” sheet - I don’t appear to have this, just a “root” sheet
that holds the square boxes representing my 2 sub-sheets.

Example:
I have a sheet "amp-1’ with a hierarchical label “Out” defined as an output.
I have a sheet “amp-2” with a hierarchical label “In” defined as an input.

On my root sheet I want to connect “Out” to “In”
I can get the hierarchical labels to appear but can’t connect the “out” to “in” as it won’t connect the wire.

How would this be done? I cannot figure it out.

What sort of tutorials / manuals have you read about hierarchical buses?

The sheet that has a box representing the sheet is the “root” / “parent” sheet. Those are the same. But you have to import the pins inside that box, as I have shown in my previous post.

I also posted a working example in the thread below.

thanks - I was looking through the Kicad manual on hierarchical labels.

I’m not using buses - all I need to do is connect an output on one sheet to an input on another.
one wire thats all. super simple.

This is easy in every other PCB CAD program I’ve used over the years, but
I cannot achieve it in Kicad unfortunately.

In KiCad it’s simple too.
I don’t know where your problem is. Did you read:

If you can’t figure it out from that information and the rest of this thread, there is not much more I can do. Maybe someone else can explain it better.

Post a screenshot of the problem connections on your root page and a couple of snips of the child sheets with affected labels. It is really an easy thing.

Unless you are off-grid and the wires don’t actually connect, perhaps due to inadvertently turning off the grid or pressing the stinkin’ N key.

thanks for your guidance. I don’t think it is simple in Kicad as several hours of Googling has not produced an answer :slight_smile: . I’m fine doing schematics and pcb layout with Kicad on one sheet. it’s the hierarchal stuff that does not work as I need.

That was also the opening remark posted by retiredfeline.

There is 0 useful information in your last post. Still no screenshot (uploading your project is even better). Stating how many hours you spent on google does not help us to figure out where the problem is. But I’m certain it can be solved with a handful of mouse clicks, and it very likely is that Import sheet Pin thing I already mentioned earlier.

2 Likes

thanks. I’m just using one large sheet and thats fine as I mentioned.

To bend it in neon and cut it in cardboard, I threw this together just for you:

1: A top sheet with two subsheets:

2: Subsheet A which contains this:
hie2

3:Subsheet B which contains this:

Now all you have to do is right-click on each sheet (from the top sheet) and select “Import sheet pins” (and place them along the perimeter). Alternatively, you can select the same function from the right-side menu.

The result should look like this:

I’m at a loss on how to explain it simpler than that.

2 Likes

Yes, that’s a perfectly good simple example, just needing the final wires added to the root to connect the sheets (which I often do last so I can route stuff without excess ratsnest wires).

But if the OP won’t even post a screenshot, I think this conversation has run its course.

2 Likes

Here’s another way to look at it. A subsheet is a large symbol that comprises more than one symbol, whereas normal symbols are atomic.

Which pins of the internal symbols are to be brought out to the parent sheet? That’s what the hierarchical labels are for.

How does the parent sheet connect to the subsheet? That’s what the hierarchical pins are for. These can be put on the border only after the hierarchical labels have been assigned. As the documentation states: Hierarchical labels must be defined in the subsheet before the corresponding hierarchical sheet pin can be imported in the sheet symbol.

Once the hierarchical pins have been imported, with the correct pin types, connecting one subsheet to another subsheet is just the same procedure as connecting two symbols, either use a wire or a label, paying attention that the pins are on the grid.

Everything that you need to know is in the manual section, no need to Google anything.

PS: I hope you’re not awfully unlucky to be using some ancient version of KiCad. Hierarchical sheets have existed for several versions so I assumed you were using at least v7 or v8, but who knows, some people have ancient computers that can only run ancient software.

thanks for all the help. As I mentioned above I’m going with a large single sheet and using global labels. Works great for my needs.

There is some odd gui/interface issue on my Kicad(OSX Kicad 8.02) with hierarchical labels not wanting to link to nets, or seemingly visually connected but no actual connection. This was largely what was causing confusion.

I participate on several Facebook groups hoping to learn and to help others. I see common questions beginners ask for which I have gathered resources to suggest.
The second of the resources, John’s Basement, below applies to this question.


The three best KiCad tutorials I have found to date 20221121.

For a rather complete over view of a simple Schematic, PCB (and the symbol and footprint editors), start here:
Robert FeranecWhat is KiCad about? Starting with KiCad … https://youtu.be/maaBkw7IRUc

The following two are part of longer series and will each teach you things the other does not (Or else I may not have watched the full series on either)

KiCad 6 STM32 PCB Design Full Tutorial - Phil’s Lab #65 https://youtu.be/aVUqaB0IMh4

Phil’s schematics and PCB are attractive and electrically well thought out.

John’s Basement on KiCad 5 #17 Hierarchical Labels & Pins https://youtu.be/m_HTBurAJn4

This tutorial on Hierarchical (multi page) schematics which (multi page) are very essential for complex is about version 5 KiCad but still works.

Design Review

To understand that there are many more requirements to keep in mind on a schematic and PCB design, I encourage you to read this design review guide.

While it is written by people using a similar professional software, Altium, the requirements it identifies are VERY much the same because they are requirements for a good schematic and PCB which is largely not specific to the software in which you do the design. I am going to guess this will introduce you to a lot of requirements which are all worth while learning.

Fabricator Requirements

If you will be fabricating PCB and assemblies from, for example, JLCPCB you need to read and understand the fabricator’s requirements.

See: PCB Manufacturing & Assembly Capabilities - JLCPCB

Getting Help

Finally, help us help you. When asking for help DO NOT make us guess.

Share the exact file with the problem. Share your entire project or a simplified version which reproduces the exact problem(s) you have.

Hope this helps.

5 Likes

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