Friday, May 27, 2011

Making friends with differential pairs

A common question arises when working with differential pairs, particularly when you inherit or import designs where the differential pair directives were not added to the schematics. Is it actually necessary to set up the directives in the schematic documents?

In order to use the schematic Differential Pair directives in Altium Designer, a specific naming convention must be used. The negative and positive signals of the pair must follow the conventions signalname_N and signalname_P respectively, and each signal must have a Differential Pair directive attached. If the differential net names were denoted in another way, such as with a + and - or _H or _L, you would need to rename the nets with the _N and _P suffixes in order for Altium Designer to be able to utilize the schematic directives.

However, there is a method which can be employed in the PCB Editor to create differential pairs based on a more configurable naming convention. All that’s required is that the differential signals have Net Labels on the schematic that in some way consistently define the positive and negative nets of the pair. Even if you have followed the _P, _N conventions on the schematic, the following method allows you to create the differential pairs within the PCB Editor without having to first place Differential Pair directives in the schematic.

In order to create the differential pairs from named signals on the PCB, make sure all net data is loaded into the PCB through the execution of the ECO. Either use Design » Update PCB from Schematics, or from the PCB Design » Import Changes from <projectname>.PrjPcb. Execute the changes from the ECO and the nets will be loaded into the PCB.

In the PCB Editor make sure the PCB panel is visible by going to View » Workspace Panels » PCB » PCB. Place the panel in Differential Pairs Editor mode, by selecting Differential Pairs Editor from the drop-down list at the top of the panel.

The three main list regions of the panel will change to reflect, in order from the top: differential pair classes, individual member differential pairs within a class and the constituent nets (negative and positive) that form a differential pair.

Differential pair objects can be created from the nets in your design using the Create Differential Pairs From Nets dialog. This dialog is accessed by clicking on the Create From Nets button, beneath the Nets region of the PCB panel.

The efficiency of this automated method greatly depends on the naming convention that is used for the specific nets that are to be routed as differential pairs. The filters at the top of the dialog enable you to quickly target these nets in terms of the net class to which they belong and the particular differentiating factor that has been used to distinguish the positive and negative nets in an intended pairing. You can also define a prefix to be added to the differential pair objects created and also determine in which differential pair class they are to be added.

The image shows an example of differential pair objects created from design nets. In this case I’ve based my search on the _P and _N suffixes.

For each potential differential pair object found in the design, the dialog lists its constituent positive and negative nets. You can exclude nets from which you don’t want to create differential pairs by clearing the associated Create checkbox. When all options are set as required, click the Execute button - the differential pair objects will be created and the PCB panel will update accordingly. Filtering will be applied to show the created pairs in the workspace

The differential pairs now exist as defined objects in the PCB and they are listed in the PCB panel under the Differential Pairs section.

By clicking on a pair within the PCB panel, the third region will be populated with the nets of the pairs.

Remember to press Clear (at the bottom right corner of the workspace) to refresh the view and get ready to start a command. 

Differential pairs are routed as a pair. That is, you route both nets of the pair simultaneously. To route a differential pair, select Interactive Differential Pair Routing from the Place menu. You will be prompted to select one of the nets in the pair. Click on either to start routing.

As you route the differential pair the standard conflict resolutions modes are available, including Walkaround, Push, Hug and Push, and Ignore obstacles. Use SHIFT + R to cycle through the modes. Use the * key on the numeric keypad to switch layers, and the *5 shortcut to cycle possible via patterns. Press the Shift+F1 shortcuts to display all of the available shortcuts


No comments:

Post a Comment