Multiple sheets at same hierarchy level

when you break up your part into multiple units you can place the unit in a sheet

for usb, serial, Ethernet, jtag etc etc

rarely need to have signals leave the page

it becomed less of a problem

one problem is that kicad dont support buses composed of arbitrary names

lika a bus DDR
with clk+,clk-
dqs+,dqs-
addr[12…0]
data[15…0]
DQM
RESET

etc
its very helpful to have those types of buses within the very same page.
bus content definition typically is a text file you can edit with any text editor and context as shown above

A3 i use as page, i like big pages and want to have all that belong related to one page
splitting same logical function up in multiple pages because of space constraints makes it harder to follow the schematic and more likely for errors when you cant see the relevant design in one page.

Multiple sheets at same hierarchy level is a definite missing feature.

3 Likes

You mean on a ‘root’ level…?

At any level.
(why do posts have to be >20 chars?!)

1 Like

All hierarchical blocks are limited to one sheet, regardless of level.

I think I get it now. :innocent: @NikB and You need multiple schematic sheets with a local labels to connect them. Just like in “other commercial software called AD”.
In KiCad, there is no problem to put some more hierarchical sheets at any level making local flat hierarchies, but to connect them they need to use global labels. But you have to avoid that for some reason.

I know (123456789ABC)

It creates an unnecessary level of hierarchy and an extra sheet.

1 Like

Am I correct that signal on two sheets at a lower level, different names and exposed by hierarchical labels, can be safely joined at the next level?

Yes

this is a major pain/drawback

you should be able to have multiple pages on same level and select them with small tabs att the bottom in the same fashion as you select pages in excel

same signal names within this same level should automatically connect

lack of multiple pages on same level is a major drawback in kicad

anyone knows if this is on the wishlist already ?

I haven’t seen any more development on this topic. That’s why I had posted the question.
After having used Kicad for another year, I am convinced: this is not a limitation of the way I’ve been conditioned to think by commercial software. This is a serious oversight in Kicad’s part, and it seriously limits its usability in even moderately complicated designs.
If nobody sees an open wishlist or bug report, I can file one.

I think there is confusion over the terms “page” and “sheet”, which in KiCad are exactly the same thing. Historically that makes sense, because a sheet was drawn on a single piece of paper which corresponds to a printer or plotter "page.

So I guess the OP is talking about having “sub-pages” per sheet, which are electrically all in the same sheet, but when printed would appear as separate pages. It might be useful, but I wouldn’t put it as essential - depends on user I suppose.

3 Likes

I originally posted this question to try to figure out how people deal with complicated designs in Kicad. I’ve not seen a satisfactory answer. I’m with nicholas that this is a problem.
I’ve considered using bobc’s suggestion of having multiple pages on the same schematic canvas. Kicad doesn’t offer a nice way to print that, though. It just crops everything outside the frame.
For a simple design, I thought this over many times; I can’t make the top level any smaller (using hierarchy liberally.) I still had to bleed off the edge of the page as shown below:

About making stuff global as a workaround: it’s not a workaround . Global isn’t appropriate for many signals. Consider an Intel CPU with 8 DIMMs in 4 channels. If you make many of the DIMM signals global, you’d short channels to each other. However, this is one of those cases where it’s going to take more than an 11"x17" page to get everything down at each hierarchy level. You can’t even fit a single Intel CPU on a single page.

Do you have some suggestions on how this could be fixed? From what I can see you want to be able to control the relationship of sheets, so that if you had sheets A B C D E you can say “A B and D all share local labels while C and E are completely independent”.

1 Like

There are practical limits how many signals can be bought up through hierarchical connectors. That master sheet gets very crowded. I can see where @berkakinci is struggling

2 Likes

multiple pages on same level = same as one single page split into multiple pages.
logically 1 page

you dont want the page-tree cluttered with each and every physical page
only logical pages that carry a logical function with a logical page name need to makr into the hierarchy browser.

thats what schematics is all about , logical representation of the physical world

abstraction

Uh, that one is a paradigm shift.
I like it though, but will be fun to see how Wayne reacts to it :wink:

This looks like it’s more of a visual representation issue than it is a netlist/hierarchical issue. What we’re missing here is the option to have multiple “pages” (parts of a hierarchical sheet that print to 1 page) for any sub-schematics that become too big. For example, I have a schematic which contains a lot of relays, with the coils of these relays being on 1 page, but there is no space left for the relay contacts.

If I were to place those contacts on a different hierarchical sheet, it would become confusing at the top level because they belong to the same functional unit. Having to display them as a separate ‘box’ just because I need more room on my schematic feels a bit counter-intuitive.

The other option would be to make the print size larger so the sub-schematics have more printable area, but that would only compromise the readability of the schematics.

So the issue here is, that each “hierarchical sheet” has a fixed amount of schematic space, constrained to a single printable page. IMO users should be able to create more room inside a single hierarchical sheet if they want to.

1 Like

Not only a visual issue only

Once you can get your logic sheet-collection saved into a single file you can copy this file between projects

very handy (as in mentor design capture)

In mentor the logical group (block) of sheets is saved in individual files.
complete design is the sum of thoose individual files.

I am a new user and stumbled upon this thread because I’m having a similar problem. There really is a problem and the workarounds can get messy

Yes, there is a distinction between “schematics” and “sheets”. Both of these concepts are generally available in other tools, so people are bringing the concepts with them, but it gets confusing because while KiCad has the concept of multi-schematic designs, it doesn’t have the concept of multi-sheet schematics. The workaround is to use multiple schematics to implement multiple sheets, but this can be quite messy if there are a large number of connections between the “sheets” since they all must be represented with hierarchical connections, due to the sheets not actually being sheets of a single schematic.

Just to be clear, sheets are multiple drawings or pages that behave as one single schematic. A hierarchical design is composed of schematics (as KiCad currently supports), and a schematic is composed of multiple sheets (so far not supported in KiCad). The multiple sheets of a single schematic would share local names, the multiple schematics of an entire design would not. Ideally, one would use multiple schematics when there is a logical separation of functionality, and would use multiple sheets when you simply ran out of space on the current schematic, as an alternative to using increased page size.

This really is a pretty big shortcoming for large designs. I’m somewhat lucky, I generally don’t need to print schematics on paper, so now that I know KiCad does not support multi-sheet schematics, I will just resort to using large page sizes to get around the problem. Some people do need to print out their designs for various reasons, however, and I can understand their desire to have reasonable page sizes and multi-sheet schematics.