MMA - Repeat Layout

84 views
Skip to first unread message

Rafał Pietrak

unread,
Feb 9, 2025, 5:44:16 AMFeb 9
to KiCad Developers
Hi everybody,

This is my MMA (Monkey Mode Attestation - was "verification", but MMA
sounds better :) of channels tool in KiCAD v9. My apologize for abusing
the list with this report, but gitlab refused my registration.

So:
1. MMA means, that user did not read the manual but choose to
press/click "at random" to get expected results. Pls take into account,
that although I tried to write down all my "klicks", occasionally I
might have failed to remember to do so. Particularly in cases leading to
nothing.
2. First I've pressed tools->MultiChannel->RepearLayout ... I was
prompted to select the RuleArea to "copy from".
2.1 I clicked to "something" ... nothing happened. May be some sort of
alerts panel popping up would be in order here?
2.2 Surely the Place menu has "Place->Rule Area", so I added two rule
areas on PCB: one covering my "original sheet to copy from" selecting
one subsheet in "placement", the other "somewhere else" selecting the
other sheet as it's "placement".
2.3 now RepeatLayout resulted in components rearrangement ... but
components of "slave" sheet-nr2 weren't moved into the other "rule
area". They stayed more or less where most of them already were - they
only moved slightly to reflect "master" arrangement. This is strange for
an MMA tester - why bother to "draw" the other rule-rectangle ... just
listing the "slave" parts of the schematic when the initial "rule area"
is drawn should be sufficient. Then again, why draw anything at all -
the "master" channel is already correctly laid drawn and the "binding to
slaves" is based on linked "schematic sub-sheets or block", drawing
anything seem superficial.
3. On one occasion I did clicked the design into a state, where the
process of copying worked "the other way around", meaning that my
intended source was used by KiCAD as target for placement and vice
verse. I couldn't find any way to revert that, nor any means of
examination (E) of current state of "repeat layout" tool.
3.1. Whenever I try to examine (E) a selected "rules area", there is no
mention which one is "the source" and which one is "the target". If
there is a way to check it, for MMA tester it's not so easy to guess how.
4. after drawing "rule area" on schematic diagram and then doing "update
PCB", the report of "update process" does not contain anything (as if
nothing was exported). So, how does user know if those areas can be used
by PCB or not?
5. examining (E command) a selected rule area on schematic does not let
putting a name to it. It should be under user control which area's are
the same and which are different and their name is a natural way to
allow for that.

My project is in the attachment together with excerpts from "Design of
CDC6600" book as found at
https://cseweb.ucsd.edu/classes/sp10/cse240c/Papers/DesignOfAComputer_CDC6600.pdf.
My KiCAD files attached are based on register design found on page.26 of
that book.

The other excerpt (pages 108-109) I'm including to suggest an
alternative implementation of "sub-sheets" in KiCAD, which may result in
some optimization (simplification) of multichannel implementation. The
"trick" is to allow a symbol of "array of blocks" on the schematic
diagram and have an assumed scheme for identification of a particular
block in such array. The problem here will arise from the fact, that
every such block may have a BUS of signals entering/exiting it. A bus
is a list (one dimensional array). An array of busses is a two
dimensional array. I'm not sure if KiCAD wire identification schemes can
cope with that now.

I'm bringing the CC6600 drawing as an example because "sub-sheet" on
pages 108/109 of that book are presented as "arrays of identical blocks"
(graphically). Identical to the extend, that anybody doing engineer work
on the design would have much easier job when (say) transistor Q17 in
EVERY block/channel had the same Q17 designation. At the level of
schematic drawings this translated to the fact, that there will be just
ONE sheet (or block) to represent the content of block-nr-0. All other
blocks are the same and will NOT have designated schematics.

Currently, KiCAD annotates all components on identical subsheets with
different labels (see my files: R1 on sheel1, R7 on sheet2). This has
it's merits, but does not work for the above "array of blocks" system.
One would need to have a "block repetition" explicit by some way of
components getting a "block identification" attached. One such way could
turn Q17 transistor label on "first block" into Q17a (or Q17.0, or
something), and into Q17b on second block, etc.

