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 Orderbutton 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.
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.