← Back to team overview

kicad-developers team mailing list archive

Re: Back annotate references from PCB


> On 01.12.19 21:06, Jon Evans wrote:

1) 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.

This is alternate footprint. Implementation by reference in new symbol library would allow things like automatic footprint change for reflow / wave soldering if component pushed from front to back. Schematic is not affected and no need for backannotate. Data source should be symbol library rather than pcb. Allow workflow using footprints not defined in approved symbol lib is a further source for individual issues in the design. Kicad also always need generic workflow but avoid discussion about atomic lib here.
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.

This is a device change what affects schematic BOM. Probably it is useful to have a device change dialog for devices using same inherited drawable symbol (typical value change) whith/whithout copper changes. For intuitive use I would search this dialog in eeschema and it could be similar useful than text editor search&replace by regex. For exmaple change all pullup resistors from 4k7 to 1k.

Today typical 4k hi-res screens are in use for CAD. I always have the schematic on the screen beside PCB while routing. No need for reverse workflow. A powerful cross-probe highlight zoom/pan is the better boost of productivity in this stage of the design. Agree with Brian, also my circuits have many changes while routing. This may be diffrent for contract PCB people what receive "ready" schematic from designer. PCB is another view of your schematic what always gives you diffrent insights and reasons not to follow the classical waterfall design workflow.

IMHO back annotate is usefull in 4 cases what all belong to the nice to have category. Same things can be done already without backannotation with only little manual work.

1) Pin swap: For example between the 2 inputs of a 7400 NAND gate
will only change 2 pin numbers in schematic. Using uC/FPGA with visible PinNames, these should also change using back annotation.

2) Gate swap: For example swap 2 (of four) NAND gates of a 7400
will change 2x3 pin numbers in schematic. Although Eagle and other Ecad is doing so, I would prefer not using A,B,C,D,E suffix to reference. We see the gate position inside IC by pin numbers and all gates including power box may have the same reference. Warnings for unused gates is a matter of schematic DRC.

3) Intercomponent swap. For example if you have several 7400 in your circuit and change two gates between diffrent components. This is similar to 2 but reference change (not only reference suffix) is required.

4) geo or partitial manual renumber

Assume all, backanotate only needs Reference, PinNumber, PinName.
I dont see any disadvantage if backannotation writes changes to file(s) what are executed later on demand like forward annotate or netload is now. This allows to try several swap configurations and then backannotate after decision for best variant is done.