| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A timing-aware, multi-channel DDR Memory Controller designed and verified in SystemVerilog.
This project implements a hierarchical DDR controller architecture with per-channel, per-rank, and per-bank scheduling, along with a custom DDR4 Bus Functional Model (BFM) and a verification infrastructure including driver, monitor, and scoreboard.
Note: The conditions of Refresh is needed to be modified, I'm working on this now (2026/06/13)
The controller is structured hierarchically:
Frontend
Backend
The design enforces DRAM timing constraints at coommand-level and models channel/rank/bank-level parallelism explicitly.
The verification environment follows a UVM-like layered architecture:
The scoreboard validates:
This project supports automated linting, synthesis, and simulation.
| Stage | Tool | Description |
|---|---|---|
| Lint | Verilator 5.045 | SystemVerilog lint & static analysis |
| Synthesis | Yosys 0.62+0 | RTL synthesis (Nangate45 technology mapping) |
| Simulation | Vivado 2024.2 (XSIM) | Functional simulation & waveform analysis |
# Lint (RTL & BFM)
./scripts/lint_rtl.sh
./scripts/lint_bfm.sh
# Synthesis
./scripts/syn_nangate45.sh
# Simulation (UVM-like testbench, XSIM)
./scripts/xsim_uvm.shL. Gopalakrishnan, V. Thyagarajan, P. Kole, and G. R. Gangula,
“Memory Controller with Reconfigurable Hardware,” 2015.
– Architectural inspiration for hierarchical controller design.
ananthbhat94,
“DDR4MemoryController” (GitHub repository).
– Reference for DDR interface signal definitions.
H. Luo et al.,
“Ramulator 2.0: A Modern, Modular, and Extensible DRAM Simulator,”
IEEE Computer Architecture Letters, 2023.
– Reference for cycle-level DDR timing parameters.
| Back | FazBrowse Home | New Git URL |