Design Variants

Now reading version 16.0. For the latest, read: Design Variants for version 24

 

When a product needs to be designed and produced as a number of variations of that product, say where each has different options or capabilities, the ability to implement Design Variants avoids the need  to create a unique version of the design for each variation.

In practice, a Design Variant uses the same base design, but the PCB assembly is loaded with the set of components specified by the variation. A variation may then be nominated when generating the design’s manufacturing output (BoM, P&P, Assembly drawings, etc), which will in turn determine how the product is assembled.

The ability to create variations of the same base design adds significant flexibility to how PCB projects are created in Altium Designer. Using Variants, you can define any number of variations of the board design, where each component may be configured as:

  • Fitted to the board.
  • Not fitted to the board.
  • Fitted to the board, but with modified component parameters, such as its value.
  • A completely different component, as an alternative replacement part.

Design Variants that use any of these types of variations are all referred to as Assembly Variants, as they only impact on the assembly process – in this case, all variants share the same fabricated bare board.

Altium Designer also supports variations to component overlay information on the PCB, such as changing a component’s Comment for example. Such a variation requires the production of two overlay screens, which results in the manufacture of two different bare boards. This type of variant is referred to as a Fabrication Variant.

Design Variants are managed, created and edited in Altium Designer's Variant Management dialog, which is accessed from the Projects » Variants option on the main menu.

Logical and Physical Components

It is helpful to understand that there are essentially two types of components in Altium Designer; logical components and physical components. The distinction is that components placed on the schematic sheet are logical components, where each is a conceptual entity that represents the physical component that is ultimately mounted on the assembled PCB.

While this one-to-one, logical-to-physical model works well for a simple design, it cannot support some of Altium Designer's more powerful features. Examples of this are multi-channel designs, where a section of circuitry is 'stamped out' as many times as required, and variants, where a single design can be implemented with different components fitted to each variation of the board design. Such features require the ability for one logical component to represent multiple physical components.

Altium Designer delivers this one-to-many capability through its compiler technology. When the logical design is compiled, each physical component is instantiated in memory, ready for transfer to the board design workspace.

To cater for situations where access to the physical components is required at a schematic level, such as when defining design variations, the physical design is also made available in the schematic editor through tabs located at the bottom of the schematic sheet. Here, the left-most Editor tab selects the (normal) captured logical design, and the other 'compiled' tabs represent the equivalent physical design as it will be transferred to the PCB design workspace – note that the schematic under a compiled tab is read-only.

The schematic editor's physical design view. The dim level for the uneditable objects is set in the Schematic – Compiler page of the Preferences dialog (DXP » Preferences).The schematic editor's physical design view. The dim level for the uneditable objects is set in the Schematic – Compiler page of the Preferences dialog (DXP » Preferences).

To examine design variations, you must compile the design and then switch to the compiled tab of the schematic. The Variants toolbar can then be used to show the configuration of the physical components on that sheet, for the variant chosen in the toolbar.

Note that when you switch to a compiled tab the available menu entries will change, reflecting the commands that can be run when you are viewing the physical design. Click on the logical design tab at the bottom of the schematic sheet to return to the standard editing menus.

Types of Variations

The Variants feature, as the name implies, creates variations of the original, or ‘base’, PCB design. Once this base design has been established, Variants are established in the variant manager by configuring the board components to be: Fitted; Fitted with varied parameters; Not Fitted; or to use an Alternate Part.

Fitted

'Fitted' is the default state of a component before any variations are applied – if it is Fitted, then it is not varied. All components default to Fitted when a new variation is created in the Variant Management dialog (see below), which represents a Fitted component state as an empty cell.

Fitted with Varied Parameter(s)

The variant definition process allows a component to have any of its parameters varied. Modifying the value of a parameter is a local variation and will only affect the output documentation – the original schematic, and the component whose parameter is being varied, are not modified in any way. In the image below, C8 has the Value parameter varied, and this variation is indicated by the green, italic font used to display its value string.

Not Fitted

