← Back to team overview

kicad-developers team mailing list archive

Re: Back annotate references from PCB


> On Dec 1, 2019, at 6:59 AM, Vesa Solonen <vesa.solonen@xxxxxxxx> wrote:
> Eeli Kaikkonen kirjoitti 1.12.2019 klo 0.08:
>> BTW, about the possibility of changing the footprint - I have always found
>> being able to change footprints in pcbnew strange because then it's out of
>> sync with the schematic and it has to be changed in the schematic manually
>> and updated to layout anyways. Being able to update it from the layout to
>> the schematic looks like an obvious missing feature.
> I would consider it a missing feature that the schematic-layout path is
> anything but completely bilateral. Everything should be editable and
> propagated both ways and question remains does it even make sense to
> have different files. If a footprint is added or gate/pin swapped on the
> PCB side the changes should show as rubber bands on the schematic, just
> like it works from update PCB form schematic. Proper back annotation is
> a good middle target, but having complete seamless bilateral data and
> action model is way more usable albeit complex.

I want to add the perspective of a professional user. 

We don’t change footprints in the layout editor. Why? Because NE5532D in SOIC-8 is not the same part as NE5532P in PDIP-8. Going backwards in this manner blows up the BOM, unless you can work out some way of back-annotating a different part number for each instance of this device without making mistakes. The footprints in pcbnew have no knowledge of a part number, so there is no way of changing that in layout and bringing it back to schematic.

(I assume that most people use the schematic as the “master source,” and BOMs and such are generated from it, not layout.)

The "house part number” decouples a thing on your schematic from what you order. There are a dozen resistor manufacturers, so rather than putting “manufacturer=Panasonic” and “base part number=ERJ-“ in the symbol, you can just put a house part number in a PN field and then a downstream database can map it to what your purchasing person can order.

Anyway, it’s a lot easier to update the schematic with the new part and then forward-annotate, and this keeps both schematic and layout in sync.

Pin-swapping and gate-swapping are much more important. The pin swapping makes for an interesting problem, which is making sure the resulting schematic isn’t a mess. Most likely an informal (or required) “rule” would be that you draw a net from each pin that can be swapped and you give them net labels, but you don’t draw that net to any other pin.

Thanks to everyone involved in adding the back-annotation feature!


Follow ups