Finding Differences and Synchronizing Designs
This article provides an overview of the process used by Altium Designer to keep your schematic and PCB designs synchronized. The facilities for detecting and resolving design differences are covered in particular.
Summary
Article
AR0106 (v2.1) March 10, 2008
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 - 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.
Figure 1. Flow of the synchronization process in Altium Designer
AR0106 (v2.1) March 10, 2008
1
Finding Differences and Synchronizing Designs
Detecting the Differences
As mentioned, the very heart of the synchronization feature is the Comparator, without which detection of differences that exist between design documents would not be possible. The Comparator can compare the component and connective
information between almost all kinds of documents. The following are just some of the document-type comparisons that can be made:
• Design hierarchy of a project to a PCB • Schematic to Schematic • PCB to PCB • Netlist to PCB • Netlist to Netlist.
The Comparator is invoked whenever a comparison-based command is run, such as the Show Differences or Show Physical Differences commands, available from the Project menu. When updating directly from a schematic project to PCB (and vice-versa) comparison is made when using the dedicated Update/Import commands from the Design menus (see Direct Schematic PCB Synchronization).
Setting Up the Comparator
As a user, you have complete control over the kinds of differences that the Comparator will detect. Controls for the Comparator are
accessed from the Comparator tab of the Options for Project dialog (Project » Project Options), with all settings stored as part of the project.
Comparison types fall into four categories:
• Differences associated with Components – comparisons made at the component level (e.g. detection of components that
exist on schematic and PCB documents, but possessing different designators) • Differences associated with Nets – comparisons made at the net (connective) level (e.g. detection of extra nets existing
on either schematic or PCB) • Differences associated with Parameters – comparisons made at the parameter level (e.g. detection of an object that
exists on both the schematic and PCB, with the same parameter, but different values) • Differences associated with Physical – comparisons made at the physical level, when comparing two versions of the
same schematic or PCB document (e.g. detection of extra PCB objects in one version of the compared document). Use the controls available to configure the Comparator as required. For each comparison type, you can determine whether any detected differences will be added to the final list of differences built by the Comparator (Find Differences) or skipped and therefore not included in the list (Ignore Differences). One example of when you might set certain comparison types to be ‘ignored’ is for a design that is not multi-channel in nature. In this case you can simply set the channel-related comparison types (Changed Channel Class Name, Channel Classes with Extra Members, Extra Channel Classes) to be ignored.
Controls are also available that allow you to determine the criteria used by the Comparator when matching objects between compared documents. Applicable at the Net, Net Class and Component Class levels, these essentially allow you to fine tune the comparison process for these object types.
Running the Comparator
For full control over the synchronization process, you need to be able to view the list of differences detected and built by the Comparator. This is especially true if you wish to control which, and in what direction, any updates (changes) are made, in order to (re)attain synchronicity. To view the list of differences, the Comparator should be invoked using the Show Differences command, which is available from the Project menu.
2 AR0106 (v2.1) March 10, 2008
Finding Differences and Synchronizing Designs
Choosing the Documents
Running the Show Differences command gives access to the Choose Documents To Compare dialog, which is used to select the documents for comparison. By default, the dialog opens in simple (non-advanced) mode,
allowing you to quickly select the target PCB document to compare against the project’s source document hierarchy.
Enable the Advanced option to be able to select different document
combinations to compare as required. For example, you might need to build a PCB using a netlist generated from a third party’s Schematic Editor. This could
quite easily be done in Altium Designer, by comparing the netlist against the target (blank) PCB document.
When comparing a project’s source document hierarchy against the target PCB, the source documents will be recompiled before the comparison is made.
Component Linking through Unique IDs
When a component is placed on a schematic sheet, it is automatically given a unique ID. As a precursor to comparison, Altium Designer scans the source schematic and target PCB documents for linked components. These are components that have been previously synchronized with one another and share a unique ID. If components have not yet been
synchronized between documents, a dialog will appear alerting you to this fact and allowing you to match components either automatically – by designator – or by hand. The latter can only be performed from the PCB document, using the Edit Component Links dialog (Project » Component Links) (Figure 2).
When component information is transferred for the first time between schematic source documents and a blank PCB design document, using the Synchronizer, all components will automatically be linked by unique ID – the ID information from each schematic component being assigned to the corresponding component footprint. The reason that manual linking of components is only carried out from within the PCB document,
is that only the PCB component footprints need to be updated with the unique ID information – it is already present on the
schematic side. Use the dialog at any stage during the design to view the linking between components and to reassure yourself that the components on the schematic source documents are indeed correctly matched to the corresponding component footprints in the PCB design. Unique IDs can be removed at any time by moving the linked components back to the
unmatched regions of the Edit Component Links dialog.
Removing a component link will remove the unique ID from the corresponding PCB footprint only. The schematic component retains the unique ID, unless a new one is generated (using a reset unique ID-related command at either the schematic or component level).
It is a good idea to have all components matched using
unique IDs, so that annotation of designators in either schematic or PCB document can be carried out, with the safe knowledge that the
documents can still be Figure 2. Assignment of Unique IDs through manual linking of components resynchronized at any stage. The
documents can still be synchron-ized even if components aren't matched by unique IDs, but in this case, you will be prompted to match the components by designators only - comment and footprint is not taken into account and therefore it is possible that matching of some components is carried out incorrectly.
In a similar vein, a unique ID is automatically assigned to each parameter definition on a source schematic document. This is used for those parameters that have been added as design rule directives. When transferring the design to the PCB document, any defined rule parameters will be used to generate the relevant design rules in the PCB. These generated rules will be given the same unique IDs, allowing you to change rule constraints in either schematic or PCB and push the changes across when performing a synchronization.
AR0106 (v2.1) March 10, 2008
3
Finding Differences and Synchronizing Designs
Directing the Update Traffic
With all components linked between the source project documents and the target PCB, the comparison will proceed. The Comparator will adhere to the setup defined for it in the project options and, if any differences are detected whose associated comparison types are not set to be ignored, those differences will appear listed in the Differences dialog (Figure 3) and are also flagged as entries in the Messages panel. Differences are grouped by comparison type.
Figure 3. Viewing differences and setting update actions using the Differences dialog
The Synchronizer is bi-directional. This means that you can specify updates to both documents in the same ECO. In order to synchronize the designs the aim now is to determine, for each difference, whether or not to take action and in which direction the change is made – specifying which document should be updated in order to remedy the difference.
Even if differences are detected, you are under no obligation to take action on them. When the Differences dialog is generated, the default update decision of No Change is assigned to each entry. Altium Designer will
Not all difference updates can be only synchronize the elements you specify. If you wish to sweep all changes one way or
pushed from the PCB back to the another, simply right-click anywhere in the dialog and choose from a range of commands
schematic document(s). The right-click that act on all difference entries, all selected entries or all entries of a particular comparison
menu items will, in such cases, not type. Alternatively, click in the Update column to make decisions on an individual basis. allow the direction to be set to the left The Change Order area of the dialog simply lists, for each difference that you decide to act upon, the action to be taken, the object affected by the action and the document upon which the action will be carried out. It is this information that is used to compile the subsequent ECO that will be used to effect the updates. Common actions that will be listed in this area are:
• Remove - where the update is in the direction of the document that contains the object
causing the difference; the object will be removed • Add - where the update is in the direction of the document that does not contain the
object causing the difference; the object will be added
• Update - where both documents contain the same object that differs in some way; the object changed depends on the
direction chosen. Figure 4 shows an example of the Differences dialog after update decisions have been made.
(i.e. the schematic document(s)). If you select this direction individually - by clicking on the associated entry in the Decision column - the ECO that is created will not contain the update, reinforcing the fact that such a change to the schematic document is not possible/supported.
Figure 4. Example of update decisions made to resolve detected differences
Click the Report Differences button to set up and print/export a report for the differences found by the Comparator, the update decisions you have decided to make and the actions that will be included in the generated ECO.
4 AR0106 (v2.1) March 10, 2008
Finding Differences and Synchronizing Designs
Exploring Differences
If you want to investigate further the differences found by the Comparator, prior to generating an ECO, then click the Explore Differences button. The Differences dialog will close and you will be returned to the main workspace, with the Differences panel made visible.
The Differences panel can only display the differences that were listed in the Differences dialog.
Figure 5. Exploring differences using the Differences panel
The panel displays the differences found between documents in a tree-like structure. The top-level folder displays the total
number of differences detected. Sub-folders are then created for each specific comparison type that appears in the Differences dialog. In each sub-folder are listed the specific differences that have been found, which in turn are broken down further into objects on the compared documents that are responsible for the differences arising. Use the panel to cross probe to an object responsible for a difference, on its parent document.
Exploring differences in this way will cause any update decisions you have made in the Differences dialog to be lost - you will need to open the dialog again and define updates once more as required. Alternatively, you can cross probe to an object directly from within the Differences dialog. Double-click the object’s entry in the Differences region of the dialog. As the
Differences dialog remains open, it is a good idea to have the source and target documents open and the dialog placed such that your view is not obscured.
To access detailed information about the Differences panel, press F1 when the cursor is over the (focused) panel.
Showing Physical Differences – Going Graphical
The Project » Show Differences command provides for detection of the logical differences that exist between (typically)
different documents – commonly the source documents in a project with the target PCB. These are component and connectivity comparisons. In addition to these, Altium Designer’s Comparator caters for the physical comparison of schematic or PCB documents. This feature enables you to graphically compare two versions of the same schematic or PCB and, with the two documents open side-by-side in the workspace, view the physical differences between them. Access to this feature can be made in one of the following ways:
• Using the Project » Show Physical Differences command. Ensure that the previous version (typically a backup) of the
document is saved with a different name before opening. The backup version of the document does not need to be added to the project, it can be opened as a free document. Then, run the command to access the Choose Documents To Compare dialog which, when configured in Advanced mode, can be used to select the two versions of the document for comparison. • From within the Storage Manager panel. Select two versions of the document in the Local History region (or VCS Revisions
region if your documents are under version control using CVS or SVN), right-click and choose Compare. Project » Local History » Show Local History command. Select two versions of the document from the • Using the
available list and click Compare. In all three cases the comparison will proceed – in accordance with the options defined for the Physical comparison types in the Comparator tab of the Options for Project dialog. Any detected physical differences will be listed in the Differences panel, with entries also appearing in the Messages panel. With the two versions of the document open side by side in the main design window, you can peruse the differences graphically. Clicking on a top-level folder for a detected difference (in the Differences panel) will highlight that difference on both documents simultaneously (Figure 6). Click on the sub-entry for an object to highlight it on its parent document separately.
The Show Physical Differences command is intended for comparison of two versions of the same document. If you run it to compare different documents, such as the project’s source hierarchy with the PCB, the Differences panel will appear listing the detected logical differences. The Differences dialog will not appear. You are simply exploring the logical differences. To update, run the Show Differences command instead. Note that this feature is purely for visual comparison of differences between versions, neither of the documents can be updated by generation of ECOs.
To access detailed information about the Storage Manager panel, press F1 when the cursor is over the (focused) panel.
AR0106 (v2.1) March 10, 2008
5
Finding Differences and Synchronizing Designs
Figure 6. Exploring physical differences between document versions using the Differences panel
Comparing Versions of ASCII Text Documents
Not part of the Comparator, but well worth a mention, is the ability to compare two versions of a text-based ASCII document. This feature is available when comparing documents from within the Storage Manager panel, or when using the Show Local History command. Comparison will open the CompareForm dialog (Figure 7), showing a graphical 'diff' of the two versions of the document. The dialog is for comparison only - no modifications to a loaded document can be made.
Figure 7. Exploring differences between ASCII documents
6 AR0106 (v2.1) March 10, 2008
Finding Differences and Synchronizing Designs
Implementing Design Updates
Design updates/changes are implemented using Engineering Change Orders (ECOs). An ECO simply lists all modifications required to implement changes to one or more design documents, in order to satisfy the synchronization action requested. ECOs are used to effect design updates in a variety of situations, such as: • Performing annotation updates to schematic component designators • Implementing updates to parameters using the Parameter Manager
• Updating parameter information with information stored in source libraries or a company database.
Perhaps the most important and most often encountered situation for the use of ECOs however, and the one considered for the rest of this section, is when synchronizing the source documents of the captured design and the target PCB implementation of that design. Changes on either side will always need to be pushed to the other side in order to maintain synchronicity – which is where the ECO comes into play.
Setting Up ECO Options
As with the Comparator, Altium Designer affords you control over which modification types can be contained in a generated ECO. ECO-related options are accessed from the ECO Generation tab of the Options for Project dialog (Project » Project Options), with all settings stored as part of the project.
Modification types are grouped into categories associated with Components, Nets and Parameters.
Use the controls available to configure ECO generation as required. For each modification type, you can determine whether an update action of that type will be added to the list of modifications contained in the ECO (Generate Change Orders) or skipped and therefore not included in the ECO (Ignore Differences).
Generating the ECO
To continue with our underlying example of project source to PCB synchronization, after viewing the list of detected differences, exploring them and setting the update direction(s) as required, the ECO must be generated. This is done by clicking the Create Engineering Change Order button in the Differences dialog. The Engineering Change Order dialog will appear (Figure 8), listing all modifications necessary to implement the changes required to bring the designs into synchronization. By default, all modifications are enabled for inclusion when the ECO is executed. Once again, control is yours and you can enable/disable each modification entry as required.
Commands available from the dialog’s right-click menu enable you to cross-probe to target and reference objects on the associated schematic and PCB documents.
Figure 8. Example modifications contained within an Engineering Change Order (ECO)
It is particularly important to validate the proposed modification actions before executing them. Do this by clicking the Validate Changes button. Not only will the logic of your proposed changes be tested, but libraries will be searched to ensure that the models are available, even to the point of checking pin-to-pad matching. Validation results will appear in the Check column of the dialog. A green tick means that the proposed change is supported and will be carried out upon execution of the ECO. A red cross means that the proposed change is invalid and will not be carried out when the ECO is executed.
If any modification entries fail the validation stage, an entry will appear in the corresponding Message column of the dialog (and also in the Messages panel), giving an indication as to why it failed (e.g. Footprint Not Found). You can always close out of the dialog at any stage, in order to investigate why certain changes are failing and make any design changes as necessary. When you are completely satisfied, click the Execute Changes button to execute the ECO and effect the valid changes contained therein.
When the ECO has been fully executed, a green tick will appear in the Done column for each modification carried out. Remember, only changes that pass the validation stage will be executed.
Click the Report Changes button to set up and print/export a report for the modifications contained within the ECO. Bear in mind that the report will list all modification entries, irrespective of whether they validate and execute successfully.
AR0106 (v2.1) March 10, 2008
7
Finding Differences and Synchronizing Designs
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.
If there are large scale net connectivity changes it can be easier to clear the netlist in the PCB editor – the synchronisation process will reload them all. You will then need to reapply the net information to any routing. Do this using the Configure Physical Nets dialog (Design » Netlist » Configure Physical Nets). • 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 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.
8 AR0106 (v2.1) March 10, 2008
Finding Differences and Synchronizing Designs
Revision History
Date9-Dec-2003 05-Aug-2005
Version No.
1.0 2.0
Revision
New product release
Updated for Altium Designer SP4. Renamed from Design Updates and ECOs. Rewritten to concentrate on the synchronization process.
10-Mar-2008
2.1
Converted to A4,
Software, hardware, documentation and related materials: Copyright © 2008 Altium Limited.
All rights reserved. You are permitted to print this document provided that (1) the use of such is for personal use only and will not be copied or posted on any network computer or broadcast in any media, and (2) no modifications of the document is made. Unauthorized duplication, in whole or part, of this document by any means, mechanical or electronic, including translation into another language, except for brief excerpts in published reviews, is prohibited without the express written permission of Altium Limited. Unauthorized duplication of this work may also be prohibited by local statute. Violators may be subject to both criminal and civil penalties, including fines and/or imprisonment. Altium, Altium Designer, CAMtastic, Design Explorer, DXP, LiveDesign, NanoBoard, NanoTalk, CircuitStudio, Nexar, nVisage, P-CAD, Protel, Situs,
TASKING, and Topological Autorouting and their respective logos are trademarks or registered trademarks of Altium Limited or its subsidiaries. All other registered or unregistered trademarks referenced herein are the property of their respective owners and no trademark rights to the same are claimed.
AR0106 (v2.1) March 10, 2008
9
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务