Best tutorial on DDR protocol

This page summarizes the projects mentioned and recommended in the original post on /r/FPGA

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ddr3-controller

    A DDR3(L) PHY and controller, written in Verilog, for Xilinx 7-Series FPGAs

  • Shameless plug: Take a look at my own design. I also have apaper written about it.

  • simple_ddr_ctrl

    A (very) simple DDR3 controller for FPGAs

  • I would, of course, recommend mine. You can read it at https://github.com/CompuSAR/simple_ddr_ctrl. In particular, focus on sddr_ctrl.vs file, on those parts that work with the ddr clock. The CPU clock sections deal with control, as well as receiving the commands and returning the results. The DDR clock sections deal with the SDRAM state machine, which, I suspect, is what you're looking for.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • control_cpu

    FPGA setup with memory and Risc V CPU

  • I ended up using both, though you'd be excused for not seeing that from my design. This design was meant to be absolutely minimal in size, and one of the ways it does this is by assuming there is a CPU involved. So a lot of the DDR initialization is done in software (you can find it here). All register assignment and mode switching is done from there, as well as entering and leaving the write leveling mode and the whole read calibration logic.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts