2.4.1. Example: DQ Pin Swizzling Within DQS group for x32 DDR4 interface
Example: DQ Pin Swizzling Within DQS group for x32 DDR4 interface
This example uses the lane placement of the following table, using a memory device of x8 width.
| Lane Number | BL0 | BL1 | BL2 | BL3 | BL4 | BL5 | BL6 | BL7 |
|---|---|---|---|---|---|---|---|---|
| Default placement | DQ[0] | AC0 | AC1 | AC2 | DQ[1] | DQ[2] | DQ[3] | GPIO |
| Lane | Pin Index | DDR4 x32 (Default Placement) | After Swizzling / Swapping |
|---|---|---|---|
| BL0 | 11 | MEM_DQ[7] | MEM_DQ[6] |
| 10 | MEM_DQ[6] | MEM_DQ[5] | |
| 9 | MEM_DQ[5] | MEM_DQ[7] | |
| 8 | MEM_DQ[4] | MEM_DQ[4] | |
| 7 | |||
| 6 | MEM_DM_N[0] | MEM_DM_N[0] | |
| 5 | MEM_DQS_C[0] | MEM_DQS_C[0] | |
| 4 | MEM_DQS_T[0] | MEM_DQS_T[0] | |
| 3 | MEM_DQ[3] | MEM_DQ[0] | |
| 2 | MEM_DQ[2] | MEM_DQ[2] | |
| 1 | MEM_DQ[1] | MEM_DQ[1] | |
| 0 | MEM_DQ[0] | MEM_DQ[3] |
To achieve this swizzling in DQS group 0, you must enter PIN_SWIZZLE_CH0_DQS0=3,1,2,0,4,7,5,6; in the Pin Swizzle Map field in the PHY section of the High-level Configuration tab in the EMIF IP parameter editor.
| Lane | Pin Index | DDR4 x32 (from table) | After Swizzling / Swapping |
|---|---|---|---|
| BL5 | 71 | MEM_DQ[23] | MEM_DQ[17] |
| 70 | MEM_DQ[22] | MEM_DQ[22] | |
| 69 | MEM_DQ[21] | MEM_DQ[21] | |
| 68 | MEM_DQ[20] | MEM_DQ[20] | |
| 67 | |||
| 66 | MEM_DM_N[2] | MEM_DM_N[2] | |
| 65 | MEM_DQS_C[2] | MEM_DQS_C[2] | |
| 64 | MEM_DQS_T[2] | MEM_DQS_T[2] | |
| 63 | MEM_DQ[19] | MEM_DQ[19] | |
| 62 | MEM_DQ[18] | MEM_DQ[18] | |
| 61 | MEM_DQ[17] | MEM_DQ[23] | |
| 60 | MEM_DQ[16] | MEM_DQ[16] |
To achieve this swizzling in DQS Group 2, you must enter PIN_SWIZZLE_CH0_DQS2=16,23,18,19,20,21,22,17; in the Pin Swizzle Map field of the PHY section of the High-level Configuration tab in the parameter editor.
You can enter multiple specifications in the Pin Swizzle Map field, each separated by a comma.