MicroBlaze AXI4 异常

MicroBlaze AXI4 Exceptions

我想知道 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

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

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

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

这是谁设计的。 认真.

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