インテルのみ表示可能 — GUID: pht1510928039407
Ixiasoft
3.1. ブートフローの概要
FPGAコアとペリフェラルをコンフィグレーションする前に、HPSとHPS EMIF I/O先行をブートできます。MSEL[2:0] 設定により、HPSをブートするためのソースを特定します。このモードでは、HPSのブート中、FPGAに割り当てられたI/Oはすべてトライステートのままになります。その後、HPSはSDMに、HPS EMIF I/Oを除くFPGAコアとペリフェラルをコンフィグレーションするように要求できます。ソフトウェアは、FPGAコアとペリフェラルのコンフィグレーション・ソースを特定します。HPS First Bootモードでは、SSBLステージ中またはオペレーティング・システムのブート後に、FPGAコアをコンフィグレーションするオプションがあります。
注: HPS EMIF I/Oを初めにコンフィグレーションしてから、HPS FSBLをロードすることを、「フェーズ1コンフィグレーション」と呼びます。HPSによるFPGAコアとペリフェラルのその後のコンフィグレーションは、「フェーズ2コンフィグレーション」と呼びます。フェーズ1とフェーズ2のコンフィグレーション・ファイルは、同じ インテル® Quartus® Prime プロ・エディション開発ソフトウェア・バージョンから生成する必要があります。該当する場合、これにはインストールされたパッチが含まれます。
一般的なHPS First Bootフローは、次の図のようになります。FSBLまたはSSBLには、U-Boot、Unified Extensible Firmware Interface (UEFI)、またはカスタム・ブートローダーを使用できます。OSの例は、LinuxまたはRTOSです。フローには、パワーオンリセット (TPOR) からブート完了 (TBoot_Complete) までの時間が含まれています。
図 6. 一般的なHPS Boot Firstフロー
時間 | ブートステージ | デバイスの状態 |
---|---|---|
TPOR | POR | パワーオンリセット |
T1からT2 | SDM- Boot ROM |
|
T2からT3 | SDM- コンフィグレーション・ファームウェア |
|
T3からT4 | 第1ステージ・ブートローダー (FSBL) |
|
T4からT5 | 第2ステージ・ブートローダー (SSBL) | ブートストラップが完了すると、次のいずれかの手順が発生する可能性があります。
|
T5からTBoot_Complete | オペレーティング・システム (OS) |
|
注: コンフィグレーション、FSBL、SSBLおよびOSのソースファイルの位置はさまざまです。詳細については、HPS Boot Firstモードのシステムレイアウトの項を参照してください。
注: コンフィグレーションの失敗を回避するためには、インテルStratix 10デバイスに、 PCIe* 用のクロックとすべてのEタイル・トランシーバーのリファレンス・クロックが必要です。入力リファレンス・クロック refclk を提供する必要があり、デバイスのコンフィグレーションを成功させるには、クロックがデバイスの電源投入時にフリーランニングで安定している必要があります。
LタイルとHタイル (Eタイルには適用なし) - PCIe* リンクを介してインテルStratix 10デバイスをコンフィグレーションする場合、refclk 要件は必須です。それ以外の場合の、 PCIe* 以外のユースケースでは refclk 要件は必須ではありません。
- PCIe* のユースケースでは、ファームウェアは、PLLキャリブレーション・コードを待機して、PLLが適切にキャリブレーションされていることを確認し、デバイスを解放してユーザーモードに入ります。したがって、PLLキャリブレーションには refclk が必須です。
- PCIe* 以外のユースケースでは、コンフィグレーション中に refclk 電源がない場合、ファームウェアは適切なPLLキャリブレーション・コードがないとデバイス・コンフィグレーションをゲートしません。XCVRチャネルが正しく動作するように、ユーザーモードでXCVR PLLをキャリブレーションできます。
Eタイル (LタイルとHタイルには適用なし) - refclk 要件は必須です。Eタイルは、 PCIe* のユースケースをサポートしていません。
- SPICOコントローラーが、(コンフィグレーション・ビットストリームの一部である) ファームウェアをEタイルにロードするには、refclk が必要です。
2 FPGA I/OおよびFPGAコアのコンフィグレーションは、SSBLまたはOSステージで行うことができますが、通常はSSBLステージでコンフィグレーションされます。