A Step-By-Step Guide for xSignal Beginners User
The xSignals Multi-Chip Wizard takes a component-oriented approach to identifying potential xSignals. You choose the source and destination components and the Wizard analyzes all possible paths between them, including through any series passive components.
Use the Create xSignals from connected nets command (available via the Design >> xSignals sub-menu or the right-click xSignals context menu). This command immediately creates an xSignal between any two pads in the selected component.
The panel’s top region lists xSignal classes that have been defined or all available classes (All xSignals>). Select the class you want to define an xSignal for; the xSignal will be created and displayed in the design space.
The middle region displays the xSignals for the xSignal class selected in the panel, or all xSignals on a PCB if All xSignals> is selected. The xSignal is shown in the design space as a thin line representing the path of the signal. The panel region’s right-click context menu provides a number of options to manage the xSignal including changing its color background, its visual representation in the design space (via the thick trace), its visibility and its status.
The xSignal panel includes additional information for the selected xSignal, such as its Total Pin/Package Length, its Routed Length (which is the sum of all tracks and arc segments that make up the routing plus the vertical distance traversed through vias), and its Un-Routed (Manhattan) Length. In addition, the panel indicates whether the xSignal meets applicable Length/Matched Length design rules – if not, a warning is displayed.
Creating a new xSignal
An xSignal is a designer-defined signal path between two nodes; these can be in the same net, or in associated nets separated by a component. xSignals are used to scope design rules such as Length and Matched Length, which are obeyed during interactive length tuning tasks.
You can create a new xSignal by using the xSignals sub-menu (Design >> xSignals or right-click xSignals). There are a number of xSignal creation commands in this sub-menu; the most commonly used is the xSignal Multi-Chip Wizard.
This command takes a component-oriented approach to identifying potential xSignals – you select a source component, then the destination components and nets of interest. The xSignals are then automatically built between these components, including any series passives (e.g. series termination resistors) that are required. When the xSignals are created, you can choose to associate them with an existing xSignal class at this point if required. Alternatively, you can leave this field blank and add them to an xSignal class later.
Defining an xSignal based on selected pads
An xSignal is a designer-defined signal path between two nodes, either within the same net or from different associated nets. These paths can be used to scope relevant design rules such as Matched Length.
A convenient way to quickly define a number of xSignals is to use the xSignals Multi-Chip Wizard, which can be run by selecting the source component and target components, together with any series passive components (e.g., series termination resistors).
The xSignal Wizard uses a component-oriented approach to identify potential xSignals – it analyzes all possible paths from the selected source pads to the designated pads, including any branches via the selected passive components. The resulting xSignals are then listed in the xSignals mode of the PCB panel. You can choose to associate the identified xSignals with an existing xSignal class or type in a name for a new class. The xSignals are then added as members of the specified class.
Defining an xSignal based on connected nets
To define an xSignal based on connected nets, select the source component and the target component, and choose the xSignals >> Create xSignals from Connected Nets command in the context menu. This command analyzes the nets associated with the selected components to identify all potential xSignals between them, including those that may pass through series passive components.
An xSignal is a designer-defined signal path that can be used to scope relevant design rules, such as Length and Matched Length. It can also be used to implement other types of logic, such as a conditional that triggers code when the value of a signal changes.
The mutate() method modifies the value of the signal by passing it an arrow function that provides the current value of the signal. This is useful if you want to change the value of an xSignal and require consumers to read it after the change. In addition, the mutate() method notifies any consumers of the new signal value, which will be read by them when they execute.