← Back to team overview

kicad-developers team mailing list archive

Re: Back annotate references from PCB

 


> On Dec 1, 2019, at 1:06 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
> 
> From another professional user, I have to disagree. There are at least two cases I can think of where changing the footprint during layout is important:
> 
> 1) In my experience, it's common to keep multiple variants of IPC standard SMD footprints, especially for passives. By default, we specify the "medium density" variant of an 0402 resistor or capacitor, but in some cases (critical controlled impedance, small BGA decoupling, etc) we may decide during layout that it is best to switch to the "high density" (minimal pad size) version of the 0402.

> 2) similarly, we might have a design with 0402 passives that we determine during layout needs to switch to 0201 in some cases to make proper layout possible. In this case, it's indeed an entirely different part, not just a variant footprint for the same part, but the decision is made at layout time and back-annotated onto the schematic (which will then drive the BOM). 
> 
> Neither of these workflows is particularly easy in KiCad today, but I'm mostly talking about my experience with commercial tools here. 
> 
> This isn't necessarily me saying that these workflows need to be supported by this current back-annotation effort (I think they also depend on several other large future changes), just saying they are valid in my opinion. 

We do both of what you mention. But (and this is with Altium at the day job) when those footprint-change decisions are made, the layout guy finds it easier to update the schematics with the correct part and go forward. We do have symbols for the same part that call out the different footprints as needed for fab reasons.

Our main layout guy has access to the schematics and he keeps both the layout and the schematic on screen while working. So sure, a change like this is made at layout time, but it certainly seems easier to just change the schematic and go forward. Especially since you can do searches in the schematic editor for any set of parameters you like and let it change them all at the same time.

But of course everyone has methods that work for them.

-a 


> 
> -Jon 
> 
> On Sun, Dec 1, 2019, 14:46 Andy Peters <devel@xxxxxxxxx <mailto:devel@xxxxxxxxx>> wrote:
> 
> 
> > On Dec 1, 2019, at 6:59 AM, Vesa Solonen <vesa.solonen@xxxxxxxx <mailto: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!
> 


References