インテルのみ表示可能 — GUID: hrt1557328320734
Ixiasoft
インテルのみ表示可能 — GUID: hrt1557328320734
Ixiasoft
5.1.8.1.4. インターフェイス帯域幅
HPSとFPGAファブリック間のデータ移動に使用するインターフェイスを特定するには、各インターフェイスの帯域幅を理解する必要があります。次の図は、HPSとFPGAファブリック間で利用可能なピーク・スループット、およびHPS内の内部帯域幅を表しています。ここに示す例では、FPGAファブリックが400MHz、MPUが1500MHz、64ビット外部SDRAMは3200Mbps/秒で動作すると仮定しています。
各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ブリッジを使用して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に代わって提供することです。