ILA 交叉触发 - 2023.2 简体中文

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

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

ILA 交叉触发功能支持在 ILA 核之间以及在 ILA 核与处理器(如 AMD Zynq™ 7000 SoC)之间进行交叉触发。如果要在位于不同时钟域中的 2 个 ILA 核之间执行触发,或者要在处理器与 ILA 核之间执行硬件/软件交叉触发,那么可使用该功能。

要使用交叉触发功能,在核生成时,应配置 ILA 核心以使其包含专用触发器输入端口(TRIG_IN 和 TRIG_IN_ACK)和专用触发器输出端口(TRIG_OUT 和 TRIG_OUT_ACK)。如果要使用 ILA 触发器输入或输出信号,则必须使用将 ILA 核添加到设计中的 HDL 例化方法。

图 1. ILA 交叉触发功能

TRIG_OUT_ACK 是 ILA 核(另一个 ILA、用户设计或处理器)的指示信号,表明已正确接收到 TRIG_OUT,它会导致 ILA 在接收到 TRIG_OUT_ACK 时拉低 TRIG_OUT 信号。

换言之,TRIG_OUT 会保持高电平直至 TRIG_OUT_ACK 可用为止。如果 TRIG_OUT_ACK 信号绑定到低电平,那么 TRIG_OUT 会保持高电平,直至用户重新装备 ILA 为止。只有 TRIG_OUT 会转至低电平。如果 TRIG_OUT_ACK 绑定到低电平,那么您可重新装备 ILA。

下图显示了典型的交叉触发设置,其中 ILA2 交叉触发到 ILA1 内。ILA2 的 TRIG_OUT 信号连接到 ILA1 的 TRIG_IN 信号。ILA1 的 TRIG_IN_ACK 信号则连接到 ILA2 的 TRIG_OUT_ACK 信号。

(ILA 2) trig_out  -> (ILA 1) trig_in 
(ILA 1) trig_in_ack -> (ILA 2) trig_out_ack 
图 2. 典型交叉触发设置

图 3. ILA 交叉触发时序

  • 假定驱动 trig_in 端口的逻辑与 ILA clk 保持同步。
  • trig_in 断言有效后,trig_in_ack 信号需经过 1 个时钟周期后才能断言有效。
  • 当使用 trig_in 或者满足触发条件后,trig_out 信号需经过 9 个时钟周期才能断言有效。
  • 仅当触发器信号断言无效后,trig_in_acktrig_out_ack 信号才会转至低电平。

如需获取有关在 FPGA 互连结构与 Zynq 7000 SoC 处理器之间使用交叉触发功能的详细教程,请参阅 Vivado Design Suite 教程:嵌入式处理器硬件设计(UG940)