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# 47484

Zynq-7000 AP SoC、AXI — AXI_HP 访问 OCM 和 DDR 时,就会出现锁死

描述

在一个 AXI_HP 源和另一个源(如 DMAC)采用相互依赖的方式生成对 OCM 和 DDR 的访问时,就有可能出现 PS AXI 互连锁死状况。 

让一个源只向一个目的地(OCM 或 DDR)发出请求或将一个 AXI_HP 接口的出色编写次数限制在一次写入的情况下,可避免锁死。 

有问题的源包括 AXI_HP 接口对和中心互连(DMAC 和 IOP 主控器等)等。APU 内存请求(CPU 和 ACP)不存在问题。

解决方案

影响:主要影响。系统可能会挂起。
规避措施:请参阅“文章详情”部分。
受影响的配置: 使用 AXI_HP 接口的设计
受影响的器件修订版本:请参考(Xilinx 答复 47916) - Zynq-7000 设计咨询主答复记录

 

当两个源以特定的顺序访问 OCM 和 DDR 时,就会出现锁死状态。可影响锁死状态的源有三种。这些源不包括 APU(CPU 和 ACP 接口)的内存请求。

这两种源的任何组合都可以访问 OCM 和 DDR,这可能会导致锁死状况:

 

  • AXI_HP{1,0} 为一个对
  • AXI_HP{3,2} 为一个对

中心互联(包括 DMAC 和 IOP 主控器等)

AXI_HP{1:0} 包括(例如)访问 OCM 的 AXI_HP0 以及访问 DDR 的 AXI_HP1(两个主控器都在相同的 HP 对中)。

不会出现锁死状况的实例:

  • AXI_HP 对不访问 OCM 和 DDR
  • 中心互连不访问 OCM 和 DDR
  • AXI_HP0 正在访问 OCM,而 AXI_HP3 正在访问 DDR(不同的 AXI_HP 对)

因此,对于会发生的锁死情况,两个源必须同时访问 OCM 和 DDR。 

其中的一个源必须是 AXI_HP 的一个对。其它源可以是其它的 AXI_HP 对,也可以是与中央互连相连接的主控器。


除了访问 OCM 和 DDR 的两个数据源之外,它们还需要采用一个特定的序列顺序来执行访问。

下面是显示该序列的具体实例:

AXI_HP 主控器DMA 控制器主控器
AXI_HP_DDR1_1(至 DDR 端口 1)DMA_OCM(至 OCM)
AXI_HP_DDR1_2(至 DDR 端口 1)DMA_ DDR2(至 DDR 端口 2)
AXI_HP_OCM(至 OCM) 


在单独的通道上独立执行地址写入和数据写入;但在从设备中,写入数据的顺序必须遵循从设备接受的写入地址序列,也就是说不允许重新排序。 

以下是 DDR 上可能出现的一种事务处理排序:

  • AXI_HP_DDR1_1:AXI_HP 的第 1 个写入成功了。
  • DMA_DDR2:DDRC 接受该事务处理,但不能完成,因为在 DMA_OCM 完成之前不提供写入数据
  • AXI_HP_DDR1_2:在 DMA_DDR2 完成之前,DDR 无法处理该任务
 以下是 OCM 上可能出现的事务处理排序:
  • AXI_HP_OCM:OCM 接受该事务处理,但不能完成,因为在 AXI_HP_DDR1_2 完成之前不提供写入数据。
  • DMA_OCM:在 AXI_HP_OCM 完成之前,DDR 无法处理该任务。

从上面可以看出,出现了锁死情况。

解决方法信息:有几个解决该问题的方法:

  • 确保 AXI_HP0/AXI_HP1 的主对只访问 OCM 或 DDR 的单个目标,而 AXI_HP2/AXI_HP3 的主对也仅限于访问 OCM 或 DDR。
  • 对 1 个未完成事务的 AXI_HP 端口进行写入问题限制。对于写入,这可通过将 0x0 写入 AFI_WRCHAN_ISSUINGCAP 来实现。

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
53051 Zynq-7000 AP SoC - PS DDR Controller N/A N/A
AR# 47484
日期 02/12/2018
状态 Active
Type 设计咨询
器件
  • Zynq-7000
的页面