vivado 调试核时钟设置指南

调试核时钟设置指南
注释 以下章节适用于 7 系列、 UltraScale UltraScale+ 器件。 Versal 调试核使用基于 AXI 的连接 且不受本章中的
时钟设置指南的约束。
Vivado 硬件管理器使用 JTAG 接口来与 Vivado Debug Hub 核进行通信 后者可在 FPGA 器件的 JTAG 边界扫描
(BSCAN) 接口与 Vivado 调试核之间提供接口。
JTAG 时钟 此时钟可用于同步 JTAG 边界扫描 (BSCAN) 接口的内部状态机操作。通常 连接到目标器件时 可在
Vivado 硬件管理器中选择 JTAG 时钟频率。如果您的设计包含调试核 请确保 JTAG 时钟比 Debug Hub 时钟慢
2.5x 倍。
您可使用“打开新硬件目标 (Open New Hardware Target) Wizard 或者使用以下 Tcl 命令来修改 JTAG 频率
set_property PARAM.FREQUENCY 250000 [get_hw_targets
*/xilinx_tcf/Digilent/210203327962A]
• “ Debug Hub Clock
Vivado Debug Hub 可在 FPGA 器件的 JTAG 边界扫描 (BSCAN) 接口与 Vivado 调试核之间提供接口。在设计
实现步骤中 如果在设计中检测到调试核 那么 Vivado IDE 会自动插入 Debug Hub 核。 Vivado IDE 会在设计实现
步骤中选择驱动 Debug Hub 核的时钟。
赛灵思建议 Debug Hub 时钟频率设置为约 100 MHz 或更低 因为 JTAG 时钟速度不需要特别高的频率。
您可使用以下 Tcl 命令来更改 Debug Hub 时钟。
connect_debug_port dbg_hub/clk [get_nets <clock net name>]
注释 您需要在设计完成综合后且实现之前运行此命令。
您还可以使用以下 Tcl 命令将 Debug Hub 时钟频率降低至 100 MHz
set_property C_CLK_INPUT_FREQ_HZ 200000000 [get_debug_cores dbg_hub]
set_property C_ENABLE_CLK_DIVIDER true [get_debug_cores dbg_hub]
注释 您需要在设计完成综合后且实现之前运行此命令。对于时钟速度极高的设计 建议采用此方法。此命令支持
Debug Hub 核内部包含基于 MMCM 的时钟分频器 以使时钟频率达到 100 MHz
调试核时钟
Vivado IP 目录中可用的所有调试核都需要时钟 以确保与受监控的输入探针或者由调试核驱动的任意输出信号保持同
步。在核发现与调试测量阶段中 时钟应可自由运行并保持稳定。并且时钟应与受监控或受驱动的信号保持同步。否则
可能导致数据周期不精确。
Debug Hub IP 用于桥接主机 通过支持串行接口的 BSCAN 原语 与芯片上的调试核 通过支持并行接口的 XSDB
BSCAN 原语时钟用于以串行方式将进出芯片的数据转换为 Debug Hub IP Debug Hub IP 会收集数据 并使用
Debug Hub 时钟将其发送至并行接口上的所有调试核 反之亦然。如有任一调试核时钟未自由运行或者不稳定 则将
发生数据损坏 导致出现“ Debug Cores not detected ”消息。为了避免数据损坏 重要的是确保 JTAG 时钟和
Debug Hub 时钟在调试核检测流程中保持稳定并自由运行。
1. Debug Hub 时钟必须自由运行并保持稳定。赛灵思建议从已正确约束并且已满足时序的时钟驱动器来驱动时钟。
2. 如果从 MMCM/PLL 驱动时钟 那么在执行任何调试核测量之前 请确保 MMCM/PLL LOCKED 信号处于高电
平。如果时钟连接到 Debug Hub 或任一调试核并且在调试操作中间 MMCM/PLL LOCKED 信号转换为 0 那么时
钟可能发生显著抖动 从而可能导致调试逻辑出现不可预测的行为。
3. 为了检测调试核 请使用满足上述要求的核与捕获的数据来执行测量。所有关联的时钟都必须自由运行并保持稳
定。
下表列出了各调试阶段以及特定阶段内所需的时钟。
注释
1. 稳定时钟 事件期间不发生暂停或停止的时钟。
2. 假定调试核时钟不同于 Debug Hub 时钟。
3. 调试核测量阶段包含对调试核上的属性执行 get set 的所有步骤。
Vivado 硬件管理器时钟设置相关错误消息
如果 JTAG 时钟处于不活动或不可用状态 那么您将无法连接到硬件目标。
如果 Debug Hub 时钟处于不活动或不可用状态 那么 Vivado 硬件管理器会发出以下错误消息
INFO: [Labtools 27-1434] Device xxx (JTAG device index = 0) is programmed
with a
design that has no supported debug core(s) in it.
WARNING: [Labtools 27-3123] The debug hub core was not detected at User
Scan Chain 1
or 3.
Resolution:
1. Make sure the clock connected to the debug hub (dbg_hub) core is a free
running
clock and is active OR
2. Manually launch hw_server with -e "set xsdb-user-bscan
<C_USER_SCAN_CHAIN
scan_chain_number>" to detect the debug hub at User Scan Chain of 2 or 4.
To determine
the user scan chain setting, open the implemented design and use:
get_property
C_USER_SCAN_CHAIN [get_debug_cores dbg_hub].
如有任何调试核时钟处于不活动或不可用状态 那么 Vivado 硬件管理器会发出以下错误消息
INFO: [Labtools 27-2302] Device xxx (JTAG device index = 1) is programmed
with a
design that has 1 ILA core(s).
CRITICAL WARNING: [Labtools 27-1433] Device xxx (JTAG device index = 1) is
programmed
with a design that has an unrecognizable debug core (slave type = 17) at
user chain
= 1, 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.
下图提供了含 2 ILA 核的设计示例
此设计示例包含 2 ILA ILA A ”和 ILA B ”。
此调试网络的时钟设置拓扑结构如下所示。当设计编程到器件中之后 Vivado 硬件管理器会尝试在设计中发现存在的
Debug Hub 核。而 Debug Hub 则会尝试发现并考量连接到自己的所有调试核。在此设计中 调试核为 ILA A ”和 ILA
B ”。请注意 CLKA 同时驱动 ILA A ”和 Debug Hub 核。 CLKB 则驱动 ILA B ”调试核。
连接到目标并进行器件编程时 JTAG clk 应处于活动状态。在“调试核发现阶段” 应有自由运行且保持稳定的时
用于驱动 Debug Hub 在此情况下 CLKA 。在“调试核测量阶段” 涉及在调试核上获取 / 设置属性的
任何操作 ), JTAG Debug Hub 和调试核时钟应处于活动状态。如果要触发并采集 ILA B ”上的数据 那么 JTAG
Debug Hub (CLKA) 和调试核 (CLKB) 时钟应自由运行并保持稳定。
Vivado 调试核添加至 Dynamic Function eXchange
设计
Vivado 调试核可在 Dynamic Function eXchange 设计中进行例化 在可重配置模块中也同样如此。添加和连接这些核
存在一些具体的要求和方法。请访问此 链接 并参阅《 Vivado Design Suite 用户指南 Dynamic Function eXchange
( UG909 ) 中的相应内容 以了解添加和连接这些 Vivado 调试核所需的方法。
要获取在 Dynamic Function eXchange 设计中例化调试核的示例以及 Vivado 硬件管理器中该功能的相关描述信息
访问此 链接 并参阅《 Vivado Design Suite 教程 Dynamic Function eXchange ( UG947 ) 中的相应内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/533369.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot统一功能处理之拦截器