With such "channel representation" as shown on CDC6600 design schematics
it should be easier for Repeat Layout tool to identify which components
belong to the same channel and for user to know what exactly "KiCAD was
thinking". User would just need to indicate a single component that the
process of copying the PCB layout should be repeated for every
channel/block. The "repeat engine" would then copy whatever is indicated
based on current location of that particular component in every channel
and would not get confused since the component would have exactly the
same annotation (like Q17). No selection of "rule area" on PCB would
then be required.

I hope this tests and observations help.

Still, if you already knew about MMA confusion with current
RepeatLayouts tool or had availability/plans-for "arrays of blocks" in
KiCAD, I sincerely apologize for the noise.

with best regards

-R
cdc6600.zip
CDC6600-p26.pdf
CDC6600-p108p109.pdf

Seth Hillbrand

unread,
Feb 9, 2025, 10:50:25 AMFeb 9
to KiCad Developers
Just to be clear, you are saying that you didn't bother to read how to use the tool and it didn't work for you? 

If that isn't correct, please distill down which step did not work and use gitlab.  Please don't abuse this list.  We realize that gitlab requires authentication.  This is on purpose.

Please report one problem per issue report on gitlab. Not an essay.  While well intentioned, it is not useful.

If the first statement is correct, please read the documentation for for the tool is supposed to work at docs.kicad.org.  

Seth


--
You received this message because you are subscribed to the Google Groups "KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to devlist+u...@kicad.org.
To view this discussion visit https://groups.google.com/a/kicad.org/d/msgid/devlist/0b01257c-7c08-4c52-9c61-50774899e0c4%40electric-sheep.eu.

Eeli Kaikkonen

unread,
Feb 9, 2025, 11:29:52 AMFeb 9
to dev...@kicad.org
On Sun, Feb 9, 2025 at 12:44 PM Rafał Pietrak <sol...@electric-sheep.eu> wrote:
Hi everybody,

This is my MMA (Monkey Mode Attestation - was "verification", but MMA
sounds better :) of channels tool in KiCAD v9. My apologize for abusing
the list with this report, but gitlab refused my registration.


These kind of experiences can be discussed in the user forum, if you state your purpose and make clear you just want to share it for comments and aren't actually requesting any one feature or change (or just complaining like some people seem to do).

I understand why you decided to not read the docs and tell how it went, but IMO repeating layout is so complex as a task that it can't be done in any self-evident intuitive way, especially if the feature is made to be flexible for many use cases. I took part in the older Replicate Layout plugin by giving some ideas which MitjaN actually implemented, so I know something about the task.

If you have an opinion of concrete changes which would make the feature easier to use, please share them in the forum. Even some developers read the forum and may reply there (not a promise). I don't remember seeing anyone there using that new feature yet (well maybe one or two), so your post could even push someone to try it.

Eeli Kaikkonen

Rafał Pietrak

unread,
Feb 9, 2025, 12:02:31 PMFeb 9
to dev...@kicad.org
Hi,

1. no, it's not actually true, that I didn't read the instructions. But
I just skimmed it to be able to do the MMA. Otherwise (my experience
tell me) that the attestation is not worth much - once one "knows how it
works" one doesn't fall into the *common* novice "traps", and those
"traps" stay in the system forever.

2. I'm sorry to abuse the list. This is where I'm dropping the subject
and apologizing again. I apologize.

with best regards,

-R
> --
> You received this message because you are subscribed to the Google
> Groups "KiCad Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to devlist+u...@kicad.org
> <mailto:devlist+u...@kicad.org>.
> To view this discussion visit https://groups.google.com/a/kicad.org/d/
> msgid/devlist/CAP0gFe86U2-
> rqHu5h%3D2dniQJF5qQ%2B5uf4neNFfkCRUWkXhBR%3DQ%40mail.gmail.com <https://
> groups.google.com/a/kicad.org/d/msgid/devlist/CAP0gFe86U2-
> rqHu5h%3D2dniQJF5qQ%2B5uf4neNFfkCRUWkXhBR%3DQ%40mail.gmail.com?
> utm_medium=email&utm_source=footer>.

Reply all
Reply to author
Forward
0 new messages