首页 > 其他分享 >在 Vivado 中执行远程调试

在 Vivado 中执行远程调试

时间:2024-03-30 14:34:40浏览次数:27  
标签:Bridge Vivado BSCAN 调试 Debug XVC 远程 JTAG

在 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 管脚将其发送到目标器件。

标签:Bridge,Vivado,BSCAN,调试,Debug,XVC,远程,JTAG
From: https://blog.csdn.net/cckkppll/article/details/137172659

相关文章

  • Git 删除分支——如何删除本地或远程分支
    Git删除分支——如何删除本地或远程分支Git是一种流行的版本控制系统,也是Web开发人员工具包中必不可少的工具。分支是使用Git的一个强大且不可或缺的部分。在本文中,您将学习有关如何在Git中删除本地和远程分支的基础知识。Git中的分支是什么?分支是指向提交的指针。......
  • 基于 FlexLua 开源代码4G远程上报水表电表数值
    基于FlexLua开源代码4G远程上报水表电表数值1采集器和电表、水表连接方式采集器通过485总线可连接不同的水表和电表,每个表的RS485Modbus地址设置为不同即可。采集器通过4G无线传输方式,将采集到的电表数据(比如:三相电压,三相电流,功率因素,有功功率,频率)、水表(用水量)这些数......
  • Linux中远程连接Windows远程桌面(3389)相关命令总结
    在做Windows靶机时,一般靶机开放着3389端口,Linux中有很多工具,这里总结一下经常使用的,这里会使用到三个工具rdesktopxfreerdpremminardekstop在kali中自带这个命令,如果没有可以使用aptinstallrdesktop安装。常用的连接命令如下rdesktop-uhacker-p123456-rclipboar......
  • Mysql 远程连接问题排查
    title:MySql允许外部IP访问##search:2024-03-19tags:“#MySql允许外部IP访问”MySql允许外部IP访问文章目录MySql允许外部IP访问问题分析1.:white_check_mark:检查`Mysql`服务运行状态2.:white_check_mark:确定`Mysql`监听的IP地址和端口3.:white_check_ma......
  • Linux 限制root用户远程登录-ssh
    1.首先执行备份:#cp-p/etc/ssh/sshd_config/etc/ssh/sshd_config_bak2.确保系统存在除root之外的其他用户,防止设备配置完之后用户无法远程访问),若不存在其他用户,则使用如下命令添加用户并配置强密码:#useraddusername#passwdusername3.配置禁止root用户直接远程登录系统......
  • GDB & KGDB调试
    GDB底层--ptrace()->sys_ptrace()https://zhuanlan.zhihu.com/p/3369226392.3GDB断点原理在某行代码处打一个断点,其实就是将该行代码的汇编(是指令级别!!!)用INT3中断指令代替,原来的代码被保存到“断点链表”中。KGDB调试原理安装KGDB调试环境需要为Linux内核应用......
  • 利用宏进行调试
    万能的宏在调试代码的时候,如果想一次性输出好多变量的值和它们对应的名字,又不行写太长的printf,怎么办?namespaceDEBUG{template<typenameT>void_debug(constchar*format,Tt){cerr<<format<<'='<<t<<endl;}template<......
  • 腾讯云Ubuntu远程接入Vscode并设置root免密码登录
    最近在尝试Linux编程,想起自己还有一个腾讯云的服务器,就重装了Ubuntu,然后装了环境之后尝试用Vscode连接,但是发现用root用户无论如何都登录不上,后来把用户名换成ubuntu之后就能登录上了,但是在VsCode上写代码时又出现了很多问题。1、某些文件夹打不开,后来发现是用户权限不够,只能去腾......
  • 从0开始教你用VScode远程连接到Linu来写代码(纯干货分享!!!新手友好篇)
     文章中汉字部分皆被代码所代替,宝宝们在复制粘贴的时候要选好对应的开源镜像站链接,详情请见评论区,我已放好相应代码!!!!!一、虚拟机的安装:安装所必须用到的软件如下:1.vmwarestation破解版(版本至少14以上)2.Xshell7破解版(最新版本即可)3.Git-bath(官方版即可)4.vscode(官方版即可......
  • 云计算02笔记---远程连接服务ssh 以及cp mv rm cd mkdir echo 等Linux常用命令
    远程连接服务ssh语法格式:ssh用户名@ip地址【-p指定端口号】例如:[email protected]默认端口号:22修改端口号:vim/etc/ssh/sshd_config编辑其中一行#port22改为port2222删去了注释符号#且改变端口号拷贝命令cpcp位置1位置2从位置1复制到位置......