Multichannel layout - tool not pasting the reference layout

Thanks, here the small example project + message.
kicad 9 import.zip (149.8 KB)

I suspect there’s a bug somewhere in the function.

I copied/pasted the one hierarchical box so that there are 3 similar channels in the schematic. I updated the board and all looked good, the components were annotated properly and the footprints were there. But trying to use Tools → Multi-Channel → Repeat Layout after generating the rule areas led to the same error, the Repeat Layout dialog said “topology mismatch” or something like that for the two target channels.

I renamed the hierarchical sheet file in the file system and manually changed the file name in Properties of each sheet:

image

I tried to update the PCB but I had to re-annotate first. Then all looks good in the PCB and the Repeat Layout dialog tells the channels are OK:

And the layout is repeated:

(First I modified the upmost ch1 reference rule area to include the tracks etc.)

Thanks for really fast response and reproducing the issue!
I am relieved, that the problem isn’t sitting in front of my computer. :smiley:
At the moment I would prefer to wait for the next update version honestly.

Regards
Andy

Just a formal question: Is that issue automatically included to bugfix list or tracked in future, if confirmed by other user as here?

I seem to have a similar problem. However my error message is “Iteration count exceeded (timeout)”. I tried to create the rule areas both automatically and manually, tried renaming and annotating schematic multiple times. My layout wasn’t finished, but I don’t suspect that was the problem (I wanted to check I understand multichannel correctly beforehand).

The only thing that kinda worked is when I chose wrong hierarchical sheet in “Place Items from sheet” in the rule area properties. Then at least the layout and rule area shape was copied, without any component movement. I cannot upload the project (I’m new). Any ideas please? Am I doing something wrong?

Nope, unless somebody creates an issue on Gitlab. I’m following this thread, but I can’t guarantee I wont miss some stuff - so Gitlab is the way to go.

Best,
Tom

Just a formal question: Is that issue automatically included to bugfix list or tracked in future, if confirmed by other user as here?

No, as Tomasz already wrote. In case of your example I think the issue was the false/bad annotation. After running the “Annotate” tool the multichannel tool worked fine on your example. I took the freedom to report it (including your example) on gitlab: copy paste subsheets - something wrong with references (#20173) · Issues · KiCad / KiCad Source Code / kicad · GitLab

@dohny :

I cannot upload the project (I’m new).

If you read and follow this FAQ article you can promote yourself from “new forum user” to “basic forum user”: New Member Information
Then you are allowed to attach a example project archive. Without the project it’s impossible to give a good advice.

nixie_clock.zip (274.6 KB)
Here is the project, nothing is finished, I was just trying out the multichannel tool before I move on. Any advice is welcomed. tl;dr: When I use replicate layout and click on the reference rule area, I get “Iteration count exceeded (timeout)”.

With your nixie project I get the same error message.
If I delete (remove) half of the schematic symbols/nets then the multichannel tool works and correctly repeats the layout. So you are not doing something obviously wrong.
Therefore I think it has something to do with your schematic, it’s too complicated for the current algorithm. Albeit I was not able to find which symbol or net specifically is responsible for the failure.
It would be nice if you open a gitlab bugreport (kicad–>Help–>report bug), so tomasz is officially informed about this case.

1 Like

I am curious about the multichannel tool:

  1. I am using 8.08 right now and do not want to upgrade right now because I have a business project with which I do not want to open the possibility of compatibility issues.

  2. There is a short video on the KiCad website; seems to deal with multichannel. Is that video supposed to have sound? I cannot seem to turn on sound in that video.

  3. Aside from the business project (1) I have a personal project (a high voltage “load extender”) which has 4 channels on one board. It is not quite ready yet but it would be interesting to try out the multichannel capability with this. But I guess I would need to upgrade to 9.0 which I do not want to do just yet.

  4. I would be happy to pass along my zipped project in a few days once I get one of the four channels completed. (This will not be a lot of work.)

  5. I have laid out plenty of good pcbs using KiCad so I do not need a “layout service.” But I feel like this relatively simple design might be a good candidate for learning the multichannel capability in 9.0. If anyone does it in 9.0, I probably would not be able to import it into 8.08 anyway. Here is an image of the schematic as it is right now.

UPDATED (2nd time) SCHEMATIC IMAGE:

  1. The design is likely to raise some questions among experienced circuit designers. A couple of key points:
    6a) I am designing it to use (almost?) entirely components which I have in my lab. Some are obsolete.
    6b) I have a number of stuffing options. For example; using either U1 or D1 but not both.

