触发 AXI 地址命令和数据节拍 - 2023.2 简体中文

Vivado Design Suite 用户指南: 编程和调试 (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 简体中文

调试 AXI 接口通常涉及触发如下三种特定类型的 AXI 事件:地址命令结束、数据节拍结束以及写入响应。通常必须在不同接口通道上触发以上 1 项或多项事件。例如,要实现“读取地址命令结束写入地址命令结束”的触发条件,需采用如下公式:

Trigger Condition = (((ARVALID == 1) && (ARREADY == 1)) || ((AWVALID == 1) && (AWREADY == 1)))

但这需要“乘积和 (SOP)”式布尔公式,而当所需 AXI 信号(例如 ARVALID 和 ARREADY)驻留在不同探针端口上时,则无法实现此类公式。为帮助完成此类触发,所需的 *VALID、*READY 和 *LAST 控制信号被串联在一起并连接到单一探针端口,如下表所示。

表 1. AXI 通道控制信号探针
描述 探针名称 位 2 位 1 位 0
读取地址通道控制信号 *ar_ctrl[1:0] 不适用 ARREADY ARVALID
读取数据通道控制信号 *r_ctrl[2:0] RLAST RREADY RVALID
写入地址通道控制信号 *aw_ctrl[1:0] 不适用 AWREADY AWVALID
写入数据通道控制信号 *w_ctrl[2:0] WLAST WREADY WVALID
写入响应通道控制信号 *b_ctrl[1:0] 不适用 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. “读取地址命令结束或写入地址命令结束”事件的基本触发器设置