Altium Designer Documentation

xSignals Multi-Chip Wizard

Modified by Rob Evans on Jun 19, 2017


The first page of the xSignals Wizard.

Summary

The xSignal Wizard is used to create xSignals between a single source component and multiple target components. The Wizard uses a component-oriented approach to identifying potential xSignals - you select a single source component, the nets of interest and the target components - it then analyzes all potential paths from the source component to the designation components, passing through series passive components and along any branches. As the designer you then get to choose the xSignals you would like to have generated, and you can also create Matched Length design rules if required. The xSignal Wizard can also be used to automatically create xSignals and xSignal classes for a number of different common interface and memory circuits.

 In this Wizard, an output pin is referred to as the Source, and the target input pin is referred to as the Destination.

Explore the xSignals in the PCB panel - note that the xSignals Wizard can create both end-to-end xSignals, and xSignals for connections within those end-to-end xSignals.

The Wizard is also a multiple-run tool - from the overall master group of xSignals you initially create on the xSignal Routes page, you can select a sub-set of these, define classes and rules, then return to the master group, choose another sub-set, define classes and rules for them, and so on.

One of the great strengths of the Wizard is the ease of working between the Wizard and the workspace, click on an xSignal on any page of the Wizard and the pads and any routing are highlighted in the workspace.

At this stage, the Wizard does not support the automatic addition of T-junction identifiers, often referred to as tie-points or branch-points. If your design includes branched routing, it is suggested that you:

  1. Tune the length from the source component to the passive component (such as a series termination resistor), if there are any.
  2. Tune the length in each branch, from the T-Junction to the destination component.
  3. If required, tune the remaining length between the passive component (or from the source if there are no passives) to the T-junction.
If you need to tune the lengths of just the branches, create a user-defined branch point by placing a single-layer, single-pad component within the routing at the T-junction. Refer to the Defining the Branch Point in a Balanced T Pattern topic in the Defining High Speed Signal Paths with xSignals page for more information.

Access

The xSignal Wizard can be launched by selecting:

  • Design » xSignals » Run xSignals Wizard
  • Component right-click » xSignals » Run xSignals Wizard

xSignals Multi-Chip Wizard Modes

Before beginning the xSignal Multi-Chip Wizard, you will be asked to select whether to use a custom multi-component interconnect, an on-board DDR3 / DDR4, or USB 3.0. The custom multi-component interconnect mode can be used to define multiple xSignals between a chosen source component and multiple target components, while the on-board DDR3 / DDR4 is used to create xSignals for your DDR3 or DDR4 memory. The USB 3.0 mode creates the xSignals, xSignal Classes, and Matched Length rules for each USB 3.0 channel.

 

In this mode, the Wizard can be used to define multiple xSignals between a chosen source component and multiple target components. The wizard is configured over a number of pages. The number of pages depends on the circuit configuration, for example if there are series terminators then there are additional pages. The configuration of each page is described below.

Select the Source Component


On this page you select a single source component.

On this page you select a single source component. Use the component Filter and the Min Pin Count checker to help locate the component of interest. The * and ? wildcards are supported.

Click Next to continue.

Select the Source Nets


Select the nets of interest connected to the chosen source component.

Select the nets of interest connected to the chosen source component. Use the Net and Net Class filters to help locate the nets of interest.

Click Next to continue.

Select Destination Components


Select the destination component(s) that you are interested in.

Select the destination component(s) that you are interested in. Use the component Filter and the Min Pin Count checker to help locate the component of interest.

When you click Next, the Wizard will identify all of the possible xSignals that can be created from the set of nets that have been selected, between the chosen components. If the Wizard detects 2-pin components that have both of their pins connected to the chosen nets, these are automatically identified as series termination components and extra Wizard pages will appear later in the process.

Click Next to continue.

xSignal Routes


After analyzing the chosen nets running between the chosen pairs of pins, potential xSignals are presented.

This page of the Wizard will list the proposed xSignals from each Source Pin through to each Destination Pin, click on an entry to highlight that xSignal in the workspace.

After analyzing the net paths to identify potential xSignals, the Wizard will then attempt to reduce the set to only list combinations that the designer is interested in. These are the end-to-end xSignals, the image above shows them between the source and destination components selected in the previous page of the Wizard.

The image also shows also that the Wizard has detected series termination components, R1, R2 and R7. R7 is actually a resistor pack, in this situation the Wizard will automatically create logical associations, assuming that each resistor runs across the pack it will pair the nets that connect to pins that are opposite each other on the component.

