外部メモリー・インターフェイス・インテル® Stratix® 10 FPGA IPユーザーガイド

ID 683741
日付 9/30/2019
Public
ドキュメント目次

13.2.4. サンプルドライバーを変更することによる失敗の再現

デバッグを行っている際に、サンプル・ドライバー・デザインは問題なく機能するにもかかわらず、カスタムロジックにデータエラーが発生することを認識する場合が多くあります。

デザイン例が機能し、ご自身のカスタムデザインが機能しない場合の根本的な問題は、次のいずれかの可能性があります。

  • ローカル・インターフェイス・トランザクションの発生方法に関連している場合。Signal Tap IIアナライザーを使用し、プローブと比較を行う必要があります。
  • 外部メモリー・インターフェイスでのトランザクションのタイプまたは形式に関連している場合。デザイン例を変更し、問題の再現を試みる必要があります。

ローカル・インターフェイス側の典型的な問題は次のとおりです。

  • ローカルアドレスからメモリーアドレスへの変換が正しくないため、ワードオーダーが想定と異なっている。メモリーベンダーより提供されているデータシートのバースト定義を参照ください。
  • ローカル・インターフェイスのタイミングが不正確。デザインがトランザクションを要求する際に、ローカル側はトランザクションが受け入れられると一時停止することなくすぐにそれを処理する準備ができている必要があります。
  • 詳細は、Avalon®インターフェイスの仕様を参照ください。

デフォルトのサンプルドライバーは、限られたトランザクション・タイプのセットのみを実行します。そのため、潜在的なバスの競合問題またはプリアンブルとポストアンブルの問題は、デフォルトの動作においてマスクされることが多くあります。デバッグを成功させるには、読み出しおよび書き込みエラーの原因となっているカスタムロジックのトランザクション・タイプを分離し、サンプルドライバーを変更して同じ問題を表します。次に、変更したドライバーを使用し、RTLシミュレーションでエラーの再現を試みます。

RTLシミュレーションで再現できる問題は、IPの潜在的なバグを示しています。IPのパラメーターを再度確認する必要があります。RTLシミュレーションで再現できない問題は、PCBにおけるタイミングの問題を示しています。インテルの開発プラットフォームで問題の再現を試み、ボードの問題を除外することができます。

注: PCBのタイミング、負荷、スキュー、ディレーティングの情報がすべて、 インテル® Quartus® Prime開発ソフトウェアで正しく定義されていることを確認します。この初期のデータが正しくない場合、タイミングレポートは不正確になります。

機能のシミュレーションでは、メモリー・コントローラーまたはPHYのコンフィグレーションに関する問題を特定できます。その後、メモリーベンダーのデータシートおよび各JEDEC仕様に対して動作を確認できます。機能的な問題を解決後、ハードウェアのテストを開始することができます。

シミュレーションに関する詳細は、シミュレーションの章を参照ください。