External Memory Interfaces IP Support Center
The External Memory Interface (EMIF) support page provides design process from start to finish for Intel FPGAs.
Introduction
The External Memory Interface (EMIF) support page will help you find information regarding Agilex™ 7, Stratix® 10, Arria® 10, and Cyclone® 10 FPGAs on how to plan, design, implement, and verify your external memory interfaces. You will also find debug, training, and other resource materials on this page.
This page is set up to walk you through the design process from start to finish.
For support resources regarding other FPGAs, search within the following links: Agilex™ 7 FPGA Interface Protocol Design Journey, FPGA Documentation, Training Courses, Videos, Design Examples, and Knowledge Base.
1. Device Selection
How Do I Select a Device?
Two tools are available to help you select an Intel® FPGA based on your memory requirements:
|
EMIF Device Selector |
EMIF Spec Estimator |
---|---|---|
Features |
|
|
Device Support |
|
|
Resources |
||
EMIF Tools |
Download EMIF Device Selector for Agilex™ 7 , Stratix® 10, or Arria® 10 Devices |
How Do I Select an External Memory Intellectual Property (IP)?
To learn about the various memory intellectual property (IP) available, refer to the following online training curriculum:
Training Course |
Description |
---|---|
This course covers the different external memory interface options available, as well as the architectural and hard memory controller features for Stratix® 10 and Arria® 10 FPGAs. |
|
High Bandwidth Memory (HBM2) Interfaces in Stratix® 10 MX devices: Introduction, Architecture |
This course covers the benefits of integrating High Bandwidth Memory into the Stratix® 10 MX FPGA devices, features and options for the hardened HBM controller, and how to generate the HBM2 IP. |
High Bandwidth Memory (HBM2) Interfaces in Stratix® 10 MX devices: HBMC features |
This course covers the features and options for the hardened HBM controller, and the Arm* AMBA 4 AXI interface between the controller and user logic. |
This course covers the features of the Hard Processor Subsystem (HPS) SDRAM and the AMBA AXI bridge architecture. |
2. User Guides and Documentation
Agilex™ 7 F & I Devices | Agilex™ 7 M Series | Agilex™ 5 Devices | Stratix® 10 Devices | Arria® 10 Devices | Cylcone® 10 Devices | Additional User Guides |
---|---|---|---|---|---|---|
|
|
|
|
|
|
|
3. EMIF IP Generation
Where Do I Find Information on the EMIF IP?
For information regarding the External Memory Interface (EMIF) Intellectual Property (IP), refer to the following External Memory Interfaces IP User Guides:
- Please refer to 'User Guides' Section
How Do I Generate the EMIF IP?
For detailed information regarding External Memory Interface (EMIF) Intellectual Property (IP) parameters, refer to the following protocol-specific sections within the following EMIF IP User Guides:
Topic |
Agilex™ 7 F & I Series |
Agilex™ 7 M Series | Agilex™ 5 Series | Stratix® 10 |
Arria® 10 |
Cyclone® 10 |
---|---|---|---|---|---|---|
EMIF IP Parameter Descriptions |
||||||
Note: For more information on How to Generate the EMIF IP, refer to the below User Guides and Training Courses and Videos sections. |
How Do I Perform Functional Simulation?
For detailed information on simulating the External Memory Interface (EMIF) Intellectual Property (IP), refer to the following section within the EMIF IP User Guides:
- Agilex™ 7 F & I Series FPGA EMIF IP – Simulating Memory IP
- Agilex™ 7 M series FPGA EMIF IP – Simulating Memory IP
- Agilex™ 5 FPGA EMIF IP – Simulating Memory IP
- Stratix® 10 simulating Memory IP
- Stratix® 10 MX simulating HBM2 IP
- Arria® 10 simulating Memory IP
- Cyclone® 10 simulating Memory IP
For instructions on how to generate an EMIF simulation design example and how to run simulations using the ModelSim*-Intel FPGA simulation software, refer to the following sections within the EMIF IP Design Example User Guides:
- Agilex™ 7 FPGA - Generating the EMIF Design Example for Simulation
- Stratix® 10 generating the EMIF design example for simulation
- Arria® 10 generating the EMIF design example for simulation
- Cyclone® 10 generating the EMIF design example for simulation
For information on how to verify an EMIF design, refer to the 'Training Courses and Video' section for the 'Verifying Memory Interfaces IP' course.
Where Do I Find Information on FPGA Resource and Pin Placement?
For detailed External Memory Interface (EMIF) pin information, refer to the following protocol-specific sections within the following EMIF Intellectual Property (IP) User Guides:
For simplified I/O placement refer to the Interface Planner for an easy-to-use drag-and-drop tool available in the Intel Quartus Prime Pro Edition software for Arria® 10 and Stratix® 10 FPGAs. Refer to the following videos for information on how to use the Interface Planner and its benefits:
- Introducing BluePrint Platform Designer for External Memory Interface Designs Part 1 of 2
- Introducing BluePrint Platform Designer for External Memory Interface Designs Part 2 of 2
For more information on Interface Planner for resource location assignments, refer to the following online training curriculum:
Training Course |
Description |
---|---|
This course covers how to implement a design resource floorplan using Interface Planner. |
Additional Resources
What is Ping Pong PHY?
- Ping Pong PHY allows two memory interfaces to share Address and Command buses. This is supported for DDR3 and DDR4 protocols and for Stratix® V, Arria® 10, and Stratix® 10 FPGAs. Refer to the following video for information on the concept of Ping Pong PHY, its benefits, and an analysis of simulation results:
Where Do I Find Information on PHYLite?
- ThePHYLite IP allows you to build custom memory interface PHY blocks for Arria® 10 and Stratix® 10 FPGAs. For detailed information about the PHYLite IP, refer to the following user guide:
- For detailed information on how to properly assign pinouts for PHYLite based on different DQ/DQS group sizes, refer to the following video:
- PHYLite group pin placement video (Note: The video is also applicable to Stratix® 10 devices.)
- The PHYLite IP supports many different I/O standards and termination values on input and output buffers for Arria® 10 and Stratix® 10 FPGAs. Refer to the following video for information on how to create an On-Chip-Termination (OCT) block and how to associate it with the terminated I/O buffer in the PHYLite IP:
4. Board Design and Simulation
Where Do I Find Information on Board Layout and Design?
For detailed External Memory Interface (EMIF) board layout and design information, refer to the following protocol-specific sections within the following EMIF Intellectual Property (IP) User Guides:
How Do I Perform Board/Channel Simulation?
For information on measuring write-and-read Intersymbol Interference (ISI) and Crosstalk, arranging Command, Address, Control and Data pins, and I/O bank placement restrictions, refer to the following guidelines:
How Do I Calculate Board Skew and Channel Loss?
Two tools are available to help you calculate board skew and channel loss:
Topic |
Board Skew Parameter Tool |
Channel Loss Calculation Tool |
---|---|---|
Features |
|
|
Support |
|
|
Tools |
Where Do I Find Information on Timing Closure?
For information regarding External Memory Interface (EMIF) timing closure, refer to the following section within the EMIF Intellectual Property (IP) User Guides:
5. Debug
How Do I Debug My External Memory Interface Design?
For information regarding debugging the external memory interface (EMIF) intellectual property (IP), refer to the following section within the EMIF IP User Guides:
The main tool available for debug is the EMIF Debug Toolkit:
Topic |
EMIF Debug Toolkit |
---|---|
Features |
|
Support |
|
Accessibility |
|
How Do I Use the EMIF Debug Toolkit?
For step-by-step instructions on how to daisy-chain multiple memory interfaces for compatibility with the EMIF Debug Toolkit, refer to the following user guide:
The Read/Write 2-D Eye Diagram feature available in the EMIF Debug Toolkit generates read-and-write eye diagrams for each data pin. Refer to the following video for information on important voltage reference parameters during the EMIF IP generation process and how to use the 2-D Eye Diagram feature:
The Traffic Generator 2.0 allows you to test and debug your external memory interface through customizable traffic and test patterns. Refer to the following guide and videos for detailed information on how to use the Traffic Generator 2.0 feature:
- Traffic Generator 2.0 guide
- Traffic Generator 2.0 Video (coming soon)
The Driver Margining feature allows you to capture read-and-write margining data per pin during user-mode traffic. Refer to the following videos for information on the differences between driver margining and calibration margining, and instructions on how to use the Driver Margining feature:
For information on how to debug an EMIF design, refer to the following online training curriculum:
Training Course |
Description |
---|---|
On-Chip Debugging of Memory Interfaces IP in Intel® FPGA Devices |
This course covers how to perform debug using the EMIF Toolkit or On-Chip Debug Toolkit, how to use Traffic Generator 2.0, and configure multiple memory interface designs for compatibility with these debug tools. |
Where Can I Find Information Regarding Optimizing Controller Performance?
For information regarding controller performance and efficiency, refer to the following section within the External Memory Interfaces (EMIF) Intellectual Property (IP) User Guides:
How Do I Learn About Known Issues Regarding EMIF?
For information on current and known issues regarding the EMIF IP, refer to the Knowledge Base:
6. Training Courses and Quick Videos
Training Courses
Agilex™ 7 Device
- Introduction to Memory Interfaces in Agilex™ 7 FPGAs F- & I-Series
- Integration of Memory Interfaces in Agilex™ 7 FPGAs F- & I-Series
- Verifying Memory Interfaces in Agilex™ 7 FPGAs F- & I-Series
- On-Chip debugging of Memory Interfaces in Agilex™ 7 FPGAs F- & I-Series
Arria® 10 and Stratix® 10 Devices
- Introduction to Memory Interfaces IP in Intel® FPGA Devices
- Integrating Memory Interfaces IP in Intel® FPGA Devices
- Verifying Memory Interfaces IP in Intel® FPGA Devices
- On-Chip Debugging of Memory Interfaces IP in Intel® FPGA Devices
- High Bandwidth Memory (HBM2) Interfaces in Stratix® 10 MX devices: implementation
Quick Videos
- DDR4 Ping-Pong Phy (devices supported are Stratix® V, Arria® 10, and Stratix® 10)
- Introducing BluePrint platform designer for External Memory Interface Design part 1 of 2
- Introducing BluePrint platform designer for External Memory Interface Design part 2 of 2
- Package deskew in Intel FPGA External Memory Interfaces
- Board Timing for Arria® 10 EMIF IP
- Implementing over constraint in Arria® 10 External Memory Interface
- Automated check of Intel® FPGA External Memory Interfaces board layout guidelines
- How to build RLDRAM3 EMIF design for Arria® 10 development kit and test the calibration status using EMIF toolkit
- Arria® 10 External Memory Interface toolkit
- Arria® 10 EMIF example traffic generator
- Using the Soft Nios® Processor to debug Arria® 10 External Memory Interfaces
Additional Documentation
Comprehensive list of FPGA devices and product collections categorized by product lifecycle stages.
Additional Recommended User Guides
For information regarding the External Memory Interface (EMIF) Intellectual Property (IP), refer to the following EMIF IP User Guides: