AXI スレーブ書き込みエージェントには次の 3 つのコンカレント トランザクション フローがあります。
• アドレス チャネルの処理
• データ チャネルの処理
• 応答チャネルの生成
アドレス チャネルとデータ チャネルの READY 応答はどちらもユーザー環境からは独立して設定されます。応答チャネル B のみがユーザー環境と通信しながら処理を進めます。トランザクションは、次の順で書き込みエージェントを通過します。
1. マスター書き込み応答ドライバーが、 get_next_item を使用してユーザー環境に対してブロッキング get を実行します。まだコマンドを受信していないため、ユーザー環境はマスターからコマンドを受信するまで待つ必要があります。
2. ユーザー環境が、 get_next_item を使用してドライバーのリアクティブ ポートに対してブロッキング get を実行します。
3. この時点でドライバーは WDATA および AWADDR からのビートを受信し、これらを保持構造体に格納できます。
4. スレーブ ドライバーは、完了した AWADDR フェーズおよび WDATA フェーズを受信した後に、リアクティブ ポートを介してコマンド オブジェクトをユーザー環境へ転送します。
5. ユーザー環境は、要求に対する応答を適切に判定し、完了したトランザクションをドライバーのリクエスト ポートに置きます。このトランザクションには次のものが含まれます。
° コマンド情報 – AWADDR、AWLEN、AWSIZE、AWID など。ユーザー環境に最初に渡されたコマンドからの情報。
° 応答によって制御されるタイミングと応答 – 応答遅延、BRESP。
6. ドライバーはリクエスト ポートからトランザクションをポップして、応答インターフェイスの処理用のキューに置き、応答チャネルの遅延タイマーを開始します。応答チャネルの遅延タイマーがタイムアップする前に、複数のトランザクションが応答リストに存在している可能性があります。応答リストに複数のアイテムが存在する場合、ドライバーは次に送信されるべき応答を選択します。
7. BRESP を受信するとトランザクションが返されるように設定されている場合、スレーブ ドライバーは WDATA のビートを書き込み、ドライバーの応答ポートから送信します。
8. ユーザー環境が完了したトランザクションを受信します。
X-Ref Target - Figure D-10 |