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

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

A. ブートとコンフィグレーション

FPGAのセキュア・デバイス・マネージャー (SDM) は、 インテル® Agilex™ SoCデバイスのハード・プロセッサー・システム (HPS) のブートおよびFPGAのコンフィグレーションを管理します。HPSのブートとFPGAのコンフィグレーションはどちらも、常にSDMの初期化から始まる一連のステージで構成されます。

インテル® Agilex™ SoCデバイスがパワーオンリセット (POR) から解放されると、SDMはデバイスの初期コンフィグレーションを管理します。コンフィグレーションおよびブートソースのインターフェイスはすべて、SDMに接続されます。SDMはデバイスのセキュリティー・レベルを特定、適用し、HPSの第1ステージ・ブートローダー (FSBL) を含むビットストリームが信頼できるソースから発信されることを保証します。

インテル® Agilex™ SoCデバイスをプログラミングし、最初にFPGAをコンフィグレーションした後にHPSをブートすることができます。または、最初にHPSをブートし、その後FPGAコアを第2ステージ・ブートローダー (SSBL) の一部としてコンフィグレーションする、もしくはオペレーティング・システム (OS) の起動後にコンフィグレーションすることも可能です。

次のドキュメントは、HPSのブート、FPGAコンフィグレーション、およびセキュリティーの管理に関する包括的なガイダンスを提供します。

インテルでは、FPGAの観点からコンフィグレーション・スキームを説明します。 インテル® Agilex™ デバイスは、アクティブおよびパッシブ・コンフィグレーション・スキームをサポートしています。アクティブ・コンフィグレーション・スキームでは、FPGAがマスターとして機能し、外部メモリーがスレーブデバイスとして機能します。パッシブ・コンフィグレーション・スキームでは、外部ホストがマスターとして機能し、コンフィグレーションを制御します。FPGAはスレーブデバイスとして機能します。 インテル® Agilex™ のコンフィグレーション・スキームはすべて、デザイン・セキュリティー、リモート・システム・アップデート、およびパーシャル・リコンフィグレーションをサポートします。パッシブ・コンフィグレーション・スキームでリモート・システム・アップデートを実装するには、外部コントローラーでコンフィグレーション・ビットストリームを格納および駆動する必要があります。

インテル® Agilex™ デバイスでは、次のコンフィグレーション・スキームをサポートします。
  • Avalon® ストリーミング ( Avalon® -ST)
  • JTAG
  • プロトコル経由コンフィグレーション (CvP)
  • アクティブシリアル (AS) のNormalモードおよびFastモード
  • セキュアデジタル/マルチメディア・カード (SD/MMC)

Avalon-ST

Avalon® -STコンフィグレーション・スキームは、パッシブ・コンフィグレーション・スキームです。 Avalon® -STは、 インテル® Agilex™ デバイスにおける最速のコンフィグレーション・スキームです。 Avalon® -STコンフィグレーションは、x8、x16、およびx32のモードをサポートします。x16ビット・モードおよびx32ビット・モードでは、コンフィグレーションに汎用I/O (GPIO) を使用します。x8ビット・モードでは、専用のSDM I/Oピンを使用します。

注: AVST_data[15:0]AVST_data[31:0]AVST_clk、およびAVST_validは、1.2Vで動作する兼用GPIOを使用します。これらのピンは、デバイスがユーザーモードに入ると、通常のI/Oとして使用することができます。

Avalon® -STでは、AVST_READYピンおよびAVST_VALIDピンを使用してバックプレッシャーをサポートします。着信ビットストリームを伸張する時間は変動するため、 インテル® Agilex™ デバイスへのデータ転送にはバックプレッシャーのサポートが必要です。 Avalon® -STの詳細については、 Avalon® インターフェイスの仕様書を参照してください。

JTAG

インテル® Agilex™ デバイスは、専用のJTAGピンを使用してコンフィグレーションすることができます。JTAGポートは、多くの便利なツールや機能へのシームレスなアクセスを提供します。 インテル® Agilex™ のコンフィグレーション以外にも、JTAGポートは、Signal Tapやシステム・コンソール・ツールでのデバッグに使用されます。

