V7 hierarchy numbering problem

Hi all,

I am having problems with a simple two level hierarchy project:



Very simple, should give an 8x8 matrix (BTW, this is for testing the 1972 analog readout design of the Tek 7000 scopes by Barrie Gilbert).
Main problem:

Some connections are missing. SW108 here has no connections (as have SW708 and SW808, but not SW508 or SW608). I had to manually do the nxx reannotation so PlaceFootprints would place Level 1 hierarchy components in rows.
So this is a killer bug - but also annoying is that the hierarchy numbering seems off:

which causes the level 2 elements to be randomly numbered (does not matter here as they are all connected in parallel). A proper matrix however would not work if placement would be according to refdes.
Any ideas? Here’s the project:
VecSchalt.zip (437.8 KB)
Application: KiCad PCB Editor x64 on x64

Version: (7.0.0), release build

wxWidgets 3.2.1
FreeType 2.12.1
HarfBuzz 5.0.1
FontConfig 2.14.1
libcurl/7.83.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
Date: Feb 12 2023 01:35:19
wxWidgets: 3.2.1 (wchar_t,wx containers)
Boost: 1.80.0
OCC: 7.6.2
Curl: 7.83.1-DEV
ngspice: 39
Compiler: Visual C++ 1934 without C++ ABI

Build settings:

1 Like

Your sheet pins are not connected to wires:


Dumb mistake…
I had ruled out that obvious one because SW108 connection was missing, but SW508 was not.

So connectivity is fine (my error), but sheet number is off: In the 8x8 matrix, I would expect the rightmost components to be all SW108, SW208, SW308 (I did a manual reannotate of the Zeile levels):

Zeile1 is fine (TransSch1 2 3 4 5 6 7 8), but
Zeile2 is buggy (TransSch 8 7 5 4 2 1 6 3)

Any idea how to fix that?

There is a geographical annotation function in PCB editor, reannotate PCB and bring back new annotation into schematic.

1 Like

Did you know that you can edit page numbers by right-clicking in the navigator?
Or it doesn’t solve your issue?


That would require correct placement in the PCB…
However placement is automatic using PlaceFootprints, which places incorrectly because of wrong refdes.
Refdes are generated by annotation, which seems to work by sheet number.
Sheet number is wrong.

So: wrong sheet number → wrong refdes → wrong placement.

No, didn’t know that… I’ll give it a try (although renumbering 72 pages by hand is pretty annoying).
Why is it mixed up in the first place? Could I somehow have influenced that by the initial positioning of the elements or is it random by default?

Why do you call this a two level hierarchy? With the root sheet included it’s three levels or hierarchy.

And during (re-) annotation, you can include the sheet number in the annotation, which would result in 4 digit numbers with the “First free after sheet number x 100”.

There just wasn’t code to address this.

You can number sheets in an increasing order by pasting Zeile sheets without TransSch sheets first, then pasting TransSch sheets inside them:

I see… I’ll keep that in mind for the next time - thanks!
On the other hand, the question is more how the PlaceFootprints plugin interprets the component order in the hierarchy.

Are there any plans to improve the ordering? I guess not many will need it - for PlaceComponents/ReplicateLayout it would be pretty helpful however!

OK three level.

I am aware that I could have generated the refdes based on sheet number - but as the sheet ordering was off, there was little point in doing so. In any case there is only a cosmetic difference chosing the x100 or x1000 option; as I understand it the resulting refdes order is the same in all cases.

It’s possible that no one noticed or cared about this, so the best thing to do is to file the issue on GitLab.

There is a feature request already in this area Eeschema: Allow reordering of hierarchy in hierarchy navigator (#6143) · Issues · KiCad / KiCad Source Code / kicad · GitLab

I never got round to it…

I tried that, in different variations - did not work:

VecMatrix.zip (361.4 KB)

Just a tip: You can go to the linked issue in gitlab (see Qborts comment above) and upvote it, if you think it would be a valuable feature. It is rumored to give it a better chance of attention from a developer (no guarantees though)…

1 Like