Forward annotation is the process by which a designer transfers changes from a schematic to a PCB layout environment. Back annotation is the opposite of this procedure, when changes are made at the layout level and transferred back to the schematic.
Forwards and backwards annotation are import aspects of the design process. Changes that are made at every incarnation of a design should be appropriately merged into other design stages, so that iterative work is properly documented. This is important for both the present design process as well as future maintenance.
Many products are on the market for multiple years and elements of the design (such as components and devices) may become obsolete or require alteration during this time period. The need for incremental changes to a design means that a complete set of files which depict the design at both schematic and layout stages can avoid frustration and save time in the future.
Due to the importance of this task a designer should take great care to ensure that the schematic and layout of a design are completely in sync.
To forward and backward annotate changes in either the schematic or the PCB layout is a very simple and straight forward procedure, however to reduce the possibility of error it is important to understand how annotation works from the fundamental elements (the netlist) to the actual annotation procedure.
Accompanying this tutorial is a 7321_annotation.zip file which contains various examples to help in the tutorials in this article.
The forward and backwards annotation process is based upon the transfer of a netlist file. The netlist file is a text based representation of your design and as changes are made either at the schematic or layout level, it is through the netlist that this information is transferred. In this article we will investigate:
When a design is created in NI Multisim and NI Ultiboard, the components, devices, and net connections are automatically defined in an ASCII file. This ASCII file contains:
When a user transfers this netlist from Multisim to Ultiboard a new netlist file with a .ewnet extension is created which contains:
This netlist is the fundamental representation of a design, as well as the method through which the design can be transferred either from schematic to layout, or vice-versa.
Before one can begin the iterative procedure of forward and backward annotation of design changes, the file must be transferred from the NI Multisim schematic capture environment to NI Ultiboard layout.
With the following six steps we will transfer an example Multisim schematic to Ultiboard
The schematic has been transferred from Multisim to Ultiboard.
When the netlist is imported from NI Multisim (as in the steps above), Ultiboard iteratively undergoes a four step procedure to:
The above four step procedure is repeated by Ultiboard until all landpatterns are placed onto the work area and nets have been assigned to all pins.
Throughout the design process, particularly through the transfer process, there are a number of events that can occur which can potentially cause errors. In order to help effectively handle these situations, the following section will outline a possible issue encountered in the transfer process. You will learn the correct procedure to resolve this issue.
When Ultiboard opens a netlist file it ascertains the name of a landpattern for a particular device and searches its database for a part that corresponds to this name to place on the work space. If a landpattern has been incorrectly named in the netlist or if it has not yet been created in the Ultiboard database then you have a situation in which a landpattern for a device cannot be correctly placed into the project.
To demonstrate what occurs when a landpattern cannot be found:
When Ultiboard cannot find a component (as in this situation) it will map the element to a default square shape with multiple pins in order to not drop (or lose) nets and components due to an improper transfer. The default landpattern is shown below:
The red X through the landpattern indicates that the transferred landpattern name does not exist. In order to fix this situation and ensure that the change is properly reflected both at the schematic and layout level requires back and forward annotation.
We will now investigate what exactly back and forward annotation are, and will return to our above documented design error later in the article.
This error resolution is to be continued…
The Forward Annotation process is similar to a transfer to Ultiboard, however it transfers to a layout that already exists. This means that prior to forward annotation, a schematic has already been transferred to Ultiboard.
Forward Annotation only transfers incremental changes to the design to layout. Therefore it is not the entire design that is transferred, but only the changes in the schematic that have not yet been defined at the layout stage.
Previously the schematic was completed and transferred to layout. At this time we need to make additional changes to the schematic but must ensure that this change is properly represented at the layout level.
You have now changed your original design and must annotate these changes to layout. The following is the forward annotation process.
TIP: In order to safeguard your work it is always recommended to backup your layout file prior to a forward annotation. Before continuing make a backup of the Forward Annotate 3.ewprj file, saving it as Forward_Annotate_3_backup.ewprj
LED 2 and R5 are now merged into the Ultiboard layout and are placed outside of the board outline. These components can now be placed and configured as needed for the design.
The Back Annotation process, like forward annotation, requires a schematic to have already been transferred to layout. After this primary step, back annotation allows an engineer to make changes at the layout stage and have these changes merge back into the schematic file.
It is important to note that in making changes to your design, it is preferred (and advantageous) to forward annotate changes made in the schematic to Ultiboard. This is because the back annotation process does have limitations upon what changes can be effectively transferred back to the schematic.
It is important to note these limitations, as a faulty back annotation can create schematics out-of-sync with layout. In larger designs where a back annotation may not be glaringly obvious, this can become an issue overlooked which can cause major issues in a design.
To demonstrate how to back annotate we will begin making some changes to our design to annotate back to the schematic.
Changing the name of all the landpatterns (or footprints) in the design:
Deleting a device:
Changing the landpattern dimensions of a device:
Having completed all of the changes to the layout file we are now ready to back annotate.
Ultiboard creates a log of all the changes made since last saving. These changes (documented in a log file) is saved in the same folder as the Ultiboard design file.
In our first example in this article we had encountered a situation in which a landpattern that was to be transferred from Multisim to Ultiboard could not be found within the Ultiboard database, and therefore a default “landpattern missing” shape has been placed into the layout.
With a better understanding of how to forward and back annotate we can now fix this issue with these important design tools.
To fix this problem you have two options, replace the unknown landpattern/footprint in Ultiboard and back annotate the change or make the change in Multisim and forward annotate the new landpattern.
With the back annotation approach we must select a new footprint/landpattern from the NI Ultiboard database and merge this back into our original schematic.
TIP: Under Available Parts field start typing SO8S and as you type Ultiboard filters out all footprints that do not contain the letters that was typed making component search much easier.
It is now time to back annotate the change to the Multisim schematic.
We will now make the same change, but use the forward annotation process to have the same result.
The changes will now merge into the layout, and again you have successfully annotated changes.
It is important to note that if in Ultiboard a change is made (for example a part deleted) and saved, that change is logged within the log file. If however at this point an undo is done upon the change (Edit > Undo …) and is again saved, the log file will not represent the undo. Therefore, if a back annotation procedure is done the component originally deleted in the first step will be annotated into the design.
The following exercise showcases the steps to recreate such an issue for clarification.
When Undo was performed in step 5 above Ultiboard placed C3 back on the design but the log file was not updated. The Undo action in this case is similar to adding a new landpattern in the Ultiboard design. As mentioned earlier NI Multisim does not back annotate landpatterns added in the layout.
To avoid this situation, it is good practice to always modify changes such as landpatterns changes, schematic connections, pin names etc… in NI Multisim and then forward annotate to NI Ultiboard.
Collaborate with other users in our discussion forums
A valid service agreement may be required, and support options vary by country.