アドバンス オプション - 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 を設定します。

別の bscan にある xsdb マスター コアの hw_server スキャンを開始します。デフォルトでは、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 を設定します。

別の bscan にある MicroBlaze マスター コアの hw_server スキャンを開始します。デフォルトでは、hw_server はユーザー 2 bscan をスキャンします。このオプションを使用すると、hw_server を開始したときに、別の bscan ユーザー スロットにある MicroBlaze を検索させることができます。

次のように、hw_server 開始時にオプションを指定します。
hw_server -e "set mdm-detect-bscan-mask 2"

bitmask は hw_server で見つかった FPGA またはアダプティブ SoC 用です。次はよくある bitmask 設定の例です。

 マスク値 スキャンされた 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 ケーブルを自動的に開いて、どのタイプの USB ケーブルを hw_server で検出する必要があるのかを制御するためのデバッグ オプションです。auto-open-servers パラメーターの引数は、フィールドをカンマで区切ったリストです。フィールドのカテゴリはそれぞれコロンで区切られており、最初のサブフィールドはタイプを、残りのサブフィールドはタイプの詳細を示します。xilinx-xvc タイプの場合、そのサブフィールドは host および port です。auto-open-servers のデフォルト値は * で、この場合 hw_server ですべてのケーブル タイプが検出されます。XVC のようなパラメーターを必要とする Cables タイプには * は使用できません。

次のように、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"

使用する可能性のあるすべての USB ベースのケーブルに加えて、2 つの XVC のサーバーを開くには、次を実行します。

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 です。0 に設定するのは、たとえば複数の JTAG スキャン チェーンが 1 つのホストに接続され、各スキャン チェーンにアクセスするのに hw_server の異なるインスタンスが使用されている場合などです。

次のように、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 サーバーが開始されるようになります。xvc-servers パラメーターの引数は、XVC サーバーの詳細をカンマ (,) で区切ったリストです。XVC サーバーの詳細は、ケーブル ID、XVC サーバーのホスト名または数、およびポート番号などがそれぞれコロンで区切られたリストです。ケーブル ID は、製造元の名前とスラッシュ (/) 文字で区切られた一意の識別子で、ケーブル ID 名の一部が使用されることもあれば、ホスト名が空の場合もあります。空の場合は、サーバーが全ネットワーク インターフェイスで入ってくる接続を受信するはずであることを示します。

XVC クライアントと XVC サーバーの両方が同じデバイス タイプのデバッガーで、XVC の locking モードが使用される場合にインターフェイスを回避する方法は、processor-debug-claim を参照してください。

次のように、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 クライアントに示す機能を制御できます。現在のデフォルト機能は lockingstatus、および state-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 を使用して上記のデバイスの 1 つまたは複数のデバッガーである XVC クライアントを指定して XVC サーバーを開始する場合や、hw_server を上記のデバイスの 1 つまたは複数のデバッガーである XVC サーバーに接続する場合などに便利です。どちらの場合も、ロッキング機能を使用してデバッガー間でのタイム シェアリングを可能にする場合にのみ関係します。

次のように、hw_server 開始時にオプションを指定します。

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

遅延 (uS) を指定します。デフォルトは 50000 です。

JTAG ポーリング周波数を削減するポーリング オプションを指定します。JTAG ポーリング周波数とは JTAG ポーリング動作間にかかる最小周期です。デフォルトの最小値は 50,000 uS です。jtag-poll-delay パラメーターの引数は、uS の数値です。

help

hw_server e オプションを表示します。

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 ポートは無視されます。このパラメーターの引数は、ポート ID のすべてまたは一部をカンマで区切ったリストです。ポート ID は <manufacturer>/<productid>/<serial><port> 形式の文字列です。フィルターは、ポート フィルターの文字列のいずれかがポート ID の文字列に含まれていると一致します。

このパラメーターは、hw_server で処理されるケーブルを指定するために同じホストで hw_server の複数インスタンスを実行する際に便利です。

次のように、hw_server 開始時にオプションを指定します。

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

次の例の場合、AMD DLC9 または DLC10 ケーブルをフィルターし、hw_server がポート 3122 で開始するようになります。

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

IR 幅が 64 ビットを超える JTAG チェーンのデバイスをイネーブルにします。

このオプションでは、64 ビットを超える IR 幅を使用できる状態で hw_server が開始できます。この設定のデフォルト値は 64 です。この値は、JTAG チェーンのデバイスの IR 幅が大きい (93 など) 場合に増加できます。
注記: この値を大きくすると、デバイス検出プロセスに時間がかかり、ケーブル アクセスが遅くなってしまう可能性があります。
このため、この値は IR 幅が大きいデバイスを含むシステムの場合にのみ増加するようにしてください。

次のように、hw_server 開始時にオプションを指定します。

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