【vivado】ILA调试报错 The debug hub core was not detected 以及 Data read from hw_ila [hw_ila_1] is corrupted

2023-05-16

报错一:

 

WARNING: [Labtools 27-3361] The debug hub core was not detected.

Resolution:

1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active.

2. Make sure the BSCAN_SWITCH_USER_MASK device property in Vivado Hardware Manager reflects the user scan chain setting in the design and refresh the device.  To determine the user scan chain setting in the design, open the implemented design and use 'get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]'.

For more details on setting the scan chain property, consult the Vivado Debug and Programming User Guide (UG908).

WARNING: [Labtools 27-1974] Mismatch between the design programmed into the device xc7z020_1 and the probes file(s) E:/fpga/mt100_v2/nand_x8/v2/mt100_v2/mt100_v2.runs/impl_1/mt100_v2_wrapper.ltx.

The device design has 0 ILA core(s) and 0 VIO core(s). The probes file(s) have 3 ILA core(s) and 0 VIO core(s).

Resolution:

1. Reprogram device with the correct programming file and associated probes file(s) OR

2. Goto device properties and associate the correct probes file(s) with the programming file already programmed in the device.

 

报错二:

 

ERROR: [Labtools 27-3312] Data read from hw_ila [hw_ila_1] is corrupted. Unable to upload waveform.

 

首先要了解什么是 debug hub core

a debug core hub (dbg_hub) is automatically inserted into the synthesized design netlist to provide connectivity between the new ILA core and the JTAG scan chain.

debug hub 负责将一个或几个ILA与JTAG连接起来。JTAG指令下发以及抓取的波形数据回传到screen都要通过它。

(参考 p133 - ug908-vivado-programming-debugging.pdf)

 

就像这个,把3个ILA连到JTAG上。

从warning的提示来看,1、这个hub的clock不正常;或者2、两个参数不匹配(一般参数都是01没问题,可以在properties中查到)。

 

那么重点是clk为什么不对?

Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active.

我遇到过两种情况,导致clock不正常的。

1、clock线连上了,但是这个wire上却没有clock波形,因为zynq的ps端没有启动配置,所以没有任何clock到pl端;

2、我们设置的clock频率跟JTAG仿真器的不匹配。重点来说这个。

 

在之前正常的project中,dbg_hub的clk都是连接在clk_out1(40mhz)上,这次连到了clk_800k,为什么连接变了? 频率低了有什么问题?

在p35-ug908上有指明 “The JTAG chain is as fast as the slowest device in the chain.

dbg_hub上面一共挂了3个device,clock分别是40mhz、20mhz、800khz,所以才连到了这个最低的800k上面。

 

在xilinx的forum上有个QA,Data read from hw_ila is corrupted 。其中提到 “Can you please check whether your JTAG frequency is lower  than ILA clock frequency? It is recommended to keep the JTAG frequency half or less than half of ILA clock frequency.”

虽然后半句,推荐一半或更低的freq没有在ug908上找到依据,但是jtag比ILA低这个是原理性的。The JTAG chain is as fast as the slowest device in the chain.也是这个意思。

 

ERROR: [Xicom 50-38] xicom: No trigger mark in any sample in window: 0.

ERROR: [Xicom 50-41] Waveform data read from ILA core is corrupted (user chain=1, slave index=0).

Resolution:

1) Ensure that the clock signal connected to the debug core and/or debug hub is clean and free-running.

2) Ensure that the clock connected to the debug core and/or debug hub meets all timing constraints.

3) Ensure that the clock connected to debug core and/or debug hub is faster than the JTAG clock frequency.

ERROR: [Xicom 50-38] xicom: Error during interpreting trace readback data

ERROR: [Labtools 27-3176] hw_server failed during internal command.

Resolution: Check that the hw_server is running and the hardware connectivity to the target

这次报错已经说明的很清楚了,ILA和HUB的clock一定要比JTAG的高! 

 

p35上还有一段,”a default JTAG clock frequency that is 15 MHz for the Digilent cable connection and 6 MHz for the USB cable connection.“

也就是说,我用的这个USB-JTAG仿真器跑的默认频率是6mhz。这个6mhz比40mhz和20mhz低可以work,但明显高于800k的。

 

那么根因已经很清楚了,报错的project中debug hub这个中间连接件的clock比 jtag仿真器的低,正确的应该是确保jtag是最低的!

 

很明显,解决办法有两个。

1、把jtag仿真器的频率降下去。

Program and Debug --> Open hardware manager--> Open Target --> Open new target   (先关掉之前打开的hardware)

可以选750khz,比800k低。实测确认可行,而且明显刷新波形界面的速度慢下来了,这是肯定的。

 

2、把debug hub的频率升上去。

在setup debug中产生的ILA相关的XDC约束文件最后一段,把 connect_debug_port dbg_hub/clk [get_nets u_ila_2_clk_800k] 改成参考 u_ila_0_clk_out1,40mhz。实测也OK。

 

是否可以把频率设置成800k? set_property C_CLK_INPUT_FREQ_HZ 800000 [get_debug_cores dbg_hub]

答案是不行的,这个明显是设置dbg_hub的,默认300mhz,实际还是由 u_ila_2_clk_800k 实际决定的。还得改jtag的Hz。

 

延伸,ILA及DEBUG模块占用fpga资源,也会影响用户逻辑timing。所以一般系统默认连lowest的那个clock,或者把 C_ENABLE_CLK_DIVIDER true

 

参考TCL指令:

get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【vivado】ILA调试报错 The debug hub core was not detected 以及 Data read from hw_ila [hw_ila_1] is corrupted 的相关文章

