Mail Archives: geda-user/2015/07/09/10:32:11
On Thu, 9 Jul 2015, Roland Lutz wrote:
> On Thu, 9 Jul 2015, John Doty wrote:
>> If you?re just making changes until a diff shows nothing, it doesn?t matter
>> whether you make them upstream or downstream. Just quit when you have a
>> match!
>
> This sounds reasonable to me. So the common denominator is to load a "target
> netlist" into gschem and show the differences between the current state and
> the target state, either by highlighting them in the schematic or by showing a
> diff? This shouldn't be too difficult to implement.
On gschem's side, I think so.
Although things could get a little more tricky with multipage schematics,
hierarchical schematics, buses, and so on.
>
>> nearly all of the unnamed nets changed their names in this case
>
> A clever diff algorithm would have to compare connectivities independently of
> net names, so the remaining net name changes could easily be ignored.
Good point about nets.
A separate issue is attributes; replacing the footprint during
layout (common in my practice) is actually a change in the attribute in
gschem. For the first glance, as an user, I'd be happier if it went
automatically, but I have corner cases where it could break slightly or
terribly. Example for the latter is my special gsch2pcb variant for
breadboards; there I can have multiple footprint attributes (with
different attribute names) and my gnetlist variant decides which one to
use (tru-hole for breadboard modelling and smd for the final board). If I
wanted to back annotate a footprint change automatically, the back
annotation script would need to understand this mechanism. This suggests
the obvious: back annotation glue scripts should be external and easy to
replace. We can avoid language-lock-in with John's idea I also support:
design a good and well documented netlist/attribute-changes language for
back annotation, so anyone can code their own scripts in whatever language
they prefer.
An alternative to tricky back annotation scripts: if attribute changes
don't happen automatically, nothing gets messed up (but the user has to
spend more time manually changing things on the sch). Maybe this could be
a setting somewhere.
Regards,
Igor2
- Raw text -