図 1. 書き込みトランザクション
代表的な書き込みトランザクションにおけるコンポーネントの動作は、次のようになります。
- AXI マスターが書き込み要求を NMU に送信します。
- NMU が、次の機能を実行します。
- PL マスター クロック ドメインから NoC クロック ドメインへの非同期クロック乗せ換えおよびレート マッチング。
- ターゲット NSU のデスティネーション ルックアップ。
- アドレス リマップ (仮想化の場合)。
-
AxSizeMaster
からAxSizeNoC
への書き込み要求 (AxAddr
、AxSize
、AxLen
、AxBurst
、AxCache
、writestrobe
、writedata
) の AXI 変換。 - 書き込みチョッピング。
- AXI-ID が同じで DST (NoC デスティネーション ID) が異なる未処理の書き込みトランザクションに対する SSID (Single Slave per ID) チェック。
- 書き込みトラッカーのエントリ挿入。
- 書き込み要求を NPP パケット フォーマットへパケット化し、レート制限および ECC 生成を実行。
- VC マッピング、VC アービトレーション、および DBI 生成の後、パケットを NoC チャネルへ送信。
- NMU が NPP をシステム内の NPS に転送します。
- NPS が読み出しトランザクションの場合と同じ手順を実行します。
- ターゲット出力ポートのデスティネーション テーブル ルックアップ。
- 出力ポートでの LRU (Least Recently Used) アービトレーション (24:1)。
- NPP 書き込みパケットが (場合によっては) 複数の NPS を経由してデスティネーション NSU に到達します。
- デスティネーションで、NSU が次の機能を実行します。
- 書き込み要求のパケットの分解と、ECC チェックおよび訂正。
- ダウンサイジングまたは AXI4 から AXI3 への変換のための書き込みチョッピング。
- 書き込みトラッカーのエントリ挿入。
-
AxSizeNoC
からAxSizeSlave
への要求の AXI 変換。 - NoC クロック ドメインから PL スレーブ クロック ドメインへの非同期クロック乗せ換えおよびレート マッチング。
- AXI フォーマットの書き込み要求を NoC AXI スレーブに送信。
- スレーブ AXI が書き込み要求を処理し、NSU に応答を返します。
- NSU が、次の機能を実行します。
- PL スレーブ クロック ドメインから NoC クロック ドメインへの非同期クロック乗せ換えおよびレート マッチング。
- 書き込みトラッカーで書き込み応答をマージ (書き込みチョッピングの場合)。
- 書き込み応答を NPP パケットへパケット化し、ECC を生成。
- VC マッピングおよび VC アービトレーションの後、パケットを NoC チャネルへ送信。
- PL スレーブ クロック ドメインから NoC クロック ドメインへの非同期クロック乗せ換えおよびレート マッチング。
- NPP フォーマットの書き込み応答パケットが 1 つまたは複数の NPS を経由して NMU に到達します。
- 読み出し応答パケットが NMU に到達すると、NMU は次の機能を実行します。
- DBI および ECC チェック。書き込み応答の ECC 訂正とパケット分解。
- 書き込み応答のマージ (書き込み要求時に書き込みチョッピングを実行した場合)。
- NoC クロック ドメインから PL マスター クロック ドメインへの非同期クロック乗せ換えおよびレート マッチング。
- 書き込み応答を NoC AXI マスターに返す。
- DBI および ECC チェック。書き込み応答の ECC 訂正とパケット分解。