2.3.4. Example: Swizzling for x32 + ECC DDR4 Interface
Lane Number | BL0 | BL1 | BL2 | BL3 | BL4 | BL5 | BL6 | BL7 |
---|---|---|---|---|---|---|---|---|
DDR4_AC_TOP | DQ[4] | DQ[3] | DQ[2] | DQ[1] | AC1 | AC2 | AC3 | sDO[0] |
DQS Group Number in Byte Swizzling Notation | 3 | 2 | 1 | 0 | AC1 | AC2 | AC0 | ECC |
BYTE SWIZZLE | 3 | 2 | 0 | 1 | X | X | X | ECC |
In this example, BL7 cannot be swapped with other used DQS group. It is used as follows:
- RUSER/WUSER Lane in x40 configuration
- ECC Lane in x32 + ECC configuration
This example illustrates swizzling DQS group 1 (BL3) with DQS group 0 (BL2).
To achieve this swizzling, enter the following specifications in the Pin Swizzle Map under the PHY section:
BYTE_SWIZZLE_CH0=2,X,X,X,1,0,3,ECC;In a DDR4 x32 + ECC configuration, the highest index DQS group is used as the ECC lane. We use PIN_SWIZZLE_CH0_ECC for swizzling the DQ pins within the ECC lane in this case. Note that the valid value for pin swizzling specification in the ECC lane is always 0-7 only.
Lane | Pin Index | Default | Effective Pinout |
---|---|---|---|
BL7 | 95 | MEM_DQ[39] | MEM_DQ[36] |
94 | MEM_DQ[38] | MEM_DQ[37] | |
93 | MEM_DQ[37] | MEM_DQ[38] | |
92 | MEM_DQ[36] | MEM_DQ[39] | |
91 | |||
90 | MEM_DM_N[4] | MEM_DM_N[4] | |
89 | MEM_DQS_C[4] | MEM_DQS_C[4] | |
88 | MEM_DQS_T[4] | MEM_DQS_T[4] | |
87 | MEM_DQ[35] | MEM_DQ[34] | |
86 | MEM_DQ[34] | MEM_DQ[35] | |
85 | MEM_DQ[33] | MEM_DQ[32] | |
84 | MEM_DQ[32] | MEM_DQ[33] |
To achieve the pin swizzling shown in the above table, enter the BYTE_SWIZZLE_CH0 specification in the Pin Swizzle Map under the PHY section:
PIN_SWIZZLE_CH0_ECC=1,0,3,2,7,6,5,4;