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

ID 847458
Date 4/24/2025
Public

Visible to Intel only — GUID: jyl1739140232826

Ixiasoft

Document Table of Contents

3.6.1.6. Pin Placement for Agilex™ 3 EMIF IP

This topic provides guidelines for pin placement.

Overview

Agilex™ 3 FPGAs have the following structure:
  • Each device contains up to 4 HSIO banks.
  • Each HSIO bank contains 2 sub-banks.
  • Each sub-bank contains 4 I/O lanes.
  • Each lane contains 12 general-purpose I/O (GPIO) pins.

General Pin Guidelines

The following are general pin guidelines.

Note: For more detailed pin information, refer to Agilex™ 3 FPGA EMIF IP Pin and Resource Planning , in this user guide.
  • Ensure that the pins for a given external memory interface reside within the same I/O row.
  • All address and command and associated pins must reside within a single sub-bank.
  • Address and command and data pins can share a sub-bank under the following conditions:
    • Address and command and data pins cannot share an I/O lane.
    • Only an unused I/O lane in the address and command bank can contain data pins.
Table 29.  General Pin Constraints
Signal Type Constraint
Data Strobe All signals belonging to a DQ group must reside in the same I/O lane.
Data Related DQ pins must reside in the same I/O lane. For protocols that do not support bidirectional data lines, read signals should be grouped separately from write signals.
Address and Command Address and Command pins must reside in predefined locations within an I/O sub-bank.

Pin Assignments

To determine locations for all EMIF I/O pins you should refer to the pin table for your device. When referring to the pin table, the bank numbers, I/O bank indices, and pin names are provided.

You can perform pin assignments in a variety of ways. The recommended approach is to manually constrain some interface signals and let the Quartus® Prime Fitter handle the rest. This method consists of consulting the pin tables to find legal positions for some of the interface pins and assigning them through the .qsf file that is generated with the EMIF design example. For this method of I/O placement, you must constrain the following signals:

  • RZQ pin
  • PLL reference clock
  • Memory reset

Based on the above constraints, the Quartus® Prime Fitter rotates pins within each lane as necessary.

Do not change the location for the EMIF pin using a .qsf assignment or the Pin Planner if you need to swap the DQ pins within a DQS group or the DQS group to simplify board design.

Refer to Configuring DQ Pin Swizzling for more information about how to swap the DQ pin and DQS group.

The following table shows the EMIF LPDDR4 pin placement on the I/O bank.

Table 30.  LPDDR4 Pin Placement
Lane Number Pin Index x32 2 Channel x16
BL7 95 MEM_DQ[31] MEM_1_MEM_DQ[15]
94 MEM_DQ[30] MEM_1_MEM_DQ[14]
93 MEM_DQ[29] MEM_1_MEM_DQ[13]
92 MEM_DQ[28] MEM_1_MEM_DQ[12]
91    
90 MEM_DMI[3] MEM_1_MEM_DMI[1]
89 MEM_DQS_C[3] MEM_1_MEM_DQS_C[1]
88 MEM_DQS_T[3] MEM_1_MEM_DQS_T[1]
87 MEM_DQ[27] MEM_1_MEM_DQ[11]
86 MEM_DQ[26] MEM_1_MEM_DQ[10]
85 MEM_DQ[25] MEM_1_MEM_DQ[9]
84 MEM_DQ[24] MEM_1_MEM_DQ[8]
BL6 83 MEM_DQ[23] MEM_1_MEM_DQ[7]
82 MEM_DQ[22] MEM_1_MEM_DQ[6]
81 MEM_DQ[21] MEM_1_MEM_DQ[5]
80 MEM_DQ[20] MEM_1_MEM_DQ[4]
79    
78 MEM_DMI[2] MEM_1_MEM_DMI[0]
77 MEM_DQS_C[2] MEM_1_MEM_DQS_C[0]
76 MEM_DQS_T[2] MEM_1_MEM_DQS_T[0]
75 MEM_DQ[19] MEM_1_MEM_DQ[3]
74 MEM_DQ[18] MEM_1_MEM_DQ[2]
73 MEM_DQ[17] MEM_1_MEM_DQ[1]
72 MEM_DQ[16] MEM_1_MEM_DQ[0]
BL5 71    
70    
69    
68    
67   MEM_1_MEM_CK_C
66   MEM_1_MEM_CK_T
65    
64    
63   MEM_1_MEM_RESET_N
62   OCT_1_OCT_RZQIN
61    
60    
BL4 59   Differential "N-side" reference clock input site
58   Differential "P-side" reference clock input site
57   MEM_1_MEM_CS[1]
56   MEM_1_MEM_CS[0]
55   MEM_1_MEM_CKE[1]
54   MEM_1_MEM_CKE[0]
53   MEM_1_MEM_CA[5]
52   MEM_1_MEM_CA[4]
51   MEM_1_MEM_CA[3]
50   MEM_1_MEM_CA[2]
49   MEM_1_MEM_CA[1]
48   MEM_1_MEM_CA[0]
BL3 47    
46    
45    
44    
43 MEM_CK_C MEM_0_MEM_CK_C
42 MEM_CK_T MEM_0_MEM_CK_T
41    
40    
39 MEM_RESET_N MEM_0_MEM_RESET_N
38 RZQ Site OCT_0_OCT_RZQIN
37    
36    
BL2 35 Differential "N-side" reference clock input site
34 Differential "P-side" reference clock input site
33 MEM_CS[1] MEM_0_MEM_CS[1]
32 MEM_CS[0] MEM_0_MEM_CS[0]
31 MEM_CKE[1] MEM_0_MEM_CKE[1]
30 MEM_CKE[0] MEM_0_MEM_CKE[0]
29 MEM_CA[5] MEM_0_MEM_CA[5]
28 MEM_CA[4] MEM_0_MEM_CA[4]
27 MEM_CA[3] MEM_0_MEM_CA[3]
26 MEM_CA[2] MEM_0_MEM_CA[2]
25 MEM_CA[1] MEM_0_MEM_CA[1]
24 MEM_CA[0] MEM_0_MEM_CA[0]
BL1 23 MEM_DQ[15] MEM_0_MEM_DQ[15]
22 MEM_DQ[14] MEM_0_MEM_DQ[14]
21 MEM_DQ[13] MEM_0_MEM_DQ[13]
20 MEM_DQ[12] MEM_0_MEM_DQ[12]
19    
18 MEM_DMI[1] MEM_0_MEM_DMI[1]
17 MEM_DQS_C[1] MEM_0_MEM_DQS_C[1]
16 MEM_DQS_T[1] MEM_0_MEM_DQS_T[1]
15 MEM_DQ[11] MEM_0_MEM_DQ[11]
14 MEM_DQ[10] MEM_0_MEM_DQ[10]
13 MEM_DQ[9] MEM_0_MEM_DQ[9]
12 MEM_DQ[8] MEM_0_MEM_DQ[8]
BL0 11 MEM_DQ[7] MEM_0_MEM_DQ[7]
10 MEM_DQ[6] MEM_0_MEM_DQ[6]
9 MEM_DQ[5] MEM_0_MEM_DQ[5]
8 MEM_DQ[4] MEM_0_MEM_DQ[4]
7    
6 MEM_DMI[0] MEM_0_MEM_DMI[0]
5 MEM_DQS_C[0] MEM_0_MEM_DQS_C[0]
4 MEM_DQS_T[0] MEM_0_MEM_DQS_T[0]
3 MEM_DQ[3] MEM_0_MEM_DQ[3]
2 MEM_DQ[2] MEM_0_MEM_DQ[2]
1 MEM_DQ[1] MEM_0_MEM_DQ[1]
0 MEM_DQ[0] MEM_0_MEM_DQ[0]
Note:

It is important to strictly follow the pin placement for a given memory topology when assigning pin locations for your EMIF IP.

The recommended approach is to manually constrain some interface signals and allow the Quartus® Prime Fitter to place the pins. For this method of I/O placement, you must constrain the following signals:

  • PLL reference clock
  • RZQ pin
  • MEM_RESET_N

Do not change the location for the EMIF pin using a .qsf assignment or the Pin Planner if you need to swap the DQ pins within a DQS group or the DQS group to simplify board design.

Refer to the Configuring DQ Pin Swizzling for more information about how to swap the DQ pin and DQS group.

For dual-rank component interfaces, you cannot have different swizzling specifications for rank 0 and rank 1.