← Back to team overview

kicad-developers team mailing list archive

Re: KiCad PCB


Thanks Dick for taking the time to look at this.

I thought that the "Append Board" might have been a planned way of dealing with hierarchy that just wasn't fully implemented. Now, I'm guessing it for stepping multiple boards to export into gerber to exploit full PCB panels?

I'm poking around KiCad but I can't seem to find anything that references Board fragment. I think I get what you are saying. In some ways this approach is how I've dealt with this in the past, but it's always been kind of a kludge (by hand, and very time consuming). Plus the Module Editor doesn't deal in traces, just pads. If I could save a PCB as a Module this might get me part of the way. Then, its like you say, just adding modules. The only hiccup I see is the naming of the internal nets, it would seem they would need some type of unique name (hidden names in a component with no connect declarations so the netlister assigns the names, oh the list just keeps getting longer...)

*) Points of connections are just pads and traces, I can't think of any thing else.

*) So a Module would need some minimum set of verification such as width and clearance DRCs, but it should be ok for connectivity to have opens as long as the pads or traces are open for routing (this can be part of someone's master plan to do this at a higher level, ie GND), thus it should be a warning and not an error.

*) It seems if the PCB could save schematics artwork as a Module, and there were a simple path for a Schematic to save as Component (with some type of link to the original schematic) this would be an acceptable and, I might add, good solution. I don't know the code well enough to say if this is easy but I have plans to start really digging into it next year. I'm hoping someone has looked at this issue and has come up with a suitable approach for the time being. I might try experimenting with a methodology using Miguel's scripts (might just let the auto-router deal with the wires).


On 11/28/2012 07:13 AM, Dick Hollenbeck wrote:
Hi Richard,

Let's take this to the developer's mailing list.

Rather than "append board" as a means of accomplishing this, how about this idea.

The MODULE morphs into a BOARD fragment, and you simply have MODULE libraries (wait, we
already do).  Or you could copy a MODULE from one BOARD to another BOARD via the
clipboard.  Here clipboard is appropriately named.

Currently the points of connection to a MODULE are pads.
In this fantasy:

*) points of connection to a MODULE would be pads or traces... and ?

*) MODULEs would need separate verification before they get put into a library.

*) Someone would need to code it.  I have no plans to fund this.

This fantasy is certainly possible at some point in the future.


I forgot to add, it seems like PCB has the hooks to almost do this, however when "append
board" is used, it should ask for 2 things, netlist and sheet name, that would give all
the info needed to associate nets and references.  Although I have a feeling that CvPCB
might need back annotation if footprints don't match during the netlist read.  Anyway,
sorry for the ramble... again,


On 11/27/2012 04:48 PM, Richard Howlett wrote:
Hi Dick,

We've talked in the past about KiCad, but a question that has been in the back of my
mind for some time regards the PCB tool.  In the VLSI world, the tool chains are very
similar to what you guys are doing with KiCad.  The introduction of scripting is a
plus, however the PCB side seems to still be a flat hierarchy unlike the schematics
where full hierarchy is exploited well.  I'm guessing that there is a balance being
maintained for the new vs experience user.  However, I'm guessing this has come up in
conversation (although I can't find anything on the web) regarding adding hierarchy to
PCB as well.  Do you know if this is something that might be on the future road map?
It looks like Miguel's scripting can almost do it
but only parts in group, no traces.  With a hierarchical approach you would draw the
one group of parts stand alone, and the you would use something like the "Append Board"
function to add each instance of the group (should reference back to the hierarchical
schematic) and the correct reference and net should get assigned.  The nice thing about
this approach is the sub pcb artwork doesn't need all the traces (like gnd) connected
because the top PCB artwork is where the DRC must pass.  Anyway, a bit of a ramble as
I'm working on something that has the same very complex circuit repeated 10 times in my
present design...  Another, side note, I use the schematic hierarchy as a way to
leverage work from past designs, this would give me the same ability on the PCB end!

Example: (please let me know if there is a way to do this, its entirely possible that I
just haven't looked hard enough)

Schematic Hierarchy

PCB Hierarchy (same file name as the schematic above):

New Project with the same schematic shown above with 3 repeats

This is appending the board file but this has seemingly serious issues.  Nice the have
the ability to do something like this where each of the PCB instances were grouped plus
the nets and refs were assigned correctly:

Follow ups