2
\$\begingroup\$

I am designing a new project which demands the usage of DRAM. I have never interfaced with one before, so my knowledge is rather limited. By analyzing the requirements, it would be sufficient to go with a 128 Mbit capacity running at 100 MHz with a 16 bit transfer per cycle.

By doing the research, I concluded that a SDR DRAM should be my choice for the following reasons:

  • The controller is simpler to implement (I am aware that there are controllers available and also vendors may provide their own, but I may implement my own for learning purposes)
  • It is good entry level for DRAM
  • It does not need dedicated FPGA pins, so more flexibility
  • The PCB layout is simpler due to the single ended, 50 Ohm impedance traces, versus the differential of the DDR
  • A 16-bit SDR bus has the same number of traces as the 8 bit DDR, so no saving on this
  • It uses 3.3V so I don't have to mess with different voltages on the banks (vs the SSTL of DDR)
  • A SDR is cheaper than DDR
  • Power consumption is lower in DDR, but the SDR consumption is not prohibitive or excessive

Now, based on the above, is there a major reason which I am not aware and have not considered that I should prefer going with DDR instead?

\$\endgroup\$
1
  • \$\begingroup\$ Personally, I would prefer DDR for the vastly improved bandwidth (I do a lot of HD video processing), but I have a client that wants to use a small "pseudo-SRAM" (actually DRAM inside) with an SDR interface, the Alliance AS1C8M16PL-70BIN. It comes in speed grades up to 133 MHz (burst mode), and is much lower power than most DDR SDRAM, along with all of the other advantages you list. \$\endgroup\$ – Dave Tweed Oct 19 '20 at 22:58
2
\$\begingroup\$

This seems like an XY problem.

Nevertheless, I'll answer:

  • DDR DRAM part types are more available (SDR is becoming / has become obsolete)
  • SDR is not cheaper. Not on a per-bit or per-device basis. It's considered specialty now.
  • You still need to route carefully for timing reasons, be it SDR or DDR
  • DDR uses source-sync timing which is much easier to meet. SDR uses system-sync, which faces skew problems
  • Lower power (DDR is made on smaller device nodes than SDR)
  • Available reference designs (Zynq, etc.) use DDR.

As far as the I/O voltage, it's not such a big deal to place the DRAM pins on the appropriate banks (e.g., 1.8V for DDR2) and power them separately. Suitable DCDC regulator ICs for this are very cheap (1-2A, less than 10 cents in volume).

And differential routing should not be a stumbling block. This only affects DQS and CLK. That's two pairs. In return you get better timing.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.