UltraScale/UltraScale+ QDRII+ IP — Cypress 内存模型中的多驱动程序问题在仿真中导致数据错误

描述

找到问题的版本: v5.0 Rev1
解决问题的版本: 查看 (Xilinx Answer 69038)

由于两个驱动程序同时驱动 data_out 输出,Cypress QDRII+ 内存模型会产生错误的数据错误。

内存模型没有返回与 CQ/CQ# 时钟对齐的数据边缘来仿真噪声,因此仿真也会失败。

MIG UltraScale 在行为仿真中不支持完全校准,因此未对齐的数据和时钟不仅不会正确对齐,可能还会导致数据失败。

仿真可能会失败,弹出以下消息:
TEST FAILED: DATA ERRORINFO: Timing violations reported by memory model could be incorrect due to model issue.
Please check the violations and contact Cypress for further assistance.
$finish called at time : 2513877 ps : File "/vob/uea/prog_parts/interstellar/karna/my_folder2/qdriip_0_ex/imports/example_tb.sv" Line 462

(1楼)解决方案

judyzhong 在 星期四, 02/08/2018 - 11:16 发表。

要解决该问题,请确保驱动事件不会同时发生,并确保数据接收到与时钟对齐的边缘。

要做到这一点,请将 Verilog 内存模型中的“tcqd”参数从 #0.15 改为 #0.0。

例如:
`define tcqd #0.15
`define tcqd #0.0

如欲了解更多详情,请直接联系 Cypress,或参考 Cypress 知识库有关该主题的文章:
http://www.cypress.com/?id=4&rID=72250