Thisoccurs becausethe parameter DQ_WIDTH is not being mapped properly to the memory model in the sim_tb_top (testbench) module.
For example, if the design is generated for 2 controllers ("Number of Controllers" option in GUI set to 2) and x16 UDIMM is selected for the second controller, port mapping to the memory model of UDIMM is as follows in the sim_tb_top module.
Existing code: .dq ({c1_ddr3_dq_sdram[
DQ_WIDTH-1:(C1_DQ_WIDTH-8)],
c1_ddr3_dq_sdram[
DQ_WIDTH-1:(C1_DQ_WIDTH-8)]}),
Instead, port mapping should be changed as follows.
Modified code: .dq ({c1_ddr3_dq_sdram[
C1_DQ_WIDTH-1:(C1_DQ_WIDTH-8)],
c1_ddr3_dq_sdram[
C1_DQ_WIDTH-1:(C1_DQ_WIDTH-8)]}),
The above example properly port maps the DQ_WIDTH parameter when a UDIMM is selected as the second controller. This fix needs to be applied to properly map the DQ_WIDTH parameter for all x16 UDIMM controllers.
This is fixed in the ISE 13.1 MIG v3.7 software release.