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

ID 683216
日付 12/14/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

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

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

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

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

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

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

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

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

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

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

シミュレーションについての詳細は、シミュレーションの章を参照してください。