Annotating the Components in a Design

Now reading version 24. For the latest, read: Annotating the Components in a Design for version 25

Design Annotation is the systematic and methodical process for ensuring that each component in the design can be individually identified by means of a unique designator. While Altium Designer is able to maintain the identity of components using Globally Unique IDs (GUIDs), most designers historically use the component's designator as the primary means of referencing the component across the schematic (logical) and PCB (physical) domains, as well as in outputs such as the Bill of Materials (BOM).

There are three approaches to annotating a design. The choice of Annotation tool depends on a number of factors including the type of design, personal preference, and company policy and procedures.

Schematic Level Annotation

Schematic Level Annotation uses a purely logical view of the design to determine component designators. It is most useful for simple designs that do not use Device Sheets, but because it allows the order of processing to be specified as well as the option to complete existing packages for multi-part components, it is also a pre-requisite to Board Level Annotation.

In summary, use Schematic Level Annotation to:

  • Package multi-part components.
  • Annotate components based on their position in the schematic design.
  • Annotate multi-channel designs using the default naming scheme as specified in the Project Options.
  • Prepare a design for additional annotation.

PCB Annotation

PCB Annotation uses the physical location of components on the PCB to determine their designation. This allows positional information to be effectively encoded into a component's designator and can be very helpful when debugging an assembled PCB. In short, you should use PCB Annotation to annotate components based on their position on the board in the PCB Design.

Refer to the PCB Positional Annotation page to learn more.

Board Level Annotation

Board Level Annotation provides a mapping between designators used in the schematic (logical) design and their real-world counterparts on the PCB (physical) design. While Board Level Annotation can be used in any design, it is especially useful for multi-channel designs or designs that incorporate device sheets where the designators cannot be edited on the device sheet itself. In this way, the entire design can be re-annotated without actually modifying the original device sheet(s). Board Level Annotation resolves any conflicting annotation problems that may occur due to duplicate designators across a project and stores its changes in an *.Annotation text file. It includes additional keywords for customizing naming schemes and allows them to be applied to all or only a select range of parts.

In summary, use Board Level Annotation to:

  • Annotate the compiled components in device sheets.
  • Uniquely name all components across several channels using naming schemes, which include positional annotation, global indexing, and other configurable options.
  • Manually name components.
Refer to the Board Level Annotation page to learn more.

Schematic Annotation

Schematic annotation is configured using the Annotate dialog. The dialog provides controls to systematically assign designators to all or selected parts in selected sheets of a project and ensures that designators are unique and ordered based on their position. Annotation options can be configured to package multi-part components, set index and suffix options, reset schematic designators including any duplicate designators, and back annotate from the PCB.

The Annotate dialog is accessed by running the Annotate Schematics command (Tools » Annotation » Annotate Schematics).

The Annotate dialog is launched from the Annotate Schematics command.
The Annotate dialog is launched from the Annotate Schematics command.

The dialog is divided into two primary regions:

  • Schematic Annotation Configuration - this region is used to configure the annotation scheme as well as the scope of annotation.
  • Proposed Change List - this region lists the proposed changes that will occur once accepted and executed using an Engineering Change Order (ECO).

Lock Components 

For non-homogeneous multi-part components, ensure the Locked icons are closed in the Properties panel to prevent sub-part changes during annotation.

Strictly Option

If the Strictly checkbox is enabled for a Component Parameter, all components must have that parameter matched into a package. Components that do not have this parameter are annotated as individual components and are not packaged.

The following example illustrates how these options combine to give a specific result:

Consider a design with eight OR Gates and eight resistors (as shown in the image below). The OR gates contain a parameter called QuadOrGate, with one group of four OR gates having the parameter value Package1 and the other group of four OR Gates having the parameter value Package2. The resistors have no such parameter. Enabling the checkbox for QuadOrGate in the Component Parameter control will ensure that this parameter is used to control how components are packaged; in this case, the Strictly check box is not enabled.

After launching the Tools » Annotation » Annotate Schematics command, parts with the parameter  QuadOrGate = Package1 will be packaged into the same physical component and those that have the parameter QuadOrGate = Package2 will be packaged together separately. Any remaining components that do not have the QuadOrGate parameter will be packaged together. In this case, the resistors are packaged together since their common attribute is that they do not contain the QuadOrGate parameter.

Example of packaged components when the Strictly option is unchecked.
Example of packaged components when the Strictly option is unchecked.

If the same design is annotated but the Strictly option is checked, only those components that have the QuadOrGate parameter will be packed. In this case, the OR gates will be packed but the resistors will be left unpacked. Consequently, while the Strictly option provides extremely fine control over the packing process, most situations will call for it to be unchecked.

Example of packaged components when the Strictly option is checked.
Example of packaged components when the Strictly option is checked.

Multi-part components can use either an alpha or numeric part identifier suffix - i.e. U1:1, U1:2, or U1:A, U1:B. Control over the style of suffix is specified on the Schematic - General page of the Preferences dialog. Note that Preferences are global and apply to all currently open schematic sheets.

Schematic Sheets to Annotate

A high degree of control is provided over which schematic sheets and components will be affected by annotation and the specifics of how those changes will be calculated.

Specifying the scope of annotation.
Specifying the scope of annotation.

  • A check in the box to the left of the listed schematic sheet indicates that it will be processed as part of the annotation command.
  • The scope of annotation is determined by the Annotation Scope drop-down list and can be expanded to include the entire schematic sheet or limited to (un)selected components. Using the Ignore Selected Parts or Only Selected Parts options requires that the components were selected in the design prior to running the Annotation command.
  • Configure the order in which the schematic sheets are to be annotated using the Order field. Type a value directly into the field or use the arrows that appear once you click in the field to set the desired value.
  • If the Designator Index Control option is checked, the designator value will begin from the Start Index value. The Start Index has no effect if the Designator Index Control option is not checked.
  • An additional suffix can be added to the end of each designator by specifying a string/value in the associated Suffix column. Avoid using single character suffixes such as 'A' or '1' as these can be easily confused with sub-parts and/or other designator values.

Proposed Change List

Click the Update Changes List button to update the Proposed Change List so that all designator changes can be reviewed prior to being applied. Only designators that have not previously been set (i.e. R?, C?, etc.) will be affected by the changes. Therefore, if the intention is to update all designators in the design, they should first be reset by pressing the Reset All button.

Resetting designators prior to applying the annotation settings.
Resetting designators prior to applying the annotation settings.

The Reset All drop-down button can also be used to Reset Duplicates

The Proposed Change List lists all designators for the parts contained within the sheets selected for annotation. For each entry, details of the Current and Proposed Designator values are included along with the component's Sub (part) and the source Location of Part.

Checking the box associated with a Designator will lock that specific designator from any changes. Similarly, checking the Sub box will prevent that specific multi-part component from being updated. This option can be used as an alternative to setting the Lock icon in the Properties panel.

After reviewing the list of proposed changes, click the Accept Changes (Create ECO) button to launch the Engineering Change Order dialog. Once the ECO is executed, the annotation changes will be applied to the design.

Additional Schematic Annotation Commands

The Tools » Annotation menu contains a number of targeted Schematic Annotation commands. The first item in the group, Annotate Schematic, has already been discussed.

Various available annotation commands
Various available annotation commands

Reset Schematic Designators

If large portions of content have been cut and pasted from different sources into a new design, it may be necessary to reset all designators. Because this command uses settings taken from the Annotate dialog, it will be applied to items previously set within that dialog. For instance, if all Schematic Sheets To Annotate were previously checked, then the Reset Schematic Designators command will apply to the entire project whether the sheets are currently opened in the editor or not. If only a few Schematic Sheets To Annotate were previously checked, then the Reset Schematic Designators command will only affect those sheets.

After launching the command, a confirmation dialog will appear that summarizes the number of designators requiring update and asking whether you wish to proceed with the changes. After clicking Yes, all component designators across all annotation-enabled schematic sheets of the active project will be reset appearing in the form: R?C?D?U?, etc.

Any designators with a locked status are not reset or changed in any way.

Reset Duplicate Schematic Designators 

When duplicating portions of a design, the newly-copied components will still hold the same designator values as those from which they were copied. The Reset Duplicate Schematic Designators command provides a fast way to reset duplicate designators to '?'. Because this command uses settings taken from the Annotate dialog, it will be applied to items previously set within that dialog. For instance, if all Schematic Sheets To Annotate were previously checked, then the Reset Duplicate Schematic Designators command will apply to the entire project whether the sheets are currently opened in the editor or not. If only a few Schematic Sheets to Annotate were previously checked, then the Reset Schematic Designators command will only affect those sheets.

