2017-08-02 106 views
0

我想知道MicroBlaze的數據總線例外情況。在MicroBlaze產品手冊中,它指出只有在緩存關閉時才能在M_AXI_DC上發生異常?這對我沒有意義;是否意味着如果在M_AXI_DC行上給出錯誤響應,如果啓用緩存,則不會觸發異常?我目前有C_DCACHE_ALWAYS_USED設置爲1,所以這不是一個問題。MicroBlaze AXI4異常

謝謝。從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 

回答

0

根據我的硬件/軟件的測試和使用AXI BRAM控制器產生ECC錯誤注射​​,如果緩存中的MicroBlaze不會發出數據或指令緩存例外即使在寫入之前緩存被禁用,並在讀取之前重新啓用以觸發異常。如果高速緩存被刷新並失效,那麼情況也是如此,然後立即讀回。

這基本上意味着ECC在啓用緩存的MicroBlaze設計中毫無價值;因爲它們不會觸發任何硬件異常。

即使AXI BRAM控制器的響應是SLVERR,MicroBlaze也會按原樣接受數據;彷彿沒有什麼不好的事情可能發生。

這是誰設計的。 嚴重

我猜唯一的保證是使用中斷來檢測ECC​​錯誤;其優先級低於硬件異常。