External Memory Interfaces Agilex™ 7 M-Series FPGA IP User Guide

ID 772538
Date 3/18/2025
Public
Document Table of Contents

6.3.4.2. DDR4 Data Width Mapping

Agilex™ 7 M-Series devices do not support flexible data lanes placement. Only fixed byte lanes within the I/O bank can be used as data lanes. The following table lists the supported address and command and data lane placements in an I/O bank.
Table 157.  DDR4 Data Width Mapping
Controller Address/Command Scheme Data Width Usage BL7 [P95:P84] BL6 [P83:P72] BL5 [P71:P60] BL4 [P59:P48] BL3 [P47:P36] BL2 [P35:P24] BL1 [P23:P12] BL0 [P11:P0]
Primary Scheme 2 DDR4 x16 GPIO 2 GPIO 2 GPIO 2 DQ[1] AC2 AC1 AC0 DQ[0]
Scheme 1 GPIO 2 GPIO 2 DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 1a GPIO 2 GPIO 2 DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 3 GPIO 2 GPIO 2 DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 3a GPIO 2 GPIO 2 DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 2 DDR4 x16 + ECC GPIO 2 GPIO 2 DQ[ECC] DQ[1] AC2 AC1 AC0 DQ[0]
Scheme 1 GPIO 2 DQ[ECC] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 1a GPIO 2 DQ[ECC] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 3 GPIO 2 DQ[ECC] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 3a GPIO 2 DQ[ECC] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 2 DDR4 x32 GPIO 2 DQ[3] DQ[2] DQ[1] AC2 AC1 AC0 DQ[0]
Scheme 1 DQ[3] DQ[2] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 1a DQ[3] DQ[2] DQ[1] DQ[0] AC2 AC1 AC0 AC3
Scheme 2 DDR4 x32 + ECC DQ[ECC] DQ[3] DQ[2] DQ[1] AC2 AC1 AC0 DQ[0]
Primary + Secondary Scheme 2 DDR4 x40 1 sDQ[0] wDQ[3] wDQ[2] wDQ[1] AC2 AC1 AC0 wDQ[0]
Scheme 2 Flip DDR4 x40 sDQ[0] AC0 AC2 AC1 wDQ[1] wDQ[2] wDW[3] wDQ[4]
Note:
  1. DDR4 x40 requires both controllers within an I/O bank in a lockstep configuration, and AXI user data.
  2. GPIO – available for GPIO/PHYLite.
  3. DQ[ECC] – DQ/DQS group used as ECC.

Table 158.  Supported DDR4 Mapping for Lockstep Configuration for x64
A/C A/C Placement Option BL0 BL1 BL2 BL3 BL4 BL5 BL6 BL7 BL0 BL1 BL2 BL3 BL4 BL5 BL6 BL7
  Primary Secondary
3 AC Pri Top/Sec DQ Bot DQ[0] DQ[3] DQ[2] DQ[1] AC1 AC2 AC0 GPIO DQ[7] DQ[6] DQ[5] DQ[4] GPIO GPIO GPIO GPIO
AC Pri Bot/Sec DQ Bot DQ[0] AC0 AC1 AC2 DQ[1] DQ[2] DQ[3] GPIO DQ[7] DQ[6] DQ[5] DQ[4] GPIO GPIO GPIO GPIO
AC Pri Top/Sec DQ Top(m) DQ[0] DQ[3] DQ[2] DQ[1] AC1 AC2 AC0 GPIO GPIO X X X DQ[4] DQ[5] DQ[6] DQ[7]
4 AC Pri Top/Sec DQ Bot(m) DQ[3] DQ[2] DQ[1] DQ[0] AC1 AC2 AC0 AC3 DQ[7] DQ[6] DQ[5] DQ[4] GPIO GPIO GPIO GPIO
AC Pri Top/Sec DQ Top(m) DQ[3] DQ[2] DQ[1] DQ[0] AC1 AC2 AC0 AC3 GPIO X X X DQ[4] DQ[5] DQ[6] DQ[7]
AC Pri Bot/Sec DQ Top(m) AC3 AC0 AC1 AC2 DQ[0] DQ[1] DQ[2] DQ[3] GPIO X X X DQ[4] DQ[5] DQ[6] DQ[7]
Note:
  • GPIO = available for GPIO/PHYLite.
  • X = not available for GPIO/PHYLite.
  • AC_PRI_TOP/SEC_DQ_BOT = AC Primary Top Sub-Bank/Secondary DQ Bot Sub-Bank.
  • AC_PRI_BOT/SEC_DQ_BOT = AC Primary Bot Sub-Bank/Secondary DQ Bot Sub-Bank.
  • AC_PRI_TOP/SEC_DQ_TOP = AC Primary Top Sub-Bank/Secondary DQ Top Sub-Bank.
  • AC_PRI_BOT/SEC_DQ_TOP = AC Primary Bot Sub-Bank/Secondary DQ Top Sub-Bank.
