AN 886: Intel® Agilex™ Device Design Guidelines

ID 683634
Date 8/26/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.3.2.1. Considerations for Connecting HPS to SDRAM

The hard memory controller for the Intel® Agilex™ HPS is in the FPGA I/O row along with the other hardware memory controllers. The HPS EMIF has optimized the interconnect to the HPS core.

Instantiating the Intel® Agilex™ HPS EMIF IP

Connecting external SDRAM to the Intel® Agilex™ HPS requires the use of an EMIF IP that is specific to the HPS. Follow the below guidelines for properly instantiating and configuring the correct EMIF IP for the HPS.

GUIDELINE: Instantiate the Intel® Agilex™ External Memory Interfaces for HPS IP in Platform Designer.

You must use a specific EMIF IP in Platform Designer to connect the HPS to external SDRAM memory.

The EMIF module is found in the IP catalog pane by selecting: Library > Processors and Peripherals > Hard Processor Components > External Memory Interfaces for HPS Intel® Agilex™ .

GUIDELINE: Connect the hps_emif conduit to the HPS component

To connect the HPS to the EMIF in Platform Designer, you must connect the hps_emif conduit in the instantiated emif_fm_hps_1 module to the hps_emif conduit in the agilex_hps_0 module.

GUIDELINE: You must provide a free running and stable reference clock source to external memory interface before the start of device configuration.

For more information, refer to the Intel® Agilex™ FPGA EMIF IP Overview.

GUIDELINE: Make sure the HPS EMIF IP block is not reset while the HPS is accessing external SDRAM or resources in the multiport front end (MPFE).

Asserting reset to the HPS EMIF IP block should coincide with the HPS reset assertion unless the application can save and recover context in co-ordination with HPS EMIF IP reset assertion. This can be achieved simply by connecting the HPS EMIF reset input to one or a combination of resets from the following sources: HPS reset outputs (for example: h2f_reset, h2f_cold_reset), other resets in the system that also source an HPS cold reset input (for example: nCONFIG and HPS_COLD_nRESET reset input pin.

If the HPS EMIF IP is reset without resetting the HPS as described above, the application must put the MPFEt in reset using the brgmodrst register, bit 6 (ddrsch) in the Reset Manager before HPS EMIF IP reset assertion and not release it until after the HPS EMIF IOPLL has locked. Failure to do so can result in locking up the processor on subsequent accesses to external SDRAM or resources in the MPFE.

GUIDELINE: Ensure that the HPS EMIF controller Data Mask (DM) pins are enabled.

When you instantiate the memory controller in Platform Designer, you must select the checkbox to enable the data mask pins. If this control is not enabled, data corruption occurs any time a master accesses data in SDRAM that is smaller than the native word size of the memory.
Note: The checkbox to enable data masking is found in the "Parameters" tab for the External Memory Interfaces for HPS Intel® Agilex™ Intel® FPGA IP within the Topology section of the memory sub-tab.

GUIDELINE: Ensure that you choose only DDR4 components or modules in configurations that are supported by the Intel® Agilex™ EMIF for HPS IP and your specific device and package combination.

Intel's External Memory Interface Spec Estimator is a parametric tool that allows you to compare supported external memory interface types, configurations and maximum performance characteristics in Intel FPGA and SoC devices.