问题描述
Modelsim中的仿真结果不符合预期,想查看DDR2中存储的数据,来确定问题是出现在写过程还是读过程
发现Memory List中的mem_array深度和位宽都不太对
打开里面的数据也是没看懂
解决方案
更换模型文件,使用ddr2 ip核testbench文件夹下的xx_full_mem_model.v代替xx_mem_model.v
在.vt文件中修改例化的模型名称,xx_mem_model - > xx_full_mem_model
// ddr2_mem_model mem
ddr2_full_mem_model mem
(
.mem_dq (mem_dq ),
.mem_dqs (mem_dqs ),
.mem_dqs_n (mem_dqs_n ),
.mem_addr (mem_addr ),
.mem_ba (mem_ba ),
.mem_clk (mem_clk ),
.mem_clk_n (mem_clk_n ),
.mem_cke (mem_cke ),
.mem_cs_n (mem_cs_n ),
.mem_ras_n (mem_ras_n ),
.mem_cas_n (mem_cas_n ),
.mem_we_n (mem_we_n ),
.mem_dm (mem_dm ),
.mem_odt (mem_odt )
);
再次运行仿真,观察到mem_array的深度和位宽与设计相符
里面的数据也符合预期