← Back to team overview

kicad-developers team mailing list archive

Re: Hierarchical Schematic to contain link to pcb


My 2c, something like this would be useful for fanout of chips, especially BGA.  You could have a standard fan out, which included the main chip, all its fan out vias, tracks and bypass capacitors.  It would then be imported as a module, the schematic represents everything in that module.  Its placed on the PCB as a "multipart" component.

But it sounds like a lot of work to implement.


On 13/11/17 23:11, Kristoffer Ödmark wrote:

I suspect this has been discussed before in different formats. But anyway.

What would be the major problems or concerns with allowing a schematic to have a pcb as file to include? What I mean is that the same way we let a symbol have a footprint in eeschema, we let a schematic point to a pcb file that is included before footprints are added to the pcb.

Every subschematic has a unique timestamp that could be added to every existing footprint in the schematic and should prove a sufficient way fix every designator number in the schematic in case a pcb is included multiple times.

I guess this would mean that at a later date the pcb-items would need to be able to be added to a group of some sort, so that one could easily move the newly included pcb as one.

Thinking about it this grouping is actually required, otherwise updating the pcb from the schematic might be impossible due to the fact that a board may contain items such as segments, which do not contain any unique id.

There is a huge gain from this, since it would allow multiple users to work on the same pcb in a different manner, allocating a space for their subschematic / subpcb etc, and also it would allow design reuse much easier.

Problems i see:

When parts of an imported pcb is updated how to handle it?
    - ( Propose to have a toggle to update all from imported pcb, or to ignore those coming from an imported pcb )

How should the grouping be available?
    -  ( Propose only let kicad group based on imported pcb and therefore every item can only have one group belonging or none group belonging, not changeable by the user )

If a subscheet has a subscheet, and both have an assigned pcb, how do we add this?
    -  ( Propose that only the highest level pcb be used )

How can one move all the parts of one imported pcb as a group, and how to change only a single item of the imported pcb?     -  ( Have the disambiguation of meny show both the component and the group when selecting a component belonging to a group, toggle this behaviour on/off in a button from the toolbar, similar to the allow drc toggle )

How will this be managed by kicad?
    -  ( Assume that each subpcb and subschematic is a standalone project and therefore let the user worry about this, but add a demo showcasing this hierarchy with a ./main.{pro,sch,kicad_pcb} and a ./subpcb/subpcb.{pro,sch,kicad_pcb} )

Follow ups