Embedded computers, vision devices, DAQ modules, and much more will all need some memory, whether it’s a Flash chip or a RAM module. Normally, something like a Flash memory chip or a small eMMC module would not be used for temporary storage as the device requires constant rewrites. Instead, if you happen to need a volatile (i.e., temporary) memory solution, you would go for static or dynamic RAM (SRAM or DRAM). Between these two types of RAMs, there are asynchronous and synchronous versions, of which the synchronous type is normally used in modern high-speed electronics.
SDRAM is one of these standard, lower-speed/lower-capacity options available for on-board memory without an external board. Designers who haven’t worked with RAM modules probably have visions of large DDR ram sticks like those you’d install in your desktop or laptop. Instead, individual RAM chips can be installed on a board, and they don’t need to be the kind of high-speed, high-capacity RAM ICs you’ll find on a typical SODIMM stick. If you need to decide which type of memory to use in your board, keep reading to see some of the basic design guidelines for SDRAM vs. DDR memory modules.
SDRAM vs. DDR RAM Modules
SDRAM (synchronous dynamic RAM) modules are the standard type of RAM module used in modern electronics. In comparing SDRAM vs. DDR, it’s important to note that DDR is a type of SDRAM, with the earliest DDR SDRAM chip being released in 1997 by Samsung. Since then, newer DDR generations have been produced and memory capacities have gone up. Still, SDRAM modules operating at single data rate haven’t gone away. From here, whenever I refer to “SDRAM”, just know that I’m referring to the single data rate version and not to DDR.
The table below compares some of the basic operating parameters of SDRAM vs. DDR. As we can see from this table, the two types of memories have similar capabilities, aside from clock rate and capacity.
| Non-DDR SDRAM module | DDR module |
Maximum bus clock rate | 200 MHz | 1600 MHz |
Capacity | <1 Gb (Up to 256 or 512 Mb max) | >1 Gb |
Bus width | Up to 32 bits | Up to 64 bits |
Length matching | Yes (very generous, ~400-500 mils tolerance in some products) | Yes |
Interface type | Synchronous | Synchronous |
Impedance | 50 Ohm characteristic | Depends on controller drive strength, also there are differential pairs |
Package | BGA package (e.g., TFBGA) or TSOP | BGA package |
Cost | Low (About $5) | Can be high |
In general, the higher clock rate in DDR, and the fact that DDR transfers 2x data per clock cycle, means DDR modules are much faster than single data rate SDRAMs. Both types of RAM have a synchronous interface, meaning they use a source synchronous clock to trigger data transfer from the memory module. This requires enforcing length tuning across the bus so that the
The DDR numbers listed above are for DDR4 modules; DDR3 and earlier will have lower specs, as well as lower cost. DDR5 is pushing the limits in the above table to higher clock frequencies (3200 MHz) and data rates (up to 6400 MT/s per module), and the newest consumer and server products will be available later in 2021. All this begs the question: if DDR has so much higher capacity and data transfer rate, why isn’t DDR used in every system that requires volatile memory?
Why Use Single Data Rate SDRAM?
For some systems, going with on-board DDR modules or accessing a DDR stick through an edge connector are overkill. You just don’t need that much RAM unless you’re running a full operating system or multiple applications on an embedded device. This doesn’t mean that small embedded systems don’t need a lot of memory. Oftentimes, the memory that’s needed is non-volatile and could be supplied through a Flash chip, SD card, or eMMC module.
Here are some of the main reasons you might want to use an SDRAM module instead of a full DDR module in your embedded system architecture:
Interface with MCUs: I haven’t heard of an MCU that can connect to a DDR module; you would need at least an MPU or an FPGA. However, some more powerful MCUs can access large amounts of volatile memory through an internal controller. The STM32F7 series of MCUs is a very popular example; its internal flexible memory controller (FMC) can be used to access SDRAMs at about 100 MHz.
Low cost: In embedded systems that need a lot of memory, such as smaller ML-capable systems performing embedded inference tasks, the system may need a lot of memory that can be supplied by a RAM module. With deployments of these types of systems only projected to increase, it doesn’t make sense to use expensive DDR modules when an SDRAM chip will do the job.
Easier routing: Because SDRAM chips run somewhat slower, the signal rise times are slower, so the length matching requirements are much easier. Be sure to encode these limits in your design rules.
Less crosstalk: Any high speed digital protocol, including DDR4, will have some crosstalk within the parallel bus interface and into other buses on the board. The nice part of running at lower speed is the less intense crosstalk between signals in the bus.
Same bus topology: SDRAM and DDR use the same type of bus, meaning they have the same sets of signals, and the signals have the same meanings. If you know how to route a single data rate SDRAM interface, then you know how to work with faster DDR interfaces.
Not every system will need to have a single data rate SDRAM module, but they are certainly easier to use with popular embedded system architectures built around microcontrollers. If you’re designing a custom single-board computer or motherboard, and your system needs high memory, just bite the bullet and go with one or more DDR modules. If you’ve never worked with modern DDR modules, you can still go as low as DDR2 and you’ll get plenty of memory for your system compared to a typical SDRAM module.
Once you’ve determined the type and amount of memory you need while comparing SDRAM vs. DDR, use the best PCB layout software in Altium Designer® to create your physical layout. When you need to evaluate signal integrity and EMI in your PCB layout, Altium Designer users can use the EDB Exporter extension to import their design into Ansys field solvers and perform a range of powerful signal integrity simulations. When you’ve finished your design, and you want to release files to your manufacturer, the Altium 365™ platform makes it easy to collaborate and share your projects.