Vivado 硬件调试

Vivado Debug 提供多种解决方案来帮助用户更高效便捷地调试其设计。这些解决方案包含各种工具、IP 和流程,支持从逻辑到系统级调试的各种功能,而且用户设计在硬件中运行。

此外,Vivado 还提供统一的设计环境,您可以在相同的 IDE 中执行不同的调试任务。在该 IDE 中,界面的外观一致,各种功能彼此通信良好。

工具 & 功能

硬件管理器

作为 Vivado IDE 的一部分,硬件管理器允许用户在比特流生成之后对器件进行编程并对设计进行。使用硬件管理器,用户可连接并编程包含一个或多个 FPGA 器件的硬件目标,然后可通过 Tcl 或 GUI 接口与调试 IP 互动,包括逻辑分析器、串行 I/O 分析器以及存储器校准调试。

特性亮点:

  • 面向 FPGA、配置存储器器件、eFUSE AES 键/寄存器的器件编程器
  • 访问系统监控器 (SYSMON) — ADC 和片上传感器
  • Tcl 脚本编写支持调试自动化
  • 使用 hw_server 通过网络完成基本远程调试
  • 使用 Xilinx 虚拟线缆 (XVC) 实现高级远程调试

如欲查看更多信息、文档及视频教程,请访问:
设计中心 > Vivado 设计套件 —— 编程与调试

Vivado 实验版 — 硬件管理器及其所有功能既可作为 Vivado 设计版的一部分提供,也可作为独立安装包提供,称为 Vivado 实验版。这个版本有一个小安装包(大约 1GB),安装后,占用的磁盘空间很少(大约 2.4GB),通常用于磁盘空间、内存或连接都很有限的实验室环境设置。了解更多信息,请访问 Vivado 下载与安装 页面

逻辑调试

Vivado 提供各种调试 IP 和工具特性,可帮助您为您所实现的设计轻松执行系统内逻辑调试。

  • ILA — 用于触发事件,收集内部信号数据
  • 系统 ILA — 用于为 AXI 接口实现事务处理级调试
  • VIO – 用于监控与驱动内部信号
  • JTAG 至 AXI — 用于通过 Tcl 直接与 AXI 接口互动

该工具中的不同调试流程可帮助您在您所偏爱的设计周期阶段,为您的设计轻松添加或设置这些调试 IP。

器件编程后,您可使用 Vivado 逻辑分析仪工具在硬件管理器中与这些 IP 互动。逻辑分析器工具中的不同仪表板可显示逻辑调试 IP 的状态并可控制其工作。

特性亮点:

  • 直观、高效的调试流程与方法
    • 支持在 RTL、GUI 和 XDC 中识别调试网络
    • 网表插入支持在综合后给设计添加一个 ILA
    • HDL 实例化支持所有调试 IP
    • 支持高级调试流程(ECO、增量),可增加每天的调试次数
    • 支持在综合及实现期间保存调试网络/接口
    • 接口事务处理级调试的 IPI 调试流程

  • 高度灵活的分析工具 — Vivado 逻辑分析器
    • 与 ILA/VIO 互动的可自定义仪表板
    • 轻松设置以采集测量值和捕获数据
    • 可配置的波形查看器,用于分析所捕获的数据

如欲查看更多信息、文档及视频教程,请访问:
设计中心 > Vivado 设计套件 — 编程与调试

AXI 事务处理级调试 — 在 Vivado IP 集成器 (IPI) 工具中,可在事务处理层面上调试 AXI 接口。IPI 不仅可简化对各种接口及信号的调试,而且还可自动将这些接口连接至系统 ILA。随后可在整个实现流程中及运行时保存接口信息,波形窗口可根据所发出的 AXI 读/写传输为 AXI 显示所有事务处理和事件。

收发器调试

Vivado 可为您提供一个快捷的方法来调试和优化 FPGA 收发器。该解决方案包括一个可定制的调试 IP (IBERT) 和 Vivado 串行 I/O 分析工具。如果结合使用,您可对多个通道进行误码率 (BER) 测量,执行 1D/2D 眼图扫描,实时调整收发器参数,而您的串行 I/O 通道还能够与系统其它部分进行互动。

此外,IBERT 还包括数据模式生成器和检查器,支持对收发器 DRP 端口的访问,可用于 PMA 评估和收发器演示。当在 FPGA 中实现了 IBERT 后,Vivado 串行 I/O 分析器不仅可与 IP 互动,而且还允许您创建链路(类似于开发板上的通道),并可通过以图形方式运行扫描和查看结果来分析链路的裕量。

