Visible to Intel only — GUID: ada1682729747706
Ixiasoft
1. About the External Memory Interfaces Agilex™ 5 FPGA IP
2. Agilex™ 5 FPGA EMIF IP – Introduction
3. Agilex™ 5 FPGA EMIF IP – Product Architecture
4. Agilex™ 5 FPGA EMIF IP – End-User Signals
5. Agilex™ 5 FPGA EMIF IP – Simulating Memory IP
6. Agilex™ 5 FPGA EMIF IP - DDR4 Support
7. Agilex™ 5 FPGA EMIF IP - DDR5 Support
8. Agilex™ 5 FPGA EMIF IP - LPDDR4 Support
9. Agilex™ 5 FPGA EMIF IP - LPDDR5 Support
10. Agilex™ 5 FPGA EMIF IP – Timing Closure
11. Agilex™ 5 FPGA EMIF IP – Controller Optimization
12. Agilex™ 5 FPGA EMIF IP – Debugging
13. Agilex™ 5 FPGA EMIF IP - Mailbox Support
14. Document Revision History for External Memory Interfaces (EMIF) IP User Guide
3.2.1. Agilex™ 5 EMIF Architecture: I/O Subsystem
3.2.2. Agilex™ 5 EMIF Architecture: I/O SSM
3.2.3. Agilex™ 5 EMIF Architecture: HSIO Bank
3.2.4. Agilex™ 5 EMIF Architecture: I/O Lane
3.2.5. Agilex™ 5 EMIF Architecture: Input DQS Clock Tree
3.2.6. Agilex™ 5 EMIF Architecture: PHY Clock Tree
3.2.7. Agilex™ 5 EMIF Architecture: PLL Reference Clock Networks
3.2.8. Agilex™ 5 EMIF Architecture: Clock Phase Alignment
3.2.9. User Clock in Different Core Access Modes
4.1. IP Interfaces for External Memory Interfaces (EMIF) IP - DDR4 Component
4.2. IP Interfaces for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.3. IP Interfaces for External Memory Interfaces (EMIF) IP - DDR5 Component
4.4. IP Interfaces for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.5. IP Interfaces for External Memory Interfaces (EMIF) IP - LPDDR4
4.6. IP Interfaces for External Memory Interfaces (EMIF) IP - LPDDR5
4.1.1. s0_axi4_clock_in for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.2. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.3. core_init_n for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.4. s0_axi4 for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.5. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.6. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.7. s0_axi4lite for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.8. mem_0 for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.9. mem_ck_0 for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.10. mem_reset_n for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.11. oct_0 for External Memory Interfaces (EMIF) IP - DDR4 Component
4.1.12. ref_clk for External Memory Interfaces (EMIF) IP - DDR4 Component
4.2.1. s0_axi4_clock_out for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.2. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.3. core_init_n for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.4. s0_axi4 for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.5. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.6. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.7. s0_axi4lite for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.8. mem_0 for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.9. mem_ck_0 for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.10. mem_reset_n for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.11. oct_0 for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.2.12. ref_clk for External Memory Interfaces (EMIF) IP - DDR4 DIMM
4.3.1. s0_axi4_clock_in for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.2. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.3. core_init_n for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.4. s0_axi4 for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.5. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.6. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.7. s0_axi4lite for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.8. mem_0 for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.9. mem_ck_0 for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.10. mem_reset_n_0 for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.11. oct_0 for External Memory Interfaces (EMIF) IP - DDR5 Component
4.3.12. ref_clk for External Memory Interfaces (EMIF) IP - DDR5 Component
4.4.1. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.2. s1_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.3. s0_axi4_clock_in for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.4. core_init_n for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.5. s0_axi4 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.6. s1_axi4 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.7. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.8. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.9. s0_axi4lite for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.10. s1_axi4lite_clock for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.11. s1_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.12. s1_axi4lite for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.13. mem_0 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.14. mem_1 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.15. mem_reset_n for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.16. mem_ck_0 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.17. mem_ck_1 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.18. mem_i3c for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.19. oct_0 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.20. oct_1 for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.4.21. ref_clk for External Memory Interfaces (EMIF) IP - DDR5 DIMM
4.5.1. s0_axi4_clock_in for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.2. core_init_n for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.3. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.4. s0_axi4 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.5. s1_axi4 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.6. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.7. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.8. s0_axi4lite for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.9. mem_0 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.10. mem_ck_0 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.11. mem_1 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.12. mem_ck_1 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.13. mem_reset_n for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.14. oct_0 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.15. oct_1 for External Memory Interfaces (EMIF) IP - LPDDR4
4.5.16. ref_clk for External Memory Interfaces (EMIF) IP - LPDDR4
4.6.1. s0_axi4_clock_in for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.2. core_init_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.3. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.4. s0_axi4 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.5. s1_axi4 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.6. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.7. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.8. s0_axi4lite for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.9. mem_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.10. mem_ck_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.11. mem_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.12. mem_ck_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.13. mem_reset_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.14. oct_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.15. oct_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.6.16. ref_clk for External Memory Interfaces (EMIF) IP - LPDDR5
6.3.3.1. Address and Command Pin Placement for DDR4
6.3.3.2. DDR4 Data Width Mapping
6.3.3.3. General Guidelines
6.3.3.4. x4 DIMM Implementation
6.3.3.5. Specific Pin Connection Requirements
6.3.3.6. Command and Address Signals
6.3.3.7. Clock Signals
6.3.3.8. Data, Data Strobes, DM/DBI, and Optional ECC Signals
12.1. Interface Configuration Performance Issues
12.2. Functional Issue Evaluation
12.3. Timing Issue Characteristics
12.4. Verifying Memory IP Using the Signal Tap Logic Analyzer
12.5. Debugging with the External Memory Interface Debug Toolkit
12.6. Generating Traffic with the Test Engine IP
12.7. Guidelines for Developing HDL for Traffic Generator
12.8. Guidelines for Traffic Generator Status Check
12.9. Hardware Debugging Guidelines
12.10. Create a Simplified Design that Demonstrates the Same Issue
12.11. Measure Power Distribution Network
12.12. Measure Signal Integrity and Setup and Hold Margin
12.13. Vary Voltage
12.14. Operate at a Lower Speed
12.15. Determine Whether the Issue Exists in Previous Versions of Software
12.16. Determine Whether the Issue Exists in the Current Version of Software
12.17. Try A Different PCB
12.18. Try Other Configurations
12.19. Debugging Checklist
12.20. Categorizing Hardware Issues
12.21. Signal Integrity Issues
12.22. Characteristics of Signal Integrity Issues
12.23. Evaluating Signal Integrity Issues
12.24. Skew
12.25. Crosstalk
12.26. Power System
12.27. Clock Signals
12.28. Address and Command Signals
12.29. Read Data Valid Window and Eye Diagram
12.30. Write Data Valid Window and Eye Diagram
12.31. Hardware and Calibration Issues
12.32. Memory Timing Parameter Evaluation
12.33. Verify that the Board Has the Correct Memory Component or DIMM Installed
Visible to Intel only — GUID: ada1682729747706
Ixiasoft
9.4.3. Pin Guidelines for Agilex™ 5 FPGA EMIF IP
The Agilex™ 5 FPGA contains I/O banks on the top and bottom edges of the device, which can be used by external memory interfaces.
Agilex™ 5 FPGA I/O banks contain 96 I/O pins. Each bank is divided into two sub-banks with 48 I/O pins in each. Sub-banks are further divided into four I/O lanes, where each I/O lane is a group of twelve I/O ports.
The I/O bank, I/O lane, and pairing pin for every physical I/O pin can be uniquely identified by the following naming convention in the device pin table:
- The I/O pins in a bank are represented as P#X#Y#, where:
- P# represents the pin number in a bank. It ranges from P0 to P95, for 96 pins in a bank.
- X# represents the bank number on a given edge of the device. X0 is the farthest bank from the zipper.
- Y# represents the top or bottom edge of the device. Y0 and Y1 refer to the I/O banks on the bottom and top edge, respectively.
- Because an IO96 bank comprises two IO48 sub-banks, all pins with P# value less than 48 (P# <48) belong to the same I/O sub-bank. All other pins belong to the second IO48 sub-bank.
- The Index Within I/O Bank value falls within one of the following ranges: 0 to 11, 12 to 23, 24 to 35, or 36 to 47, and represents one of I/O lanes 0, 1, 2, or 3, respectively.
- To determine whether I/O banks are adjacent, you can refer to the sub-bank-ordering figures for your device family in the Architecture: I/O Bank topic. In general, you can assume that I/O banks are adjacent within an I/O edge, unless the I/O bank is not bonded out on the package (indicated by the presence of the " - " symbol in the I/O table), or if the I/O bank does not contain 96 pins, indicating that it is only partially bonded out. If an I/O bank is not fully bonded out in a particular device, it cannot be included within the span of sub-banks for a larger external memory interface. In all cases, you should use the Quartus® Prime software to verify that your usage can be implemented.
- The pairing pin for an I/O pin is in the same I/O bank. You can identify the pairing pin by adding 1 to its Index Within I/O Bank number (if it is an even number), or by subtracting 1 from its Index Within I/O Bank number (if it is an odd number).