When a component is set to Not Fitted it still exists on the schematic and will be transferred to the PCB (as normal), but it is removed from the appropriate output documentation, such as the BoM. The way in which Not Fitted components are presented in the documentation can be configured, for example, set as marked with a cross on the schematic and in PCB drawing outputs – see the Variant Options dialog, accessed from the Drawing Style button in the Variant Management dialog.

  With the selected variation (BGA); C4 and C6 are fitted, C5 and C7 are not fitted, and C8 is fitted, but with a varied parameter value.
With the selected variation (BGA); C4 and C6 are fitted, C5 and C7 are not fitted, and C8 is fitted, but with a varied parameter value.

Alternate Part

A variation can also be set to an entirely different component, as an Alternate Part. When the compiled tab is selected in the schematic editor, the alternate part will be shown when changing between Variants. For this type of variation the alternate part must share the same set of schematic pins, placed in the same locations, as the base part. This is an essential requirement to ensure that the connectivity remains valid when the design is compiled.

 Q1 is an NPN transistor in the BGA variant, and a JFET in the TSOP variant – note that the same pins are used in each case.   
Q1 is an NPN transistor in the BGA variant, and a JFET in the TSOP variant – note that the same pins are used in each case.

There are two ways an Alternate Part is handled on the PCB:

  • If the footprint is the same – if the chosen Alternate Part has the same footprint name as the base part, then only one instance of that footprint will be transferred to the PCB. As multiple footprints can be assigned to a component, you should ensure that the correct footprint is selected in the Variant Management dialog for each variant.
  • If the footprint changes – if the chosen Alternate Part has a different footprint name from the base part, then both footprints are transferred to the PCB. You must then decide how to position the two footprints on the PCB. Note that both footprints will have the same designator, as only one or the other component is ever fitted.

Changing the Type of Component

The ability to select an alternate part is not restricted to choosing the same type of component, so you can, for example, have a base component that is a resistor, then define an alternate part that is a capacitor. It is important to be aware of the consequences of this type of alternate part:

  • Designator – there is only one designator for each logical, base component, and it is this designator that is used for all variants. If a resistor is swapped for a capacitor for example, you might want to consider using a special designator prefix to indicate this, such as R_C, or R-C.
  • Pins – the alternate component must have the same number of pins as the base component, and these pins must be in the same location and of the same electrical type. A warning will appear if these conditions are not met.

Multi-channel Designs

Main article: Multi-Sheet and Multi-Channel Design

Multi-channel design allows the designer to nominate a single schematic sheet, or a tree of sheets, to be repeated – effectively stamping out this section of the design multiple times. Manual copying and pasting is not required since the software manages the stamping-out process, while the designer simply defines the annotation method used to identify the repeated components.

In Altium Designer multi-channel designs, the ability to replace a base component with a completely different component is supported for a selected variant.

In terms of channels:

  • A variant can have components varied across all channels, which includes the variations of; components Fitted/Not FItted, specific component parameters varied, or Alternate Parts chosen.
  • For a specific channel in a mult-channel design, components may be varied as; Fitted/Not Fitted, or with varied parameters.

Supported Variations Summary

Variation Type Applied to all Channels Within a Specific Channel
Fitted/Not Fitted Supported Supported
Varied Parameters Supported Supported
Alternate Part Supported Not Supported

The basic rule is that if you choose to use an Alternate Part, it must be used in all channels.

Output Documents Affected by Variants

Assembly variants affect all output documentation that include detail about the purchase or loading of components. This includes:

  • Bill Of Materials
  • Schematic Prints
  • PCB Prints
  • PCB 3D Prints
  • PCB 3D Videos
  • Assembly Drawings
  • Pick and Place files
  • Test Point Report

Fabrication variants also affect the following outputs:

  • Gerber overlay layers
  • ODB++ overlay layers

Creating and Configuring a Variant

Variants are created and configured in the Variant Management dialog. To open the dialog, select Variants from the Project menu (shortcut: C, V) or the  icon.

The dialog has two main regions:

  • the upper Components for project... region, which lists all of the components in the base design, and if applicable, columns for the applied Variants.
  • the lower Component Parameters region, which details all of the parameters of the component(s) currently selected in the upper region, and if applicable, columns for the applied Variants.

Variants are created and configured in the Variant Management dialog.
Variants are created and configured in the Variant Management dialog.

