FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5890 Discussions

DDR vs DDR2 performance question

Honored Contributor II

I have seen many posts on DDR, and separately many posts on DDR2, but my question is a comparative of the two. I have a current Cyclone III design using DDR that I am thinking of moving to a Cyclone IV with DDR2. DDR2 (not related to the controller but rather the memory technology itself) has higher latency than DDR, which is a negative, but can be clocked twice as fast which would compensate to yield a much higher throughput…if…the memory could be clocked that fast. My problem is that the Cyclone III-I7 device or Cyclone IV-I7 device cannot clock the memory faster than 167MHz and it’s a hard limit for DDR AND DDR2. So ultimately my question is as follows: Is there any memory performance advantage to DDR2 (over DDR) given the constraints of the HP controller which limits BOTH to 167MHz? I would think the DDR2 would actually be a little slower due to the added latency over DDR, given the same clock speed. 


I definitely understand that DDR2 is faster if you’re clocking it twice as fast as a DDR device but if you’re using the Industrial speed grade devices, then the max clock rate to either device is the same (167MHz). 


Am I missing something? :confused: (hopefully!)
0 Kudos
2 Replies
Honored Contributor II

Okay so we now have three families of DDR SDRAM memory out there DDR, DDR2, and DDR3. If you look a little more closely at the datasheets between them you will find that typically the CAS latency remains the same between them for a given clock frequency. So for example, DDR SDRAM at 200 MHz typically has CL=3. Well if you look at the datasheet for DDR2 SDRAM, you will also find that at 200MHz, CL=3. So you don't lose anything in terms of frequency vs. CL scaling. 


One thing to make note of is that DDR2 has a maximum tCK of 8.0ns which results in a minimum clock frequency of 125MHz. You must plan on running your DDR2 memory at at least this frequency or something close to it. You can run it slower if you know what you're doing. 


So then to your real question. If you run the DDR2 memory at say 166MHz, can you get a CAS latency of 2.5 like you could with DDR1. Well DDR2 does not support half CAS latencies so the answer is no. Could you get a CAS latency of 2? Probably not. and it's not supported. You'd probably have to live with a CAS latency of 3. 


What you do get from migration from DDR to DDR2 is lower power and ODT. 


Honored Contributor II

Hi Jake, 


Thanks for the follow up. I do see that as the clock frequency goes down that CL follows, but in the Micron datasheets I'm looking at, they only specify DDR2 down to 400MHz. Presumably you’re correct that you could get the DDR2 CL down to 2 or 3 at a 167MHz clock rate – but in the end it sounds like the answer is that DDR2 will “at absolute best” be as fast as DDR and definitely will not be faster…given the same clock rate. The benefit as you say is lower power and ODT. 


But that brings up another question. The savings in board space and power consumption by using ODT would be justification for me to change, but all reference designs I’m seeing from Altera and/or Terasic are still using external termination on ALL DDR2 signals. Do you know why that is? I know this is a bit of a different topic so I can take that issue up separately. 


Is there any chance of the Cyclone parts (in industrial speed grade) will support higher frequencies from the HP controller in the near future? I am using 8.1 tools and will be upgrading to 10.0. Will 10.0 tools (and associated HP controller) support a higher frequency than 167MHz? 


Just to add a little more confusion to this – if you wiki DDR and DDR2 and DDR3 the intro section has a snippet describing performance and I don’t understand how given the same frequency that DDR2 can yield twice the transfer rate. Maybe there is a blatant error :confused: 


http://en.wikipedia.org/wiki/ddr_sdram (http://en.wikipedia.org/wiki/ddr_sdram

“With data being transferred 64 bits at a time, DDR SDRAM gives a transfer rate of (memory bus clock rate) × 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus, with a bus frequency of 100 MHz, DDR SDRAM gives a maximum transfer rate of 1600 mb/s (http://en.wikipedia.org/wiki/mb/s).” 

http://en.wikipedia.org/wiki/ddr2_sdram (http://en.wikipedia.org/wiki/ddr2_sdram

“With data being transferred 64 bits at a time, DDR2 SDRAM gives a transfer rate of (memory clock rate) × 2 (for bus clock multiplier) × 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus with a memory clock frequency of 100 MHz, DDR2 SDRAM gives a maximum transfer rate of 3200 mb (http://en.wikipedia.org/wiki/megabyte)/s (http://en.wikipedia.org/wiki/second)” 


where does the second 2X come from!!? :eek: