AXI4 インターフェイスは通常、プラットフォームの DDR メモリ コントローラーに接続されます。
推奨: 周波数およびリソース使用率を最適にするには、メモリ コントローラーごとに 1 つのインターフェイスを使用することを推奨します。
メモリ コントローラーからベスト パフォーマンスを得るには、次の AXI インターフェイス動作を推奨します。
- ネイティブのメモリ コントローラーの AXI データ幅と一致する AXI データ幅を使用します。通常は 512 ビットです。
-
WRAP
、FIXED
、またはサブサイズのバーストを使用しないでください。 - できる限り大型のバースト転送を使用してください (最高 4 KB までの AXI4 プロトコル)。
- ディアサートされた書き込みストローブは使用しないようにします。ディアサートされたストローブは、読み出し-変更-書き込み操作を実行するため、DDR メモリ コントローラーにエラー訂正コード (ECC) ロジックを作成します。
- パイプライン処理された AXI トランザクションを使用します。
- AXI インターフェイスが 1 つの DDR コントローラーにのみ接続されている場合は、スレッドの使用を避けます。
- カーネルにフルの書き込みトランザクション (ノンブロッキング書き込み要求) を転送する機能がない場合は、書き込みアドレス コマンドの生成を避けます。
- カーネルにバック プレッシャーのない読み出しデータ (ノンブロッキング読み出し要求) すべてを受信する機能がない場合は、読み出しアドレス コマンドの生成を避けます。
- 読み出し専用または書き込み専用インターフェイスが必要な場合は、プロジェクトをカーネルにパッケージする前に、未使用チャネルのポートを最上位 RTL ファイルでコメントアウトできます。
- 複数のスレッドを使用すると、カーネルとメモリ コントローラーの間のインフラストラクチャ IP により多くのリソースが必要になります。