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

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

5.1.8.2.3. MPUとFPGAのデータ共有

データのスループットは、HPSとFPGA間でデータを共有する正しい方法を選択することで最適化することができます。このセクションでは、HPS SDRAMをデータソースとし、FPGAでそれにアクセスする必要があると仮定します。HPS SDRAMをソースとするデータにFPGAからアクセスする方法は、主に2つあります。

  • SDRAMをターゲットとし、キャッシュされていないデータにFPGA-to-HPSブリッジを介してFPGAから直接アクセスする
  • CCUをターゲットとし、キャッシュされているデータにFPGA-to-HPSブリッジを介してFPGAからアクセスする

SDRAMのデータがデータの最新コピーである (ソフトウェア管理のコヒーレンシーである) 場合は、最高のスループットでデータにアクセスする方法は、FPGAのマスターからFPGA-to-HPSブリッジを介してデータに直接アクセスすることです。

SDRAMのデータがデータの最新のコピーではない可能性があり、ソフトウェアでMPUキャッシュをフラッシュしてシステム全体のコヒーレンシーを維持しない場合は、FPGAマスターからFPGA-to-HPSブリッジにキャッシュ可能なトランザクションを実行し、最新のデータへのアクセスを確保します。

ガイドライン: HPS DMAコントローラーをFPGAとHPS間のデータ移動に使用することは避けてください。代わりにFPGAファブリックのソフトDMAコントローラーを使用します。HPS DMAコントローラーは、HPS内にとどまるメモリーコピーまたはペリフェラル・データの移動にのみ使用します。

HPS DMAを使用してデータをFPGAに移動させることは、HPS SDRAMへのDMA帯域幅が制限されているため非推奨です。HPS DMAは、MPUに代わってバッファーを移動させるために使用する、もしくはペリフェラルとメモリー間の転送に使用することを目的としています。そのため、FPGAからHPSメモリーのバッファーにアクセスする必要がある場合、もしくはHPSからFPGAに保存されているデータにアクセスする必要がある場合は、HPSでこれらの転送を開始するのではなく、FPGAのマスターによってこれらの転送を実行することが常に推奨されます。