特性亮点:

  • 通过不同扫描算法进行 RX 裕量分析
  • 基于链路的分析器,支持创建定制链路
  • 链路自动检测
  • 链路自动清除,以使用不同设置来运行多个扫描
  • 实时自动清除收发器参数

如欲查看更多信息、文档及视频教程,请访问:
设计中心 > Vivado 设计套件 —— 编程与调试

系统内 IBERT — 该 IP 旨在用于评估和监控用户设计中的 UltraScale/UltraScale+ 收发器。它可利用 FPGA 上运行的用户设计的实际数据来绘制收发器的眼扫描图。它在 IP 目录中作为独立 IP 提供,能够与基于收发器的 Xilinx IP 一起使用。用户可自动将这款 IP 添加至 GT 向导示例设计和 PCIe Gen3 IP。

存储器校准调试

内存校准调试工具允许您快速调试 UltraScale/UltraScale+内存接口(DDR4/3、RLDRAM3、QDRII+ 和 LPDDR3)中的校准或数据错误。您一直可在工作的整个过程中随时查看和分析硬件中存储器接口的内核配置、校准状态和数据裕量。

要调试校准错误,您可以使用所显示的信息来确定校准的哪个阶段失败了,哪个字节/半字节/位导致了错误,以及校准算法是如何失败的。此外,您还可在正常的工作中分析可用的读取余量。观察每个位上的裕量,有助于确定在特定数据位中是否存在某些信号完整性或电路板问题。

如欲了解更多详情,敬请查看 US/US+ 存储器接口产品指南 (PG150):
设计中心 > 内存接口(DDR3/DDR4RLDRAM 3QDRII+

远程调试

FPGA 调试一般通过 JTAG 线缆(连接至目标 FPGA 器件或电路板的 JTAG 引脚)完成。然而,这并非永远都是调试 FPGA 设计的最有效方法。远程调试可提供无需访问物理 JTAG 引脚就能进行 FPGA 调试的功能。

Xilinx 虚拟线缆 (XVC) 解决方案是一种基于 TCP/IP 的协议,类似于 JTAG 线缆,可提供一种无需使用物理线缆便可访问和调试 FPGA 或 SoC 设计的方法。XVC 解决方案具有软件及硬件组件:

vivado-debug-xvc
  • XVC 服务器是软件组件,它可实现 TCP/IP 协议,通过 TCP/IP 套接字与 hw_server 及 FPGA 通信。它通常运行在外部处理器、主机 PC 或 FPGA (Zynq/MPSoC) 内的嵌入式处理器上。XAPP1251 主要介绍如何使用 PetaLinux 在 Zynq 器件上运行 XVC 服务器。XVC 协议规范和示例设计在 Github 上提供。

  • 调试桥接器是硬件组件,这款 Xilinx IP 可在外部接口和其它调试 IP 之间提供不同的连接模式。它需要在 FPGA 设计中实现直接用户实例化。

XVC 解决方案支持能够根据用户需求增强和扩增解决方案的众多功能,例如:

  • MDM 支持,允许通过 SDK 调试 MicroBlaze 系统
  • 可在 JTAG 电缆与 XVC 之间进行动态切换
  • 支持在可重构分区内调试
  • 能够创建独立调试网络,控制对调试 IP 的访问

如欲了解更多详情,查看更多文献资料,请访问:
设计中心 > Vivado 设计套件 — 编程与调试

通过 PCIe 调试

在数据中心应用中,FPGA 只通过 PCIe 链路连接至 PCIe 主机系统,不与硬件设备进行任何其它连接。XVC 解决方案有助于用户通过 PCIe 链路(而不是标准 JTAG 调试接口)执行调试。

PCIe 调试应用中的主要组件如下所示:

vivado-debug-overpcie
  • 一个新增 XVC 功能的 PCIe 设计运行在 FPGA 内部。XVC 功能主要将调试桥接器 IP 连接至 PCIe 模块接口。
  • 在软件方面,主机 PC 运行 XVC 服务器以及支持 XVC 功能、能够连接 FPGA 的更新 PCIe 驱动程序。
  • 一旦这些组件落实到位,Vivado 软件就可通过在主机 PC 上本地或远程运行 hw_server 与 PCIe 系统通信。

完整的解决方案在 UltraScale/UltraScale+ PCIe Block IP 的实例设计中提供。如欲了解更多详情,敬请参考 UltraScale Gen3 PCIe Block (PG156) 和 UltraScale+ PCIe Block (PG213) 的产品指南。

视频

重要视频


所有视频