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# 54262

MIG 7 Series DDR3 - Dual rank example design incorrectly detects data compare error when reading from second rank address space.

Description

Version Found: v1.8
Version Resolved: See (Xilinx Answer 45195)

The MIG 7 Series DDR3 Dual Rank example design can incorrectly detect data compare errors in both behavioral simulation and in hardware simulations when reading from the second rank address space.

Solution

The traffic generator located in the MIG example design contains compare logic which incorrectly compares the read data with the wrong expected data and flags a compare error. 


This only occurs when reading from the second rank address space and only occurs with the MIG generated example design. 

The MIG User Design is not affected as it does not use the synthesizable traffic generator RTL.

 

 To work around the problem, open the file mig_7series_v1_8_traffic_gen_top.v located in the ./example_design/rtl/traffic_gen/ directory and add the following:

localparam ADDR_WIDTH_MASK = {{31-ADDR_WIDTH{1'b0}}, {ADDR_WIDTH-1{1'b1}}}; 
localparam ADDR_WIDTH_MASK_1 = {{30-ADDR_WIDTH{1'b0}}, {ADDR_WIDTH{1'b1}}}; 
localparam BEGIN_ADDRESS_MASK = ADDR_WIDTH_MASK & BEGIN_ADDRESS; 
localparam END_ADDRESS_MASK = ADDR_WIDTH_MASK_1 & END_ADDRESS; 

localparam SHIFT_COUNT = (31-ADDR_WIDTH) ; 
localparam BEGIN_ADDRESS_INT = (BEGIN_ADDRESS_MASK >= END_ADDRESS_MASK) ? (BEGIN_ADDRESS >> SHIFT_COUNT) : BEGIN_ADDRESS_MASK ; 
localparam END_ADDRESS_INT = (BEGIN_ADDRESS_MASK >= END_ADDRESS_MASK) ? (END_ADDRESS >> SHIFT_COUNT) : END_ADDRESS_MASK ; 

Replace the following under the mig_7series_v1_8_init_mem_pattern_ctr instantiation:
 
      .BEGIN_ADDRESS                 (BEGIN_ADDRESS),
      .END_ADDRESS                   (END_ADDRESS),
with
 
      .BEGIN_ADDRESS                 (BEGIN_ADDRESS_INT),
      .END_ADDRESS                   (END_ADDRESS_INT),

Replace the following under the mig_7series_v1_8_memc_traffic_gen instantiation:
 
      .PRBS_SADDR_MASK_POS           (BEGIN_ADDRESS), 
      .PRBS_EADDR_MASK_POS           (PRBS_EADDR_MASK_POS),
      .PRBS_SADDR                    (BEGIN_ADDRESS), 
      .PRBS_EADDR                    (END_ADDRESS),
with
 
      .PRBS_SADDR_MASK_POS           (BEGIN_ADDRESS_INT), 
      .PRBS_EADDR_MASK_POS           (PRBS_EADDR_MASK_POS),
      .PRBS_SADDR                    (BEGIN_ADDRESS_INT), 
      .PRBS_EADDR                    (END_ADDRESS_INT),

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
45195 MIG 7 Series - Release Notes and Known Issues for All ISE versions and Vivado 2012.4 and older tool versions N/A N/A
AR# 54262
Date Created 02/14/2013
Last Updated 08/13/2014
Status Active
Type Known Issues
Devices
  • Kintex-7
  • Artix-7
  • Virtex-7
IP
  • MIG 7 Series