EMIF キャリブレーションに関するよくある質問、既知の問題、チェックリスト

外部メモリー・インターフェイスの EMIF キャリブレーションの問題のトラブルシューティングのために、FAQ とチェックリストが提供されています。

キャリブレーションに影響を与える基本的な UniPHY IP 関連のパラメーターに関する FAQ

はい。キャリブレーションはボード固有のもので、正しいボード設定を入力する必要が場合があります。ボードのトレースのシミュレーションを実行して、ボードトレースの遅延を確認し、正しく入力してください。

セットアップとホールドのディレーティング係数は、メモリー・ベンダーのデータシートで指定されているものを選択してください。

はい。不正確なアドレスやコマンドのスキューがある場合、キャリブレーションは失敗します。キャリブレーションは、最初の読み込み段階で失敗します。

書き込みデータの整合性に対して、CAS レイテンシー、アドレス、コマンドなどのタイミング・パラメーターが正しくないと、キャリブレーションが失敗する場合があります。UniPHY の書き込みレイテンシー・キャリブレーション・ステージで失敗します。
メモリー・パラメーターは、メモリーの速度ではなく、デザイン固有の動作速度に従う必要があります。

はい、Quartus® Prime または Quartus® II ソフトウェアの 1 つのバージョンから別のバージョンに移行する場合、常に IP を再生成する必要があります。これは、プロジェクトが正しいバージョンの UniPHY とコントローラーを持っているかを確認するためです。IP が再生成されない場合、お持ちの UniPHY は最新ですが、コントローラーが古いままです。

いいえ。ただし、GUI のフェーズ設定を変更すると、クロック・スキューのバランシングは向上します。

そうかもしれません。デザインの制約を実行する前に、過剰な制約が EMIF 機能に与える影響の詳細を十分に理解してください。

トライステート設定前のリリースクリアは、V シリーズ以外のデバイスのキャリブレーション失敗に影響を与えます。トライステート設定前にリリースクリアを確認する: アセンブラー > 設定 > トライステート前のリリースクリア。
もしこれが「オフ」ステージでない場合は、QSF ファイルに以下の割り当てを追加してください。
“set_global_assignment -name RELEASE_CLEARS_BEFORE_TRI_STATES OFF” 設定とデフォルト値の両方を「オフ」にしてください。

はい。ポートの定義と割り当ては、VHDL で重要です。定義が間違っていると、Quartus® Prime または Quartus® II ソフトウェアがポートを適切に接続できません。このため、デザインがキャリブレーションから出られなくなる場合があります。

キャリブレーションに影響する基本的なボードデザインに関する FAQ

はい。ボードレイアウトのデザインが悪いと、キャリブレーションの失敗を引き起こします。ボードをデザインする際は、ボードのレイアウト・ガイドラインをご覧ください。

他のインターフェイスやオペレーションからのノイズやジッターが、インターフェイス信号を破壊する場合があります。常に、静かな条件でデバッグしたり、ボード上の他の操作のスイッチをオフにしてから、問題のあるスタンドアロンデザインを実行してください。

キャリブレーション中に調整 (遅延) できるのは DQS 信号のみであるため、CK を DQS よりも長くする必要があります。

いいえ。インテル FPGA、mem_reset_nを終了しないことをお勧めします。Micron 仕様は、プルアップもプルアップダウンも示していません。ボード終了が JEDEC の仕様と一致していることを確認してください。

同じボード上で 2 つの異なるメモリーデバイスを (互換的に) 使用している場合は、メモリーデバイスと PCB 環境の GUI パラーターで、両方のメモリー・インターフェイスの最低のケース値を使用してください。

いいえ。Vtt が適切に終了してデカップルされていることを確認してください。

キャリブレーションの失敗の原因となった既知の問題

そうかもしれません。fPLL を修正した最新のシリコンバージョンを使っていることを確認してください。それ以外には、PLL phasdone とロック信号を確認してください。もしこれが「低」で止まっている場合は、PLL グローバルの問題に関連しています。

そうかもしれません。この問題は、キャリブレーション・プロセスのどの段階でも失敗を引き起こす可能性があります。この問題は、Quartus® II バージョン 13.1 および 14.0 で、パッチによって修正されました。

以前のソフトウェア・バージョンで修正された既知の問題

この問題は、これまでいかなるキャリブレーションの失敗も引き起こしていません。確認するには、シグナルタップで dll_delayctrlout 信号をルートアウトし、Read FIFO からの Read データが破壊された時の移行を、観察する必要があります。この問題は、Quartus® II バージョン 13.0SP1 DP5 で修正されています。

HMC-IOREG 読み取り失敗の問題は、キャリブレーション失敗を引き起こしません。この問題は、Quartus® II バージョン 13.0SP1 DP5 (Arria® V と Cyclone® FPGA) および 13.1 (Arria® V SoC と Cyclone® V SoC) で修正済みです。

DM ピンの古いキャリブレーション・シーケンスは最適条件ではなく、キャリブレーションの失敗を引き起こす場合があります。DM ピンの、データの有効ウィンドウについては、キャリブレーション・レポートを確認してください。もしデータの有効ウィンドウがゼロの場合は、この問題が関連しています。この問題を解決するには、Quartus® Prime または Quartus® II ソフトウェア v13.0 以降に更新してください。

そうかもしれません。Quartus® II バージョン 13.1.1 および 13.1.2 を使用すると、SDRAM のステージ 1、サブステージ 1 でキャリブレーションが失敗します。この問題は、Quartus® II バージョン 13.1.3 で修正されています。

そうかもしれません。Quartus® II バージョン 13.0 または 13.0SP1 を使用している場合に、この問題がキャリブレーション・プロセスで失敗を引き起こす可能性があります。この問題は、Quartus® Prime または Quartus® II ソフトウェア・バージョン 13.1 以降で修正済みです。

サポートに連絡するにはどうすればよいですか?

サポートを受けるには、以下の 2 つの方法があります。

インテル® FPGA プログラム向けインテル® プレミア・サポート(IPS) に登録する方法

  • アーカイブ・プロジェクトを添付した、基本デザイン / プロジェクト情報。
  • 失敗した条件のリストを作成してください。
  • 必要な信号を搭載した SignalTap*2 を用意してください。
  • キャリブレーションに失敗するデザインの、キャリブレーション失敗信号をトリガーしてください。
  • 読み取り / 書き込みテストに失敗するデザインの、ステータス失敗信号をトリガーしてください。
  • デバッグ・ツールキットを使用して、マージン / ウィンドウを確認してください。デバッグ・ツールキットで、デバッグ・レポートを作成してください。
  • サービス・リクエストの中に、デフォルトの UnipHY 制約に行ったあらゆる変更のリストを作成してください。
  • インテル® FPGA のデザイン例を使って、問題の再現を試みてください。