AXI アドレス コマンドおよびデータ ビートでのトリガー - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: プログラムおよびデバッグ (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 日本語

AXI インターフェイスのデバッグには、アドレスの終了 (End of the Address) コマンド、データ ビートの終了 (End of Data Beat) コマンド、書き込み応答 (Write Response) コマンドの 3 つの AXI イベントでのトリガーが関係していることがよくあります。異なるインターフェイス チャネルでは、これらのイベントの 1 つ以上でトリガーする必要のある場合が多くあります。たとえば、読み出しアドレスの終了コマンドまたは書き込みアドレスの終了コマンドのトリガー条件をインプリメントするには、次の式で計算します。

トリガー条件 = (((ARVALID == 1) && (ARREADY == 1)) || ((AWVALID == 1) && (AWREADY == 1)))

ただし、これには積和 (SOP) 形式のブール代数式が必要ですが、必須の AXI 信号 (ARVALID および ARREADY など) が異なるプローブ ポートにある場合はインプリメントできません。このタイプのトリガーを使用するため、次の図のように、必須の *VALID、*READY、および *LAST 制御信号が 1 つのプローブ ポートでまとめられます。

表 1. AXI チャネル制御信号のプローブ
説明 プローブ名 ビット 2 ビット 1 Bit 0
読み出しアドレス チャネルの制御信号 *ar_ctrl[1:0] N/A ARREADY ARVALID
読み出しデータ チャネルの制御信号 *r_ctrl[2:0] RLAST RREADY RVALID
書き込みアドレス チャネルの制御信号 *aw_ctrl[1:0] N/A AWREADY AWVALID
書き込みデータ チャネルの制御信号 *w_ctrl[2:0] WLAST WREADY WVALID
書き込み応答チャネルの制御信号 *b_ctrl[1:0] N/A BREADY BVALID

次の表に、各 AXI 制御信号プローブと AXI チャネル制御プローブの両方を使用して、便利で基本的なトリガーおよびキャプチャ制御式をインプリメントする方法を示します。その後の図に、基本的なトリガー設定 GUI を使用して、読み出しアドレスの終了コマンドまたは書き込みアドレスの終了コマンドをインプリメントする方法を示します。

表 2. トリガーおよびキャプチャ制御イベント
AXI イベント 各 AXI 制御信号 統合 AXI チャネル制御プローブ
読み出しアドレスの終了コマンド ((ARVALID == 1) && (ARREADY == 1)) (*ar_ctrl == 2'b11)
最後の読み出しデータ ビートの終了 ((RVALID == 1) && (RREADY == 1) && (RLAST == 1)) (*r_ctrl == 3'b111)
最後以外の読み出しデータ ビートの終了 ((RVALID == 1) && (RREADY == 1) && (RLAST == 0)) (*r_ctrl == 3'b011)
書き込みアドレスの終了コマンド ((AWVALID == 1) && (AWREADY == 1)) (*aw_ctrl == 2'b11)
最後の書き込みデータ ビートの終了 ((WVALID == 1) && (WREADY == 1) && (WLAST == 1)) (*w_ctrl == 3'b111)
最後以外の読み出しデータ ビートの終了 ((WVALID == 1) && (WREADY == 1) && (WLAST == 0)) (*w_ctrl == 3'b011)
図 1. 読み出しアドレスの終了コマンドまたは書き込みアドレスの終了コマンドの基本的なトリガー設定