That would be a great candidate. As all your ‘channels’ are on one schematic, you’ll want to enclose each channels’ components with a schematic rule area, and attach a Component Class directive label to each (named something like ‘Channel_1’, ‘Channel_2’, etc). You may wish to move the left hand channel to the right a bit so you’re not having the thread the rule area around the common components to their left.

You can then use the multichannel tool to replicate the layout based on the assigned component classes.

@mf_ibfeew - Many thanks for your effort man, that is very kind!

1 Like

@mf_ibfeew after tinkering only the decoder and nixie had to be deleted (but not the decoupling cap, which was still a “single instance”), then the repeat started working. I will report it as bug then. Thanks for the help.

2 Likes

Here is my zipped project folder (referred to above) in version 8.09-RC1:

E-Load Voltage Extender 02.zip (75.9 KB)

If anyone is interested in testing the version 9 Multichannel layout tool with it I would be curious to see the result. I will not be able to import the result into version 8.09 but I would at least be curious to see an image. I would not expect anyone to try this unless this process is relatively quick and easy.

One Caveat: There is interconnect circuitry and other components (footprints and symbols) which are not in the repeated channels. I am sure that my layout will present shorts and other obstacles if the channels are simply placed in (approximate place) of my (TO220 on small individual heatsink) power transistors. The most I would expect anyone to do is to group and connect the four channels and maybe place them off to the side or somewhere where there will not be shorted connections.

Assuming I were to use the four channels as laid out by the multichannel tool, I would need to re-arrange the other tracks, zones, and footprints so the whole thing works.

I will update the schematic image in my earlier post to show a change, mostly a new combi symbol/footprint for the (smaller transistor or resistor).

This is intended to be a cheap 2 layer board. Once upon a time JLCPCB had a good price on 2 layer 100 mm x 100 mm boards (I do not know if they still do) so that is what this is.

picture below. 10minutes from download to ready documentation.

I thought the idea was to replicate my placement and connections of the one channel which I did hook up? I do not see the point of what you did…

I was not aware that you already placed the TO220 footprints at their designated position.

The multichannel algorithm currently does not respect any pre-placed footprint. You will have to move the placed footprints+tracks later to the desired position.

edit: looking at the picture there are some tracks missing on the rightmost channel. Maybe the next issue.

OK thanks. I had done a preliminary good layout of one channel, and also a preliminary rough placement of the other 3 TO-220s.

My idea was just to see whether the tool could replicate my placement and connections (tracks + zones) within Channel 1. If that worked then the idea would be to then manually move those blocks into the desired position and work the common circuitry around it.

If the tool could just do that replication portion of the job then that would be very helpful. I have often wished that I could replicate a layout with the desired ref designations.

EDIT: this is actually a response to the latest example by BobZ.

This thread interests me also because the old Replicate Layout plugin by @MitjaN didn’t originally have ability to respect predetermined positions for the “channels”. I gave feedback in Replicate layout: Action plugin - #11 by eelik where I told I would need “possibility to update in-place”. As you can see from the image there, I had pre-positioned connectors around which the layout should be replicated. Needing to re-position the layouts manually after each change doesn’t make sense.

I gave there the idea for “anchor” item which gives the position and rotation for the rest of the channel layout. That’s still the best idea I can come up with. Usually there’s at least one footprint in a channel which can be put into a fixed location beforehand. How that item is told to be the anchor item is another thing, there are several possibilities, but IMO the multichannel tool needs this feature to be complete. Otherwise it looks pretty good already and because it’s a native tool it could implement things which would be impossible to implement in plugins.

Usually there’s at least one footprint in a channel which can be put into a fixed location beforehand.

Yes, and then the multichannel tool could use this position.

But it works already if I invert the workflow:

  • first create all the replicated channels
  • and then move the channels into position. The multichannel tool groups all footprints/tracks/vias together, so it’s only one move-operation (or move by reference) to the desired position.
  • If I had positioned the anchor footprints in the ifrst place it helps to place dummy-circles for easier placement of the replicated groups