vivado ILA 交叉触发

ILA 交叉触发
ILA 交叉触发功能支持在 ILA 核之间以及在 ILA 核与处理器 Zynq ® -7000 SoC 之间进行交叉触发。如需在位于不
同时钟域中的 2 ILA 核之间执行触发 或者要在处理器与 ILA 核之间执行硬件 / 软件交叉触发 可使用该功能。
要使用交叉触发功能 在核生成时 应配置 ILA 核心以使其包含专用触发器输入端口 TRIG_IN TRIG_IN_ACK
专用触发器输出端口 TRIG_OUT TRIG_OUT_ACK 。如果要使用 ILA 触发器输入或输出信号 则必须使用将 ILA
核添加到设计中的 HDL 例化方法。
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
• 假定驱动 trig_in 端口的逻辑与 ILA clk 保持同步。
• 当 trig_in 断言有效后 trig_in_ack 信号需经过 1 个时钟周期后才能断言有效。
• 当使用 trig_in 或者满足触发条件后 trig_out 信号需经过 9 个时钟周期才能断言有效。
• 仅当触发器信号断言无效后 trig_in_ack trig_out_ack 信号才会转至低电平。
如需获取有关在 FPGA 互连结构与 Zynq-7000 SoC 处理器之间使用交叉触发功能的详细教程 请参阅《 Vivado Design
Suite 教程 嵌入式处理器硬件设计》 ( UG940 )
例化调试核
生成调试核后 HDL 源代码中将其例化 然后将其连接到要探测的信号以便对其进行调试。以下是 Verilog HDL
文件中的 ILA 实例的示例
u_ila_0
(
.clk(clk),
.probe0(counterA),
.probe1(counterB),
.probe2(counterC),
.probe3(counterD),
.probe4(A_or_B),
.probe5(B_or_C),
.probe6(C_or_D),
.probe7(D_or_A)
);
注释 不同于旧的 VIO ILA v1.x 新的 ILA 核实例无需连接至 ICON 核实例。而改为将 Debug Hub ( dbg_hub )
自动插入已综合的设计网表 以便在新的 ILA 核与 JTAG 扫描链之间提供连接。
对包含调试核的设计执行综合
下一步 Vivado Design Suite 中单击“ Run Synthesis ”或者运行以下 Tcl 命令来对包含调试核的设计执行综合
launch_runs synth_1
wait_on_run synth_1
您也可以使用 synth_design Tcl 命令来对设计执行综合。如需了解有关各种设计综合方法的更多详细信息 请参阅
Vivado Design Suite 用户指南 综合》 ( UG901 )
在已综合的设计内查看调试核
完成设计综合后 您可打开已综合的设计 以查看调试核并修改其属性。单击 Flow Navigator 中的“ Open
Synthesized Design ”以打开已综合的设计 然后选中“ Debug ”窗口布局以打开“ Debug ”窗口 其中会显示您的
ILA 调试核已连接到 Debug Hub ( dbg_hub ) 请参阅下图。
更改 Debug Hub 核的 BSCAN 用户扫描链
您可通过如下方式来查看和更改 Debug Hub 核的 BSCAN 用户扫描链索引 选择“ Debug ”窗口中的“ dbg_hub ”、
选择“ Properties ”窗口中的“ Debug Core Options ”视图 然后更改“ C_USER_SCAN_CHAIN ”属性的值 请参阅下
重要提示 对于 Debug Hub C_USER_SCAN_CHAIN 默认值为 1 。如果对于 Debug Hub 核使用的扫描链值
不为 1 则必须在器件上通过硬件管理器来手动更改这些值。请参阅“硬件器件编程”以获取更多详细信息。
重要提示 如果您计划使用 Microprocessor Debug Module (MDM) 或者其它将 BSCAN 原语与 Vivado 逻辑调试
核搭配使用的 IP 那么您需要将 dbg_hub C_USER_SCAN_CHAIN 属性设置为与其它 IP 扫描链设置不冲突
的用户扫描链。否则 可能导致后续实现流程中出错。
  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值