2017-08-02 3 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

とECC障害注射を生成するAXI BRAMコントローラーを使用してキャッシュがある場合は、MicroBlazeがデータや命令キャッシュ例外を発行しません書き込みの直前にキャッシングが無効になっていても有効です。例外をトリガするために読み取りの前に再度有効にしてください。これは、キャッシュがフラッシュされて無効化され、すぐに読み込まれる場合も同様です。

これは基本的に、キャッシングが有効になっているMicroBlazeデザインではECCが役に立たないことを意味します。ハードウェアの例外をトリガーしないためです。

AXI BRAMコントローラの応答がSLVERRであっても、MicroBlazeはそのデータをそのまま受け入れます。まるで何も悪いことが起こらないかのように。

誰がこれを設計しましたか? 真剣に

唯一の確実な方法は、割り込みを使用してECCエラーを検出することです。ハードウェア例外よりも優先順位が低くなります。

関連する問題