Because this assumption that the pins of each resistor are opposite each other might not always be correct, the designer can select any of the other outgoing nets, using the dropdown in the Dest Pin column. Alternatively, enable the Show all alternative paths option at the top of the Wizard to display all of the potential combinations of nets that could be used to generate xSignals. Enable the checkbox for each line that you wish to create an xSignal for.

The lists in this Wizard include a right-click shortcuts menu and standard Windows multi-select keys are supported. You can also use left-click or the Spacebar to toggle the checkbox of selected items.

The enabled xSignals will be added to the xSignal class defined at the bottom of this page of the Wizard, enter a new name or select one from the existing xSignal classes.

Click Next to continue.

xSignals Length Tuning


This page of the Wizard is used to create an xSignal class and a suitable Matched Length design rule for this set of xSignals.

This page of the Wizard is used to automatically create a Matched Length design rule for the enabled xSignals. Enable only those xSignals you want to be targeted by this new design rule - if your design requires multiple rules with different requirements, you will be given the opportunity to define additional rules for those xSignals that have not yet had a rule defined, later in the process. This first stage will also present the overall end-to-end xSignals - in future Wizard pages you will have the opportunity to define design rules for the sections within the xSignals, for example for the output pin to series termination resistor sections.

The xSignal Class Base Name field is used to define a name for the currently selected xSignals, enter a meaningful name, keeping in mind that you may be repeating this process for other xSignals. This set of xSignals will then be targeted by a design rule of the name you enter into the Matched Lengths Rule Base Name field, with the specified Length Tolerance.

Click Next to continue.

Not sure which objects are being targeted? click on one or more entries to highlight the signal path(s) in the workspace.

Source to Passives Length Tuning


Extra Wizard pages are presented when there are series termination components.

If the set of nets selected include series termination components extra Wizard pages will appear, giving the designer the opportunity to create additional xSignals and design rules for these sections of the nets. In the image above you can see that this page of the Wizard is being used to create a Matched Length design rule for the chosen xSignals that run from the Source pins to the termination components. If you require xSignals / an xSignal class / a design rule for these click then Yes, I want these segments to have the same length radio button, enable the required xSignals, and define the Class Name, Rule Name and Tolerance. Additional xSignals will be created to use with this Matched Length rule.

Click Next to continue.

Passives to Destinations Length Tuning


A second additional Wizard page is used to define the xSignals on the other side of the termination components.

This page of the Wizard is used to create a Matched Length design rule for the chosen xSignals that run from the termination components to the Destination pins. If this is required click the Yes, I want these segments to have the same length radio button, enable the required xSignals, and define the Class Name, Rule Name and Tolerance. Additional xSignals will be created to use with this Matched Length rule.

Click Next to continue.

Report and Continue


A summary of the xSignals and rules about to be created, along with an option to continue to create additional xSignals.

This page of the Wizard will detail:

  • the number of xSignals about to be created, and
  • the number of design rules about to be created.

At the bottom of the page you can choose to:

  • continue length tuning for created signals - select this option if you disabled specific xSignals on previous pages and now need to go through the process of defining additional rules for those xSignals
  • Restart Wizard for the same source component - select this option if you want to discard these settings and restart the Wizard with the same components/nets selected
  • Finish Wizard - select this option if you are finished with this source component's xSignal and design rule creation.

xSignals are detailed in the xSignal mode of the PCB panel, press the Delete key to remove selected xSignal classes or selected xSignals.

These xSignals are ready for length tuning, right-click on a net in the workspace or the xSignals mode of the PCB panel and select Interactive Tuning to get started.

You can easily remove a length tuning accordion, click once on any segment in the accordion to select it, then press Delete.

Note that the existing track segments are broken at the start and end points when you place an accordion, so if you repeat this tune-then-delete process a few times you can end up with a straight stretch of routing that is actually made up of many short track segments. To resolve multiple small track segments back into a single segment, run the Design » Netlist » Clean All Nets command.

 

In this mode, the wizard will automatically create the xSignals, xSignal Classes, Matched Length Groups, Diff Pair Matched Lengths rules and Fly-By topology for on-board DDR3/4. The Wizard assumes that a fly-by routing topology will be used.

Select The Source Components

