AN 886: インテル® Agilex™ デバイスのデザイン・ガイドライン

ID 683634
日付 1/07/2022
Public

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

ドキュメント目次

5.1.8.1.4. インターフェイス帯域幅

HPSとFPGAファブリックとの間のデータ移動に使用するインターフェイスを特定するには、各インターフェイスの帯域幅を理解する必要があります。次の図で示すのは、HPSとFPGAファブリックとの間で使用可能なピーク・スループット、およびHPS内の内部帯域幅です。ここに示す例での想定では、FPGAファブリックは400MHzで動作し、MPUは1500MHzで動作し、64ビット外部SDRAMは3200Mbpsで動作します。

図 8.  インテル® Agilex™ HPSメモリーマップド帯域幅略語については、HPSメモリーマップド・インターフェイスの概要 の図を参照してください。

各HPSインターフェイスの相対レイテンシーおよびスループット

インターフェイス

トランザクションのユースケース

レイテンシー

スループット

HPS-to-FPGA

MPUからFPGAのメモリーにアクセスする場合

中程度

中程度

HPS-to-FPGA

MPUからFPGAのメモリーにアクセスする場合

中程度

非常に低い

Lightweight HPS-to-FPGA

MPUからFPGAのレジスターにアクセスする場合

低い

低い

Lightweight HPS-to-FPGA

MPUからFPGAのメモリーにアクセスする場合

低い

非常に低い

FPGA-to-HPS

FPGAマスターから非キャッシュ・コヒーレントSDRAMにアクセスする場合

高い

中程度

FPGA-to-HPS

FPGAマスターからHPSオンチップRAMにアクセスする場合

低い

高い

FPGA-to-HPS

FPGAマスターからHPSペリフェラルにアクセスする場合

低い

低い

FPGA-to-HPS

FPGAマスターからコヒーレント・メモリーにアクセスして、キャッシュミスが発生する場合

高い

中程度

FPGA-to-HPS

FPGAマスターからコヒーレント・メモリーにアクセスして、キャッシュヒットが発生する場合

低い

中程度~高い

FPGA-to-HPS

FPGAマスターからHPSに直接アクセスする場合

高い~非常に高い

注: コンフィグレーションの推奨がないインターフェイスについては、対応するインターフェイスのセクション 「HPS-to-FPGAブリッジ」、「Lightweight HPS-to-FPGAブリッジ」、および「FPGA-to-HPSブリッジ」 を参照してください。

ガイドライン: HPS-to-FPGAブリッジを使用してMPUからFPGAのペリフェラル・レジスターにアクセスしないでください。

HPS-to-FPGAブリッジは、バースト・トラフィック用に最適化されています。また、ペリフェラルのアクセスは通常、1ビートのみの短いワードサイズのアクセスです。その結果、ペリフェラルへのアクセスがHPS-to-FPGAブリッジを介して行われると、そのトランザクションは、すでにインフライト状態にある他のバースト・トラフィックによって停止する可能性があります。

ガイドライン: Lightweight HPS-to-FPGAブリッジを使用してMPUからFPGAのペリフェラル・レジスターにアクセスしないでください。

Lightweight HPS-to-FPGAブリッジは、非バースト・トラフィック向けに最適化されています。また、通常、メモリーアクセスは、バーストとして実行されます (キャッシュ動作のため、多くの場合32バイトです)。その結果、メモリーへのアクセスが、Lightweight HPS-to-FPGAブリッジを介して行われると、スループットが制限されます。

ガイドライン: FPGAのソフトロジック (DMAコントローラーなど) を使用して、共有データをHPSとFPGAとの間で移動させます。MPUおよびHPS DMAコントローラーの使用は、このユースケースでは避けます。

HPSとFPGAとの間で共有データを移動させる場合、 インテル® では、MPUまたはHPS DMAコントローラーを使用してデータを移動するのではなく、FPGAから行うことをお勧めします。FPGAでは、キャッシュ・コヒーレント・データにアクセスする必要がある場合、適切なACE-Liteキャッシュ拡張シグナリングを使用して、FPGA-to-HPSブリッジにアクセスし、キャッシュ可能なトランザクションを発行する必要があります。非キャッシュ・コヒーレント・データをFPGAまたはHPSに移動させる必要がある場合、FPGAロジックに実装されたDMAエンジンがFPGA-to-HPSブリッジを介してデータを移動させ、可能な限り最良のスループットを実現します。HPSにはDMAエンジンが内蔵されており、それによってHPSとFPGAとの間でデータを移動することができます。ただし、その目的は、メモリーのマスターや、データ移動に対するメモリーの提供が行われないペリフェラルをMPUに代わって支援することです。