← Back to team overview

kicad-developers team mailing list archive

Re: Footprints: *.cmp and *.net stored footprints are not symetric

 

On 14.07.2014 22:12, Jean-Paul Louis wrote:
To me, the netlist is one representation of the design.
The schematic is an electrical engineering view of the netlist,
The BOARD is the physical instance of the netlist.

Yep, but it needs not hold the netlist as a separate entity (which would have to be updated every time something gets changed on the board).

> So the BOARD needs to know about the net list for connectivity of the > elements, and other constraints like impedances, crosstalk, EMI, etc..

Both schematic and BOARD objects constitute a netlist, but for forward/backannotation we need much less information than what is stored in them. That IMHO justifies the need for a generic NETLIST class, understandable by both eeschema and pcbnew.

Cheers,
Tom

My $0.02,
Jean-Paul
AC9GH


On Jul 14, 2014, at 3:49 PM, Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx> wrote:

On 14.07.2014 19:59, Dick Hollenbeck wrote:

Specifically in this case, the question should have been asked:

"does the BOARD need to know about the NETLIST, or does the NETLIST need to know about the
BOARD?'
Dick,

IMHO neither needs to know about the existence of the other.

NETLIST can be extracted from the board by a separate entity (say, BOARD_NETLISTER). Same for the schematic netlist.

BOARD can be updated by looking at the differences between NETLISTs made by these two entities. Same for the schematic - the differences just trigger different actions. Change of a footprint in SCH->PCB direction would trigger a reload of the footprint and replacing corresponding primitives in the BOARD. In reverse direction, it would merely change the FPID attribute of the schematic part.

IMHO it's just a matter of refactoring the BOARD::ReloadNetlist into smaller chunks (each of them responding for a particular change, with the knowledge of how to update the underlying model) and writing a much simpler (just doing pin/part swaps + footprint backannotation) class for eeschema.

No files involved, just as you said.

Cheers,
Tom

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp




References