We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Page Bookmarked

AR# 67230

UltraScale DDR4 SDRAM IP - tREFI interval is incorrectly set


Version Found: v2.0

Version Resolved: See (Xilinx Answer 58435)

There is a bug in the tREFI counter logic. It should checking if it has reached one, not zero.

If an IP is generated with a tREFI of 7.8us in simulation it is actually set to 7.805us which will cause a 9xtREFI violation.


To work around the problem, the tREFIF parameter inside ddr4_v2_0_mc_ref.sv needs to be updated to the following:

localparam tREFIF = tREFIFR*RANKS - 1; //fix tREFI interval

To modify the IP RTL files, you can manually edit ddr4_v2_0_mc_ref.sv with a text editor. However, if the output products are regenerated, the modifications will be overwritten by Vivado.

As an alternative, you can create a custom IP Repository using the following steps:

1) Copy the DDR4 Controller directory from your Vivado install area.

For example:

(Full IP) C:\Xilinx\Vivado\2016.1\data\ip\xilinx\mem_v1_2

2) Make your edits to the source code in this copied directory and store the files in a location of your choice. Somewhere in your project directory is recommended.

(Full IP) make the following edits to mem_v1_2_ddr_mc_ref.sv line 179:

localparam tREFIF = tREFIFR*RANKS - 1; //fix tREFI interval

3) You then have to add it in the IP Catalog. Click on the IP Settings:


4) Then Add a Repository, point to the newly edited PHY directory, and Refresh All.

The IPs in the repository should be displayed in the lower box.


The following screen capture is an example of what it should look like:


The IP in the standard MIG directory will now be over-written and you will see your edits when you generate the IP and look at the relevant code.

Revision History:

05/16/2016 - Initial Release

AR# 67230
Date 05/28/2016
Status Active
Type Known Issues
  • Kintex UltraScale
  • Virtex UltraScale
  • MIG UltraScale