インテルのみ表示可能 — GUID: gtm1502039428290
Ixiasoft
インテルのみ表示可能 — GUID: gtm1502039428290
Ixiasoft
3.1.5. インターフェイス帯域幅
HPSとFPGAファブリック間でデータを移動するために使用するインターフェイスを特定するには、各インターフェイスの帯域幅を理解する必要があります。次の図は、HPSとFPGAファブリック間で利用可能なピーク・スループットおよびHPSの内部帯域幅を表しています。ここに示す例では、FPGAファブリックは400 MHz、MPUは1200 MHz、そして64ビットの外部SDRAMは1067 MHzで動作することを想定しています。
各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-SDRAM |
FPGAマスターが単一のFPGA-to-SDRAMポートを介してSDRAMにアクセスする場合 |
中 |
高 |
FPGA-to-SDRAM |
FPGAマスターが複数のFPGA-to-SDRAMポートを介してSDRAMにアクセスする場合 |
中 |
非常に高い |
ガイドライン: 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-to-HPSブリッジを使用し、非キャッシュ・コヒーレントのSDRAMにFPGAのマスターからアクセスすることは避けてください。
FPGA-to-HPSブリッジは、SDRAM以外のアクセス (ペリフェラル、オンチップRAM) に向け最適化されています。そのため、非コヒーレントなアクセスを実行してSDRAMに直接アクセスすると、FPGA-to-SDRAMポートへのアクセスに比べてレイテンシーが増加し、スループットが制限されます。
ガイドライン: 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-SDRAMブリッジポートの1つを介してデータを移動することにより、可能な限り最高のスループットを実現します。HPS内には、HPSとFPGAの間でデータを移動できるDMAエンジンが含まれていますが、その目的は、メモリーをマスターしないペリフェラルの支援、またはメモリー間のデータ移動をMPUに代わって提供することです。