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

ID 847458
Date 4/24/2025
Public
Document Table of Contents

3.3.1.1. Example: DQ Pin Swizzling Within DQS Group for a x32 LPDDR4 Interface

This example uses the lane placement of the following table for a single channel x32 LPDD4 interface.
Table 16.  Lane Placement for a Single Channel x32 LPDDR4 Interface
Lane Number BL0 BL1 BL2 BL3 BL4 BL5 BL6 BL7
Default placement DQ[0] DQ[1] AC0 AC[1] GPIO GPIO DQ[2] DQ[3]
Table 17.  Example of Swizzling DQ pin in BL0 (DQS group 0)
Lane Pin Index LPDDR4 x32 (Default placement) After Swizzling/Swapping
BL0 11 MEM_DQ[7] MEM_DQ[6]
10 MEM_DQ[6] MEM_DQ[7]
9 MEM_DQ[5] MEM_DQ[4]
8 MEM_DQ[4] MEM_DQ[5]
7    
6 MEM_DMI[0] MEM_DMI[0]
5 MEM_DDQ_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[1]
1 MEM_DQ[1] MEM_DQ[2]
0 MEM_DQ[0] MEM_DQ[3]

To achieve this swizzling in DQS group 0, you must enter PIN_SWIZZLE_CH0_DQS0=3,2,1,0,5,4,7,6; in the Pin Swizzle Map under the PHY section in the External Memory Interfaces IP parameter editor.

Figure 10. Entering a PIN_SWIZZLE Specification

Table 18.  Example of Swizzling DQ pin in BL1 (DQS group 1)
Lane Pin Index LPDDR4 x32 (Default placement) After Swizzling/Swapping
BL1 23 MEM_DQ[15] MEM_DQ[11]
22 MEM_DQ[14] MEM_DQ[10]
21 MEM_DQ[13] MEM_DQ[8]
20 MEM_DQ[12] MEM_DQ[9]
19    
18 MEM_DMI[1] MEM_DMI[1]
17 MEM_DDQ_C[1] MEM_DQS_C[1]
16 MEM_DDQ_T[1] MEM_DQS_T[1]
15 MEM_DQ[11] MEM_DQ[12]
14 MEM_DQ[10] MEM_DQ[14]
13 MEM_DQ[9] MEM_DQ[13]
12 MEM_DQ[8] MEM_DQ[15]

To achieve this swizzling in DQS Group 1, you must enter PIN_SWIZZLE_CH0_DQS1=15,13,14,12,9,8,10,11; in the Pin Swizzle Map under the PHY section in the External Memory Interfaces IP parameter editor.

Figure 11. Entering a PIN_SWIZZLE Specification

Entering Multiple PIN_SWIZZLE Specifications

You can enter multiple specifications in the Pin Swizzle Map field, each separated by a semicolon.

Figure 12. Entering Multiple PIN_SWIZZLE Specifications