After launching the command, a confirmation dialog will appear that summarizes the number of designators requiring update and asking whether you wish to proceed with the changes. After clicking Yes, all duplicate component designators found across all annotation-enabled schematic sheets of the active project will be reset appearing in the form: R?C?D?U?, etc.

Any designators with a locked status are not reset or changed in any way.

Annotate Schematics Quietly

The Annotate Schematics Quietly command is used to interrogate all source schematic documents for the active project that are enabled for annotation and assign a unique designator to any component that currently does not have a designator. Annotation is carried out quietly - making it possible to apply all of the previous settings of the Annotate dialog without needing to reopen the dialog. This is especially useful if the design is going through a rapid phase of development and the designer wants to quickly annotate prior to compiling the design.

Force Annotate All Schematics

This command is used to interrogate all source schematic documents for the active project that are enabled for annotation and re-annotate all components therein in accordance with the annotation scheme currently defined in the Annotate dialog.

Running the Force Annotate All Schematics command is equivalent to running the Reset Schematic Designators command followed immediately by the Annotate Schematics Quietly command. Consequently, the Force Annotate All Schematics command uses settings that were previously set within the Annotate dialog when determining which components and sheets can be updated.

After launching this command, a request for confirmation appears that details the number of designators that will be updated if accepted. After clicking Yes, all component designators across all annotation-enabled schematic sheets of the active project will be re-annotated, where necessary, to comply with the current positional annotation scheme defined in the Schematic Annotation Configuration region of the Annotate dialog.

Back Annotate Schematics

Prior to the introduction of Altium Designer's Design Compiler and Synchronizer, annotation changes were historically passed from the schematic to the PCB via a netlist (*.net) file. Annotation changes that needed to propagate in the reverse direction - from the PCB to the schematic - were handled via a Back Annotation process. This process uses a Was-Is (*.WAS) file or Engineering Change Order (*.ECO) file to direct the changes to be applied to schematic designators.

This command is largely superfluous since the Design Compiler and Synchronizer are far more effective tools for managing design synchronization. It is still useful, however, for legacy purposes, and for designers who use alternate PCB layout tools (such as Specctra®). Learn more about generating the Was-Is file.

After launching the command, the Choose WAS-IS File for Back-Annotation from PCB dialog will appear. Browse to and select the required .was (or .eco) file. After clicking Open, an information dialog will appear that lists how many changes to designators have been made since the previous state and how many have been made since the original state. At this point, the changes are not actually implemented. Click OK to bring up the Annotate dialog, from where you can view the proposed changes to the current designators before deciding to create an ECO to implement them.

  • When re-annotating designators in the PCB, each re-annotation produces a unique .was file that carries the date and time in its filename. This enables you to load multiple .was files in succession - from oldest to newest - and not lose designation synchronization between the PCB and source schematic sheets.
  • Back annotation can also be performed directly from within the Annotation dialog by clicking the Back Annotate button.

Number Schematic Sheets

The Number Schematic Sheets command does not alter component designators but rather schematic sheet designators (numbers). Conceptually, it is therefore related to the general concept of design annotation.

Sheet and document numbering allows you to take control over the sheet designation and store them as parameters within the respective schematic documents. Altium Designer's special string feature (=SheetNumber, =DocumentNumber, =SheetTotal) can then be used to expose these values on the sheet (in the sheet footer, for example) as text objects.

Numbering schematic sheets.
Numbering schematic sheets.

The process of numbering sheets is as follows:

Automatic Sheet Numbering (Project Option)

Enable to perform automatic sheet numbering. The values will be displayed in the Projects panel. You can also enable automatic sheet numbering by checking the Automatic Sheet Numbering option on the Options tab of the Project Options dialog.

Auto Sheet Number

Click on the Auto Sheet Number drop-down button to access the sheet numbering options.

The Select Numbering Scheme options are:

  • Display Order - the sheets are numbered in the order they are displayed.
  • Sheets Hierarchical Structure - Depth First - the sheets are numbered from the top level into each branch. The top-level is numbered first then the first branch under the top level is numbered completely, the second branch, and so on.
  • Sheets Hierarchical Structure - Breadth First - the sheets are numbered according to their level in the hierarchy. The top-level is numbered first, all second levels are numbered next, and so on.

The Select Numbering Method options allow for Increasing or Decreasing sequential values to be selected.

