When running the default MIG output simulation, calibration takes a very long time to complete and memory overflow errors might occur.When a memory overflow occurs, ModelSim will generate an error similar to the following:
# sim_tb_top.comp_inst.mem_8_4.gen_mem[1].u_comp_ddr3.memory_write: at time 40733688.0 ps ERROR: Memory overflow. Write to Address 00083e with Data xxxxxxxx001f0041 will be lost.
# You must increase the MEM_BITS parameter or define MAX_MEM.
Init_done does not ever assert.
To work around these long simulation times, the calibration algorithm can be abbreviated by changing parameters in the sim_tb_top.v module. By default the simulation parameters used to control the calibration sequence are set as follows:
parameter SIM_INIT_OPTION = "NONE";
parameter SIM_CAL_OPTION = "NONE";
To abbreviate the calibration sequence, change these parameter setting in the 'example_design/sim/sim_tb_top.v" or 'user_design/sim/sim_tb_top.v' module:
parameter SIM_INIT_OPTION = "SKIP_PU_DLY";
parameter SIM_CAL_OPTION = "FAST_CAL";
If a memory overflow error occurs, the end address location used in memory can be decreased. The end address locations are set in the same sim_tb_top.v module as follows:
parameter END_ADDRESS = 32'h00ffffff;
parameter PRBS_EADDR_MASK_POS = 32'hff000000;
To avoid memory overflows, change these parameters as follows:
parameter END_ADDRESS = 32'h000003ff;
parameter PRBS_EADDR_MASK_POS = 32'hfffffc00;
These parameters will be changed in the testbench to the above values in MIG 3.2.