Double-click on a component in the Variant Management dialog to jump to that component on the schematic, or select Cross Probe from the right-click context menu.

Creating a New Variant

Click the button in the Variant Management dialog to create a new variant of the base design. In the following Edit Project Variant dialog, enter a name for the variant in the Description field and click OK. The other options in this dialog are discussed in more detail later.

The Add Variant button includes a dropdown menu that provides access the Clone Selected Variant command (available when an existing Variant is selected). Cloning is a quick and easy way to define a number of variants that are very similar.

An additional column will then appear on the right of the Variant Management dialog, with the new Variant name as the column title. All the cells will be empty, where an empty cell indicates that this component is Fitted and unchanged from the base design. The components can now be configured for the new variant.

Highlighted region 1 in the image details the components in the base design, region 2 details the components in a variant called BGA and region 3 details the components in a variant called TSOP.
Highlighted region 1 in the image details the components in the base design, region 2 details the components in a variant called BGA and region 3 details the components in a variant called TSOP.

To make a variant the active selection, click its variant name in the column header or click in any of that variant's cells.

The Variant Management dialog includes a number of interface features that assist the display of useful information:

  • Hide/show columns – right-click on a column heading and use the Columns sub-menu option to hide/show columns.
  • Source information columns:
    • Hierarchy Path column – shows the location of the component in the design hierarchy.
    • Library Link column – details where the base component was sourced from.
  • Varied parameter indication – a parameter that is varied from the base design is shown in bold, making it easy to visually identify.

Defining Component Variations

Once the Variant itself has been created, the state of each component is ready to be varied. This can be done by clicking the component cell in the variant column to reveal the  button, or by right-clicking to access the context menu Set Selected As command.

The  button opens the Edit Component Variation dialog which (along with the  Set Selected As command) offers three choices:

  • Fitted – The original component as used in the base design is also fitted/used in this variant of that design. For a newly added variant, all components are fitted by default, and the cells for these fitted components are empty. Note that individual parameters can also be varied for a fitted component, by simply typing in a new parameter value in the dialog's Parameters region for that Variant.
  • Not Fitted – The original component as used in the base design is not fitted/used in this variant of that design. For a Not Fitted component status, the cell displays the text Not Fitted and the dialog's lower Parameters region will be blank.
  • Alternate Part – This option allows a different (alternate) part to be selected. Once that part is chosen, the cell displays the alternate part's Library Link. The lower Component Parameters region of the dialog will display all of the parameters in the alternate part.

Standard Windows multi-select techniques are supported. Use these to select and configure multiple components simultaneously.

Choosing an Alternate Part

When the Alternate Part option is selected in the Edit Component Variation dialog, the dialog expands to include controls used to browse and locate the required alternate part component. All of Altium Designer's component storage models are supported, such as independent libraries, database libraries, as well as vault-based components (as shown in the example below).

After selecting an alternate part, the software checks for pin-compatibility between the selected alternate component and the original base design component. To be pin-compatible, the alternate must have the same number of pins as the original component, and those pins must be identical in their location and electrical type – the graphical primitives used in the symbols for the two components are not required to match.

If the software detects that the alternate component is not pin-compatible, a Confirm dialog must be dismissed before the replacement is accepted. In this case you need to be mindful of the potential impact on the wiring, and that an error violation may be encountered when performing a subsequent compilation of the design.

An Alternate Part example, where the part has been selected from the Altium Content Vault. Parameters that differ from the base (standard) component are automatically highlighted in bold.
An Alternate Part example, where the part has been selected from the Altium Content Vault. Parameters that differ from the base (standard) component are automatically highlighted in bold.

The newly applied alternative component can be checked back in the editor workspace. In the applicable schematic sheet for that component, switch to the compiled tab view and then select the required variant in the Variant toolbar dropdown.

The Schematic Editor will use the symbol graphics for the alternate component, however if the component is pin-compatible and graphically similar there will be little noticeable change. In the example shown here, the indication of a different component being used is the different comment for the alternate part. Note the green italic font used for the alternate component, which is configured in the Variant Options dialog – click the Drawing Style button in the Variant Management dialog to open the dialog and configure how a varied component is displayed.

