实现后的设计调试
您可以在实现后修改、添加或删除调试核。在
Vivado
®
Design Suite
有
2
种办法来完成此类操作。
如果要替换与
ILA
核的现有连接
,
赛灵思建议您使用
ECO
流程。
ECO
流程可对已实现的检查点
(DCP)
进行操作
,
并且
可以节省原本用于对设计进行完整重新布线的时间。
如果要添加新的
ILA
核、删除现有
ILA
核或者修改现有
ILA
核
(
如
,
调整探针宽度大小、更改数据路径等
),
赛灵思建
议您使用增量编译流程。适用于调试核的“增量编译”流程在已综合的设计或检查点
(DCP)
上运行并使用已实现的参
考检查点
,
最好是来自先前运行的实现的检查点。这样即可节省原本用于对设计进行完整重新布线的时间。
以下章节详细讲解了上述每一种调试相关流程。
使用
Vivado ECO
流程来替换现有调试核
在已布局布线的设计检查点中可以替换已连接到
ILA
核的调试信号线。您可使用“工程变更单
(ECO)
”流程来执行此操
作。这是高级设计流程
,
用于接近完成的设计
,
在此流程中您需要交换已连接到
ILA
探针端口的信号线。此方法的用途
主要有二
:
•
节省时间。
该功能允许您将正在探测的现有调试信号线交换为其它信号线。
•
它侵入性最低
。替换所探测的信号线后
,
需要将这些信号线布线到调试核的输入。设计其余部分保持不变
,
因此不
仅保留了原先的实现结果
,
还可以使您正尝试发现的错误尽可能免于因重新实现而消失。
重要提示
!
此流程仅适用于已在其中例化或插入
ILA
核的设计。
下图显示了使用
ECO
设计流程来替换调试信号线的过程。
在已布局布线的设计检查点上替换调试探针
使用
Vivado
硬件管理器来对器件上已完成编程的设计进行调试时
,
有时需要将正在进行调试探测的信号线替换为其它
信号线。在此情况下
,
您无需重新更改
RTL
代码或更改已插入的调试核中正在探测的信号线
,
而可改用
ECO
流程来替
换调试信号线。
要使用
ECO
流程
,
请在
Vivado IDE
中打开已布局布线的设计检查点
(DCP)
,
并将布局切换为
ECO
。
这样
Flow Navigator
就会切换至包含一组不同选项的
ECO Navigator
。
在
ECO Navigator
中
,
单击“替换调试探针
(Replace Debug Probes)
”
,
这样会开启“
Replace Debug Probes
”对话框。
在“
Replace Debug Probes
”对话框中
,
高亮要更改其信号线的探针
,
然后单击“
Edit Probes
”按钮。使用每个探针右 侧的“Edit Probes
”按钮即可更改各信号线。或者
,
也可使用窗口左侧边缘处的“
Edit Probes
”按钮来更改多个探针的信号线。
单击“
Edit Probes
”按钮以开启“选择信号线
(Choose Nets)
”对话框
,
您可在其中选择信号线以便用于替换现有信号 线。
输入查找条件以便选择要用于替换现有信号线的信号线。如果查找条件返回的信号线数量超过
10000
,
则请优化查找 条件,
然后重试。在左侧查找结果上选择所需的信号线
,
然后单击箭头
(
“
->
”
)
以将这些信号线添加到右侧“选定 (Selected)”的信号线名称列中。请确保右侧“
Selected
”列中的信号线与要替换的信号线数量相匹配。单击“
OK
”继续。
重要提示
!
完成替换所有必要调试探针后
,
请对其进行重新布线
,
并重新生成比特流
,
您必须重新生成调试探针
文件
(
.ltx
)
。
提示
:
您还可通过单击“
Replace Debug Probes
”对话框中左侧的“
Edit Probes
”按钮来选择多条信号线或单一
总线。
替换调试核上的所有目标信号线后
,
请单击“
OK
”以开启确认对话框
,
以便您确认要执行的更改。
重要提示
!
检查
Tcl Console
以确保其中没有任何警告
(Warnings)/
错误
(Errors)
。
删除要探测的信号线路径上的任意信号线段都可能影响硬件管理器中显示的探针名称。
Vivado IDE
会选择距离所探测
的信号线最近并含有
MARK_DEBUG
属性的信号线段。如果找不到含
MARK_DEBUG
属性的信号线段
,
则会选择顶层
信号线。如有多个含
MARK_DEBUG
属性的信号线段
,
则该工具会随机选择其中之一。
替换所有调试探针端口后
,
您可使用
ECO Navigator
中的“检查点另存为
(Save Checkpoint As)
”选项来将所做的修改
保存到新的检查点。您需要运行
ECO Navigator
中的“
Replace Debug Probes
”命令以便为调试探针生成新的
.ltx
文
件。随后
,
您应生成新的比特文件以便对器件进行编程。然后
,
您可连接至
Vivado
硬件管理器以便对含新更改的设计
进行调试。
用于替换现有调试探针的
Vivado ECO TCL
流程
您可以使用
Vivado Tcl
流程替代先前章节中所述的
GUI
流程。以下
Tcl
命令可用于修改调试核所探测的信号线。
modify_debug_ports -probes [list {top/x_ila/probe0 0 top/inst_A/net_0} \
{top/x_ila/probe1 1 top/inst_A/net_a} {top/x_ila/probe1 2 top/inst_A/
net_b}]
此命令可执行所有网表修改
,
以断开现有信号线与指定探针端口之间的连接。在此示例中
,
现有信号线与
ILA
的索引
0
上的探测端口
0
以及索引
1
和索引
2
上的探测端口
1
之间的连接全部断开。然后
,
其中每个探针都分别连接到指定为
net_0
、
net_a
和
net_b
的信号线。修改后的连接也会自动完成布线。此过程中断开连接的信号线仍保留处于断开状
态。