DRAM コマンド/アドレス バスには、add_par_err_inj レジスタを使用してパリティ エラーを挿入できます。このレジスタには、DDRMC の各サブチャネルにパリティ エラーを挿入するためのフィールドがあります。エラー挿入のセットアップでは、読み出し CAS コマンド、書き込み CAS コマンド、またはランダム コマンドのいずれかを選択できます。このレジスタはエラーが挿入されたコマンドのログを記録して、done ビットをセットします。エラー挿入イベントが発生後、done ビットをクリアすると、エラー挿入を再び有効にして次のエラーを挿入できるようになります。
- エラーを挿入するコマンドのタイプを選択するには、
DDRMC_MAIN_n.add_par_err_inj[cmd_type{0,1}]
に書き込みます (n は DDRMC 番号、cmd_type
の後の 0 と 1 は DDRMC サブチャネル番号)。デフォルトでは、エラーは任意の DRAM コマンドに挿入されます。このレジスタを 1 に設定すると DRAM 読み出し CAS コマンドのみ、2 に設定すると DRAM 書き込み CAS コマンドのみにエラー挿入が制限されます。 -
DDRMC_MAIN_n.add_par_err_inj[cmd_en{0,1}]
に1’b1
を書き込んで、エラー挿入を有効にします。 - 選択したコマンド タイプを使用してメモリにアクセスします。
-
DDRMC_MAIN_n.add_par_err_inj[cmd_done{0,1}]
を読み出します。値が1’b1
の場合、エラー挿入が完了しています。dram_rank{0,1}
およびdram_cmd{0,1}
フィールドを読み出すと、どのコマンドとランクにエラーが挿入されたかを確認できます。 -
DDRMC_MAIN_n.DDRMC_ISR[DRAM_PARITYm]
を読み出して、DRAM パリティ エラー ステータスを確認します。n
はメモリ コントローラー番号で、m
はそのメモリ コントローラー内のチャネル番号です。