Verifying the compatibility of the chosen substitute component, graphically. In this example, Example Variant 1 uses the same component as the base design,Verifying the compatibility of the chosen substitute component, graphically. In this example, Example Variant 1 uses the same component as the base design, while Example Variant 2 uses a different component, though it is identical in symbol graphics and is pin compatible with the original.

If an alternate component is not already used in some part of the design, the symbol graphics for the alternate component are stored in the project folder as a dedicated file type: [ProjectName].PrjPcbVariants. Using the .PrjPcbVariants file keeps the project independent from the source libraries that were used to create the design. Note that Parameters changes for the alternate components defined in the Variant Management dialog are saved in the project file itself.

Symbol Display Mode

If a base component uses a graphical display mode other than the default Normal Mode, and it also has an alternate component defined in a variant, then the alternate component will attempt to use the same graphical display mode. Conversely, if the alternate component does not include this graphical display mode, then the Normal mode is used.

Part view Modes are defined in the Schematic Library Editor with the Component Display Mode commands, and are selected for a placed component in the Properties for Schematic Component dialog. The Graphical section of the dialog is shown in the below example image, where the base part symbol uses an Alternate 2 Mode.

An Alternate Part will attempt to use the same graphical display mode number as the base part.
An Alternate Part will attempt to use the same graphical display mode number as the base part.

Variants when DbLink File is used

Altium Designer supports several ways of storing and working with components, including the use of a DBLink file with the project. A DBLink file is an interface between the components on the schematic and a company database.

Rather than just creating a reference from each component to a specific database record (as is typically done when you place a component from a DBLib-type library), the DBLink model relies on the designer initiating a query action to check one or more component parameters. The software then searches the database for a record with fields that contain matching values, and when a match occurs, other field values from that record (such as the Part Number) can be returned to the Altium Designer component. The component parameter-to-database field mapping is defined in the DBLink document, as is the target database.

In a design that does not use Variants, the query action is performed via the Update Parameters from Database command, and can also be performed during BoM generation by enabling the Include Parameters from Database option (see below), to extract BoM-specific component data, such as price.

For a design that includes Variants, the parameters used to query the database are varied in the Variant Management dialog. Since those parameter values only exist in the Variant Management dialog, the Update Parameters from Database command is not used to retrieve database information – instead the parameters are extracted from the database when the BoM is being generated.

Configuring the BoM

The BoM dialog includes two options that are used with designs that include components linked to a database. Both DbLib and DbLink database linkage methods are supported.

  • Include Parameters from Database – Query the database and include parameters defined in the referenced DbLib or DbLink. Database parameter values will override schematic design parameter values.
  • Include in Component Variations – Also include parameter updates for components varied in the Variant Management dialog.

For a design that links to the database via a DbLink document, both the components on the schematic sheets and the variations defined in the Variant Management dialog are queried and updated when the Include Parameters from Database option is enabled.

Enable the Include Parameters from Database option to add the selected (Show) database information and update the design parameters.
Enable the Include Parameters from Database option to add the selected (Show) database information and update the design parameters.

Use the Change Variant option, accessible from the button, to choose the Variant that will apply to the current BoM. 

Display of Variant Manager data

The Variant Management dialog includes features to help control the amount of data displayed, which is particularly useful when working on a large design.

  • To remove columns that are not of interest, right-click in upper part of the dialog and use the Columns option in the context menu to toggle the visibility of any column.
  • To display only those components being varied, right-click in the upper part of the dialog and select Only Show Varied Components option from the context menu.
  • When the the Only Show Varied Components mode has been selected, right-click again and configure the Filter options. In the image shown below, the Filter has been configured to display only those components that use Alternate Parts.
  • To change the order of the listed Variants, select and drag a variant column heading to a new location. Use this in combination with the Fit to Width checkbox to position and size the variant of interest.

The Variant Management dialog, with columns hidden and a filter applied to only show components that use an Alternate Part.
The Variant Management dialog, with columns hidden and a filter applied to only show components that use an Alternate Part.

Display of Variants in design documents

