Defining Differential Pairs in Your Schematics

At a Glance

This article explains how to define differential pairs in Altium Designer schematics using differential pair directives, including the required _P and _N net naming, how directives are placed on individual nets or across multiple nets with a blanket, and what gets created when the design is transferred to the PCB. It also highlights important behavior when using the Constraint Manager, including what is and is not transferred automatically, and clarifies how related net classes, differential pair classes, and routing rules can be brought in from schematic directives. If you want a clear understanding of how to set up differential pairs correctly in your schematic before moving to PCB layout, this article will help you do it with confidence, keep reading.

- How to define differential pairs in a schematic using directives, required net label suffixes, and parameter set placement.
- When to use individual directives versus a blanket for defining many differential pairs at once.
- What transfers to the PCB, including key notes about Constraint Manager behavior, classes, and routing rule creation.
Go Deeper with AI:

A differential pair on the schematic can be defined using differential pair directives. The two nets in the pair must each be identified by a common net label with the suffixes _N and _P, and a directive must be attached to each.

When using the Constraint Manager functionality, note that net classes, differential pairs, differential pair classes, and rules defined using the differential pair directives will not be detected and transferred when updating the PCB from the schematic. Only the net classes, differential pairs, differential pair classes, and rules defined in the Constraint Manager will be transferred.

You can import rules, net classes, differential pairs, and differential pair classes from directives placed in schematics using the Import from Directives command from the right-click menu of the Physical or Electrical view of the Constraint Manager when accessed from schematics – learn more.

Custom differential pair suffixes can be defined in the Diff Pairs section on the Options tab of the Project Options dialog.

Place a differential pair directive by choosing the Place » Directives » Differential Pair command from the main menus. This command is used to place a parameter set object onto the active document, preconfigured as a differential pair directive (Label = DIFFPAIR). Each pair of directives (one for the positive net, one for the negative) will yield a single differential pair object when transferred to the PCB.

Place directives on the schematic to define differential pairs. In this example, two differential pairs named V_RX1 and V_TX1 will be generated in the PCB.
Place directives on the schematic to define differential pairs. In this example, two differential pairs named V_RX1 and V_TX1 will be generated in the PCB.

On the PCB side, each resulting differential pair object will be added to the default Differential Pair class: <All Differential Pairs>. You can rename differential pair objects on the PCB side only.

To apply directives to a net-type object, place a Parameter Set directive object so that it touches the net object, as shown above. The software detects the presence of the design rule and/or class in that Parameter Set object and then outputs it to the PCB during design synchronization.

► Learn more about the Parameter Set object

If there are a large number of pairs to be defined, an alternate approach is to also place a blanket directive. This allows you to apply directives to multiple nets that are under the blanket. Altium Designer detects nets whose net label hotspot is within the blanket boundary. A single differential pair directive is placed to touch the edge of the blanket, as shown in the image below.

The image also shows that as well as directing that the contained nets be defined as differential pair members (via the presence of the Differential Pair directive), the directive instructs all contained nets to become members of the Net Class RocketIO, the pairs to become members of the Differential Pair Class ROCKET_IO_LINES, and also to create a Differential Pair Routing rule. Because there is a Net Class specified in the same differential pair directive, in the PCB editor, this rule will be scoped to target the RocketIO Net Class when the design is transfered to the PCB editor.

The automatic PCB rule creation feature does not support assigning the Differential Pair Routing rule to the created Differential Pair Class. It does support automatically assigning the nets to a Net Class, though, if one is included in the differential pair directive. If this is done, a single Differential Pair Routing rule will be created in the PCB editor, targeting this Net Class. The rule can then be edited to target the Differential Pair class instead. If the Net Class is not included, individual Differential Pair Routing rules will be created for every differential pair under the blanket.

A Blanket can be used to configure multiple nets as differential pair members, create a Diff Pair Class and Net Class of these nets, and apply a Differential Pair Routing design rule to this Net Class.
A Blanket can be used to configure multiple nets as differential pair members, create a Diff Pair Class and Net Class of these nets, and apply a Differential Pair Routing design rule to this Net Class.

Refer to the Differential Pair Routing page to learn about routing a differential pair in the PCB.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Contents
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, Altium Agile Teams, Altium Agile Enterprise, or Altium Designer (on active term).

If you don’t see a documented feature in your actual software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.