Title: Differential Pair Handling in CADSTAR/P.R.Editor XR HS/SI Verify Application: CADSTAR 7.0 with P.R.Editor XR HS/SI Verify
Summary: This is a straightforward guide to setting up differential pairs for routing and simulation using recommended methods.
Page 1 of 14
Application Note
1. Introduction
Differential Signaling
Normal digital signals most commonly represent High or Low as a single voltage (or current) with respect to Ground or another reference voltage. For instance, in some 1.8V devices, 125mV or more above a reference voltage is read as a High, and 125mV or more below the reference voltage as a Low.
Figure 1
High Low
A normal signal is transmitted over just one connection from driver to receiver
Like normal signals, differential signals represent High and Low as a difference in voltage, but instead of this difference being between a single signal and a ground or reference voltage it is between two transmitted signals that are treated as a differential pair.
Figure 2
+
Differential Signal
A differential signal is the difference between the voltages on the two halves of the pair
Looking at the picture above, it is easy to see that differential pairs only work properly if the two halves of the signal arrive together, so it is important that the routes are of equal length. Less obvious are the special properties of differential routing, which help to yield the high noise immunity gained with differential pairs. By routing the pair closely in parallel, so that their electric and magnetic fields couple, electrical noise picked up by the routing is rejected by the subtraction of the two voltages at the receiver. To gain these benefits, and also for deeper technical reasons, it is important that the signals travel together along the routes from the differential driver forward. It is not sufficient to
Page 2 of 14
Application Note
equalize the route lengths; the lengths from the driver points to where parallel differential routing begins should also be equalized, and the bends in the routing of the pair should be balanced to keep the signals exactly opposite in phase throughout the routing. Differences in connections to the two halves of the differential pair, including differences in numbers, type and positioning of vias and test points, should be avoided as they can break the symmetry of the signals. Like any high-speed design rules, these considerations apply more strictly for higher frequencies and faster rise times than for slower signals.
Electrical Nets
Like normal signals, differential pairs can include series resistors, capacitors and inductors, so the differential pair may comprise not just two logical nets but two electrical nets.
Figure 3
The series resistors are placed close to the driver with closely-parallel differential routing between the resistors and the differential receiver
Page 3 of 14
Application Note
Differential Terminations
You can terminate differential pairs by placing a resistor between the two halves at the receiver end. The value of this resistor is not equal to the single-ended characteristic impedance that is often used to calculate terminator values for normal nets; instead, the value of such a resistor is the differential characteristic impedance for which a special calculation is required.
Figure 4
A resistor placed between the two halves of the differential pair forms a differential termination
Page 4 of 14
Application Note
The differential impedance visible in the Transmission Line Parameters (RLGC Matrix) is different from the single-ended impedance visible in the Configuration Editor that you use for normal signal design
Page 5 of 14
Application Note
Figure 6
Simulation shows both halves of the differential pair plus the differential resultant signal
Page 6 of 14
Application Note
pin pairs have not been found automatically, you can create them by selecting two pins of compatible types and using [RMB]-[New]-[Differential Pin Pair]. You should delete pin pairs that are not valid. You need to check or set up pin pairs for any nets where not all components on the differential signal are modeled as differential in the simulation library. You can set up differential pin pairs in P.R.Editor 5000HS but not in SI Verify. You can view differential pin pairs in both these applications.
Figure 7
Pair
Pair
Pair
The differential pin pairs for routing are immediately below the differential pair in the Tree View of the Constraint Manager. The Pin Pairs below each electrical net are for a different purpose.
Page 7 of 14
Application Note
[RMB]-[New]-[Pin Pair]. The new pin pair will appear in the Pin Pairs branch of the electrical net.
Figure 9
Pin Pair
You can constrain the length of the routing between two pins and the skew (difference in length) between pin pairs
Page 8 of 14
Application Note
Figure 10
Page 9 of 14
Application Note
Skew
You can set a skew constraint (the difference in length or delay) directly on a differential pair. Automatic lengthening does not apply between the two halves of a differential pair, as the integrity of the differential signal would be affected, so this kind of constraint is just for checking results. At the time of writing this guide, there is a known problem with checking lengths and delays within a differential pair where the two halves are connected to each other via passive components, for instance in the case where there is a differential termination resistor between the two halves. In these cases, it is better to constrain skew using a skew group. To create a skew group, select each of the pin pairs you want to group and use [RMB][New]-[Skew Group]. Your new skew group will appear under the Skew Groups branch, and you can then set minimum and maximum length and skew constraints on the group. This is often the best way to set length and delay constraints as the constraints and results are easy to understand. You can also create skew groups from pin pairs in different nets. If you do this with differential pairs, lengthening tools will work on the differential routing between differential pairs but not within any one pair. The easiest way is to set skew between a group of pin pairs in equivalent positions on each differential pair.
Figure 11
Pin Pair
Pin Pair
Pin pair groups are straightforward to define and constraints placed on them are easy to check
Page 10 of 14
Application Note
The hs_model attribute value should contain the same value as Device Id in the simulation library Figure 13
Double-Click
Page 11 of 14
Application Note
Figure 14
net_diff_pair=diffx + net_diff_pair=diffx
Provided that you set net_diff_pair on one corresponding net pair the rest of the differential pair will be constructed automatically
net_diff_pair=diffx + net_diff_pair=diffx
The number of pins is unequal in the two halves of the differential pair
Page 12 of 14
Application Note
Figure 16
net_diff_pair=diffx + net_diff_pair=diffx
The differential pair has been split into a single differential pair and two normal electrical nets
Figure 17
You can simulate the differential pair after reconstructing it in the Scenario Editor
Page 13 of 14
Application Note
Pair Connector
Pair
Connector
The driver and receiver are incompatible for differential routing so their pin types must be changed
Page 14 of 14