Mail Archives: geda-user/2015/07/09/08:09:27
On Thu, 9 Jul 2015, Roland Lutz wrote:
> On Thu, 9 Jul 2015, gedau AT igor2 DOT repo DOT hu wrote:
>> Back annotation is something I'd love to have but the way I imagine that
>> feature, it would require major changes, many of which would require UI
>> changes.
>
> Could you explain how you imagine back annotation to work?
Same as forward annotation. It works in PCB because PCB has two concepts:
current state of the board (actual connections) and desired connections
(the netlist). When they don't match, PCB indicates that (rat lines,
shorts) and the process is that the user tries to modify the current
state to match the desired state.
The same thing backwards would be:
1. PCB validates some of the mismatches, marking them in the PCB file;
e.g. if pins of a connector has been swapped during the layout, or a 0805
resistor changed to 1206, it'd update the netlist and make some sort of
machine parseable note about it. After the validation these are no longer
errors in PCB.
2. There would be a glue script that'd read the PCB file to find out these
changes; when they are such changes, it'd store them in a form gschem
could parse. This is the same thing as gnetlist, just in the other
direction (import instead of export). And it could have variants for
different work flows, for example if point 1. is not PCB but some
interactive spice simulation in which the user fine tuned some values that
should be propagated back to gschem.
3. Gschem could import such a change set (e.g. just like PCB can import a
new netlist or components for an existing PCB design).
4. And here comes the hard part: gschem would also have two concepts, the
current state of the schematics and the desired state and would also
indicate mismatches - for connections maybe with similar rat lines and
shorts. This is the part that'd involve UI changes too.
5. The user then could resolve the changes in the schematics to reflect
the state of the PCB.
There are the usual corner cases when two applications/threads/authors
want to make modification on the same thing, e.g. what happens if i have a
(pcb-gschem-wise) consistent design and then I change the same pinout in
two different ways in the same time in PCB and in gschem and then do a
forward annotation and a back annotation... But I think these could
beworked around.
Regards,
Igor2
- Raw text -