The way in which varied components are presented in Schematic design documents (and PCB outputs) is configured in the Variant Options dialog. Those settings subsequently affect the how component variations are presented in printed or PDF outputs, and in PCB drawing type outputs such as Assembly drawings. To access the Variant Options dialog, click the Drawing Style button at the bottom of the Variant Management dialog.

Use the Variant Options dialog to configure how variants are presented on the schematic and in PCB drawing outputs.Use the Variant Options dialog to configure how variants are presented on the schematic and in PCB drawing outputs.

Resetting and Updating Variant Data

Design variations setup in the Variant Management dialog are ultimately saved in the project file. This includes the Not Fitted state, local parameter variations to a Fitted component, and the parameter values of Alternate Parts. The actual Alternate Parts references are stored in a [ProjectName].PrjPcbVariants file. The Variant Management dialog includes commands for resetting parameters and updating components, which helps to ensure that they are in sync with the source component libraries.

Updating a Varied Parameter

Parameters modified locally in the Variant Management dialog can be restored to their original value by right-clicking on the modified parameter (shown in bold) in the Variant Parameter list, and then choosing Reset Selected from the context menu – as shown below. Note that multiple parameters can be selected at once then reset in a single action, or Reset All used to reset all parameters for that component.

Modified parameters can have their value(s) restored using the Reset Selected command.
Modified parameters can have their value(s) restored using the Reset Selected command.

Updating an Alternate Part Parameter

If there are parameter changes made to a library component that is used as an Alternate Part, then you to can bring those changes directly into the variant definitions in your project by right-clicking in the Variant Parameter list and selecting Update Values from Library from the menu (as shown below). Note that this updates the parameters, if you need to update the graphic, use the technique described below.

If an Alternate Part component has been modified in the library, use the Update Values from Library command to refresh the copy used in the project.
If an Alternate Part component has been modified in the library, use the Update Values from Library command to refresh the copy used in the project.

Following the Update Values from Library command, browse to and locate the component in the source library or Vault, select/deselect the component parameters and Variant to be updated, then dismiss the Update Project Variants From Library dialog to complete the update process.

Updating a varied component from the source library. Here you configure which parameters are updated, and to which variant the updates are applied.
Updating a varied component from the source library. Here you configure which parameters are updated, and to which variant the updates are applied.

All parameters are listed on the left of the Update Project Variants From Library dialog – if required, any parameter can be deselected to exclude it from the update process. On the right of the dialog, the target Project Variant can be changed (Project Variant To Update) – this will default to select the Variant that was selected when the Update Values from Library command was activated.

Note that this parameter update process brings parameter values directly from the library into the Variant Management dialog, and does not update the copy of the component that is stored in the [ProjectName].PrjPcbVariants file. If you later perform one of the Reset commands to reset parameter values, which retrieves values from the PrjPcbVariants file, it may revert a parameter value to an earlier value and overwrite any current changes. To ensure that this cannot happen, update the component in the PrjPcbVariants file using the process described below.

Completely updating an Alternate Part

If the source component for an Alternate Part has been edited in its library, it can be updated in the design by running the Update from Library Wizard.

Launched from the Tools menu in the Schematic Editor, the Wizard includes an option to Include Variants. When this option is enabled, the component list will expand to include any components that have been used as Alternate Parts. Check the components in the list to be updated, and then complete the Wizard to update the required parts from the source.

To fully update an Alternate Part, including its graphic, enable the Include Variants checkbox and enable the part to be updated.
To fully update an Alternate Part, including its graphic, enable the Include Variants checkbox and enable the part to be updated.

If there have been changes made to library components used in the base design, these are also updated in the usual way:

  • via the Schematic editor Tools » Update from Library command
  • or the Schematic Library editor Tools » Update Schematics command.

Change multiple Parameters for multiple Components

The Variant Management dialog supports multi-select, which means that any number of components can be selected simultaneously in the upper (Component) part of the dialog, and then updates performed on any number of parameters selected in the lower (Parameters) part of the dialog. The dialog also offers Filters (via the right-click context menu), to further refine selection and the displayed data.

