Back to Registry

mem.ctrl.ddr4

beta

v2.0.0-beta

Author: Memory Systems Inc
License: Proprietary

DDR4 memory controller with AXI4 interface. Supports multiple ranks and ECC. Currently in beta testing.

Interfaces
NameTypeRoleWidth
s_axiAXI4slave512
ddr4DDR4controller72
Parameters
NameTypeDefaultConstraints
DATA_WIDTHinteger6432, 64
ECC_ENABLEbooleantrue-
NUM_RANKSinteger11, 2, 4
REFRESH_MODEstringAUTOAUTO, MANUAL
Compatibility

Clock Domains

  • AXI clock
  • DDR4 clock (1.2 GHz)

Reset Semantics

Asynchronous active-low reset

Tool Support

Vivado 2023.2+Quartus 23.4+
Verification

Tests

  • Read/write patterns
  • ECC injection
  • Stress tests

Simulators

VCSQuesta

Coverage

85% functional coverage

Build Proof
TargetToolStatusFmaxResources
Xilinx Kintex UltraScale+Vivado 2023.2Pass300 MHz12,400 LUTs
Intel Stratix 10Quartus 23.4Pass320 MHz14,200 ALMs

Manifest

ip.yaml
name: mem.ctrl.ddr4
version: 2.0.0-beta
license: Proprietary
author: Memory Systems Inc

description: >
  DDR4 memory controller with AXI4 interface.
  Supports multiple ranks and ECC.

interfaces:
  s_axi:
    type: axi4
    role: slave
    width: 512
  ddr4:
    type: ddr4
    role: controller
    width: 72

parameters:
  DATA_WIDTH:
    type: integer
    default: 64
    values: [32, 64]
  ECC_ENABLE:
    type: boolean
    default: true
  NUM_RANKS:
    type: integer
    default: 1
    values: [1, 2, 4]

targets:
  - vivado
  - quartus