随机推荐

  • mdadm命令解析

    mdadm命令解析 一 在linux系统中目前以MD Multiple Devices 虚拟块设备的方式实现软件RAID 利用多个底层的块设备虚拟出一个新的虚拟设备 并且利用条带化 stripping 技术将数据块均匀分布到多个磁盘上来提高
  • fio使用指南

    这个文档是对fio 2 0 9 HOWTO文档的翻译 xff0c fio的参数太多了 xff0c 翻译这个文档时并没有测试每一个参数的功能和使用方法 xff0c 只有少量参数做了试验 xff0c 大部分的参数采用的是根据字面翻译或是个人理解
  • CentOS系统安装VNC详细步骤

    下面是总结的详细配置步骤 xff0c 分享给大家 一 VNC 远程控制 CentOS 系统 1 查看 CentOS 系统中是否有安装 vnc xff08 默认安装 xff09 输入命令 xff1a rpm q vnc vnc server
  • 怎么看电脑CPU是几核?

    对硬件的东西知之甚少 xff0c 保存在此 xff0c 以便以后查阅 方法一 鼠标右键桌面最下方的任务栏 任务管理器 性能 查看cpu使用记录 xff0c 有几个窗口就是几核心cpu xff1b 方法二 右键 我的电脑 属性 硬件 设备管理
  • linux批量远程控制

    前提 xff1a 勉ssh秘钥登陆 使用pdssh 1 配置主机列表 web list root 64 192 168 1 2 22 root 64 192 168 1 3 182 22 root 64 192 168 1 4 181 22
  • DataBinding详解

    一 开启DataBinding 在build gradle文件添加 android dataBinding enabled true 二 生成DataBinding布局 1 光标在布局文件的根布局 gt 点击Alt 43 Enter gt
  • python批量删除txt文件中指定行

    应用场景 xff1a 在深度学习项目中 xff0c 常常会处理各种数据集 比如已经标注好的数据标签有三类 xff1a 人形 汽车 猫 xff0c 有一个新项目 xff0c 只需要识别人形 xff0c 那就需要把这个数据集进行处理 xff0c
  • Python.循环

    一 循环结构 xff1a 是程序控制流程的三大结构之一 xff08 三大手段 方法之一 xff09 通过指定的条件将循环体进行有限次或无限次 xff08 死循环 xff09 地重复运行 在Python中主要用到while和for函数实现 二
  • bind详细学习

    DNS DNS xff1a Domain Name Service 应用层协议 xff08 C S 53 udp 53 tcp xff09 域名 分类 xff1a 最多可以有127级域名 根域一级域名 xff1a Top Level Dom
  • C++ 指针常量、常量指针和常指针常量

    1 指针常量 如果在定义指针变量时候 xff0c 指针变量前用const修饰 xff0c 被定义的指针变量就变成了一个指针类型的常变量 xff0c 指针类型的常变量简称为指针常量 格式如下 数据类型 const 指针变量 61 变量名 xf
  • Jetpack初尝试 NavController,LiveData,DataBing,ViewModel,Paging

    文章目录 插件配置NavController 使用1 创建xml2 创建Activity3 res 创建navigation nav garden和说明流程 ViewModel 负责页面的数据LiveData onChangedObserv
  • 移动固态硬盘删除分区(包括EFI分区)

    新换电脑原始的固态硬盘大小是500G xff0c 担心不够用 xff0c 但电脑只有一个放置固态硬盘的位置 xff0c 所以打算将原装的500G固态换成1T固态 xff0c 原始500G固态改成移动固态硬盘 原始500G固态一共有4个分区
  • Linux-OneNote的安装和使用

    P3X OneNote是Linux的非官方应用程序 xff0c 允许用户直接从Linux平台创建和共享笔记 安装 第一种方法 xff1a Snap安装 此部分转载自链接 在Linux操作系统上使用非官方版OneNote最快捷 最简单的方法是
  • Visual Studio运行控制台程序一闪而退的解决方法!

    初学者在使用Visual Studio各个版本时 xff0c 在进行调试运行时 xff0c 会发现控制台总是一闪即退 xff0c 输出结果的窗口无法保持打开状态 xff01 其实问题是你执行时按的是F5还是Ctrl 43 F5 xff0c
  • C# Microsoft.ClearScript.V8脚本使用

    1 ClearScript支持的功能和适用场景 微软的 net是非常强大和灵活的 xff0c 除了C 体系脚本扩展 xff0c 也支持其他流行的脚本扩展 xff0c Microsoft ClearScript V8就是一个 NET绑定到Go
  • WSL2中使用systemctl报错Failed to connect to bus: Host is down

    问题截图 xff1a System has not been booted with systemd as init system PID 1 Can t operate Failed to connect to bus Host is d
  • dom4j的Element

    1 Element其中的一个Element为dom4j 创建Element xff0c 通过DocumentHelper createElement xff08 name xff09 如 xff1a Element result 61 Do
  • 【重磅推荐: 强化学习课程】清华大学李升波老师《强化学习与控制》

    深度强化学习实验室 官网 xff1a http www neurondance com 论坛 xff1a http deeprl neurondance com 编辑 xff1a DeepRL 强化学习与控制 是一门由清华大学智能驾驶课题组
  • Java正则实现EL表达式

    br public static void main String args br br Map map 61 new HashMap 2 br map put 34 name 34 34 Jame Gosling 34 br map pu
  • 【vivado】ILA调试报错 The debug hub core was not detected 以及 Data read from hw_ila [hw_ila_1] is corrupted

    报错一 xff1a WARNING Labtools 27 3361 The debug hub core was not detected Resolution 1 Make sure the clock connected to the