Table 159.  Supported Lockstep configuration for DDR4 x72 or x64 (with ECC)
A/C A/C Placement Option BL0 BL1 BL2 BL3 BL4 BL5 BL6 BL7 BL0 BL1 BL2 BL3 BL4 BL5 BL6 BL7
  Primary Secondary
3 AC Pri Top/Sec DQ Bot DQ[4] DQ[3] DQ{2] DQ[1] AC1 AC2 AC0 sDQ[0] DQ[8] DQ[7] DQ[6] DQ[5] GPIO GPIO GPIO GPIO
AC Pri Bot/Sec DQ Bot DQ[0] AC0 AC1 AC2 DQ[1] DQ[2] DQ[3] sDQ[4] DQ[8] DQ[7] DQ[6] DQ[5] GPIO GPIO GPIO GPIO
AC Pri Top/Sec DQ Top(m) DQ[4] DQ[3] DQ[2] DQ[1] AC1 AC2 AC0 sDQ[0] GPIO X X X DQ[5] DQ[6] DQ[7] DQ[8]
4 AC Pri Top/Sec DQ Bot(m) DQ[3] DQ[2] DQ[1] DQ[0] AC1 AC2 AC0 AC3 DQ[8] DQ[7] DQ[6] DQ[5] X X GPIO sDQ[4]
AC Pri Top/Sec DQ Top(m) DQ[3] DQ[2] DQ[1] DQ[0] AC1 AC2 AC0 AC3 DQ[4] X X X DQ[5] DQ[6] DQ[7] sDQ[8]
AC Pri Top/Sec DQ Top(m) AC3 AC0 AC1 AC2 DQ[0] DQ[1] DQ[2] DQ[3] DQ[4] X X X DQ[5] DQ[6] DQ[7] sDQ[8]
  • GPIO = available for GPIO/PHYLite.
  • X = not available for GPIO/PHYLite.
  • DQ lane with an s prefix is the lane used for the following:
    • WUSER/RUSER in x72 configuration or
    • ECC Lane for x64 + ECC configuration
  • AC_PRI_TOP/SEC_DQ_BOT = AC Primary Top Sub-Bank/Secondary DQ Bot Sub-Bank.
  • AC_PRI_BOT/SEC_DQ_BOT = AC Primary Bot Sub-Bank/Secondary DQ Bot Sub-Bank.
  • AC_PRI_TOP/SEC_DQ_TOP = AC Primary Top Sub-Bank/Secondary DQ Top Sub-Bank.
  • AC_PRI_BOT/SEC_DQ_TOP = AC Primary Bot Sub-Bank/Secondary DQ Top Sub-Bank.
  • x64 with ECC is not supported in the current version of the Quartus® Prime software.
Figure 13. x16 + ECC DDR4, Single Rank Using x8 Memory Component, Scheme 2
Figure 14. x32 + ECC DDR4, Single Rank Using x8 Memory Component, Scheme 2
Figure 15. x64 + ECC DDR4 DIMM Interface (3AC - AC_PRI_BOT/SEC_DQ_BOT), Single Rank Using x8 Memory Component