该内容基于官方调试例程进行实践总结,主要在于环境搭建和tcl执行环节。
原文详细链接参见:利用 IP 中的集成调试功能来调试 PCI Express 链接训练 (xilinx.com)
具体说明几个点:
1、例程的实践基于XDMA IP进行,该IP特点在于使用更为方便简洁,需要在IP设置中选择“advanced”,并在debug options中选择三个附加调试选项,该部分选择并不会影响IP的接口设置
2、下载码流后,可以在hardware manager界面下看到hw_axi_1的jtag_axi调试模块,关于该IP单独使用的方法技巧可参考:vivado 使用 JTAG-to-AXI Master 调试核进行硬件系统通信_jtag axi-CSDN博客
3、最关键的一步(和论坛中说明有些差异):
在tcl console的命令行中进入到工程tcl所在的路径下,统一路径可以方便后续调用tcl文件查看调试过程中的数据,具体操作为:
先执行cd命令进入test_rd.tcl所在文件夹,之后再source test_rd.tcl执行脚本文件
执行后可以在文件下看到生成的.dat文件,如果在其他路径下source则文件不会出现在工程目录下
注意:这里的tcl执行还不需要用到 ActiveTcl 工具,如果使用工具会提示invalid command name "get_hw_axi_txns"错误,该语句只是vivado中会识别的相应语句,因为对应功能是访问jtag to AXI的IP
4、搭建 ActiveTcl环境
可以参考Tcl学习1——安装软件环境ActiveTcl_active tcl-CSDN博客 进行tcl环境的配置,安装成功后tcl文件的图标会改变
5、双击目录下的draw_xxx.tcl三个文件,可以生成pcie link up过程中的状态机跳转、复位状态跳转和链路连接数量的图,作为调试的判断