Auto Document Number

Click on the Auto Document Number drop-down to access the document numbering options. They are essentially the same as the Auto Sheet Number options except with the addition of Prefix and Postfix values.

The Parameters options are as follows:

  • Prefix - choose a prefix to place in front of your document number. Alpha (A, B, C, etc.,), numeric, (1, 2, 3, etc.,) and non-numeric (_*.%, etc.,) prefixes are supported including combinations of all of them.
  • Start - choose a numerical value from which to begin numbering.
  • Postfix - choose a postfix to append to the document number. Alpha (A, B, C, etc.,), numeric (1, 2, 3, etc.,) and non-numeric (_*,%, etc.,) postfixes are supported including combinations of all of them.
  • Step - choose a value to increment each document number by. For example, if the Start index is set to 1 and the Step value is set to 100, the first document number will be 1 and the next document number will be 101 (Start + Step), the next 201, and so on.

Update Sheet Count

Click on the Update Sheet Count button to tally up the number of sheets in the current project and place the result in the SheetTotal column. The sheet count will be the total number of sheets in the project regardless of the numbering scheme selected in either of the previous controls.

Move Up/Down

Use the Move Up or Move Down buttons to move a selected schematic document up or down in the list. This is relevant when using the Display Order numbering scheme to specify Sheet or Document Numbers.

Custom Numbering/Naming

If an organization has a specific number or naming system that cannot be automated through either the Auto Sheet Number or Auto Document Number commands, custom sheet names and numbers can be written directly into the SheetNumber or DocumentNumber fields.

Schematic Sheet Numbering and Device Sheets

Sheet or Document Numbers cannot be configured for Device Sheets when they are read-only (default state) and will be cross-hatched in the Sheet Numbering For Project dialog to indicate they cannot be updated. When Device Sheets are set as editable, the cross-hatching is removed and Sheet and Document Numbering can be configured as normal.

Controlling the Display of the Designator on the PCB

Extended Designator strings in a multi-channel design can be tedious to place in the PCB Editor. You can either choose naming options that result in a short name or display the original, logical component designation instead. For example, C30_CIN1 would display as C30. This would necessitate some other notation being added to the board to indicate the separate channels, such as a box being drawn around each channel on the component overlay.

You can select between Logical and Physical designator display on the PCB using the Designator Display drop-down in the Other region of the Properties panel in Board mode. If you choose to display the logical designators for components in a multi-channel design, these will be displayed on the PCB and in any output generated such as prints and Gerbers. The unique physical designators, however, are always used when generating a Bill of Materials.

Design Synchronization - Finalizing the Annotation Process

Direct Design Synchronization is the preferred method to keep your Schematic and PCB designators matching unless you do not have access to both the Schematic and the PCB editors. Design Synchronization compares the components and connectivity of the schematic directly to the PCB, producing a list of differences. A list of changes required to resolve these differences is generated as an ECO (Engineering Change Order). An ECO file describes the differences between the current design and the desired design and can be executed, updating the target and bringing the design into synchronization.

Forward Synchronization and Back Synchronization

The terms Forward Synchronization and Back Synchronization are specific ways of describing the direction that annotation and design changes are transferred during the synchronization of data. Visualizing a design flow that starts with, and is driven by, the schematic, Forward Synchronization is the process of updating changes made in the Schematic Editor forward to the PCB. Back Synchronization is the process of updating changes made in the PCB backward to the Schematic Editor.

Forward Synchronization

A few reasons why you would synchronize data from the Schematic to the PCB are:

  1. A new component is added in the Schematic Editor and is required in the PCB layout.
  2. You have annotated your schematic design for the first time or since your last design synchronization.
  3. In a multi-channel design, you have changed the Project Options to modify the physical (PCB) naming style.
  4. You have done a Board Level Annotation for the first time or since your last design synchronization.

To Synchronize your Schematic Design forward to the PCB Design

Choose from one of the following methods to synchronize your Schematic design forward to your PCB design:

  1. Select Update PCB Document on the Design menu in the Schematic Editor. If any differences exist between these and the target PCB Document, the Engineering Change Order dialog opens with a list of modifications required to synchronize the PCB with the Schematic Design. Click Execute Changes to synchronize your design.
  2. Select Import Changes on the Design menu in the PCB Editor, which imports changes from the Schematic Documents to the PCB document.

