AR# 73068

面向 UltraScale/UltraScale+ DDR4/DDR3 IP 的设计咨询 - 存储器 IP 时序异常可能导致校准后硬件中出现数据错误或 DQS 门控跟踪错误

描述

发现问题的版本:随 Vivado 2016.4 发布的 DDR4 v2.1 (Rev. 1)、DDR3 v1.3 (Rev. 1)

修复问题的版本:有关 DDR4 的信息,请参阅(赛灵思答复记录 69035);有关 DDR3 的信息,请参阅(赛灵思答复记录 69036)

在以 UltraScale/UltraScale+ DDR4/DDR3 IP 为目标的设计中,可能会遇到硬件故障模式,如校准后数据错误或者校准后 DQS 门控跟踪问题等。这些错误可能会在成功校准之后的首次读取或写入访问时发生。此问题不会影响 PHY-ONLY 或 Ping Pong PHY 设计。

根本原因是校准结束时的竞态条件。竞态条件是由多周期路径约束导致的时序异常而引起,因此不会在时序分析报告中报告该竞态条件。

此问题与构建过程相关,基于设计的布线和实现,因此在产品开发过程中测试多个构建镜像时此问题可能会出现,也可能会消失。

此外,此问题可能仅出现在一小部分器件上。

解决方案

为解决此问题,现已移除原先旨在简化时序收敛的多周期路径约束,并改为向这些路径中添加流水线阶段。

移除多周期约束后,这些流水线阶段将简化时序收敛,同时确保所有目标都定时到相同结构周期。

从 Vivado 和 Vitis 2020.1 起,将随 IP 自动包含这些修订。

对于仍处于最终完成阶段的设计,请根据目标 Vivado 版本下载并应用以下相应的补丁。

使用已安装补丁的 Vivado 版本打开设计,然后更新或重新生成内存 IP。



对于已处于量产阶段的设计(Vivado 2016.4 - 2019.2.1),请对已完全实现的设计运行随附的 Tcl 脚本,检查设计是否会受此问题影响。

该 Tcl 脚本将检查是否针对同一结构周期对具有多周期路径约束的关键路径进行了时序分析。

该脚本旨在为已投产的最终设计检查时序。

  • 如果时序检查通过,则该问题不会在现场发生。
  • 如果时序检查失败,则您的设计可能会遇到此问题。

如果时序检查发现问题,则无法量化其风险级别,您必须使用补丁更新设计。

在以下答复记录“附件”部分中提供了对应 DDR3 和 DDR4 IP 的补丁。

在 Vivado 和 Vitis 2020.1 版本中,此问题已从根本上得到解决。

如需适用于先前版本的补丁,请联系赛灵思技术支持。

注:Vivado 2019.2.1 补丁将在启动已安装补丁的 Vivado 实例时生成“警告 (Warning)”消息。

您可放心忽略此消息,因为 IP 输出结果正确无误。

WARNING: [Common 17-306] Update version (2019.2.1_AR73068) does not match product version (2019.2.1)

修订历史:

  • 2020 年 3 月 26 日 - 初始版本
  • 2020 年 6 月 18 日 - 对描述和解决方案予以澄清;更新 Vivado 2020.1 相关内容

附件

链接问答记录

主要问答记录

AR# 73068
日期 07/31/2020
状态 活跃
Type 设计咨询
器件 More Less
Tools
IP