説明
問題の発生したバージョン : MIG 7 Series v1.5
MIG 7 Series DDR3/DDR2 デザインには、最上位 RTL パラメーター ECC_TEST で制御される ECC セルフテスト機能が含まれています。
デフォルトでは、このパラメーターは OFF に設定されており、DRAM アレイに書き込まれたデータの ECC 部分はユーザー インターフェイスでは確認できません。
ECC ビットに対応する DRAM アレイのビットをテストすることができないため、システム セルフテストでは、これは問題になる可能性があります。
また、ECC 生成および訂正ロジックをテストするためのエラーを送信することもできません。
ECC_TEST を ON に設定すると、DRAM アレイ テスト モードを生成できます。
ECC_TEST が ON の場合、DQ データ バスの幅全体が、ユーザー インターフェイスの読み出しおよび書き込みバッファーを介して拡張されます。
ECC 訂正イネーブルもディアサートされます。
しかし、ECC_TEST を ON に設定するため MIG デザインを手動で変更した後、合成中に次のようなエラー メッセージが表示されます。
ERROR:HDLCompiler:532 - "\mig_7series_v1_6\user_design\rtl\ip_top\memc_ui_top_std.v" Line 735: Index <71> is out of range [63:0] for signal <wr_data_mask>.
ソリューション
wr_data_mask が適切な幅で宣言されていない RTL の問題に起因して、この問題が発生します。
問題を回避するには、wr_data_mask の幅を手動で変更します。
変更前 :
wr_data_mask [2*nCK_PER_CLK*DATA_WIDTH/8 -1 :0]
変更後 :
wr_data_mask [71 : 0]