External Memory Interfaces (EMIF) IP User Guide: Agilex™ 5 FPGAs and SoCs

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

6.3.1. DDR4 Byte Lane Swapping

The data lane can be swapped when the byte lanes are utilized as DQ/DQS pins.

Byte lane swapping on utilized lanes is allowed when you swap all the DQ/DQS/DM/DBI pins in the same byte lane with the other utilized byte lanes. The rules for swapping DQ byte lanes are as follows:

  • You can only swap between utilized DQ lanes.
  • You cannot swap a DQ lane with an AC lane.
  • You cannot swap a DQ lane with an ECC lane when out-of-band ECC is enabled. For x40 interfaces, you cannot swap the highest-indexed DQ byte lane.
  • Additional restrictions apply when you use a x16 memory component:
    • You must place DQ group 0 and DQ group 1 on adjacent byte lanes, unless they are separated by AC lanes. These 2 groups must be connected to the same x16 memory component.
    • You must place DQ group 2 and DQ group 3 on adjacent byte lanes, unless they are separated by AC lanes. These 2 groups must be connected to the same x16 memory component.
    • If you use only one byte of the x16 memory component, you must use only the lower byte of the memory component.
Table 75.  Byte Lane Swapping
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
Scheme 2 DDR4 x32 + ECC DQ[ECC] DQ3 DQ[2] DQ[1] AC2 AC1 AC0 DQ[0]

Example 1: DDR4 x 32 +ECC implemented with AC Scheme 2 using x8 memory component

BL7 is used as ECC DQ lane, while Lane 0, 4, 5 and 6 are used DQ lanes. Byte lane swapping between BL0,4,5,6 is allowed.