JTAGポートの優先順位は最も高く、MSELピンの設定を上書きします。そのため、セキュリティー上の理由でJTAGを無効にしていない限り、MSELピンで異なるコンフィグレーション・スキームを指定している場合でも、JTAGを介して インテル® Agilex™ デバイスをコンフィグレーションすることが可能です。

CvP

CvPは外部 PCIe® ホストデバイスをルートポートとして使用し、 PCIe® リンクを介して インテル® Agilex™ デバイスをコンフィグレーションします。x16までの PCIe® リンクを指定することができます。通常、 PCIe® リンクではなく、ビットストリームの圧縮率とSDMの入力バッファーのデータレートがコンフィグレーションのデータレートを制限します。 インテル® Agilex™ デバイスは、2つのCvPモード (CvP初期化モードとCvP更新モード) をサポートします。

CvPの初期化プロセスには、次の2つの手順が含まれます。
  1. CvPで、FPGAペリフェラル・イメージをコンフィグレーションします。このイメージには、I/O情報、および PCIe® IPなどのハードIPブロックが含まれます。 PCIe® IPはペリフェラル・イメージにあるため、 PCIe® リンク・トレーニングでは、コア・ファブリックがコンフィグレーションする前にCvP PCIe® IPの PCIe® リンクを確立します。
  2. ホストデバイスはCvP PCIe® リンクを使用し、コア・ファブリックでデザインをコンフィグレーションします。

CvP更新モードでは、それまでのフルチップ・コンフィグレーションまたはCvP初期化コンフィグレーションですでに確立済みの PCIe® リンクを使用してFPGAコアイメージを更新します。 インテル® Agilex™ がユーザーモードに入ると、CvP更新モードを使用してFPGAファブリックをリコンフィグレーションすることができます。このモードには次の利点があります。

  • コアを再プログラミングし、異なるアルゴリズムを実行することが可能
  • リリースプロセスの一環として、標準アップデートに向けたメカニズムを提供
  • 複雑なシステムの一部を構成するさまざまなコンポーネントに向けてコアの処理をカスタマイズ

    CvP初期化モードとCvP更新モードではどちらも、最大データレートは PCIe® の世代とレーン数によって異なります。

インテル® Agilex™ SoCデバイスでは、CvPはFPGA先行のコンフィグレーション・モードでのみサポートされています。

AS Normalモード

アクティブシリアル (AS) x4またはQuad SPI (QSPI) は、3バイトおよび4バイトのアドレス指定が可能なフラッシュメモリーをサポートするアクティブ・コンフィグレーション・スキームです。電源投入時に、SDMはブートROMからブートします。ここでは3バイトのアドレス指定を使用してコンフィグレーション・ファームウェアをQuad SPIフラッシュからロードします。コンフィグレーション・ファームウェアがロードされると、Quad SPIフラッシュは4バイトのアドレス指定を使用して動作し、残りのコンフィグレーション・プロセスを行います。

AS Fastモード

AS NormalモードとFastモードの唯一の違いは、そのスピードです。コンフィグレーションのタイミングが重要な場合は、AS Fastモードを使用します。このモードを使用し、 PCIe® 100msのパワーアップ要件、または厳格なタイミング要件をともなうシステムのパワーアップ要件を満たします。

AS Fastモードでは、SDMは最初に外部AS x4フラッシュに電力を供給します。この電源では、 インテル® Agilex™ デバイスと外部AS x4フラッシュデバイスに対して同等に高速なランプアップが提供できる必要があります。この要件を満たさない場合、SDMはメモリーが不明であると判断するため、コンフィグレーションは失敗します。

SD/MMC

SD/MMCは、アクティブ・コンフィグレーション・スキームです。 インテル® Agilex™ のSDMでは、SDカード、SDHC* (セキュアデジタル大容量) カード、SDXC* (セキュアデジタル拡張容量) カード、MMCカードおよびeMMCデバイスからコンフィグレーションを開始することができます。SD/MMCモードは、AS x4とほぼ同じです。このモードの利点は、コスト、容量、可用性、移植性、互換性です。 インテル® Agilex™ デバイスは1.8ボルトで動作するため、SD/MMCデバイスの高電圧I/Oとのインターフェイスには、中間電圧レベルシフターが必要になる場合があります。