MicroBlaze AXI4例外

时间:2017-08-02 20:30:25

标签: embedded microblaze axi4

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

1 个答案:

答案 0 :(得分:0)

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

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

即使AXI BRAM控制器的响应是SLVERR,MicroBlaze也会接受数据;好像什么都不可能发生。

是谁设计的。 严重

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