cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

設計手法レポートの使用方法パート 3: タイミングは満たされているのにハードウェアで DDR4 キャリブレーション エラーが発生する

takayos
Xilinx Employee
Xilinx Employee
4 0 363

このブログは、英語版の Using the Methodology Report Part Three: Timing is met but there are DDR4 calibration failures in hardware  を翻訳したものです。

このブログ エントリの解析は、DDR4 キャリブレーションでエラーが発生するというお客様の実際の問題に基づいています。このエラーが発生するかは、ボード、ビルドによって異なりました。このブログでは、根本的な原因を絞り込み、問題を修正するために使用したデバッグ手法の一部を紹介します。

最終的には、ユーザー制約の XDC set_false_path により MIG IP 制約がオーバーライドされたことによってこの問題が発生したことがわかりました。この結果から set_false_paths を正しく使用することが重要であることがわかります。

このブログは、設計手法レポートの使用方法シリーズのパート 3 です。シリーズのすべてのエントリについては、このページを参照してください。

問題について

ユーザーは Vivado フローと SDx フローの両方を使用したデザインを使用していました。このデザインには、2000 Mbps で動作する 2 つの DDR4 64 ビット インターフェイスが含まれていました。デザインのタイミングは満たされましたが、DDR4 インターフェイスの 1 つ、場合によっては両方で、キャリブレーション エラーが発生しました。

ハードウェアのエラーは、ビルドに依存していました。

  • エラーが発生しなかったビルドは、複数のボードで正しく動作しました。
  • エラーが発生したビルドは、複数のボードでエラーが発生しました。
  • 一方または両方のインターフェイスで、ほとんどの場合でエラーが発生しました。
  • エラーが発生したビットは、ビルドによって異なりました。

デバッグ方法:

エラー シグネチャにタイミング制約または CDC の問題が示されているため、次の手順に従いデバッグします。

1) ILA を追加してデザインをインプリメントし直します。

これでエラーが発生しなくなるか、または別のビットに移動します。

インクリメンタル インプリメンテーション フローを使用してエラー シグネチャを保持します。

3) タイミング クロージャを容易にするためにILA にパイプライン段を追加します。

このテストの目的は、エラーが発生している段階で予期パターンを見つけ、エラーが発生しているビットを絞り込むことです。

4) MIG IP の配置距離間をなるべく縮めるように p ブロックを使用します。

この場合、エラー シグネチャは変更されません。

  • タイミングを満たしているインターフェイスがハードウェアでエラーになる
  • タイミングが満たされていないインターフェイスがハードウェアでエラーにならない

上記に基づくと、一部の MIG 制約がユーザーまたは Vivado フローによってオーバーライドされていることに問題があるように見えます。

次に、XDC 制約を確認します。

クロック間の多くのフォルス パス制約がユーザーによって設定されていることがわかります。

次に、推奨されるレポートを実行します。このうち重要なのは report_methodology report_cdc レポートです。

  • Report CDC
  • Report methodology
  • Report exception
  • Report MIG set_max_delay (これらの制約が無視されたかを確認するため)

根本的な原因の解析:

MIG set_max_delay パスが無視されていませんでした。

最大遅延が report_timing によってレポートされています。

一部の MIG パス (ファブリックから PHY) でクリティカル CDC 警告がレポートされています。

次に、これらのパスを、IP integrator フローを使用して作成した、安全にタイミング解析される MIG デザインの例と比較します。

takayos_2-1614212643954.png

 

これらの結果に基づいて、ユーザーが追加したすべてのフォルス パス制約を削除し、フル デザインをインプリメンテーションし直さずにタイミングを再度レポートします。

このレポートには、ワースト ケースで DDR4_rx/tx の両方のタイミング エラーが 3 ns を超えることが示されています。

タイミング サマリ レポートの適用範囲限定のメカニズムを活用して、MIG インターフェイスのみに焦点を絞って解析を実行します。

 

takayos_3-1614212644015.png

 

ここでは、ユーザーが追加したフォルス パス制約により、ファブリックから PHY へのパスが無視されることがわかります。

解決策:

  • 上記のフォルス パスをターゲット XDC から削除し、デザインをインプリメンテーションし直します。
  • デザインは、以前と同様にタイミングに問題がありません。
  • CDC レポートには、以前に無視されたパスが安全にタイミング解析されることが示されます。
  • ハードウェアでビット ファイルをテストすると、両方の DDR4 インターフェイスのキャリブレーションが正しく実行されました。

まとめ:

set_false_path 制約を使用するときは細心の注意を払ってください。

この制約によりタイミング解析が必要なパスが無視されてしまう可能性があります。このような制約でワイルドカードを使用したり、クロック ドメイン全体にフォルス パスを設定する場合は、それらの間のパスにタイミング解析が必要ないことを必ず確認する必要があります。確認を怠った場合、ハードウェア エラーが発生し、その後のデバッグ プロセスが困難で時間がかかる可能性があります。

タイミングが満たされているデザインでハードウェア エラーが発生する状況に直面した場合、Vivado で実行できるチェックが多数あります。これらのチェックは、特に配置配線後には、常に実行する必要があります。タイミングが満たされているだけでは十分ではなく、これらチェックを必ず完了する必要があります。

1) クロック関連性レポート:

デザインに含まれるすべてのクロックの情報がレポートされます。

2) 設計手法レポート

安全ではないパスまたはユーザーが無視したパスが検出された場合は、設計手法レポートを使用して、クリティカル警告に注目します。

3) CDC レポート

この例では、レポート CDC レポートを使用してユーザーの制約が原因で無視されたクリティカル パスを特定しました。

これらの結果を MIG のデザイン例と比較することで、設計に存在する数百万のパスから疑わしいパスを見つけることができました。

このレポートを使用すると、適用範囲限定のメカニズムを使用して、選択したモジュールに分析を絞り込むことができます。

4) 例外レポート

このレポートでは、set_false_paths set_clock_groups などのタイミング例外が存在する場合、これらによって無視されたパスに関する情報を確認できます。

その他のヒント:

非常に大規模なデザインでは、数百万のパスを解析するのは非常に困難で時間がかかります。

迅速なターンアラウンドを実現するには、次のコマンドを使用してレポートの範囲を絞り込みます。

[Schematic] ウィンドウでインスタンスをハイライトするには、次を実行します。

report_cdc -cells [get_selected_objects] -details -name <cdc_report_xyz>
report_timing_summary -cells [get_selected_objects] -name <report_xyx>

set_max delay が無視されているかどうかを確認するには、次を実行します。

report_timing -from [get_pins */*/*/*/slave_rdy_cptd_sclk_reg/C] -to [get_pins */*/*/*/u_slave_rdy_cptd_sync/SYNC[*].sync_reg_reg[0]/D] -name t3

上記のタイミング パスは、MIG XDC に含まれています。

-name オプションを使用すると、GUI にレポートを表示できます。