ハードウェア デバイスのプログラム - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: プログラムおよびデバッグ (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 日本語

プログラム ファイルをハードウェア デバイスに関連付けたら、[Hardware] ウィンドウでデバイスを右クリックし、[Program Device] をクリックして、ハードウェア デバイスをプログラムします。program_hw_device Tcl コマンドでも同じ操作を実行できます。たとえば、JTAG チェーンの最初のデバイスをプログラムするには、次の Tcl コマンドを使用します。

program_hw_devices [lindex [get_hw_devices] 0]

進捗状況インジケーターでプログラムが 100% 完了したことが示されたら、プログラムが正常に完了したかを Hardware Device Properties ウィンドウの DONE のステータスで確認できます。

図 1. デバイスの DONE ステータスを確認

DONE のステータスは、get_property Tcl コマンドでも確認できます。たとえば、JTAG チェーンの最初のデバイスである AMD Kintex™ 7 デバイスの DONE ステータスを確認するには、次の Tcl コマンドを使用します。

get_property REGISTER.IR.BIT5_DONE [lindex [get_hw_devices] 0]

Versal では、DONE ステータス レジスタが異なるので、コマンドが少し異なります。インデックス 1 はget_hw_devices で返される最初のデバイスとして読み出される必要があります。シングル デバイスのユース ケースの場合は arm_dap になります。

get_property REGISTER.JTAG_STATUS.BIT[34]_DONE [lindex [get_hw_devices] 1]

フラッシュ デバイスを使用したり、外部デバイス プログラム ツールを使用するなど、別の方法でハードウェア デバイスをプログラムした場合は、ハードウェア デバイスを右クリックして [Refresh Device] をクリックするか、refresh_hw_device Tcl コマンドを実行すると、ハードウェア デバイスのステータスを更新できます。これにより、DONE ステータスだけでなく、デバイスのさまざまなプロパティが更新されます。

重要: Versal 以外のアーキテクチャで、デザインにデバッグ コアが含まれる場合は、JTAG クロックがデバッグ ハブ クロックよりも 2.5 倍遅くなるようにします。
重要: ユーザー スキャン チェーン: Versal 以外のアーキテクチャの場合、Vivado プログラマでデフォルトで指定したユーザー スキャン チェーン上のデバッグ コアの検出が試みられます。検出では、JTAG_CHAIN 1 コマンドがデバイスに出力されます。デバッグ コアを含まないデザイン、またはユーザー スキャン チェーン 2 または 4 のデバッグ コアを含むデザインをプログラムする場合は、警告メッセージが表示されます。

ユーザー スキャン チェーン設定を確認するには、Versal 以外のアーキテクチャの場合は、インプリメント済みデザインを開いて次のコマンドを使用します。

get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]
Vivado ハードウェア マネージャーで使用されるユーザー スキャン チェーンは変更できます。
注記: BSCAN_SWITCH_USER_MASK は、ビット マスク値です。次の図を参照してください。

または、hw_server スタートアップにオプションとしてユーザー スキャン チェーンの値を指定することもできます。

hw_server -e "set bscan-switch-user-mask <user-bit-mask>"
図 2. BSCAN スイッチ ユーザー マスク

ヒント: Vivado 2016.3 よりも前のデザインの場合は、AMD では hw_server-e "set xsdb-user-bscan <C_USER_SCAN_CHAIN scan_chain_number>" を使用して手動で起動し、ユーザー スキャン チェーン 2 または 4 のデバッグ ハブを検出することをお勧めします。