By way of example, to reset the manually-varied parameters for all components, in all variants:

  1. In the upper (Component) part of the dialog, use the Only Show Varied Components right-click menu option in combination with the right-click Filter options to only Show Fitted with Varied Parameters. The component list should now display only those components that have manually varied parameters.
  2. Right-click in the component list and choose Select All from the context menu. All components currently displayed in the upper part of the dialog will be selected.
  3. Then right-click in the lower (Parameters) part of the dialog and choose Select All from that context menu. All parameters for all components will now be selected. Note that the Select Column command could have been chosen instead, which would allow an action (such as Reset) to be applied to the components in a specific Variant (column).
  4. Right-click again in the parameters list and choose Reset Selected from the context menu, as shown in the image below.

Resetting all manually varied parameters, for all components, in all variants.
Resetting all manually varied parameters, for all components, in all variants.

If you have been experimenting with the Filter options and have applied different filters, you may need to reset the filter before attempting another update. To do this, disable the Only Show Varied Components option to clear the filter system, then re-apply it and clear the Filter options as required.

Working with Variant Parameters

Altium Designer supports Parameters at various levels of a project. For example, document-level parameters can be added to each schematic sheet in the Document Options dialog (Design » Document OptionsParameters tab). Project-level parameters can also be added to a project in the Parameters tab of the Options for Project dialog (Project » Options). Further to this, parameters can also be added to a Variant via the Edit Project Variant dialog – in the dialog, select the variant column and click the Edit Variant button.

Parameters included at various level in a project exist in a hierarchy, which means you can in fact create a parameter with the same name at different levels in the project, where each has a different value. Altium Designer resolves this situation using priorities, in the following way:

  1. Variant (the highest priority)
  2. Schematic document
  3. Project

This arrangement means that the parameter value defined in a schematic document overrides the value defined in the Project options, and the parameter's value defined in a Variant overrides the value defined in the schematic document. Note that schematic-level parameters are not available on the PCB or in the BoM – for these types of output, project or variant parameters should be used.

In the images below, a Parameter called ProjectTitle has been defined for the project, and also for each variant. The animation shows the behavior on the PCB as the Variants toolbar is used to show the base design, then each variant.

A ProjectTitle parameter added to the project (via the Options for Project dialog) has also been added to each design Variant, but with a different text Value in each case.
A ProjectTitle parameter added to the project (via the Options for Project dialog) has also been added to each design Variant, but with a different text Value in each case.

A special string .ProjectTitle has been placed on the PCB overlay, which is automatically linked to
parameters of the same name. Note how the value changes as the Variant is changed.

Working With Variants in the Schematic Editor

Altium Designer's schematic editor includes a range of features that provide full visibility of component variations during the schematic capture process, as described below.

Examine Varied Components

As previously outlined, the actions to examine variant detail on the schematic are:

  • If not already compiled, recompile the project.
  • Select the named compiled tab located at the bottom of the schematic sheet.
  • Select the required variant in the Variants toolbar dropdown.
  • Components varied on the sheet will then be displayed, in the style configured in the Variant Options dialog.

Select the compiled sheet and the Variant (as highlighted here), to view the components varied on a schematic sheet.
Select the compiled sheet and the Variant (as highlighted here), to view the components varied on a schematic sheet.

Compiling a Design with Alternate Parts

When design that includes a variant with Alternate Parts is compiled, Altium Designer must compile that design as if both components were present. This is to ensure that:

  • Any compilation issues are detected.
  • The complete design, including both component footprints, can be transferred to the PCB editor.
  • All data is available for variant output documentation.

In the example below, where component U1 has an Alternate Part variation, the Navigator panel shows component U1 twice. Component pins, such as pin U1-6, also appear twice.

U1 has an alternate part used in a Variant, and will therefore appear as multiple entries in the Navigator panel.
U1 has an alternate part used in a Variant, and will therefore appear as multiple entries in the Navigator panel.

The easiest way to understand this behavior is to keep in mind that it is an either/or situation – although there are effectively two U1 components, only one will ever be fitted to the board.

Selecting Variant Components from the Schematic

As opposed to scrolling through and selecting components from the list in the Variant Management dialog, it can be more convenient to make specific selections directly at a schematic level. To do so, select the component(s) on the sheet, then right-click and select Part Actions » Variants from the context menu.

