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 ) 中的相应内容。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dubbo 序列化

Dubbo 序列化 1、什么是序列化和反序列化 序列化&#xff08;serialization&#xff09;在计算机科学的资料处理中&#xff0c;是指将数据结构或对象状态转换成可取用格式&#xff08;例如存成文件&#xff0c;存于缓冲&#xff0c;或经由网络中发送&#xff09;&#xff0c;…

物联网实验

实验1 基于ZStack光敏传感器实验 1.实验目的 我们通过上位机发指令给协调器&#xff0c;协调器把串口接收到的指令通过Zigbee协议无线发送给带有光敏传感器的终端节点&#xff0c;获取到数据以后把数据返回给上位机&#xff0c;实现无线获取数据的目的。 2.实验设备 硬件&a…

酷开科技一手抓技术,一手抓内容,领跑0TT大屏领域发展

相较于流量池接近饱和的平台而言&#xff0c;OTT市场对于内容创作者是一片新的领域&#xff0c;不同于PC端和移动端&#xff0c;“大屏”设备或许是当下短视频市场不可多得的流量洼地。酷开系统正在用“屏”来为人们构建一个场景智能化的高效率、更便捷、超炫酷的新生活方式。以…

C语言中的数据结构--链表的应用1(2)

前言 上一节我们学习了链表的概念以及链表的实现&#xff0c;那么本节我们就来了解一下链表具体有什么用&#xff0c;可以解决哪些实质性的问题&#xff0c;我们借用习题来加强对链表的理解&#xff0c;那么废话不多说&#xff0c;我们正式进入今天的学习 单链表相关经典算法O…

乡村智慧化升级:数字乡村打造农村生活新品质

目录 一、乡村智慧化升级的内涵与意义 二、乡村智慧化升级的具体实践 1、加强农村信息基础设施建设 2、推广智慧农业应用 3、提升乡村治理智慧化水平 4、丰富智慧乡村生活内容 三、数字乡村打造农村生活新品质的成果展现 1、农业生产效率与质量双提升 2、农民收入与消…

【笔试】02

TCP TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议 它能够提供以下服务&#xff1a; 可靠传输 通过序列号、确认应答、重传机制等确保数据完整、准确地从发送端传输到接收端。 三次握手&#xff1a; 点对点全双工面向字节流…

【计算机毕业设计】校园网书店系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

JDK版本升级后连不上MySQL数据库的问题

1. 问题描述 用户在将 JDK 版本从 8 升级到 11 后&#xff0c;发现应用无法连接到 MySQL 数据库&#xff0c;出现连接超时或连接被拒绝的错误。 例如出现如下报错信息&#xff1a; 可能原因&#xff1a; JDBC驱动版本不兼容&#xff1a; 新的 JDK 11 可能需要使用更高版本的 My…

Flutter第六弹 基础列表ListView

目标&#xff1a; 1&#xff09;Flutter有哪些常用的列表组建 2&#xff09;怎么定制列表项Item&#xff1f; 一、ListView简介 使用标准的 ListView 构造方法非常适合只有少量数据的列表。我们还将使用内置的 ListTile widget 来给我们的条目提供可视化结构。ListView支持…

Canal介绍原理及安装

Canal 扩展篇 1.Canal介绍、 链接: https://github.com/alibaba/canal Canal 主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费&#xff0c;工作原理如下&#xff1a; Canal 模拟 MySQL slave 的交互协议&#xff0c;伪装自己为 MySQL slave &am…

Redis中的集群(五)

集群 在集群中执行命令 MOVED错误。 当节点发现键所在的槽并非由自己负责处理的时候&#xff0c;节点就会向客户端返回一个MOVED错误&#xff0c;指引客户端转向至正在负责槽的节点&#xff0c;MOVED错误的格式为: MOVED <slot> <ip>:<port>其中slot为键…

深度解读C++17中的std::string_view:解锁字符串处理的新境界

深入研究C17中的std::string_view&#xff1a;解锁字符串处理的新境界 一、简介二、std::string_view的基础知识2.1、构造函数2.2、成员函数 三、std::string_view为什么性能高&#xff1f;四、std::string_view的使用陷阱五、std::string_view源码解析六、总结 一、简介 C中有…

【开源社区】openEuler、openGauss、openHiTLS、MindSpore

【开源社区】openEuler、openGauss、openHiTLS、MindSpore 写在最前面开源社区参与和贡献的一般方式开源技术的需求和贡献方向 openEuler 社区&#xff1a;开源系统官方网站官方介绍贡献攻略开源技术需求 openGauss 社区&#xff1a;开源数据库官方网站官方介绍贡献攻略开源技术…

数字乡村:科技引领新时代农村发展

随着信息技术的迅猛发展和数字化浪潮的推进&#xff0c;数字乡村作为新时代农村发展的重要战略&#xff0c;正日益成为引领农村现代化的强大引擎。数字乡村不仅代表着农村信息化建设的新高度&#xff0c;更是农村经济社会发展的重要支撑。通过数字技术的深入应用&#xff0c;农…

vue2创建项目的两种方式,配置路由vue-router,引入element-ui

提示&#xff1a;vue2依赖node版本8.0以上 文章目录 前言一、创建项目基于vue-cli二、创建项目基于vue/cli三、对吧两种创建方式四、安装Element ui并引入五、配置路由跳转四、效果五、参考文档总结 前言 使用vue/cli脚手架vue create创建 使用vue-cli脚手架vue init webpack创…

✌2024/4/6—力扣—最长公共前缀✌

代码实现&#xff1a; char *longestCommonPrefix(char **strs, int strsSize) {if (strsSize 0) {return "";}for (int i 0; i < strlen(strs[0]); i) { // 列for (int j 1; j < strsSize; j) { // 行if (strs[0][i] ! strs[j][i]) { // 如果比较字符串的第…

Java特性之设计模式【外观模式】

一、外观模式 概述 外观模式&#xff08;Facade Pattern&#xff09;隐藏系统的复杂性&#xff0c;并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式&#xff0c;它向现有的系统添加一个接口&#xff0c;来隐藏系统的复杂性 这种模式涉及到一…

uniapp中页面滚动锚点位置及滚动到对应高度显示对应按钮

可以把页面代码和组件代码放自己项目里跑一下 页面代码 <template><view class"Tracing-detail"><view class"title" v-for"i in 30">顶部信息</view><!-- tab按钮 --><Tab v-model"activeIndex" …

云手机解决海外社媒运营的诸多挑战

随着海外社交媒体运营的兴起&#xff0c;如何有效管理多个账户成为了一项挑战。云手机作为一种新兴的解决方案&#xff0c;为海外社媒运营带来了前所未有的便利。 云手机的基本原理是基于云计算和虚拟化技术&#xff0c;允许用户在物理手机之外创建和使用多个虚拟手机。这种创新…

Node.js 的 5 个常见服务器漏洞

Node.js 是一个强大且广泛使用的 JavaScript 运行时环境&#xff0c;用于构建服务器端应用程序。然而&#xff0c;与任何其他软件一样&#xff0c;Node.js 也有自己的一些漏洞&#xff0c;如果处理不当&#xff0c;可能会导致安全问题。请注意&#xff0c;这些漏洞并不是 Node.…