On this page, the Wizard identifies all potential source components and target components, based on the designator prefix and the number of pins. Use the up/down arrow controls to set the Min Pin Count as required, for both the Source Component and the Target Components. Select a single source component and then select the target component(s).

Address Group

The functionality of this page is as follows:

  • Fly-By Topology and T-Branch Topology options are supported, select the required topology from the drop down list.
    • If Fly-By Topology is chosen the target devices are listed in the Point-to-Point order of the fly-by routing. The software will attempt to determine the order automatically. If Wizard is run before component placement, then the point-to-point order will need to set manually using the dropdown controls.
    • If T-Branch Topology is chosen (as shown above), half of the target devices will be shown before the source, and half after. Use the dropdown controls to order the target components as required.
  • User-defined Class name syntax:
    • The starting default is ADDR_PP[#]
    • The [#] represents the number of memory devices.
    • The PP suffix can be changed if required.
  • The Wizard analyzes the components and looks for these suffixes in the design and displays the full name syntax, using the approach detailed below. Update these if they are not correct.
    • The objective here is to automatically find the nets that correspond to these functions.  Once the nets are found, the naming syntax is entered into the fields.
    • The nets between the components are then reviewed, once the suffix is found the prefix is identified.  For example, the Wizard looks for _A[#] to locate the Address lines.
    • If no nets are found with a suffix that begins with “_”, it then looks for just the text after the “_”.  Alternative separators, such as “-” or “.” are also checked for.
    • If the syntax cannot be automatically determined, these fields must be defined by the designer. Use the dropdowns to select from the existing nets on the board.
  • Once the order and the naming syntax has been defined, click the Analyze Syntax and Create xSignal Classes button to build the list of xSignals. The Wizard will look at the syntax and how the components are connected, and form the xSignal Classes which is displayed in the table on the right side of the dialog. The number of Classes created will match the number of memory devices.
  • The number of classes created (e.g., 4) and the number of xSignal nets in each class (e.g., 26).
  • The xSignals are grouped in a column for each xSignal class. A Matched Lengths design rule will be created for each class. The sub-headings in the table represent the source and target components for these xSignals.
  • If the automatically generated list is incomplete or incorrect, click the Modify Nets in xSignal Classes button to open and Edit xSignal Class dialog and manually add or delete nets to/from a class. Note that manual changes will be lost if the Analyze Syntax and Create xSignal Classes button is then clicked again.

Identifying the Data Group Nets

The final stage is to identify all of the nets that belong to the Data Group.

The functionality of this page is as follows:

  • User-defined xSignal Class name syntax.
    • The starting default is DATA_BL[#]
    • The [#] represents the number of Byte-Lanes, which is determined by the total number of Data lines divided by the Data Bus Width defined earlier.
    • The BL suffix can be changed if required.
  • The Wizard analyzes the components and looks for these suffixes in the design, then displays the full name syntax.  Use the dropdowns to update these if they are not correct.
  • Once the naming syntax has been defined, click the Analyze Syntax and Create xSignal Classes button to build the list of xSignals. The Wizard will look at the syntax and how the components are connected, and form the xSignal Classes which is displayed in the table on the right side of the dialog. The number of Classes created will match the number of Byte-Lanes connected to the memory devices. Above the table area the number of classes created (e.g., 8) and the number of xSignal nets in each class (e.g., 11) are displayed.
  • Matched Lengths design rules are created for these xSignal Classes. The sub-headings in the table represent the source and target components for the Byte-Lane xSignals.
  • If the automatically generated list is incomplete or incorrect, click the Modify Nets in xSignal Classes button to open and Edit xSignal Class dialog and manually add or delete nets to/from a class. Note that manual changes will be lost if the Analyze Syntax and Create xSignal Classes button is then clicked again.
  • Click the Create Spreadsheet button to generate an XLS-format spreadsheet of the xSignals created by the Wizard.

xSignals and xSignal Classes Created

The Wizard automatically creates xSignals and xSignal Classes for the:

  • Address xSignals detailed on the Address Group page - in the example image there are 2 xSignal classes created, with 25 xSignals in each (15 address nets, 3 bank address nets, plus the other: select, clock DiffPair, enable and strobe nets, as shown).
  • Data xSignals detailed on the Data Group page - in the example image there are 4 xSignal classes created, with 11 xSignals in each (8 data nets, mask, and strobe DiffPair nets, as shown).
## Thanks to Robert Feranec of the FEDEVEL Academy (www.fedevel.com) for the use of the iMX6 Rex development board in images on this page (http://www.imx6rex.com/).

 

The Wizard can process all USB 3.0 channels between each controller–to-connector-pair specified by the user. The Wizard automatically evaluates Differential Pair nets connected to the controller, detecting those that span through to the connector. The span can include passive components and multiple nets. The Wizard identifies each of these pairs by an xSignal class, with each leg of the pair identified by a controller-to-connector xSignal.

Once you have selected USB 3.0, the page will include a setting for the Matched Length Tolerance Within Diff Pair, enter a suitable value. This value is used for the design rule created by the Wizard, and can be changed at any time in the PCB Rules and Constraints Editor. User-defined settings such as this are saved for future use.

For USB 3.0, each USB user port is referred to as a channel. As can be seen in the image, each channel includes 3 differential pairs: Transmit, Receive and Data.

For USB 3.0, the critical routing design requirement is to match the route lengths within each pair, between-pairs length matching is not as critical. Because of this requirement, and the fact that the Matched Length design rule requires differential pairs to check lengths within a pair of nets, the Wizard will check for Differential Pair definitions, and automatically create suitable differential pairs if there are none. The Matched Length design rule that the Wizard creates is then configured to check length matching Within Differential Pair Length. Note that the rule is configured to compare the leg lengths within the pair for the overall xSignal, it does not compare the leg lengths within each differential pair.

Select the Source and Target Components

On this page, the Wizard identifies all potential source components and target connectors, based on the designator prefix and the number of pins.

  1. Set the filter prefix for the Controller designator and the Connector designator, and the Min Pin Count values as required, then
  2. Select a single source component, then
  3. Select the target component(s).
If you select multiple target components, you should check the xSignal and Net Naming Syntax for each of these components, using the drop down in the next page of the Wizard.

Channels Define Differential Pair Groups

On this page you define a naming syntax that the Wizard can use to identify the relevant Transmitter, Receiver and Data pair nets, which are then included in xSignals. Each pair of xSignals is then clustered into an xSignal class, and these classes are used to scope the Matched Length design rule.

The functionality of this page is as follows:

  • The designator of the Controller is displayed next to the Components label. Next to this, the dropdown includes all of the Connectors selected on the previous page of the Wizard.
    • The naming syntax options shown below apply to each of the connectors listed in the drop down, select each in turn and check that the chosen naming syntax is complete, and suitable.
    • As mentioned, for USB 3.0, each USB user-port is referred to as a channel. You can set the number of channels (Channels Total) from 1 to 32. Typically each connector has a single channel.
  • Within each USB 3.0 channel there are 3 differential pair paths: Transmit, Receive and Data, which run from the Controller to the Connector. The Wizard will create an xSignal, spanning series components as required, for each positive net, and another xSignal for each negative net, and then an xSignal class to represent that Controller-to-Connector pair. The Define xSignal Class Syntax group is used to specify the names of these xSignal classes. the Wizard also creates suitable Differential Pairs, if there are none already defined.
    • Define xSignal Class Name Syntax - the xSignal classes that are created will be named as specified, with each channel assigned a numeric value in place of the [#]. Enter your preferred string as required.
  • Channel <N> - these fields define the masks that are used to identify the relevant Transmitter / Receiver / Data net names.
    • The Wizard has a large template of predefined naming schemes that it checks, usually it will populate these fields automatically. If it does not, select the correct name from the dropdown, or type in a suitable net name syntax.
  • Once the naming fields are configured, click the Analyze Nets & Create xSignal Classes button.
    • The Wizard will create the xSignals, xSignal Classes, and Matched Length rules for all of the channels. Note that these are created each time you re-run the Wizard, delete them if you plan to run the Wizard again.
  • The resulting xSignal Class names and their member xSignals are detailed in the grid.
  • Click the Create Spreadsheet button to generate an XLS-format spreadsheet of the xSignals created by the Wizard.
  • Click Finish to complete the Wizard.
If you'd like to comment on the content on this page, use the Ctrl+Enter keyboard shortcut to send us your feedback. To include a section of the page in your comment (a typo, missing/wrong info, or incorrect imagery), highlight the text (max. 200 chars) and/or image first. Please restrict your feedback to documentation issues - for technical assistance refer to the Altium Forums.

Contact Us

Contact our corporate or local offices directly.

You are reporting an issue with the following selected text and/or image within the active document:
Request Free Trial

Complete this form to request a free 15 day trial of Altium Designer: