对于使用NCSIM和针对Stratix V器件进行仿真的LRDIMM设计,可能会发生故障-Altera-Intel社区-FPGA CPLD-ChipDebug

对于使用NCSIM和针对Stratix V器件进行仿真的LRDIMM设计,可能会发生故障

此问题会影响DDR3产品。

对于针对Stratix V器件的DDR3 LRDIMM设计,使用NCSIM 12.20-s003仿真的LRDIMM示例设计可能在编译LRDIMM缓冲器仿真模型期间遇到故障。发生故障是因为NCSIM尚不支持SystemVerilog alias关键字,该关键字用于连接两个双向总线。

解决/修复方法

此问题的解决方法是使用Verilog tran原语连接LRDIMM模型的双向DQ / DQS端口。

例如,打开文件alt_mem_if_common_ddr_mem_model_ac_parity_ddr3_lrdimm_mem_if_dqsn_en.sv

在文本编辑器中,搜索以下行:

alias w_ranka_mem_dqs = lrdimm_mdqs_p[MEM_DQS_A_U: MEM_DQS_A_L]; alias w_ranka_mem_dqs_n = lrdimm_mdqs_n[MEM_DQS_A_U: MEM_DQS_A_L]; alias w_ranka_mem_dqs_n = lrdimm_mdqs_n[MEM_DQS_A_U: MEM_DQS_A_L];

用以下语句替换上面的行:

genvar k; generate for (k = MEM_DQ_A_L; k <= MEM_DQ_A_U; k = k + 1) begin : gen_ranka_mem_dq tran inst_tran (w_ranka_mem_dq[k-MEM_DQ_A_L], lrdimm_mdq[k]); end for (k = MEM_DQS_A_L; k <= MEM_DQS_A_U; k = k + 1) begin : gen_ranka_mem_dqs tran inst_tran_p (w_ranka_mem_dqs[k-MEM_DQS_A_L], lrdimm_mdqs_p[k]); tran inst_tran_n (w_ranka_mem_dqs_n[k-MEM_DQS_A_L], lrdimm_mdqs_n[k]); end endgenerate

此问题将在以后的版本中修复。

请登录后发表评论

    没有回复内容