インテル® Stratix®10 MX FPGAsは、HBM2 ハード・メモリー・コントローラーを含む 3D スタック HBM2 DRAM メモリーを内蔵しています。そのため、HBM2 メモリー・コントローラーの効率を最大化することは非常に重要です。
コントローラーの効率に影響を与える要因がいくつかあります。最大限の効率を得るための設計では、以下の要素を考慮する必要があります。
• ユーザー インターフェイス周波数と HBM2 インターフェイス周波数 - HBM2 メモリー効率を決定する上で、FPGA ファブリック内のユーザーロジックの周波数が重要な役割を果たします。
• コントローラーの設定:
- コントローラー設定でリオーダーバッファーを無効にして、効率を向上させます。(ただし、アプリケーションが読み取り要求と同じ順序で読み取りデータを提供する必要がある場合は、リオーダーバッファーを有効にすることが好ましいです。
- Burst length - 疑似 BL8 モードは、連続する BL4 トランザクション間のメモリー・アクセス・タイミングを短縮し、コントローラー効率を向上させます。
• トラフィック パターン - トラフィック パターンはコントローラの効率を決定する上で重要な役割を果たします。
- シーケンシャル・アドレスとランダム DRAM アドレス: シーケンシャル・アドレスにより、コントローラーはオープンページに連続する書き込み要求を発行し、コントローラーの高い効率を実現できます。ランダム・アドレスは、一定の PRECHARGE/ACTIVATE コマンドを必要とし、コントローラーの効率を低下させることができます。
- ユーザー自動プリチャージ・ポリシーを FORCED に設定し、AXI インターフェイスの awuser/aruser 信号を HIGH に設定して、ランダム・トランザクションの自動プリチャージを有効にします。シーケンシャル・トランザクションの場合、オート・プリチャージ・ポリシーを HINT に設定します。
- シーケンシャル読み取り専用または書き込み専用トランザクション: シーケンシャル読み取り専用または書き込み専用トランザクションでは、DRAM 双方向データバスのバスリードタイムを回避するため、効率が向上します。
• AXI トランザクション IP - 異なる AXI トランザクション IP を使用することで、HBM2 コントローラーはトランザクションをスケジュールして高効率を実現できます。同じ AXI トランザクション ID を使用すると、コマンドの順序が維持され、効率が低下する場合があります。