AR# 35193

MIG Virtex-6 DDR2/DDR3 - 読み出しレベリング ステージ 2 のデバッグ

説明

このアンサー レコードは、MIG Virtex-6 DDR2/DDR3 のキャリブレーション プロセスの読み出しレベリング ステージ 2 を検証するために解析すべき点をまとめたものです。読み出しレベリング ステージ 2 キャリブレーション プロセスの一般情報については (ザイリンクス アンサー 35129) を参照してください。

メモ : このアンサー レコードは MIG ハードウェア デバッグに関連したアンサー レコードの 1 つで、ユーザーがデバッグ ポートが有効になっている MIG サンプル デザインを実行しているものと仮定しています。このデバッグ フローの最初から始めるのが最善です。ハードウェア デバッグ フローの最初から開始するには、 (ザイリンクス アンサー 34588) を参照してください。

メモ :このアンサー レコードはザイリンクス MIG ソリューション センタにある (ザイリンクス アンサー 34243) からの抜粋です。ザイリンクス MIG ソリューション センタには、MIG に関するすべての質問についての回答が含まれます。MIG を含むデザインを新しく作成する場合、または問題のトラブルシュートをする場合は、このザイリンクス MIG ソリューション センタから情報を入手してください。

ソリューション

関連信号 :
  • キャリブレーション ステート マシン変数 (便利な ChipScope トリガ)
    • cal2_state_r = ステージ 2 のステート マシン
  • バイト カウント (便利な ChipScope トリガ)
    • cal2_cnt_rden_r = キャリブレートされているステージ 2 のバイト
  • ビットスリップ カウント
    • dbg_rd_bitslip_cnt = 遅延されるビット x データ数
  • 読み出しクロック遅延カウント
    • dbg_rd_clkdly_cnt = 遅延されるビット x データ数
  • 書き込みクロック遅延カウント
    • dbg_wr_calib_clk_delay[1:0] = 書き込みレベリング スキュー/DQS 反転となる書き込みを内部遅延させるためのクロック サイクル数
  • データ カウントの読み出しコマンド
    • dbg_rd_active_dly = データが返される読み出しコマンド出力後のクロック サイクル数
  • データ パターンを検証するための読み出しデータ
    • dbg_data = データ リードバックデータ バスを 4 で分割し、rd_data_rise0、rd_data_fall0、rd_data_rise1、rd_data_fall1 にデータをまとめることができます。たとえば、dbg_rddata[63:0] : [15:0] = rise data 0、[31:16] = fall data 0、[47:32] = rise data 1、[63:48] = fall data 1 となります。
関連ファイル :

読み出しレベリング ロジックは rtl/phy/phy_rdlvl.v/.vhdモジュールに含まれています。

デバッグの手順 :

ステージ 2 でのデータ パターン「FF00AA5555AA9966」は継続的に書き込まれリードバックされます。書き込みは読み出しビットスリップおよびアライメントのためシフトされます。これは、DQS グループを正しい CK サイクルにアラインするために書き込みキャリブレーションを行うだけでなく、再同期化クロック ドメインで取り込まれたデータ ワードをアラインする読み出しレベリング ステージ 2 も実行します。

  • シフトが発生していることを確認するため、ChipScope を使用して読み出しデータを解析します。これは、アライメントにシフトしている状態を図で表現したものです。

  • 読み出しデータ パターンのリードバックが正確で、またアラインされていることを確認します。つまり、rddata_rise0 で取り込みが開始するパターンは FF00AA5555AA9966 になるということです。次は、間違ったデータ パターンのリードバック、間違ったアライメントを示す ChipScope の波形です。

この波形ではデータ パターンが間違っています。正しくは ddata_rise0 から FF00AA5555AA9966 となるはずですが、このパターンは rddata_rise1 で開始し、55 ではなく 54 を含んでいます。これは、パターンが間違っているだけでなく、ビットスリップが正しく完了しなかったことを示します。ビットスリップが正しく完了している場合、アラインされているデータは rddata_rise0 で開始します。データ パターンが間違っている理由については以下を参照してください。

ステージ 2 のキャリブレーション中にどのバイトにエラーが出ているのかをどう判断するのですか。
  • dbg_wr_calib_clk_delay を確認します。このバスには DQS グループごとに 2 ビット含まれます。2 ビットの各グループが値 3 に等しくなるときは常にキャリブレーション中に対応するバイトにエラーが出ています。たとえば、ビットが [1:0] = 3 の場合、byte[0] はキャリブレートされていません。

どのような問題が起きますか。
  • ビットで足止め (または PCB でビットが接続されない)
  • トレースが一致しない
  • 若干のシグナル インテグリティの問題
    • IBIS を使用したシグナル インテグリティ シミュレーションを実行すること
  • ピン配置が間違っている
    • RTL でパラメータを調整せず別の列にバイトを移動
  • キャリブレーション データの書き込みに問題
ボード レイアウトおよびピン配置/バンク要件が合っていることを確認するには次を参照してください。 デバッグ ポートの使用一般ガイドラインは (ザイリンクス アンサー 35206) を参照してください。
AR# 35193
日付 05/17/2010
ステータス アクティブ
種類 一般
デバイス 詳細 概略
IP