Back Synchronization

Back Synchronization is done when you have annotated or changed your PCB design and you want to update the schematic design.

To Synchronize your PCB Design back to the Schematic Design

Choose from one of the following methods to synchronize your PCB design back to your schematic design:

  1. in the PCB editor, select Update Schematics on the Design menu. By default, the Push Component Designator Changes to Annotation File (if any) option in the ECO Generation tab of the Project Options dialog is checked so that changes made in the PCB Editor will be pushed to the Annotation File only and, ultimately, Compiled Documents upon compilation. Uncheck this option to push changes to the source schematic document only (Editor view).

  2. From the schematic editor, select Tools » Annotation » Annotate Schematics then click the Back Annotate button in the Annotate dialog. Choose the WAS-IS file generated when re-annotating designators in the PCB environment.
This is a legacy tool. The preferred method of design synchronization is the Design » Update Schematics command.
  1. From the schematic editor, select Tools » Annotation » Board Level Annotate then click the Back Annotate button in the Board Level Annotate dialog. Choose the WAS-IS file generated when re-annotating designators in the PCB environment.
This is a legacy tool. The preferred method of design synchronization is the Design » Update Schematics command.
  1. From the schematic editor, select Tools » Annotation » Back Annotate Schematics. Choose the WAS-IS file generated when re-annotating designators in the PCB environment.
This is a legacy tool. The preferred method of design synchronization is the Design » Update Schematics command.
Back Annotate Schematics synchronizes annotation changes made in the PCB editor with the schematic design. This feature is useful when it is not possible to have the PCB and schematic editors open at the same time, for example, when the PCB and the schematic are designed by people in different locations.

Traditional Methods of Design Synchronization

Altium Designer supports the traditional intermediate (netlist and WAS/IS) file approach for Design Synchronization. Forward Synchronization of annotation data can be done through the use of a netlist file and Back Synchronization can be done through the use of a WAS/IS file (listing what each designator WAS and what it now IS). The preferred method for synchronizing your design is Direct Design Synchronization.

Component Linking with Unique IDs

If you have re-annotated your design, the schematic component designators or the compiled component designators will no longer match the PCB component designators, so synchronization is required to successfully close off the design. Rather than relying on the designator itself as the key field that relates a schematic symbol to its equivalent PCB footprint, Altium Designer can maintain design synchronization through the Unique IDentifier (UID) system. The UID is a system-generated value that uniquely identifies the source component and matches each schematic component to the corresponding PCB component.

When a component is placed on a schematic sheet, it is automatically assigned a UID. The first time component information is transferred from source schematic documents to a blank PCB, the UID information from each schematic component is assigned to the corresponding PCB component.

Refactoring allows you to convert Device Sheets to Schematic Sheets and vice versa while maintaining the Unique ID of the sheet and its components. In addition, you can refactor (or move) subcircuits to other schematic sheets in the current project, maintaining the Unique ID of the subcircuit. The Refactor command is located on the Edit menu.

Altium Designer's synchronization feature, initiated by launching the Design » Update command, uses these UIDs to match each schematic component to its PCB equivalent. Design updates/changes can then be implemented using Engineering Change Orders (ECOs). An ECO 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 affect design updates in a variety of situations, such as:

  1. SCH to PCB design updates.
  2. Performing Annotation updates to schematic component designators and compiled component designators.
  3. Implementing updates to parameters using the Parameter Manager (Tools » Parameter Manager).
  4. Updating parameter information with information stored in source libraries or a company database. Whenever you compare the schematic and PCB (such as when you select Design » Update), Altium Designer first matches components that share the same UID. When components are detected that do not share a UID, you are alerted and the application offers to attempt to match by designator. Until you have assigned a matching UID to both the schematic and the PCB, you will continue to get this message. Unique IDs and their correlation are managed in the Edit Component Links dialog (Project » Component Links).

Note that the dialog can only be opened when a PCB document is active since UID changes are always applied to the PCB rather than the schematic. Use the dialog at any stage during the design to view the linking between the components to verify that components between documents are correctly matched, as well as to assign matching UIDs to components that are currently unmatched.

If you are planning on re-annotating either the schematic or the PCB, it is essential that you make sure that the UIDs are matching first, since once you change all the designators on the schematic or PCB, the UID is then the only piece of information that can be used to link the schematic component to its PCB equivalent.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content