Here, two components (LEDs) have been selected on the schematic – the right-click Variant command will open just those components in the Variant Management dialog.
Here, two components (LEDs) have been selected on the schematic – the right-click Variant command will open just those components in the Variant Management dialog.

Note that the right-click Part Actions sub-menu also includes commands to Toggle Fitted/Not Fitted, and to Choose Alternate Part.

The Variants command on the right-click menu (above) will open the Variant Management dialog, where only the selected components will be listed. The required variations can then be performed as usual, and the dialog then dismissed (OK) to apply those variations to the design.

Here, the Variant Management dialog has been opened from two selected components on the schematic sheet, and therefore includes just those two (LED) components.
Here, the Variant Management dialog has been opened from two selected components on the schematic sheet, and therefore includes just those two (LED) components.

This selection technique can be used when first setting up component variations, or when an existing component variation needs to be modified. In addition to only presenting the selected component(s) in the Variant Management dialog, if a variant is currently selected in the Variants toolbar (say BGA) then only that variant will be presented, as shown above – irrespective of how many variants might actually be defined for the project.

Graphical Variant Inclusion Editing

Component Variants can also be created and edited by working directly in the schematic at a symbol level. Note that the Schematic Editor must be in compiled variant view (as selected by the lower tab), and a variant selected in the Variants toolbar.

A command is provided to quickly toggle the Fitted or Not Fitted state of a component for the variant design. Launch this command using the button on the Assembly Variants toolbar. This will change the cursor to a cross-hair, where clicking on a component will cause it to toggle between the Fitted and Not Fitted states – the related entry in the Variants Manager dialog reflects any changes that are made.

The component’s fitted state will be graphically indicated as defined in the Variant Options dialog (accessed from the button in the Variants Management dialog).

Toggle a specific component's fitted state directly on the schematic, or access that function for all components in the Variants Manager.Toggle a specific component's fitted state directly on the schematic, or access that function for all components in the Variants Manager.

Graphical Parameter Editing

Changes can be made directly to a displayed component variant parameter by selecting the parameter text, and then reselecting the text to enable editing mode. Any changes made will be adopted by that component’s entry in the Variants Manager dialog.

Note that a component’s parameter visibility is configured in the component’s Properties for Schematic Component dialog when the schematic is in standard Edit mode (as opposed to the compiled document view).

Select a focused parameter to enable direct editing.Select a focused parameter to enable direct editing.

A variant parameter may also be directly edited in the Parameter Variation dialog, which is opened by double clicking on the parameter text. As usual, this function is only available when in the compiled schematic view, and any changes made will also register in the Variant Manager dialog.

When in the compiled view, double click on a variant parameter access editing in the Parameter Variation dialog.When in the compiled view, double click on a variant parameter access editing in the Parameter Variation dialog.

Graphical Designator Editing

To change a component's physical designator, directly within the compiled document view of a source schematic, simply click once on the designator to focus it, then click again to begin editing. Note that in-place designator editing is only possible when the Enable In-Place Editing option is enabled in the Schematic – General page of the Preferences dialog (DXP » Preferences).

Select a focused designator to enable direct editing.Select a focused designator to enable direct editing.

In-place editing of designators is essentially a graphical shortcut to defining a Locked Physical Designator, which can also be defined in the Physical Component Properties dialog (double click on the component) or Designator Annotation dialog (double click on the designator).

Both the associated component and designator dialogs provide access to designator editing and annotation options.Both the associated component and designator dialogs provide access to designator editing and annotation options.

In terms of component annotation, these dialogs offer the same content. Use the Annotate options to specify either:

  • A custom designator, using the Lock Physical Designator option and entering the new designator. This is the option that is set when graphically editing a designator, as outlined above.
  • A designator generated using a specified Naming Scheme. In this case, enable the Apply Naming Scheme option and use the Annotate Options button to access the Board Level Annotation Options dialog. From here, you can either choose a predefined naming scheme, or specify your own, custom scheme. The Physical designator will be generated based on the logical designator information and the specified naming scheme.

– See Annotating the Components for detailed information on Annotation and Naming Schemes.

The options defined in the Board Level Annotation Options dialog, when defining a naming scheme, are global to the project and override the naming scheme defined on the Multi-Channel tab of the Options for Project dialog (Project » Project Options).

