AXI スレーブ読み出しエージェントには次の 2 つのコンカレント トランザクション フローがあります。
• アドレス チャネルの処理
• データ チャネルの処理
アドレス チャネルの READY 応答はユーザー環境から設定します。データ チャネルはユーザー環境を使用してタイミングとペイロードを生成します。トランザクションは、次の順で読み出しエージェントを通過します。
1. マスター読み出し応答ドライバーが、 get_next_item を使用してユーザー環境に対してブロッキング get を実行します。まだコマンドを受信していないため、ユーザー環境はマスターからコマンドを受信するまで待つ必要があります。
2. ユーザー環境が、 get_next_item を使用してドライバーのリアクティブ ポートに対してブロッキング get を実行します。
3. スレーブ ドライバーが ARADDR コマンドを待ちます。
4. スレーブ ドライバーは、完了した ARADDR フェーズを受信した後に、リアクティブ ポートを介してコマンド オブジェクトをシーケンサーへ転送します。コマンド情報は、ARADDR、ARLEN、ARSIZE、ARID などのコマンド情報フィールドで構成されます。
5. ユーザー環境が 1 つのトランザクションを作成します。このトランザクションには次のものが含まれます。
° ペイロード – RDATA バイト アレイおよび RRESP アレイ
° スレーブによって制御されるタイミング – ビート間タイミングおよびデータ挿入遅延
6. ドライバーはリクエスト ポートからトランザクションをポップして処理用のキューに置き、インターフェイスに駆動します。このときシステムがアイドルなら、ドライバーはスレーブ データ チャネルの遅延タイマーを開始します。
7. タイマーがタイムアップすると、ドライバーはビート単位でデータを処理し、インターフェイスで駆動します。複数のトランザクションが保留中で、スレーブが読み出しをサポートするように設定されている場合、保留中の複数トランザクションのビートをインターリーブします。
8. コマンドの最後のビートを受信するとトランザクションがユーザー環境に返されるように設定されている場合、スレーブ ドライバーはそれを応答ポートから送信します。
9. ユーザー環境が完了したトランザクションを受信します。