在 Vivado 中执行远程调试
远程调试需求可能在各种情况下出现。在产品原型设计阶段可能需要远程调试以便您在无法实地访问实验室的情况下对 实验室中的设计进行调试,或者供您在组织内部共享资源。执行现场调试以诊断问题或者延长产品生命周期时也可能需 要远程调试。
赛灵思提供多种解决方案来对您的设计进行远程调试。您可使用赛灵思硬件服务器产品连接到实验室中的远程计算机来 执行调试。也可以实现赛灵思虚拟线缆 (XVC) 协议来连接到联网开发板。在以下章节中对上述每一种情况进行了详细 解释。
使用 Vivado 硬件服务器通过以太网进行调试
您可使用 Vivado 硬件服务器产品来连接到远程实验室机器。该产品为小型 (<100 MB) 独立安装产品,可供安装在实验 室机器上。该选项需要内部网或互联网访问权限,也可仅在您的组织内部使用。

适用于 7 系列、UltraScale 和 UltraScale+ FPGA 和 MPSoC 的赛灵思虚拟线缆 (XVC)
Vivado IDE 支持赛灵思虚拟线缆 (XVC) 协议。赛灵思虚拟线缆支持您无需使用 USB 或并行配置线缆即可访问并调试赛 灵思器件。此功能有助于 Vivado IDE 调试满足下列条件的设计:
• 设计所含 FPGA 位于无法访问的位置(即,此类位置不方便使用实验室 PC)。
• 无法直接访问开发板上的器件管脚 - 例如,如果 JTAG 管脚只能通过本地微处理器接口来访问。
重要提示!请注意,Versal 架构不支持赛灵思虚拟线缆。
XVC 是基于互联网的 (TCP/IP) 协议,工作方式与 JTAG 线缆类似。它包含非常基本的电缆命令。这样即可支持 XVC 通 过内部网或甚至是通过互联网来调试系统。借助此功能,您可节省差旅成本,或者在差旅不可行情况下仍能解决问题, 并缩短远程系统调试所需的时间。
XVC 的另一个常见用途是帮助团队按需访问位于别处的共享系统。如果存在多种物理因素导致系统的使用受到约束 (例如,JTAG 连接器不可用或不可访问),也可以使用 XVC。XVC 实现属于编程语言,与平台无关。 您可使用现有以太网连接代替专用 JTAG 报头来创建从处理器到目标器件的相应 JTAG 命令。借助 XVC v1.0 协议, Vivado 即可通过以太网连接与相同的 JTAG 命令进行通信,同时仍可支持所有现有 Vivado 调试功能。
重要提示!如果将 Vivado Debug Bridge IP 用于 XVC,则 Vivado IDE 不支持编程功能。此声明假定器件是在使 用 XVC 调试设计之前完成编程的。Debug Bridge IP 与 Versal ACAP 不兼容。
Vivado Debug Bridge IP 和赛灵思虚拟线缆 (XVC) 流程
注释:在 Versal™ 器件上不支持 Vivado Debug Bridge IP。
Vivado Debug Bridge IP 核属于可提供多个选项的控制器,用于与设计中的调试核进行通信。此设计可采用扁平化设计 或 Dynamic Function eXchange 设计。此外,Debug Bridge IP 核还可通过配置来利用设计调试,此类设计使用 JTAG 线缆或者通过以太网、PCIe® 或其它接口(无需 JTAG 线缆)来进行远程调试。 Debug Bridge IP 中的多种不同模式可支持多种不同用例。
XVC 模式下的 Debug Bridge
在 Debug Bridge 下有 5 种模式可在赛灵思虚拟线缆 (Xilinx Virtual Cable, XVC) 实现中使用。
• 从 AXI 到 BSCAN:在此模式下,Debug Bridge 通过 AXI4-Lite 从接口 (slave interface) 来接收 XVC 命令。
• 从 JTAG 到 BSCAN:在此模式下,Debug Bridge 通过由用户逻辑驱动的 JTAG 从接口来接收 XVC 命令。
• 从 PCIe 到 BSCAN:在此模式下,Debug Bridge 通过 PCIe 扩展配置从接口来接收 XVC 命令。
• 从 PCIe 到 JTAG:在此模式下,Debug Bridge 通过 PCIe 扩展配置接口来接收 XVC 命令。此 Debug Bridge 会通过 I/O 管脚使 JTAG 管脚脱离 FPGA。此模式主要用于通过 XVC 对另一块板上的设计进行调试。
• 从 AXI 到 JTAG:在此模式下,Debug Bridge 通过 AXI4-Lite 接口来接收 XVC 命令,以便通过 JTAG 管脚将其发送 到目标器件。
在上述所有模式下,Debug Bridge 均可通过 Soft-BSCAN(边界扫描)接口与设计中的其它调试核或 Debug Bridge 实 例进行进一步通信。Soft BSCAN 主接口支持将 JTAG 接口扩展至内部用户定义的扫描链或 Debug Bridge 实例。
在 Dynamic Function eXchange 设计中使用 Debug Bridge IP
Debug Bridge IP 可在扁平化设计内使用,也可在 Dynamic Function eXchange 设计内使用。以下提供了有关在 Dynamic Function eXchange 设计的静态区域或可重配置分区 (RP) 区域内使用的 Debug Bridge 配置的详细信息。根据 设计要求,在单一分区内允许使用多个 Debug Bridge 实例。
• BSCAN 原语 (BSCAN Primitive):当静态区域内需要使用含 BSCAN 原语的 Debug Bridge 时,则使用此模式。此 Debug Bridge 的 BSCAN 主接口可连接到静态区域和/或 RP 区域中的另一个 Debug Bridge 实例,从而提供一条或 多条通信路径,以便对这些区域进行调试。
从 BSCAN 到 Debug Hub (From BSCAN to Debug Hub):在此模式下,Debug Bridge 使用 BSCAN 从接口来与 Vivado 硬件管理器通信。它使用 Debug Hub 接口来与相关静态区域或 RP 区域中的设计核进行通信。您还可选择 向此 Debug Bridge 的输出添加更多 BSCAN 主接口,以便支持对其它调试核(例如,MicroBlaze Debug Module (MDM))或其它 Debug Bridge 实例进行调试。
注释:该工具会将 RP 中的调试核自动连接到 Debug Bridge(前提是,它是分区内例化的唯一 Debug Bridge)。
• 从 AXI 到 BSCAN (From AXI to BSCAN):在此模式下,Debug Bridge 通过 AXI4-Lite 从接口 (slave interface) 来接 收 XVC 命令。此 Debug Bridge 还可通过 Soft-BSCAN(边界扫描)主接口与设计中的其它调试核或 Debug Bridge 实例进行进一步通信。Soft BSCAN 接口支持将 JTAG 接口扩展至内部用户定义的扫描链或 Debug Bridge 实例。
• 从 JTAG 到 BSCAN (From JTAG to BSCAN):在此模式下,Debug Bridge 通过由用户逻辑驱动的 JTAG 从接口来接 收 XVC 命令。此 Debug Bridge 还可通过 Soft-BSCAN(边界扫描)主接口与设计中的其它调试核或 Debug Bridge 实例进行进一步通信。Soft BSCAN 接口支持将 JTAG 接口扩展至内部用户定义的扫描链或 Debug Bridge 实例。
• 从 PCIe 到 BSCAN (From PCIe to BSCAN):在此模式下,Debug Bridge 通过 PCIe 扩展配置从接口来接收 XVC 命 令。此 Debug Bridge 还可通过 Soft-BSCAN(边界扫描)接口与设计中的其它调试核或 Debug Bridge 实例进行进 一步通信。Soft BSCAN 主接口支持将 JTAG 接口扩展至内部用户定义的扫描链或 Debug Bridge 实例。
注释:此模式仅可用于 UltraScale+ 和 UltraScale 器件架构
• 从 PCIe 到 JTAG (From PCIe to JTAG):在此模式下,Debug Bridge 通过 PCIe 扩展配置接口来接收 XVC 命令。此 Debug Bridge 会通过 I/O 管脚使 JTAG 管脚脱离 FPGA。此模式主要用于通过 XVC 对另一块板上的设计进行调 试。
注释:此模式仅可用于 UltraScale+ 和 UltraScale 器件架构。
• 从 AXI 到 JTAG (From AXI to JTAG):在此模式下,Debug Bridge 通过 AXI4-Lite 接口来接收 XVC 命令,以便通过 JTAG 管脚将其发送到目标器件。