【问题标题】:MicroBlaze AXI4 ExceptionsMicroBlaze AXI4 异常
【发布时间】:2017-08-04 02:59:32
【问题描述】:

我想知道 MicroBlaze 的数据总线异常。在 MicroBlaze 产品手册中,它指出异常只能在缓存关闭时发生在 M_AXI_DC 上?这对我来说没有意义;是不是意味着如果在M_AXI_DC线上给出了错误响应,如果启用缓存就不会触发异常?我目前将 C_DCACHE_ALWAYS_USED 设置为 1,所以这不是问题。

谢谢。

MicroBlaze 产品指南摘录:

The data cache AXI4 interface (M_AXI_DC) exception is caused by:

    - An error response on M_AXI_DC_RRESP or M_AXI_DC_BRESP,
    - OKAY response on M_AXI_DC_RRESP in case of an exclusive access using LWX.

The exception can only occur when C_DCACHE_ALWAYS_USED is set to 1 and the
cache is turned off

【问题讨论】:

    标签: embedded microblaze axi4


    【解决方案1】:

    根据我的硬件/软件测试并使用 AXI BRAM 控制器生成 ECC 故障注入,如果启用缓存,MicroBlaze 不会发出数据或指令缓存异常,即使在写入前禁用缓存也是如此;并在读取之前重新启用以触发异常。如果缓存被刷新和失效,然后立即读回,也是这种情况。

    这基本上意味着 ECC 在启用缓存的 MicroBlaze 设计中毫无价值;因为它们不会触发任何硬件异常。

    即使 AXI BRAM 控制器的响应是 SLVERR,MicroBlaze 也会按原样接受数据;好像不可能发生任何不好的事情。

    这是谁设计的。 说真的

    我想唯一可靠的方法是使用中断来检测 ECC 错误;优先级低于硬件异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多