Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

12.2.3.6. Four 16-bit SDRAM channels utilizing two IOBank

In this use case, the two IOBank are configured to support two 16-bit wide SDRAM channel each using both the IOBank0 and IOBank1.

In this configuration there is no support for direct fabric usage since all IO12 channels are required. Choosing not to use the F2SDRAM port does not make them available. The application may optionally use the F2H channel, but choosing not to use F2H does not make any unused IO12 channels available to the fabric.

All read/write traffic between the CCU/NCORE and MPFE is interleaved between the DMI0 and DMI1 ports. The CCU/NCORE must be configured to route any address where A[12] = 0 to the DMI0 port, and any address where A[12] = 1 to the DMI1 port. No other CCU/NCORE configurations are supported and can lead to unpredictable results.

This use case is only supported by members of the Agilex™ 5 family that have implemented two IOBank.

In this topology the following data flows occur:

  • Traffic from F2H is interleaved by the CCU and MPFE to the 32-bit and 16-bit HMC controllers of both IOBank on a 4Kbyte basis:
    • F2H -> CCU_DMI0 -> IOBank0_P0 (32-bit HMC) -> A[13:12] = 0b00
    • F2H -> CCU_DMI0 -> IOBank0_P1 (16-bit HMC) -> A[13:12] = 0b10
    • F2H -> CCU_DMI1 -> IOBank1_P0 (32-bit HMC) -> A[13:12] = 0b01
    • F2H -> CCU_DMI1 -> IOBank1_P1 (16-bit HMC) -> A[13:12] = 0b11
  • Traffic from F2SDRAM is interleaved by the MPFE to the 32-bit and 16-bit HMC controllers of both IOBank by the MPFE on a 4Kbyte basis:
    • F2SDRAM -> IOBank0_P0 (32-bit HMC) -> A[13:12] = 0b00
    • F2SDRAM -> IOBank0_P1 (16-bit HMC) -> A[13:12] = 0b10
    • F2SDRAM -> IOBank1_P0 (32-bit HMC) -> A[13:12] = 0b01
    • F2SDRAM -> IOBank1_P1 (16-bit HMC) -> A[13:12] = 0b11