UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 54710

MIG 7 Series - DDR3 - 読み出し-変更-書き込みの操作でコントローラーが停止する

説明

問題の発生したバージョン : MIG 7 Series 1.8
修正バージョン : (ザイリンクス アンサー 45195) を参照

ECC ロジックがイネーブルになっているときユーザー デザインの最上位ラッパーに既知の問題があり、読み出し-変更-書き込みの操作が実行されるとコントローラーが停止してしまいます。最初の読み出しは正しく実行されるのですが、その後に続く書き込みが発生しません。その代わり、app_rd_data_valid がアサートされ、コントローラーが UI インターフェイスに読み出されたデータを返してしまいます。この後すぐにコントローラーは停止し、app_rdy 信号は恒久的にディアサートされた状態になります。

ソリューション

ECC パラメーターの 2 つ (MC_ERR_ADDR_WIDTH および ECC_WIDTH) がユーザー デザインの最上位ラッパーで間違って定義されているためにこの問題が発生します。これらのパラメーターは最上位ユーザー デザインでは統計的に設定されていますが、一部のコンフィギュレーションでは、間違って設定されるので、上記のような動作が発生します。これらのパラメーターは、example_design.v/.vhd で設定されているように、ダイナミックに設定する必要があります。この問題を回避するには、最上位ユーザー デザインにある MC_ERR_ADDR_WIDTH および ECC_WIDTH パラメーターの定義を次のものに置き換えます。

localparam C0_MC_ERR_ADDR_WIDTH = ((C0_CS_WIDTH == 1) ? 0 : C0_RANK_WIDTH)
                                 + C0_BANK_WIDTH + C0_ROW_WIDTH + C0_COL_WIDTH
                                 + C0_DATA_BUF_OFFSET_WIDTH;

localparam C0_ECC_WIDTH = (C0_ECC == "OFF")?
                           0 : (C0_DATA_WIDTH <= 4)?
                            4 : (C0_DATA_WIDTH <= 10)?
                             5 : (C0_DATA_WIDTH <= 26)?
                              6 : (C0_DATA_WIDTH <= 57)?
                               7 : (C0_DATA_WIDTH <= 120)?
                                8 : (C0_DATA_WIDTH <= 247)?
                                 9 : 10;

注記 : マルチコントローラー デザインの場合は、C0 はメモリ コントローラーの数に対応している必要があります (C0、C1、C2 など)。

改訂履歴
2013/03/05 - 初版

AR# 54710
作成日 03/04/2013
最終更新日 09/06/2013
ステータス アクティブ
タイプ 既知の問題
デバイス
  • Artix-7
  • Kintex-7
  • Virtex-7
  • Zynq-7000
IP
  • MIG 7 Series