UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 71312

Virtex UltraScale + HBM FPGA XCVU31P,XCVU33P,XCVU35P,XCVU37P ES983x - 交叉堆栈事务可以挂起堆栈间通道

描述

发现问题的版本: HBM v1.0

解决问题的版本: 查看 (Xilinx Answer 69267)

在使用工程样品 Virtex UltraScale+ HBM 器件时,有可能跨堆栈事务会在堆栈间通道中挂起。

只有在以下所有条件都为真时,才可能出现潜在的挂起:
  • 使用 Virtex UltraScale+ HBM 工程样品器件
  • 两个 HBM 堆栈都启用了
  • 启用了 AXI 交换机全局寻址
  • 出现了跨堆栈内存访问

当从 AXI 端口发送读取或写入命令时,而该端口通过 AXI 交换机从一个 HBM 堆栈到另一个 HBM 堆栈,该命令将无法传播。  

 没有错误标记或正常响应返回至 AXI 端口。

AXI 端口最终将会挂起,因为它在等待一个永远也不会出现的响应。

一个可工作一段时间的器件并不意味着该器件不受该问题的影响,因为在有跨堆栈事务的情况下,可能就会出现这种情况。

解决方案

这种行为主要出现在 Virtex UltraScale+ HBM 器件的芯片量产期间。

对于工程示例器件,您可以通过不发出任何跨堆栈事务来避免该锁定。

两个堆栈都可以启用,只要不出现跨堆栈事务,就不会遇到挂起问题。

如果需要跨堆栈事务,请使用以下方法:

  1. 将附带的补丁文件应用到设计中
    • 为 2018.2 和 2019.1 Vivado 版本提供了补丁文件
  2. 由于补丁文件的变化,因此 HBM 堆栈的 AXI 开关时钟不能由 BUFG 驱动
    • 如果 AXI 开关时钟(在 HBI IP 配置 GUI 的 HBM 配置选择页面中指定)由 BUFG 驱动,就请从该时钟路径中删除 BUFG
  3. 由于路径文件的改变,因此有一个从需要进行约束的八分之一 APB 时钟生成的新时钟
    • 这些时钟的默认名称是 o_APB_PCLK_by8_st0 和 o_APB_PCLK_by8_st1
    • 这些时钟需要以下约束。请确保修改名称,以匹配您的设计:
set_clock_groups -logically_exclusive -group [get_clocks AXI_ACLK*_st0 ] -group [get_clocks o_APB_PCLK_by8_st0 ]
set_clock_groups -logically_exclusive -group [get_clocks AXI_ACLK*_st1 ] -group [get_clocks o_APB_PCLK_by8_st1 ]

修订历史:

11/06/2018初始版本
01/06/2019更新了 2018.3 补丁文件
08/23/2019更新了 2019.1 补丁文件

附件

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
69267 Virtex UltraScale+ HBM Controller - Release Notes and Known Issues N/A N/A
AR# 71312
日期 08/23/2019
状态 Active
Type 综合文章
器件
Tools
IP
的页面