How to Length Match High Speed Nets in Autodesk EAGLE
In our previous blog, we showed you how to take advantage of the latest technologies like HDMI, USB 3.0, or DDR by routing differential pairs in Autodesk EAGLE. Now we need to ensure your signals arrive at the same time with the help of length matching. While this technique works great for coupled traces like differential pairs, you might also length match single nets within a bus or chip whose signal timing needs to be exact. We’ll be looking at both scenarios and show you how to use the Meander tool in Autodesk EAGLE to get the job done.
Why Match the Lengths of Traces?
If you’re planning to design a PCB layout that includes Double-Data Rate (DDR) memory, then you’ll be working with not one but two data bit transmissions in a single clock cycle. Big deal, they’ll both arrive at the same time automatically, right? Not necessarily. Because the speed of electrons flying down your circuit is always at a fraction of the speed of light, if you have two signals traveling down two traces of different lengths, then they’ll arrive at different times. When that happens, you’ve got data corruption and signal timing issues.
Whether you’re routing differential pairs or an entire bus for your high speed memory, it’s always critical that the length of your traces are properly matched. You can accomplish this in Autodesk EAGLE by adding delays in your traces with the Meander tool. There are three situations where you’ll typically use length matching:
- For single-ended nets. You’ll length match single-ended nets at their terminating connections that are part of a bus or chip.
- For differential pairs. You’ll length match both nets in a differential pair to keep them tightly coupled along their path of travel.
- For single nets and differential pairs. You’ll length match both single-ended and differential pairs when they’re all part of the same memory module or bus to ensure every signal arrives at the same time.
Let’s look at how to use the Meander tool in Autodesk EAGLE to length match your nets. This process is largely the same whether you’re matching single-ended nets or differential pairs.
Step 1 – Determine Your Longest Net Length
We’re going to assume that you already have your single-ended nets or differential pairs routed. Now you’ll need to determine which of your nets within your bus or chip has the longest length and then matches the remaining nets to this length. There are a couple of ways to determine the length of a net, including:
The Info Tool
- Select the Info tool on the left-hand side of your interface.
- Left-click on a net to open the Properties dialog.
- Make a note of the value in the Length field.
ULP Script
There’s also a handy ULP script that will display basic information for every net on your PCB including lengths, theoretical currents, etc. To run this script type “run length-freq-ri” in the EAGLE Command Line and press Enter. This will open the Eagle: Wire length of Layout dialog showing you all of your traces.
If you need to obtain a specific impedance for your lines then, the length you need isn’t necessarily determined by the longest for your routed traces. In these cases, your length will be determined through calculations or from a signal integrity simulation.
Step 2 – Meander Your Net(s)
Got your longest net length? Good, now we can meander all of our nets to this length with the Meander tool. Let’s first look at an example with two single-ended, high-speed signals terminating at our memory chip:
MMC1_DATA0 is our longest net with a length of 455 mils. We can match net MMC1_DATA1 to this length with the following steps:
- Select the Meander tool on the left-hand side of your interface.
- Enter your desired net length in the EAGLE Command Line and press enter.
- Left-click on the net you want to length tune, then left-click again to confirm the selection and begin the meandering process.
- Drag your cursor to the left or right to add meanders to your net. You’ll notice a dialog box that changes percentage as you move your meander. Your nets are perfectly matched when this reaches 100%.
- Once you’ve reached your desired net length, left-click to finalize the meandering.
Meandering a pair of differential pairs works the same. Below we have two coupled differential pairs which have been length tuned using the Meander tool .
Note that when length matching differential pairs the Meander tool will open a dialog that displays two percentages. The top percentage is the primary trace that you selected with the Meander tool, and the bottom is the coupled secondary trace. Both will be matched to the specified length above the two percentages.
Match Those Lengths
Precise signal timing is essential in any high speed application and ensures that your data arrives as intended at its destination. To make this happen, use the Meandering tool Autodesk EAGLE to balance the lengths of single-ended nets, differential pairs, and groups of nets in a bus or memory block. With all of your nets precisely matched you’ll get to enjoy the inherited benefits, like control impedances and reduced risk of data corruption due to timing.
Ready to start length matching nets in your own high speed design project? Try Autodesk EAGLE for free today!