Working with Variants in the PCB Editor

In Altium Designer's PCB editor all of the component footprints, for all variants, are always shown. This is necessary because all footprints, for all assembly variations, must be fabricated as part of the bare board. It is the loading of components during the assembly process that then determines which variant is being built.

Because all footprints are always visible on the PCB, it can be difficult to know which components belong to which variant. Like the schematic editor, the PCB editor includes a Variants toolbar which can be used to switch between variants. However the only visible clue to tell if a particular component is fitted or not fitted in that variant, is if the component includes a 3D Body model – the body will appear/disappear to indicate whether the component is fitted or not fitted. This visual behavior is much more easily sen when the PCB is in 3D Layout Mode, as demonstrated in the animated image below.

Alternate Part PCB design

There is only one type of variation that affects component placement in the PCB design process – when an Alternate Part is specified, and that Alternate Part uses a different footprint from the base design. In this situation two footprints must be placed on the board.

There are different ways that these two footprints might be positioned, such as:

  • The footprints are placed next to one another.
  • The smaller footprint is placed inside the larger footprint, as shown in the image below, where an SRAM component can is available in either a TSOP package or a BGA package.
  • The footprints are exactly stacked (placed one on top of the other). For example, when the footprints are identical but they have different 3D models, and therefore must have different footprint names. This is also shown in the image below, where two LED footprints are stacked for both DS1 and DS2.

An animation showing how Alternate Parts that use different footprints can be positioned on the board. An animation showing how Alternate Parts that use different footprints can be positioned on the board.

The two instances of LED DS1 use exactly the same footprint pattern (but have different 3D models in each variant) and can therefore be stacked.
The two instances of LED DS1 use exactly the same footprint pattern (but have different 3D models in each variant) and can therefore be stacked.

Altium Designer includes design rule checking support for stacked alternate components, so no additional design rules are required. The alternate parts share the same component UID, however the software is aware that they are alternate parts and can prevent the rules engine flagging stacked or overlapping alternate-part footprints.

Working with Variants in the OutputJob Editor

An OutputJob where the Choose different variants... option is selected, and outputs for both variants have been set up for each Job.
An OutputJob where the Choose different variants... option is selected, and outputs for both variants have been set up for each Job.

There are two approaches to configuring an OutputJob file to support variants, as selected in the upper Variant Choice region of the editor:

  • The Choose a single variant for the whole OutputJob file option – This sets the entire OutputJob to use the specific variant selected in the associated dropdown menu.
  • The Choose a different variant for each output option – This sets each Job in the OutputJob file to use the variant selected in the Variant dropdown menu for that specific Job.

If the first 'blanket' approach is used, then every output file that is variant-specific will automatically be configured for that variant. The advantage of this option is that the variant does not need to be specifically selected, whereas the disadvantage is that an OutputJob file is required for each variant in the design.

If Fabrication Variants need to be generated from the design, enable the Allow variation of fabrication outputs option in the Edit Project Variant dialog (see Working with Variant Parameters, above). If an output job has a variant nominated for a fabrication output, and that variant does not have the option enabled, the job's variant name will be displayed in red.

Note that the red variant name is simply a warning flag, and the variant-specific output files will still be generated. If a fabrication variant is not required, ensure that the Variant dropdown menu for that output job is set to [No Variations] – in this mode the output will be generated from the base design.

– See Output Documents Affected by Variants above for a list of relevant file types.
– See Preparing Multiple Outputs in an OutputJob for more information on Variants in Output Jobs.

Variant Errors

Variant settings are stored in the project file (*.PrjPcb), and this data is read, analyzed and loaded into the Variant Management dialog when that dialog is opened. If issues are detected when the data loads, such as any mismatches between component designators or component UIDs, an Information dialog will open to outline the problem.

Resolve designator and UID mismatches before continuing with the design process.
Resolve designator and UID mismatches before continuing with the design process.

Component UID mismatches are automatically resolved, and these corrections will be retained when the project is saved. Duplicate designators must be corrected at the schematic level. To resolve these, recompile the project and check the Messages panel for warning/error details.

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