vivado 设置 VIO 核以执行测量、查看 VIO 核状态

2024-04-18 11:28

本文主要是介绍vivado 设置 VIO 核以执行测量、查看 VIO 核状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

设置 VIO 核以执行测量
您添加到自己的设计中的 VIO 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果未显示这些 VIO 请右键
单击器件并选择“ Refresh Hardware ”。这样将重新扫描 FPGA ACAP 并刷新“ Hardware ”窗口。
注释 如果编程和 / 或刷新 FPGA ACAP 后仍未显示 VIO 请检查并确保已使用正确的 .pdi 文件完成器件编程
并确认已实现的设计包含 VIO 核。此外 还请检查并确认有相应的 .ltx 探针文件 .bit 文件相匹配 与该器件
关联。
单击 VIO 下图中名为 hw_vio_1 的核 ), 以在“ VIO 核属性 (VIO Core Properties) ”窗口中查看其属性。选中 VIO
核后 还应在“调试探针 (Debug Probes) ”窗口以及 Vivado IDE 工作空间中对应的“ VIO 仪表板 (VIO Dashboard) ”中
看到对应于此 VIO 核的探针。
VIO 核可能会与 Vivado IDE 不同步。请参阅“查看 VIO 核状态” 以获取有关如何解释 VIO 状态指示的更多信息。
VIO 核根据基于对象属性的置位 / 落实和刷新 / 获取模型来操作
• 要读取 VIO 输入探针值 请首先刷新含 VIO 核数值的 hw_vio 对象。获取对应 hw_probe 对象的属性值 以观察输
入探针值。请参阅“与 VIO 核输入探针进行交互”部分 以获取更多信息。
• 要编写 VIO 输出探针值 请首先在 hw_probe 对象上获取期望的值作为属性。随后 这些属性值将落实到硬件中的
VIO 以将这些值写入核的输出探针端口。请参阅“与 VIO 核输入探针进行交互”部分 以获取更多信息。
查看 VIO 核状态
VIO 核可包含 0 或多个输入探针以及 0 或多个输出探针 请注意 VIO 核必须包含至少 1 个输入或输出探针
Hardware ”窗口中所示 VIO 核状态用于表示 VIO 核输出探针的当前状态。下表中描述了可能的状态值以及您需要采
取的任何操作。
在“调试探针 (Debug Probes) ”窗口中查看 VIO
VIO 仪表板 (VIO Dashboard) ”窗口中的“ + ”按钮用于查看、添加和删除属于 VIO 核的调试探针。
使用 VIO 仪表板
VIO 默认仪表板初始为空 您可向其中添加 VIO 探针 如下图显示。
VIO 仪表板是给定 VIO 核相关的所有状态和控制信息的集中显示位置。刷新硬件器件并首次检测到 VIO 核时 将自动
打开该核的 VIO 仪表板。如果需要手动打开或重新打开此仪表板 请在“硬件 (Hardware) ”窗口或“调试探针 (Debug
Probes) ”窗口中右键单击此 VIO 核对象 然后单击“ Open Dashboard ”。
VIO 核输入探针进行交互
VIO 核输入探针用于从实际硬件的 FPGA ACAP 内运行的设计中读取相应的值。 VIO 输入探针通常用作为待测设计
的状态指示器。 VIO 调试探针需手动添加到 VIO 仪表板的“ VIO 探针 (VIO Probes) ”窗口中。请参阅“在‘调试探针
(Debug Probes) ’窗口中查看 VIO 核”章节 以了解具体方法。下图中显示了 VIO 仪表板的“ VIO Probes ”窗口中的
VIO 输入探针示例。
使用 VIO 核视图读取 VIO 输入
VIO 输入探针可使用“ VIO 仪表板 (VIO Dashboard) ”窗口的“ VIO 探针 (VIO Probes) ”窗口来查看。每项输入在表中
均独立成行以供查看。 VIO 输入探针的值显示在表中的“值 (Value) ”列中 请参阅“与 VIO 核输入探针进行交
互” VIO 核输入值将根据 VIO 核的刷新率值定期更新。您可通过更改“ VIO 属性 (VIO Properties) ”窗口中的“刷
新率 (Refresh Rate (ms)) ”或者通过运行以下 Tcl 命令来设置刷新率
set_property CORE_REFRESH_RATE_MS 1000 [get_hw_vios hw_vio_1]
注释 将刷新率设为 0 会导致 VIO 核停止自动刷新。另请注意 刷新率值过低可能导致 Vivado IDE 迟滞。赛灵思建议
将刷新率设为不低于 500 ms
如果要手动读取 VIO 输入探针值 可使用 Tcl 命令。例如 如果要刷新并获取 VIO hw_vio_1 的输入探针值 名为
BUTTON_IBUF ), 请运行以下 Tcl 命令
refresh_hw_vio [get_hw_vios {hw_vio_1}]
get_property INPUT_VALUE [get_hw_probes BUTTON_IBUF]
相关信息
VIO 核输入探针进行交互
设置 VIO 输入显示类型和基数
VIO 输入探针的显示类型可通过如下方式进行设置 在“ VIO 仪表板 (VIO Dashboard) ”窗口的“ VIO 探针 (VIO
Probes) ”窗口中 右键单击 VIO 输入探针 并选择
• “ Text 用于将输入显示为文本字段。这是对应 VIO 输入探针矢量 位宽大于 1 的唯一显示类型。
• “ LED 用于将输入显示为发光二极管 (LED) 的图形表示法。此显示类型仅适用于 VIO 输入探针标量以及 VIO
入探针矢量的个别元素。您可将高低值设置为以下 4 种颜色中的任何颜色
熄灭
绿
VIO 输入探针的显示类型设置为“ Text ”时 您可通过如下方式更改基数 在“ VIO Dashboard ”窗口的“ VIO
Probes ”窗口中 右键单击 VIO 输入探针 并选择
• “ Radix > Binary 以将基数更改为二进制。
• “ Radix > Octal 以将基数更改为八进制。
• “ Radix > Hex 以将基数更改为十六进制。
• “ Radix > Unsigned 以将基数更改为无符号十进制。
• “ Radix > Signed 以将基数更改为有符号十进制。
您还可使用 Tcl 命令来设置 VIO 输入探针的基数。例如 要更改名为“ BUTTON_IBUF ”的 VIO 输入探针的基数
运行以下 Tcl 命令
set_property INPUT_VALUE_RADIX HEX [get_hw_probes BUTTON_IBUF]
观察和控制 VIO 输入活动
除了从 VIO 输入探针读取值外 您还可以监控 VIO 输入探针的活动。活动检测器可用于指示 Vivado IDE 定期更新期间
VIO 输入值何时发生改变。
VIO 输入探针活动值在“ VIO 仪表板 (VIO Dashboard) ”窗口的“ VIO 探针 (VIO Probes) ”窗口的活动列中显示为箭
• 向上箭头表示在活动持续期间 输入探针值已从 0 转变为 1
• 向下箭头表示在活动持续期间 输入探针值已从 1 转变为 0
• 双向箭头表示在活动持续期间 输入探针值已至少一次从 1 转变为 0 并从 0 转变为 1
如需控制输入活动状态显示的持续时间 请在“ VIO Dashboard ”窗口的“ VIO Probes ”窗口中右键单击 VIO 输入探
针并选择
• “ Activity Persistence > Infinite 此项用于累积并保留活动值 直至复位。
• “ Activity Persistence > Long (80 samples) 此项用于在较长的时间段内累积并保留活动。
• “ Activity Persistence > Short (8 samples) 此项用于在较短的时间段内累积并保留活动。
您还可使用 Tcl 命令来设置活动持续状态。例如 要将名为 BUTTON_IBUF VIO 输入探针上的活动持续时间更改为
较长的时间段 请运行以下 Tcl 命令
set_property ACTIVITY_PERSISTENCE LONG [get_hw_probes BUTTON_IBUF]
要将任一给定核的所有输入探针的活动复位 请在“ Hardware ”窗口中右键单击 VIO 然后选择“ Reset All Input
Activity ”。您也可以通过运行以下 Tcl 命令来执行此操作
reset_hw_vio_activity [get_hw_vios {hw_vio_1}]
提示 要更改任一 VIO 输入探针矢量的多个标量成员的类型、基数和 / 或活动持续时间 请右键单击整个探针或
者该探针的多个成员 然后从弹出菜单中进行选择。菜单选项适用于选中的所有探针标量。

这篇关于vivado 设置 VIO 核以执行测量、查看 VIO 核状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914646

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统