Convert existing flat schematic to multiple hierarchical

Hello,

I have an existing flat schematic that I created before I knew about hierarchical sheets. Now I am trying to convert the schematic to a more readable format by breaking it into multiple sheets without redoing the entire design and PCB layout.

I found two previous posts that describe how to do this, and I followed the following steps:

  • make sure board ↔ schematic are consistent in the first place (update board from schematic)
  • cut the symbol / symbols in the source sheet (probably your root sheet)
  • switch to destination sheet, then use RMB-click–>context menu–>Paste special, choose option “keep reference designators, even if the are duplicated”
  • now synchronize board ↔ schematic again: run again “update board from schematic”, but this time with the option “relink footprints based on their reference designators” checked
  • optional: run “update board from schematic” a last time, this time with the option “relink footprints based on their reference designators” unchecked. This is useful because kicad saves the state of this checkbox - and for normal use it should be unchecked.

My question is - with this method, do you not have any hierarchical labels coming out of the new subsheet? And can you just delete the previous wires?

And is this still the easiest way to do this with Kicad 8 or 9?

Previous post: Converting existing schematic to hierarchic sheets

Thank you!

If you start with a flat schematic, you probably do not have any hierarchical labels yet. So you have to create them, or change the type of some of the other labels to hierarchical labels and then import them in the hierarchical sheet placeholder.

In V8, yes. (I have not used V9 yet). It’s still a bit cumbersome and error prone to move schematic sections from one sheet to another sheet. It’s one of the parts of KiCad that can still be improved.

My question is - with this method, do you not have any hierarchical labels coming out of the new subsheet? And can you just delete the previous wires?

The described method only transfers the cutted portion of the original flat schematic into the subsheets. The connections between the subsheets must be done by yourself afterwards.

Be aware: previous connections made on the original flat schematic created by local labels will not work across different hierarchical sheets. Local labels are only valid inside there own sheet.

To create connections between the different subsheets use either hierarchical labels or global labels. I recommend to start with global labels, it’s easier.

And is this still the easiest way to do this with Kicad 8 or 9?

v8: yes
v9: A little bit easier, you can omit the “Paste special” operation. With v9 you can simply cut (cutted content goes into clipboard) and then copy. The first copy made out of the clipboard gets the original reference designators, if they are still free (unused).