Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17261 Discussions

How to Modify Intel EMIF IP for STT-MRAM Support Similar to Xilinx MIG Patch Mechanism?

Cleveland
Beginner
545 Views

Hi all,

I am currently working on a project that aims to use STT-MRAM (specifically, devices that are compatible at the DDR4 interface level but require special initialization and timing control) with Intel Agilex FPGAs. In the Xilinx FPGA ecosystem, this is typically achieved by generating a standard DDR4 MIG (Memory Interface Generator) core and then applying a patch script provided by the MRAM vendor (such as Everspin) to modify timing parameters, page size, queue depth, initialization sequence (such as NOMEM mode and anti-scribble logic), and power-fail/scram protection logic in the RTL.

I have read the Intel® Agilex™ FPGA EMIF IP User Guide and experimented with the Parameter Editor. It appears that most timing parameters and basic DDR4 configurations can be set during parameterization, but I did not find options for:

  • Fully customizing the initialization and mode register write sequence (e.g., special handling of MR0[13] for anti-scribble)

  • Adding user-defined signals and queues to implement scram or power-fail logic

  • Modifying page size, FIFO depth, or command queue length beyond standard limits

  • Overriding the address mapping scheme (ROW-BANK-COL order) to optimize wear and bus utilization for persistent memory

My main questions are:

  1. Is it possible to patch or deeply customize Intel's EMIF IP core in a way similar to patching Xilinx's MIG RTL, to fully support the special requirements of STT-MRAM?

  2. If not, are there recommended workflows for issuing custom mode register writes (e.g., dynamic MR0[13] switching), scram flows, or for controlling initialization and fail-safe operations with user logic?

  3. Is there any roadmap for making the EMIF IP more open/extensible for persistent memory (MRAM) applications in the future?

Any official guidance, user experience, or technical workarounds would be greatly appreciated. Thank you!

Labels (1)
0 Kudos
3 Replies
AdzimZM_Intel
Employee
476 Views

Hi Cleveland,


Technically we EMIF IP for Agilex 7 F/I series can support DDR4 and QDRIV only.

The MRAM support is not available.


As you have go through the EMIF User Guide, your analysis and observation is correct as the EMIF IP doesn't has the options per your description.


"Is it possible to patch or deeply customize Intel's EMIF IP core in a way similar to patching Xilinx's MIG RTL, to fully support the special requirements of STT-MRAM?"

  • I think it is not possible since it might need to have a different set of calibration method to calibrate this type of memory.


"If not, are there recommended workflows for issuing custom mode register writes (e.g., dynamic MR0[13] switching), scram flows, or for controlling initialization and fail-safe operations with user logic?"

  • We don't have recommendation for this workflows.


"Is there any roadmap for making the EMIF IP more open/extensible for persistent memory (MRAM) applications in the future?"

  • Unfortunately, we don't have that too.


Regards,

Adzim


0 Kudos
AdzimZM_Intel
Employee
376 Views

Hi


Do you have any further questions in this thread?


Regards,

Adzim


0 Kudos
AdzimZM_Intel
Employee
306 Views

As we do not receive any response from you on the previous reply that we have provided, I now transition this thread to community support. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply