Creating a Multi-channel Design
Contents
This tutorial shows how to create a multi-channel design in the Schematic Editor, including the use of sub-sheets, sheet symbols and the Repeat keyword. Setting room and designator formats and viewing the channel designator assignments are also covered.
A multi-channel design refers to the same channel many times. The channel needs only to be drawn once as a separate schematic sub-sheet and included in a project. You can easily nominate how many times the channel is used by placing multiple sheet symbols that reference the same sub-sheet, or by including the Repeat keyword in the designator of a sheet symbol.
The Designator Manager creates and maintains a table of channel connections which is stored as part of the Projects file. A multi-channel project is supported throughout the design process, including back-annotation of designator changes to the project file.
In this tutorial, we will explore the multi-channel design Peak Detector - Multi channel.PrjPcb, available for download from Altium Live
This design has three levels of hierarchy - the parent sheet, the bank sheet and the channel sheet. The parent sheet (Peak Detector.SchDoc) includes a sheet symbol for four banks (referencing the one Bank.SchDoc four times). The Bank schematic in turn has a sheet symbol for eight channels for each bank, making a total of 32 channels. Rather than create all these channels as separate schematic sheets, we will use the Repeat command and sheet symbols to reference the one schematic, Peak Detector - Channel.SchDoc, for each of the channels required. By formatting room names and component designators, we can reflect this hierarchical design.
Creating a multi-channel design
When creating this design, a PCB project file was created and the three schematics that represent the levels of this multi-channel design were added, i.e. Peak Detector.SchDoc (top or parent sheet), Bank.SchDoc (bank level) and Peak Detector--channel.SchDoc (channel level).
1. Create the circuit that you wish to become the channel on a separate schematic sheet as shown below (Peak Detector Channel.SchDoc) and add the new schematic to the PCB project file.
2. Next, create a schematic for the bank level (Bank.SchDoc). A sheet symbol needs to be placed on the Bank.SchDoc to create the required number of channels that will refer to the Peak Detector-channel.SchDoc.
3. Select Place » Sheet Symbol and place the sheet symbol. Double-click on the new sheet symbol to display the Properties tab of the Sheet Symbol dialog.
The designator name of the sheet symbol is used to uniquely identify each component in each channel. In the example above, the Designator name of the sheet symbol is PD. You can use any name but short names are recommended for the sheet symbols to keep the designators short. This is because the sheet symbol name and a channel number will be added to the designator name when the project is compiled, e.g. R1 will become R1_PD1.
4. In the Filename field, enter the name of the channel schematic you want to use, e.g. Peak Detector-channel.SchDoc. Alternatively, click on the '...' button to select schematic sheets in your current project.
4.1 Right-click on the placed sheet symbol and select 'Sheet Symbol Actions » Synchronize Sheet Entries and Ports'.
4.2 Select all the Unmatched Ports and click the 'Add Sheet Entries' button to add the corresponding sheet entries to your upper level sheet.
4.3 Click to set the sheet entries on the sheet and then click Close to close the Synchronize dialog.
The first_channel parameter needs to be set at 1 or greater in the Repeat command. For example Repeat(PD,1,8)
5. Specify the number of times to repeat the reference channel schematic by editing the Designator field with the following format:
Repeat(sheet_symbol_name,first_channel,last_channel)
In this example, the command Repeat(PD,1,8) in the Designator field will reference the Peak Detector channel schematic eight times (1,8), via the sheet symbol named PD, e.g., PD1, PD2, etc.
6. Click OK to close the Sheet Symbol dialog and the symbol will change to reflect that it now references multiple multiple channels.
7. Nets that are common to all sub-sheets are connected in the normal way. Nets that connect individually to repeated sub-sheets are brought in as a bus, with one bus element connecting to each sub-sheet.
In the example above, this is shown by placing the bus name (not including the bus range, e.g. P) on the wire and the sheet entry including the Repeat keyword. When the design is compiled, this bus is resolved into the individual nets (P1 through to P8) with one assigned to each channel; P1 connects to PD_1 sub-sheet, P2 connects to PD_2 sub-sheet, and so forth.
8. Create the parent sheet, Peak Detector.SchDoc and use the Place » Sheet Symbol command to create a sheet symbol to represent the next level schematic down, Bank.SchDoc.
In the example above, the Designator name of the sheet symbol is BANK. Therefore, the command Repeat(BANK,1,4) in the Designator field in the Sheet Symbol dialog will reference the Bank schematic four times (1,4) via the sheet symbol BANK.
Note also that the net labels on the wires in the example above do not include a bus element number and the sheet symbol includes the Repeat keyword. When the design is compiled, this bus is resolved into the individual nets (OFF1 through to OFF4) with one assigned to each channel.
Setting room and designator formats
Once you have created the schematics, you can format the designator and room names that will map from the single logical component on the schematic to multiple physical instances on the PCB.
Logical designators are assigned to the components of the source schematics. Physical designators are assigned to the components once they are placed in the PCB design. When creating multi-channel designs, the logical designators for the repeated channel components may be the same, but each component must have a unique physical designator in the PCB design.
1. Select Project » Project Options. Click on the Multi-Channel tab of the Options for Project dialog to specify the room and component designator naming formats.
Room Naming
1. Click on the Room Naming Style drop-down list to choose the naming format you require for the rooms in your design. These rooms are created by default when you update the project schematics to the PCB. There are five styles available — two flat and three hierarchical.
Flat room name formats | Hierarchical room name formats |
Flat Numeric with Names | Numeric Name Path |
Flat Alpha with Names | Alpha Name Path |
| Mixed Name Path |
Hierarchical room names are formed by concatenating all channelized sheet symbol designators (ChannelPrefix + ChannelIndex) in the relevant channel path hierarchy.
2. As you select a style from the list, the image in the Multi-Channel tab (below) is updated to reflect the naming convention that will appear in the design. The image gives an example of a 2x2 channel design. The larger crosshatch regions represent the two upper level channels (or banks) and the shaded regions within represent the lower level channels (with two sample components shown in each). When the design is compiled, a room is created for each sheet in the design, including each bank and each lower-level channel. For the 2x2 channel design shown in the image, a total of six rooms will be created one for each of the two banks and one for each of the four lower level channels.
There are no restrictions on the character used for the level separator; however, a single non-alphanumeric character is easier to read.
In our Peak Detector example, 37 rooms will be created — one for the top level schematic sheet (1), one for each of the four banks (4) and one for each of the eight channels within each of the banks (32).
3. Use the Level Separator for Paths field to specify the required character/symbol for separating the path information when using the hierarchical naming styles, i.e. those styles that include the path.
Component Naming
There are several designator formats for naming components. You can choose a format or define your own using valid keywords.
1. Define the naming format you want for the component designators by selecting from the Designator Format drop-down list. There are eight predefined formats — five flat and three that can be used in a hierarchical context.
Flat designator formats |
$Component$ChannelAlpha |
$Component_$ChannelPrefix$ChannelAlpha |
$Component_$ChannelIndex |
$Component_$ChannelPrefix$ChannelIndex |
$ComponentPrefix_$ChannelIndex_$ComponentIndex |
Hierarchical designator formats |
$Component_$RoomName |
$RoomName_$Component |
$ComponentPrefix_$RoomName_$ComponentIndex |
The Room Naming Style is only relevant for component naming if the $RoomName string is included in the Designator Format.
The flat designator formats name each component designator in a linear progression, starting from the first channel.
The hierarchical formats include the Room Name in the designator for a component. If the Room Naming style chosen is one of the two possible flat styles, then the style for the component designator will also be flat. However, if a hierarchical style has been chosen for Room Naming, the component designator will also be hierarchical because the path information will be included in the format.
Defining your own designator format
You can also define your own component designator format by typing directly into the Designator Format field. The following keywords can be used when constructing the format string.
Keyword | Definition |
---|---|
$RoomName | name of the associated room, as determined by the style chosen in the Room Naming Style field |
$Component | component logical designator |
$ComponentPrefix | component logical designator prefix (e.g. U for U1) |
$ComponentIndex | component logical designator index (e.g. 1 for U1) |
$ChannelPrefix | logical sheet symbol designator |
$ChannelIndex | channel index |
$ChannelAlpha | channel index expressed as an alpha character. This format is only useful if your design contains less than 26 channels in total, or if you are using a hierarchical designator format. |
Compiling the project
You must compile your project in order for any changes made to room and/or component designator formats to take effect.
1. Compile the project by selecting Project » Compile PCB Project. When the multi-channel design is compiled, there is still only one sheet shown in the Schematic Editor, however now, there are tabs displayed along the bottom of the schematic sheet in the design window, one for each channel (or bank). The tab names are the sheet symbol names plus the channel number, e.g. BANKA.
2. Once the design has been compiled, it is transferred to the PCB Editor in the normal way (Design » Update PCB). The transfer process will automatically create a component class for each schematic sheet in the design, a room for each component class and group the components in each class in their room, ready for placement.
3. After placing and routing one channel, select Design » Rooms » Copy Room Formats in the PCB Editor to copy the placement and routing of that channel to the other channels. In order for this command to work properly, the corresponding Room rules must not be disabled, Design » Rules » Placement » Room Definition, nor the corresponding rooms for the channels deleted.
Viewing the channel designator assignments
To check that your multi-channel designators, you can view all components used in all the source schematic documents in the project in terms of logical and physical designators.
To check the designators that are associated with components in a multi-channel design:
1. Select Project » View Channels to display the Project Components dialog which shows the logical and physical designators assigned to each of the components in the source schematic documents.
Remember that there is always only one schematic sheet of the channel; the designator assignments for each channel are stored in a table (Project » View Channels).
The table shows the number of channels associated with a schematic name in the project. In the example above, the following room and component naming conventions were used: Mixed Name Path and $Component_$ChannelPrefix$ChannelIndex.
Each channel will have the designator names augmented with channel number, e.g. designator C1 in the Peak Detector - channel.SchDoc becomes C1_PD1 for channel 1 through to C1_PD32 for channel 32 when it is updated to the PCB.
2. Click on a Logical Designator to jump to that component in its source schematic. The component will display zoomed and centered in the main design window. The dialog remains open to allow you to jump to other components.
3. Click on the Component Report button to display the Report Preview dialog showing a print preview of the Project Components report . Click Print to print the report. The Print dialog displays. Click OK to send the report to the printer.
4. Choose Export from the Report Preview dialog to save the Project Components report as a file, for example as a spreadsheet (.xls) or a .pdf. Save the file and you can then open it in its appropriate program (e.g. Microsoft Excel or Adobe Reader) by clicking on Open Report.
5. Click on Close to exit the print preview mode and click OK to close the Project Components dialog.
Displaying the designators on the PCB
It can be difficult positioning the designator strings in a multi-channel design, as they can end up being quite long. As well as choosing a naming option that results in a short name, another option is to display just the original, logical component designation instead. For example, C30_CIN1 would display as C30. This would of course 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 in the Board Options dialog (Design » Board Options). 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 Gerber's. The unique physical designators, however, are always used when generating a Bill of Materials.