Skip to main content

Back Annotation & Forward Design Changes : Catch 22

I have encountered a Catch 22 situation a number of times.

Here is a simple example that illustrates the problem:-

Create a schematic with two resistors and connect them together with a single net: N0001

Translate the schematic to a PCB.

Rename the Net on the PCB from N0001 to N0002

Rename the Net on the Schematic from N0001 to N0003

Now try and forward the design change to the PCB.

mceclip0_16efc435fc514f126c9a480a8cef877b700d2e87.png

If you try to run Back Annotation as suggested it fails with the following error:-

===

Back Annotate renames from the PCB design to all Schematic designs in project "Test1".

Error: Could not find  Net " N0001".

===

You are now completely stuck.

If you manually change N0002 on the PCB to match the Schematic (i.e. N0003) this is what happens:-.

mceclip1_23fa4aae9a5db69e7732503b10b90ea7a49bd01a.png

mceclip2_c69591031a013d39e39ef12f9caf32d62fa21271.png

However if you now try to forward design changes from the Schematic you get this:-

mceclip3_265d9dd58304b9c923fc645f7f92b3122d53f58d.png

Attempting Back annotation again gives another error:-

===

Back Annotate renames from the PCB design to all Schematic designs in project "Test1".

Error: Could not find  Net " N0001".
Error: Could not find  Net " N0002".

===

For those old enough to remember the Colossal Cave adventure program: "You are in a maze of twisty passageways , all alike". There is no way out.

In this simple example with multiple renames, the user can eventually find a way out by manually trying to match the Schematic and PCB. In a more realistic example it becomes a nightmare.

What is needed is to allow the user the option to override the Back Annotation requirement and force renames made to the Schematic to the PCB.

You get similar problems if some components on the PCB have newer or older versions compared with those on the Schematic (or vice-versa). It is often unclear whether the user needs to update the component on the PCB or the Schematic. I have found that updating components can have unexpected side effects such as Values dissappearing from the Schematic.

Comments