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

ID 683634
日付 10/09/2023
Public
ドキュメント目次

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

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

図 8.  Agilex™ 7 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に代わって提供することです。