本篇主要介绍Spring Boot的统一功能处理中的拦截器。 目录 一、拦截器的基本使用 二、拦截器实操 三、浅尝源码 初始化DispatcherServerlet 处理请求&#xff08;doDispatch) 四、适配器模式 一、拦截器的基本使用 在一般的学校或者社区门口&#xff0c;通常会安排几个…

Linux查看系统配置信息的命令【lscpu】【free】【df】【uname】【lsblk】【top】

目录 1.查看CPU信息【lscpu】 2.查看内存信息【free】 3.查看文件系统信息【df】 4.查看系统信息【uname】 知识扩展&#xff1a;Red Hat Enterprise Linux 和 Debian GNU/Linux 两者的发展介绍 知识扩展&#xff1a;Centos 和 ubuntu的区别 知识扩展&#xff1a;更多 …

Navicat的详细下载步骤

第一步&#xff0c;打开百度&#xff0c;找到Navicat官网 第二步&#xff0c;点击产品然后进去 第三步&#xff0c;点击直接下载然后跟着步骤来就OK啦

idm线程越多越好吗 idm线程数多少合适 IDM百度云下载 IDM下载器如何修改线程数

IDM&#xff08;Internet Download Manager&#xff09;是一款流行的网络下载器&#xff0c;它支持多线程下载&#xff0c;这意味着它可以同时建立多个连接来下载文件的不同部分&#xff0c;从而提高下载速度。我们在使用IDM的时候总是有很多疑问&#xff0c;今天我们学习IDM线…

免费搭建MC服务器(Minecraft免费开服教程)

我的世界(MC)作为一款全球热门的沙盒游戏&#xff0c;以其独特的创造性和无限的想象力&#xff0c;吸引了无数玩家。自行搭建MC服务器能够获得更好的游戏体验&#xff0c;本文将为大家介绍如何免费搭建MC服务器&#xff0c;开启一段属于自己的游戏世界之旅。 搭建MC服务器我们需…

ES11-12

1-ES11-Promise.allSettled Promise.allSettled0)方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。 简单来说不管成功失败都会调用.then()&#xff0c;然后处理成功和失败的结果 const promises [ …

头歌机器学习实验 第7次实验 局部加权线性回归

任务描述 本关任务&#xff1a;编写一个利用局部加权计算回归系数的小程序。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.局部加权算法的思想&#xff1b;2.局部加权的核心算法。 局部加权算法的思想 在局部加权算法中 &#xff0c;我们给待预测点附近…

数字社交的新典范:解析Facebook的成功密码

在当今数字化时代&#xff0c;社交媒体已经成为人们日常生活的重要组成部分&#xff0c;而Facebook作为最知名的社交媒体平台之一&#xff0c;其成功之处备受瞩目。本文将深入解析Facebook的成功密码&#xff0c;探讨其在数字社交领域的新典范。 1. 用户体验的优化 Facebook注…

SpringBoot删除菜品模块开发(SpringMVC分割参数、事务管理、异常处理、批量删除)

需求分析与设计 一&#xff1a;产品原型 在菜品列表页面&#xff0c;每个菜品后面对应的操作分别为修改、删除、停售&#xff0c;可通过删除功能完成对菜品及相关的数据进行删除。 删除菜品原型&#xff1a; 业务规则&#xff1a; 可以一次删除一个菜品&#xff0c;也可以批…

NzN的数据结构--选择排序

接上文&#xff0c;本章我们来介绍选择排序。先三连后看才是好习惯~~~ 目录 一、基本思想 二、直接选择排序 三、堆排序 一、基本思想 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待…

2024/4/6—力扣—简化路径

代码实现&#xff1a; // 分割/得到名字 char **split(const char *s, int *returnSize) {int n strlen(s);char **ans (char **)malloc(sizeof(char *) * n);int l 0, r 0, len 0;while (r < n) {while (r < n && s[r] /) {r;}l r;while (r < n &…

