Visible to Intel only — GUID: iin1659555625609
Ixiasoft
1. About the External Memory Interfaces Agilex™ 7 M-Series FPGA IP
2. Agilex™ 7 M-Series FPGA EMIF IP – Introduction
3. Agilex™ 7 M-Series FPGA EMIF IP – Product Architecture
4. Agilex™ 7 M-Series FPGA EMIF IP – End-User Signals
5. Agilex™ 7 M-Series FPGA EMIF IP – Simulating Memory IP
6. Agilex™ 7 M-Series FPGA EMIF IP – DDR4 Support
7. Agilex™ 7 M-Series FPGA EMIF IP – DDR5 Support
8. Agilex™ 7 M-Series FPGA EMIF IP – LPDDR5 Support
9. Agilex™ 7 M-Series FPGA EMIF IP – Timing Closure
10. Agilex™ 7 M-Series FPGA EMIF IP – Controller Optimization
11. Agilex™ 7 M-Series FPGA EMIF IP – Debugging
12. Agilex™ 7 FPGA EMIF IP - Mailbox Support
13. Document Revision History for External Memory Interfaces Agilex™ 7 M-Series FPGA IP User Guide
3.1.1. Agilex™ 7 M-Series EMIF Architecture: I/O Subsystem
3.1.2. Agilex™ 7 M-Series EMIF Architecture: I/O SSM
3.1.3. Agilex™ 7 M-Series EMIF Architecture: I/O Bank
3.1.4. Agilex™ 7 M-Series EMIF Architecture: I/O Lane
3.1.5. Agilex™ 7 M-Series EMIF Architecture: Input DQS Clock Tree
3.1.6. Agilex™ 7 M-Series EMIF Architecture: PHY Clock Tree
3.1.7. Agilex™ 7 M-Series EMIF Architecture: PLL Reference Clock Networks
3.1.8. Agilex™ 7 M-Series EMIF Architecture: Clock Phase Alignment
3.1.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 - 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 - LPDDR5
4.5.2. core_init_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.3. s0_axi4_ctrl_ready for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.4. s0_axi4 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.5. s1_axi4 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.6. s0_axi4lite_clock for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.7. s0_axi4lite_reset_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.8. s0_axi4lite for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.9. mem_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.10. mem_ck_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.11. mem_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.12. mem_ck_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.13. mem_reset_n for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.14. oct_0 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.15. oct_1 for External Memory Interfaces (EMIF) IP - LPDDR5
4.5.16. ref_clk for External Memory Interfaces (EMIF) IP - LPDDR5
6.3.4.1. Address and Command Pin Placement for DDR4
6.3.4.2. DDR4 Data Width Mapping
6.3.4.3. General Guidelines - DDR4
6.3.4.4. x4 DIMM Implementation
6.3.4.5. Specific Pin Connection Requirements
6.3.4.6. Command and Address Signals
6.3.4.7. Clock Signals
6.3.4.8. Data, Data Strobes, DM/DBI, and Optional ECC Signals
6.4.5.1. Single Rank and Dual Rank x 8 Discrete (Component) Topology
6.4.5.2. Single Rank x16 and Dual Rank x16 Discrete (Component) Topology
6.4.5.3. ADDR/CMD Reference Voltage/RESET Signal Routing Guidelines for Single Rank x 8 and Single Rank x 16 Discrete (Component) Topologies
6.4.5.4. Skew Matching Guidelines for DDR4 Discrete Configurations
6.4.5.5. Power Delivery Recommendations for DDR4 Discrete Configurations
6.4.5.6. Agilex™ 7 M-Series EMIF Pin Swapping Guidelines
7.1. External Memory Interfaces (EMIF) IP - DDR5 Component Parameter Descriptions
7.2. External Memory Interfaces (EMIF) IP - DDR5 DIMM Parameter Descriptions
7.3. PHY DFE Tap Bias Values for DDR5
7.4. MEM DFE Tap Bias Values for DDR5
7.5. Agilex™ 7 M-Series FPGA EMIF IP Pin and Resource Planning
7.6. DDR5 Board Design Guidelines
7.6.1. PCB Stack-up and Design Considerations
7.6.2. General Design Considerations
7.6.3. DDR Differential Signals Routing
7.6.4. Ground Plane and Return Path
7.6.5. RDIMM, UDIMM, and SODIMM Break-in Layout Guidelines
7.6.6. DRAM Break-in Layout Guidelines
7.6.7. General Notes for EMIF Routing Guidelines Tables
7.6.8. DDR5 PCB Layout Guidelines
7.6.9. DDR5 RDIMM Power Management IC
7.6.10. DDR5 Simulation Strategy
7.6.8.1. DDR5 Discrete Component/Memory Down Topology: Single Rank x8 or x16, Dual Rank x8 or x16
7.6.8.2. Routing Guidelines for DDR5 Memory Down: Single Rank or Dual Rank (x8 bit or x16 bit) Configurations
7.6.8.3. Routing Guidelines for DDR5 RDIMM, UDIMM, and SODIMM Configurations
7.6.8.4. Example of a DDR5 layout on an Altera FPGA Platform Board
8.5.1. PCB Stack-up and Design Considerations
8.5.2. General Design Considerations
8.5.3. DDR Differential Signals Routing
8.5.4. Ground Plane and Return Path
8.5.5. DRAM Break-in Layout Guidelines
8.5.6. General Notes for EMIF Routing Guidelines Tables
8.5.7. LPDDR5 PCB Layout Guidelines
8.5.8. LPDDR5 Simulation Strategy
11.1. Interface Configuration Performance Issues
11.2. Functional Issue Evaluation
11.3. Timing Issue Characteristics
11.4. Verifying Memory IP Using the Signal Tap Logic Analyzer
11.5. Debugging with the External Memory Interface Debug Toolkit
11.6. Generating Traffic with the Test Engine IP
11.7. Guidelines for Developing HDL for Traffic Generator
11.8. Guidelines for Traffic Generator Status Check
Visible to Intel only — GUID: iin1659555625609
Ixiasoft
6.3.4.3. General Guidelines - DDR4
Observe the following general guidelines when placing pins for your Agilex™ 7 M-Series external memory interface.
Note:
- EMIF IP pin-out requirements for the Agilex™ 7 M-Series Hard Processor Subsystem (HPS) are more restrictive than for a non-HPS memory interface. The HPS EMIF IP defines a fixed pin-out in the Quartus® Prime Pro Edition IP file (.qip), based on the IP configuration.
- Ensure that the pins of a single external memory interface reside on the same edge I/O.
- The address and command pins and their associated clock pins in the address and command bank must follow a fixed pin-out scheme, as defined in the table in the Address and Command Pin Placement for DDR4 topic.
- Not every byte lane can function as an address and command lane or a data lane. The pin assignment must adhere to the DDR4 data width mapping defined in DDR4 Data Width Mapping .
- A byte lane must not be used by both address and command pins and data pins.
- An I/O 96 bank cannot be used for more than one interface – meaning that two sub-banks belonging to two different EMIF interfaces are not permitted.
- Sharing of byte lanes within a sub-bank for two different interfaces is not permitted; you can assign byte lanes within a sub-bank to one EMIF interface only.
- Any pin in the same bank that is not used by an external memory interface may not be available for use as a general purpose I/O pin.
- For fabric EMIF, unused pins in an I/O lane assigned to an EMIF interface cannot be used as general-purpose I/O pins. In the same sub-bank, pins in an I/O lane that is not assigned to an EMIF interface, can be used as general purpose I/O pins.
- For HPS EMIF, unused pins in an I/O lane assigned to an EMIF interface cannot be used as general-purpose I/O pins. In the same bank, pins in an I/O lane that is not assigned to an EMIF interface cannot be used as general purpose I/O pins either.
- When the network-on-a-chip (NoC) is used, the use of initiator may block the byte lane in the I/O bank adjacent to the sector where the initiator is located:
- initiator 0 blocks the access for byte lane (or I/O lane) BL4, BL5, BL6, and partial BL7 (pin index 48 to 88 in the IO96 bank).
- initiator 1 blocks the access to the fabric AXI command/control port for the primary/secondary controller in the same I/O bank, making the hard controller unavailable for EMIF purposes.
- initiator 2 blocks the access for BL0,1,2,3 (P0 to P47).
- All address and command pins and their associated clock pins (CK and CK#) must reside within a single sub-bank. Refer to the table in DDR4 Data Width Mapping for the supported address and command and data lane placements for DDR4.
- An external memory interface can occupy one or more banks on the same edge. When an interface must occupy multiple banks, ensure the following:
- That the banks are adjacent to one another.
- That you used only the supported data width mapping as defined in the DDR4 Data Width Mapping table in the DDR4 Data Width Mapping topic. Be aware that not every byte lane can be used as an address and command lane or a data lane.
- That for lockstep configuration, you used only supported configuration as defined in the Supported DDR4 Mapping for Lockstep Configuration for x64 and Supported Lockstep configuration for DDR4 x72 or x64 (with ECC) tables in the DDR4 Data Width Mapping topic.
- Place read data groups according to the DQS grouping in the pin table and the Pin Planner. Read data strobes (such as DQS and DQS#) must reside at physical pins capable of functioning as DQS/CQ and DQSn/CQn for a specific read data group size. You must place the associated read data pins (such as DQ and Q), within the same group.
Note: For DDR4 interfaces with x4 components, you can use the strobe pins with either of the upper or lower DQ nibbles that are placed within a x8 DQS group in an I/O lane. You must place the DQ pins and associated strobes entirely in either the upper or lower half of a 12-bit bank sub-group.Consult the pin table for your device to identify the association between DQ pins and DQS pins for x4 mode operation. Additional restrictions apply for x4/x8 DIMM interoperability.
- One of the sub-banks in the device (typically the left sub-bank within corner Bank 3A) may not be available if you use certain device configuration schemes. For some schemes, there may be one byte lane available for EMIF data group:
- AVST-8 – This is contained entirely within the SDM, therefore all lanes of sub-bank 3A can be used by the external memory interface.
- AVST-32 – Byte lanes 4, 5, 6, and 7 are all effectively occupied and are not usable by the external memory interface.
- AVST-16 – Byte lanes 6 contains SDM_DATA[25:16], and is not used by AVSTx16. However, the external memory interface cannot use byte lane 6 when byte lanes 4 and 5 are not usable for EMIF purposes.