You have placed components on the schematic, maybe even fully wired, compiled, and taken the design to the board layout stage. More than likely, there will come a time when a change to a component is required - a new parameter added, a change to a model link, or maybe a change to a symbol or footprint at the graphical level.
The logical place to make a change is at the source. The nature of this source depends on how the component was placed:
-
From an Integrated Library - the source libraries are extracted, the change is made, and the integrated library package is compiled to generate the revised integrated library.
-
From a Database Library - for a parameter or a symbol/model reference, the change is made to the corresponding record for the component in the linked external database. If the change is a graphical one (to a symbol or model), it is carried out within the referenced source library.
-
From a Schematic/PCB Library - the change is made to the component or footprint in the corresponding library from which the component/footprint was placed.
You also may have linked a placed component to an external database using a Database Link file (*.DBLink). The symbol and model changes are made in the source libraries. For parameters, changes are made in the database.
Once changes are made, they need to be pushed across to the design. Altium provides a variety of update tools that allow you to quickly and efficiently pass component changes to your Altium Designer components. This document details those tools - tools that enable you to always retain synchronicity between your component source and the placed instances of those components.
Updating Parameters From a Database
In the context of this tool, the term 'Altium Designer component' is used to describe a component instance placed on a schematic sheet or a component in a source schematic library. Altium Designer provides a tool for updating the parameters of Altium Designer components with information stored in an external database. The components must be linked to the corresponding component records in the external database for update to be made possible. Linkage is performed through the use of an intermediary linking file, which can be one of the following:
-
Database Link file (*.DBLink) - used when linking existing placed components to an external database or, more typically, defined components in a source schematic library.
-
Database Library file (*.DBLib) - used when placing components directly onto a schematic sheet from an external database.
-
SVN Database Library file (*.SVNDBLib) - the same as for a *.DBLib, but with symbol and model libraries stored under version control.
Updates are performed from the Schematic Editor by choosing the Tools » Update Parameters From Database command available from the main menus. Launching this command will open the Update Parameters From Database dialog. Use this dialog to choose which schematic documents and component types you want to include in the update.
The Update Parameters From Database command is also available in the Schematic Library Editor. The source library must be part of a library package (*.LibPkg) and a *.DBLink file is used to provide the linking from library components to component records in the external database.
The Update Parameters From Database dialog
Options and Controls of the Update Parameters From Database Dialog
After defining the scope of the update, click OK. The external database will be queried for matching components. If there are parameter differences between the Altium Designer components and the matching records in the database, the Select Parameter Changes dialog opens.
The Select Parameter Changes dialog
Options and Controls of the Select Parameter Changes Dialog
Main Grid
-
Total Number of Objects - Number Selected - displays the total number of objects listed in the grid region and the number of those objects that are currently selected.
-
Object Type - the type of object.
-
Document - the source document.
-
Identifier - the unique identifier of the object.
-
System Parameters - list of additional information for the object, e.g., address of supplier, description, library reference, etc.
Additional Controls
-
Update Selected - use to force an update on the currently selected parameters.
-
Reject Selected - use to reject the proposed update on the currently selected parameters.
-
Update All - use to force an update on all parameters.
-
Reject All - use to reject the proposed update on all parameters.
-
Show all parts - check this box to show all parts in the main grid.
-
Accept Changes (Create ECO) - in order to apply these changes to the components, an ECO (Engineering Change Order) must be generated. Click to open the Engineering Change Order dialog.
Right-click Menus
-
Revert - click to undo edits for the selected cells.
-
Edit - click to edit the selected cell.
-
Add - click to add information to the selected cell. Use the resulting drop-down to select the desired information.
-
Remove - click to delete the contents of the selected cell.
-
Rename Column - click open the Rename Existing Parameter dialog, where you may rename an existing parameter.
-
Undo Rename - click to undo the column rename and revert to the default column name.
-
Add Column - click to open the Add Parameter dialog to add a column.
-
Remove Columns - click to delete the selected column.
-
Cut - click to delete the selected text.
-
Copy - click to copy the selected text.
-
Paste - click to paste the previously copied text.
-
Clear - click to clear the selected information.
-
Report - click to open the Report Preview dialog to generate a report.
-
Save All - click to save the entire table.
-
Save Selected - click to save the selected data.
-
Select All - click to select all data.
-
Select Column - click to select the entire current column.
-
Cross Probe - click to cross probe the selected object. The selected object will appear highlighted in the schematic sheet.
Notes
-
You can drag and drop columns in the grid region to change the column display order. The new order is saved in the project file so that the order is remembered when the dialog is accessed again.
-
Parameters are prevented from being updated in the following ways:
-
At the individual component parameter level, enable the Lock Parameter option in the Component mode of the Properties panel (double-click a component to access). The Allow Synchronization With Database option is also used to control if the comment can be updated. By default, this option is enabled to always allow synchronization with the source library/database. You may disable this option to prevent the comment from being included in an update process.
-
At the database linkage level - the Field Mapping region of the relevant database linkage document (*.DbLink, *.DbLib, or *.SvnDbLib file) includes a number of options that control whether parameters can be updated including Update Values, Add to Design and Remove from Design.
This dialog lists all parameters that exist in the database records for linked Altium Designer components falling under the scope of the update. Any parameters that are defined for an Altium Designer component but are not a field in a database table will not appear listed. For example, you may have placed a component directly from a database using the database library feature then added one or more parameters after placement.
Only those parameters that are mapped between the external database and the placed component instance are listed. Parameter mapping is performed on the Field Mappings tab of the intermediary link file.
The dialog will initially show proposed updates to bring the Altium Designer component parameters into sync with those in the database based on the update actions you have defined in the intermediary link file (DBLink, DBLib, SVNDBLib).
Parameter differences are distinguished by the use of a unique icon inserted in the relevant cell. For example, a blue triangle in the corner of a cell means that a difference has been detected between the value of a parameter in the Altium Designer component and the same parameter in the linked database record.
There will be a full listing of all available cell states in the Select Parameter Changes dialog later on this page in the Parameter Update States section.
The controls provided in the Select Parameter Changes dialog allow you to fully control which updates to proceed with and which to reject. You can reject updates to all parameters for a selected component or for specific parameters of that component. To reject a proposed update for a specific parameter, select the relevant cell and click the Reject Selected button. To reinstate the update, click the Update Selected button.
Whether a placed/library component parameter gets updated or not can also be controlled on an individual parameter basis, directly from within the design/library. While browsing the properties for a selected parameter in the Properties panel (or the parameters for a selected component, on the Parameters tab of the Properties panel), disable the Allow Synchronization With Database option to prevent that parameter from being included in an update process.
When you are satisfied with the update solution, click the Accept Changes (Create ECO) button. Use the Engineering Change Order dialog that opens to validate and then execute the updates accordingly. If you realize there is an update you really do not want to proceed with, disable the applicable change order entry.
The Engineering Change Order dialog
Dual Synchronization
You may have an existing design project where the majority of the placed parts have been linked to an external database using a DbLink file. Design changes may result in additional circuitry, the components for which might be placed using the Database Library feature. The associated DbLib/SVNDbLib file could, quite conceivably, point to a different external database.
When using the Update Parameters From Database command, all linked parameters for placed components will be queried - across all linked databases, irrespective of the linking method used - and detected differences for those parameters displayed in the Select Parameter Changes dialog.
If the same database field has been used for matching in both the DbLink and DbLib/SVNDbLib files, the database linked by the DbLink file will be searched first for a match, followed by the database linked to by the DbLib/SVNDbLib file. If the component is present in both databases, you could quite possibly match and update from the wrong external record.
Updating Schematic Components From Libraries
Altium Designer provides a tool for updating placed components on a schematic sheet with modified information from a source library. This includes Schematic Component Libraries (*.SchLib), Integrated Libraries (*.IntLib) and Database Libraries (*.DBLib, *.SVNDBLib).
Although DBLib and SVNDBLib files present as libraries in the Components panel, they are only a source of connection and field mapping and not libraries in the true sense of the word. The update feature passes changes to parameters, symbol and model references in the external database, as well as graphical modifications made in referenced symbol and model libraries.
The update feature allows you to pass changes to parameters, as well as model and graphical information.
Updates are performed from the schematic document by choosing the Tools » Update From Libraries command available from the main menus. Launching this command will open the Update From Library dialog. The Update From Libraries command updates all components on the schematic sheet with modified information from a source library.
Updates are also performed from the schematic document by choosing the Tools » Update Selected From Libraries command available from the main menus. The Update Selected From Libraries command updates only the selected components on the schematic sheet with modified information from a source library.
The Update From Library dialog
Defining the Scope of the Update
The first page of the dialog deals with the scope of the update - which source schematic documents are to be included in the update and the specific component types contained thereon.
The Schematic Sheets region of the dialog will load all possible schematic documents to which the update can be applied. This can be either a single, free schematic document or all schematic sheets within the active project. Enable those documents whose components you want to be considered in the update.
As you enable/disable entries in the Schematic Sheets list using checkboxes or the All On / All Off commands from the right-click menu, the constituent physical components will be listed in the Component Types region of the dialog. Each component is listed in terms of:
-
Physical component name
-
Associated logical symbol
-
Source library from which it was placed
-
Number of instances currently placed across all enabled schematic documents.
Inclusion of components in the list is in accordance with the options available at the bottom left of the page. Use the Show field to determine the types of components included in the update. By default, All Components is selected, but you can choose to update only:
-
Standard Components - those placed from a schematic library or integrated library.
-
Database Components - those placed from an external database using a DBLib or SVNDBLib.
The Show field of the Update From Library dialog
All component types are initially enabled for inclusion in the update. Disable any that you definitely do not want to update. Alternatively, select the exact components that you want to update - directly on the schematic sheet(s) - prior to entering the dialog. Then enable the Selected Parts Only option. Only those components in your selection will appear listed. You can also use the All On / All Off commands from the right-click menu.
Use the Include Variants option to include variants and/or the Update to Latest Revision option to update components placed from a Workspace Library to their latest revisions available. Use these options to update parameters of alternate components.
The main thing to remember is that you are always in full control over what gets included in the update.
Defining Default Update Actions
The Settings region of the page is where you can define the default level of update required. The default update actions you define here will be applied to all component instances of the enabled component types.
The Actions region of the Update From Library dialog
The simplest form of update is to fully replace the components on the schematic sheet(s) with those defined in the source library - Fully replace symbols on sheet with those from library. Graphical attributes, parameters and model links are all updated directly with the information that exists in the source library. When this option is selected, the following options are enabled. Select all that apply:
-
Update designator lock field (show image)
-
Update part ID lock field (show image)
-
Preserve parameter locations
-
Preserve parameter visibility
Remember that if the source library is a DBLib or SVNDBLib, the parameter and model link information is derived from the corresponding component records in the external database, while the graphical attribute changes will come from the referenced symbol libraries.
Full replacement (Fully replace symbols on sheet with those from library) is enabled by default. Should you want a little more control over what is updated, change to Replace selected attributes of symbols on sheets. The individual update options (Update graphical attributes, Update parameters, Update models) will become available for inclusion/exclusion as required.
Definitions on the first page of the Update From Library dialog and the Library Update Settings dialog are persistent. They are stored in the project file upon saving.
For parameter and model update actions, still further control is afforded through the Library Update Settings dialog. Access this dialog by clicking the Advanced button. Not only can you define the default, global update actions for parameters and models using this dialog, but also control which specific parameters and models are included in the update.
Accessing the Library Update Settings dialog
Options and Controls of the Library Update Settings Dialog
The Parameter Settings and Model Settings sections become available (or not) depending on whether or not the Update models and Update parameters options are selected in the Settings region of the Update From Library dialog.
Parameter Settings
-
Library parameters not in sheet - use the drop-down to select the default update action to be used when the instance of the component in the schematic library has a parameter present and that parameter is not possessed by the instance of the placed component on the schematic. The choices are: Add, Do not add and Add if not blank (i.e. the parameter in the library component has a value assigned).
-
Sheet parameters not in library - use the drop-down to select the default action when the component on the schematic sheet possesses a parameter and the corresponding component in the source library document does not. The choices are: Remove, Do not remove and Remove if not blank.
-
Parameters to update - this is a list of the system-level and user-defined parameters present in the design (all components on all schematic documents in the project). Enable/check the Update checkbox to enable the parameters to be updated from the specified source schematic libraries.
Model Settings
-
Add models found in library but not in sheet - check to add a model that exists for a component in the library but not for the placed component on the schematic sheet.
-
Remove models found in sheet but not in library - check to remove a model that exists in the schematic document but does not exist in the library.
-
Update which models are the current models - check to update the current models for placed components. For example, an SN7432 on a schematic document may be linked to two PCB footprint models - DIP14 and SIOC14. Its current model might be set to SIOC14. The SN7432 in the library might have its current model set to DIP14. With the option enabled, the current model for the placed component is updated with the corresponding library component's current model.
-
Models to update - this is a list of all the models presently defined across all components in the source schematic documents of the project. Models are grouped by model type. Enable the Update checkbox to enable only the models to be updated from the specified source schematic libraries.
After defining the scope of the update as required, and the default actions to be carried out, you could click Finish, then review and execute the changes to be implemented in the subsequent Engineering Change Order that is generated. Should you want to further refine the update on a per-component basis, prior to generating the ECO, click Next to access the second page of the dialog, detailed in the next section.
Controlling the Update by Component Instance
Definitions on the second page of the Update From Library dialog are not persistent. They will be lost if you go back to the first page or close the dialog.
The second page of the Update From Library dialog presents you with a detailed grid, listing all component instances involved in the intended update process. The previous page of the dialog allowed you to specify, at a coarse level, which physical component types get included in the update. This page allows you to fine-tune exactly which component instances of those types get updated.
The second page of the Update From Library dialog
The grid is partitioned into three regions:
-
Schematic Parts - this area lists the Designator, Comment, Physical Component, and Logical Symbol for each placed component on the schematic sheet(s). Enable the Update checkbox to update the selected component.
-
Library Components - this area lists the Physical Component, Logical Symbol, Library Name, and Life Cycle State of the library component for each listed schematic part. This is typically the same source library from which the component was originally placed, but you do have the ability to complete change the component for another, in the same, or different library. Components that cannot be found in the current available libraries are listed as <Not Found>.
-
Actions - the specific update actions required for each component instance for which the Update box is checked. These will initially be set in accordance with the default action settings defined on the first page of the dialog. Click the checkbox to enable/disable the action for the selected component or use the right-click menu commands.
-
Full Replace - check the box to perform a full replace of the selected item(s).
-
Graphical - check the box to perform a graphical update of the selected item(s).
-
Parameters - check the box to update the parameters of the selected item(s). If there is at least one component with this checkbox enabled, you can click the Parameters Changes button to selectively control the changes at the parameter level - learn more.
-
Models - check the box to update the models of the selected item(s).
For each component, the entry for the source library component will initially be that used to place the component instance in the first place. This information is taken from the Library Link region of the placed component's Properties panel.
Specifying an Alternate Component
Typically, the update will involve passing on changes made to the original physical component in the source library, to the placed instance(s) of that same physical component on the schematic sheet(s). There may be occasions where you want to change the physical component that is placed in the design altogether. This can be readily specified as part of the update.
You can specify an alternate component for a component instance by directly editing the corresponding Physical Component field in the Library Components region). If the specified physical component does not exist in any of the libraries currently added to the project's Available Filed-based Libraries list, the entry <Not Found> will be entered into the Logical Symbol and Library Name fields. Update, in this case, will not be possible, for that component instance.
When searching for a database component, the search can only be across currently loaded DBLib and SVNDBLib files (Available Filed-based Libraries). You cannot search for database components along a specified search path.
Alternatively, select a component instance in the grid then click the Choose Component button. The Replace Component dialog appears, from where you can browse for the required replacement component in any of the currently available libraries.
Accessing to the Replace Component (File-based) dialog
When a valid component is chosen, the relevant information for the chosen component will be entered into the Library Components region of the page, overwriting the original source library component.
If you want to revert to the original source library - keeping the original physical component - select the component instance in the grid then click the Return Selected to Default button.
Controlling Parameter Changes
Individual parameter-level changes for a component instance will be shown only if the Full Replace option is disabled and the Parameters option is enabled in the Actions region of the page. If you want to browse individual parameter changes proposed by the update, click the Parameters Changes button. The Select Parameter Changes dialog will open, summarizing the parameter changes for those component instances with a parameter update action enabled. In the illustration below, notice that component instances C1, C3, C7, and C10 have their parameter update action disabled, and therefore, do not appear in the dialog.
Accessing to the Select Parameter Changes dialog
Options and Controls of the Select Parameter Changes Dialog
Main Grid
-
Total Number of Objects - Number Selected - displays the total number of objects listed in the grid region and the number of those objects that are currently selected.
-
Object Type - the type of object.
-
Document - the source document.
-
Identifier - the unique identifier of the object.
-
System Parameters - list of additional information for the object, e.g., address of supplier, description, library reference, etc.
Additional Controls
-
Update Selected - use to force an update on the currently selected parameters.
-
Reject Selected - use to reject the proposed update on the currently selected parameters.
-
Update All - use to force an update on all parameters.
-
Reject All - use to reject the proposed update on all parameters.
-
Show all parts - check this box to show all parts in the main grid.
Right-click Menus
-
Update - click to update the selected parameters(s).
-
Reject - click to reject the update on selected parameters.
-
Update All - click to force an update on all parameters.
-
Reject All - click to reject the proposed update on all parameters.
-
Report - click to open the Report Preview dialog to generate a report.
-
Save All - click to save the entire table.
-
Save Selected - click to save the selected data.
-
Select All - click to select all data.
-
Select Column - click to select the entire current column.
Notes
-
You can drag and drop columns in the grid region to change the column display order. The new order is saved in the project file so that the order is remembered when the dialog is accessed again.
-
Parameters are prevented from being updated in the following ways:
-
At the individual component parameter level, enable the Lock Parameter option in the Component mode of the Properties panel (double-click a component to access). The Allow Synchronization With Database option is also used to control if the comment can be updated. By default, this option is enabled to always allow synchronization with the source library/database. You may disable this option to prevent the comment from being included in an update process.
-
At the database linkage level - the Field Mapping region of the relevant database linkage document (*.DbLink, *.DbLib, or *.SvnDbLib file) includes a number of options that control whether parameters can be updated including Update Values, Add to Design and Remove from Design.
As with the Update Parameters From Database tool, the dialog will list all mapped parameters for those component instances linked to an external database. In addition, all parameters found in the placed component instances involved in the parameter update will also be listed. This is a key difference when accessing the Select Parameter Changes dialog between these two update tools.
Again, the dialog shows proposed changes to be made in order to bring the parameters of the placed components back into sync with those for the components in the relevant source library or database. The proposed updates are in accordance with the update actions defined in:
-
The Parameter Settings region of the Library Update Settings dialog when the source of the update is a schematic or integrated library.
-
The intermediary link file (*.DBLink, *.DBLib, *.SVNDBLib) when the source of the update is a database.
Parameter differences are highlighted by the use of a unique icon inserted in the relevant cell. See the next section (Parameter Update States) for a full listing of all possible cell states.
Use the available controls in the dialog (buttons or right-click menu) to determine with which parameter changes to proceed and which to reject, giving you the power to override the default update conditions at the individual parameter level. Remember that rejecting a proposed update in a cell means you do not want to have any changes made to that parameter for that particular component instance on the schematic sheet.
Parameter Update States
There are a number of different update states into which a cell in the Select Parameter Changes dialog can be placed depending on the exact differences detected between the placed components and the source library/database and the applicable parameter update actions specified. The following table lists the possible cell states.
Cell State |
Description |
|
The Altium Designer component and the component in the library/database both possess the parameter, and the value is the same. Update will cause no change. |
|
The Altium Designer component and the component in the library/database both possess the parameter, but it has no value assigned. Update will cause no change. |
|
The Altium Designer component and the component in the library/database do not possess the parameter. Update will cause no change. This state can also appear if the parameter in the Altium component is prevented from being included in an update by disabling the Allow Synchronization With Library and/or Allow Synchronization With Database options in the associated Properties panel. |
|
The Altium Designer component and the component in the library/database both possess the parameter, but with different values. Update will assign the value from the database. |
|
The Altium Designer component and the component in the library/database both possess the parameter. For the Altium Designer component, it has a value assigned, in the database it does not. Update will assign the database value; in this case no value. |
|
The Altium Designer component does not possess the parameter, but the component in the library/database does. Update will add the parameter to the Altium Designer component with the value shown in the cell. |
|
The Altium Designer component does not possess the parameter, but the component in the library/database does. Update will add the parameter to the Altium Designer component with no value initially assigned. |
|
The Altium Designer component possesses the parameter, but the component in the library/database does not. Update will remove the parameter from the Altium Designer component. Note: If the component instance is being updated from an external database and the relevant database field-to-design parameter mapping is set to, the parameter will be treated as though it does not exist in the database record, even if it does. |
|
There is a difference between the parameter values for the Altium Designer component and the component in the library/database. The proposal to update to the value in the database has been rejected, based on the current value of the Update Values option in the database linkage document (DbLink, DbLib or SvnDbLib file). No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update. |
|
The Altium Designer component does not possess the parameter, but the component in the library/database does. The proposed update to add the parameter to the Altium Designer component has been rejected, based on the current value of the Add To Design option. No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update. |
|
The Altium Designer component possesses the parameter, but the component in the library/database does not. The proposed update to remove the parameter from the Altium Designer component has been rejected, based on the current value of the Remove From Design option in the database linkage document (DbLink, DbLib or SvnDbLib file). No change will occur. Note that the Update Selected and Update All commands in this dialog will override this state and force an update. |
Applying Changes Directly From the Schematic Library Editor
Direct update of placed schematic components can be performed from within a source schematic library. This method of updating is particularly suited to the update of components that have been placed from isolated schematic component libraries (*.SchLib) and where those libraries are made part of the available filed-based libraries for the project.
Modifications made to components in a source schematic library are passed to the schematic document(s) using the Tools » Update Schematics command available from the Schematic Library Editor's main menus. Alternatively, changes to selected components can be applied by selecting those components in the SCH Library panel and using the update command from the right-click menu.
From a source schematic library, changes can be applied using the right-click menu of the SCH Library panel
All instances of the placed component(s) in all open schematic documents will be updated regardless of the project to which a document belongs. Essentially, if a placed component has the same entry for its Physical Component field as that of the library component, it will be updated. You will be notified as to how many components (in how many documents) have been modified by the update process. The update is a full replacement of each existing component instance with that in the library.
If a component instance on a schematic has been placed from an integrated library (IntLib) or database library (DBLib, SVNDBLib), using this command fully replaces the component and therefore the original library link will be replaced by a link back to the source library involved in the update. This can be especially dangerous for a component placed from a database, as the link to the corresponding record in that database will be severed. It is therefore advisable (and perhaps safer) to use the Update From Libraries command.
Verifying an Update
After updating the placed schematic components, schematic library components, or PCB Footprints, you will of course want to verify that the update proceeded as planned. The following sections look at how you can quickly check that parameters, model links, and graphical attributes have been updated successfully.
Checking Parameter Updates
You can check that the parameters have been updated correctly either by running the Parameter Table Editor dialog (Tools » Parameter Manager) or by interrogating the parameters for a selected component through the Properties panel.
Below, the components C1, C2, and C3 have each received a new parameter TestParam, with value Test, as part of an update process.
The Parameter Table Editor dialog
Checking Model Link Updates
Updates to model links for a component can be verified from the Models region of the associated Properties panel.
Checking Graphical Updates
The easiest way to check graphical updates is to compare the design component on the sheet against the component in the source library. The latter can easily be displayed using the Components panel, which allows direct side-by-side comparison.