Xilinx高级调试方法--远程调试
本文主要介绍Xilinx的一些高级调试方法,以及如何使用Xilinx的相关IP。
1 虚拟电缆调试
在传统的调试方法中,调试是通过JTAG接口进行监测信号的传输。赛灵思虚拟电缆 (Xilinx Virtual Cable, XVC) 允许 Vivado通过非JTAG接口连接到FPGA调试核。XVC通过PCIe链路而不是标准JTAG调试接口来执行调试。此过程称为XVC-over-PCIe,支持Vivado ILA波形捕获、VIO调试控制以及使用 PCIe 链路作为信道与其它赛灵思调试核进行交互。
使用XVC进行调试的系统架构如下图所示,主要包括几个部分:
- XVC-over-PCIe FPGA设计
传统上,Vivado调试是通过JTAG来执行的。默认情况下,Vivado工具可将赛灵思调试核连接到FPGA中的JTAG BSCAN资源以执行调试。为执行XVC-over-PCIe调试,此信息必须通过PCIe链路而不是JTAG电缆接口来传输。赛灵思Debug Bridge IP支持将调试网络通过PCIe扩展配置接口(PCIe-XVC-VSEC)或通过 PCIe BAR 的AXI4-Lite内存映射接口(AXI-XVC)连接到 PCIe。
Debug Bridge IP 配置为“From PCIe to BSCAN”或“From AXI to BSCAN”之后即可为分别源于PCIe扩展功能或AXI4-Lite 接口的赛灵思调试网络提供连接点。Vivado工具自动化可将此Debug Bridge实例连接到设计中找到的赛灵思调试核,而不是将其连接到JTAG BSCAN接口。在判定将Debug Bridge连接到PCIe扩展配置空间还是AXI4-Lite之间,设计需权衡利弊。 - PCIe-XVC驱动
XVC-over-PCIe驱动可提供与连接到主机PC并启用PCIe的FPGA硬件资源的连接。因此,此驱动作为Linux内核模式驱动提