インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

A.2. HPS Boot Firstモードの概要

FPGAコアおよびペリフェラルをコンフィグレーションする前に、HPSおよびHPS EMIF I/Oを最初にブートすることができます。MSEL[2:0] の設定は、HPSをブートするソースを決定します。このモードでは、HPSのブート中、FPGAに割り当てられているI/Oはトライステートに維持されます。その後HPSは、HPS EMIF I/Oを除くFPGAコアとペリフェラルをコンフィグレーションします。ソフトウェアは、FPGAコアとペリフェラルのコンフィグレーション・ソースを特定します。HPS先行のブートモードでは、SSBLの段階、もしくはOSのブート時にFPGAコアをコンフィグレーションするオプションがあります。

HPS Boot Firstモードのコンテキストにおいて、HPS EMIF I/Oの初期コンフィグレーションとHPS FSBLのロードは、「フェーズ1コンフィグレーション」と呼ばれます。続いてHPSによって行われるFPGAコアとペリフェラルのコンフィグレーションは、「フェーズ2コンフィグレーション」と呼ばれます。

一般的なHPS Boot Firstのフローは、次の図のようになります。U-Boot、Unified Extensible Firmware Interface (UEFI)、もしくはお使いのFSBLまたはSSBLに向けたカスタム・ブート・ローダーを使用することができます。OSには、LinuxやRTOSが例として挙げられます。このフローには、パワーオンリセット (TPOR) からブート完了 (TBoot_Complete) までの時間が含まれます。
図 132.  一般的なHPS Boot Firstにおけるフロー
表 228.  HPS Boot Firstのステージ
時間 ブートステージ デバイスの状態
TPOR POR パワーオンリセット
T1からT2 SDM: ブートROM
  1. SDMはMSELピンをサンプリングし、コンフィグレーション・スキームとブートソースを特定します。
  2. SDMは、eFuseの値に基づきデバイスのセキュリティー・レベルを確立します。
  3. SDMは、ブートソースからコンフィグレーション・ファームウェア (ビットストリームの最初の部分) を読み出すことにより、デバイスを初期化します。
  4. SDMは、コンフィグレーション・ファームウェアを認証および復号します (このプロセスは、コンフィグレーション全体で必要に応じて行われます)。
  5. SDMはコンフィグレーション・ファームウェアの実行を開始します。
T2からT3 SDM: コンフィグレーション・ファームウェア
  1. SDMは、HPS EMIF I/Oおよびユーザーがコンフィグレーションしている残りのSDM I/Oをコンフィグレーションします。
  2. SDMは、FSBLをビットストリームからHPSオンチップRAMにロードします。
  3. SDMはHPS SDRAM I/Oを有効にし、オプションでHPSデバッグを有効にします。
  4. HPSはリセットから解放されます。
T3からT4 第1ステージ・ブートローダー (FSBL)
  1. FSBLは、SDRAMを含むHPSを初期化します。
  2. FSBLは、HPSフラッシュから、もしくはSDMからのフラッシュアクセスを要求することにより、SSBLを取得します。
  3. FSBLはSSBLをSDRAMにロードします。
  4. HPSペリフェラルI/Oピンの多重化とバッファーがコンフィグレーションされます。クロック、リセット、およびブリッジもコンフィグレーションされます。
  5. HPS I/Oペリフェラルが利用可能になります。
T4からT5 第2ステージ・ブートローダー (SSBL)
  • HPSブートストラップが完了します。

ブートストラップが完了すると、次の手順を行うことができます。

  1. FPGAコアのコンフィグレーションが次のいずれかのソースからSDRAMにロードされます。
    • SDMフラッシュ
    • HPS代替フラッシュ
    • EMACインターフェイス
  2. HPSは、FPGAコアのコンフィグレーションをSDMに要求します。58
  3. FPGAはユーザーモードに入ります。
  4. OSがSDRAMにロードされます。
T5からTBoot_Complete オペレーティング・システム (OS)
  1. OSブートが発生し、アプリケーションがランタイムの起動に向けてスケジュールされます。
  2. (オプションの手順) OSは、SSBLへのセキュア・モニター・コール (SMC) を介してFPGAのコンフィグレーションを開始します。その後、SDMへの要求が開始します。
注: コンフィグレーション、FSBL、SSBL、およびOSのソースファイルの位置はさまざまです。
58 FPGA I/OおよびFPGAコアのコンフィグレーションは、SSBLもしくはOSのステージで行うことができますが、一般的に、SSBLのステージにおいてコンフィグレーションされます。