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. 为了检测调试核 , 请使用满足上述要求的核与捕获的数据来执行测量。所有关联的时钟都必须自由运行并保持稳
    定。
    下表列出了各调试阶段以及特定阶段内所需的时钟。

    注释
  4. 稳定时钟 : 事件期间不发生暂停或停止的时钟。
  5. 假定调试核时钟不同于 Debug Hub 时钟。
  6. 调试核测量阶段包含对调试核上的属性执行 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:
  7. Make sure the clock connected to the debug hub (dbg_hub) core is a free
    running
    clock and is active OR
  8. 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 ) 中的相应内容。
相关推荐
szxinmai主板定制专家13 小时前
基于FPGA的3U机箱模拟量高速采样板ADI板卡,应用于轨道交通/电力储能等
arm开发·人工智能·fpga开发·架构
凉开水白菜13 小时前
【FPGA】状态机模板-分别对比一段式状态机、二段式状态机以及三段式状态机
fpga开发
kanhao10014 小时前
硬件设计抽象级别详解:门级、RTL级、行为级与HLS
嵌入式硬件·fpga开发
szxinmai主板定制专家15 小时前
基于FPGA的3U机箱轨道交通网络通讯板,对内和主控板、各类IO板通信,对外可进行RS485、CAN或MVB组网通信
大数据·人工智能·嵌入式硬件·fpga开发·边缘计算
霖0020 小时前
FPGA中级项目4——DDS实现
大数据·经验分享·嵌入式硬件·学习·fpga开发·fpga
宫瑾1 天前
逻辑派G1 6层高速板学习
学习·fpga开发
泪水打湿三角裤1 天前
FPGA-流水灯
fpga开发
Terasic友晶科技1 天前
07-SDRAM控制器的设计——Sdram_Control.v代码解析
fpga开发·tsp·sdram·de1-soc·de2i-150·de2-115·c5g
逾越TAO1 天前
AXI总线之FPGA应用
fpga开发
绿算技术1 天前
技术点提升效率详解
科技·缓存·ai·fpga开发