vivado 使用 ILA 默认仪表板

使用 ILA 默认仪表板
ILA 仪表板 请参阅下图 是给定 ILA 核相关的所有状态和控制信息的集中显示位置。刷新硬件器件并首次检测到 ILA
核时 将自动打开该核的默认 ILA 仪表板。如果需要手动打开或重新打开此仪表板 只需在“硬件 (Hardware) ”窗口
中右键单击 ILA 核对象 然后选择“ Default Dashboard ”即可。
您可使用 ILA 仪表板通过多种方式来与 ILA 调试核进行交互
• 设置触发器模式 以便在硬件中发生各种事件时触发
BASIC_ONLY ILA 基本触发器模式 (ILA Basic Trigger Mode) ”可用于在满足调试核比较结果的基本 AND/OR
功能时触发 ILA 核。
ADVANCED_ONLY ILA 高级触发器模式 (ILA Advanced Trigger Mode) ”可用于按用户定义的状态机指定的
条件来触发 ILA 核。
TRIG_IN_ONLY ILA TRIG_IN 触发器模式 (ILA TRIG_IN Trigger Mode) ”可用于在 ILA 核的 TRIG_IN 管脚从
低位转换至高位时触发 ILA 核。
BASIC_OR_TRIG_IN ILA BASIC_OR_TRIG_IN 触发器模式 (ILA BASIC_OR_TRIG_IN Trigger Mode) ”可用于
ILA 核的 TRIG_IN 管脚执行逻辑 OR 操作并且目标模式为 BASIC_ONLY 触发器模式时触发 ILA 核。
ADVANCED_OR_TRIG_IN ILA ADVANCED_OR_TRIG_IN 触发器模式 (ILA ADVANCED_OR_TRIG_IN
Trigger Mode) ”可用于在 ILA 核的 TRIG_IN 管脚执行逻辑 OR 操作并且目标模式为 ADVANCED_ONLY 触发器
模式时触发 ILA 核。
• 设置触发器输出模式。
ALWAYS BASIC 采集模式可用于控制要采集的数据的筛选操作。
• 设置 ILA 采集窗口的数量。
• 设置 ILA 采集窗口的数据深度。
• 将触发器位置设置为采集窗口内的任意样本。
• 监控 ILA 调试核的触发和采集状态。
用户定义的调试探针
在硬件管理器中使用用户定义的调试探针 也称为 hw_probes 即可利用物理 ILA 探针端口与常量值的组合来创建探
针。随后即可在硬件管理器的“触发器设置 (Trigger Setup) ”窗口或“波形 (Waveform) ”窗口中使用这些探针。成功创
建这些探针后 将在“调试探针 (Debug Probes) ”窗口中列出这些探针 并将这些探针包含在创建期间与其关联的调试
核中。
您可创建的用户定义的探针类型如下
ILA 探针端口。
1 个或多个常量值 0 / 1
ILA 探针端口与常量值混合。
重要提示 包含常量值的用户定义的探针只能在“ Waveform ”窗口中使用。这些探针无法在“ Trigger
Setup ”窗口中使用。
提示 您只能在 ILA 调试核上创建用户定义的探针。当前不支持为 VIO 核创建用户定义的调试探针。
创建用户定义的调试探针
GUI 流程
要在 Vivado IDE 硬件管理器中创建用户定义的调试核 请在“ Hardware ”窗口中右键单击要探测的 ILA 核并选择
Create User Defined Probe ”。
这样可启动“创建用户定义的探针 (Create User Defined Probe) ”对话框。选择要在其中创建探针的 ILA 核、新探针的
名称 最后选择探针位和 / 或组成此新探针的常量。
要向此新探针添加特定探针位 请单击“ + ”按钮 并选择“ Add Probe ”。
这样将启动“添加探针 (Add Probes) ”对话框 以便您选择现有探针或者现有探针的特定位。
您还可以在“创建用户定义的探针 (Create User Defined Probe) ”对话框中添加或移除位。将特定位上移或下移 如下
图所示。
Tcl 流程
要创建用户定义的调试探针 请使用 create_hw_probe Tcl 命令。
create_hw_probe [-verbose] [-map <arg>] <name> <core>
其中
name hw_probe 的名称。对于属于同一器件的 hw_probes 此名称必须唯一。必须指定总线探针的范围。
例如 myNewProbe[31:0]
core 是要与探针关联的 hw_ila
-map 表示声明的位元 这些位元将作为用户定义的探针的基础。
创建用户定义的调试探针的示例
# Given a 512-bit counter "counterA[511:0]": Connects [255:223] to
# ILA probe port 0 [31:0]
# Create a user-defined probe called foobar pointing at the
# ILA buffer specified range [255:223]
create_hw_probe -map {probe0[31:0]} {foobar [255:223]} [get_hw_ilas
hw_ila_1]
# Constant only probe. NO triggering allowed on constant ONLY probes.
create_hw_probe -map {0} {my_constant_gnd[0:0]} [get_hw_ilas hw_ila_1]
# Create a user-defined probe as a mix of constants and ILA probe ports
create_hw_probe -map {0000 probe0[31:0] 1010} {my_mixed_probe[47:8]}
[get_hw_ilas
hw_ila_1]
# Creating scalar hw_probe called "foobar" from probe1:
create_hw_probe -map {probe1} foobar [get_hw_ilas hw_ila_1]
# Creating scalar hw_probe called "foobar" from bit 3 of probe0:
create_hw_probe -map {probe0[3]} foobar [get_hw_ilas hw_ila_1]
# Creating vector hw_probe called "foobar[0:0]" from probe1:
create_hw_probe -map {probe1} foobar[0:0] [get_hw_ilas hw_ila_1]
# Creating vector probe called "foobar[3:0]" from probe0:
create_hw_probe -map {probe0} foobar[3:0] [get_hw_ilas hw_ila_1]
# Creating vector probe called "foobar[3:2]" from probe0[1:0]:
create_hw_probe -map {probe0[1:0]} foobar[3:2] [get_hw_ilas hw_ila_1]
删除用户定义的调试探针
GUI 流程
要在 Vivado IDE Hardware Manager 中删除用户定义的探针 请依次单击“ Window ” → “ Debug Probe ”。这样会
在“硬件管理器 (Hardware Manager) ”仪表板旁打开“调试探针 (Debug Probes) ”窗口。请右键单击此窗口中的相应
探针 然后单击“ Delete 如下所示。
Tcl 流程
您可使用 delete_hw_probe Tcl 命令删除用户定义的调试探针。
例如 要删除先前使用 create_hw_probe 创建的 foobar 探针 请执行以下操作
delete_hw_probe [get_hw_probes foobar -of_objects [get_hw_ilas -of_objects
[get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"i_fast_ila"}]]
用户定义的调试探针的持久性
在工程流程中 硬件管理器会保留其中创建的任何用户定义的探针。下次打开该工程并使用 Vivado 硬件管理器连接到
硬件目标时 这些用户定义的探针就会恢复。如果这些用户定义的调试探针参与了“基本触发” 或者已被添加到“波
(Waveform) ”窗口中 那么打开工程并连接到硬件管理器中的目标时 所有窗口中显示的探针设置都与先前关闭工
程时的设置完全相同。
与用户定义的探针进行交互
硬件管理器中创建的任意用户定义的调试探针均可显示在“基本触发 (Basic triggering) ”窗口、“高级触发 (Advanced
Triggering) ”窗口和 / 或“波形 (Waveform) ”窗口中。唯一例外是涉及常量值的用户定义的调试探针。这些类型的调试
探针只能在“ Waveform ”窗口中使用。

