Finding Differences and Synchronizing Designs
Whether you are transferring a captured design to a new PCB document for the first time, or making changes to an existing design on either the schematic or PCB side, some way of keeping the two sides in-sync is required. Altium Designer provides a powerful design synchronization feature that delivers an effective solution to the problem of keeping designs synchronized, allowing you to get on with the most important and, from an engineer's perspective, the more enjoyable job of actual design.
Synchronization - An Overview
The synchronization process can essentially be broken down into three steps:
1. Compare design documents (e.g. compare project source documents to the target PCB)
2. List the results of that comparison (the differences detected between the compared documents)
3. Implement changes to resolve those differences
At the heart of the synchronization process is a user-configurable Comparator (or difference engine). It is this Comparator that is used to implement Step 1 above - comparing the nominated design documents and compiling a list of differences.
Step 2 is the provision of a dialog that lists the results of the comparison and offers full control over the direction in which design updates are made when resolving the differences. See the section Directing the Update Traffic for further detail.
Step 3 is the execution step - actions to be implemented in order to bring the designs back into sync. Each action is actually a macro command, with the collective actions represented as an Engineering Change Order (ECO). See the section Implementing Design Updates for further detail.
Figure 1 illustrates the overall flow for the synchronization process.
Resolving Synchronization Errors
Most problems with synchronizing a design generally fall into two categories:
- Missing component footprints. This occurs when:
- A footprint model is missing from the component information in the schematic.
- You have forgotten to add the required PCB libraries to the currently available libraries.
- The component in the schematic does not match any PCB library component.
- Footprint pin numbers not matched to schematic pin numbers. Altium Designer supports user-definable pin-to-pad mapping, the default behavior is to expect the same number/letter on both sides. Pin-to-pad mapping is defined in the PCB Model dialog (edit the schematic symbol, select the footprint in the Models region of the dialog, and click Edit).
To resolve errors, perform a Show Differences, then in the Differences dialog click the Explore Differences button. Interrogate offending design objects through the Differences panel when it appears.
Direct Schematic ↔ PCB Synchronization
Altium Designer's Schematic and PCB Editors provide direct synchronization commands. These commands are direct in the sense that the update direction for any differences is fully one way or the other. The Differences dialog will not appear and you can therefore not change the update direction, nor can you perform bidirectional updates simultaneously. Instead, where differences are detected, you will be presented directly with the Engineering Change Order dialog - loaded with the modifications needed to push the design changes from the schematic to the PCB or vice-versa.
It is therefore important that the Comparator and ECO Generation options are setup appropriately in their respective tabs of the Options for Project dialog (Project » Project Options). It is also a good idea to carefully scrutinize the proposed changes listed in an ECO, to ensure that changes will be made as you expect.
The following direct synchronization commands are available from within the target PCB document:
- Design » Update Schematics in ParentProjectName - used to update the parent project's source schematics with changes made to the PCB design
- Design » Import Changes From ParentProjectName - used to update the active PCB document with changes made to the source schematic documents of the parent project.
The following direct synchronization command is available from within a source schematic document:
- Design » Update PCB Document DocumentName - used to update the indicated PCB document with changes made to the project's source schematic documents.
What can be Synchronized?
Not all design changes can be synchronized in both directions. To summarize, the following changes can be synchronized:
- For schematic to PCB synchronization, all of the PCB design related details can be sychronized.
- For PCB to schematic synchronization, only changes made to the component designator, comment and footprint can be synchronized back to the schematic. The only net changes that can be synchronized are changes due to a pin or part swap operation - how this is carried out depends on how the pin/part swap options are configured. To learn more, refer to the Pin, Pair and Part Swapping article.