设置
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
输入探针矢量的多个标量成员的类型、基数和
/
或活动持续时间
,
请右键单击整个探针或
者该探针的多个成员
,
然后从弹出菜单中进行选择。菜单选项适用于选中的所有探针标量。