相关推荐

  1. vivadoILA使用

    2024-04-13 06:22:02       40 阅读
  2. burpsuite模块介绍之dashboard(仪表

    2024-04-13 06:22:02       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 06:22:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 06:22:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 06:22:02       87 阅读
  4. Python语言-面向对象

    2024-04-13 06:22:02       96 阅读

热门阅读

  1. 多线程交替打印

    2024-04-13 06:22:02       120 阅读
  2. 简单了解仿真测试

    2024-04-13 06:22:02       37 阅读
  3. 【技术支持】禁止html中referer

    2024-04-13 06:22:02       42 阅读
  4. .NET 设计模式—策略模式(Strategy Pattern)

    2024-04-13 06:22:02       39 阅读
  5. Docker 安装Kali Linux作为攻防演练的工具

    2024-04-13 06:22:02       55 阅读
  6. 设计模式-策略模式

    2024-04-13 06:22:02       40 阅读
  7. docker部署chatgpt步骤

    2024-04-13 06:22:02       44 阅读
  8. 数据结构_基于链表的通讯录

    2024-04-13 06:22:02       46 阅读
  9. ChatGPT让论文写作更高效,让学术研究更精彩

    2024-04-13 06:22:02       43 阅读
  10. Conda 常用命令总结

    2024-04-13 06:22:02       41 阅读
  11. ChatGPT:打破论文写作传统,开启智能时代

    2024-04-13 06:22:02       38 阅读