UPGRADE YOUR BROWSER

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!

AR# 65732

MIG UltraScale DDR4/DDR3 - "Reading unwritten address" warnings seen in simulation

Description

In simulation, the following warnings from the Micron model might be given, even if the testbench does not read from unwritten address locations:

# Model:WARNING: Reading unwritten address: C:0 BG:0 B:0 R:0 C:6 dm:0 @11524.401 ns

Solution

These warnings are caused by the MIG periodic reads and can be ignored.

To remove these warnings, you can modify your testbench to first perform a dummy write to address location '0', so that it does contain valid data for the periodic reads.


As an alternative you can silence the warning messages if you do not want to write to a location before reading from it.

Depending on your core configuration before you build the example design, the test bench will instantiate a memory model for each component. 

In the example below, the user has been working with 4 x16 components (DW = 64) so the memory model is instantiated 4 times for each component:



 

In the sim_tb_top.sv, the following RTL can be added right after the wire/register declarations to turn off the warning messages:

 //===========================================================================
     //                         Disable Warning Messages
     //===========================================================================
    
    initial begin
    #1ps;         //(any time here should work, as long as it is before the writes)
    sim_tb_top.mem_model_x16.mem.memModels_Ri2[0].memModel2[0].ddr4_model.set_memory_warnings(0,0);
    sim_tb_top.mem_model_x16.mem.memModels_Ri2[0].memModel2[1].ddr4_model.set_memory_warnings(0,0);
    sim_tb_top.mem_model_x16.mem.memModels_Ri2[0].memModel2[2].ddr4_model.set_memory_warnings(0,0);
    sim_tb_top.mem_model_x16.mem.memModels_Ri2[0].memModel2[3].ddr4_model.set_memory_warnings(0,0);
    end

To turn the warning messages back on, you will need to set_memory_warnings(1,1) using the same logic above in your test bench.

Revision History:

  • 10/16/2015 - Initial Release
  • 05/09/2018 - Added another work-around
AR# 65732
Date 05/14/2018
Status Active
Type General Article
Devices
  • Kintex UltraScale
  • Virtex UltraScale
IP
  • MIG UltraScale
Page Bookmarked