Laying out ddr traces

So, I'm trying to attach some DDR SDRAM to a blackfin DSP. It's the first t ime I've tried to lay out DDR, and I'm not finding it easy-going...

Here's an image of the left side of the DSP and the entire DDR chip... http ://0x0000ff.com/imgs/eagle/bga-ddr.png.

In line with what I've been reading, I was trying to get CK,/CK laid out fi rst, then sync up address[0:15], ba[0:3], /RAS, /CAS, /WE, and /CKE. Even a t this first stage, it's looking like it's going to be hard - the different ial clock signals need to be (a) parallel to each other and (b) the same le ngth (or near as makes no difference), and then all the others above need t o match to within 100 mils of the length of CK!

This doesn't begin to compare to the full list of restrictions (all traces under 1.1", bytes lanes length-matched, traces in same group on same layer, all traces to be one layer away from a full ground plane,... the list goes on).

I'm using Eagle, have done for years, and its not really helping me at this point. Trying to route the differential pair CK, /CK as an actual differen tial pair makes it ignore the design constraints that have been set up and even routes the paired signal over another pad while you're routing the fir st of the pair.

So, is there anything out there that is (a) relatively cheap (this is still a hobby, and I've a $3k BGA placement machine already budgeted for, I don' t want to spend *too* much more...), and (b) does a good job ? Eagle's been great up until now, but I can't help but think I'm pushing its limits. Or am I wrong in this, and do all PCB layout engines suck, and this task (DDR routing) is just way harder than it ought to be ?

Cheers Simon

Reply to
Simon
Loading thread data ...

I've tried to lay out DDR, and I'm not finding it easy-going...

formatting link

first, then sync up address[0:15], ba[0:3], /RAS, /CAS, /WE, and /CKE. Even at this first stage, it's looking like it's going to be hard - the differential clock signals need to be (a) parallel to each other and (b) the same length (or near as makes no difference), and then all the others above need to match to within 100 mils of the length of CK!

under 1.1", bytes lanes length-matched, traces in same group on same layer, all traces to be one layer away from a full ground plane,... the list goes on).

point. Trying to route the differential pair CK, /CK as an actual differential pair makes it ignore the design constraints that have been set up and even routes the paired signal over another pad while you're routing the first of the pair.

hobby, and I've a $3k BGA placement machine already budgeted for, I don't want to spend *too* much more...), and (b) does a good job ? Eagle's been great up until now, but I can't help but think I'm pushing its limits. Or am I wrong in this, and do all PCB layout engines suck, and this task (DDR routing) is just way harder than it ought to be ?

These sorts of things can be hard.

Eagle has various scripts available for giving you the stats on trcak lkength etc, in their download section.

Newer version 6 and its autorouting module adds some functions for differential pairing of follow me routing, apparently good for pairs of signals not so good for larger numbers of signals at same time.

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk 
    PC Services 
 Click to see the full signature
Reply to
Paul

Simon

Remember that your clk/clkn lines are only loosely coupled. They are in fac t each nearly 50R to Gnd, rather than 100R w.r.t. each other. Unless your o ther signals are spaced out enormously, then one track picks up very difere nt noise to the other and you don't get common mode noise. Being digital th e differential mode rejection is enormous, you're not routing audio where a few mVolts will get heard. Better tools are better, but remember that your break out is trivial compared to a big FPGA, or take a look at a TI AM3892 (on .65mm pitch BGA) to see an example of routing that can't be done nicel y but works just fine.

Also, before spending a lot, take a look at the BGA reflow oven that www.pc b-pool.com sell.

Best of luck Colin

Reply to
colin_toogood

Simon

I've missed a couple of important sentences :). The point is, that if your two differential tracks are not precisely parallel to each other it really won't matter a great deal. In real life they will split apart at both ends of the track for break out and if you are length matching you will put a ji ggle in one of them somewhere as well. You will still get about 100R differ ential and there will be nothing wrong with the quality of signal on them.

I also just took a look at pcb-pool. Their homebrew reflow system is shown in the news for 2009 but it doesn't look like you can buy it any more.

Colin

Reply to
colin_toogood

r two differential tracks are not precisely parallel to each other it reall y won't matter a great deal. In real life they will split apart at both end s of the track for break out and if you are length matching you will put a jiggle in one of them somewhere as well. You will still get about 100R diff erential and there will be nothing wrong with the quality of signal on them .

Thanks Colin. Good to know. The "rules" I was trying to follow did appear t o be mutually contradicting each other :)

Reply to
Simon

differential tracks are not precisely parallel to each other it really won't matter a great deal. In real life they will split apart at both ends of the track for break out and if you are length matching you will put a jiggle in one of them somewhere as well. You will still get about 100R differential and there will be nothing wrong with the quality of signal on them.

the news for 2009 but it doesn't look like you can buy it any more.

Do you mean the one at

formatting link

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk 
    PC Services 
 Click to see the full signature
Reply to
Paul

With Eagle, tracks can be routed manually and restricted areas placed where needed, then the autorouter will work around those lines.

Hul

Sim> So, I'm trying to attach some DDR SDRAM to a blackfin DSP. It's the first time

I've tried to lay out DDR, and I'm not finding it easy-going...

formatting link

first, then sync up address[0:15], ba[0:3], /RAS, /CAS, /WE, and /CKE. Even at this first stage, it's looking like it's going to be hard - the differential clock signals need to be (a) parallel to each other and (b) the same length (or near as makes no difference), and then all the others above need to match to within 100 mils of the length of CK!

under 1.1", bytes lanes length-matched, traces in same group on same layer, all traces to be one layer away from a full ground plane,... the list goes on).

point. Trying to route the differential pair CK, /CK as an actual differential pair makes it ignore the design constraints that have been set up and even routes the paired signal over another pad while you're routing the first of the pair.

hobby, and I've a $3k BGA placement machine already budgeted for, I don't want to spend *too* much more...), and (b) does a good job ? Eagle's been great up until now, but I can't help but think I'm pushing its limits. Or am I wrong in this, and do all PCB layout engines suck, and this task (DDR routing) is just way harder than it ought to be ?

Reply to
dbr

So, on a slightly different, but related note... How crucial is the 50-ohm impedance between the DDR2 and the DSP chip ?

Having worked out via the formulae on the various sites around the 'net, I' m getting a characteristic impedance for my traces much more like 75R or 10

0R (depending on dielectric thickness) than 50R. I realise it's me being a cheapskate (4 or 6-layer board, not 8-10+) and 5-mil traces not 3 or 4, but is it crucial ? The DDR clock will be ~250MHz max, (so 500M data tokens pe r sec) if that's useful to know...

The datasheet seems to indicate the DDR chip can enable 75R termination res istors using ODT, but the Analog devices engineering note (EE349) seems to suggest that the impedance *must* be 50R. Cheers Simon

Reply to
Simon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.