Варианты проекта
When a product needs to be designed and produced as a number of variations of that product, 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 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 or the Variant Manager document-based interface. Use the Project » Variants command from the main menus or the Variants command, from the context menu of the project's entry in the Projects panel to access. To learn more, refer to the following pages:
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 (an automated process), each physical component is instantiated in memory, ready for transfer to the board design space.
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 space – note that the schematic under a compiled tab is read-only.
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 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 (so the footprint can be placed), 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 Configuring Display of Varied Components in Design Documents.
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.
In the example shown below, alternate parts for R3 and Q1 in the TSOP variant are used. 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. The animation below shows how this situation could be handled when one variant has BGA SRAM, and the other variant has TSOP SRAM.
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
orR-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 are 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 or within a specific channel, which includes the variations of components Fitted/Not Fitted, specific component parameters varied, or Alternate Parts.