高级选项 - 2023.2 简体中文

Vivado Design Suite 用户指南: 编程和调试 (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 简体中文
表 1. 高级选项
选项 用途
detect-ir-length

禁用在扫描链发现期间对 IR 检测长度进行检测。

该选项用于启动 hw_server 并在其器件表中添加额外的器件。默认情况下, hw_server 启动时显示预设列表,其中包含从 XICOM SQL jtag 主表编译输入的器件。可通过使用此 set device-info-file 选项来覆盖或扩展这些设置。指定的文件为 .csv 文件,该文件会忽略以“#”开头的行。

hw_server 启动时指定 .csv 文件的方式如下:

hw_server -e "set device-info-file my_file.csv"

.cvs 文件格式如下 (hw_server_device_info_file.csv):

############################################################
# File: hw_server_device_info_file.csv
# Description:
# This is a sample jtag ID table. This file can be used to define
# additional devices to be detected by the hw_server application.
#
# In this file empty lines, lines with spaces, and lines that begin
# with the '#' character will be ignored.
#
# The format of this file is as follows:
#
# ROW 1: fields
# The standard JTAG id fields are "idcode,mask,irlen,name"
# ROW 2: field types
# For each field specified in ROW 1, the type is used to
# interpret the field data read per device. The types
# accepted are "i" for integer and "s" for string. If
# you use the standard fields on ROW 1 then you should
# use "i,i,i,s" in ROW 2 to set the fields idcode,mask
# irlength to integer and name as string
#
# To use this table you start hw_server with the following
# command line arguments:
#
# hw_server -e "set device-info-file <file>"
#
# Where <file> is replaced with this filename.
############################################################
idcode,mask,irlen,name
i,i,i,s
167784595,268435455,10,chipscope_soft_tap
device-info-file 设置要使用的默认器件文件 .csv
max-jtag-devices

增加在单一扫描链中可检测的器件的最大数量。默认值为 32。

该选项用于启动 hw_server 并且单一扫描链中可检测的数量多于默认器件数量。此设置的默认值为 32。您可增大该值以便延长 jtag 链。
注释: 增大该数值会导致器件发现进程变慢,从而导致电缆接入速度变慢。因此,如果您要增大该值,此设置仅适用于含大量器件的系统。
hw_server 启动时指定该选项的方式如下:
hw_server -e "set max-jtag-devices 64"
xdb-user-bscan

此项可设置将用于扫描 xsdb 核的 bscan。

该选项用于启动 hw_server 用于在其他 bscan 上扫描 xsdb 主核。默认情况下,hw_server 会扫描用户 1 和 3 bscan。通过该选项,您可启动 hw_server 用于在其他 bscan 用户插槽中查找 bscan。

hw_server 启动时指定该选项的方式如下:
hw_server -e "set xsdb-user-bscan 1,2,3,4"

此参数的实参可用于指定参数列表。该列表是逗号分隔列表,范围为 1 至 4。列表指定的最小元素数量为 1,最大数量为 4。

mdm-detect-bscan-mask

此项可设置将用于扫描 mdm 核的 bscan。

该选项用于启动 hw_server 用于在其他 bscan 上扫描 MicroBlaze 主核。默认情况下,hw_server 将扫描用户 2 bscan。通过该选项,您可启动 hw_server 用于在其他 bscan 用户插槽上查找 MicroBlaze。

hw_server 启动时指定该选项的方式如下:
hw_server -e "set mdm-detect-bscan-mask 2"

位掩码适用于由 hw_server 发现的任意 FPGA 或自适应 SoC。以下是一些常见位掩码设置示例:

 掩码值 BSCAN 扫描

0 none

1 User1

3 User1、User2

7 User1、User2、User3

f User1、User2、User3、User4

always-open-jtag

强制 hw_server 在启动时打开所有目标。

默认情况下,当 hw_server 启动时,不会对任何电缆进行初始化。发起首个连接时,会发现并打开电缆。此发现周期耗时数秒至数分钟,因系统而异。完全初始化后,即可读取电缆并发现器件。

在某些情况下,需要先发现电缆并备用。例如,将 Linux 系统设置为开发板服务器时,最好始终初始化电缆并准备好提供连接。对于此类情况,您可使用 always-open-jtag 选项来强制打开电缆。

默认情况下,这是启动时使用的设置(无需传入任何实参):
hw_server -e "set always-open-jtag 0"
要强制打开电缆,请传入以下实参,如下所示:
hw_server -e "set always-open-jtag 1"
auto-open-servers

打开含用于打开 XVC 电缆的特定参数的电缆服务器。

该选项为调试选项,用于自动打开 XVC 线缆连接,并控制 hw_server 应检测的 USB 线类型。auto-open-servers 参数的实参为由字段组成的逗号分隔列表。每个字段均为由子字段构成的冒号分隔列表,其中首个子字段即为其类型,而其余子字段则因类型而异。对于 xilinx-xvc 类型,子字段为 hostportauto-open-servers 的默认值为“*”,表示 hw_server 应检测它可支持的所有电缆类型。需要参数的 Cables 类型(如 XVC)则不在“*”覆盖范围内。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set auto-open-servers     xilinx-xvc:localhost:10200"

要打开 2 台服务器,应使用:

hw_server -e "set auto-open-servers     xilinx-xvc:localhost:10200,xilinx-xvc:localhost:10210"

要打开 2 台 XVC 服务器,除了使用所有基于 USB 的电缆外,还应使用:

hw_server -e "set auto-open-servers     *:xilinx-xvc:localhost:10200,xilinx-xvc:localhost:10210"
auto-open-ports

控制端口(链或扫描链)的自动打开。

该选项用于控制 JTAG 扫描链的自动打开。auto-open-ports 参数的实参为布尔值,1 表示自动打开所有已知 JTAG 扫描链,0 表示客户端会打开选定的 JTAG 扫描链。默认值为 1。例如,当有多个 JTAG 扫描链连接到单一主机并使用 hw_server 的不同实例来访问每个扫描链时,即可将该值设置为 0

hw_server 启动时指定该选项的方式如下:

hw_server -e "set auto-open-ports 0"
xvc-timeout

更改 XVC 超时值有助于调试 XVC 服务器。

该选项为调试选项,用于增大 XVC 传输事务终止所需的超时周期。xvc-timeout 参数的实参为以秒为单位的时间。值为 0 即禁用超时,这会导致无限等待。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set xvc-timeout 100"
xvc-servers

启动 XVC 服务器以使用电缆。

该选项用于使 hw_server 启动 XVC 服务器以使用指定 JTAG 线缆。xvc-servers 参数的实参为由 XVC 服务器描述组成的逗号 (,) 分隔列表。每条 XVC 服务器描述均为冒号 (:) 分隔列表,其中包含电缆标识、XVC 服务器主机名或编号以及端口号。电缆标识为制造商名称和唯一标识,以斜杠 (/) 字符分隔。电缆标识可以是完整电缆标识的一部分,并且主机名可为空。如果为空,则表示服务器应监听所有网络接口上的传入连接。

请参阅 processor-debug-claim 以了解当 XVC 客户端与 XVC 服务器均为相同器件类型的调试器并使用 XVC 锁定模式时,如何避免干扰。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set xvc-servers 210203356596A:localhost:3000"
注释: 您仍需首先连接到此 hw_server 实例,然后才能初始化电缆接口。
如果不连接到电缆,那么您会看到如下消息:
TCF 19:11:02.417: XVC open port failed: Cannot find
JTAG cable matching 210203A0314DA

要自动打开 XVC 线缆并将其锁定至 XVC,请添加 always-open-jtag 选项,如下所示:

hw_server -e 'set xvc-servers 210203A0314DA:xcoatslab-9:3122' -e
'set always-open-jtag 1'
xvc-packet-len

更改 XVC 服务器的最大封装长度。

该选项用于控制使用 xvc-servers option 启动的 XVC 服务器所返回的 XVC 封装长度。当前的默认封装长度为 16000,但在后续更新版本中可以更改此设置。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set xvc-servers 210203356596A:localhost:3000"     -e "set xvc-packet-len 1000"
xvc-version

更改 XVC 服务器的 XVC 协议版本。

这是调试选项,可搭配 xvc-servers 一起使用,以控制对 XVC 客户端公开的 XVC 协议版本。当前的默认协议版本为 1.1,但如果定义了新版本的 XVC 协议,则可以更改此设置。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set xvc-servers 210203356596A:localhost:3000"     -e "set xvc-version 1.0"
xvc-capabilities

更改 XVC 服务器的 XVC 功能。

这是调试选项,可搭配 xvc-servers 一起使用,以控制对 XVC 客户端公开的功能。当前的默认功能包括 lockingstatusstate-aware,但在将来版本中可以添加其他功能。如果 xvc-version 设为 1.0,则该选项无效。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set xvc-servers 210203356596A:localhost:3000"
-e "set xvc-capabilities status,state-aware"
processor-debug-claim

自动申领所选器件类型,以阻止调试器使用这些类型。

该选项用于阻止 hw_server 调试器使用选定的器件类型进行调试。给予该选项的实参为位掩码。默认情况下,hw_server 使用所有已知的器件类型进行调试。位编号含义

器件类型

0 Arm DAP

1 MPSoC

2 FPGA 或自适应 SoC

在如下情况下可使用该选项:当使用 xvc-servers 启动 XVC 服务器并且 XVC 客户端作为先前一个或多个器件的调试器时,或者当 hw_server 连接到 XVC 服务器并且该服务器作为先前一个或多个器件的调试器时。在这两种情况下,仅当使用锁定功能时,此设置才有效,因为这样即可在调试器之间支持时间共享。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set processor-debug-claim 2"
jtag-poll-delay

此项表示延迟值(以 uS 为单位)。默认值为 50000。

该选项属于轮询选项,用于降低 JTAG 轮询频率。JTAG 轮询频率为 2 次 JTAG 轮询操作之间的最短周期。默认值和最小值均为 50,000 uS。jtag-poll-delay 参数的实参是以 uS 为单位的数值。

help

显示 hw_servere”选项

该选项用于显示 hw_server 的所有可用“e”选项。

hw_server 启动时指定该选项的方式如下:

hw_server -e help
show-all

显示 hw_serv 中设置的所有成功的选项。

该选项用于显示 hw_server 的所有“e”选项设置。

hw_server 启动时指定该选项的方式如下:

hw_server -e show-all
jtag-default-frequency

设置所有电缆的默认频率。

该选项用于设置 JTAG TCK 默认频率。jtag-default-frequency 参数是以 Hz 为单位的数值。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set jtag-default-frequency 5000000"
jtag-port-filter

设置 JTAG 端口筛选。

该选项用于控制 JTAG 端口筛选。设置该选项后,hw_server 会忽略与筛选不匹配的所有 JTAG 端口。此参数的实参为完整或部分端口标识组成的逗号分隔列表。端口标识是 <manufacturer>/<productid>/<serial><port> 形式的字符串。当在端口标识字符串中可找到任意端口筛选工具的字符串时,即表示筛选结果匹配。

当在同一个主机上运行 hw_server 的多个实例时,可使用此参数来指定应由 hw_server 处理的电缆。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set jtag-port-filter     Xilinx/DLC10/0000128f515601"

另一个示例是在端口 3122 上启动 hw_server 时筛选任意 AMD DLC9 或 DLC10 电缆:

hw_server -stcp::3122 -e "set jtag-port-filter DLC9,DLC10"
bscan-switch-user-mask

启用 bscan 切换。

该选项用于控制 bscan 切换检测。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set bscan-switch-user-mask <user-bit-mask>"
jtag-port-devices

设置 JTAG 端口器件列表。

该选项用于指定 JTAG 扫描链的器件静态列表。指定该选项后,hw_server 不会读取 IDCODE 寄存器以检测扫描链上的器件。当扫描链包含不遵循 IEEE 1149.1 规范的器件时,适用该选项。给予该参数的值为 IDCODE 值组成的逗号分隔列表,其中的值的顺序与扫描链上的器件顺序相同。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set jtag-port-devices 0xe970203f,0x03632093"
max-ir-length

启用 JTAG 链中的器件,这些器件的 ir 长度大于 64 位。

该选项用于启动 hw_server 并且能够启用大于 64 位的 ir 长度。此设置的默认值为 64。对于 JTAG 链中 ir 长度较宽(例如,93)的器件,可以增大该值。
注释: 增大该数值会导致器件发现进程变慢,从而导致电缆接入速度变慢。
因此,如果您要增大该值,此设置仅适用于含大量器件且 ir 长度较长的系统。

hw_server 启动时指定该选项的方式如下:

hw_server -e "set max-ir-length 93"