系统内逻辑设计调试流程
Vivado
®
工具提供了诸多功能
,
用于在真实硬件器件中调试系统内设计。系统内调试流程包含
3
个不同阶段
:
1.
探测阶段
:
确定设计中要探测的信号和探测的方法。
2.
实现阶段
:
完成设计实现
,
包括连接到所探测的信号线上的其它调试
IP
。
3.
分析阶段
:
与设计中包含的调试
IP
进行交互
,
以便对功能问题进行调试和验证。
此系统内调试流程按设计应使用上一章节内所述迭代设计
/
调试流程来运行。如果您选择使用系统内调试流程
,
那么建
议在设计周期中尽早使您的部分设计能够在硬件中运行。本章其余部分描述了系统内调试流程的
3
个阶段以及如何使
用
Vivado
逻辑调试功能来使设计尽早在硬件内运行。
通过设计探测来执行系统内调试
系统内调试的探测阶段分为
2
个步骤
:
1.
识别要探测的信号或信号线
2.
决定将调试核添加到设计中的方式
在许多情况下
,
您所决定的要探测的信号及其探测方式会导致这些信号彼此之间相互影响。最好首先决定是要手动将调
试
IP
组件实例添加到设计源代码
(
称为
HDL
例化探测流程
),
还是要使用
Vivado
工具来将调试核自动插入综合后的
网表
(
称为网表插入探测流程
)
。下表描述了不同调试方法的部分利弊取舍。
Versal
系统内调试
虽然赛灵思
Versal
™
ACAP
架构有别于先前
FPGA
架构
,
并且使用不同的调试
IP
和基础架构来连接系统内调试核
,
但
调试流程与先前
FPGA
架构存在诸多相似之处。本章中详细讲解了调试流程之间的差异。
添加
Control, Interfaces, and Processing System (CIPS)
1.
如果设计不含块设计
,
请单击
Flow Navigator
的“
IP integrator
”类别下的“
Create Block Design
”以创建块设
计。
2.
单击“
+
”以将新的
IP
添加到
IP integrator
画布上
,
并输入
cips
以搜索
CIPS IP
(
如下图所示
)
。找到后
,
请双
击以将其添加到
IP integrator
画布中。
3.
添加后
,
将在工具栏顶部附近显示一个绿条
,
以指示设计辅助功能可供使用。除非需要配置其它选项
,
否则无需运 行块自动化设置。
4.
5.
单击相应的按钮以验证块设计
,
然后单击相应的按钮以保存块设计。
6.
返回至“工程管理器
(Project Manager)
”、右键单击新创建的块设计
,
然后选择“
Create HDL Wrapper
”
,
为块
设计生成
HDL
封装器。
7.
创建后
,
请确保此块设计已例化为设计的一部分。
8.
使用“网表插入调试探针流程
(Netlist Insertion Debug Probing Flow)
”、“
HDL
例化调试探针流程
(HDL
Instantiation Debug Probing Flow)
”或“
IP integrator
调试流程
(IP integrator Debug Flow)
”继续执行操作。如果
设计包含任何调试核
,
那么执行
opt_design
期间将把
AXI4 Debug Hub
自动添加到网表中
,
并且将自动连接调
试核
注释
:
默认情况下
,
除非添加需要
I/O
的额外
IP
,
否则此块设计将不含任何输入或输出端口。
注释
:
对于大部分应用
,
无需手动将例化的调试核连接到
AXI4 Debug Hub
。执行
opt_design
期间
,
将把
AXI4
Debug Hub
和
NoC
的实例插入网表
,
并且将自动建立调试核、
Debug Hub
与
CIPS
核之间的的连接。
注释
:
如需获取有关使用
CIPS
核执行设计创建、仿真和调试的更多信息
,
请参阅《
Control Interface and Processing
System IP
产品指南》
(
PG352
)
。
AXI4-Debug Hub
Versal
器件使用的是
AXI4-Debug Hub
,
它与先前架构中使用的
Debug Hub
类似
,
并可在
Versal Control, Interfaces,
and Processing System (CIPS) IP
与设计中的调试核之间提供连接。与先前架构一样
,
Vivado
会自动插入该核
,
无需用
户干预。您也可以手动例化
AXI4-Debug Hub
。建议仅当使用
DFX
时或者当设计的寻址方案要求设置
AXI4-Debug
Hub
的手动地址时
,
才执行手动例化。
AXI4-Stream ILA
Versal
器件使用包含
ILA
和
System-ILA
功能的
AXI4-Stream ILA
。
AXI4-Stream ILA
还为走线存储器提供了
2
个选项
:
块
RAM (BRAM)
和
UltraRAM (URAM)
。
AXI4 Debug Hub
连接
要使用
Vivado
®
调试核
,
设计必须包含
AXI4 Debug Hub
。
AXI4 Debug Hub
用于将
CIPS
的
AXI-MM
接口与
AXI4-
Stream
接口相连。此接口可连接到
Vivado
调试核
,
包含以下类型的核
:
•
AXI4-Stream Integrated Logic Analyzer (AXIS-ILA)
•
AXI4-Stream Virtual Input/Output (AXIS-VIO)
•
PCI Express
®
Link Debugger
手动连接
Versal
调试核
Versal AXI4-Debug Hub IP
和调试核
(
例如
,
AXI4-Stream ILA
、
AXI4-Stream VIO
)
可提供相应的选项
,
用于手动定义
调试核与
AXI4-Debug Hub
之间的连接。大部分设计都无需使用该选项。
要在
AXI4-Debug Hub
与调试核之间启用手动连接
,
请执行以下操作
:
1.
生成并例化
AXI4-Debug Hub IP
实例
,
然后使用
PMC
将其连接到设计中的
Control, Interfaces, and Processing
System (CIPS) IP
。
2.
自定义
AXI4-Debug Hub IP
,
将“
Number of Debug Cores
”设置为要手动连接的调试核的精确数量。对于每个调
试核
,
在
AXI4-Debug Hub IP
上都会显示
1
个
AXI4-Stream
主接口和
1
个从接口。
注释
:
AXI4-Debug Hub
上未连接的
AXI4-Stream
端口可能导致执行
opt_design
期间发生错误。
3.
在对应要手动连接的调试核的
IP
自定义接口中
,
选中“
Enable AXI4-Stream Interfaces for Manual Connection to
AXI Debug Hub
”。这样就会在调试核上显示
AXI4-Stream
主端口和从端口。
4.
将调试核上的每个
AXI4-Stream
主端口和从端口连接到
AXI4-Debug Hub
上的相应端口。调试核也包含
aclk
和
aresetn
端口
,
这
2
个端口应连接到与
AXI4-Debug Hub
相连的相同时钟和复位端口。