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

Zynq-7000 SoC、APU — “STREX 通过”寄生事件 0x63 可能会通过 LDREX 指令报告。

描述

在 LDREX 指令执行前,执行的强秩序存储器区域写入,可能会导致在没有执行STREX 指令的情况下发出 STREX 通过事件 (0x63) 信号。

作为写入结果,所报告的 0x63 事件计数可能会大于实际发生的数量。此外,该问题还会影响相关的 PMUEVENT[27] 信号,其将再次报告相同的寄生事件。

解决方案

在以下条件下会出现该问题:

  • 处理器向强秩序存储器区域执行写入指令。
  • 处理器执行 LDREX 指令。
  • 没有执行 DSB 指令,而且在写入指令与 STREX 指令之间没有异常调用或异常返回。

在这些条件下,如果在执行 LDREX 时,强秩序存储器区域的写入指令收到其确认(AXI 上的 BRESP 响应),那么就会出现上述故障。

影响:轻微.该问题的发生会导致 0x63 事件的一个错误计数,或错误的 PMUEVENT 信号发送[27]。
解决方法::在强秩序存储器区域的写入指令和 LDREX 指令之间插入 DMB 或 DSB 指令。
受影响的配置: 使用 CPU 的系统。
受影响的器件修订版本:全部。无计划修复。参考 (Xilinx Answer 47916) - Zynq-7000 SoC 芯片版本差异。

修订历史:
05/16/2013 - 初始版本

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
47916 Zynq-7000 SoC 器件:芯片修订差异 N/A N/A
AR# 55018
日期 06/13/2018
状态 Active
Type 设计咨询
器件
的页面