Contents
Released in Altium Designer 15, the xSignals Wizard simplifies the process of creating multiple xSignals between multiple components, as a single process.
The xSignal Wizard creates 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 Lengths design rules targeting these xSignals.
The original xSignals Wizard supported creating custom xSignals for multiple components. The Wizard is being expanded to automatically create xSignals and xSignal classes for a number of different common interface and memory circuits.
This release sees the addition a USB3 mode to the xSignals Wizard. The goal of the USB 3.0 xSignal Wizard is to create the xSignals, xSignal Classes, and Matched Length rules for each USB 3.0 channel.
Running the xSignal Wizard
The xSignal Wizard can be launched by selecting:
- Design » xSignals » Run xSignals Wizard
- Component right-click » xSignals » Run xSignals Wizard
USB 3.0
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.
Selecting the Source and Target Components
On the next page, the Wizard identifies all potential source components and target connectors, based on the designator prefix and the number of pins.
- Set the filter prefix for the Controller designator and the Connector designator, and the Min Pin Count values as required, then
- Select a single source component, then
- Select the target component(s).
Identifying the Channels and Creating the xSignals
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, that 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.
xSignals and xSignal Classes Created
As mentioned, the Wizard automatically creates:
- xSignals - for each of the three pairs of controller-to-connector Transmit, Receive and Data signal paths, as identified by the Net Names Syntax masks.
- xSignal Classes - xSignal classes are created for each of these pairs of xSignals, named in accordance with the naming specified in the Define xSignal Class Name Syntax controls.
- Differential Pairs - to scope the Matched Length design rule so that it checks within a pair of nets, differential pairs are required. The Wizard checks for suitable pairs, and if none are detected, automatically creates them. Set the PCB panel to Differential Pairs Editor mode to examine the pairs and confirm that they are correct.
Design Rules Created
The Wizard then creates a single Matched Length design rule that targets all of the xSignal classes. Only one rule is required, because it is scoped to test all xSignal pairs, and compare the leg lengths within each pair. The rules use the Tolerance constraint entered into the second page of the Wizard. Adjust the tolerance if required.