2.7. Pin Placement for Intel® Agilex™ EMIF IP
Overview
- Each device contains up to 8 I/O banks.
- Each I/O bank contains 2 sub-I/O banks.
- Each sub-I/O bank contains 4 lanes.
- Each lane contains 12 general-purpose I/O (GPIO) pins.
General Pin Guidelines
The following are general pin guidelines.
- Ensure that the pins for a given external memory interface reside within the same I/O row.
- Interfaces that span multiple banks must meet the following requirements:
- The banks must be adjacent to one another. For information on adjacent banks, refer to the EMIF Architecture: I/O Bank topic in the External Memory Interfaces Intel® Agilex™ FPGA IP User Guide.
- 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.
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. |
Adjacent Banks
For banks to be considered adjacent, they must reside in the same I/O row. To determine if banks are adjacent, refer to the EMIF Architecture: I/O Bank topic in the External Memory Interfaces Intel® Agilex™ FPGA IP User Guide.
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 find the pin indices for address and command pins in the Intel® Agilex™ EMIF Pin Table at the following location: https://www.intel.com/content/www/us/en/programmable/support/literature/lit-dp.html.
You can perform pin assignments in a variety of ways. The recommended approach is to manually constrain some interface signals and let the Intel® 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:
- CK0
- One DQS pin per group
- PLL reference clock
- RZQ
Based on the above constraints, the Intel® Quartus® Prime Fitter rotates pins within each lane as necessary.