报修小程序怎么建立?维修服务行业的智能化升级

在这个数字化飞速发展的时代&#xff0c;维修服务行业也在经历着前所未有的变革。消费者对于服务的期待不再局限于传统的电话预约或线下等待&#xff0c;而是希望能够通过更加智能、便捷的途径解决日常生活中的维修问题。在这样的背景下&#xff0c;报修小程序应运而生&#xf…

跟TED演讲学英文:A new way to build AI, openly by Percy Liang

A new way to build AI, openly Link: https://www.ted.com/talks/percy_liang_a_new_way_to_build_ai_openly? Speaker: Percy Liang Date: October 2023 文章目录 A new way to build AI, openlyIntroductionVocabularyTranscriptSummary后记 Introduction Today’s AI …

STM32F4 IAP跳转APP问题及STM32基于Ymodem协议IAP升级笔记

STM32F4 IAP 跳转 APP问题 ST官网IAP例程Chapter1 STM32F4 IAP 跳转 APP问题1. 概念2. 程序2.1 Bootloader 程序 问题现象2.2. APP程序 3. 代码4. 其他问题 Chapter2 STM32-IAP基本原理及应用 | ICP、IAP程序下载流程 | 程序执行流程 | 配置IAP到STM32F4xxxChapter3 STM32基于Y…

信息系统项目管理师——第5章信息系统工程(三)

近几期的考情来看&#xff0c;本章选择题稳定考4分&#xff0c;考案例的可能性有&#xff0c;需要重点学习。本章节专业知识点特别多。但是&#xff0c;只考课本原话&#xff0c;大家一定要把本章至少通读一遍&#xff0c;还要多刷题&#xff0c;巩固重点知识。 3 系统集成 3…

Qt5 编译 Qt Creator 源码中的 linguist 模块

文章目录 下载 Qt Creator 源码手动翻译多语言自动翻译多语言 下载 Qt Creator 源码 Github: https://github.com/qt/qttools 笔记打算用 Qt 5.12.12 来编译 qt creator-linguist 所以笔者下载的是 tag - 5.12.12 &#xff0c;解压后如下&#xff0c;先删除多余的文件&#xf…

30岁《爱·回家》小花多次得罪高层,正式宣布离巢TVB。

30岁的苏韵姿&#xff08;Andrea&#xff09;16年选港姐入行&#xff0c;虽然无三甲名次&#xff0c;但靠着皇后大学戏剧学士学位背景&#xff0c;她很快已有机会入剧组&#xff0c;凭《爱回家之开心速递》熊心如&#xff08;红衫鱼&#xff09;一角成功入屋&#xff0c;不过去…

先进电机技术 —— 步进电机控制综述

一、背景 随着自动化技术的发展和精密控制需求的增长&#xff0c;步进电机作为一种重要的执行元件在众多领域展现出了卓越的性能优势。步进电机&#xff0c;又称为步进驱动器或步进马达&#xff0c;是一种能够将电脉冲信号精确转换为角位移或直线位移的特殊电动机。其工作原理…

防止狗上沙发,写一个浏览器实时识别目标检测功能

家里有一条狗&#x1f436;&#xff0c;很喜欢乘人不备睡沙发&#x1f6cb;️&#xff0c;恰好最近刚搬家 狗迎来了掉毛期 不想让沙发上很多毛。所以希望能识别到狗&#xff0c;然后播放“gun 下去”的音频&#x1f4e3;。 需求分析 需要一个摄像头&#x1f4f7; 利用 chrome…

14款DevOps/SRE工具,助力提升运维效率

简介 随着平台工程的兴起&#xff0c;DevOps 和 SRE 不断发展&#xff0c;带来了新一代工具&#xff0c;旨在提高软件开发和运维的效率、可扩展性和可靠性。 在本篇文章中&#xff0c;我们将深入探讨一些最具发展前景的工具&#xff0c;它们正在塑造持续集成与部署、监控与可观…