- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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:
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?
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?
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!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Do you have any further questions in this thread?
Regards,
Adzim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page