Case Study: Supporting Guide
Case Study: Supporting Guide
CASE STUDY
Introduction the positive and the negative net with „_P” and
„_N” suffixes. We have to add net-class names to
This is a tutorial for high-speed digital board design both nets, see later in the classes section. For the
with Altium Designer. There are some design objects differential pairs, the net class assigment will be used
and rules that are not covered in this document since for trace width rules. To add the diffpair symbol to
they are not important for understanding high-speed a net, use „Place > Directives > Differential Pairs”,
design constraints. There are different grades of then attach the symbol to both nets, then doubleclick
high-speed design from the 8-bit USB microcontroller on the symbol and adit the „Name” field to give a
boards untill the server computer motherboard unique name, for example the net names without the
designs. This article is trying to explain all possible suffixes. Give the same diffpair name to both the _P
trace length related challanges with solutions for all and the_N net.
grades. This document mainly focuses on the Altium
Designer release 10, and in few sections there are
examples with Altium Designer 6.9 as well. This
tutorial requires the reader to be familiar with the Figure 1: Net name, Differential Pair and Net Class specification in
general PCB design with Altium Designer. schematics
In the PCB layout file when we import the design the
Connection Objects differential pair objects will be created. We can see a
list of all differential pairs in the PCB Panel when we
select the „Differential Pair Editor” in the panel’s top
The connection objects define the connections in a
drop-down list. Here we can browse hierarchically,
circuit, group of connections, or the way of making
first select a diffpair class or „All” from the first list,
the connections (eg differential-pair routing). Some
then select the diffpair by its name in the second list,
of them are naturally created, and they are normally
then we can see the two nets in the third list. In the
coming from the schematics like nets and buses.
panel we can specify what should happen when we
There are other objects that have to be manually
select an object, by choosing from a small drop-down
defined. Some of these can be defined in the
list on the PCB panel. The selection can have no
schematics level, while other can only be defined in
effect („Normal”), or highlight („Dim”), or highlight
the PCB design file. This chapter describes connection
and disable editing of aother objects („Mask”). In
objects that have to be manually created, so we
the last two cases the selection can be cancelled
will be able to define the high-speed design rules
by pressing the „Clear” button in the bottom-right
properly based on them.
corner of the Altium Designer window. The level of
highlighting can be set in the „Mask Level”, which
Differential Pairs: is next to the Clear button. In Altium Designer, the
For differential signals, we create differential pair different „Panels” can be turned on or off in the right
objects. The best way is to create them in the bottom corner of the editor, by clicking on the PCB-
schematics design. We give netnames for both button.
Figure 8: Design Rules Editor (the discussed rule types are framed with red)
Interactive editing
During interactive editing or routing we have to
measure the trace lengths real time or quasi real
time. The Altium Designer’s on-screen Length Meter
pops up during „Interactive Length tuning” or during
„Interactive Differential Pair Length tuning” which
shows net lengths in real-time. Unfortunatelly this
only works on total net length, not on segment
(From-To) lengths, and it does not pop up during
routing or during sliding/stretching of trace
segments.
The DRC also uses automatic referencing. This automatic refencing will be mentioned in the Rules&Violations
list and on the PCB List Panel in the violation detalis. The referencing (eg. „...Differential Pair B Actual Length
Difference against diff pair E is: 0.82...” in the violation details) looks similar to this: {A,B,C,D} E, E A.
Figure 21:DDR3 SODIMM socket routed to a processor (one of the 2 used layers, 2/channel)
Figure 22: Single-chip memory interface (one of the 3 used signal layers)
Figure 24: Jedec DDR3 SODIMM Address / Command routing guidelines (abs. rules)
► Hand-route the bus and follow the specified topology. Check ► Run the DRC to see if all the From-Tos are properly matched.
the Jedec reference board design (Allegro) file for the
topology, placement, fanout, routing and layer usage. A free
Cadence Allegro Viewer can be used for this. Make sure to DDR3 Memory-Down design
break the track segments at every branch to avoid From-To The „Memory-Down” is the design technique
length measuring errors (see the chapter about Bugs and where we design a complete DIMM memory on to
Workarounds).
the motherboard, so we don’t need to use DIMM
► Set up the From-Tos in the PCB Panel’s From-To Editor, for all sockets, all the memory chips will be soldered on
specified pin-pairs on all nets in the group. These are the DIMM
card edge to first DRAM chip’s pin, the segments between the the motherboard. In a Memory-Down configuration,
DRAMs, from the last DRAM to the termination, and from the we basically attach the design rules of a processor-
first DRAM until the last DRAM (clock only). to-DIMM design guide with the DIMM design guide
► Check the routed From-To lengths (one-by-one on the PCB from the Jedec specifications. The rules are given in a
Panel), if they are longer than the Jedec absolute trace length format like offset_from_reference+/-delta (relative)
specifications. If they are longer, then try to re-route them to
be shorter. If we can not shorten all tracks, then we have to or offset+/-delta (absolute) or min/max range
set a new target length for the ACC bus. For a DDR3 memory (absolute) format. The motherboard design guides
address bus we can increase a few segment (card edge to first normally provide relative rules, where the length of a
DRAM, last DRAM to Rtt) lengths by a few millimeters. This
will deviate from the standard, but if we check the different signal group is specified relative to another signal or
Raw Card topologies, then we would see that there are big group (eg. ACC-bus to CLK), while the DIMM design
differences in these segment lengths. The important thing rules are provided as absolute rules in min/max
is to match the different nets on the same segment, so use
a longer target length but for all signals in the group. If we ranges. We have to transform both constraints to
increase the ACC-bus (from card edge to first DRAM From- offset +/-delta description, then sum the offsets and
To) and the data bus by the same amount, then the effect is the deltas separately. This way we get constraints
like if the DIMM socket on the motherboard was further away
from the processor/chipset, which is completely allowed by the from chip/die pin to chip/die pin. Because the Altium
Figure 25: JEDEC standard-based DDR3 SODIMM (Routed on four signal layers, ACC/CLK highlighted. We can see that the ACC-bus enters the card
in the middle of the edge-connector, then routed up, then changes layer and routed to the left, then routed to the first DRAM chip, then to the second, to
the third, to the last DRAM chip, then finally to the termination resistors. This way the Jedec standard net topology and trace segmenth length rules can
be satisfied by length tuning.)