Vivado Design Suite - Xilinx

263
Vivado Design Suite ユーザー ガイド プログラムおよびデバッグ UG908 (v2016.2) 2016 6 8 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

Transcript of Vivado Design Suite - Xilinx

Page 1: Vivado Design Suite - Xilinx

Vivado Design Suite ユーザー ガイド

プログラムおよびデバッグ

UG908 (v2016.2) 2016 年 6 月 8 日

本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: Vivado Design Suite - Xilinx

Vivado プログラムおよびデバッグ 2UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 改訂内容

2015 年 6 月 8 日 2016.2 • ビッ ト ス ト リームの表を修正。

2016 年 4 月 6 日 2016.1 • インプ リ メンテーシ ョ ン後のデザインのデバッグに関する新しい章を追加。

• SVF ファ イル プログラムに関する新しい章を追加。

• eFUSE 機能に関する新しいセクシ ョ ンを追加。

• ILA ク ロス ト リ ガーに関する内容をアップデート。

• UltraScale+™ デバイスのビッ ト ス ト リーム設定の表を追加。

• Zynq®-7000 デバイスのビッ ト ス ト リーム設定の表を追加。

Page 3: Vivado Design Suite - Xilinx

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1 章 : 概要概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

デバッグ用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

第 2 章 : Vivado Lab Editionインス トール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Vivado Lab Edition の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Vivado Lab Edition プロジェク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

プログラム機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

デバッグ機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 3 章 : ビッ トス ト リームの生成ビッ ト ス ト リーム ファ イルのフォーマッ ト設定の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

第 4 章 : FPGA デバイスのプログラムハードウェア マネージャーを開く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

ハードウェア ターゲッ ト接続を開く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

hw_server を使用したハード ウェア ターゲッ トへの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

新しいハード ウェア ターゲッ ト を開く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

ハードウェア ターゲッ トの ト ラブルシューティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

プログラム ファ イルをハード ウェア デバイスに関連付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

ハードウェア デバイスのプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

ハードウェア ターゲッ ト を閉じる . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

ハードウェア サーバーへの接続を閉じる . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

低い JTAG ク ロ ッ ク周波数でのターゲッ ト デバイスへの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

JTAG チェーンに 32 個を超えるデバイスを含むサーバーへの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Vivado でのリモート デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラムコンフ ィギュレーシ ョ ン メモ リ デバイスで使用するビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

コンフ ィギュレーシ ョ ン メモ リ ファ イルの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Vivado でハードウェア ターゲッ トに接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

コンフ ィギュレーシ ョ ン メモ リ デバイスの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

コンフ ィギュレーシ ョ ン メモ リ デバイスのプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

デバイスの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

第 6 章 : アドバンス プログラム機能リードバッ クおよび検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Vivado プログラムおよびデバッグ 3UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 4: Vivado Design Suite - Xilinx

7 シ リーズ デバイス用の暗号化および認証されたファイルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

UltraScale および UltraScale+ デバイス用の暗号化および認証されたファイルの生成 . . . . . . . . . . . . . . . . . . . . . . . . 49

7 シ リーズ デバイスの AES キーのプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

UltraScale および UltraScale+ デバイスの AES キーのプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

eFUSE レジスタのアクセスおよびプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 シ リーズ デバイスの eFUSE レジスタのアクセスおよびプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

UltraScale および UltraScale+ デバイスの eFUSE レジスタのアクセスおよびプログラム . . . . . . . . . . . . . . . . . . . . . 64

システム モニター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラムSVF ターゲッ トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

SVF ターゲッ トへのデバイスの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

SVF ファ イルの保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

SVF ファ イルの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

第 8 章 : デザインのデバッグRTL レベル デザイン シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

インプリ メンテーシ ョ ン後のデザイン シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

インシステム ロジッ ク デザインのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

インシステム シ リ アル I/O デザインのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

第 9 章 : インシステム ロジック デザインのデバッグ フローインシステム デバッグ用のデザインのプローブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

ネッ ト リ ス ト挿入デバッグ プローブ フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

HDL インスタンシエーシ ョ ン デバッグ プローブ フローの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

HDL インスタンシエーシ ョ ン デバッグ プローブ フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

デバッグ コアを含むデザインのインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

第 10 章 : ハードウェアでのロジック デザインのデバッグVivado ロジッ ク解析を使用したデザインのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

ハードウェア ターゲッ トに接続して FPGA デバイスをプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Vivado ハードウェア マネージャーのダッシュボード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

計測のための ILA コアの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

ILA プローブ情報の記述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

ILA プローブ情報の読み出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

ILA コアからのデータを波形ビューアーで表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

ILA コアでキャプチャされたデータの保存および復元. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

プローブ値の列挙名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

計測のための VIO コアの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

VIO コアのステータスの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

VIO コアの出力プローブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

JTAG-to-AXI Master デバッグ コアを使用したハード ウェア システム通信. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

ラボ環境での Vivado ロジッ ク解析の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

ハードウェア マネージャーの Tcl オブジェク トおよびコマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Tcl コマンドを使用した JTAG-to-AXI Master コアへのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

ILA を測定する Tcl コマンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

スタート アップ時の ト リガー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Memory Interface Generator (MIG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Vivado プログラムおよびデバッグ 4UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 5: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

波形コンフ ィギュレーシ ョ ンのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

オブジェク ト名の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

バスの基数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

アナログ波形の表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

ズーム機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ配置配線済みデザイン チェッ クポイン トのデバッグ プローブの置換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

デバッグ コア (ILA) を変更した場合のインク リ メンタル コンパイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

第 13 章 : インシステム シリアル I/O デバッグ フロー概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Vivado IP カタログを使用した IBERT コアの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

IBERT サンプル デザインの生成と インプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグVivado シ リ アル I/O 解析を使用したデザインのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定7 シ リーズ デバイスのビッ ト ス ト リーム設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Zynq-7000 のビッ ト ス ト リーム設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

UltraScale のビッ ト ス ト リーム設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Virtex および Kintex UltraScale+ のビッ ト ス ト リーム設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

Zynq UltraScale+ MPSoC のビッ ト ス ト リーム設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

付録 B : ト リガー ステート マシンの言語記述ステート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

goto アクシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

条件分岐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

カウンター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

フラグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

条件文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

付録 C : コンフ ィギュレーシ ョ ン メモリのサポートArtix-7 コンフ ィギュレーシ ョ ンのメモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

Kintex-7 コンフ ィギュレーシ ョ ンのメモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

Virtex-7 コンフ ィギュレーシ ョ ンのメモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

Kintex UltraScale コンフ ィギュレーシ ョ ンのメモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Kintex UltraScale+ コンフ ィギュレーシ ョ ンのメモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

Virtex UltraScale コンフ ィギュレーシ ョ ン メモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Virtex UltraScale+ コンフ ィギュレーシ ョ ン メモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Zynq-7000 コンフ ィギュレーシ ョ ン メモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Zynq UltraScale+ MPSoC コンフ ィギュレーシ ョ ン メモ リ デバイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

付録 D : その他のソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

ト レーニング コース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

Vivado プログラムおよびデバッグ 5UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 7: Vivado Design Suite - Xilinx

第 1 章

概要

概要

デザインをインプ リ メン ト したら、 FPGA デバイスをプログラムし、 デザインをインシステムでデバッグしながらハード ウェアでデザインを実行します。 FPGA デバイスのプログラムおよびインシステム デバッグの実行に必要なコマンドはすべて、 Vivado® 統合設計環境 (IDE) の Flow Navigator の [Program and Debug] にあ り ます (図 1-1)。

X-Ref Target - Figure 1-1

図 1-1 : Flow Navigator の [Program and Debug]

Vivado プログラムおよびデバッグ 7UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 8: Vivado Design Suite - Xilinx

第 1 章 : 概要

デバッグ用語集

ILA : ILA (Integrated Logic Analyzer) 機能を使用する と、 FPGA デバイスのインプリ メン ト後のデザインをインシステムでデバッグできます。 この機能は、 デザインで信号を監視する必要がある場合に使用します。 ハードウェア イベン ト を ト リガーし、 データをシステム速度でキャプチャするためにも使用できます。

ILA コアは、 RTL コードにインスタンシエートするか、 Vivado デザイン フローの合成後の段階で挿入します。 ILA コアの詳細およびその Vivado Design Suite での使用方法は、 第 9 章および第 10 章を参照してください。 ILA コア IP の詳細は、 『Integrated Logic Analyzer LogiCORE IP 製品ガイ ド』 (PG172) [参照 20] を参照してください。

VIO : VIO (Virtual Input/Output) は、 内部 FPGA 信号を リ アルタイムに監視および駆動できるデバッグ機能です。ターゲッ ト ハードウェアへの物理的なアクセスがない場合は、 このデバッグ機能を使用して、 実際のハードウェアにある信号を駆動および監視できます。

このデバッグ コアは RTL コードにインスタンシエートする必要があるので、 どのネッ ト を駆動するのか前もって決めておく必要があ り ます。 このコアは IP カタログの Debug カテゴ リに含まれます。 VIO コアの詳細およびその Vivado Design Suite での使用方法は、 第 10 章を参照して ください。 VIO コア IP の詳細は、 『Virtual Input/Output LogiCORE IP 製品ガイ ド』 (PG 159) [参照 16] を参照してください。

IBERT : IBERT (Integrated Bit Error Ratio Tester) Serial Analyzer デザインを使用する と、 インシステム シ リ アル I/O の検証およびデバッグが可能になり ます。 この機能を使用する と、 FPGA ベース システムの高速シ リ アル I/O リ ンクを計測および 適化できます。 単純なクロ ッ クや接続の問題から複雑なマージン解析およびチャネル 適化の問題まで、 さまざまなインシステム デバッグおよび検証の問題を解決するには、 IBERT Serial Analyzer デザインを使用するこ とをお勧めします。

IBERT Serial Analyzer デザインは、 受信信号にレシーバー イコライゼーシ ョ ンが適用された後の信号の質を計測するためにも使用できます。 これによ り、 TX から RX へのチャネルの 適なポイン ト、 つま り実際の正しいデータが計測されます。 このデザインには、 IP カタログから IBERT コアを選択、 設定、 生成して、 このコアの [Open Example Design] を選択する とアクセスできます。 IBERT コアの詳細およびその Vivado Design Suite での使用方法は、第 13 章および第 14 章を参照してください。使用可能なさまざまな IBERT デザインの詳細は、『Integrated Bit Error Ratio Tester for 7 Series GTX Transceivers LogiCORE IP 製品ガイ ド』 (PG132) [参照 17]、 『Integrated Bit Error Ratio Tester for 7 Series GTP Transceivers LogiCORE IP 製品ガイ ド』 (PG133) [参照 18]、 『Integrated Bit Error Ratio Tester for 7 Series GTH Transceivers LogiCORE IP 製品ガイ ド』 (PG152) [参照 19] を参照してください。

JTAG-to-AXI Master : JTAG-to-AXI Master デバッグ機能は、 ハード ウェアで動作中のさまざまな AXI フルおよび AXI Lite スレーブ コアと通信する AXI ト ランザクシ ョ ンを生成するために使用されます。 AXI ト ランザクシ ョ ンを生成し、 ランタイムに FPGA 内部で AXI 信号をデバッグおよび駆動するには、 このコアを使用するこ とをお勧めします。 このコアは、 プロセッサのないデザインででも使用できます。

このコアは IP カタログの Debug カテゴ リに含まれます。 VIO コアの詳細およびその Vivado Design Suite での使用方法は、 第 10 章を参照してください。 JTAG-to-AXI コアの詳細は、 『JTAG to AXI Master LogiCORE IP 製品ガイ ド』 (PG174) [参照 21] を参照してください。

デバッグ ハブ : Vivado デバッグ ハブ コアは、FPGA デバイスの JTAG バウンダ リ スキャン (BSCAN) インターフェイス と、 次のタイプのコアを含む Vivado デバッグ コアとの間のインターフェイスを提供します。

• ILA (Integrated Logic Analyzer)

• VIO (Virtual Input/Output)

• IBERT (Integrated Bit Error Ratio Test)

• JTAG-to-AXI

• メモ リ IP

重要 : Vivado デバッグ ハブ コアをデザインにインスタンシエートするこ とはできません。 これは opt_design の段階で Vivado によ り挿入されます。

Vivado プログラムおよびデバッグ 8UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 9: Vivado Design Suite - Xilinx

第 2 章

Vivado Lab EditionVivado® Lab Edition はフル バージ ョ ンの Vivado Design Suite をスタンドアロンにインス トールできるエディシ ョ ンで、 ザイ リ ンクス FPGA のビッ ト ス ト リームを生成した後に、 FPGA をプログラムおよびデバッグするのに必要なすべての機能を備えています。 マシンのディ スク容量、 メモ リ、 コネクティ ビティに関してマシン リ ソースが少ないラボ環境でのプログラムおよびデバッグに使用するのが一般的です。 Vivado Lab Editon はインス トール パッケージ サイズが 1GB、 インス トール後にハードディ スクを占める容量は約 1.3GB と軽量です。

インストール

Vivado Lab Edition をインス トールするには、 Lab Edition インス トーラーが必要です。

詳細なインス トール、 ラ イセンス、 およびリ リース情報は、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、インス トールおよびライセンス』 (UG973) [参照 5] を参照してください。

Windows での Vivado Lab Edition の起動

Vivado Lab Edition を起動するには、 次の順にク リ ッ ク して ください。

[スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado Lab 2016.2] → [Vivado Lab 2016.2]

Windows または Linux のコマンド ラインからの Vivado Lab Edition の起動

コマンド プロンプ トに次のコマンドを入力します。

vivado_lab

ヒン ト : コマンド プロンプ トで vivado_lab を実行するには、 使用する OS に応じて、 次のいずれかのスク リプ ト を使用して環境を設定します。

C:\Xilinx\Vivado_Lab\2016.2\settings32.(bat|sh)C:\Xilinx\Vivado_Lab\2016.2\settings64.(bat|sh)

推奨 : Vivado Lab Edition はどのディ レク ト リからでも起動できますが、 ログ ファ イルおよびジャーナル ファ イルが起動ディ レク ト リに書き込まれるので、 書き込み権限のあるプロジェク ト ディ レク ト リから実行するこ とをお勧めします。 コマンド プロンプ トから実行する場合、 プロジェク ト ディ レク ト リから Vivado IDE を起動するか、vivado_lab -log および -journal オプシ ョ ンを使用してディ レク ト リ を指定します。 Windows シ ョート カッ トを使用する場合は、 シ ョート カッ ト を右ク リ ッ ク して [プロパティ ] をク リ ッ ク し、 [作業フォルダー ] を変更する必要があ り ます。 書き込み権限のないプロジェク ト ディレク ト リから起動する と、 ツールから警告メ ッセージが表示されたり、 予期しない動作が見られます。

Vivado プログラムおよびデバッグ 9UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 10: Vivado Design Suite - Xilinx

第 2 章 : Vivado Lab Edition

Vivado Lab Edition の使用 Vivado Lab Edition を起動する と、 Vivado Lab Edition を使用し始めるのに役立つさまざまな リ ンクを含む Getting Started ページ (図 2-1) が表示されます。

プロジェク トの開始

デザインをプログラムまたはデバッグするには、 プロジェク ト を作成するか開き、 ターゲッ ト サーバーおよびデバイスに接続します。 Getting Started ページの [Quick Start] セクシ ョ ンには、 次のタスクを実行するためのボタンが表示されます。

• 新規プロジェク ト を作成

• 既存のプロジェク ト を開く

注記 : [Recent Projects] リ ス トから 近開いたプロジェク ト を開く こ と もできます。

ハードウェア マネージャーを開く

Vivado Design Suite ハードウェア マネージャーを開く と、デザイン ビッ ト ス ト リームをデバイスにダウンロードできます。 Vivado ロジッ ク解析機能および Vivado シ リ アル I/O 解析機能を使用する と、 デザインをデバッグできます。たとえば、 ILA、 VIO および JTAG-to-AXI コアをデザインに追加して Vivado ロジッ ク解析機能でデバッグした り、ザイ リ ンクス IP カタログから IBERT サンプル デザインを使用し、 Vivado シ リ アル I/O 解析機能で GT をテス トおよびコンフ ィギュレーシ ョ ンした りできます。

X-Ref Target - Figure 2-1

図 2-1 : Vivado Lab Edition の Getting Started ページ

Vivado プログラムおよびデバッグ 10UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 11: Vivado Design Suite - Xilinx

第 2 章 : Vivado Lab Edition

資料およびビデオ

Getting Started ページから Xilinx Documentation Navigator を使用して、 ユーザー ガイ ド、 チュート リ アル、 ビデオ、リ リース ノート などの資料にアクセスできます。

Vivado Lab Edition プロジェク ト Vivado Lab Edition を使用する と、 ラボ環境でプロジェク ト を作成できます。 プログラムおよびランタイム デバッグに関するすべてのプリ ファレンスや基本設定はプロジェク トに保存されます。 プロジェク ト を開き直すと、 設定およびプリ ファレンスが復元されます。 Vivado Lab Edition プロジェク トは、 Vivado Lab Edition ツールおよび Vivado Design Suite の両方で作成できます。

新規プロジェク トの作成

Vivado Lab Edition で新し くプロジェク ト を作成するには、 Getting Started ページで [Create New Project] をク リ ッ ク します。 [New Vivado Lab Edition Project] ダイアログ ボッ クスにプロジェク ト名およびディ レク ト リ を入力します。 新しいプロジェク ト を作成する と、 Vivado Lab Edition によ りプロジェク ト ファ イルが作成されます。 このプロジェクト ファ イルの名前は、 [New Vivado Lab Edition Project] ダイアログ ボッ クスで入力したプロジェク ト名に .lpr という拡張子が付いたものになり ます。 図 2-2 を参照してください。

X-Ref Target - Figure 2-2

図 2-2 : Vivado Lab Edition での新規プロジェク トの作成

Vivado プログラムおよびデバッグ 11UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 12: Vivado Design Suite - Xilinx

第 2 章 : Vivado Lab Edition

Tcl コマンドを使用したプロジェク トの作成

プロジェク トは、 Tcl コマンドを使用しても作成できます。 Vivado Lab Edition の [Tcl Console] ウ ィンド ウに次のコマンドを入力するか、 source コマンドを使用して Tcl ファ イルから読み込みます。

create_project project_1 C:/Lab_edition/project_1

プロジェク ト を開く

既存のプロジェク ト を開くには、 Getting Started ページで [Open Project] をク リ ッ クするか (図 2-3)、 [Recent Projects] リ ス トにあるプロジェク ト をダブルク リ ッ ク します。Vivado Lab Edition プロジェク ト ファ イル (.lpr) を開くダイアログ ボッ クスが表示されます。 [Recent Projects] リ ス トには、 デフォルトで 10 個のプロジェク トが表示されます。 この数は、 [Tools] → [Options] の [General] ページで変更できます。 プロジェク トが表示される前に、 そのプロジェク ト データが存在するかど うかが確認されます。

Tcl コマンドを使用してプロジェク ト を開く

プロジェク トは Tcl コマンドを使用して開く こ と もできます。 Vivado Lab Edition の [Tcl Console] ウ ィンド ウに次のコマンドを入力するか、 source コマンドを使用して Tcl ファ イルから読み込みます。

open_project C:/Lab_edition/project_1/project_1.lpr

X-Ref Target - Figure 2-3

図 2-3 : [Open Vivado Lab Edition Project] ダイアログ ボックス

Vivado プログラムおよびデバッグ 12UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 13: Vivado Design Suite - Xilinx

第 2 章 : Vivado Lab Edition

Vivado Lab Edition で既存のビッ トス ト リーム (.bit) およびデバッグ プローブ (.ltx) ファイルを使用

Vivado Lab Edition がインス トールされているラボ マシンで、 以前に実行したインプ リ メンテーシ ョ ン run の既存の .bit ファ イルおよび .ltx ファ イルを使用できます。

典型的なフローは次のとおりです。

• Vivado Lab Edition プロジェク ト を新し く作成します。

• ボードに接続します。

• プロジェク トの .bit ファ イルおよび .ltx ファ イルを指定します。

注記 : ファ イルを手動でコピーするか、 ネッ ト ワーク ド ラ イブにあるファ イルを参照できます。

• デバイスをプログラムします。

• ハードウェアでデザインをデバッグします。

• 変更はプロジェク トに継続的に保存されます。

• ユーザー プリ ファレンス、 ランタイム マネージャー デバッグ ダッシュボード、 ウ ィ ンド ウ設定は、 継続的にプロジェク トに保存されます。

• ユーザー プリ ファレンス、 ランタイム マネージャー デバッグ ダッシュボード、 ウ ィ ンド ウ設定は、 プロジェク ト を再度開いたと きに復元されます。

Vivado Design Suite からの既存の .lpr プロジェク ト を使用

Vivado Design Suite では、 プロジェク トの開始時に .lpr ファ イルが作成され、 ハードウェア マネージャーを使用してプロジェク トのデザインをプログラムまたはデバッグする と きに、 このファ イルに適切な詳細情報が記述されます。 このファイルは、 project_name.hw ディ レク ト リに project_name.lpr とい う名前で保存されます。 このプロジェク ト ファイルを Vivado Lab Edition で開く こ とができます。

一般的なフローは次のとおりです。

• Vivado Lab Edition の Getting Started ページで [Open Project] をク リ ッ ク します。

• Vivado IDE プロジェク ト ディ レク ト リにある project_name.hw ディ レク ト リに移動します。

• project_name.hw ディ レク ト リ内にある .lpr プロジェク ト ファ イルを選択し、 [OK] をク リ ッ ク します。

• ハードウェアに接続します。

• 該当する Vivado の run ディ レク ト リのから正しい .bit ファ イルおよび .ltx ファ イルを使用してプログラムおよびデバッグを実行します。

• ユーザー プリ ファレンス、 ランタイム マネージャー デバッグ ダッシュボード、 ウ ィ ンド ウ設定は、 プロジェク ト を開いたと きに復元されます。

プログラム機能 プロジェク ト を開き、ハード ウェア マネージャーをターゲッ ト デバイスに接続したら、 Vivado Design Suite で使用できるすべてのプログラム機能を Vivado Lab Edition から使用できます。 プログラム関連の Tcl コマンドはすべて Vivado Lab Edition でサポート されています。 プログラム機能の詳細は、 第 5 章 「コンフ ィギュレーシ ョ ン メモ リ デバイスのプログラム」 を参照してください。

Vivado プログラムおよびデバッグ 13UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 14: Vivado Design Suite - Xilinx

第 2 章 : Vivado Lab Edition

デバッグ機能 プロジェク ト を開き、ハード ウェア マネージャーをターゲッ ト デバイスに接続したら、 Vivado Design Suite で使用できるすべてのデバッグ機能を Vivado Lab Edition から使用できます。デバッグ関連の Tcl コマンドはすべて Vivado Lab Edition でサポート されています。 デバッグ機能の詳細は、 第 10 章 「ハード ウェアでのロジッ ク デザインのデバッグ」 を参照してください。

Vivado プログラムおよびデバッグ 14UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 15: Vivado Design Suite - Xilinx

第 3 章

ビッ トス ト リームの生成ビッ ト ス ト リーム データ ファ イルを生成する前に、 ビッ ト ス ト リーム設定が正しいかど うかを確認するこ とが重要です。

Vivado® IDE には、 次の 2 つのビッ ト ス ト リーム設定があ り ます。

1. ビッ ト ス ト リーム ファ イルのフォーマッ ト設定

2. デバイス コンフ ィギュレーシ ョ ン設定

Flow Navigator の [Bitstream Settings] をク リ ッ クするか、 [Flow] → [Bitstream Settings] をク リ ッ クする と、 [Project Settings] ダイアログ ボッ クスの [Bitstream] ページが開きます (図 3-1)。 ビッ ト ス ト リーム設定が正しいこ とを確認したら、write_bistream Tcl コマンドまたは Flow Navigator の [Generate Bitstream] を使用してビッ ト ス ト リーム データ ファ イルを生成できます。

X-Ref Target - Figure 3-1

図 3-1 : [Project Settings] ダイアログ ボックスの [Bitstream] ページ

Vivado プログラムおよびデバッグ 15UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 16: Vivado Design Suite - Xilinx

第 3 章 : ビッ トス ト リームの生成

ビッ トスト リーム ファイルのフォーマッ ト設定の変更

デフォルトでは、 write_bistream Tcl コマンドでバイナリ ビッ ト ス ト リーム ファ イル (.bit) が生成されます。生成されるファ イルのフォーマッ ト を変更するには、 次のオプシ ョ ンを使用します。

• -raw_bitfile (オプシ ョ ン) : ロー ビッ ト ファ イル (.rbt) を生成します。 ロー ビッ ト ファ イルには、 バイナリ ビッ ト ス ト リーム ファ イルと同じ情報が ASCII 形式で含まれます。 出力ファイル名は filename.rbt となり ます。

• -mask_file (オプシ ョ ン) : マスク ファ イル (.msk) を生成します。 マスク ファ イルには、 ビッ ト ス ト リーム ファ イルのコンフ ィギュレーシ ョ ン データが含まれる場所を示すマスク データが含まれます。 このファイルは、 検証時にビッ ト ス ト リームのどのビッ ト を リードバッ ク データ と比較するべきかを判断するために使用します。 マスク ビッ トが 0 の場合はそのビッ トはビッ ト ス ト リーム データに対して検証され、 1 の場合は検証されません。 出力ファイル名は file.msk とな り ます。

• -no_binary_bitfile (オプシ ョ ン) : バイナリ ビッ ト ス ト リーム ファ イル (.bit) を生成しません。 このオプシ ョ ンは、 バイナリ ビッ ト ス ト リーム ファ イルを生成せずに、 ASCII 形式のビッ ト ス ト リーム ファ イルまたはマスク ファイルを生成したり、 ビッ ト ス ト リーム レポート を生成したりする場合に使用します。

• -logic_location_file (オプシ ョ ン) : ラ ッチ、 フ リ ップフロ ップ、 LUT、 ブロ ッ ク RAM、 I/O ブロ ッ ク入力および出力のビッ ト ス ト リーム位置を示す ASCII 形式のロジッ ク ロケーシ ョ ン ファ イル (.ll) を生成します。このロケーシ ョ ン ファ イルではビッ トがフレームおよびビッ ト番号で示されるので、 FPGA レジスタの内容を調べるのに役立ちます。

• -bin_file (オプシ ョ ン) : デバイス プログラム データのみを含むバイナリ ファ イル (.bin) を生成します。 通常のビッ ト ス ト リーム ファ イル (.bit) に含まれるヘッダー情報は含まれません。

• -reference_bitfile <arg> (オプシ ョ ン) : リ ファレンス ビッ ト ス ト リーム ファ イルを読み込み、 指定したリ ファレンス ファ イルからの変更部分のみを含むインク リ メンタル ビッ ト ス ト リーム ファ イルを生成します。このパーシャル ビッ ト ス ト リームは、 既存のデバイスをアップデート されたデザインでインク リ メンタルにプログラムする場合に使用できます。

デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定の変更

コンフ ィギュレーシ ョ ン設定で も頻繁に変更されるのは、 デバイス コンフ ィギュレーシ ョ ン設定です。 これらの設定はデバイス モデルのプロパティであ り、 選択した合成済みまたはインプリ メン ト済みデザイン ネッ ト リ ス トの [Edit Device Properties Properties] ダイアログ ボッ クスで変更します。 この方法でさまざまなビッ ト ス ト リーム プロパティを変更するには、 次の手順に従います。

1. [Tools] → [Edit Device Properties] をク リ ッ ク します。

2. [Edit Device Properties] ダイアログ ボッ クス (図 3-2) の左側のカテゴ リからいずれかを選択します。

Vivado プログラムおよびデバッグ 16UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 17: Vivado Design Suite - Xilinx

第 3 章 : ビッ トス ト リームの生成

ヒン ト : 検索フ ィールドにプロパティを入力します。 たとえば、 JTAG プログラムに関連するプロパティを検索および選択するには、 「jtag」 と入力します。

3. プロパティに値を設定し、 [OK] をク リ ッ ク します。

4. [File] → [Save Constraints] をク リ ッ ク し、 アップデート した制約をターゲッ ト XDC ファ イルに保存します。

ビッ ト ス ト リーム プロパティは、 XDC ファ イルで set_property コマンドを使用して設定するこ と も可能です。次の例では、 スタート アップ DONE サイクル プロパティを変更しています。

set_property BITSTREAM.STARTUP.DONE_CYCLE 4 [current_design]

その他の例は、 Vivado テンプレートに含まれています。 付録 A 「デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定」 に、 すべてのデバイス コンフ ィギュレーシ ョ ン設定が説明されています。

X-Ref Target - Figure 3-2

図 3-2 : [Edit Device Properties] ダイアログ ボックス

Vivado プログラムおよびデバッグ 17UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 18: Vivado Design Suite - Xilinx

第 4 章

FPGA デバイスのプログラムビッ ト ス ト リーム データ プログラム ファ イルを生成したら、 ターゲッ ト FPGA デバイスにダウンロード します。Vivado® IDE には、 この作業を行うためのインシステム デバイス プログラ ミ ング機能があ り ます。

Vivado Design Suite および Vivado Lab Edition には、 1 つ以上の FPGA デバイスを含むハードウェアに接続し、 その FPGA デバイスをプログラムしてアクセスする機能が含まれています。 ハード ウェアへの接続は、 Vivado Lab edition または Vivado Design Suite の GUI、 または Tcl コマンドで実行できます。 どちらの場合も、 ハード ウェアに接続し、ターゲッ ト FPGA デバイスをプログラムする手順は同じです。

1. ハードウェア マネージャーを開く

2. ホス ト コンピューター上で稼働中のハード ウェア サーバーで制御されているハード ウェア ターゲッ ト を開きます。

3. ビッ ト ス ト リーム データ プログラム ファ イルを適切な FPGA デバイスに関連付けます。

4. プログラム ファ イルをハード ウェア デバイスにプログラム (ダウンロード ) します。

ハードウェア マネージャーを開く

デザインをハード ウェアにプログラムした りデバッグするには、 まずハード ウェア マネージャーを開きます。 ハード ウェア マネージャーを開くには、 次のいずれかを実行します。

• プロジェク ト を開いている場合は、 Flow Navigator で [Program and Debug] → [Open Hardware Manager] をク リ ック します。

• [Flow] → [Open Hardware Manager] をク リ ッ ク します。

• [Tcl Console] ウ ィンド ウ で open_hw コマンドを実行します。

Vivado プログラムおよびデバッグ 18UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 19: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

ハードウェア ターゲッ ト接続を開く

次に、 ハード ウェア ターゲッ ト (1 つ以上の FPGA デバイスで構成される JTAG チェーンを含むハードウェア ボードなど) を開き、 ハード ウェア ターゲッ トへの接続を制御するハード ウェア サーバーに接続します。 これには、 次のいずれかを実行します。

• Flow Navigator で [Program and Debug] → [Hardware Manager] → [Open Target] をク リ ッ ク し、新しいハード ウェア ターゲッ ト または 近開いたハードウェア ターゲッ ト を開きます (図 4-1)。

• Hardware Manager 環境の上部にある緑のユーザー アシスタンス バナーから [Open target] → [Recent Targets] または [Open target] → [Open New Target] をク リ ッ ク し、 近開いたハードウェア ターゲッ ト または新しいハードウェア ターゲッ ト を開きます (図 4-2 を参照)。

• Tcl コマンドを使用して、 ハード ウェア ターゲッ トへの接続を開きます。

ヒン ト : [Auto Connect] を使用する と、 ローカル ハードウェア ターゲッ トに自動的に接続されます。

X-Ref Target - Figure 4-1

図 4-1 : Flow Navigator からハードウェア ターゲッ ト を開く

X-Ref Target - Figure 4-2

図 4-2 : ユーザー アシスタンス バナーからハードウェア ターゲッ ト を開く

Vivado プログラムおよびデバッグ 19UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 20: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

hw_server を使用したハードウェア ターゲッ トへの接続

hw_server でサポート される互換性のある JTAG ダウンロード ケーブルおよびデバイスは、 次のとおりです。

• ザイ リ ンクス プラ ッ ト フォーム ケーブル USB II (DLC10)

• ザイ リ ンクス プラ ッ ト フォーム ケーブル USB (DLC9G、 DLC9LP、 DLC9)

• Digilent 社 JTAG-HS1

• Digilent 社 JTAG-HS2

• Digilent 社 JTAG-HS3

• Digilent 社 JTAG-SMT1

• Digilent 社 JTAG-SMT2

ローカル マシン上のターゲッ トに接続する と、 Vivado によ り hw_server が自動的に実行されます。 hw_server は、 ローカル マシンまたはリモート マシン上で手動で実行するこ と もできます。 Windows プラ ッ ト フォーム上の Vivado フル インス トールでは、 コマンド プロンプ トで次のコマンドを実行します。

C:\Xilinx\Vivado\<Vivado_version>\bin\hw_server.bat

Windows プラ ッ ト フォーム上のスタンドアロンのハード ウェア サーバー インス トールを使用する場合は、 コマンド プロンプ トで次のコマンドを実行します。

c:\Xilinx\HWSRVR\<Vivado_version>\bin\hw_server.bat

次のセクシ ョ ンの手順に従って、 このエージェン ト を使用して新しいハード ウェア ターゲッ トへの接続を開きます。

重要 : Vivado ハードウェア マネージャーが hw_server に接続されており、 hw_server が停止した場合、 ハード ウェア マネージャーによ り この状況が自動的に検出され、 サーバーからの接続が解除されます。

新しいハードウェア ターゲッ ト を開く

Open New Hardware Target ウ ィザードでは、 ウ ィザードの指示に従いながら、 ハード ウェア サーバーと ターゲッ ト を接続できます。 ウ ィザードでのプロセスは次のとおりです。

1. ハードウェア ターゲッ ト を接続するローカルまたはリモート サーバーを選択します。

• [Local server] : ハードウェア ターゲッ ト を Vivado Lab Edition または Vivado IDE を実行しているマシンに接続する場合に選択します (図 4-3)。Vivado によ り、 ローカル マシン上で Vivado ハードウェア サーバー (hw_server) アプリ ケーシ ョ ンが自動的に開始されます。

• [Remote server] : ハードウェア ターゲッ ト を Vivado Lab Edition または Vivado IDE を実行している別のマシンに接続する場合に選択します。 リモート マシンのホス ト名または IP アドレス と、 そのマシン上で実行中のハードウェア サーバー (hw_server) アプリ ケーシ ョ ンのポート番号を指定します (図 4-4)。 リモート デバッグの詳細は、 155 ページの 「ラボ マシンで動作中の hw_server サーバーへの接続」 を参照してください。

重要 : リモート サーバーを使用する場合は、 ハード ウェア サーバーに接続するのに使用する Vivado のバージ ョ ンと同じバージ ョ ンの Vivado ハードウェア サーバー (hw_server) アプリ ケーシ ョ ンを手動で開始する必要があ り ます。

Vivado プログラムおよびデバッグ 20UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 21: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

ヒン ト : ラボ マシンにリモートで接続する場合は、 そのリモート マシン上に Vivado Design Suite のフル バージ ョ ンをインス トールする必要はあ り ません。 軽量の Vivado ハードウェア サーバー (スタンドアロン) ツールをインス トールできます。

X-Ref Target - Figure 4-3

図 4-3 : ローカル ハードウェア サーバーの使用

Vivado プログラムおよびデバッグ 21UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 22: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

2. ハードウェア サーバーで制御されているターゲッ トの リ ス トから、 適切なハード ウェア ターゲッ ト を選択します。 ターゲッ ト を選択する と、 そのハード ウェア ターゲッ トで使用可能なハードウェア デバイスが表示されます (図 4-5)。

X-Ref Target - Figure 4-4

図 4-4 : リモート ハードウェア サーバーの使用

Vivado プログラムおよびデバッグ 22UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 23: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

重要 : JTAG チェーンにサードパーティ デバイスがある場合は、 IDCODE、 IR の長さ、 名前を追加するため、「Vivado ハードウェア マネージャー 2014.2 以降 - JTAG チェーンで IEEE 1149.1 に準拠しないデバイスが認識されない」 (アンサー 61312) にある手順に従ってください。

ハードウェア ターゲッ トのト ラブルシューティ ング

ハードウェア ターゲッ トに接続する際に問題が発生するこ とがあ り ます。 次に、 よ く発生する問題とその解決方法を示します。

• ターゲッ ト上のハード ウェア デバイスを正し く特定できない場合は、 ハード ウェアがデフォルトのターゲッ ト周波数で動作できない可能性があ り ます。 ハード ウェア ターゲッ ト またはケーブルの TCK ピンの周波数を調整できます (図 4-5)。 ハード ウェア ターゲッ トの各タイプでプロパティが異なるこ とがあ り ます。 プロパティの詳細は、 各ハード ウェア ターゲッ トの資料を参照してください。

• Vivado ハードウェア サーバーによ り JTAG チェーンに含まれるすべてのデバイスの命令レジスタ (IR) 長の自動的な検出が試みられますが、 まれに正し く検出できないこ とがあ り ます。 不明なデバイスの IR 幅が正しいこ とを確認してください。 IR 幅を指定する必要がある場合は、 Open New Hardware Target ウ ィザードの [Hardware Devices] の表に直接入力できます (図 4-5)。

X-Ref Target - Figure 4-5

図 4-5 : ハードウェア ターゲッ トの選択

Vivado プログラムおよびデバッグ 23UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 24: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

最近開いたハードウェア ターゲッ ト を開く

Open New Hardware Target ウ ィザードでは、 前に接続したハード ウェア ターゲッ トの リ ス ト も生成されます。 ウ ィザードを使用してハード ウェア ターゲッ トに接続しなくても、 Hardware Manager 環境で [Open recent target] リ ンクをク リ ッ ク し、 リ ス トから 近接続したハード ウェア サーバー /ターゲッ トの組み合わせを選択する と、 前に接続したハード ウェア ターゲッ トへの接続を再開できます。 この 近使用されたターゲッ トの リ ス トには、 Vivado IDE の Flow Navigator の [Program and Debug] → [Hardware Manager] → [Open Target] からもアクセスできます。

Tcl コマンドを使用してハードウェア ターゲッ ト を開く

Tcl コマンドを使用して、 ハード ウェア サーバー /ターゲッ トに接続するこ と も可能です。 たとえば、 localhost:3121上の hw_server で制御される digilent_plugin ターゲッ ト (シ リ アル番号 210203339395A) に接続するには、 次の Tcl コマンドを使用します。

connect_hw_server -url localhost:3121current_hw_target [get_hw_targets */xilinx_tcf/Digilent/210203339395A]set_property PARAM.FREQUENCY 15000000 [get_hw_targets \ */xilinx_tcf/Digilent/210203339395A]open_hw_target

ハードウェア ターゲッ トへの接続を開く と、 [Hardware] ウ ィンド ウにハード ウェア サーバー、 ハード ウェア ターゲッ ト、 および開いているターゲッ ト用のさまざまなハード ウェア デバイスが表示されます (図 4-6)。

X-Ref Target - Figure 4-6

図 4-6 : ハードウェア ターゲッ トへの接続を開いた後の [Hardware] ウィンドウ

Vivado プログラムおよびデバッグ 24UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 25: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

プログラム ファイルをハードウェア デバイスに関連付け

ハードウェア ターゲッ トに接続したら、 FPGA デバイスをプログラムする前に、 ビッ ト ス ト リーム データ プログラム ファ イルをデバイスに関連付ける必要があ り ます。 [Hardware] ウ ィンド ウでハード ウェア デバイスを選択し、[Properties] ウ ィンド ウで [Programming File] プロパティが適切なビッ ト ス ト リーム データ ファ イル (.bit) に設定されているこ とを確認します。

注記 : Vivado IDE では、 開いているハード ウェア ターゲッ トの 初のデバイスの [Programming File] プロパティ値として、 現在のインプ リ メン ト済みデザインの .bit ファイルが自動的に使用されます。 この機能は、 Vivado IDE をプロジェク ト モードで使用した場合にのみ使用できます。 Vivado IDE を非プロジェク ト モードで使用する場合は、 このプロパティを手動で設定する必要があ り ます。

また、 set_property Tcl コマンドを使用してハードウェア デバイスの PROGRAM.FILE プロパティを設定できます。

set_property PROGRAM.FILE {C:/design.bit} [lindex [get_hw_devices] 0]

Vivado プログラムおよびデバッグ 25UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 26: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

ハードウェア デバイスのプログラム

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

program_hw_devices [lindex [get_hw_devices] 0]

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

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

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

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

X-Ref Target - Figure 4-7

図 4-7 : FPGA デバイスの DONE ステータスを確認

Vivado プログラムおよびデバッグ 26UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 27: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

重要 : Vivado プログラマでは、 デフォルトで指定したユーザー スキャン チェーン上のデバッグ コアの検出が試みられます。 検出は、 JTAG_CHAIN 1 および 3 コマンドをデバイスに発行するこ とによ り実行されます。 デバッグ コアを含まないデザイン、 またはユーザー スキャン チェーン 2 または 4 のデバッグ コアを含むデザインをプログラムする場合は、 次のよ うな警告メ ッセージが表示されます。

WARNING: [Labtools 27-3123] The debug hub core was not detected at User Scan Chain 1 or 3.

解決策 : 1. デバッグ ハブ (dbg_hub) コアに接続されているクロッ クがフ リーランニング クロ ッ クで、 アクティブであるこ

とを確認します。2. hw_server を -e "set xsdb-user-bscan <C_USER_SCAN_CHAIN scan_chain_number>" を使用して手動で起動し、 ユーザー スキャン チェーン 2 または 4 のデバッグ ハブを検出します。 ユーザー スキャン チェーン設定を判断するには、 インプリ メン ト済みデザインを開いて次のコマンドを使用します。 get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]

デバッグ コアを含まないデザインでは、 この警告メ ッセージは無視できます。 また、 デバッグ コア以外のものに JTAG_CHAIN 1 または 3 の BSCAN プリ ミティブを使用する場合は、 コアの自動検出が発行され、 予期しない動作が見られる可能性があるこ とに注意してください。

ハードウェア ターゲッ ト を閉じる

ハードウェア ターゲッ ト を閉じるには、 [Hardware] ウ ィンド ウでハード ウェア ターゲッ ト を右ク リ ッ ク し、 [Close Target] をク リ ッ ク します。 Tcl コマンドでも同じ操作を実行できます。 たとえば、 localhost サーバー上の xilinx_platformusb/USB21 ターゲッ ト を閉じるには、 次の Tcl コマンドを使用します。

close_hw_target {localhost/xilinx_tcf/Digilent/210203339395A}

重要 : ボードの電源がオフになった場合、 またはケーブルの接続が解除された場合、Vivado IDE によ りハード ウェア マネージャーのハードウェア ターゲッ トが閉じられます。 メ インの Vivado スレッ ドに対する Vivado の操作もキャンセルされます。 ボードの電源が再びオンになるか、 ケーブルが再接続された場合は、 Vivado IDE によ りハード ウェア マネージャーのハードウェア ターゲッ トが再び開かれます。

ハードウェア サーバーへの接続を閉じる

ハードウェア サーバーへの接続を閉じるには、 [Hardware] ウ ィンド ウでハード ウェア サーバーを右ク リ ッ ク し、[Close Server] をク リ ッ ク します。 Tcl コマンドでも同じ操作を実行できます。 たとえば、 localhost サーバーへの接続を閉じるには、 次の Tcl コマンドを使用します。

disconnect_hw_server localhost

重要 : Vivado ハードウェア マネージャーが hw_server に接続されており、 hw_server が停止した場合、 ハード ウェア マネージャーによ り この状況が自動的に検出され、 サーバーからの接続が解除されます。

Vivado プログラムおよびデバッグ 27UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 28: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

低い JTAG クロック周波数でのターゲッ ト デバイスへの接続 JTAG チェーンは、 チェーン内で一番遅いデバイス と同じ速さにな り ます。 JTAG ク ロ ッ クの周波数を下げるには、JTAG ク ロ ッ ク周波数がデフォルトの JTAG ク ロ ッ ク周波数よ り も低いターゲッ ト デバイスに接続します。

デフォルトの JTAG ク ロ ッ ク周波数 (ケーブル接続の場合は 15MHz、 USB ケーブル接続の場合は 6MHz) を使用して開いてみる必要があ り ます。 これらの速度で接続できない場合は、 次に説明するよ うに、 デフォルトの JTAG 周波数をさらに下げるこ とをお勧めします。

JTAG ク ロ ッ ク周波数を変更するには、 Vivado Design Suite の Open New Hardware Target ウ ィザードを使用します (図 4-8)。

または、 次の Tcl コマンド シーケンスを使用します。

open_hw connect_hw_server -url machinename:3121current_hw_target [get_hw_targets */xilinx_tcf/Digilent/210203327962A] set_property PARAM.FREQUENCY 250000 [get_hw_targets */xilinx_tcf/Digilent/210203327962A] open_hw_target

X-Ref Target - Figure 4-8

図 4-8 : Vivado で低い JTAG 周波数を選択

Vivado プログラムおよびデバッグ 28UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 29: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

JTAG チェーンに 32 個を超えるデバイスを含むサーバーへの接続

Vivado では、 JTAG チェーンに 32 個を超えるデバイスを含むサーバーへ接続するこ とが可能です。 スキャン チェーンでデバイスを検出するための機能を有効にするため、 hw_server の開始時に max-jtag-devices オプシ ョ ンを指定する必要があ り ます。 この設定のデフォルト値は 32 です。 この値を大き くする と、 デバイス検出プロセスに時間がかかり、 ケーブル アクセスが遅くなってしま う可能性があるこ とに注意して ください。

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

hw_server -e "set max-jtag-devices 64"

Vivado でのリモート デバッグ

さまざまな状況でリモート デバッグが必要になるこ とが多くなっています。 たとえば、 ラボへの物理的なアクセスのない場合にラボでデザインをデバッグする場合、 組織内でリ ソースを共有する場合など、 製品のプロ ト タイプ段階で必要になる可能性があ り ます。 リモート デバッグは、 問題を診断したり、 製品ライフサイクルを延長するためのインフ ィールド デバッグ/アップデートに必要なこ と もあ り ます。

ザイ リ ンクスでは、 デザインを リモートでデバッグ/アップデートする複数のソ リ ューシ ョ ンを提供しています。 これは、 ラボでザイ リ ンクス ハードウェア サーバー製品を使用して リモート コンピュータに接続する と実行できます。 また、 ザイ リ ンクス仮想ケーブル (XVC) プロ ト コルをインプ リ メン ト しても、 ネッ ト ワークに接続されたボードに接続できます。 これらの各ソ リ ューシ ョ ンについては、 次のセクシ ョ ンで説明します。

イーサネッ トから Vivado ハードウェア サーバーを使用したデバッグ

リモート ラボ マシンには、 Vivado ハードウェア サーバー製品を使用する と接続できます。 これは、 100MB 未満の小さいサイズのスタンドアロン ダウンロードで、 ラボ マシンにインス トールします。 このオプシ ョ ンを実行するには、 イン ト ラネッ ト またはインターネッ ト アクセスが必要で、 ユーザーの組織内部でのみ使用できます。

X-Ref Target - Figure 4-9

図 4-9 : イン ト ラネッ ト /インターネッ トからハードウェア サーバーを使用したデバッグ

Vivado プログラムおよびデバッグ 29UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 30: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

ザイリンクス仮想ケーブル (XVC)Vivado IDE では、 ザイ リ ンクス仮想ケーブル (XVC) がサポート されます。 ザイ リ ンクス仮想ケーブルを使用する と、USB またはパラレル コンフ ィギュレーシ ョ ン ケーブルなしにザイ リ ンクス デバイスにアクセスしてデバッグができます。 この機能によ り、 次のよ うなデザインを Vivado IDE でデバッグしやすくな り ます。

• ラボと PC が近くにない場合に、 アクセスしにくい位置に FPGA がある

• ボードのデバイス ピンへの直接アクセスがない (例 : JTAG ピンがローカル マイクロプロセッサ インターフェイスからのみアクセス可能)

XVC は JTAG ケーブルのよ うに動作するインターネッ ト ベース (TCP/IP) プロ ト コルで、かな り基本的なケーブル コマンドを含みます。 XVC を使用する と、 イン ト ラネッ ト を介してシステムをデバッグできます。 この機能によ り、コス トのかかる実行困難な伝搬が少なくな り、 リモートにあるシステムをデバッグするのにかかる時間が削減されます。 XVC インプリ メンテーシ ョ ンはプログラム言語であ り、 プラ ッ ト フォームが独立しています。

プロセッサからターゲッ ト デバイスへの適切な JTAG コマンドを作成するには、専用の JTAG ヘッダーを使用するより も、 既存のイーサネッ ト接続を使用します。 XVC v1.0 プロ ト コルを使用する と、 イーサネッ ト接続を使用して Vivado から同じ JTAG コマンドを使用できます。 既存の Vivado デバッグおよびプログラム機能はサポート されたままになり ます。

図 4-10 はよ くあるケースで、 データ センターでデバイスをデバッグする必要がある例を示しています。 これらのデバイスは、 ラ ッ クにマウン ト されたボード上の離れた箇所にあ り ます。 デスク ト ップ/ホス ト マシンで Vivado IDE およびハードウェア サーバー (hw_server) を実行して、 イーサネッ ト を介してデータ センターと通信できるので、JTAG を使用してマイクロプロセッサで実行される XVC サーバーと通信できます。

XVC サーバー インプリ メンテーシ ョ ン

XVC プロ ト コルをインプリ メン ト して、 適切なプロセッサに XVC サーバーを作成する必要があ り ます。

X-Ref Target - Figure 4-10

図 4-10 : イーサネッ トから XCV サーバーを使用したデバッグ

Vivado プログラムおよびデバッグ 30UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 31: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

XVC プロ ト コル

XVC プロ ト コルを使用する と、 イーサネッ ト を介して Vivado IDE から JTAG コマンドをエンベデッ ド システムに対して実行でき、 ターゲッ ト ザイ リ ンクス デバイスがプログラムまたはデバッグできるよ うになり ます。 これにより、 どのベンダーを使用するかに関係なく、 ザイ リ ンクス デバイスをデバッグおよびプログラムできます。 プログラム機能には、 従来の JTAG 接続と同じサポートが含まれ、 デバッグ機能には、 ザイ リ ンクス システム デバッガー (XSDB) または Vivado ハードウェア デバッグ IP を使用した操作性が含まれます。

デバイスへの JTAG コマンドは、 プログラム ケーブルを使用して通信した場合または Digilent モジュールを使用した場合にデバイスへ転送されるのと同じコマンドです。 このコマンドによ り、 すべての既存の Vivado ハードウェア デバッグ ツール間で機能が使用できます。

ユーザー XVC 1.0 コマンド

表 4-1 は、 XVC 1.0 プロ ト コル コマンドについてまとめています。

表 4-1 : XVC コマンドの説明

コマンド 説明

getinfo コマンド形式 :

getinfo :

XCV サービス バージ ョ ンを取得します。 getinfo を受信する と、 サービスから次の文字列を返します。

xvcServer_v1.0:<xvc_vector_len>\n

<xvc_vector_len> は、 サービスにシフ ト可能なベクターの 大幅です。

shift コマンド形式 :

shift:[num bits][tms vector][tdi vector]

tms_vector および tdi_vecto のバイ ト ベクターを使用して num_bits でシフ ト を実行します。

• num_bits はリ トル エンディアン モードの整数です。

これは、 ベクターをシフ ト アウ トするのに必要な TCK clk ト グルの数を示しています。

• tms_vector は、 すべての TMS シフ ト ビッ ト を使用したバイ ト サイズのベクターです。

このベクターのバイ ト 0 のビッ ト 0 が 初にシフ ト アウ ト されます。

ベクターは num_bits で、 も近いバイ トに丸められます。

• tdi_vector は tms_vector と似ていますが、 すべての tdi ベクターがシフ ト インされる と ころを示しています。

このコマンドは、 シフ ト インされるビッ ト ごとにサンプリ ングされる該当する tdo ビッ ト を使用して、 tms_vector と同じサイズのバイ ト ベクターを返します。

このベクターのバイ ト 0 のビッ ト 0 は、 シフ トから読み出される 初の tdo 値です。

settck コマンド形式 :

settck:[period]

サービス tck 周期を [period] に設定しよ う と します。

• [period] は ns で指定されます。

これはリ トル エンディアンの整数値です。

このコマンドは、 settck: が終了したと きに適用された周期を返します。

• 返された値は ns で指定されます。

これはリ トル エンディアンの整数値です。

Vivado プログラムおよびデバッグ 31UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 32: Vivado Design Suite - Xilinx

第 4 章 : FPGA デバイスのプログラム

Vivado IDE の hw_server の初期化

Vivado IDE の hw_server が XVC 接続を使用して開始される と、 Vivado IDE で USB ケーブルと同じよ うに XVC ケーブルが認識されます。 これには、 次の引数を使用して Vivado IDE の hw_server を開始します。

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

auto-open-servers オプシ ョ ンは、 起動時に hw_server で初期化されるよ うに XVC ケーブルをイネーブルにします。 既存の XVC ケーブルへの接続が使用されるよ うに、 ハードウェア サーバーを初期化できます。 サーバーでは、今後の接続で XVC ケーブルが自動的に認識されるよ うになり ます。

auto-open-servers への引数は、 次のよ うにな り ます。

xilinx-xvc:<xvc_host_name>:<xvc_port>

複数のサーバーを指定するには、 カンマで区切り ます。 ハード ウェア サーバーが開始される と、 指定した XVC サーバーへの接続を構築しよ う と します。

この例については、 『PetaLinux ツールを使用した Zynq-7000 でのザイ リ ンクス仮想ケーブルの実行』 (XAPP1251) [参照 13] を参照して ください。

このアプ リ ケーシ ョ ン ノートは、 PetaLinux ツールで生成された Linux オペレーティング システムを使用して Zynq®-7000 デバイスで実行されるザイ リ ンクス仮想ケーブル (XVC) を取得する方法を示しています。 使用されている参照デザインは、 Avnet MicroZed ボード用です。 このアプリ ケーシ ョ ン ノートのターゲッ ト デバイスは AC701 で、 Linux で XVC を実行する MicroZed ボードでプログラムおよびデバッグされます。

Vivado プログラムおよびデバッグ 32UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 33: Vivado Design Suite - Xilinx

第 5 章

コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

Vivado デバイス プログラマ機能を使用する と、 ザイ リ ンクス FPGA デバイスを JTAG を介して直接プログラムできます。 Vivado では、 フラ ッシュ ベースのコンフ ィギュレーシ ョ ン メモ リ デバイスを JTAG を介して間接的にプログラムするこ と もできます。 これには、 まず JTAG とフラ ッシュ デバイス インターフェイスの間にデータ パスを提供する特別なコンフ ィギュレーシ ョ ンを使用してザイ リ ンクス FPGA デバイスをプログラムし、 そのデータ パスを使用してコンフ ィギュレーシ ョ ン メモ リ デバイスの内容をプログラムします。

Vivado デバイス コンフ ィギュレーシ ョ ン機能を使用する と、 ザイ リ ンクス FPGA またはメモリ デバイスをザイ リ ンクス ケーブルまたは Digilent ケーブルを使用して直接プログラムできます。 適切なケーブルのリ ス トは、 20 ページの 「hw_server を使用したハード ウェア ターゲッ トへの接続」 を参照してください。 バウンダ リ スキャン モードで実行する と、 ザイ リ ンクス FPGA およびコンフ ィギュレーシ ョ ン メモ リ デバイスをコンフ ィギュレーシ ョ ンまたはプログラムできます。

Vivado でサポート されるコンフ ィギュレーシ ョ ン メモ リ デバイスのリ ス トは、 付録 C 「コンフ ィギュレーシ ョ ン メモ リのサポート 」 を参照してください。

Vivado でコンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムし、 このデバイスから起動するには、 次の手順に従います。

1. コンフ ィギュレーシ ョ ン メモ リ デバイスで使用するビッ ト ス ト リームを生成します。

2. コンフ ィギュレーシ ョ ン メモ リ ファ イル (.mcs または .bin) を作成します。

3. Vivado でハードウェア ターゲッ トに接続します。

4. コンフ ィギュレーシ ョ ン メモ リ デバイスを追加します。

5. Vivado IDE を使用してコンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムします。

6. FPGA デバイスを起動します (オプシ ョ ン)。

Vivado プログラムおよびデバッグ 33UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 34: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

コンフ ィギュレーシ ョ ン メモリ デバイスで使用するビッ トス ト リームの生成

合成済みデザインまたはインプ リ メン ト済みデザインを開き、 [Tools] → [Edit Device Properties] をク リ ッ ク して [Edit Device Properties] ダイアログ ボッ クスを開きます。

ダイアログ ボッ クスの左上にある検索フ ィールドを使用して、 すべての SPI または BPI に関連するフ ィールドを検索し、 適切なオプシ ョ ンを設定します。 デバイス コンフ ィギュレーシ ョ ン設定の詳細は、 付録 A 「デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定」 を参照してください。

X-Ref Target - Figure 5-1

図 5-1 : [Edit Device Properties] ダイアログ ボックス : 検索フ ィールド

Vivado プログラムおよびデバッグ 34UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 35: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

コンフ ィギュレーシ ョ ン メモリ ファイルの作成

.mcs または .bin プログラム ファ イルを作成するには、 write_cfgmem Tcl コマンドを使用します。 このファイルは、 コンフ ィギュレーシ ョ ン メモ リ デバイスのプログラムに使用します。

たとえば、 1 つの 1G ビッ ト BPI コンフ ィギュレーシ ョ ン メモ リ デバイスの .mcs ファ イルを生成するには、 次のコマンドを使用します。

write_cfgmem -format mcs -interface bpix16 -size 128 \-loadbit "up 0x0 design.bit"-file design.mcs

注記 : write_cfgmem コマンドの -size オプシ ョ ンはメガ バイ トで指定するので、 単位がメガ ビッ トのフラ ッシュ デバイスの容量とは異なり ます。そのため上記の write_cfgmem コマンドの例では、1G ビッ トのフラ ッシュ デバイスのサイズが 128MB と指定されています。 write_cfgmem コマンドでは、 コンフ ィギュレーシ ョ ン メモ リ ファ イルのサイズが自動的にビッ ト ス ト リームのサイズに設定されます。

Vivado IDE では、 write_cfgmem コマンドを使用して複数の .bit ファ イルをチェーン接続できます。 複数のビット ス ト リームを含む 1 つの 1G ビッ ト BPI コンフ ィギュレーシ ョ ン メモ リ デバイスの .mcs ファ イルを生成するには、 次のコマンドを使用します。

write_cfgmem -format mcs -interface bpix16 -size 128 \-loadbit "up 0 design1.bit up 0xFFFFF design2.bit" \-file design1_design2.mcs

write_cfgmem コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

ヒン ト : Vivado Lab Edition でコンフ ィギュレーシ ョ ン メモ リ ファ イルを作成できます。

Vivado プログラムおよびデバッグ 35UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 36: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

コンフ ィギュレーシ ョ ン メモ リ ファ イルは、 Vivado IDE でも作成できます。 [Tools] → [Generate Memory Configuration File] をク リ ッ クする と、次の図に示す [Write Memory Configuration File] ダイアログ ボッ クスが表示されます。

適切なフォーマッ トおよびオプシ ョ ンを選択し、 [OK] をク リ ッ ク してコンフ ィギュレーシ ョ ン メモ リ ファ イルを生成します。

X-Ref Target - Figure 5-2

図 5-2 : [Write Memory Configuration File] ダイアログ ボックス

Vivado プログラムおよびデバッグ 36UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 37: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

Vivado でハードウェア ターゲッ トに接続

Vivado でハードウェア ターゲッ トに接続するには、 次の手順に従います。

1. ハードウェア ターゲッ トの FPGA モード ピンで、 コンフ ィギュレーシ ョ ン メモ リ デバイスから FPGA をコンフ ィギュレーシ ョ ンするのに適切なコンフ ィギュレーシ ョ ン モード (マスター SPI またはマスター BPI) が選択されているこ とを確認します。

詳細は、 ターゲッ ト デバイスのコンフ ィギュレーシ ョ ン ユーザー ガイ ドを参照してください。

2. 第 4 章 「FPGA デバイスのプログラム」 の手順に従って、 ハード ウェア ターゲッ トに接続します。

重要 : ボードの電源がオフになった場合、 またはケーブルの接続が解除された場合、Vivado IDE によ りハード ウェア ターゲッ トが閉じられます。 メ インの Vivado スレッ ドに対する Vivado の操作もキャンセルされます。

コンフ ィギュレーシ ョ ン メモリ デバイスの追加

Vivado デバイス プログラマでハード ウェア ターゲッ トにコンフ ィギュレーシ ョ ン メモ リ デバイスを追加するには、次の手順に従います。

1. 前述の手順に従ってハード ウェア ターゲッ トに接続した後、 次の図に示すよ うにハード ウェア ターゲッ ト を右ク リ ッ ク して [Add Configuration Memory Device] をク リ ッ ク します。

X-Ref Target - Figure 5-3

図 5-3 : [Add Configuration Memory Device] メニュー

Vivado プログラムおよびデバッグ 37UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 38: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

このメニューをク リ ッ クする と、 [Add Configuration Memory Device] ダイアログ ボッ クスが開きます。

2. 適切なコンフ ィギュレーシ ョ ン メモ リ デバイスを選択し、 [OK] をク リ ッ ク します。

ヒン ト : [Search] フ ィールドを使用して、 ベンダー、 集積度、 タイプなどで絞り込みます。

これでハード ウェア ターゲッ ト デバイスにコンフ ィギュレーシ ョ ン メモ リ デバイスが追加されました。

X-Ref Target - Figure 5-4

図 5-4 : [Add Configuration Memory Device] ダイアログ ボックスのデバイス選択ページ

X-Ref Target - Figure 5-5

図 5-5 : ハードウェア ターゲッ トに追加されたコンフ ィギュレーシ ョ ン メモリ デバイス

Vivado プログラムおよびデバッグ 38UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 39: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

1. コンフ ィギュレーシ ョ ン メモ リ デバイスを作成する と、 Vivado デバイス プログラマからコンフ ィギュレーシ ョン メモ リ デバイスをすぐにプログラムするかど うかを確認する メ ッセージが表示されます。

[OK] をク リ ッ クする と、 [Program Configuration Memory Device] ダイアログ ボッ クスが開きます。

X-Ref Target - Figure 5-6

図 5-6 : コンフ ィギュレーシ ョ ン メモリ デバイスをプログラムするかどうかを確認するメ ッセージ

X-Ref Target - Figure 5-7

図 5-7 : [Program Configuration Memory Device] ダイアログ ボックス

Vivado プログラムおよびデバッグ 39UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 40: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

2. このダイアログ ボッ クスのすべてのオプシ ョ ンを適切に設定します。

• [Configuration file] : コンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムするのに使用する .mcs または .bin ファ イルを指定します。 メモ リ コンフ ィギュレーシ ョ ン ファ イルは、 write_cfgmem Tcl コマンドで作成します。 詳細は、 35 ページの 「コンフ ィギュレーシ ョ ン メモ リ ファ イルの作成」 を参照してください。

• [State of non-config mem I/O pins] :

° [Pull-none] : FPGA にプログラムされた間接コンフ ィギュレーシ ョ ン ビッ ト ス ト リームにある未使用 I/O ピンを pull-none に設定します。

° [Pull-up] : FPGA にプログラムされた間接コンフ ィギュレーシ ョ ン ビッ ト ス ト リームにある未使用 I/O ピンを pull-up に設定します。

° [Pull-down] : FPGA にプログラムされた間接コンフ ィギュレーシ ョ ン ビッ ト ス ト リームにある未使用 I/O ピンを pull-down に設定します。

重要 : 非コンフ ィギュレーシ ョ ン メモ リ I/O ピンのステートが write_bitstream プロパティで設定したものと一致するよ うにしてください。 このプロパティのデフォルト値は pull-down です。

• [Program Operations] : コンフ ィギュレーシ ョ ン メモ リ デバイスで実行するプログラム操作を設定します。

° [Address Range] : プログラムするコンフ ィギュレーシ ョ ン メモ リ デバイスのアドレス範囲を指定します。有効なアドレス範囲の値は、 次のとおりです。

- [Configuration File Only] : 消去、 ブランク チェッ ク、 プログラム、 および検証にメモ リ コンフ ィギュレーシ ョ ン ファ イルで必要なアドレス空間のみを使用します。

- [Entire Configuration Memory Device] : デバイス全体を消去、 ブランク チェッ ク、 プログラム、 および検証します。

• [RS Pins] (オプシ ョ ン) : BPI コンフ ィギュレーシ ョ ン メモ リ デバイスのみで使用される リ ビジ ョ ン セレク ト ピンのマッピングを指定します。 フラ ッシュの上位 2 つの FPGA アドレス ピンが FPGA RS[1:0] に接続されます。このオプシ ョ ンをイネーブルにする と、 プログラム用に FPGA RS[1:0] が駆動されます。 アプリ ケーシ ョ ンの使用法は、 該当する FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ドを参照してください。

• [Erase] : コンフ ィギュレーシ ョ ン メモ リ デバイスの内容を消去します。

• [Blank Check] : プログラムの前にコンフ ィギュレーシ ョ ン メモ リ デバイスにデータがないこ とを確認します。

• [Program] : コンフ ィギュレーシ ョ ン メモ リ デバイスを指定のコンフ ィギュレーシ ョ ン ファ イル (.mcs または .bin) でプログラムします。

• [Verify] : プログラム後にコンフ ィギュレーシ ョ ン メモ リ デバイスの内容がコンフ ィギュレーシ ョ ン ファ イル (.mcs または .bin) に一致するこ とを検証します。

• [Verify Checksum] : コンフ ィギュレーシ ョ ン メモ リ デバイスにプログラムされたデータを検証します。 コンフ ィギュレーシ ョ ン メモ リ デバイスにプログラムされたデータに基づいてチェッ クサムが算出され、 その値が .prm ファ イルで指定されているチェッ クサム値と比較されます。

ヒン ト : ユーザーが write_cftmem の -checksum オプシ ョ ンを指定して cfgmem ファ イルを生成します。 この手順によ り、 cfgmem 出力ファイルに関するチェッ クサム情報を含む .prm ファ イルが作成されます。

• [Create SVF Only] : 指定したプログラム操作を含む .svf ファ イルを作成します。 サードパーティ ツールで .svf ファ イルを使用して、 Vivado 外でコンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムできます。

重要 : このオプシ ョ ンをオンにする と、 関連のプログラム オプシ ョ ンを含む .svf ファ イルが生成されるだけです。コンフ ィギュレーシ ョ ン メモ リ デバイスはプログラムされません。

3. [OK] をク リ ッ ク し、 コンフ ィギュレーシ ョ ン メモ リ デバイスに対してこのダイアログ ボッ クスでの選択に応じて消去、 ブランク チェッ ク、 プログラム、 および検証操作を実行します。 各操作が終了する と、 それが通知されます。

注記 : [Apply] をク リ ッ クする と コンフ ィギュレーシ ョ ン メモ リ設定が保存されますが、 コンフ ィギュレーシ ョン メモ リ デバイスはプログラムされません。 [Apply] をク リ ッ ク した後に [Cancel] をク リ ッ クする と、 コンフ ィギュレーシ ョ ン メモ リ デバイスが設定され、 後でプログラムできます。

Vivado プログラムおよびデバッグ 40UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 41: Vivado Design Suite - Xilinx

第 5 章 : コンフ ィギュレーシ ョ ン メモリ デバイスのプログラム

デバイスの起動

コンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムしたら、 ソフ ト ブート (JPROGRAM など) を実行し、 接続されているコンフ ィギュレーシ ョ ン メモ リ デバイスから FPGA コンフ ィギュレーシ ョ ンを開始できます。 ターゲッ ト FPGA に対してブート を実行するには、 ターゲッ ト デバイスを右ク リ ッ ク して [Boot from Configuration Memory Device] をク リ ッ ク します。

X-Ref Target - Figure 5-8

図 5-8 : コンフ ィギュレーシ ョ ン メモリ デバイスからのブート

Vivado プログラムおよびデバッグ 41UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 42: Vivado Design Suite - Xilinx

第 6 章

アドバンス プログラム機能

リードバックおよび検証

ビッ トス ト リームの検証およびリードバック

Vivado® IDE では、 FPGA にダウンロード されるコンフ ィギュレーシ ョ ン データ (.bit ファ イルなど) を検証およびリードバッ クできます。 write_bitstream を使用して .bit ファ イルを生成する際、 -mask_file オプシ ョ ンを使用して対応するマスク ファ イル (.msk) を作成します。 ビッ ト ス ト リーム生成オプシ ョ ンの詳細は、Vivado IDE の [Tcl Console] ウ ィンド ウで write_bitstream -help を実行します。

検証を実行するには、 verify_hw_devices コマンドで FPGA からデータを リードバッ ク し、 .msk を使用して、スキップする リードバッ ク データ ビッ ト と、 .bit ファ イルの対応するビッ ト と比較するビッ ト を指定します。

次に、 ビッ ト ス ト リーム検証の Tcl コマンド シーケンス例を示します。 .bit および .msk ファ イルは、write_bitstream で既に生成されています。

create_hw_bitstream -hw_device [current_hw_device] \-mask kcu105_cnt_ila_uncmpr.msk kcu105_cnt_ila_uncmpr.bit

verify_hw_devices [current_hw_device]

Vivado プログラムおよびデバッグ 42UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 43: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

Vivado ハードウェア マネージャーを使用してコンフ ィギュレーシ ョ ン データを検証できます。 次の図に示すよ うに、 デバイスを右ク リ ッ ク して [Verify Device] をク リ ッ ク します。

このコマンドをク リ ッ クする と、 [Verify Device] ダイアログ ボッ クスが開きます。

BIT ファ イルと対応するマスク ファ イル (.msk) を指定し、 [Verify] をク リ ッ ク して検証を実行します。

readback_hw_device コマンドを少なく と も次のいずれかのオプシ ョ ンを使用して実行し、 FPGA コンフ ィギュレーシ ョ ン データを リードバッ ク します。

• リードバッ ク データを ASCII フォーマッ トで保存するには、 次のオプシ ョ ンを使用します。

-readback_file <filename.rbd>

• リードバッ ク データをバイナリ フォーマッ トで保存するには、 次のオプシ ョ ンを使用します。

-bin_file <filename.bin>

X-Ref Target - Figure 6-1

図 6-1 : [Verify Device] コマンド

X-Ref Target - Figure 6-2

図 6-2 : [Verify Device] ダイアログ ボックス

Vivado プログラムおよびデバッグ 43UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 44: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

例 : FPGA コンフ ィギュレーシ ョ ン データを ASCII とバイナリ形式の両方でリードバッ ク します。

readback_hw_device [current_hw_device] \ -readback_file kcu105_cnt_ila_uncmpr_rb.rbd \ -bin_file kcu105_cnt_ila_uncmpr_rb.bin

注記 :

1. ビッ ト ス ト リームおよびリードバッ ク操作は、 [Tcl Console] ウ ィンド ウから実行します。

2. 検証およびリードバッ ク操作は、 暗号化されたビッ ト ス ト リームを使用してプログラムされた FPGA には使用できません。 暗号化されたビッ ト ス ト リームには、 リードバッ クをディ スエーブルするコマンドが含まれます。リードバッ クは、 FPGA PROG ピンにパルスを送るか、 または FPGA/ボードがパワーダウンされてから再びパワーアップされる と、 再びイネーブルになり ます。

3. readback_hw_device を使用したデータ リードバッ クには、 コンフ ィギュレーシ ョ ン データのみが含まれ、コンフ ィギュレーシ ョ ン コマンドは含まれません。

これらの機能の詳細は、 『Ultrascale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] または 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 9] を参照して ください。

コンフ ィギュレーシ ョ ン メモリの検証およびリードバック

ビッ ト ス ト リーム ファ イル (.bit) を .mcs または .bin ファ イルに変換してから、write_cfgmem コマンドを使用して、 シ リ アル/SPI またはパラレル/BPI フラ ッシュなどのコンフ ィギュレーシ ョ ン メモ リ デバイスにプログラムできます。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

Vivado Design Suite のハードウェア マネージャーを使用してコンフ ィギュレーシ ョ ン メモ リ デバイスを検証します (図 6-3)。X-Ref Target - Figure 6-3

図 6-3 : コンフ ィギュレーシ ョ ン メモリの検証

Vivado プログラムおよびデバッグ 44UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 45: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

次のコードに示すよ うに、 HW_CFGMEM プロパティを設定して program_hw_cfgmem を呼び出すこ とによ り、 コンフ ィギュレーシ ョ ン メモ リ デバイスを検証するこ と もできます。

set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]] set_property PROGRAM.FILES [list "H:/projects/k7_led/k7_led_325t_afx_x16_33v.mcs" ] \[ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]] set_property PROGRAM.BPI_RS_PINS {none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]] set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property \PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]] set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]set_property PROGRAM.ERASE 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]set_property PROGRAM.CFG_PROGRAM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]startgroup if {![string equal [get_property PROGRAM.HW_CFGMEM_TYPE [lindex [get_hw_devices] 0]] [get_property MEM_TYPE [get_property CFGMEM_PART [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]]]] } \{ create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE \[ lindex [get_hw_devices] 0]]; program_hw_devices [lindex [get_hw_devices] 0]; }; program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]] endgroup

コンフ ィギュレーシ ョ ン メモ リの内容は、 Vivado Design Suite の [Tcl Console] ウ ィンド ウで次のコマンドを使用してリードバッ クできます。

readback_hw_cfgmem -file test.bin -hw_cfgmem \ [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]

注記 : コンフ ィギュレーシ ョ ン メモ リ リードバッ クは、 [Tcl Console] ウ ィンド ウからのみ実行します。

これらの機能の詳細は、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] または 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 9] を参照して ください。

Vivado プログラムおよびデバッグ 45UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 46: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

7 シリーズ デバイス用の暗号化および認証されたファイルの生成

暗号化ビッ ト ス ト リームを生成するには、 Vivado IDE でインプリ メン ト済みデザインを開きます。 メ イン メニューから [Flow] → [Bitstream Settings] をク リ ッ ク し、 [Project Settings] ダイアログ ボッ クスの [Bitstream] ページを開きます。 ダイアログ ボッ クスの上部の [Configure Additional Bitstream Settings] リ ンクをク リ ッ ク します。

X-Ref Target - Figure 6-4

図 6-4 : 7 シリーズ デバイスのビッ トス ト リーム設定

Vivado プログラムおよびデバッグ 46UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 47: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Edit Device Properties] ダイアログ ボッ クスが開きます。 左側のペインで [Encryption] をク リ ッ ク します。

[Edit Device Properties] ダイアログ ボッ クスで、 暗号化設定およびキー設定を指定します。

• [Encryption Settings]

° [Enable Bitstream Encryption] を [YES] に設定します。

° [Select location of encryption key] を [BBRAM] または [EFUSE] のいずれかに設定します。

- キー ロケーシ ョ ンは暗号化されたビッ ト ス ト リームに埋め込まれます。

- 暗号化されたビッ ト ス ト リームをデバイスにダウンロードする と、 FPGA で BBR または eFUSE キー レジスタに読み込まれたキーが使用され、 暗号化されたビッ ト ス ト リームが復号化されます。

• [Key Settings]

° [HMAC Authentication key] および [Starting cipher block chaining (CBC) value] を指定します。

- これらの値を指定しない場合、 Vivado でランダムな値が生成されます。

- これらの値は、 暗号化されたビッ ト ス ト リームに埋め込まれるので、 FPGA にプログラムする必要はあり ません。

注記 : これらの値は、 入力暗号化ファイルが指定されている場合を除き、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

X-Ref Target - Figure 6-5

図 6-5 : 7 シリーズ デバイスの暗号化設定

Vivado プログラムおよびデバッグ 47UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 48: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

° [AES encryption key] でビッ ト ス ト リームを暗号化する際に使用する AES 暗号キーを指定します。 64 個までの 16 進数文字を使用して、 256 ビッ ト キーを指定できます。

- キーは、 拡張子が .nky のファイルに書き込まれます。 キーを BBR に読み込む際、 またはキーを eFUSE キー レジスタにプログラムする際に、 このファイルを使用します。

注記 : これらの値は、 入力暗号化ファイルが指定されている場合を除き、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

° [Input encryption file] で入力暗号化ファイルを指定します。

- 既存の .nky ファ イルを指定して、 暗号キー設定を取得します。 このフ ィールドはオプシ ョ ンで、AES、 HMAC、 および CBC を手動で指定する場合は入力する必要はあ り ません。

暗号化設定を指定したら、 [OK] をク リ ッ ク してプロジェク トに設定を適用してビッ ト ス ト リームを再生成します。write_bitstream コマンドの処理が正常に完了する と、 プログラム ファ イルと暗号化ファイル (.nky) が生成されます。

Vivado プログラムおよびデバッグ 48UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 49: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

UltraScale および UltraScale+ デバイス用の暗号化および認証されたファイルの生成 暗号化ビッ ト ス ト リームを生成するには、 Vivado IDE でインプリ メン ト済みデザインを開きます。 メ イン メニューから [Flow] → [Bitstream Settings] をク リ ッ ク し、 [Project Settings] ダイアログ ボッ クスの [Bitstream] ページを開きます。 ダイアログ ボッ クスの上部の [Configure additional bitstream settings] リ ンクをク リ ッ ク します。

X-Ref Target - Figure 6-6

図 6-6 : UltraScale デバイスのビッ トス ト リーム設定

Vivado プログラムおよびデバッグ 49UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 50: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Edit Device Properties] ダイアログ ボッ クスが開きます。 左側のペインで [Encryption] をク リ ッ ク します。

[Edit Device Properties] ダイアログ ボッ クスで、暗号化設定 ([Encryption Settings]) およびキー設定 ([Key Settings]) を指定します。

• [Encryption Settings]

° [Enable Bitstream Encryption] を [YES] に設定します。

° [Select location of encryption key] を [BBRAM] または [EFUSE] のいずれかに設定します。

- キー ロケーシ ョ ンは暗号化されたビッ ト ス ト リームに埋め込まれます。

- 暗号化されたビッ ト ス ト リームをデバイスにダウンロードする と、 FPGA で BBR または eFUSE キー レジスタに読み込まれたキーが使用され、 暗号化されたビッ ト ス ト リームが復号化されます。

° [Enable obfuscated key load] を [ENABLE] または [DISABLE] に設定します。

- イネーブルにする と、 ユーザーが生成したキーが BBRAM に保存される前に暗号化されます。 ディ スエーブルにする と、 キーはそのまま BBRAM に保存されます。

X-Ref Target - Figure 6-7

図 6-7 : UltraScale デバイスの暗号化設定

Vivado プログラムおよびデバッグ 50UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 51: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

• [Key Settings]

° [HMAC Authentication key] および [Starting cipher block chaining (CBC) value] を指定します。

- これらの値を指定しない場合、 Vivado でランダムな値が生成されます。

- これらの値は、 暗号化されたビッ ト ス ト リームに埋め込まれるので、 FPGA にプログラムする必要はあり ません。

注記 : これらの値は、 入力暗号化ファイルが指定されている場合を除き、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

° [Starting AES encryption key (key0)] でビッ ト ス ト リームを暗号化する際に使用する AES 暗号キーを指定します。 64 個までの 16 進数文字を使用して、 256 ビッ ト キーを指定できます。

- キーは、 拡張子が .nky のファイルに書き込まれます。 キーを BBR に読み込む際、 またはキーを eFUSE キー レジスタにプログラムする際に、 このファイルを使用します。

注記 : この値は、 入力暗号化ファイルが指定されている場合を除き、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

° [Input encryption file] を指定します。

- 既存の .nky ファ イルを指定して、 暗号キー設定を取得します。 このフ ィールドはオプシ ョ ンで、AES、 HMAC、 および CBC を手動で指定する場合は入力する必要はあ り ません。

° [Number of encryption blocks per key] および [Number of frames per AES-256 key] を指定します。

- 暗号化ブロッ クおよびフレームの数は、 ビッ ト ス ト リームを個別のキーを使用するいくつのセクシ ョンに分割するかを指定します。

° [Starting AES initial vector (IV0) value] を指定します。

- 初のキーの初期化ベクターです。 各キーには、 入力暗号化ファイルで供給可能な個別の初期化ベクターが必要です。

注記 : この値は、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

° [Starting obfuscate initial vector (Obfuscate IV0) value] を指定します。

- 難読化キーの初期化ベクターです。

注記 : この値は、 現在のプロジェク トの制約ファイルに保存されます。 この値が制約ファイルに保存されないよ うにするには、 入力暗号化ファイルを指定してください。

Vivado プログラムおよびデバッグ 51UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 52: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

認証設定を指定するには、 左側のペインで [Authentication] をク リ ッ ク します。

[Edit Device Properties] ダイアログ ボッ クスの [Authentication] ページで、 次のよ うに設定します。

• [Authentication Settings]

° [Enable Bitstream Authentication] を [YES] に設定します。

° [Input file containing RSA Private Key] で RSA 秘密キーを含む入力ファイルを指定します。

設定を終了したら、 [OK] をク リ ッ ク して設定をプロジェク トに適用します。 インプリ メンテーシ ョ ンを再実行してビッ ト ス ト リームを再生成します。 write_bitstream コマンドの処理が正常に完了する と、 生成された暗号キー ファ イル (.nky) が暗号化ビッ ト ス ト リーム ファ イルと同じ場所に保存されます。

256 ビッ トの AES (Advanced Encryption Standard) キーを使用してビッ ト ス ト リームを暗号化し、 ビッ ト ス ト リームをダウンロード して認証された FPGA 上でのみ実行されるよ うにする と、 ビッ ト ス ト リームの IP を保護できます。 これには、 暗号化ビッ ト ス ト リームをダウンロードする前に、 256 ビッ トのキーを認証された FPGA の BBR レジスタにプログラムします。

X-Ref Target - Figure 6-8

図 6-8 : [Edit Device Properties] ダイアログ ボックス : [Authentication] ページ

Vivado プログラムおよびデバッグ 52UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 53: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

7 シリーズ デバイスの AES キーのプログラム

AES キーを BBR にプログラムするには、 [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク して [Program BBR Key] をク リ ッ ク します。

[Program BBR Key] ダイアログ ボッ クスで、 ファ イル名を入力するか参照ボタンをク リ ッ ク して AES キー (.nky) ファ イルを指定します。 有効な .nky ファ イルを指定する と、 [AES key] フ ィールドに自動的に値が表示されます。[OK] をク リ ッ クする と、 ハード ウェア マネージャーでキーが BBR にプログラム/読み込まれます。

キーをプログラムしたら、 次のよ うな暗号化ビッ ト ス ト リームを使用して FPGA をプログラムします。

• BBR に読み込んだものと同じ AES キーを使用して暗号化されている。

• 暗号キー ロケーシ ョ ンと して選択した BBRAM がある。

X-Ref Target - Figure 6-9

図 6-9 : BBR キーをプログラム

X-Ref Target - Figure 6-10

図 6-10 : [Program BBR Key] ダイアログ ボックス (7 シリーズ デバイス)

Vivado プログラムおよびデバッグ 53UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 54: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

7 シリーズ デバイスの AES キーの消去

AES キーを手動で消去するには、 Vbatt ピンの接続を解除し、 ボードの電源を切って入れ直します。

注記 : ボード /FPGA に電源が投入されたと きに PROG ピンを押したり、 PROG ピンにパルスを送っても、 BBR レジスタはク リ アされません。

または、 Vivado IDE の [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク し、 [Clear BBR Key] をク リ ッ ク しても AES キーを消去できます。

[Clear BBR Key] ダイアログ ボッ クスで [OK] をク リ ッ ク してデバイスからキーを消去します。

X-Ref Target - Figure 6-11

図 6-11 :

X-Ref Target - Figure 6-12

図 6-12 : [Clear BBR Key] ダイアログ ボックス

Vivado プログラムおよびデバッグ 54UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 55: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

UltraScale および UltraScale+ デバイスの AES キーのプログラム

AES キーを BBR にプログラムするには、 [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク して [Program BBR Key] をク リ ッ ク します。

[Program BBR Key] ダイアログ ボッ クスが表示されます。

X-Ref Target - Figure 6-13

図 6-13 : BBR キーをプログラム

X-Ref Target - Figure 6-14

図 6-14 : [Program BBR Key] ダイアログ ボックス (UltraScale および UltraScale+ デバイス)

Vivado プログラムおよびデバッグ 55UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 56: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Program BBR Key] ダイアログ ボッ クスで、 [AES key file (.nky)] および [Enable DPA PROTECT] を指定します。

• [AES key file (.nky)]

° ファ イル名を入力するか参照ボタンをク リ ッ ク して AES キー (.nky) ファ イルを指定します。 有効な .nky ファ イルを指定する と、 [AES key] フ ィールドに自動的に値が表示されます。

• [Enable DPA PROTECT]

- [Enable DPA PROTECT] チェッ ク ボッ クスをオンにします。

- [DPA_COUNT] の値を指定します。 有効な値は 1 ~ 256 です。

- [DPA_MODE] の値を指定します。 有効な値は [INVALID_CONFIGURATIONS] または [ALL_CONFIGURATIONS] です。

注記 : BBR AES キーおよび DPA_PROTECT 機能の詳細は、『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] を参照してください。

[OK] をク リ ッ ク しする と、 ハード ウェア マネージャーで BBR にキーがプログラムまたは読み込まれます。

キーをプログラムしたら、 次のよ うな暗号化ビッ ト ス ト リームを使用して FPGA をプログラムします。

• BBR に読み込んだものと同じ AES キーを使用して暗号化されている。

• 暗号キー ロケーシ ョ ンと して選択した BBRAM がある。

重要 : UltraScale デバイスの場合、 キーを BBR レジスタにプログラムする前に暗号化されたビッ ト ス ト リームをダウンロードする と、 FPGA デバイスがロ ッ ク され、 BBR キーを読み込むこ とができません。 暗号化されていないビット ス ト リームはダウンロードできますが、 キーを BBR にダウンロードできないので、 暗号化されたビッ ト ス ト リームはダウンロードできません。 ボードの電源を切って入れ直すこ とによ り UltraScale デバイスのロ ッ クを解除してから、 BBR キーを読み込み直す必要があ り ます。

Vivado プログラムおよびデバッグ 56UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 57: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

UltraScale および UltraScale+ デバイスの AES キーの消去

AES キーを手動で消去するには、 Vbatt ピンの接続を解除し、 ボードの電源を切って入れ直します。

注記 : ボード /FPGA に電源が投入されたと きに PROG ピンを押したり、 PROG ピンにパルスを送っても、 BBR レジスタはク リ アされません。

または、 Vivado IDE の [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク し、 [Clear BBR Key] をク リ ッ ク しても AES キーを消去できます。

[Clear BBR Key] ダイアログ ボッ クスで [OK] をク リ ッ ク してデバイスからキーを消去します。

X-Ref Target - Figure 6-15

図 6-15 :

X-Ref Target - Figure 6-16

図 6-16 : [Clear BBR Key] ダイアログ ボックス

Vivado プログラムおよびデバッグ 57UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 58: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

eFUSE レジスタのアクセスおよびプログラム

7 シ リーズ、 UltraScale、 および UltraScale+ デバイスには、 特定のファンクシ ョ ンを実行する eFUSE ビッ ト という ワンタイム プログラマブル ビッ トが含まれます。 次のタイプの eFUSE ビッ トがあ り ます。

• FUSE_DNA : 固有のデバイス識別子ビッ ト を格納します (プログラム不可)。

• FUSE_USER : 32 ビッ トのユーザー定義コードを格納します。

• FUSE_KEY : AES ビッ ト ス ト リームの復号化に使用するキーを格納します。

• FUSE_CNTL : キーの使用と eFUSE レジスタへの読み出し /書き込みアクセスを制御します。

• FUSE_SEC : UltraScale およびUltraScale+ デバイスの特別なデバイス セキュ リティ設定を制御します。

重要 : eFUSE レジスタ ビッ トは 1 回しかプログラムできません。eFUSE レジスタ ビッ ト を一度プログラムする と (プログラムされていない 0 ステートからプログラムされた 1 ステート )、 0 にリセッ ト した りプログラムし直すこ とはできません。 eFUSE レジスタをプログラムする前に、 必ず設定を注意して確認するよ うにしてください。

重要 : FUSE_USER および FUSE_KEY レジスタをまずプログラムしてから、 eFUSE プログラム ウ ィザードを再実行して FUSE_CNTL ビッ ト をプログラムしてこれらの eFUSE ビッ トに対する読み出し /書き込みアクセスを制御した後、 後に FUSE_SEC ビッ ト をプログラムして FPGA セキュ リティ設定を制御するこ とをお勧めします。

7 シリーズ デバイスの eFUSE レジスタのアクセスおよびプログラム

FUSE_DNA : 固有の Device DNA各 7 シ リーズ デバイスには、ザイ リ ンクスによってプログラムされた Device DNA というデバイス ID があ り ます。7 シ リーズ デバイスは、 64 ビッ トの Device DNA を持ちます。 これらのビッ ト を読み出すには、 Vivado Design Suite の [Tcl Console] ウ ィンド ウで次の Tcl コマンドを実行します。

get_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_DNA

Vivado プログラムおよびデバッグ 58UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 59: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

Device DNA は、Vivado Design Suite の [Hardware Device Properties] ウ ィンド ウで eFUSE レジスタの [FUSE_DNA] により確認できます。

これらの機能の詳細は、『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 9] を参照してください。

X-Ref Target - Figure 6-17

図 6-17 : eFUSE DNA

Vivado プログラムおよびデバッグ 59UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 60: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

eFUSE レジスタのプログラム

eFUSE レジスタをプログラムするには、 [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク して [Program eFUSE Registers] をク リ ッ ク します。

次の図に示す Program eFUSE Registers ウ ィザードが起動し、 eFUSE レジスタのさまざまなオプシ ョ ンを設定できます。

X-Ref Target - Figure 6-18

図 6-18 : [Program eFUSE Registers] コマンド

X-Ref Target - Figure 6-19

図 6-19 : Program eFUSE Registers ウィザード

Vivado プログラムおよびデバッグ 60UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 61: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[AES Key Setup] ページでは、 次の設定を指定します。

• [AES key file (.nky)]

° ファ イル名を入力するか参照ボタンをク リ ッ ク して AES キー (.nky) ファ イルを指定します。 有効な .nky ファ イルを指定する と、 [AES key] フ ィールドに自動的に値が表示されます。

• [USER bits [7:0]] および [USER bits [31:8]]

° FUSE_USER ビッ ト を使用する と、 独自の特別な 32 ビッ ト パターンをプログラムできます。 FUSE_USER の下位 8 ビッ トは 256 ビッ トの AES (Advanced Encryption Engine) キーと同時にプログラムされます。 上位 24 ビッ トは、 後で AES キーと同時にプログラムされます。

X-Ref Target - Figure 6-20

図 6-20 : Program eFUSE Registers ウィザード : [AES Key Setup] ページ

Vivado プログラムおよびデバッグ 61UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 62: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Control Register Settings] ページでは、 次の設定を指定します。

• [CFG_AES_Only] : 格納された AES キーを使用するよ う強制します。

• [AES_Exclusive] : パーシャル リ コンフ ィギュレーシ ョ ンの使用をディ スエーブルにします。

• [W_EN_B_Key_User] : AES キーおよびユーザー レジスタのプログラムをディ スエーブルにします。

• [R_EN_B_Key] : AES キーの読み出しをディ スエーブルにします。

• [R_EN_B_User] : ユーザー コードの読み出しをディ スエーブルにします。

• [W_EN_B_Cntl] : この制御レジスタのプログラムをディ スエーブルにします。

これらの機能の詳細は、『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470) [参照 9] を参照してください。

X-Ref Target - Figure 6-21

図 6-21 : Program eFUSE Registers ウィザード : [Control Register Setup] ページ

Vivado プログラムおよびデバッグ 62UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 63: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Program eFUSE Registers Summary] ページで eFUSE 設定を確認します。

このページには、 Program eFUSE Registers ウ ィザードで設定したすべてのビッ トが表示されます。 個々のビッ トの設定が表示されるので、 特定のプログラム設定を確認できます。 このサマ リ ページを注意深く確認し、 すべてのビットが意図したとおりにプログラムされるよ う設定されているこ とを確認します。

[Finish] をク リ ッ クする と、 eFUSE のプログラムを確認するダイアログ ボッ クスが表示されます。

[OK] をク リ ッ ク して指定した eFUSE ビッ ト をプログラムします。

X-Ref Target - Figure 6-22

図 6-22 : Program eFUSE Registers ウィザード : [Program eFUSE Registers Summary] ページ

X-Ref Target - Figure 6-23

図 6-23 : eFUSE のプログラムを確認するダイアログ ボックス

Vivado プログラムおよびデバッグ 63UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 64: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

UltraScale および UltraScale+ デバイスの eFUSE レジスタのアクセスおよびプログラム

FUSE_DNA : 固有の Device DNA各 UltraScale デバイスには、 ザイ リ ンクスによってプログラムされた Device DNA というデバイス ID があ り ます。FUSE_DNA はユーザーがプログラムするこ とはできません。 UltraScale デバイスは、 96 ビッ トの Device DNA を持ちます。FUSE_DNA を読み出すには、Vivado Design Suite の [Tcl Console] ウ ィンド ウで次の Tcl コマンドを実行します。

get_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_DNA

Device DNA は、Vivado Design Suite の [Hardware Device Properties] ウ ィンド ウで eFUSE レジスタの [FUSE_DNA] により確認できます。

これらの機能の詳細は、 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] を参照してください。

X-Ref Target - Figure 6-24

図 6-24 : eFUSE DNA

Vivado プログラムおよびデバッグ 64UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 65: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

eFUSE レジスタのプログラム

eFUSE レジスタをプログラムするには、 [Hardware] ウ ィンド ウで FPGA デバイスを右ク リ ッ ク して [Program eFUSE Registers] をク リ ッ ク します。

次の図に示す Program eFUSE Registers ウ ィザードが起動し、 eFUSE レジスタのさまざまなオプシ ョ ンを設定できます。

X-Ref Target - Figure 6-25

図 6-25 : [Program eFUSE Registers] コマンド

X-Ref Target - Figure 6-26

図 6-26 : Program eFUSE Registers ウィザード

Vivado プログラムおよびデバッグ 65UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 66: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[AES Key Setup] ページでは、 次の設定を指定します。

[Cryptographic Key Setup] ページでは、 次の設定を指定します。

• [Cryptographic file key (.nky)]

° eFUSE AES および RSA キーを含む .nky ファ イルを指定します。

• [AES Key (256-bit)]

° 読み込まれた暗号化ビッ ト ス ト リームを復号化するために使用される指定した .nky から読み出された 256 ビッ ト AES eFUSE キー。

• [RSA Key Digest (384-bit)]

° RSA によ り使用される指定した .nky から読み出された 384 ビッ ト RSA eFUSE キー。

X-Ref Target - Figure 6-27

図 6-27 : Program eFUSE Registers ウィザード : [Cryptographic Key Setup] ページ

Vivado プログラムおよびデバッグ 66UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 67: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[USER register setup] ページで、 32 ビッ トの USER レジスタまたは 128 ビッ トの USER レジスタを指定します。

[USER register setup] ページで、 ユーザー定義のレジスタ ビッ ト を指定します。 32 ビッ トの USER レジスタ (FUSE_USER) および 128 ビッ トの USER レジスタ (FUSE_USER128) は、ユーザー 定義のワンタイム プログラマブル eFUSE ビッ トです。 これらのレジスタのビッ トは、 累積的にプログラムできます。 たとえば、 eFUSE プログラムセッシ ョ ンで 1 つのユーザー ビッ ト (USER = 0x0000_0001 またはビッ ト 0) のみをプログラムし、次の eFUSE プログラムセッシ ョ ンで残りの 0 ビッ トのいずれか (USER = 0x0000_0003 またはビッ ト 1) をプログラムできます。

FUSE_USER および FUSE_USER_128 レジスタをプログラムする と、 次の方法で読み出すこ とができます。

• Tcl コマンドを使用

report_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_USERreport_property [lindex [get_hw_devices] 0] REGISTER.EFUSE.FUSE_USER_128

• refresh_hw_device を実行した後に Vivado の [Hardware Device Properties] ウ ィンド ウで確認

X-Ref Target - Figure 6-28

図 6-28 : Program eFUSE Registers ウィザード : [USER register setup] ページ

Vivado プログラムおよびデバッグ 67UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 68: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Control Register Setup] ページでは、 次の設定を指定します。

[Control Register Settings] ページでは、 eFUSE 制御設定を指定します。

• [R_DIS_KEY] : AES FUSE_KEY の読み出しおよびプログラムをディ スエーブルにします。

• [R_DIS_USER] : 32 ビッ ト のユーザー ビッ ト (FUSE_USER) の読み出しおよびプログラムをディ スエーブルにします。

• [R_DIS_SEC] : セキュ リティ ビッ ト (FUSE_SEC) の読み出しおよびプログラムをディ スエーブルにします。

• [W_DIS_CNTL] : この制御レジスタ (FUSE_CNTL) のプログラムをディ スエーブルにします。

• [W_DIS_RSA] : RSA キーレジスタ (FUSE_RSA) の読み出しおよびプログラムをディ スエーブルにします。

• [W_DIS_USER] : 32 ビッ ト のユーザー ビッ ト (FUSE_USER) のプログラムをディ スエーブルにします。

• [W_DIS_SEC] : セキュ リティ ビッ ト (FUSE_SEC) のプログラムをディ スエーブルにします。

• [W_DIS_RSA] : RSA キーレジスタ (FUSE_RSA) のプログラムをディ スエーブルにします。

• [W_DIS_USER_128] : 128 ビッ ト のユーザー ビッ ト (FUSE_USER128) のプログラムをディ スエーブルにします。

FUSE_SEC レジスタの詳細は、 『Ultrascale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] を参照してください。

X-Ref Target - Figure 6-29

図 6-29 : Program eFUSE Registers ウィザード : [Control Register Setup] ページ

Vivado プログラムおよびデバッグ 68UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 69: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Security Register Setup] ページで、 次の設定を指定します。

[Security Register Setup] ページでは、 FPGA に読み込み可能なビッ ト ス ト リームのタイプに関するセキュ リティ制御オプシ ョ ンを指定します。 次の FUSE_SEC 設定があ り ます。

• [CFG_AES_Only] : 暗号化されたビッ ト ス ト リームのみを読み込み可能にします。

• [EFUSE_KEY_Only] : 復号化に eFUSE キーのみを使用できるよ うにします。

• [RSA_AUTH] : ビッ ト ス ト リームの RSA 認証を必須にします。

• [SCAN_DISABLE] : 内部テス ト レジスタへのザイ リ ンクス アクセスをディ スエーブルにします。

• [CRYPT_DISALE] : 復号化を恒久的にディ スエーブルにします。

FUSE_SEC レジスタの詳細は、 『Ultrascale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 11] を参照してください。

X-Ref Target - Figure 6-30

図 6-30 : Program eFUSE Registers ウィザード : [Security Register Setup] ページ

Vivado プログラムおよびデバッグ 69UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 70: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

[Program eFUSE Registers Summary] ページで eFUSE 設定を確認します。

このページには、 Program eFUSE Registers ウ ィザードで設定したすべてのビッ トが表示されます。 個々のビッ トの設定が表示されるので、 特定のプログラム設定を確認できます。 このサマ リ ページを注意深く確認し、 すべてのビットが意図したとおりにプログラムされるよ う設定されているこ とを確認します。

[Finish] をク リ ッ クする と、 eFUSE のプログラムを確認するダイアログ ボッ クスが表示されます。

[OK] をク リ ッ ク して指定した eFUSE ビッ ト をプログラムします。

X-Ref Target - Figure 6-31

図 6-31 : Program eFUSE Registers ウィザード : [Program eFUSE Registers Summary] ページ

X-Ref Target - Figure 6-32

図 6-32 : eFUSE のプログラムを確認するダイアログ ボックス

Vivado プログラムおよびデバッグ 70UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 71: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

JTAG インターフェイスのディスエーブル

eFUSE レジスタを使用して JTAG インターフェイスをディ スエーブルにするには、 次の Tcl コマンドを実行します。

program_hw_devices -security_efuse {08} [lindex [get_hw_devices] $deviceIdx]

$deviceIdx は、 JTAG インターフェイスをディ スエーブルにする UltraScale または UltraScale+ デバイスのインデッ クスです。

注記 : このプログラムは、 ほかのすべての eFUSE ビッ ト をプログラムした後、 後に実行してください。

重要 : JTAG Distable ビッ トがプログラムされている場合、 JTAG インターフェイスがディ スエーブルになり、 デバイスをテス トおよびコンフ ィギュレーシ ョ ンできなくな り ます。 このビッ トは、 JTAG を使用してデバイスにアクセスする必要がない場合にのみプログラムしてください。

システム モニター システム モニター (SYSMON) のアナログ/デジタル コンバーター (ADC) は、 ハード ウェア デバイスのダイ温度と電圧を計測します。 SYSMON は、 オンチップ温度および電源センサーを使用して物理環境を監視します。 ADC は、 広範囲のアプリ ケーシ ョ ンに高精度のアナログ インターフェイスを提供します。

ADC は、 17 個までの外部アナログ入力チャネルにアクセスできます。 特定のデバイス アーキテクチャの詳細は、『UltraScale アークテクチャ システム モニター ユーザー ガイ ド』 (UG580) [参照 12] または 『7 シ リーズ FPGA および Zynq-7000 All Programmable SoC XADC デュアル 12 ビッ ト 1MSPS アナログ - デジタル コンバーター』 (UG480) [参照 10] を参照して ください。

hw_sysmon のデータは、 hw_sysmon_reg オブジェク ト を使用してアクセス可能なステータス レジスタ と呼ばれる専用レジスタに格納されます。 システム モニター レジスタの内容を取得するには、 get_hw_sysmon_reg コマンドを使用します。

X-Ref Target - Figure 6-33

図 6-33 : システム モニター

Vivado プログラムおよびデバッグ 71UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 72: Vivado Design Suite - Xilinx

第 6 章 : アドバンス プログラム機能

システム モニターをサポートするすべてのデバイスには、refresh_hw_device が呼び出されたと きに作成される hw_sysmon オブジェク トが 1 つまたは複数含まれます。 hw_sysmon オブジェク トが作成される と、 すべての温度と電圧レジスタおよび制御レジスタに対して、 1 つのプロパティが割り当てられます。 hw_sysmon オブジェク トでは、温度および電圧レジスタに割り当てられた値は既に摂氏/華氏およびボルトに変換されています。

get_hw_sysmon_reg コマンドを使用してシステム モニターのレジスタに格納された 16 進数値を取得するこ と もできますが、 一部のレジスタの値は hw_sysmon オブジェク トのフォーマッ ト されたプロパティ と して取得するこ ともできます。 たとえば、 次のコードを使用する と、 レジスタの 16 進数に直接アクセスするのではなく、 指定された hw_sysmon オブジェク トの TEMPERATURE プロパティを取得できます。

set opTemp [get_property TEMPERATURE [lindex [get_hw_sysmons] 0]

システム モニターのコマンド リ ス トは、 表 10-16 を参照して ください。

Vivado プログラムおよびデバッグ 72UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 73: Vivado Design Suite - Xilinx

第 7 章

SVF (Serial Vector Format) ファイルを使用したプログラム

FPGA およびコンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムする別の方法と して、 SVF (Serial Vector Format) ファ イルを使用する方法があ り ます。 Vivado® Design Suite および Vivado Lab Edition で生成した SVF ファ イルには、デバイスをプログラムするのに必要な低水準 JTAG 命令とデータが含まれます。 SVF ファ イルを生成する と、 Vivado IDE の外部でバウンダ リ スキャン テス ト ツールで使用できます。

SVF ファ イルの生成手順は、 次のとおりです。

1. SVF オフライン ターゲッ ト を作成します。

2. 作成した SVF ターゲッ ト を開きます。

3. ターゲッ トにデバイスを追加し、 SVF JTAG スキャン チェーンを定義します。

4. FPGA またはコンフ ィギュレーシ ョ ン メモ リ デバイスをプログラムします。

5. SVF を記述します。

6. SVF ターゲッ ト を閉じます。

7. (オプシ ョ ン) SVF を実行します。

手順 4 でプログラム操作が順に記録され、 キャ ッシュ ファ イルに保存されます。 このキャ ッシュ ファ イルを、 手順 5 で SVF ファ イルに記述します。 SVF ファ イルを作成する と、 バウンダ リ スキャン ツールで使用したり、 Vivado Design Suite または Vivado Lab Edition ツールで実行したりできます。

SVF ターゲッ トの作成

SVF ターゲッ トは、ザイ リ ンクス プラ ッ ト フォーム ケーブル USB または Digilent JTAG ケーブル ハードウェア ターゲッ ト と似ています。 プロパティおよび Tcl コマンドはすべて同じで、 SVF ターゲッ トはアクティブ ライブ ケーブルではないこ とが違うだけです。 つま り、 このターゲッ トにどんな操作を実行しても、 SVF を実行するまではハードウェアには操作は実行されません。 SVF を作成するために、 システムにケーブルを接続する必要はあ り ません。

Vivado Design Suite または Vivado Lab Edition を起動した後に SVF ターゲッ ト を作成する手順は、 次のとおりです。

open_hwconnect_hw_servercreate_hw_target my_svf_targetcurrent_hw_target

サーバーに既に接続されている場合は、 初の 2 つのコマンドは不要です。 create_hw_target コマンドを実行する と、 my_svf_target が定義されます。 1 つのセッシ ョ ンで同じ名前の 2 つのターゲッ ト を使用するこ とはできません。 create_hw_target コマンドを実行する と、 current_hw_target が新し く定義されたターゲッ トに設定され、 作成された my_svf_target の完全なハードウェア ターゲッ ト ハンドル名が表示されます。

Vivado プログラムおよびデバッグ 73UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 74: Vivado Design Suite - Xilinx

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラム

get_hw_targets や open_hw_target などのターゲッ トに対する標準操作がすべてサポート されます。 IS_SVF ハードウェア ターゲッ ト プロパティを使用して、 ライブ ターゲッ ト と SVF ターゲッ ト を区別できます。 たとえば、次のサンプル コマンドは my_svf_target という名前のターゲッ トから IS_SVF プロパティを読み出します。

get_property IS_SVF [get_hw_targets -regexp .*my_svf_target]

次のコマンドを使用する と、 現在のセッシ ョ ンで作成された SVF hw_target をすべて表示できます。

get_hw_targets -filter {IS_SVF}

作成されたターゲッ ト を削除するには、 delete_hw_target コマンドを使用します。 たとえば、 次のコマンドを実行する と my_svf_target が削除されます。

delete_hw_target [get_hw_targets -regexp .*my_svf_target]

重要 : ターゲッ ト を削除する と、 そのターゲッ ト用に作成されたデバイスもすべて削除されます。 また、 ターゲッ トが開いていた場合は、 削除する と閉じます。

SVF ターゲッ トへのデバイスの追加

SVF ターゲッ ト を作成したら、 デバイスを追加して SVF JTAG デバイス チェーン コンフ ィギュレーシ ョ ンを定義します。 SVF ファ イルが正し く実行されるよ うにするため、 SVF JTAG デバイス コンフ ィギュレーシ ョ ンはターゲット ハードウェア チェーンと一致させる必要があ り ます。

チェーンを作成するには、 開いている SVF ターゲッ トに対して create_hw_device を順次実行します。 たとえば、xcku9p パーツの後に xcvu095 パーツを追加するには、 次のよ うにコマンドを実行します。

current_hw_target my_svf_targetopen_hw_targetcreate_hw_device -part xcku9p create_hw_device -part xcvu095 refresh_hw_targetget_hw_devices

この例で、 SVF が既に作成され開いている場合は、 初の 2 つのコマンドは不要です。 create_hw_device コマンドでは、 JTAG チェーンのデバイスを 1 つ目のデバイスから順に定義します。

注記 : create_hw_device コマンドは、 開いている SVF ハードウェア ターゲッ トにのみデバイスを作成します。

チェーンにユーザー定義のデバイスを追加するには、 -part オプシ ョ ンと共に -idcode、 -irlength、 および -mask オプシ ョ ンを使用します。 たとえば、 JTAG ID コードが 1234567、 IR 幅が 8、 マスクが ffffffff の my_part というパーツを追加するには、 次のコマンドを使用します。

open_hw_target [current_hw_target]create_hw_device -idcode 01234567 -irlength 8 -mask ffffffff -part my_part# print IR length for user defined devicesputs [get_property IR_LENGTH [lindex [get_hw_devices -filter {PART == my_part}] 0]]puts $idcode_hexclose_hw_target

注記 : create_hw_device の -idcode オプシ ョ ンでは、有効なデバイス ID コードを指定する必要があ り ます。 ID コードおよび IR 幅は通常、 シ リ コン ベンダーによ りデバイス BSDL ファ イルで提供されています。

ターゲッ トおよびそのデバイスをレポートするには、 report_hw_targets コマンドを使用します。 システムのアクティブ ターゲッ トすべての表際がレポート されます。 このコマンドを実行する と、 次のよ うにサーバー、 ターゲッ ト、 およびデバイスのプロパティがレポート されます。

Vivado プログラムおよびデバッグ 74UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 75: Vivado Design Suite - Xilinx

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラム

report_hw_targetsINFO: Server Property Information: localhost:3121 CLASS: hw_server HOST: localhost NAME: localhost:3121 PORT: 3121 SID: TCP:localhost:3121INFO: Target Property Information: localhost:3121/xilinx_tcf/Xilinx/my_svf_target CLASS: hw_target DEVICE_COUNT: 3 HW_JTAG: 0 IS_OPENED: 1 MAX_DEVICE_COUNT: 32 NAME: localhost:3121/xilinx_tcf/Xilinx/my_svf_target FREQUENCY: 10000000 TYPE: xilinx_tcf TID: jsn-XNC-my_svf_target UID: Xilinx/my_svf_target SVF: 1 Device: xcku9p_0 Device: xcvu095_1

Device: my_part_2

SVF ファイルの保存

SVF ターゲッ ト を作成してデバイスを追加したら、 ターゲッ ト を開いて直接および間接フラ ッシュ プログラム操作を SVF ファ イルに記録できます。 直接 FPGA プログラムおよび間接フラ ッシュ プログラム操作は、 開いているオフライン ターゲッ トの一時ファイルに記録されます。 write_hw_svf コマンドを実行する と、 この一時ファイルがコマンドで指定したファイルに保存されます。 write_hw_svf コマンドを実行した後は一時ファイルはリセッ ト され、 その後のプログラム操作は SVF ファ イル シーケンスの 初に追加されます。

次のコードは、 xcku9p デバイスの直接プログラム操作を含む my_xcku9p.svf という名前のファイルを作成する Tcl コマンドを示しています。

create_hw_target my_svf_targetopen_hw_targetset device0 [create_hw_device -part xcku9p]set_property PROGRAM.FILE {my_xcku9p.bit} $device0program_hw_devices $device0write_hw_svf my_xcku9p.svfclose_hw_target

このサンプル コードは、 create_hw_device コマンドを使用して xcku9p デバイスを作成し、 その戻り値を device0 とい う一時変数に設定します。 この一時変数値を使用してオブジェク ト を参照し、 PROGRAM.FILE プロパティを my_xcku9p.bit ファ イルに設定します。 次に、 device0 を参照して program_hw_device コマンドを実行します。 この program_hw_device コマンドを実行する と、 my_xcku9p.bit ファ イルを xcku9p にプログラムするのに必要な SVF 操作を含む一時 SVF ファ イルが作成されます。 後に write_hw_svf コマンドを実行し、一時ファイルを myxcku9p.svf ファイルに移動します。 この時点で、 SVF ファ イルの作成プロセスは完了したので、 ターゲッ ト を閉じるこ とができます。

Vivado プログラムおよびデバッグ 75UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 76: Vivado Design Suite - Xilinx

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラム

複数の直接および間接プログラム操作を 1 つの SVF ファ イルに保存できます。 たとえば、 同じデバイスまたは異なるデバイスに複数のビッ ト ス ト リームを読み込むプログラム シーケンスを作成できます。 また、 ライブ システムにコンフ ィギュレーシ ョ ン メモ リ デバイスを追加するのと同じ手順を使用して、 間接プログラム操作を追加できます。 SVF ターゲッ トに関連付けられた選択デバイスを右ク リ ッ クする と、 次のメニューが表示されます。

重要 : コンフ ィギュレーシ ョ ン メモ リ用のフ ィールドを指定する際、 次の図でハイライ ト されたフ ィールドのみがオフライン SVF ターゲッ トに関連します。 それ以外のフ ィールドは入力しないでください。

ヒン ト : SVF ファ イルを記述する際、 JTAG チェーンのすべてのデバイスを作成してからプログラム操作を実行してください。 プログラム コマンドの間に create_hw_device コマンドを挿入する と、 2 つの異なるチェーン シーケンスを含む SVF ファ イルが生成されます。

X-Ref Target - Figure 7-1

図 7-1 : [Add Configuration Memory Device] コマンド

X-Ref Target - Figure 7-2

図 7-2 : [Program Configuration Memory Device] ダイアログ ボックス

Vivado プログラムおよびデバッグ 76UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 77: Vivado Design Suite - Xilinx

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラム

• 不正な SVF ファイル作成手順の例 :

create_hw_target my_svf_targetopen_hw_targetset device0 [create_hw_device -part xcku9p]set_property PROGRAM.FILE {my_xcku9p1.bit} $device0# this program command will produce SVF instructions # which account for only device0 in chainprogram_hw_devices $device0set device1 [create_hw_device -part xcku9p]set_property PROGRAM.FILE {my_xcku9p2.bit} $device1# this program command will produce SVF instructions # which account for device0 and device1 in chainprogram_hw_devices $device1write_hw_svf my_bad_xcku9p.svfclose_hw_target

初のプログラム コマンドでは、 初のデバイスを含むチェーン定義のみが使用されます。 2 番目のプログラム コマンドにはチェーンの両方のデバイスが含まれます。 このSVF ファ イルを 2 つのデバイスを含むチェーンで実行する と、 ライブ チェーンには 2 つのデバイスがあるので、 初のプログラムはエラーとな り ます。

この問題を修正するには、 create_hw_device コマンドを先に実行してチェーンを完全に定義した後、 プログラムを実行します (次の例を参照)。

• 正しい SVF ファイル作成手順の例 :

create_hw_target my_svf_targetopen_hw_target# create device chain firstset device0 [create_hw_device -part xcku9p]set device1 [create_hw_device -part xcku9p]# program device0set_property PROGRAM.FILE {my_xcku9p1.bit} $device0program_hw_devices $device0# program device1set_property PROGRAM.FILE {my_xcku9p2.bit} $device1program_hw_devices $device1write_hw_svf my_good_xcku9p.svfclose_hw_target

Vivado プログラムおよびデバッグ 77UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 78: Vivado Design Suite - Xilinx

第 7 章 : SVF (Serial Vector Format) ファイルを使用したプログラム

SVF ファイルの実行

SVF ファ イルを作成したら、 Vivado IDE を使用して実行できます。 Vivado IDE では、 SVF ファ イル生成機能で生成された SVF ファ イルを実行でき、 検証テス ト ツールと して使用するこ とを意図しています。 execute_hw_svf コマンドは汎用 SVF 実行コマンドではないので、 Vivado IDE で作成された SVF ファ イルのみを実行するよ うにしてください。

ライブ ターゲッ トに対して svf コマンドを実行するには、 次のコマンドを使用します。

execute_hw_svf my_file.svfINFO: [Labtoolstcl 44-548] Creating JTAG TCL script from SVF fileINFO: [Labtoolstcl 44-549] Re-opening target in JTAG modeINFO: [Labtoolstcl 44-551] Sourcing JTAG TCL script: my_file.tclPass: SVF Execution completed with no errorsINFO: [Labtoolstcl 44-550] Restoring target to original modeINFO: [Labtoolstcl 44-570] Execute SVF completed successfully

この例では、 my_file.svf を実行しています。 実行フローの一部と して、 入力 SVF ファ イルが HW_JTAG Tcl 操作によ り一時ファイルに変換されます。 この Tcl コードが作成された後、 変換された SVF 命令を実行するためにファイルが実行されます。 JTAG_TCL 操作を確認するには、 execute_hw_svf コマンドを -verbose オプシ ョ ンを使用して実行します。 コマンドが完了する と、 実行できなかった命令でエラーが表示されるか、 メ ッセージ ログの 後に 「Pass」 メ ッセージが表示されてコマンドが正し く実行されたこ とが示されます。

Vivado プログラムおよびデバッグ 78UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 79: Vivado Design Suite - Xilinx

第 8 章

デザインのデバッグFPGA デザインのデバッグは複数の段階を含む反復作業です。 複雑な問題を処理する場合と同様に、 FPGA デザインのデバッグ プロセスも、 一度にデザイン全体を処理するのではなく、 細分化してセクシ ョ ンごとに集中して作業するのがベス トです。 1 回に 1 モジュールを追加しながらデザイン フローを反復し、 デザイン全体の中でそれを正しく機能させるよ うにするのが、 実績のあるデザインおよびデバッグ手法の 1 つです。 この設計およびデバッグ手法は、 次のデザイン フロー段階のどの組み合わせででも使用できます。

• RTL レベルのデザイン シ ミ ュレーシ ョ ン

• インプ リ メンテーシ ョ ン後のデザイン シ ミ ュレーシ ョ ン

• インシステム デバッグ

RTL レベル デザイン シミ ュレーシ ョ ン

シ ミ ュレーシ ョ ン検証プロセス中にデザインの機能をデバッグできます。 ザイ リ ンクスの Vivado® IDE では、 フル デザイン シ ミ ュレーシ ョ ン機能が提供されています。 デザインの RTL シ ミ ュレーシ ョ ンを実行するには、 Vivado デザイン シ ミ ュレータを使用できます。 RTL レベル シ ミ ュレーシ ョ ン環境でデザイン デバッグを実行する と、 デザイン全体を完全に表示でき、 デザイン/デバッグ サイ クルをすばやく反復実行できるなどの利点があ り ますが、 大型デザインを妥当な時間内にシ ミ ュレーシ ョ ンした り、 実際のシステム環境を正確にシ ミ ュレーシ ョ ンするのが困難であるなどの制限があ り ます。 Vivado シ ミ ュレータの使用については、 『Vivado Design Suite ユーザー ガイ ド : ロジック シ ミ ュレーシ ョ ン』 (UG900) [参照 1] を参照してください。

インプリ メンテーション後のデザイン シミュレーション

Vivado シ ミ ュレータは、 インプリ メンテーシ ョ ン後のデザイン シ ミ ュレーシ ョ ンにも使用できます。 Vivado シ ミ ュレータを使用してインプ リ メンテーシ ョ ン後のデザインをデバッグする と、 デザインのタイ ミ ング精度の高いモデルを使用できるなどの利点があ り ますが、 前のセクシ ョ ンで述べたよ うに、 ランタイムが長いこ とや、 システム モデルでの正確さなどの制限があ り ます。

インシステム ロジック デザインのデバッグ

Vivado Design Suite には、 インプリ メンテーシ ョ ン後の FPGA デザインをインシステムでデバッグできるロジッ ク解析機能もあり ます。 インシステムでのデザインのデバッグには、 インプリ メンテーシ ョ ン後のデザインを、 実際のシステム環境で、 システム スピードで、 タイ ミ ング精度の高いデバッグを実行できる という利点があり ますが、 シ ミ ュレーシ ョ ン モデルを使用した場合に比べてデバッグ信号を確認しづらい、 デザインのサイズや複雑さによってはデザイン/インプリ メンテーシ ョ ン/デバッグの反復実行のランタイムが長くなる可能性があるなどの制限があり ます。

Vivado ツールでは複数のデバッグ方法が提供されているので、 必要に応じて、 これらの方法のいずれかを使用してデザインをデバッグできます。 Vivado Design Suite のインシステム ロジッ ク デバッグ機能については、第 9 章 「インシステム ロジッ ク デザインのデバッグ フロー」 で説明します。

Vivado プログラムおよびデバッグ 79UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 80: Vivado Design Suite - Xilinx

第 8 章 : デザインのデバッグ

インシステム シリアル I/O デザインのデバッグ

インシステム シ リ アル I/O の検証およびデバッグを可能にするため、 Vivado Design Suite にはシ リアル I/O 解析機能が含まれています。 この機能を使用する と、 FPGA ベース システムの高速シ リ アル I/O リ ンクを計測および 適化できます。 Vivado シ リ アル I/O 解析機能は、 単純なクロ ッ クや接続の問題から複雑なマージン解析およびチャネル適化の問題まで、 さまざまなインシステム デバッグおよび検証の問題を解決するために使用できます。 Vivado シ リアル I/O 解析機能を使用する と、 ほかの外部装置を使用するのと比較して、 受信信号にレシーバー イコライゼーシ ョ ンが適用された後の信号の質が計測される という利点があ り ます。 これによ り、 TX から RX へのチャネルの適なポイン ト、 つま り実際の正しいデータが計測されます。

Vivado ツールでは、 ギガビッ ト ト ランシーバー エンドポイン ト を実行するために使用されるデザインおよびランタイム ソフ ト ウェアを生成でき、 高速シ リ アル I/O チャネルを計測し、 適化するのに利用できます。 IBERT デザインを生成する方法は、 第 13 章 「インシステム シ リ アル I/O デバッグ フロー」 を参照して ください。 ランタイム Vivado シ リ アル I/O 解析機能の使用方法は、 第 14 章 「ハード ウェアでのシ リ アル I/O デザインのデバッグ」 を参照してください。

Vivado プログラムおよびデバッグ 80UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 81: Vivado Design Suite - Xilinx

第 9 章

インシステム ロジック デザインのデバッグ フロー

Vivado® ツールには、 実際のハードウェア デバイス上でデザインのインシステム デバッグを実行する機能が多数含まれています。 インシステム デバッグ フローには、 次の 3 つの段階があ り ます。

1. プローブ : デザインでプローブする信号を特定し、 プローブ方法を指定します。

2. インプリ メンテーショ ン : プローブするネッ トに追加されたデバッグ IP を含むデザインをインプリ メン ト します。

3. 解析 : デザインに含まれるデバッグ IP にアクセスし、 機能的な問題をデバッグおよび検証します。

このインシステム デバッグ フローは、 前のセクシ ョ ンで説明した反復デザイン/デバッグ フローを使用するこ とを意図しています。 インシステム デバッグ フローを使用する場合は、 デザイン サイクルのできるだけ早い段階で、 デザインの一部がハードウェアで機能するよ うにするこ とをお勧めします。 この章では、 インシステム デバッグ フローの 3 つの段階を説明し、 Vivado ロジッ ク デバッグ機能を使用してデザインがハード ウェア上で機能するよ うにする方法を示します。

Vivado プログラムおよびデバッグ 81UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 82: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

インシステム デバッグ用のデザインのプローブ

インシステム デバッグ フローのプローブ段階には、 次の 2 つの段階があ り ます。

1. プローブする信号またはネッ ト を特定

2. デザインにデバッグ コアを追加する方法を決定

多くの場合、 プローブする信号およびそのプローブ方法は、 ほかの信号のプローブに影響します。 まず、 デザイン ソース コードにデバッグ IP コンポーネン ト インスタンスを手動で追加するか (HDL インスタンシエーシ ョ ン プローブ フロー )、 合成済みネッ ト リ ス トに Vivado ツールで自動的にデバッグ コアが追加されるよ うにするか (ネッ ト リス ト挿入プローブ フロー ) を決定する と有益です。 表 9-1 に、 異なるデバッグ方法の利点と欠点を示します。

ネッ ト リス ト挿入デバッグ プローブ フロー

Vivado ツールでデバッグ コアを挿入する方法は、 さまざまなニーズに対応できるよ う複数あ り ます。

• シンプルなウ ィザードを使用し、 デバッグするネッ トに基づいて、 ILA (Integrated Logic Analyzer) コアを自動的に生成および設定します。 これが一番簡単な方法です。

• [Debug] ウ ィンド ウを使用して、 個々のコア、 ポート、 およびパラ メーターを設定します。 [Debug] ウ ィンド ウは、 合成済みデザインを開いた状態でレイアウ ト セレクターで [Debug] を選択、 [Layout] → [Debug] をク リ ック、 または [Windows] → [Debug] をク リ ッ クする と表示されます。

• Tcl の XDC デバッグ コマンドのセッ ト を手動で XDC 制約ファイルに入力するか、 Tcl スク リプ ト を作成します。

これらの方法を組み合わせて利用し、 デバッグ コアを挿入およびカスタマイズするこ と もできます。

表 9-1 : デバッグ スト ラテジ

デバッグ目標 推奨デバッグ プログラム フロー

HDL ソース コードでデバッグ信号を特定し、 フローの後の方でデバッグをイネーブル/ディ スエーブルにできるよ うにする。

• mark_debug プロパティを使用して、 HDL でデバッグ用の信号にタグを付ける。

• Set Up Debug ウ ィザードを使用して、 ネッ ト リ ス ト挿入プローブ フローを実行する。

HDL ソース コードを変更せずに、 合成済みデザイン ネッ ト リ ス トでデバッグ ネッ ト を特定する。

• 合成済みデザイン ネッ ト リ ス トでネッ ト を右ク リ ッ ク して [Mark Debug] をク リ ッ ク し、 デバッグするネッ ト を選択する。

• Set Up Debug ウ ィザードを使用して、 ネッ ト リ ス ト挿入プローブ フローを実行する。

Tcl コマンドを使用してデバッグ プローブ フローを自動化する。

• set_property Tcl コマンドを使用し、 デバッグするネッ トに mark_debug プロパティを設定する。

• ネッ ト リ ス ト挿入プローブ フロー用の Tcl コマンドを使用し、 デバッグ コアを作成してデバッグ ネッ トに接続する。

HDL ソースで ILA デバッグ コア インスタンスに信号を接続する。

• デバッグする HDL 信号を特定する。

• HDL インスタンシエーシ ョ ン プローブ フローを使用し、 ILA (Integrated Logic Analyzer) コアを生成してインスタンシエート し、 デザインのデバッグ信号に接続する。

Vivado プログラムおよびデバッグ 82UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 83: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグする HDL 信号のマーク

合成の前に HDL ソース レベルでデバッグする信号を特定するには、 mark_debug 制約を使用します。 HDL でデバッグ用にマーク された信号に対応するネッ トが、 [Debug] ウ ィンド ウの [Unassigned Debug Nets] の下に表示されます。

注記 : [Debug] ウ ィンド ウの [Debug Nets] ビューはデバッグに選択したネッ トのネッ ト中心の表示で、 [Debug Cores] ビューはコア プロパティを表示および設定可能なコア中心の表示です。

デバッグ用にネッ ト をマークする方法は、 プロジェク トが RTL ソース ベースであるか合成済みネッ ト リ ス ト ベースであるかによって異なり ます。 RTL ネッ ト リ ス ト ベースのプロジェク トの場合は、 次の方法を使用します。

• Vivado 合成を使用する場合、 VHDL および Verilog ソース ファ イルで mark_debug 制約を使用してデバッグ用のネッ ト をマークできます。 mark_debug 制約に有効な値は、 TRUE または FALSE です。 Vivado 合成では、 この制約の値を SOFT に設定するこ とはできません。

合成済みネッ ト リ ス ト ベースのプロジェク トの場合は、 次の方法を使用します。

• Synopsis® 社の Synplify® 合成ツールを使用する と、 VHDL または Verilog で mark_debug および syn_keep 制約を使用するか、 SDC (Synopsys Design Constraints) ファ イルでは mark_debug 制約を使用して、 デバッグ用にネッ トをマークできます (オプシ ョ ン)。 Synplify では SOFT 値はサポート されません。 これは、 この動作が syn_keep 制約で制御されるためです。

• Mentor Graphics® 社の Precision® 合成ツールを使用する と、 VHDL または Verilog で mark_debug 制約を使用してデバッグ用にネッ ト をマークできます。

次のセクシ ョ ンに、 Vivado 合成、 XST、 Synplify、 および Precision ソース ファイルの構文例を示します。

ICON および ILA コア

• 白抜きになっている緑色のアイコン は、 ネッ トに MARK_DEBUG プロパティが設定されていますが、 ILA コアにはネッ トが接続されていない状態を示します。

• 緑色のアイコン は、 ネッ トに MARK_DEBUG プロパティが設定されていて、 ILA コアにネッ トが接続されている状態を示します。

• 黄色のアイコン は、 ネッ トに MARK_DEBUG は設定されていませんが、 ILA コアにネッ トが接続されている状態を示します。

Vivado 合成での mark_debug の構文例

次に、 Vivado 合成を使用する場合の VHDL および Verilog の構文例を示します。

• VHDL の構文例

attribute mark_debug : string;attribute mark_debug of char_fifo_dout: signal is "true";

• Verilog の構文例

(* mark_debug = "true" *) wire [7:0] char_fifo_dout;

Vivado プログラムおよびデバッグ 83UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 84: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

Synplify での mark_debug の構文例

次に、 Synplify を使用する場合の VHDL、 Verilog、 SDC の構文例を示します。

• VHDL の構文例

attribute syn_keep : boolean;attribute mark_debug : string;attribute syn_keep of char_fifo_dout: signal is true;attribute mark_debug of char_fifo_dout: signal is "true";

• Verilog の構文例

(* syn_keep = "true", mark_debug = "true" *) wire [7:0] char_fifo_dout;

• SDC の構文例

define_attribute {n:char_fifo_din[*]} {mark_debug} {"true"}define_attribute {n:char_fifo_din[*]} {syn_keep} {"true"}

重要 : SDC ソースのネッ ト名には、 接頭辞と して n: を付ける必要があ り ます。

注記 : SDC (Synopsys Design Constraints) は、 特にタイ ミ ング解析において設計の要件をツールに渡すための業界標準です。 SDC 仕様のリ ファレンス コピーは、 次の Synopsys 社のサイ トから登録をする と入手できます。

http://www.synopsys.com/Community/Interoperability/Pages/TapinSDC.aspx

Precision での mark_debug の構文例

次に、 Precision を使用する場合の VHDL、 Verilog、 XCF の構文例を示します。

• VHDL の構文例

attribute mark_debug : string;attribute mark_debug of char_fifo_dout: signal is "true";

• Verilog の構文例

(* mark_debug = "true" *) wire [7:0] char_fifo_dout;

デザインの合成

次に、 Vivado Design Suite で [Run Synthesis] をク リ ッ クするか、 次の Tcl コマンドを使用して、 デバッグ コアを含むデザインを合成します。

launch_runs synth_1wait_on_run synth_1

synth_design Tcl コマンドを使用してデザインを合成するこ と もできます。 デザインのさまざまな合成方法は、『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] を参照してください。

Vivado プログラムおよびデバッグ 84UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 85: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

合成済みデザインでデバッグ用のネッ ト をマーク

Flow Navigator で [Open Synthesized Design] をク リ ッ ク して合成済みデザインを開き、 [Debug] レイアウ ト を選択して [Debug] ウ ィンド ウを表示します。 デバッグ用にマークした HDL 信号に対応するネッ トが、 [Debug] ウ ィンド ウの [Unassigned Debug Nets] フォルダーの下に表示されます (図 9-1)。

• [Netlist]、 [Schematic] などのデザイン ウ ィンド ウでネッ ト を右ク リ ッ ク し、 [Mark Debug] をク リ ッ ク します。

• 任意のビューでネッ ト を選択し、 [Debug] ウ ィンド ウの [Unassigned Debug Nets] フォルダーにド ラ ッグ アンド ドロ ップします。

• Set Up Debug ウ ィザードでネッ ト を選択します。 詳細は、 「Set Up Debug ウ ィザードを使用したデバッグ コアの挿入」 を参照してください。

Set Up Debug ウィザードを使用したデバッグ コアの挿入

デバッグ用にネッ ト をマークしたら、 それらのネッ ト をデバッグ コアに割り当てます。 Vivado Design Suite の Set Up Debug ウ ィザードを使用する と、 デバッグ コアを自動作成し、 デバッグ ネッ ト をコアの入力に割り当てるこ とができます。

Set Up Debug ウ ィザードを使用してデバッグ コアを挿入するには、 次の手順に従います。

1. [Debug] ウ ィンド ウの [Unassigned Debug Nets] フォルダーを使用するか、 ネッ ト を直接ク リ ッ ク して、 デバッグするネッ ト を選択します (オプシ ョ ン)。

2. Vivado Design Suite のメ イン メニューから [Tools] → [Set Up Debug] をク リ ッ クするか、 Flow Navigator の [Synthesized Design] の下にある [Set Up Debug] をク リ ッ ク します。

3. [Next] をク リ ッ ク します。 [Specify Nets to Debug] ページが開きます (図 9-2)。

4. オプシ ョ ンで、 さ らにネッ ト を追加したり、 一覧から既存のネッ ト を削除するには、 [Find Nets to Add] をク リ ック します。 デバッグ ネッ ト を右ク リ ッ ク して [Remove Nets] をク リ ッ ク しても、 表からネッ ト を削除できます。

重要 : [Netlist] またはその他のウ ィンド ウでネッ ト をク リ ッ ク して、 [Nets to Debug] のリ ス トにド ラ ッグするこ と もできます。

5. デバッグ ネッ ト を右ク リ ッ ク して [Select Clock Domain] をク リ ッ ク し、ネッ トの値をサンプリ ングするクロ ッ ク ド メ インを変更します。

注記 : Set Up Debug ウ ィザードは、 同期エレ メン トのパスを検索し、 デバッグ ネッ トに 適なクロ ッ ク ド メ インを自動的に選択しよ う と します。 この選択は必要に応じて [Select Clock Domain] ダイアログ ボッ クスで変更できますが、 表に含まれる各クロ ッ ク ド メ インはそれぞれ別の ILA コア インスタンスになるこ とに注意して ください。

X-Ref Target - Figure 9-1

図 9-1 : [Debug] ウィンドウの [Unassigned Debug Nets] フォルダー

Vivado プログラムおよびデバッグ 85UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 86: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

ヒン ト : ILA コアのタイ ミ ングへの影響を 小限に抑えるためのヒン トは、『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 3] の 「ILA コアと タイ ミ ングに関する考慮事項」 を参照してください。

6. デバッグ ネッ トの選択が完了したら、 [Next] をク リ ッ ク します。

注記 : Set Up Debug ウ ィザードによ り、 ク ロ ッ ク ド メ インにつき 1 つの ILA コアが挿入されます。デバッグのために選択されたネッ トは、 挿入された ILA コアのプローブ ポートに自動的に割り当てられます。 ウ ィザードの 終ページはコア生成のサマリ ページで、 検出されたクロ ッ ク数、 生成および削除される ILA コアの数が示されます。

7. ADVANCED ト リ ガー モードをイネーブルにする場合は [Advanced Trigger] チェッ ク ボッ クスをオンに、 BASIC キャプチャ モードをイネーブルにする場合は [Capture Control] チェッ ク ボッ クスをオンにします。 [Next] をクリ ッ ク し、 後のページに進みます。

注記 : Vivado ハードウェア マネージャーで使用する際の ADVANCED ト リ ガー モードまたは BASIC キャプチャ モードについては、 第 10 章 「ハード ウェアでのロジッ ク デザインのデバッグ」 を参照してください。

8. 内容を確認したら [Finish] をク リ ッ ク し、 合成済みデザイン ネッ ト リ ス トに ILA コアを挿入および接続します。X-Ref Target - Figure 9-2

図 9-2 : Set Up Debug ウィザード

Vivado プログラムおよびデバッグ 86UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 87: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

9. [ILA (Integrated Logic Analyzer) General Options] ページで ILA データ深さ ([Sample of Data Depth]、C_DATA_DEPTH)、 入力パイプ段数 ([Input Pipe Stages]、 C_INPUT_PIPE_STAGES)、 キャプチャ制御機能のイネーブル ([Capture Control]、 C_EN_STRG_QUAL)、 ADVANCED ト リ ガー機能 ([Advanced Trigger]、C_ADV_TRIGGER) を設定します。 これらのオプシ ョ ンの説明は、 表 9-2 を参照してください。

10. これで、 デバッグ ネッ トが ILA デバッグ コアに割り当てられました (図 9-4)。

[Debug] ウィンドウを使用したデバッグ コアの追加とカスタマイズ

[Debug] ウ ィンド ウの [Debug Cores] ビューでは、 Set Up Debug ウ ィザードにない ILA コアおよびデバッグ コア ハブの挿入に関する詳細な設定を制御できます。 コアの生成および削除、 デバッグ ネッ トの接続、 コア パラ メーターの設定などを実行できます。

[Debug] ウ ィンド ウの [Debug Cores] ビューには、 次のものが表示されます。

• デバッグ ハブ (dbg_hub) コアに接続されているデバッグ コアのリ ス ト

• 割り当てられていないネッ トの リ ス ト

デバッグ コアおよびポートは、 ポップアップ メニューまたはウ ィンド ウの上部にあるツールバーから制御できます。

X-Ref Target - Figure 9-3

図 9-3 : Set Up Debug ウィザード : [ILA (Integrated Logic Analyzer) General Options] ページ

X-Ref Target - Figure 9-4

図 9-4 : 割り当てられたデバッグ ネッ ト

Vivado プログラムおよびデバッグ 87UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 88: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ コアの生成および削除

[Debug] ウ ィンド ウでデバッグ コアを生成するには、 ツールバーの [Create Debug Core] をク リ ッ ク します。 [Create Debug Core] ダイアログ ボッ クス (図 9-5) を使用する と、 親インスタンスおよびデバッグ コア名を変更したり、 コアのパラ メーターを設定できます。 既存のデバッグ コアを削除するには、 [Debug] ウ ィンド ウでコアを右ク リ ッ ク し、[Delete] をク リ ッ ク します。 [Create Debug Core] ダイアログ ボッ クスに表示される ILA コアのオプシ ョ ンの説明は、90 ページの表 9-2 を参照してください。

デバッグ コア ポートの追加、 削除、 およびカスタマイズ

デバッグ コアの追加および削除だけでなく、 各デバッグ コアのポート を追加、 削除、 およびカスタマイズできます。 デバッグ ポート を追加するには、 次の手順に従います。

1. [Debug] ウ ィンド ウでデバッグ コアを選択します。

2. ツールバーの [Create Debug Port] をク リ ッ ク します。 [Create Debug Port] ダイアログ ボッ クスが表示されます (図 9-6)。

3. ポート幅を指定します。

4. [OK] をク リ ッ ク します。

5. デバッグ ポート を削除するには、 [Debug] ウ ィンド ウでポート を右ク リ ッ ク し、 [Delete] をク リ ッ ク します。

X-Ref Target - Figure 9-5

図 9-5 : [Create Debug Core] ダイアログ ボックス

Vivado プログラムおよびデバッグ 88UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 89: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ コアへのネッ トの接続および接続解除

ネッ トおよびバス (バス ネッ ト ) を [Schematic] または [Netlist] ウ ィンド ウからデバッグ コアのポートにド ラ ッグ アンド ド ロ ップできます。 ネッ トの選択に応じてポートが自動的に拡張されます。 また、 ネッ ト またはバスを右ク リ ック し、 [Assign to Debug Port] をク リ ッ ク しても、 ネッ ト またはバスをデバッグ ポートに割り当てるこ とができます。

デバッグ コアのポートからネッ トの接続を解除するには、 ポートに接続されているネッ ト を右ク リ ッ ク し、[Disconnect Net] をク リ ッ ク します。

デバッグ コアのプロパティの変更

各デバッグ コアには、 コアの動作をカスタマイズするパラ メーターがあ り ます。 debug_core_hub デバッグ コアのプロパティの変更については、 106 ページの 「デバッグ コア ハブの BSCAN ユーザー スキャン チェーンの変更」を参照してください。

ILA デバッグ コアのプロパティ も変更できます。 たとえば、 ILA デバッグ コアでキャプチャされるサンプルの数を変更するには、 次の手順に従います (図 9-7)。

1. [Debug ] ウ ィンド ウで ILA コア (u_ila_0 など) を選択します。

2. [Cell Properties] ウ ィンド ウで [Debug Core Options] ビューをク リ ッ ク します。

3. [C_DATA_DEPTH] のド ロ ップダウン リ ス トから、 キャプチャするサンプル数を選択します。

X-Ref Target - Figure 9-6

図 9-6 : [Create Debug Port] ダイアログ ボックス

Vivado プログラムおよびデバッグ 89UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 90: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

表 9-2 に、 ILA コアのプロパティの説明を示します。

X-Ref Target - Figure 9-7

図 9-7 : ILA コアのデータの深さを変更

表 9-2 : ILA デバッグ コアのプロパティ

デバッグ コアのプロパティ 説明 有効な値

C_DATA_DEPTH ILA コアで格納可能なデータ サンプルの 大数。 この値を増加する と、 ILA で使用されるブロッ ク RAM 数が増加し、 デザイン パフォーマンスに悪影響を与えることがあ り ます。

1024 (デフォルト )

2048

4096

8192

16384

32768

65536

131072

C_TRIGIN_EN ILA コアの TRIG_IN および TRIG_IN_ACK ポート をイネーブルにします。 これらのポートは、 アドバンス ネッ ト リ ス ト変更コマンドを使用して、 デザインのネッ トに接続する必要があ り ます。 ILA ト リ ガー入力または出力信号を使用する場合は、 HDL インスタンシエーシ ョ ン方法を使用して ILA をデザインに追加するこ とを考慮してください。

false (デフォルト )

true

Vivado プログラムおよびデバッグ 90UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 91: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

C_TRIGOUT_EN ILA コアの TRIG_OUT および TRIG_OUT_ACK ポートをイネーブルにします。 これらのポートは、 アドバンス ネッ ト リ ス ト変更コマンドを使用して、 デザインのネッ トに接続する必要があ り ます。 ILA ト リ ガー入力または出力信号を使用する場合は、 HDL インスタンシエーシ ョ ン方法を使用して ILA をデザインに追加するこ とを考慮してください。

false (デフォルト )

true

C_ADV_TRIGGER ILA コアの ADVANCED ト リ ガー モードをイネーブルにします。 この機能の詳細は、 第 10 章を参照してください。

false (デフォルト )

true

C_INPUT_PIPE_STAGES ILA コアの PROBE 入力のパイプ段に追加レベル (例 : フリ ップフロ ップ レジスタ ) を使用できるよ うにします。この機能を使用する と、 Vivado ツールで ILA コアをデザインのク リ ティカル セクシ ョ ンから離して配置できるよ うになるので、 デザインのタイ ミ ング パフォーマンスを改善できるこ とがあ り ます。

0 (デフォルト )

1

2

3

4

5

6

C_EN_STRG_QUAL ILA コアの BASIC キャプチャ モードをイネーブルにします。 この機能の詳細は、 第 10 章を参照してください。

false (デフォルト )

true

C_ALL_PROBE_SAME_MU ILA コアの PROBE 入力をすべてイネーブルにして、 同じ数のコンパレータ (比較ユニッ ト ) が含まれるよ うにします。 このプロパティは常に true に設定しておく必要があ り ます。

true (デフォルト )

false (推奨しません)

C_ALL_PROBE_SAME_MU_CNT ILA コアの PROBE 入力ごとのコンパレータ (比較ユニッ ト ) の数。 必要なコンパレータの数は、C_ADV_TRIGGER および C_EN_STRG_QUAL プロパティの設定によって異なり ます。

• C_ADV_TRIGGER が false で C_EN_STRG_QUAL が false の場合は 1 ~ 16 に設定

• C_ADV_TRIGGER が false で C_EN_STRG_QUAL が true の場合は 2 ~ 16 に設定

• C_ADV_TRIGGER が true で C_EN_STRG_QUAL が false の場合は 1 ~ 16 に設定

• C_ADV_TRIGGER が true で C_EN_STRG_QUAL が true の場合は 2 ~ 16 に設定

重要 : 上記の規則に従わない場合、 ILA コアを生成したと きにインプリ メンテーシ ョ ン中にエラー メ ッセージが表示されます。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

表 9-2 : ILA デバッグ コアのプロパティ (続き)

デバッグ コアのプロパティ 説明 有効な値

Vivado プログラムおよびデバッグ 91UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 92: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

プローブをデータ、 ト リガー、 またはその両方として使用

Vivado ハードウェア マネージャーでは、 プローブをデータ、 ト リガー、 またはその両方と して使用するよ う カスタマイズできます。 ト リガーまたは比較値をキャプチャするプローブは、 ト リガーのみのプローブと してコンフ ィギュレーシ ョ ンされます。 これによ り、 ILA コアでの ブロ ッ ク RAMの使用が 適化されます。 通常、 プローブのデータをキャプチャする必要がある場合、 そのプローブはデータのみのプローブと してコンフ ィギュレーシ ョ ンされます。 プローブが比較値のト リガーに使用され、 またそのデータをキャプチャする必要がある場合は、 プローブを ト リガーおよびデータ と してコンフ ィギュレーシ ョ ンする必要があ り ます。

プローブは、 Set up Debug ウ ィザードでデータ、 ト リガー、 またはその両方と してコンフ ィギュレーシ ョ ンできます (図 9-8)。

データのみと してコンフ ィギュレーシ ョ ンされたプローブを含むデザインでデバイスをランタイムでプログラムする場合、 これらのプローブを ト リガーまたはキャプチャ セッ ト アップ条件を設定するために使用するこ とはできません。 また、 ト リガーのみと してコンフ ィギュレーシ ョ ンされたプローブは、 [Waveform] ウ ィンド ウでは使用できません。

X-Ref Target - Figure 9-8

図 9-8 : Set up Debug ウィザードでプローブをデータ、 ト リガー、 またはその両方としてコンフ ィギュレーシ ョ ン

Vivado プログラムおよびデバッグ 92UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 93: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

使用するコンパレータの数の設定 合成後のネッ ト リ ス トに ILA コアを挿入したら、 使用するコンパレータの数を 1 ~ 16 に設定できます。 Vivado IDE でこれを設定するには、 ILA コアの [Cell Properties] ウ ィンド ウの [Debug Core Options] ビューで [ALL_PROBE_SAME_MU_CNT] プロパティの値を使用するコンパレータの数に設定します。

または、 [Tcl Console] ウ ィンド ウで次の Tcl コマンドを使用して ALL_PROBE_SAME_MU_CNT プロパティを設定します。

set_property ALL_PROBE_SAME_MU_CNT 10 [get_debug_cores u_ila_0]

ヒン ト : [Capture Control] がオンの場合は、 使用可能なコンパレータの数は 1 ~ 15 です。 1 つのコンパレータは、キャプチャ制御データ フ ィルター メカニズムによ り使用されます。

重要 : ネッ ト リ ス ト挿入フローを使用する場合、 ILA の異なるプローブに対して異なるコンパレータ数を設定することはできません。 異なるプローブに異なるコンパレータ数を設定するには、 HDL インスタンシエーシ ョ ン フローを使用するこ とをお勧めします。

X-Ref Target - Figure 9-9

図 9-9 : ILA コアの [Cell Properties] ウィンドウの [Debug Core Options] ビュー

Vivado プログラムおよびデバッグ 93UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 94: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

XDC コマンドを使用したデバッグ コアの挿入

Set up Debug ウ ィザードの使用に加え、 XDC コマンドを使用使用してもデバッグ コアを作成、 接続し、 合成済みデザイン ネッ ト リ ス トに挿入できます。 次の手順に従って、 [Tcl Console] ウ ィンド ウに XDC コマンドを入力します。

1. synth_1 とい う合成 run から合成済みネッ ト リ ス ト を開きます。

open_run synth_1

重要 : 次の手順の XDC コマンドは、 合成済みネッ ト リ ス トが開いている場合にのみ使用できます。

2. ILA コアのブラ ッ ク ボッ クスを作成します。

create_debug_core u_ila_0 ila

3. ILA コアのプロパティを設定します。

set_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0]set_property C_TRIGIN_EN false [get_debug_cores u_ila_0]set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0]set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0]set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0]set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0]

4. ILA コアの clk ポートの幅を 1 に設定し、 適切なクロ ッ ク ネッ トに接続します。

set_property port_width 1 [get_debug_ports u_ila_0/clk]connect_debug_port u_ila_0/clk [get_nets [list clk ]]

注記 : ILA コアの clk ポートは、 create_debug_core コマンドで自動的に作成されるので、 ユーザーが作成する必要はあ り ません。

重要 : デバッグ コアのデバッグ ポート名はすべて小文字です。 大文字や小文字と大文字の混ざったポート名を使用する と、 エラーになり ます。

5. probe0 ポートの幅を、 そのポートに接続するネッ トの数に設定します。

set_property port_width 1 [get_debug_ports u_ila_0/probe0]

注記 : ILA コアの 初のプローブ ポート (probe0) は、 create_debug_core コマンドで自動的に作成されるので、ユーザーが作成する必要はあ り ません。

6. probe0 ポート を、 そのポートに接続するネッ トに接続します。

connect_debug_port u_ila_0/probe0 [get_nets [list A_or_B]]

7. (オプシ ョ ン) 必要なだけプローブ ポート を作成し、 幅を設定して、 デバッグするネッ トに接続します。

create_debug_port u_ila_0 probeset_property port_width 2 [get_debug_ports u_ila_0/probe1]connect_debug_port u_ila_0/probe1 [get_nets [list {A[0]} {A[1]}]]

これらのコマンドおよびその他の関連コマンドの詳細は、 [Tcl Console] ウ ィンド ウに 「help -category Debug」と入力してください。

Vivado プログラムおよびデバッグ 94UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 95: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ XDC コマンド実行後の制約の保存

Set up Debug ウ ィザードを使用した後、 Vivado Design Suite を使用してデバッグ コアまたはポート を作成した後、 および次の XDC コマンドを実行した後は、 制約を保存する必要があ り ます。

• create_debug_core

• create_debug_port

• connect_debug_port

• set_property (debug_core または debug_port オブジェク トに適用)

対応する XDC コマンドがターゲッ ト制約ファイルに保存され、 インプリ メンテーシ ョ ン中にデバッグ コアの挿入および接続に使用されます。

重要 : プロジェク ト モードで制約をターゲッ ト制約ファイルに保存する と、 合成およびインプ リ メンテーシ ョ ンが更新必要な状態になるこ とがあ り ますが、 デバッグ XDC 制約はインプリ メンテーシ ョ ンでしか使用されないので、合成を再実行する必要はあ り ません。 合成を強制的に 新の状態にするには、 [Design Runs] ウ ィンド ウで合成 run (例 : synth_1) を右ク リ ッ ク し、 [Force Up-to-Date] をク リ ッ ク します。

デザインのインプリ メンテーシ ョ ン

デバッグ コアを挿入、 接続、 カスタマイズしたら、 デザインをインプリ メン ト します。 詳細は、 「デバッグ コアを含むデザインのインプ リ メンテーシ ョ ン」 を参照してください。

非プロジェク ト モードでのデバッグ コアの挿入

デバッグ コアは、 プロジェク ト モードおよび非プロジェク ト モード両方で挿入できます。 次のサンプル Tcl スク リプ トは、 コアをデバッグし、 デバッグ コアの属性を設定し、 そのデバッグ コア プローブをプローブされるデザインの信号に接続します。 非プロジェク ト モードの場合、 デバッグ コアはデザイン合成後、 opt_design 段階の前に挿入する必要があ り ます。

重要 : デバッグ コアの挿入は、 ILA コアに対してのみサポート されます。

Vivado プログラムおよびデバッグ 95UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 96: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

次の Tcl スク リプ トは、 非プロジェク ト フローでデバッグ コア挿入コマンドを使用した例です。

#read relevant design source filesread_vhdl [glob ./*.vhdl] read_verilog [ glob ./Sources/*.v ]read_xdc ./target.xdc #Synthesize Design

synth_design -top top -part xc7k325tffg900-2

#Create the debug core create_debug_core u_ila_0 ila

#set debug core propertiesset_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0]set_property C_TRIGIN_EN false [get_debug_cores u_ila_0]set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0]set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0]set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0]set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] #connect the probe ports in the debug core to the signals being probed in the designset_property port_width 1 [get_debug_ports u_ila_0/clk]connect_debug_port u_ila_0/clk [get_nets [list clk ]]set_property port_width 1 [get_debug_ports u_ila_0/probe0]connect_debug_port u_ila_0/probe0 [get_nets [list A_or_B]]create_debug_port u_ila_0 probe#Optionally, create more probe ports, set their width, # and connect them to the nets you want to debug

#Implement design

opt_design place_design report_drc -file ./placed_drc_rpt.txtreport_timing_summary -file ./placed_timing_rpt.txt

route_design report_drc -file ./routed_drc_rpt.txtreport_timing_summary -file ./routed_timing_rpt.txt

write_bitstream

Vivado プログラムおよびデバッグ 96UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 97: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

HDL インスタンシエーシ ョ ン デバッグ プローブ フローの概要

HDL インスタンシエーシ ョ ン プローブ フローでは、 HDL デザイン ソースで直接デバッグ コア コンポーネン ト をカスタマイズ、 インスタンシエート、 および接続します。 表 9-3 に、 このフローでサポート される新しいデバッグ コアを示します。

新しい ILA コアをレガシ ILA v1.x コアと比較した場合の利点

• Vivado ロジッ ク解析で機能します。 詳細は、 第 10 章 「ハード ウェアでのロジッ ク デザインのデバッグ」 を参照してください。

• ICON コアの挿入および接続は必要あ り ません。

HDL インスタンシエーシ ョ ン デバッグ プローブ フロー

HDL インスタンシエーシ ョ ン フローの手順は、 次のとおりです。

1. プローブする信号用に、適切な数のプローブ ポート を含む ILA および VIO デバッグ コアをカスタマイズして生成します。

2. (オプシ ョ ン) JTAG-to-AXI Master デバッグ コアをカスタマイズおよび生成して、 デザインの AXI ペリ フェラルまたはインターコネク ト コアの AXI スレーブ インターフェイスに接続します。

3. デバッグ コアを含むデザインを合成します。

4. (オプシ ョ ン) デバッグ ハブ コアのプロパティを変更します。

5. デバッグ コアを含むデザインをインプリ メン ト します。

表 9-3 : HDL インスタンシエーシ ョ ン プローブ フローで使用可能な Vivado IP カタログに含まれるデバッグ コア

デバッグ コア バージ ョ ン 説明 ランタイム解析ツール

ILA (Integrated Logic Analyzer)

v6.1 ハードウェア イベン ト を ト リガーし、データをシステム速度でキャプチャするために使用するデバッグ コア。

Vivado ロジッ ク解析

VIO (Virtual Input/Output) v3.0 デザインの信号を JTAG チェーン スキャン レートで監視または制御するために使用するデバッグ コア。

Vivado ロジッ ク解析

JTAG-to-AXI Master v1.1 ハードウェアで動作中のさまざまな AXI フルおよび AXI Lite スレーブ コアと通信する AXI ト ランザクシ ョ ンを生成するために使用されるデバッグ コア。

Vivado ロジッ ク解析

Vivado プログラムおよびデバッグ 97UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 98: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ コアのカスタマイズおよび生成

Flow Navigator で [Project Manager] → [IP Catalog] をク リ ッ ク し、 必要なデバッグ コアを選択してカスタマイズします。デバッグ コアは、 IP カタログの [Debug & Verification] → [Debug] カテゴ リにあ り ます (図 9-10)。デバッグ コアをカスタマイズするには、 IP コアをダブルク リ ッ クするか、 右ク リ ッ ク して [Customize IP] をク リ ッ ク します。

• ILA コアのカスタマイズについては、 『Integrated Logic Analyzer v6.1 LogiCORE IP 製品ガイ ド』 (PG172) [参照 20] を参照してください。

• VIO コアのカスタマイズについては、 『Virtual Input/Output v3.0 LogiCORE IP 製品ガイ ド』 (PG159) [参照 16] を参照してください。

• JTAG-to-AXI Master コアのカスタマイズについては、 『JTAG to AXI Master v1.1 LogiCORE IP 製品ガイ ド』 (PG174) [参照 21] を参照してください。

コアをカスタマイズしたら、 [Generate] ボタンをク リ ッ ク します。 カスタマイズされたデバッグ コアが生成され、[Sources] ウ ィンド ウに追加されます。

X-Ref Target - Figure 9-10

図 9-10 : IP カタログのデバッグ コア

Vivado プログラムおよびデバッグ 98UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 99: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

使用するコンパレータの数の設定

ILA IP をカスタマイズする際に、 使用するコンパレータの数を設定できます。 有効な値は 1 ~ 16 です。 ILA IP のすべてのプローブに対する共通のコンパレータ数を設定するこ とが可能です。

X-Ref Target - Figure 9-11

図 9-11 : ILA IP のコンパレータ数の設定

Vivado プログラムおよびデバッグ 99UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 100: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

次に示すよ うに各 IP に対してコンパレータを設定できます。 1 つの ILA 内に異なる幅の複数のプローブを含めることができます。 これには、 [General Options] タブで [Same Number of Comparators for All Probe Ports] をオフにします。

X-Ref Target - Figure 9-12X-Ref Target - Figure 9-13

図 9-13 : [Same Number of Comparators for All Ports] オプシ ョ ン

Vivado プログラムおよびデバッグ 100UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 101: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

その後、 [Probe_Ports] タブで各プローブの [Number of Comparators] フ ィールドに使用するコンパレータ数を入力します。

ヒン ト : [Capture Control] がオンの場合は、 使用可能なコンパレータの数は 1 ~ 15 です。 1 つのコンパレータは、キャプチャ制御データ フ ィルター メカニズムによ り使用されます。

ヒン ト : 選択したコンパレータ数によって、 ILA IP で使用可能なプローブ数が自動的に再算出されます。 ILA ごとに使用可能なコンパレータの 大数は 1024 です。

X-Ref Target - Figure 9-14

図 9-14 : 各プローブのコンパレータ数の設定

Vivado プログラムおよびデバッグ 101UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 102: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

プローブをデータまたはト リガーとして使用

プローブは、 ILA IP の [Customize IP] ダイアログ ボッ クスでデータ、 ト リ ガー、 またはその両方と してコンフ ィギュレーシ ョ ンできます (図 9-15)。

ト リガーまたは比較値をキャプチャするプローブは、 ト リガーのみのプローブと してコンフ ィギュレーシ ョ ンされます。 これによ り、 ILA コアでの ブロ ッ ク RAMの使用が 適化されます。 通常、 プローブのデータをキャプチャする必要がある場合、 そのプローブはデータのみのプローブと してコンフ ィギュレーシ ョ ンされます。 プローブが比較値のト リガーに使用され、 またそのデータをキャプチャする必要がある場合は、 プローブを ト リガーおよびデータ と してコンフ ィギュレーシ ョ ンする必要があ り ます。

X-Ref Target - Figure 9-15

図 9-15 : プローブを ト リガーおよびデータの両方としてコンフ ィギュレーシ ョ ン

Vivado プログラムおよびデバッグ 102UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 103: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

ILA クロス ト リガー

ILA ク ロス ト リ ガー機能は、ILA コア間および ILA コアとプロセッサ (Zynq®-7000 AP SoC または MicroBlaze™ など)間のクロス ト リ ガーを可能にします。 この機能は、 異なるクロ ッ ク ド メ インにある 2 つの ILA コアを ト リガーする場合や、 プロセッサと ILA コアの間でハードウェア/ソフ ト ウェア ク ロス ト リ ガーを実行する場合に有益です。

クロス ト リ ガー機能を使用するには、 コア生成時に、 ILA コアに専用ト リガー入力ポート (TRIG_IN および TRIG_IN_ACK) と専用ト リガー出力ポート (TRIG_OUT および TRIG_OUT_ACK) を設定する必要があ り ます。ILA トリ ガー入力または出力信号を使用する場合は、 HDL インスタンシエーシ ョ ン方法を使用して ILA をデザインに追加する必要があ り ます。

TRIG_OUT_ACK 信号は、 TRIG_OUT が正し く受信されたこ とを ILA コア (別の ILA、 ユーザー デザイン、 またはプロセッサ) に通知し、 個の信号が受信される と ILA の TRIG_OUT 信号が Low になり ます。

TRIG_OUT は、 TRIG_OUT_ACK が受信されるまで High に保持されます。 TRIG_OUT_ACK 信号を Low に接続した場合は、 TRIG_OUT はユーザーが ILA を ト リガー待機状態にするまで High に保持され、 ILA がト リガー待機状態になる と Low になり ます。 TRIG_OUT_ACK が Low に接続されている場合、 ユーザーが ILA を ト リガー待機状態にできます。

次の図に、 ILA2 が ILA1 にクロス ト リ ガーされる一般的なクロス ト リ ガー セッ ト アップを示します。 ILA2 の TRIG_OUT 信号は、 ILA1 の TRIG_IN 信号に接続されます。 ILA1 の TRIG_IN_ACK 信号は、 ILA2 の TRIG_OUT_ACK 信号に接続されます。

(ILA 2) trig_out -> (ILA 1) trig_in (ILA 1) trig_in_ack -> (ILA 2) trig_out_ack

X-Ref Target - Figure 9-16

図 9-16 : ILA クロス ト リガー機能

Vivado プログラムおよびデバッグ 103UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 104: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

• trig_in ポート を駆動するロジッ クは、 ILA の clk に同期する と想定しています。

• trig_in がアサート されてから trig_in_ack 信号がアサート されるまでに 1 clk サイクルかかり ます。

• trig_in がアサート されて ト リガー条件が満たされから trig_out 信号がアサート されるまでに 9 clk サイクルかかり ます。

• trig_in_ack および trig_out_ack 信号は、 ト リガー信号がディアサート される と Low になり ます。

FPGA ファブリ ッ ク と Zynq-7000 AP SoC プロセッサの間でクロス ト リ ガー機能を使用した詳細なチュート リ アルは、『Vivado Design Suite チュート リ アル : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940) [参照 14] を参照してください。

X-Ref Target - Figure 9-17

図 9-17 : 一般的なクロス ト リガー セッ トアップ

X-Ref Target - Figure 9-18

図 9-18 : ILA クロス ト リガーのタイ ミング

Vivado プログラムおよびデバッグ 104UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 105: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ コアのインスタンシエーシ ョ ン

デバッグ コアを生成したら、 HDL ソースにインスタンシエート し、 デバッグ用にプローブする信号に接続します。次に、 Verilog HDL ソース ファ イルの ILA インスタンスの例を示します。

u_ila_0 ( .clk(clk), .probe0(counterA), .probe1(counterB), .probe2(counterC), .probe3(counterD), .probe4(A_or_B), .probe5(B_or_C), .probe6(C_or_D), .probe7(D_or_A));

注記 : 新しい ILA コア インスタンスでは、 レガシ VIO および ILA v1.x コアとは異なり、 ICON コア インスタンスへの接続は必要あ り ません。 その代わりに デバッグ コア ハブ デバッグ (dbg_hub) が合成済みデザイン ネッ ト リ ス トに自動的に挿入され、 新しい ILA コアと JTAG スキャン チェーンが接続されます。

デバッグ コアを含むデザインの合成

次に、 Vivado Design Suite で [Run Synthesis] をク リ ッ クするか、 次の Tcl コマンドを使用して、 デバッグ コアを含むデザインを合成します。

launch_runs synth_1wait_on_run synth_1

synth_design Tcl コマンドを使用してデザインを合成するこ と もできます。 デザインのさまざまな合成方法は、『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] を参照してください。

Vivado プログラムおよびデバッグ 105UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 106: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

合成済みデザインでのデバッグ コアの表示

デザインを合成したら、 合成済みデザインを開いてデバッグ コアを表示し、 プロパティを変更できます。 Flow Navigator で [Open Synthesized Design] をク リ ッ ク して合成済みデザインを開き、 [Debug] レイアウ ト を選択して、[Debug] ウ ィンド ウでデバッグ ハブ コア (dbg_hub) に接続された ILA デバッグ コアを確認します (図 9-19)。

デバッグ コア ハブの BSCAN ユーザー スキャン チェーンの変更

デバッグ ハブ コアの BSCAN ユーザー スキャン チェーン インデッ クスを表示および変更するには、 [Debug] ウ ィンド ウで dbg_hub を選択し、 [Instance Properties] ウ ィンド ウで [Debug Core Options] ビューをク リ ッ ク して、[C_USER_SCAN_CHAIN] の値を変更します (図 9-20)。

重要 : デバッグ ハブ コアの C_USER_SCAN_CHAIN のデフォルト値は、 1 か 3 です。 デバッグ ハブ コアに 1 または 3 以外のスキャン チェーン値を使用する場合は、 デバイスで手動で変更する必要があ り ます。 現在のデバイスで設定を変更するには、 次のコマンドを使用します。hw_server -e "set xsdb-user-bscan <C_USER_SCAN_CHAIN scan_chain_number>"

重要 : マイ クロプロセッサ デバッグ モジュール (MDM) または BSCAN プリ ミ ティブを Vivado ロジッ ク デバッグ コアと共に使用するその他の IP を使用する場合は、 dbg_hub の C_USER_SCAN_CHAIN プロパティをほかの IP のバウンダ リ スキャン チェーン設定と競合しない値に設定しておかないと、 インプリ メンテーシ ョ ン フローでエラーが発生します。

X-Ref Target - Figure 9-19

図 9-19 : ILA コアとデバッグ ハブ コアを示す [Debug] ウィンドウ

Vivado プログラムおよびデバッグ 106UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 107: Vivado Design Suite - Xilinx

第 9 章 : インシステム ロジック デザインのデバッグ フロー

デバッグ コアを含むデザインのインプリ メンテーション

Vivado ツールでは、 デバッグ ハブ コアは、 初ブラ ッ クボッ クス と して作成されます。 このコアは、 配置配線を実行する前にインプ リ メン ト しておく必要があ り ます。

デザインのインプリ メンテーシ ョ ン

デバッグ コアを含むデザインをインプリ メン トするには、 Vivado Design Suite で [Run Implementation] をク リ ッ クするか、 次の Tcl コマンドを使用します。

launch_runs impl_1wait_on_run impl_1

インプ リ メンテーシ ョ ン コマンド opt_design、 place_design、 および route_design を使用して、 デザインをインプリ メン トするこ と も可能です。 デザインのさまざまなインプリ メンテーシ ョ ン方法は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 4] を参照してください。

X-Ref Target - Figure 9-20

図 9-20 : デバッグ ハブ コアのユーザー スキャン チェーン プロパテ ィの変更

Vivado プログラムおよびデバッグ 107UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 108: Vivado Design Suite - Xilinx

第 10 章

ハードウェアでのロジック デザインのデバッグ

デザインにデバッグ コアを追加したら、 ランタイム ロジッ ク解析機能を使用して、 ハード ウェア上でデザインをデバッグできます。

Vivado ロジック解析を使用したデザインのデバッグ

Vivado® ロジッ ク解析機能は、 デザインに含まれる新しい ILA、 VIO、 および JTAG-to-AXI Master デバッグ コアにアクセスするために使用します。 Vivado ロジッ ク解析機能を使用するには、 Flow Navigator で [Program and Debug] → [Open Hardware Manager] をク リ ッ ク します。

ILA デバッグ コアを使用したハード ウェアでのデザインのデバッグ手順は、 次のとおりです。

1. ハードウェア ターゲッ トに接続し、 FPGA デバイスを .bit ファ イルでプログラムします。

2. ILA デバッグ コアの ト リガーおよびキャプチャ条件を設定します。

3. ILA デバッグ コアを ト リガー待機状態にします。

4. 波形ビューアーで ILA デバッグ コアからのデータを表示します。

5. VIO デバッグ コアを使用して制御信号を駆動し、 デザインのステータス信号を確認します。

6. JTAG-to-AXI Master デバッグ コアを使用して、 デザイン内のさまざまな AXI スレーブ コアにアクセスする ト ランザクシ ョ ンを実行します。

ハードウェア ターゲッ トに接続して FPGA デバイスをプログラム

デバッグの前に FPGA デバイスをプログラムする手順は、 「FPGA デバイスのプログラム」 で説明されている手順と同じです。 新しい ILA、 VIO、 および JTAG-to-AXI Master デバッグ コアを含む .bit ファ イルでデバイスをプログラムする と、 [Hardware] ウ ィンド ウにデバイスのスキャンで検出されたデバッグ コアが表示されます (図 10-1)。

Vivado プログラムおよびデバッグ 108UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 109: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA コアの使用に関する詳細は、 「計測のための ILA コアの設定」 を参照して ください。 VIO コアの使用に関する詳細は、 「計測のための VIO コアの設定」 を参照してください。

重要 : JTAG ク ロ ッ クがデバッグ コアのクロ ッ ク入力よ り も低速であるこ とを確認してください。 JTAG ク ロ ッ ク周波数を変更するには、 Open New Hardware Target ウ ィザードまたは次の Tcl コマンドを使用します。set_property PARAM.FREQUENCY 250000 [get_hw_targets */xilinx_tcf/Digilent/210203327962A]

Vivado ハードウェア マネージャーのダッシュボード Vivado ハードウェア マネージャーのダッシュボードを使用する と、 システム モニター、 ILA、 VIO デバッグ コアのさまざまなウ ィンド ウを管理しやすくな り ます。 ダッシュボードを使用して、 Vivado Design Suite プロジェク トのこれらのウ ィンド ウの設定を作成、 変更、 保存するこ とができます。

デフォルトのダッシュボード

ハードウェア デバイスを更新したと きにデバッグ コアが検出される と、 各デバッグ コアに対してデフォルトのダッシュボードが自動的に開きます。

X-Ref Target - Figure 10-1

図 10-1 : デバッグ コアが表示された [Hardware] ウィンドウ

Vivado プログラムおよびデバッグ 109UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 110: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

デフォルトのダッシュボード ウィンドウ

デフォルト ダッシュボードには、 該当するデバッグ コアに関連するウ ィンド ウが含まれます。 ILA デバッグ コアに対して作成されたデフォルトのダッシュボードには、 次の 5 つのウ ィンド ウが含まれています。

• [Settings] ウ ィンド ウ

• [Status] ウ ィンド ウ

• [Trigger Setup] ウ ィンド ウ

• [Capture Setup] ウ ィンド ウ

• [Waveform] ウ ィンド ウ

次の図に、 デフォルトの ILA ダッシュボードの例を示します。 X-Ref Target - Figure 10-2

図 10-2 : デフォルトの ILA ダッシュボード

Vivado プログラムおよびデバッグ 110UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 111: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

まず、 [Trigger Setup] ウ ィンド ウの中央にある緑色の + 記号をク リ ッ ク し、 [Add Probes] ウ ィンド ウでプローブを選択して追加します (図 10-3)。

VIO のデフォルト ダッシュボードは 初は空白ですが、 図 10-4 に示すよ うに、 VIO プローブを追加できます。

X-Ref Target - Figure 10-3

図 10-3 : [Add Probes] ウィンドウ

X-Ref Target - Figure 10-4

図 10-4 : VIO プローブの追加

Vivado プログラムおよびデバッグ 111UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 112: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

デバッグ コアに関連付けられているダッシュボードを表示するには、 [Hardware] ウ ィンド ウでデバッグ コア オブジェク ト を右ク リ ッ ク し、 [Dashuboard] をク リ ッ ク してダッシュボード名を選択します。 [Hardware] ウ ィンド ウでデバッグ コアをダブルク リ ッ クする と、 そのコアに関連付けられているダッシュボードが開きます。

ダッシュボード内のウィンドウ制御

各ウ ィンド ウのタイ トル バーには、 ウ ィンド ウを操作できるボタンが含まれます。

• 小化

• 大化

• 閉じる

ウィンドウの移動

ウ ィンド ウを移動するには、 次の手順に従います。

1. ウ ィンド ウのタブまたはタイ トル バーを選択し、 ド ラ ッグします。 グレーのアウ ト ラインでウ ィンド ウがどこに移動されるかが示されます。

2. マウス ボタンを放してウ ィンド ウを配置します。

注記 : 既存のウ ィンド ウの上に別のウ ィンドウをド ロ ップする と、同じ場所に 2 つのウ ィンドウ タブが表示されます。

重要 : ウ ィンド ウをワークスペース外に移動するこ とはできませんが、 ワークスペース内でサイズを変更したり、 移動したりするこ とはできます。

X-Ref Target - Figure 10-5

図 10-5 : 関連付けられているダッシュボード

Vivado プログラムおよびデバッグ 112UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 113: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ウィンドウのサイズ変更

• ウ ィンド ウのサイズを変更するには、 ウ ィンド ウの枠をク リ ッ ク してド ラ ッグします。

注記 : ウ ィンド ウの枠にカーソル置く と、 カーソルが矢印から ド ラ ッグ用マークに変わるので、 ド ラ ッグしてサイズを変更します。

• ウ ィンド ウを 大化するには、 右上の [Maximize] ボタンをク リ ッ ク します。

• ウ ィンド ウを元のサイズに戻すには、 ウ ィンド ウのタイ トル バーまたはタブをダブルク リ ッ ク します。

ウィンドウを閉じる

• ウ ィンド ウを閉じるには、 ウ ィンド ウ右上の [Close] ボタンをク リ ッ ク します。

注記 : このボタンがウ ィンド ウ タブに表示されるこ と もあ り ます。

• ウ ィンド ウのタブまたはタイ トル バーを右ク リ ッ ク し、 [Close] をク リ ッ ク します。

ウィンドウ タブ

各ウ ィンド ウにはタブがあ り、 タブをク リ ッ クする とそのタブがアクティブになり ます。 [Trigger Setup] ウ ィンド ウや [Capture Setup] ウ ィンド ウなどのウ ィンド ウでは、 タブは下に表示されます。

ヒン ト : 次のタブを選択するには、 Ctrl + Tab キーを押します。 前のタブを選択するには、 Ctrl + Shift + Tab キーを押します。 ウ ィンド ウを 大化または 小化するには、 ウ ィンド ウのタブをダブルク リ ッ ク します。

ダッシュボードのカスタマイズ

デザインをデバッグした り、 結果を表示するのには、 通常デフォルト ダッシュボードのウ ィンド ウで十分ですが、ウ ィンド ウを移動するなどダッシュボードをカスタマイズしたい場合があ り ます。 たとえば、 ILA のステータス と [Waveform] ウ ィンド ウの両方を表示しつつ、 同じダッシュボードで VIO プローブを制御する場合などです。 このような場合、 必要に応じてダッシュボードをカスタマイズするこ とをお勧めします。

Vivado プログラムおよびデバッグ 113UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 114: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ダッシュボードのオプシ ョ ン

各ダッシュボードの左側には、 ダッシュボード オプシ ョ ンを表示する [Dashboard Options] スライ ドアウ トがあ り ます。 ダッシュボード左側の [>>] ボタンをク リ ッ クする と、 この [Dashboard Options] スライ ドアウ トが開きます。[Dashboard Options] では、 特定ダッシュボードに表示されるウ ィンド ウを制御できます。 たとえば、 ILA ダッシュボードに VIO ウ ィンド ウの 1 つを含めるよ う カスタマイズする と します。 [Dashboard Options] で含める VIO ウ ィンド ウをク リ ッ クする と、 ILA ダッシュボードに表示されるよ うになり ます。 これで VIO プローブを追加して、 ILA ウ ィンド ウを ト リガーできます。

ダッシュボードの左側の [Dashboard Options] をク リ ッ クする と、 [Dashboard Options] スライ ドアウ ト を開いたり閉じた りできます。

X-Ref Target - Figure 10-6

図 10-6 : ダッシュボード オプシ ョ ンの追加

Vivado プログラムおよびデバッグ 114UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 115: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

新規ダッシュボードの作成

[Dashboard Options] を使用してデフォルトのダッシュボードをカスタマイズするだけでなく、 新しいダッシュボードを作成するこ と もできます。 新規ダッシュボードを作成するには、 図 10-7 に示すよ うに、 [Hardware] ウ ィンド ウでデバッグ コア オブジェク ト を右ク リ ッ ク し、 [Dashboard] → [New Dashboard] をク リ ッ ク します。

X-Ref Target - Figure 10-7

図 10-7 : 新規ダッシュボードの作成

Vivado プログラムおよびデバッグ 115UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 116: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[New Dashboard] ダイアログ ボッ クスが表示されたら、 必要に応じてダッシュボードをカスタマイズし、 [OK] をクリ ッ ク します。

新しいダッシュボードは、 次の図に示すよ うに、 ツールバーの [Dashboard] ボタンをク リ ッ ク して作成するこ と もできます。

ヒン ト : デバッグ コアに関連付けられているダッシュボードをすべて表示するには、 [Hardware] ウ ィンド ウでデバッグ コアを右ク リ ッ ク し、 [Dashboard] をク リ ッ ク します。 または、 [Hardware] ウ ィンド ウでデバッグ コアをダブルクリ ッ クする と、 そのコアに関連付けられているダッシュボードのリ ス トが開きます。

X-Ref Target - Figure 10-8

図 10-8 : [New Dashboard] ダイアログ ボックス

X-Ref Target - Figure 10-9

図 10-9 : ツールバーの [Dashboard] ボタン

Vivado プログラムおよびデバッグ 116UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 117: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ヒン ト : ダッシュボードの 1 つのウ ィンド ウをフロート させる場合は、 そのウ ィンド ウだけのダッシュボードを作成して、 そのダッシュボードをフロート させるこ とをお勧めします。

ダッシュボードでの ILA の [Waveform] ウィンドウ

ILA の [Waveform] ウ ィンド ウは、 1 つのダッシュボードに 1 つしか表示できません。 別のダッシュボードにある [Waveform] ウ ィンド ウをク リ ッ クする と、 ウ ィンド ウを移動させるかど うかを確認する メ ッセージが表示されます (図 10-10)。

[OK] をク リ ッ クする と、 [Waveform] ウ ィンド ウは指定のダッシュボードに移動します。

ヒン ト : [Waveform] ウ ィンド ウを閉じる際は、 ILA データを保存してください。

システム モニターのダッシュボード

XADC/システム モニターのウ ィンド ウを別のダッシュボードに含めたり、 それ自体のダッシュボードを作成すること もできます。

X-Ref Target - Figure 10-10

図 10-10 : ILA の [Waveform] ウィンドウの移動を確認するメ ッセージ

X-Ref Target - Figure 10-11

図 10-11 : システム モニターのダッシュボード

Vivado プログラムおよびデバッグ 117UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 118: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

デフォルト ダッシュボードへのリセッ ト

ダッシュボードは、 ツールバーの [Dashboard] をク リ ッ ク して [Reset to Default] をク リ ッ クするこ とによ り、 デフォルトの状態にリセッ トできます。

ダッシュボードを閉じる

ツールバーの [Dashboard] をク リ ッ ク し、 [Close All] をク リ ッ クする と、 開いているダッシュボードをすべて閉じるこ とができます。 ダッシュボードはすべて削除され、 これらのダッシュボードのユーザー設定も削除されます。

1 つのダッシュボードのみを閉じるには、 ウ ィンド ウの右上にある [X] をク リ ッ ク します。 ダッシュボード とそのユーザー設定がすべて削除されます。

ユーザー ダッシュボード設定の保存

ユーザー ダッシュボード設定は、 Vivado IDE で自動的に保存されます。 プロジェク ト を閉じて再び開く と、 ハードウェア マネージャーにユーザー設定が復元されます。

計測のための ILA コアの設定

デザインに追加した ILA コアは、 [Hardware] ウ ィンド ウのターゲッ ト デバイスの下に表示されます。 ILA コアが表示されていない場合は、 デバイスを右ク リ ッ ク して [Refresh Device] をク リ ッ ク します。 FPGA デバイスが再度スキャンされ、 [Hardware] ウ ィンド ウの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても ILA コアが表示されない場合は、 デバイスが正しい .bit ファイルでプログラムされているか、 インプリ メン ト済みデザインに ILA コアが含まれているかを確認して ください。また、 .bit ファ イルに対応する適切な .ltx プローブ ファ イルがデバイスに関連付けられているかど うかを確認してください。

X-Ref Target - Figure 10-12

図 10-12 : デフォルト ダッシュボードへのリセッ ト

Vivado プログラムおよびデバッグ 118UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 119: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA コア (図 10-1 では hw_ila_1) を選択する と、 [ILA Core Properties] ウ ィンド ウにプロパティが表示されます。 ILA コアに対応するプローブをすべて表示するには、 [Windows] → [Debug Probes] をク リ ッ ク します。 これで 図 10-13 に示すよ うに [Debug Probes] ウ ィンド ウが表示されます。

プローブの追加

ILA ダッシュボードの特定のウ ィンド ウに関連プローブを追加するには、 ウ ィンド ウのツールバーまたはワークスペースの緑色の [+] をク リ ッ ク します。

デバッグ プローブ情報の書き込み

[Debug Probes] ウ ィンド ウには、 ILA および VIO コアを使用してプローブされるデザインのネッ トに関する情報が表示されます。 このデバッグ プローブ情報はデザインから抽出され、 通常 .ltx という拡張子のデータ ファ イルに保存されます。

デバッグ プローブ ファ イルは、 インプ リ メンテーシ ョ ン プロセス中に自動的に作成されますが、write_debug_probes Tcl コマンドを使用してデバッグ プローブ情報をファイルに書き出すこ と もできます。

1. 合成済みデザインまたはネッ ト リ ス ト デザインを開きます。

2. write_debug_probes filename.ltx Tcl コマンドを実行します。

重要 : 非プロジェク ト モードを使用している場合は、 opt_design コマンドのすぐ後に write_debug_probes コマンドを手動で実行する必要があ り ます。

X-Ref Target - Figure 10-13

図 10-13 : さまざまなウィンドウでの ILA コアの選択

Vivado プログラムおよびデバッグ 119UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 120: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

デバッグ プローブ情報の読み出し

デバッグ プローブ ファ イルは、 Vivado IDE がプロジェク ト モードで、 debug_nets.ltx というプローブ ファ イルがデバイスに関連付けられているビッ ト ス ト リーム プログラム ファ イル (.bit) と同じディ レク ト リにある場合、自動的にハードウェア デバイスに関連付けられます。

プローブ ファ イルの場所を指定するには、 次の手順に従います。

1. [Hardware] ウ ィンド ウでハード ウェア デバイスを選択します。

2. [Hardware Device Properties] ウ ィンド ウでプローブ ファ イルの場所を設定します。

3. [Hardware] ウ ィンド ウでハード ウェア デバイスを右ク リ ッ ク して [Refresh Device] をク リ ッ ク し、 デバッグ プローブ ファイルの内容を読み出し、 ハード ウェア デバイスで実行されるデザイン内のデバッグ コアとその情報を関連付けて検証します。

次の Tcl コマンドを使用してディ レク ト リ を設定し、 C:\myprobes.ltx というデバッグ プローブ ファ イルをターゲッ ト ボードの 初のデバイスに関連付けるこ と もできます。

% set_property PROBES.FILE {C:/myprobes.ltx} [lindex [get_hw_devices] 0]% refresh_hw_device [lindex [get_hw_devices] 0]

デバッグ プローブ名の変更

[Debug Probes] ウ ィンド ウで、 ILA または VIO コアのデバッグ プローブ名を変更できます。 デバッグ プローブは、コアの既存の波形ビューアーに追加するか、 ILA ダッシュボードのさまざまな ト リガーおよびキャプチャ ウ ィンドウに追加できます。 これらの名前は、 デバッグ プローブに関連付けられたカスタム、 ロング、 シ ョートのいずれかの形式にできます。

これを実行するには、 ILA/VIO コアのデバッグ プローブを右ク リ ッ ク し、 次のいずれかをク リ ッ ク します。

• [Rename] : プローブ名を変更します。

• [Name] : デバッグ プローブ名をロング、 シ ョート、 カスタムのいずれかの形式にします。 Vivado IDE のウ ィンド ウでは、 デバッグ プローブがこ こで選択した名前で表示されます。

° [Long] : プローブする信号またはバスの完全な階層名を表示します。

° [Short] : プローブする信号またはバスの名前を表示します。

° [Custom] : 信号またはバスの名前を変更したと きに付けられたカスタム名を表示します。

Vivado プログラムおよびデバッグ 120UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 121: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

複数のコンパレータの使用

プローブまたは ILA デバッグ コアをカスタマイズして BASIC/ADVANCED モードで複数のコンパレータを使用する場合は、これらのコンパレータを [Basic Trigger Setup] ウ ィンド ウおよび [Advanced Trigger Setup] ウ ィンド ウで使用できます。

[Basic Trigger Setup] ウ ィンド ウにプローブを追加して、 ト リガー条件を設定できます。 [Trigger Setup] ウ ィンド ウの [Comparetor Usage] 列に、 プローブに関連付けられているコンパレータの総数のうち、 どのコンパレータが特定の比較条件に使用さるかが示されます。

X-Ref Target - Figure 10-14

図 10-14 : [Trigger Setup] ウィンドウ : [Comparator Usage] 列

Vivado プログラムおよびデバッグ 121UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 122: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA デフォルト ダッシュボードの使用

ILA ダッシュボード (図 10-15) には、 ILA コアに関するすべてのステータスおよび制御情報が表示されます。 ハードウェア デバイスの更新によ り ILA コアが 初に検出される と、 ILA デフォルト ダッシュボードが自動的に開きます。 ダッシュボードを手動で開いたり、 開き直したりする必要がある場合は、 [Hardware] ウ ィンド ウで ILA コア オブジェク ト を右ク リ ッ ク し、 [Default Dashboard] をク リ ッ ク します。

ILA ダッシュボードから、 ILA デバッグ コアを次のよ うに操作できます。

• ト リ ガー モード ([Trigger mode]) を設定して、 ト リガーするハード ウェアのイベン ト を指定します。

° [BASIC_ONLY] : デバッグ プローブ比較結果の基本的な AND/OR 機能が満たされたと きに ILA コアを ト リガーします。

° [ADVANCED_ONLY] : ILA コアをユーザー定義のステート マシンで指定したよ うに ト リガーします。

° [TRIG_IN_ONLY] : ILA コアの TRIG_IN ピンが Low から High に遷移したときに ILA コアを ト リガーします。

° [BASIC_OR_TRIG_IN] : ILA コアの TRIG_IN ピンと BASIC_ONLY ト リ ガー モードの論理 OR の結果によ り ILA コアを ト リガーします。

° [ADVANCED_OR_TRIG_IN] : ILA コアの TRIG_IN ピンと ADVANCED_ONLY ト リ ガー モードの論理 OR の結果によ り ILA コアを ト リガーします。

• ト リ ガー出力モード ([TRIG_OUT mode]) を設定します。

• キャプチャ モード ([Capture mode]) を [ALWAYS] または [BASIC] に設定して、キャプチャされるデータをフ ィルター処理します。

• ILA キャプチャ ウ ィンド ウ ([Number of windows]) の数を設定します。

• ILA キャプチャ ウ ィンド ウのデータの深さ ([Window data depth]) を設定します。

• ト リ ガー位置 ([Trigger position in window]) をキャプチャ ウ ィンド ウ内のサンプルに設定します。

• ILA デバッグ コアの ト リガーおよびキャプチャ ステータスを監視します。

X-Ref Target - Figure 10-15

図 10-15 : ILA ダッシュボード

Vivado プログラムおよびデバッグ 122UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 123: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ユーザー定義のデバッグ プローブ

ハードウェア マネージャーでユーザー定義のデバッグ プローブ (hw_probe と も呼ばれる ) を使用する と、 物理的な ILA プローブ ポート と定数値を組み合わせてプローブを作成できます。ハード ウェア マネージャーの [Trigger Setup] または [Waveform] ウ ィンド ウでこれらのプローブを使用できます。 これらのプローブが正し く作成される と、 関連付けられたデバッグ コアの一部と して [Debug Probes] ウ ィンド ウにリ ス ト されます。

次のタイプのユーザー定義プローブを作成できます。

• ILA プローブ ポート。

• 複数の定数値 (0 または 1)。

• ILA プローブ ポート と定数値の組み合わせ。

重要 : 定数値を含むユーザー定義プローブは、 [Waveform] ウ ィンド ウでのみ使用可能です。 [Trigger Setup] ウ ィンドウでは使用できません。

ヒン ト : ユーザー定義プローブは、 ILA デバッグ コアにのみ作成可能です。 VIO コアのユーザー定義デバッグ プローブの作成はサポート されていません。

ユーザー定義のデバッグ プローブの作成

ユーザー定義のデバッグ プローブを作成するには、 create_hw_probe Tcl コマンドを使用します。

create_hw_probe [-verbose] [-map <arg>] <name> <core>

説明 :

• <name> : hw_probe の名前を指定します。 同じデバイスのプローブ間で固有の名前を指定する必要があ り ます。 バス プローブは、 myNewProbe[31:0] のよ うに範囲も指定する必要があ り ます。

• <core> : プローブを関連付ける hw_ila を指定します。

• -map : ユーザー定義プローブの基になるビッ ト を宣言します。

次に、 ユーザー定義デバッグ プローブの作成例を示します。

# Given a 512-bit counter "counterA[511:0]": Connects [255:223] to # ILA probe port 0 [31:0]# Create a user-defined probe called foobar pointing at the # ILA buffer specified range [255:223] create_hw_probe -map {probe0[31:0]} {foobar [255:223]} [get_hw_ilas hw_ila_1] # Constant only probe. NO triggering allowed on constant ONLY probes. create_hw_probe -map {0} {my_constant_gnd[0:0]} [get_hw_ilas hw_ila_1] # Create a user-defined probe as a mix of constants and ILA probe ports create_hw_probe -map {0000 probe0[31:0] 1010} {my_mixed_probe[47:8]} [get_hw_ilas hw_ila_1] # Creating scalar hw_probe called "foobar" from probe1:create_hw_probe -map {probe1} foobar [get_hw_ilas hw_ila_1]# Creating scalar hw_probe called "foobar" from bit 3 of probe0:create_hw_probe -map {probe0[3]} foobar [get_hw_ilas hw_ila_1]# Creating vector hw_probe called "foobar[0:0]" from probe1:create_hw_probe -map {probe1} foobar[0:0] [get_hw_ilas hw_ila_1]# Creating vector probe called "foobar[3:0]" from probe0:create_hw_probe -map {probe0} foobar[3:0] [get_hw_ilas hw_ila_1]# Creating vector probe called "foobar[3:2]" from probe0[1:0]:create_hw_probe -map {probe0[1:0]} foobar[3:2] [get_hw_ilas hw_ila_1]

Vivado プログラムおよびデバッグ 123UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 124: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ユーザー定義のデバッグ プローブの削除

ユーザー定義デバッグ プローブを削除するには、 delete_hw_probe Tcl コマンドを使用します。

たとえば、 先ほどの例で create_hw_probe コマンドを使用して作成した foobar というプローブを削除するには、 次のコマンドを使用します。

delete_hw_probe [get_hw_probes foobar -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"i_fast_ila"}]]

ユーザー定義のデバッグ プローブの保持

プロジェク ト フローでハードウェア マネージャーを使用して作成されたユーザー定義プローブは、 ツールによ り自動的に保持されます。 次回プロジェク ト を開いて Vivado ハードウェア マネージャーを使用してハード ウェア ターゲッ トに接続する と、 ユーザー定義プローブが復元されます。 これらのユーザー定義デバッグ プローブが BASIC トリ ガー モードで使用されている場合や [Waveform] ウ ィンド ウに追加されている場合は、 プロジェク ト を開いてハード ウェア マネージャーを使用してターゲッ トに接続したと きに、 前回プロジェク ト を閉じたと き と同じよ うにすべてのウ ィンド ウでプローブが設定されます。

ユーザー定義プローブの使用

ハードウェア マネージャーで作成されたユーザー定義デバッグ プローブは、 BASIC ト リ ガー、 ADVANCED ト リガー、 および [Waveform] ウ ィンド ウで使用できます。 ただし、 定数値を含むユーザー定義デバッグ プローブは[Waveform] ウ ィンド ウでしか使用できません。

BASIC ト リガー モードの使用

BASIC ト リ ガー モードは、 ト リガー条件 (デバッグ プローブ コンパレータのグローバル ブール代数式) を記述するために使用されます。 ト リガー モードを BASIC_ONLY または BASIC_OR_TRIG_IN に設定する と イネーブルになります。 この ト リガー条件とデバッグ プローブ比較値を作成するには、 [Basic Trigger Setup] ウ ィンド ウ (図 10-16) を使用します。

set_property Tcl コマンドを使用しても、 ILA コアの ト リガー モードを変更できます。 たとえば、 ILA コア hw_ila_1 のト リガー モードを BASIC_ONLY に変更するには、 次のコマンドを使用します。

set_property CONTROL.TRIGGER_MODE BASIC_ONLY [get_hw_ilas hw_ila_1]

[Basic Trigger Setup] ウィンドウへのプローブの追加

BASIC ト リ ガー モードを使用するには、 まずト リガー条件にどの ILA デバッグ プローブを含めるかを決定します。これには、 [Debug Probes] ウ ィンド ウで ILA デバッグ プローブを選択し、右ク リ ッ ク して [Add Probes to Basic Trigger Setup] をク リ ッ クするか、 プローブを [Basic Trigger Setup] ウ ィンド ウにド ラ ッグ アンド ド ロ ップします。

注記 : 初のプローブは [Basic Trigger Setup] ウ ィンド ウのどこにでも ド ラ ッグ アンド ド ロ ップできますが、2 つ目からは 初のプローブの上にド ロ ップする必要があ り ます。 新しいプローブは、 常に前に追加されたプローブの上に追加されます。 同じよ うにド ラ ッグ アンド ド ロ ップして、 表内のプローブを並び替えるこ と もできます。

X-Ref Target - Figure 10-16

図 10-16 : ILA の [Basic Trigger Setup] ウィンドウ

Vivado プログラムおよびデバッグ 124UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 125: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

重要 : ト リ ガー条件には、 [Basic Trigger Setup] ウ ィンド ウ内のプローブのみを含めるこ とができます。 このウ ィンドウに含まれないプローブはドン ト ケア値に設定され、 ト リガー条件には使用されません。

[Basic Trigger Setup] ウ ィンド ウからプローブを削除するには、 そのプローブを選択して Delete キーを押すか、 右クリ ッ ク して [Remove] をク リ ッ ク します。

BASIC ト リガー比較値の設定

ILA コアのプローブ入力における等価条件または不等価条件の検出には、 ILA デバッグ プローブ ト リ ガー コンパレータが使用されます。 ト リガー条件は、 各 ILA プローブ ト リ ガー コンパレータの結果をブール AND、 OR、NAND、 または NOR で計算した結果になり ます。 ILA プローブの比較値を指定するには、 [Basic Trigger Setup] ウ ィンド ウの ILA デバッグ プローブの [Compare Value] セルをク リ ッ ク し、[Compare Value] ダイアログ ボッ クスを開きます (図 10-17)。

ヒン ト : 基数を変更する前に、 値が新しい基数に適用される文字列に設定されているこ とを確認してください。

ILA プローブの比較値の設定

[Compare Value] ダイアログ ボッ クスでは、 次の 3 つのフ ィールドを設定します。

1. 演算子 : 比較演算子を指定します。 有効な値は、 次のとおりです。

° == (等価)

° != (不等価)

° < (小なり )

° <= (以下)

° > (大なり )

° >= (以上)

2. [Radix] : 値の基数を指定します。 有効な値は、 次のとおりです。

° [B] (2 進数)

° [H] (16 進数)

° [O] (8 進数)

° [U] (符号なし 10 進数)

° [S] (符号付き 10 進数)

X-Ref Target - Figure 10-17

図 10-17 : ILA プローブの [Compare Value] ダイアログ ボックス

Vivado プログラムおよびデバッグ 125UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 126: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

3. 値 : ILA デバッグ コアのプローブ入力に接続されているデザインのネッ ト上の実際の値と、 [Operator] で指定した演算子を使用して比較する値を指定します。 [Radix] の設定によって、 次の値を指定できます。

° [Binary] (2 進数)

- 0 : 論理 0

- 1 : 論理 1

- X : ドン ト ケア

- R : 立ち上がり遷移

- F : 立ち下がり遷移

- B : 立ち上がり遷移または立ち下がり遷移のいずれか

- N : 遷移なし (現在のサンプル値は前の値と同じ )

° [Hexadecimal] (16 進数)

- X : 値の文字に対応するすべてのビッ トがドン ト ケア値

- 0 ~ 9 : 0 ~ 9 の値

- A ~ F : 10 ~ 15 の値

° [Octal] (8 進数)

- X : 値の文字に対応するすべてのビッ トがドン ト ケア値

- 0 ~ 7 : 0 ~ 7 の値

° [Unsigned Decimal] (符号なし 10 進数)

- 正の整数値

° [Signed Decimal] (符号付き 10 進数)

- 整数値

BASIC ト リガー条件の設定

[Basic Trigger Setup] ウ ィンド ウの左側のツールバー ボタンには、 論理ゲートのアイコンが表示されます (図 10-18)。これを使用して ト リガー条件を設定できます。 set_property Tcl コマンドを使用しても、 ILA コアの ト リガー条件を変更できます。

set_property CONTROL.TRIGGER_CONDITION AND [get_hw_ilas hw_ila_1]

表 10-1 に、 これら 4 つの値の意味を示します。

X-Ref Target - Figure 10-18

図 10-18 : BASIC ト リガー条件の設定

Vivado プログラムおよびデバッグ 126UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 127: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

重要 : ILA コアに 2 つ以上のデバッグ プローブが含まれ、 それらが ILA コアの物理的なプローブ ポート 1 つを共有するために連結されている場合、 サポート される ト リガー条件は Global AND (AND) および Global NAND (NAND) のみになり ます。Global OR (OR) および Global NOR (NOR) 関数は、プローブ ポート コンパレータ ロジッ クの制限のため、 サポート されません。 Global OR (OR) および Global NOR (NOR) ト リ ガー条件設定を使用するには、 各ネッ ト またはバス ネッ ト を ILA コアの個別のプローブ ポートに割り当てるよ うにしてください。

ADVANCED ト リガー モードの使用

ILA コアは、 コア生成時または挿入時に次のアドバンス ト リ ガー機能を含めるよ うにコンフ ィギュレーシ ョ ンできます。

• 大 16 ステート までのステート マシンを ト リガー

• 各ステートには 1 ~ 3 方向条件分岐を含めるこ とが可能

• ト リ ガー ステート マシン プログラムに 大 4 つのカウンターを使用し、 複数のイベン ト を追跡

• ト リ ガー ステート マシン プログラムに 大 4 つのカウンターを使用し、 特定の分岐がいつ処理されるかを示す

• ステート マシンで goto、 trigger、 さまざまなカウンターおよびフラグ関連アクシ ョ ンを実行可能

ハードウェア デバイスで実行されるデザインに含まれる ILA コアにアドバンス ト リ ガー機能がある場合、 ILA ダッシュボードの [ILA Properties] ウ ィンド ウの [Trigger mode] を [ADVANCED_ONLY] または [ADVANCED_OR_TRIG_IN] に設定する と、 ADVANCED ト リ ガー モードをイネーブルにできます。

ト リガー ステート マシン プログラム ファイルの指定

[Trigger mode] を [ADVANCED_ONLY] または [ADVANCED_OR_TRIG_IN] に設定する と、ILA ダッシュボードで次の 2 つが変更されます。

1. [Trigger State Machine] という新しいウ ィンド ウが [ILA Properties] ウ ィンド ウ内に表示されます。

2. [Basic Trigger Setup] ウ ィンド ウの代わりに [Trigger State Machine] コード エディ ター ウ ィンド ウが表示されます。

表 10-1 : BASIC ト リガー条件の設定の説明

GUI のト リガー条件設定CONTROL.TRIGGER_CONDITION

プロパティ値ト リガー条件出力

Global AND AND すべてのプローブ コンパレータが真の場合にト リガー条件が真となり、 それ以外の場合は偽とな り ます。

Global OR OR 少なく と も 1 つのプローブ コンパレータが真の場合にト リガー条件が真となり、 それ以外の場合は偽とな ります。

Global NAND NAND 少なく と も 1 つのプローブ コンパレータが偽の場合にト リガー条件が真となり、 それ以外の場合は偽とな ります。

Global NOR NOR すべてのプローブ コンパレータが偽の場合にト リガー条件が真となり、 それ以外の場合は偽とな り ます。

Vivado プログラムおよびデバッグ 127UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 128: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA ト リ ガー ステート マシン プログラムを初めて指定する場合、 [Trigger State Machine] コード エディ ター ウ ィンドウは図 10-19 のよ うに表示されます。

新しい ト リガー ステート マシンを作成するには、 [Create new trigger state machine] リ ンクをク リ ッ ク します。 既存のト リガー ステート マシンを開くには、[Open existing trigger state machine] リ ンクをク リ ッ ク して ト リガー ステート マシン プログラム ファ イル (.tsm) を開きます。 既存の ト リガー ステート マシン プログラム ファ イルは、 ILA ダッシュボードの [ILA Properties] ウ ィンド ウの [Trigger state machine] テキス ト フ ィールドまたは参照ボタンを使用しても開く こ とができます。

ト リガー ステート マシン プログラムの編集

ト リ ガー ステート マシン プログラム ファ イルを作成したら、 [Trigger State Machine] コード エディ ター ウ ィンド ウに単純な ト リガー ステート マシンがデフォルトで表示されます (図 10-20)。

単純なデフォルトの ト リガー ステート マシン プログラムは、デバッグ プローブまたはト リガー設定に関係なく ILA コアのコンフ ィギュレーシ ョ ンを有効にするためのものです。 これによ り、 ト リガー ステート マシン プログラムを変更しなくても ILA コアに対して [Run Trigger] をク リ ッ クできます。

X-Ref Target - Figure 10-19

図 10-19 : ト リガー ステート マシン プログラム ファイルを作成または開く

X-Ref Target - Figure 10-20

図 10-20 : 単純なデフォルトのト リガー ステート マシン プログラム

Vivado プログラムおよびデバッグ 128UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 129: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ト リ ガー ステート マシン プログラムを変更して、 高度な ト リガー条件をインプリ メン トするこ と もできます。図 10-20 に示す単純なステート マシンの冒頭のコ メン ト部分には、 Vivado IDE のビルト イン言語テンプレート (図 10-21) を使用して ト リガー ステート マシン プログラムを構築する方法が説明されています。 例も含めた ILA トリ ガー ステート マシン言語の説明は、 付録 B 「 ト リ ガー ステート マシンの言語記述」 を参照してください。

ト リガー ステート マシンのコンパイル

ト リ ガー ステート マシンは、 ILA を ト リガーするたびにコンパイルされます。 ILA を ト リガーまたはト リガー待機状態にせずにト リガー ステート マシンをコンパイルするには、 ILA ダッシュボードのツールバーにある [Compile trigger state machine] ボタンをク リ ッ ク します (図 10-22)。

X-Ref Target - Figure 10-21

図 10-21 : ト リガー ステート マシンの言語テンプレート

X-Ref Target - Figure 10-22

図 10-22 : ト リガー待機状態にせずにト リガー ステート マシンをコンパイル

Vivado プログラムおよびデバッグ 129UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 130: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ト リガー入力ポートおよび出力ポートのイネーブル

ILA コアは、 専用ト リガー入力ポート (TRIG_IN と TRIG_IN_ACK) および専用ト リガー出力ポート (TRIG_OUT と TRIG_OUT_ACK) を含めるよ う、 コアの生成時にコンフ ィギュレーシ ョ ンできます。 ILA コアで ト リガー入力ポートがイネーブルになっている場合、 次の ト リガー モード設定を使用して TRIG_IN ポートにイベン ト を ト リガーできます。

• BASIC_OR_TRIG_IN : ILA コアの TRIG_IN ピンと BASIC_ONLY ト リ ガー モードの論理 OR の結果によ り ILA コアを ト リガーします。

• ADVANCED_OR_TRIG_IN : ILA コアの TRIG_IN ピンと ADVANCED_ONLY ト リ ガー モードの論理 OR の結果によ り ILA コアを ト リガーします。

• TRIG_IN_ONLY : ILA コアの TRIG_IN ピンが Low から High に遷移したと きに ILA コアを ト リガーします。

ILA コアで ト リガー出力ポートがイネーブルになっている場合、 次の TRIG_OUT モードを使用して TRIG_OUT ポートへの ト リガー イベン トの伝搬を制御できます。

• DISABLED : TRIG_OUT ポート をディ スエーブルにします。

• TRIGGER_ONLY : BASIC/ADVANCED ト リ ガー条件の結果を TRIG_OUT ポートに伝搬します。

• TRIG_IN_ONLY : TRIG_IN ポート を TRIG_OUT ポートに伝搬します。

• TRIGGER_OR_TRIG_IN : BASIC/ADVANCED ト リ ガー条件の論理 OR 結果と TRIG_IN ポート を TRIG_OUT ポートに伝搬します。

キャプチャ モード設定のコンフ ィギュレーシ ョ ン

ILA コアは、 コアのステータスが Pre-Trigger、 Waiting for Trigger、 または Post-Trigger の場合にデータ サンプルをキャプチャできます (詳細は 「 ト リ ガーおよびキャプチャ ステータスの表示」 を参照)。 各サンプルがキャプチャされる前に評価される条件は、 [Capture mode] ド ロ ップダウン リ ス トから選択します。

• [ALWAYS] : キャプチャ条件に関係なく指定したクロ ッ ク サイクル中のデータ サンプルを格納します。

• [BASIC] : キャプチャ条件が真の場合にのみ指定したクロ ッ ク サイクル中のデータ サンプルを格納します。

set_property Tcl コマンドを使用しても、 ILA コアのキャプチャ モードを変更できます。 たとえば、 ILA コア hw_ila_1 のキャプチャ モードを BASIC に変更するには、 次のコマンドを使用します。

set_property CONTROL.CAPTURE_MODE BASIC [get_hw_ilas hw_ila_1]

Vivado プログラムおよびデバッグ 130UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 131: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

BASIC キャプチャ モードの使用

BASIC キャプチャ モードは、 ト リガー条件 (デバッグ プローブ コンパレータのグローバル ブール代数式) を記述するために使用されます。 このキャプチャ条件とデバッグ プローブ比較値を作成するには、 [Basic Capture Setup] ウ ィンド ウ (図 10-23) を使用します。

[Basic Capture Setup] ウィンドウの設定

[Basic Capture Setup] ウ ィンド ウでデバッグ プローブと BASIC キャプチャ条件を設定するプロセスは、 [Basic Trigger Setup] ウ ィンド ウのデバッグ プローブを設定するプロセス とほぼ同じです。

• プローブを [Basic Capture Setup] ウ ィンド ウに追加する方法は、 「[Basic Trigger Setup] ウ ィンド ウへのプローブの追加」 を参照してください。

• [Basic Capture Setup] ウ ィンド ウで各プローブの比較値を設定する方法は、 「ILA プローブの比較値の設定」 を参照してください。

• [Basic Capture Setup] ウ ィンド ウで BASIC キャプチャ条件を設定する方法は、 「BASIC ト リ ガー条件の設定」 を参照してください。 主な違いは、 キャプチャ条件を制御する ILA コアのプロパティが CONTROL.CAPTURE_CONDITION である点です。

キャプチャ ウィンドウの数の設定

ILA キャプチャ データ バッファーは複数のキャプチャ ウ ィンド ウに分割でき、 各ウ ィンド ウの深さは 1 ~ (((バッファー サイズ) / (ウ ィンド ウの数)) - 1) の間の 2 のべき乗値です。 たとえば、 ILA データ バッファーのサンプル深さが 1024 で、 4 つのキャプチャ ウ ィンド ウに分割する場合、 各ウ ィンド ウのサンプル深さは 256 までになり ます。 各キャプチャ ウ ィンド ウには、 キャプチャ ウ ィンド ウにデータが格納される ト リガー イベン トに対応する独自のト リガー マークがあ り ます。

ヒン ト : ILA データ キャプチャ バッファーが完全にフルになる前に [Stop Trigger] をク リ ッ クする と、 それまでにフルになったキャプチャ ウ ィンド ウがアップロード されて表示されます。 たとえば、 ILA データ バッファーが 4 つのウ ィンド ウに分割されており、 そのうち 3 つがフルになっている場合、 [Stop Trigger] をク リ ッ クする と ILA コアが停止し、 フルになっている 3 つのキャプチャ ウ ィンド ウがアップロード されて表示されます。

X-Ref Target - Figure 10-23

図 10-23 : BASIC キャプチャ条件の設定

Vivado プログラムおよびデバッグ 131UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 132: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

次の表は、 [Number of Capture Windows] に 1 よ り大きな値を、 [Trigger Position] に 0 を設定した場合の Vivado ランタイム ソフ ト ウェアおよびハードウェアの関連を示しています。

次の表は、 [Number of Capture Windows] に 1 よ り大きな値を、 [Trigger Position] に 0 よ り大きな値を設定した場合の Vivado ランタイム ソフ ト ウェアおよびハードウェアの関連を示しています。

表 10-2 : [Number of Capture Windows] > 1 および [Trigger Position] = 0

ソフ トウェア ハードウェア

ユーザーが ILA コアで ト リガーを実行 • Windows 0 : ILA が待機状態

• Windows 0 : ILA がト リガーする

• Windows 0 : ILA がキャプチャ ウ ィンド ウ 0 を満たす

• Windows 1 : ILA が再び待機状態

• Windows 1 : ILA がト リガーする

• Windows 1 : ILA がキャプチャ ウ ィンド ウ 1 を満たす

• Window n-1 : ILA が再び待機状態

• Window n-1 : ILA がト リガーする

• Window n-1 : ILA がキャプチャ ウ ィンド ウ n を満たす

ILA キャプチャ バッファー全体がフルになる

データがアップロード され表示 前のウ ィンド ウの 後でキャプチャされたサンプル直後にクロ ッ ク サイクルで ト リガーの準備が完了するよ うに、 ILA コアが再び待機状態になり ます。

表 10-3 : [Number of Capture Windows] > 1 および [Trigger Position] > 0

ソフ トウェア ハードウェア

ユーザーが ILA コアで ト リガーを実行 • Windows 0 : ILA が待機状態

• Windows 0 : ILA がキャプチャ バッファーを ト リガー位置まで満たす

• Windows 0 : ILA がト リガーする

• Windows 0 : ILA がキャプチャ ウ ィンド ウ 0 の残り を満たす

• Windows 1 : ILA が再び待機状態

• Windows 1 : ILA がキャプチャ バッファーを ト リガー位置まで満たす

• Windows 1 : ILA がト リガーする

• Windows 1 : ILA がキャプチャ バッファーを満たす

• Windows 1 : ILA がウ ィンド ウ 1 を満たす

• Window n-1 : ILA が再び待機状態

• Window n-1 : ILA がキャプチャ バッファーを ト リガー位置まで満たす

• Window n-1 : ILA がト リガーする

• Window n-1 : ILA がキャプチャ バッファーを満たす

• Window n-1 : ILA がウ ィンド ウ n を満たす

ILA キャプチャ バッファー全体がフルになる

データがアップロード され表示 ILA がキャプチャ データを ト リガー位置まで満たす必要があるので、2 つのウ ィンド ウ間で ト リガーがミ ス となる可能性があ り ます。

Vivado プログラムおよびデバッグ 132UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 133: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

キャプチャ ウィンドウでのト リガー位置の設定

[Capture Mode Settings] ウ ィンド ウの [Trigger position] または [ILA Core Properties] ウ ィンド ウの [Trigger Position] プロパティを使用して、 キャプチャされたデータ ウ ィンド ウの ト リガー マーカーの位置を設定します。 ト リガー位置は、 キャプチャ データ ウ ィンド ウの任意のサンプル番号に設定できます。 たとえば、 サンプル数が 1024 のキャプチャ データ ウ ィンド ウの場合は次のよ うになり ます。

• サンプル番号 0 は、 キャプチャ データ ウ ィンド ウの 初 (一番左) のサンプルに対応します。

• サンプル番号 1023 は、 キャプチャ データ ウ ィンド ウの 後 (一番右) のサンプルに対応します。

• サンプル番号 511 および 512 は、 キャプチャ データ ウ ィンド ウの中央のサンプルに対応します。

set_property Tcl コマンドを使用しても ILA コアの ト リガー位置を変更できます。

set_property CONTROL.TRIGGER_POSITION 512 [get_hw_ilas hw_ila_1]

キャプチャ ウィンドウでのデータ深さの設定

[Capture Mode Settings] ウ ィンド ウの [Data Depth] または [ILA Core Properties] ウ ィンド ウの [Capture data depth] プロパティを使用して、 ILA コアのキャプチャ データ ウ ィンド ウのデータ深さを設定します。 データ深さは、 1 から ILA コアの 大データ深さの間の 2 のべき乗値に設定できます (コアの生成時または挿入時に設定)。

注記 : ネッ ト リ ス ト挿入プローブ フローでデザインに追加した ILA コアのキャプチャ バッファーの 大データ深さを設定する方法は、 「デバッグ コアのプロパティの変更」 を参照して ください。

set_property Tcl コマンドを使用しても ILA コアのデータ深さを変更できます。

set_property CONTROL.DATA_DEPTH 512 [get_hw_ilas hw_ila_1]

Vivado プログラムおよびデバッグ 133UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 134: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ト リガーの実行

ILA コアに ト リガーを供給する方法には、 次の 2 つのモードがあ り ます。

• [Run Trigger] : ILA ダッシュボードまたは [Hardware] ウ ィンド ウで ILA コアを選択し、 ツールバーの [Run Trigger] をク リ ッ クする と、 ILA コアの BASIC または ADVANCED ト リ ガー設定で定義された ト リガー イベント を検出できるよ うになり ます。

• [Run Trigger Immediate] : ILA ダッシュボードまたは [Hardware] ウ ィンド ウで ILA コアを選択し、 ツールバーの [Run Trigger Immediate] をク リ ッ クする と、 ILA コアの ト リガー設定に関係なく ILA コアが即座にト リガーされます。 このコマンドは、 ILA コアのプローブ入力のすべてのアクティ ビティをキャプチャして、 デザインの動きを検出するのに便利です。

ILA コアを右ク リ ッ ク し、 [Run Trigger] または [Run Trigger Immediate] をク リ ッ ク しても、 同じ操作を実行できます (図 10-24)。

ヒン ト : [Hardware] ウ ィンド ウで ILA コアを選択して、 [Run Trigger]、 [Run Trigger Immediate]、 または [Stop Trigger] ボタンを使用する と、 複数の ILA コアの ト リガーを実行または停止できます。 また、 [Hardware] ウ ィンド ウで デバイスを選択し、 ツールバーの適切なボタンをク リ ッ クする と、 そのデバイスのすべての ILA コアの ト リガーを実行または停止できます。

ト リガーの停止

ILA コアの ト リガーを停止するには、 ILA コアを選択し、 ILA ダッシュボードまたは [Hardware] ウ ィンド ウのツールバーの [Stop Trigger] をク リ ッ ク します。 ILA コアを右ク リ ッ ク し、 [Stop Trigger] をク リ ッ ク しても、同じ操作を実行できます (図 10-24)。

X-Ref Target - Figure 10-24

図 10-24 : ILA コアのト リガー コマンド

Vivado プログラムおよびデバッグ 134UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 135: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

自動再ト リガーの使用

ILA コアの右ク リ ッ ク メニューの [Enable Auto Re-Trigger] または ILA ダッシュボードのツールバーの対応するボタンをク リ ッ クする と、 ト リガー、 アップロード、 表示処理が正し く完了した後に、 ILA コアが自動的にト リガー待機状態になり ます。 ILA コアに対応する波形ビューアーに表示されたキャプチャ データは、 ト リ ガー イベン ト ごとに上書きされます。 [Auto Re-Trigger] オプシ ョ ンは、 [Run Trigger] および [Run Trigger Immediate] コマンド と共に使用できます。 動作中のト リガーを停止するには、 [Stop Trigger] をク リ ッ ク します。

次の表に、 [Auto Re-Trigger] オプシ ョ ンを使用した際の Vivado IDE ランタイム ソフ ト ウェアとハード ウェアの関係を示します。

重要 : ILA データがフルになってから、 データがアップロード されて GUI に表示されるまでに遅延があるので、 これらのイベン ト間で ILA がト リガーできたかもしれないのに、 ミ ス となる可能性が高くな り ます。

ト リガーおよびキャプチャ ステータスの表示

ILA デバッグ コアの ト リガーおよびキャプチャ ステータスは、 Vivado IDE では次の 2 箇所に表示されます。

• [Hardware] ウ ィンド ウの ILA デバッグ コアの行の [Status] 列

• ILA ダッシュボードの [Trigger Capture Status] ウ ィンド ウ

[Hardware] ウ ィンド ウの [Status] 列には、 各 ILA コアのステータスが示されます (表 10-5)。

表 10-4 : [Auto Re-Trigger] オプシ ョ ン

ソフ トウェア ハードウェア

ILA コアで [Auto Re-Trigger] オプシ ョ ンをク リ ッ ク • ILA が待機状態

• ILA がト リガーする

• ILA がキャプチャ バッファーを満たす

• ILA がフルになる

データがアップロード され表示 • ILA が再び待機状態

• ILA がト リガーする

• ILA がキャプチャ バッファーを満たす

• ILA がフルになる

ILA の 「フル」 イベン トから ILA データの表示までの多くのサイクルがミ ス とな り ます。

表 10-5 : ILA コアのステータス

ILA コアのステータス

説明

Idle ILA コアはアイ ドル状態であ り、 ト リガーの実行を待機している状態です。 ト リガー位置が 0 の場合、 ト リガーが実行される と ILA コアが Waiting for Trigger ステータスにな り ます。 それ以外の場合は、 Pre-Trigger ステータスになり ます。

Pre-Trigger ILA コアが ト リガー前のデータをデータ キャプチャ ウ ィンド ウに取り込み中です。 ト リガー前のデータがキャプチャされる と、 ILA コアは Waiting for Trigger ステータスにな り ます。

Waiting for Trigger

ILA コアの ト リガー待機状態になり、 BASIC または ADVANCED ト リ ガー設定で定義された ト リガー イベン トが発生するのを待機中です。 ト リガーが発生する と、 ト リ ガー位置がキャプチャ ウ ィンド ウの 後のデータ サンプルに設定されている場合、 ILA コアは Full ステータスになり ます。 それ以外の場合は、 Post-Trigger ステータスにな り ます。

Vivado プログラムおよびデバッグ 135UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 136: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA ダッシュボードの [Trigger Capture Status] ウ ィンド ウの内容は、 ILA コアの [Trigger mode] の設定によって異なります。

部分的バッファー キャプチャ

ILA データ キャプチャ バッファーが完全にフルになる前に [Stop Trigger] をク リ ッ クする と、 それまでに満たされたキャプチャ ウ ィンド ウがすべてアップロード されて表示されます。 たとえば、 ILA データ バッファーが 4 つのウ ィンド ウに分割されており、 そのうち 3 つが満たされている場合、 [Stop Trigger] をク リ ッ クする と ILA コアが停止し、満たされている 3 つのキャプチャ ウ ィンド ウがアップロード されて表示されます。 また、 [Stop Trigger] をク リ ッ クする と、 ILA コアが停止して、 一部満たされたキャプチャ ウ ィンド ウが開きます (そのキャプチャ ウ ィンド ウで トリガー イベン トが発生している場合)。

BASIC ト リガー モードのト リガーおよびキャプチャ ステータス

[Trigger mode] を BASIC に設定する と、 [Trigger Capture Status] ウ ィンド ウには次の 2 つのステータス インジケーターが表示されます (図 10-25)。

• [Core status] : ILA コアの ト リガー /キャプチャ エンジンのステータスを示します (ステータス インジケーターの詳細は 表 10-5 を参照)。

• [Capture status] : 現在のキャプチャ ウ ィンド ウ、 現在のキャプチャ ウ ィンド ウでキャプチャされた現時点でのサンプル数、 ILA コアでキャプチャされたサンプルの総数を示します。 これらの数値は、 ILA コアのステータスが Idle になる と 0 にリセッ ト されます。

ADVANCED ト リガー モードのト リガーおよびキャプチャ ステータス

[Trigger mode] を ADVANCED に設定する と、 [Trigger Capture Status] ウ ィンド ウには次の 4 つのステータス インジケーターが表示されます (図 10-26)。

• [Core status] : ILA コアの ト リガー /キャプチャ エンジンのステータスを示します (ステータス インジケーターの詳細は表 10-5 を参照)。

• [Trigger State Machine Flags] : 4 つのト リガー ステート マシン フラグの現在のステート を示します。

• [Trigger State] : コアのステータスが Waiting for Trigger の場合、 ト リガー ステート マシンの現在のステート を示します。

Post-Trigger ILA コアが ト リガー後のデータをデータ キャプチャ ウ ィンド ウに取り込み中です。 ト リガー後のデータがキャプチャされる と、 ILA コアは Full ステータスにな り ます。

Full ILA コア キャプチャ ウ ィンド ウがフルであ り、 ホス トに表示するよ う アップロード中です。 データがアップロード されて表示される と、 ILA コアは Idle ステータスになり ます。

X-Ref Target - Figure 10-25

図 10-25 : BASIC ト リガー モードの [Trigger Capture Status] ウィンドウ

表 10-5 : ILA コアのステータス (続き)

ILA コアのステータス

説明

Vivado プログラムおよびデバッグ 136UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 137: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

• [Capture status] : 現在のキャプチャ ウ ィンド ウ、 現在のキャプチャ ウ ィンド ウでキャプチャされた現時点でのサンプル数、 ILA コアでキャプチャされたサンプルの総数を示します。 これらの数値は、 ILA コアのステータスが Idle になる と 0 にリセッ ト されます。

ILA プローブ情報の記述

[Debug Probes] ウ ィンド ウの [ILA Cores] ビューには、 ILA コアを使用してプローブされるデザインのネッ トに関する情報が表示されます。 この ILA プローブ情報はデザインから抽出され、 通常 .ltx という拡張子のデータ ファ イルに保存されます。

ILA プローブ ファイルは、 インプリ メンテーシ ョ ン プロセス中に自動的に作成されますが、write_debug_probes Tcl コマンドを使用してデバッグ プローブ情報をファイルに書き出すこ と もできます。

1. プロジェク ト モードの場合は、 合成済みデザインまたはネッ ト リ ス ト デザインを開きます。 非プロジェク ト モードの場合は、 合成済みデザイン チェッ クポイン ト を開きます。

2. write_debug_probes filename.ltx コマンドを実行します。

ILA プローブ情報の読み出し

ILA プローブ ファイルの名前が debug_nets.ltx で、 デバイスに関連付けられているビッ ト ス ト リーム プログラム ファ イル (.bit) と同じディ レク ト リにある場合、 自動的に FPGA ハードウェア デバイスに関連付けられます。

プローブ ファ イルの場所を指定するには、 次の手順に従います。

1. [Hardware] ウ ィンド ウで FPGA デバイスを選択します。

2. [Hardware Device Properties] ウ ィンド ウでプローブ ファ イルのディ レク ト リ を設定します。

3. [Apply] をク リ ッ ク して変更を適用します。

プローブ ファ イルの場所は、 次の set_property Tcl コマンドを使用しても設定できます。

set_property PROBES.FILE {C:/myprobes.ltx} [lindex [get_hw_devices] 0]

X-Ref Target - Figure 10-26

図 10-26 : ADVANCED ト リガー モードの [Trigger Capture Status] ウィンドウ

Vivado プログラムおよびデバッグ 137UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 138: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA コアからのデータを波形ビューアーで表示

ILA コアでキャプチャされたデータが Vivado IDE にアップロード される と、 波形ビューアーに表示されます。 ILA コアでキャプチャされたデータの表示に波形ビューアーを使用する場合の詳細は、 第 11 章 「波形ビューアーを使用した ILA プローブ データの表示」 を参照してください。

ILA コアでキャプチャされたデータの保存および復元

ILA コアから直接アップロード されたキャプチャ データを表示するだけでなく、 ファ イルに保存して、 ファ イルからデータを読み込むこ と もできます。

ILA コアでキャプチャされたデータのファイルへの保存

ILA コアでキャプチャされたデータをアップロード してファ イルに保存するには、 次の Tcl コマンドを使用します。

write_hw_ila_data my_hw_ila_data_file.ila [upload_hw_ila_data hw_ila_1]

この Tcl コマンドによ り、 ILA コアでキャプチャされたデータがアップロード され、 my_hw_ila_data_file.ila という アーカイブ ファ イルに保存されます。 このアーカイブ ファ イルには、 波形データベース ファ イル、 波形コンフ ィギュレーシ ョ ン ファ イル、波形 CSV (Comma Separated Value) ファ イル、およびデバッグ プローブ ファ イルが含まれます。

ヒン ト : CSV ファ イルを生成するには、 -csv_file オプシ ョ ンを使用します。 これによ り、 ILA データがデフォルトのバイナリ ILA ファ イル フォーマッ トではなく、 スプレッ ドシートやサードパーティ アプリ ケーシ ョ ンにインポート可能な CSV ファ イルの形式でエクスポート されます。

ヒン ト : VCD (Value Change Dump) ファ イルを生成するには、 -vcd_file オプシ ョ ンを使用します。 これによ り、ILA データがデフォルトのバイナリ ILA ファ イル フォーマッ トではなく、 サードパーティ アプリ ケーシ ョ ンまたはビューアーにインポート可能な VCD ファ イルの形式でエクスポート されます。

プローブ データの基数

各プローブには、 DISPLAY_RADIX プロパティが関連付けられています。 デフォルトでは、 このプロパティは複数ビッ ト プローブに対しては HEX に、 1 ビッ ト プローブに対しては BINARY に設定されます。 .csv ファ イルにエクスポート されたプローブ データは、 プローブの基数を使用します。

デザインに含まれるすべての ILA のすべてのプローブに対して DISPLAY_RADIX プロパティを変更するには、Vivado ハードウェア マネージャーの Tcl コンソールで次のコマンドを使用します。

foreach probe [get_hw_probes -of [get_hw_ilas]] {set_property DISPLAY_RADIX binary $probeset_property DISPLAY_AS_ENUM false $probe}

注記 : この例では、 すべての ILA のすべてのプローブの基数を BINARY に変更しています。 基数を HEX に変更するには、 次のスク リプ ト を使用します。

foreach probe [get_hw_probes -of [get_hw_ilas]] { set_property DISPLAY_RADIX hex $probe set_property DISPLAY_AS_ENUM false $probe }

Vivado プログラムおよびデバッグ 138UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 139: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

1 つのプローブに関連付けられているデータ サンプルのリスト

個別のプローブに関連付けられているデータ サンプルを リ ス トするには、 list_hw_samples Tcl コマンドを使用します。

次に、 i_fast_ila という ILA の fast_cnt_incr_val_1 というプローブに関連付けられているデータ サンプルを リ ス トする例を示します。

list_hw_samples [get_hw_probes fast_cnt_incr_val_1 -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"i_fast_ila"}]]00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001...

ILA コアでキャプチャされたデータのファイルからの読み込み

ILA コアでキャプチャされたデータをファイルから読み込むには、 次の Tcl コマンドを使用します。

display_hw_ila_data [read_hw_ila_data my_hw_ila_data_file.ila]

この Tcl コマンドによ り、 保存されている ILA コア キャプチャ データが読み込まれ、 [Waveform] ウ ィンド ウに表示されます。

注記 : ILA データの [Waveform] ウ ィンド ウの波形コンフ ィギュレーシ ョ ン設定 (仕切り、 マーカー、 色、 プローブの基数など) も、 ILA キャプチャ データ アーカイブ ファ イルに保存されます。 保存されている ILA データを表示すると、 保存されている波形コンフ ィギュレーシ ョ ン設定が使用されます。

重要 : ILA キャプチャ データから作成した波形を開くのに open_wave_config コマンドを使用しないでください。このコマンドはシ ミ ュレーシ ョ ンのみのコマンドであ り、 ILA キャプチャ データ波形では正し く機能しません。

プローブ値の列挙名

この機能を使用する と、 値を比較する ト リガー /キャプチャの設定時および [Waveform] ウ ィンド ウで、 プローブ値をシンボル名で参照できるよ うになり ます。

次のよ うな使用方法が一般的です。

• ステート マシンのステート値

• opcode

• プローブ一致値を値ではなく名前で参照

列挙名を設定するには、 列挙名と値のペアを入力し、 これらをプローブに関連付けます。 列挙名と値のペアの関連付けは Tcl コマンドを使用して実行でき、 セッシ ョ ン間で保持されます。

[Trigger Setup] および [Capture Setup] ウ ィンド ウで、 プローブ比較値を列挙名を使用して設定できます。 プローブとその値に対応する列挙名は、 [Waveform] ウ ィンド ウでも表示できます。

Vivado プログラムおよびデバッグ 139UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 140: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

列挙名の追加/編集

ハードウェア マネージャーを使用して新しい列挙名を定義

新しい列挙名と値のペアをデバッグ プローブに関連付けるには、 [Debug Probes] ウ ィンド ウまたは [Trigger/Capture Setup] ウ ィンド ウでデバッグ プローブを右ク リ ッ ク し、 [Edit Enumeration] をク リ ッ ク します。

X-Ref Target - Figure 10-27

図 10-27 : [Trigger Setup] ウィンドウから列挙名を指定

Vivado プログラムおよびデバッグ 140UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 141: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[Trigger Setup] ウィンドウでデバッグ プローブに関連付けられている列挙名を編集

デバッグ プローブに対する新しい列挙名と値のペアの割り当ては、[Debug Probes] ウ ィ ンド ウまたは [Trigger Setup] ウ ィ ンド ウでデバッグ プローブを選択し、 [Debug Probe Properties] ウ ィ ンド ウの [Enumeration] ビューでも実行できます。

[Edit Enumeration] をク リ ッ ク し、 [Edit Enumeration ] ダイアログ ボッ クスを開きます。

X-Ref Target - Figure 10-28

図 10-28 : [Debug Probe Properties] ウィンドウ

X-Ref Target - Figure 10-29

図 10-29 : [Edit Enumeration] ダイアログ ボックス

Vivado プログラムおよびデバッグ 141UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 142: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

名前と値のペアを選択し、 左側にある + および - ボタンをク リ ッ ク して、 列挙を追加および削除します。 表の [Name]、 [Radix]、 および [Values] フ ィールドを変更できます。

Tcl コマンドを使用して列挙名を追加

列挙名と値のペアをデバッグ プローブに関連付けるには、 add_hw_probe_enum コマンドを使用します。 Tcl ファイルに add_hw_probe コマンドを追加し、 別のファイルに定義を含めるこ とができます。 列挙名では入力した大文字/小文字が区別が保持されますが、 検索は大文字/小文字を区別せずに実行されます。

例 :

set probe [get_hw_probes fast_cnt_count -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"i_fast_ila"}]] add_hw_probe_enum ZERO eq5'h00 $probeadd_hw_probe_enum TWELVE eq5'u12 $probeadd_hw_probe_enum THIRTEEN eq5'u13 $probeadd_hw_probe_enum FOURTEEN eq5'u14 $probeadd_hw_probe_enum FIFTEEN eq5'u15 $probeadd_hw_probe_enum SIXTEEN eq5'u16 $probeadd_hw_probe_enum SEVENTEEN eq5'u17 $probe

Tcl コマンドを使用して列挙名を削除

remove_hw_probe_enum コマンドを使用して、 指定した列挙名を削除するか hw_probe のすべての列挙名を削除します。

例 :

remove_hw_probe_enum -list {zero } [get_hw_probes U_SINEGEN/sel -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"u_ila_0"}]]

ヒン ト : remove_hw_probe_enum の -remove_all オプシ ョ ンを使用する と、 指定したプローブに関連付けられているすべての列挙名が削除されます。

Vivado プログラムおよびデバッグ 142UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 143: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

列挙名へのアクセス

列挙名は hw_probe プロパティ と して保存されるので、 set_property、 get_property、 および report_property コマンドを使用してアクセスできます。

列挙プロパティには接頭辞 ENUM が付いており、set_property および get_property コマンドを使用する と きに必要です。 次に例を示します。

get_property ENUM.FIFTEEN -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"i_fast_ila"}]]eq5'u15 report_property [get_hw_probes fast_vio_slice5_fb -of_objects [get_hw_ilas hw_ila_1]] ENUM*Property Type Read-only Visible ValueENUM.FIFTEEN string true true eq5'u15ENUM.FOURTEEN string true true eq5'u14ENUM.SEVENTEEN string true true eq5'u17ENUM.SIXTEEN string true true eq5'u16ENUM.THIRTEEN string true true eq5'u13ENUM.TWELVE string true true eq5'u12ENUM.ZERO string true true eq5'h00 set_property ENUM.FIFTEEN eq5'h0F [get_hw_probes fast_vio_slice5_fb -of_objects [get_hw_ilas hw_ila_1]]

[Trigger Setup] ウィンドウでの列挙名の使用

[Trigger Setup] ウ ィンド ウで比較値に列挙名を設定する場合、 構文は数値の比較値と似ています。 基数の文字は 「e」です。 比較値の列挙名では、 演算子 eq および neq のみがサポート されます。

set_property TRIGGER_COMPARE_VALUE eq2'ethree [get_hw_probes U_SINEGEN/sel -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"u_ila_0"}]]

X-Ref Target - Figure 10-30

図 10-30 : [Trigger Setup] ウィンドウでの列挙名

Vivado プログラムおよびデバッグ 143UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 144: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[Capture Setup] ウィンドウでの列挙名の使用

Vivado IDE の [Capture Setup] ウ ィンド ウまたは Tcl コマンドで、 列挙名を使用して値を比較するこ と もできます。

set_property CAPTURE_COMPARE_VALUE eq2'eone [get_hw_probes locked -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7k325t_0] -filter {CELL_NAME=~"u_ila_0_0"}]]

アドバンス ト リガー

アドバンス ト リ ガー ステート マシン スク リプ トで、 列挙名を使用して値を比較できます。 次に例を示します。

state my_state0: if (fast_ila_slice5_fb == 5'eFIFTEEN) then set_flag $flag1; goto my_state0; elseif (fast_ila_slice5_fb == 5'eTWELVE) then trigger; else clear_flag $flag1; goto my_state0; endif

X-Ref Target - Figure 10-31

図 10-31 : [Capture Setup] ウィンドウでの列挙名

Vivado プログラムおよびデバッグ 144UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 145: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[Waveform] ウィンドウでの列挙名の使用

[Waveform] ウ ィンド ウで各信号に対して [Show as Enumeration] オプシ ョ ンを選択する と、 列挙名を表示できます。[Waveform] ウ ィンド ウで信号を右ク リ ッ ク して [Show as Enumeration] をク リ ッ クする と、 列挙名が表示されます。列挙名を表示しない場合、 通常の基数の選択に基づいてバス値が表示されます。

X-Ref Target - Figure 10-32

図 10-32 : [Waveform] ウィンドウで [Show as Enumeration] をクリ ック

Vivado プログラムおよびデバッグ 145UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 146: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

列挙情報は波形データ ファ イルに保存され、 次回波形データを表示したと きに使用されます。 列挙名が定義されている波形プローブは、 デフォルトで列挙名で表示されます。

波形オブジェク トに対して [Show as Enumeration] が選択されている と、 列挙名が表示されます。 波形値に対応する列挙名がない場合は、 選択した基数に基づく値が表示されます。

重要 : 列挙名を追加する前に波形が作成されていた場合、 次の Tcl コマンドを使用して波形 ILA データを保存すると、 波形に新しい列挙名が適用されます。

write_hw_ila_data -force data_ila_3.ila [upload_hw_ila_data hw_ila_3]display_hw_ila_data [read_hw_ila_data ./data_ila_3.ila]

計測のための VIO コアの設定

デザインに追加した VIO コアは、 [Hardware] ウ ィンド ウのターゲッ ト デバイスの下に表示されます。 VIO コアが表示されていない場合は、 デバイスを右ク リ ッ ク して [Refresh Hardware] をク リ ッ ク します。 FPGA デバイスが再度スキャンされ、 [Hardware] ウ ィンド ウの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても VIO コアが表示されない場合は、 デバイスが正しい .bit ファイルでプログラムされているか、 インプリ メン ト済みデザインに VIO コアが含まれているかを確認してください。また、 .bit ファ イルに対応する適切な .ltx プローブ ファ イルがデバイスに関連付けられているかど うかを確認してください。

X-Ref Target - Figure 10-33

図 10-33 : 波形で列挙名を表示

Vivado プログラムおよびデバッグ 146UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 147: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

VIO コア (図 10-34 では hw_vio_1) を選択する と、 [VIO Core Properties] ウ ィンド ウにプロパティが表示されます。VIO を選択する と、 その VIO コアが [Debug Probes] ウ ィンド ウおよび Vivado IDE ワークスペースの VIO ダッシュボードでも選択されます (図 10-35)。

VIO コアが Vivado IDE と同期しなくなるこ とがあ り ます。 VIO ステータス インジケーターの解釈方法については、「VIO コアのステータスの表示」 を参照して ください。

X-Ref Target - Figure 10-34

図 10-34 : [Hardware] ウィンドウに表示される VIO コア

X-Ref Target - Figure 10-35

図 10-35 : さまざまなウィンドウの VIO コア

Vivado プログラムおよびデバッグ 147UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 148: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

VIO コアの値を読み出したり書き込んだりするには、 オブジェク ト プロパティを使用します。

• VIO 入力プローブの値を読み出すには、 まず hw_vio オブジェク ト を VIO コアの値で更新し、 hw_vio オブジェク トのプロパティ値を取得します。 詳細は、 「VIO コアの入力プローブ」 を参照して ください。

• VIO 出力プローブの値を書き込むには、 まず hw_probe オブジェク トのプロパティ値を設定し、 これらのプロパティ値をハード ウェアの VIO コアに確定して、値をコアの出力プローブ ポートに書き込みます。詳細は、 「VIO コアの出力プローブ」 を参照してください。

VIO コアのステータスの表示

VIO コアには、 入力プローブが 0 個以上、 出力プローブが 0 個以上あ り ます (少なく と も入力プローブまたは出力プローブが 1 個以上必要)。 [Hardware] ウ ィンド ウの示される VIO コアのステータスは、 VIO コアの出力プローブの現在の状態を示します。 表 10-6 に、 VIO コアのステータス と必要な操作を示します。

[Debug Probes] ウィンドウでの VIO コアの表示

VIO のダッシュボード で + 記号をク リ ッ クする と、 VIO コアに関連付けられているデバッグ プローブを表示、 追加、 削除できます。

表 10-6 : VIO コアのステータスと必要なユーザー操作

VIO のステータス 説明 必要なユーザー操作

OK – Outputs Reset VIO コアの出力は Vivado IDE と同期しており、 出力は初期 ( リセッ ト ) 状態です。

なし

OK VIO コアの出力は Vivado IDE と同期していますが、出力は初期 ( リセッ ト ) 状態ではあ り ません。

なし

Outputs out-of-sync VIO コアの出力が Vivado IDE と同期していません。

次の 2 つのいずれかの操作を実行する必要があ ります。

• [Hardware] ウ ィンド ウで VIO コアを右ク リ ッ ク して [Commit VIO Core Outputs] をク リ ッ ク し、Vivado IDE からの値を VIO コアに書き込みます。

• [Hardware] ウ ィンド ウで VIO コアを右ク リ ッ ク して [Refresh Input and Output Values from VIO Core] をク リ ッ ク し、Vivado IDE を VIO コア出力プローブ ポートの現在の値でアップデート します。

Vivado プログラムおよびデバッグ 148UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 149: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

VIO ダッシュボードの使用

VIO のデフォルト ダッシュボードは 初は空白で、 そこに VIO プローブを追加していきます (図 10-36)。

VIO ダッシュボードには、 VIO コアに関するすべてのステータスおよび制御情報が表示されます。 ハード ウェア デバイスの更新によ り VIO コアが 初に検出される と、 コアの VIO ダッシュボードが自動的に開きます。 ダッシュボードを手動で開いたり、 開き直したりする必要がある場合は、 [Hardware] または [Debug Probes] ウ ィンド ウで VIO コア オブジェク ト を右ク リ ッ ク して [Open Dashboard] をク リ ッ ク します。

VIO コアの入力プローブ

VIO コアの入力プローブは、 実際のハードウェアの FPGA で実行されているデザインからの値を読み出すために使用します。 VIO 入力プローブは通常、 テス ト中のデザインのステータス インジケーターと して使用されます。 VIO デバッグ プローブは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウに手動で追加する必要があ り ます。 この方法は、 「[Debug Probes] ウ ィンド ウでの VIO コアの表示」 を参照してください。 VIO ダッシュボードの [VIO Probes] ウ ィンド ウでは、 VIO 入力プローブは図 10-37 のよ うに表示されます。

X-Ref Target - Figure 10-36

図 10-36 : VIO のデフォルト ダッシュボード

X-Ref Target - Figure 10-37

図 10-37 : コアの入力プローブ

Vivado プログラムおよびデバッグ 149UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 150: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[VIO Probes] ウィンドウを使用した VIO 入力の読み出し

VIO 入力プローブは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウに表示されます。各入力プローブが表で個別の行に表示されます。 VIO 入力プローブの値は、 [Value] 列に示されます (図 10-37)。 VIO コアの入力値は、 VIO コアの更新レートに基づいて、 定期的にアップデート されます。 更新レート を変更するには、 [VIO Properties] ウ ィンド ウで [Refresh Rate (ms)] の値を変更するか、 次の Tcl コマンドを使用します。

set_property CORE_REFRESH_RATE_MS 1000 [get_hw_vios hw_vio_1]

注記 : 更新レート を 0 に設定する と、 VIO コアからのすべての自動更新が停止します。 また、 小さい値を設定すると、 Vivado IDE の動作が遅くなるこ とがあ り ます。 更新レートは 500ms 以上に設定するこ とをお勧めします。

VIO 入力プローブの値を手動で読み出すには、 Tcl コマンドを使用します。 たとえば、 VIO コア hw_vio_1 の BUTTON_IBUF という入力プローブの値を更新して読み出すには、 次の Tcl コマンドを使用します。

refresh_hw_vio [get_hw_vios {hw_vio_1}]get_property INPUT_VALUE [get_hw_probes BUTTON_IBUF]

VIO 入力の表示タイプと基数の設定

VIO 入力プローブの表示タイプは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウで VIO 入力プローブを右ク リ ック し、 次のいずれかを選択する と設定できます。

• [Text] : 入力をテキス ト フ ィールド と して表示します。 これが、 VIO 出力プローブ ベクター (幅が 2 ビッ ト以上) の唯一の表示タイプです。

• [LED] : 入力を LED グラフ ィ ッ クで表示します。 この表示タイプは、 VIO 入力プローブ スカラーおよび VIO 入力プローブ ベクターの個々のエレ メン トにのみ選択可能です。 High および Low の値を、 次の 4 つの色のいずれかに設定できます。

° グレー (オフ)

° 赤

° 緑

° 青

VIO 入力プローブの表示タイプを [Text] に設定する と、 基数を変更できます。 これには、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウで VIO 入力プローブを右ク リ ッ ク し、 次のいずれかをク リ ッ ク します。

• [Radix] → [Binary] : 基数を 2 進数に設定します。

• [Radix] → [Octal] : 基数を 8 進数に設定します。

• [Radix] → [Hex] : 基数を 16 進数に設定します。

• [Radix] → [Unsigned] : 基数を符号なしの 10 進数に設定します。

• [Radix] → [Signed] : 基数を符号付きの 10 進数に設定します。

VIO 入力プローブの基数は、 Tcl コマンドでも設定できます。 たとえば、 BUTTON_IBUF という VIO 入力プローブの基数を変更するには、 次の Tcl コマンドを使用します。

set_property INPUT_VALUE_RADIX HEX [get_hw_probes BUTTON_IBUF]

Vivado プログラムおよびデバッグ 150UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 151: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

VIO 入力アクティビテ ィの監視と制御

VIO 入力プローブから値を読み出すだけでなく、 VIO 入力プローブのアクティビティを監視するこ と もできます。Vivado IDE の周期的なアップデートの間に VIO 入力の値が変化する と、 それが示されます。

VIO 入力プローブのアクティビティは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウの [Activity] 列に示されます。

• 上向き矢印 : アクティビティ保持期間内に、 入力プローブの値が 0 から 1 に遷移したこ とを示します。

• 下向き矢印 : アクティビティ保持期間内に、 入力プローブの値が 1 から 0 に遷移したこ とを示します。

• 上下矢印 : アクティビティ保持期間内に、 入力プローブの値が 1 から 0 に、 および 0 から 1 に少なく と も 1 回以上遷移したこ とを示します。

入力アクティビティ ステータスの表示を保持する期間を変更するには、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウで VIO 入力プローブを右ク リ ッ ク し、 次のいずれかをク リ ッ ク します。

• [Activity Persistence] → [Infinite] : アクティビティ値をユーザーがリセッ トするまで累積し、 保持します。

• [Activity Persistence] → [Long (80 samples)] : アクティビティ値を長い期間累積し、 保持します。

• [Activity Persistence] → [Short (8 samples)] : アクティ ビティ値を短い期間累積し、 保持します。

Tcl コマンドでもアクティビティ保持期間を設定できます。 たとえば、 BUTTON_IBUF という VIO 入力プローブのアクティビティ保持期間を長い期間に変更するには、 次の Tcl コマンドを使用します。

set_property ACTIVITY_PERSISTENCE LONG [get_hw_probes BUTTON_IBUF]

コアのすべての入力プローブのアクティビティを リセッ トするには、 [Hardware] ウ ィンド ウで VIO コアを右ク リ ック して [Reset All Input Activity] をク リ ッ ク します。 次の Tcl コマンドでも同じ操作を実行できます。

reset_hw_vio_activity [get_hw_vios {hw_vio_1}]

ヒン ト : VIO 入力プローブ ベクターの複数のスカラー メ ンバーのタイプ、 基数、 アクティビティ保持期間は、 プローブ全体またはプローブの複数メンバーを右ク リ ッ ク して、 メニューをク リ ッ クする と変更できます。 ク リ ッ クしたメニューの設定は、 選択したすべてのプローブ スカラーに適用されます。

VIO コアの出力プローブ

VIO コアの出力プローブは、 実際のハードウェアの FPGA デバイスで実行されているデザインに値を書き込むために使用します。 VIO 出力プローブは通常、 テス ト中のデザインの低帯域幅の制御信号と して使用されます。 VIO デバッグ プローブは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウに手動で追加する必要があ り ます。 この方法は、「[Debug Probes] ウ ィンド ウでの VIO コアの表示」 を参照してください。 VIO ダッシュボードの [VIO Probes] ウ ィンド ウでは、 VIO 出力プローブは図 10-38 のよ うに表示されます。

X-Ref Target - Figure 10-38

図 10-38 : VIO ダッシュボードの [VIO Probes] ウィンドウの VIO 出力

Vivado プログラムおよびデバッグ 151UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 152: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

[VIO Probes] ウィンドウを使用した VIO 出力の書き込み

VIO 出力プローブは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウで設定できます。各出力プローブが表で個別の行に示されます。 VIO 出力プローブの値は、 [Value] 列に示されます (図 10-38)。 VIO コアの出力値は、 [Value] 列に新しい値を入力する とアップデート されます。 [Value] 列をク リ ッ クする と、 プルダウン ボッ クスが表示されます。[Value] フ ィールドに適切な値を入力し、 [OK] をク リ ッ ク します。

Tcl コマンドを使用して、 VIO コアに新しい値を書き込むこ と もできます。 たとえば、 基数が 2 進数に設定されている vio_slice5_fb_2 という VIO 出力プローブに 2 進数 11111 を書き込むには、 次の Tcl コマンドを使用します。

set_property OUTPUT_VALUE 11111 [get_hw_probes vio_slice5_fb_2]commit_hw_vio [get_hw_probes {vio_slice5_fb_2}]

VIO 出力の表示タイプと基数の設定

VIO 出力プローブの表示タイプは、 VIO ダッシュボードの [VIO Probes] ウ ィンド ウで VIO 出力プローブを右ク リ ック し、 次のいずれかをク リ ッ クする と設定できます。

• [Text] : 出力をテキス ト フ ィールド と して表示します。 これが、 VIO 出力プローブ ベクター (幅が 2 ビッ ト以上) の唯一の表示タイプです。

• [Toggle Button] : 出力を ト グル ボタン グラフ ィ ッ クで表示します。 この表示タイプは、 VIO 出力プローブ スカラーおよび VIO 出力プローブ ベクターの個々のエレ メン トにのみ選択可能です。

VIO 出力プローブの表示タイプを [Text] に設定する と、 基数を変更できます。 これには、 [Debug Probes] ウ ィンド ウの [VIO Cores] ビューで VIO 出力プローブを右ク リ ッ ク し、 次のいずれかを選択します。

• [Radix] → [Binary] : 基数を 2 進数に設定します。

• [Radix] → [Octal] : 基数を 8 進数に設定します。

• [Radix] → [Hex] : 基数を 16 進数に設定します。

• [Radix] → [Unsigned] : 基数を符号なしの 10 進数に設定します。

• [Radix] → [Signed] : 基数を符号付きの 10 進数に設定します。

VIO 出力プローブの基数は、 Tcl コマンドでも設定できます。 たとえば、 vio_slice5_fb_2 という VIO 出力プローブの基数を 16 進数に設定するには、 次の Tcl コマンドを使用します。

set_property OUTPUT_VALUE_RADIX HEX [get_hw_probes vio_slice5_fb_2]

VIO コアの出力プローブのリセッ ト

VIO v2.0 コアでは、 各出力プローブ ポートの初期値を指定できます。 VIO コアの出力プローブ ポート をこれらの初期値にリセッ トするには、 [Hardware] ウ ィンド ウで VIO コアを右ク リ ッ ク し、 [Reset VIO Core Outputs] をク リ ッ ク します。 Tcl コマンドで VIO コアの出力を リセッ トするには、 次のコマンドを使用します。

reset_hw_vio_outputs [get_hw_vios {hw_vio_1}]

注記 : VIO 出力プローブを初期値にリセッ トする と、 出力プローブの値が Vivado IDE と同期しなくなる可能性があり ます。 この状況の対処方法は、 VIO コアの出力値を Vivado IDE に同期を参照して ください。

Vivado プログラムおよびデバッグ 152UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 153: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

VIO コアの出力値を Vivado IDE に同期

VIO 出力を リセッ ト 、 FPGA を再プログラム、 または現在のインスタンスが開始する前に Vivado ツールの別のインスタンスで出力値を設定する と、 VIO コアの出力プローブが Vivado IDE と同期しな くな り ます。 この場合、 VIO ステータスが 「Outputs out-of-sync」 とな り、 次のいずれかの操作を実行する必要があ り ます。

• [Hardware] ウ ィンド ウで VIO コアを右ク リ ッ ク して [Commit VIO Core Outputs] をク リ ッ ク し、 Vivado IDE からの値を VIO コアに書き込みます。 次の Tcl コマンドでも同じ操作を実行できます。

commit_hw_vio [get_hw_vios {hw_vio_1}]

• [Hardware] ウ ィンド ウで VIO コアを右ク リ ッ ク して [Refresh Input and Output Values from VIO Core] をク リ ッ クし、 Vivado IDE を VIO コア出力プローブ ポートの現在の値でアップデート します。 次の Tcl コマンドでも同じ操作を実行できます。

refresh_hw_vio -update_output_values 1 [get_hw_vios {hw_vio_1}]

JTAG-to-AXI Master デバッグ コアを使用したハードウェア システム通信

JTAG-to-AXI Master デバッグ コアはカスタマイズ可能なコアで、 AXI ト ランザクシ ョ ンを生成し、 ランタイム時に AXI 信号を FPGA 内部に駆動できます。 このコアは、 すべてのメモ リ マップされた AXI および AXI-Lite インターフェイスをサポート し、 32 または 64 ビッ トのデータ幅のインターフェイスをサポートできます。

デザインに追加した JTAG-to-AXI Master (JTAG-AXI) コアは、 [Hardware] ウ ィンド ウのターゲッ ト デバイスの下に表示されます。 JTAG-AXI コアが表示されていない場合は、 デバイスを右ク リ ッ ク して [Refresh Hardware] をク リ ッ クします。 FPGA デバイスが再度スキャンされ、 [Hardware] ウ ィンド ウの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても ILA コアが表示されない場合は、 デバイスが正しい .bit ファイルでプログラムされているか、 インプリ メン ト済みデザインに ILA コアが含まれているかを確認して ください。

JTAG-AXI コア (図 10-39 の hw_axi_1) をク リ ッ クする と、 [AXI Core Properties] ウ ィン ド ウにプロパティが表示されます。

ハードウェアの JTAG-to-AXI Master デバッグ コアへのアクセス

JTAG-to-AXI Master デバッグ コアは、 Tcl コマンドを使用してのみアクセスできます。 AXI 読み出しおよび書き込みト ランザクシ ョ ンの作成と実行には、それぞれ create_hw_axi_txn および run_hw_axi コマンドを使用します。

X-Ref Target - Figure 10-39

図 10-39 : [Hardware] ウィンドウに表示される JTAG-to-AXI Master コア

Vivado プログラムおよびデバッグ 153UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 154: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

JTAG-to-AXI Master デバッグ コアのリセッ ト

ト ランザクシ ョ ンを作成して実行する前に、 次の Tcl コマンドを使用して JTAG-to-AXI Master コアを リセッ ト しておく必要があ り ます。

reset_hw_axi [get_hw_axis hw_axi_1]

読み出し ト ランザクシ ョ ンの作成と実行

AXI ト ランザクシ ョ ンの作成に使用する Tcl コマンドは、 create_hw_axi_txn です。 このコマンドの使用方法は、Vivado IDE の [Tcl Console] ウ ィンド ウに 「help create_hw_axi_txn」 と入力する と表示されます。 次に、 アドレス 0 からの 4 ワードの AXI 読み出しバース ト ト ランザクシ ョ ンを作成する例を示します。

create_hw_axi_txn read_txn [get_hw_axis hw_axi_1] -type READ -address 00000000 -len 4

説明 :

• read_txn : ト ランザクシ ョ ンのユーザー定義名

• [get_hw_axis hw_axi_1] : hw_axi_1 オブジェク ト を返す

• -address 00000000 : 開始アドレス

• -len 4 : AXI バース ト長を 4 ワードに設定

この後、 run_hw_axi コマンドを使用して作成した ト ランザクシ ョ ンを実行します。 次にその例を示します。

run_hw_axi [get_hw_axi_txns read_txn]

後に、 読み出されたデータを ト ランザクシ ョ ンを実行した結果と して取得します。 データを画面に表示するには report_hw_axi_txn または report_property コマンドのいずれかを使用できます。 また、 get_property コマンドを使用して、 その戻り値をほかのコマンドで使用できます。

report_hw_axi_txn [get_hw_axi_txns read_txn]

0 00000000 000000008 00000000 00000000

report_property [get_hw_axi_txns read_txn]

Property Type Read-only Visible ValueCLASS string true true hw_axi_txnCMD.ADDR string false true 00000000CMD.BURST enum false true INCRCMD.CACHE int false true 3CMD.ID int false true 0CMD.LEN int false true 4CMD.SIZE enum false true 32DATA string false true 00000000000000000000000000000000HW_AXI string true true hw_axi_1NAME string true true read_txnTYPE enum false true READ

Vivado プログラムおよびデバッグ 154UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 155: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

書き込みト ランザクシ ョ ンの作成と実行

次に、 アドレス 0 からの 4 ワードの AXI 書き込みバース ト ト ランザクシ ョ ンを作成する例を示します。

create_hw_axi_txn write_txn [get_hw_axis hw_axi_1] -type WRITE -address 00000000 \-len 4 -data {11111111_22222222_33333333_44444444}

説明 :

• write_txn : ト ランザクシ ョ ンのユーザー定義名

• [get_hw_axis hw_axi_1] : hw_axi_1 オブジェク ト を返す

• -address 00000000 : 開始アドレス

• -len 4 : AXI バース ト長を 4 ワードに設定

• -data {11111111_22222222_33333333_44444444} : LSB (例 : address 0) から MSB (例 : address 3) に向かって指定します。

この後、 run_hw_axi コマンドを使用して作成した ト ランザクシ ョ ンを実行します。 次にその例を示します。

run_hw_axi [get_hw_axi_txns write_txn]

重要 : デバイスを再プログラムする と、 既存のすべての jtag_axi ト ランザクシ ョ ンは削除されます。 これらの ト ランザクシ ョ ンを再作成する必要がある場合があ り ます。

ヒン ト : run_hw_axi Tcl コマンドで -queue オプシ ョ ンを使用する と、 キュー モードの hw_axi ト ランザクシ ョ ンを指定できます。 キュー モードでは、 JTAG to AXI Master FIFO に 16 個の読み出し ト ランザクシ ョ ンと 16 個の書き込みト ランザクシ ョ ンを待機させ、 ト ランザクシ ョ ン間のレイテンシを短く し、 パフォーマンスを向上するため、 連続発行できます。 キューに挿入しない ト ランザクシ ョ ンは、 送信される と同時に実行されます。

ラボ環境での Vivado ロジック解析の使用

Vivado ロジッ ク解析機能は Vivado IDE および Vivado Lab Edition に含まれています。ラボ環境で Vivado ロジッ ク解析機能を使用してターゲッ ト ボード上で実行されているデザインをデバッグするには、 次のいずれかを実行します。

• ラボ マシンに Vivado Lab Edition をインス トールして実行します。 詳細は、 第 2 章 「Vivado Lab Edition」 を参照してください。

• ラボ マシンに Vivado IDE をインス トールして実行します。

• リモート ラボ マシンに 新版の Vivado Design Suite または Vivado ハードウェア サーバー (スタンドアロン) をインス トールし、 ローカル マシンの Vivado ロジッ ク解析機能を使用して Vivado ハードウェア サーバー (hw_server) のリモート インスタンスに接続します。

ラボ マシンで動作中の hw_server サーバーへの接続

ラボ マシンへのネッ ト ワーク接続がある場合、 リモート ラボ マシン上で動作中のハードウェア サーバーに接続してターゲッ ト ボードに接続できます。Vivado ロジッ ク解析機能を使用してラボ マシンで動作中の Vivado ハードウェア サーバー (Windows プラ ッ ト フォームでは hw_server.bat、 Linux プラ ッ ト フォームでは hw_server) に接続するには、 次の手順に従います。

1. ラボ マシンに 新版の Vivado Design Suite または Vivado ハードウェア サーバー (スタンドアロン) をインス トールします。

Vivado プログラムおよびデバッグ 155UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 156: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

重要 : リモート ハードウェア サーバー機能のみを使用する場合は、 ラボ マシンに Vivado Design Suite のフル バージ ョ ンまたは Vivado Lab Edition をインス トールする必要はあ り ません。 ただし、 ラボ マシンで Vivado ロジッ ク解析や Vivado シ リ アル I/O 解析などの Vivado ハードウェア マネージャーの機能を使用する場合は、ラボ マシンに Vivado Lab Edition をインス トールする必要があ り ます。 また、 ハード ウェア サーバーまたは Vivado Design Suite または Vivado Lab Edition のハードウェア マネージャー機能を実行するのにソフ ト ウェア ラ イセンスは必要あ り ません。

2. リモート ラボ マシンで hw_server アプリ ケーシ ョ ンを起動します。 ラボ マシンが 64 ビッ ト Windows マシンで、Vivado ハードウェア サーバー (スタンドアロン) がデフォルトの場所にインス トールされている場合、 次のコマンドを使用します。

C:\Xilinx\VivadoHWSRV\vivado_release.version\bin\hw_server.bat

3. ラボ マシン以外のマシンで Vivado IDE を GUI モードで起動します。

4. 「ハード ウェア ターゲッ トに接続して FPGA デバイスをプログラム」 の手順に従って、 ラボ マシンに接続されているターゲッ ト ボードへの接続を開きます。 ただしこ こでは、 localhost 上の Vivado CSE サーバーに接続するのではなく、 ラボ マシンのホス ト名を使用します。

5. 「計測のための ILA コアの設定」 以降の手順に従って、 ハード ウェア上でデザインをデバッグします。

ハードウェア マネージャーの Tcl オブジェク トおよびコマンド

テス ト中のハード ウェアにアクセスするには、 Tcl コマンドを使用できます。 ハード ウェアには、 表 10-7 に示す階層ファース ト ク ラス Tcl オブジェク トがあ り ます。

ハード ウェア マネージャー コマンドの詳細は、 [Tcl Console] ウ ィンド ウに 「help -category hardware」 と入力してください。

表 10-7 : ハードウェア マネージャーの Tcl オブジェク ト

Tcl オブジェク ト 説明

hw_server ハードウェア サーバーを参照するオブジェク ト。 各 hw_server オブジェク トには、1 つまたは複数の hw_target オブジェク ト を関連付けるこ とができます。

hw_target JTAG ケーブルまたはボードを参照するオブジェク ト。 各 hw_target オブジェク トには、 1 つまたは複数の hw_device オブジェク ト を関連付けるこ とができます。

hw_device ザイ リ ンクス FPGA デバイスなど、 JTAG チェーンに含まれるデバイスを参照するオブジェク ト。各 hw_device オブジェク トには、 1 つまたは複数の hw_ila オブジェク トを関連付けるこ とができます。

hw_ila ザイ リ ンクス FPGA デバイスに含まれる ILA コアを参照するオブジェク ト 。 各 hw_ila オブジェク トに関連付けるこ とができる hw_ila_data オブジェク トは 1 つのみです。 また、 各 hw_ila オブジェク トには 1 つまたは複数の hw_probe オブジェク ト を関連付けるこ とができます。

hw_ila_data ILA デバッグ コアからアップロード されたデータを参照するオブジェク ト。

hw_probe ILA デバッグ コアのプローブ入力を参照するオブジェク ト。

hw_vio ザイ リ ンクス FPGA デバイスに含まれる VIO コアを参照するオブジェク ト。

Vivado プログラムおよびデバッグ 156UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 157: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

hw_server の Tcl コマンド

表 10-8 に、 ハード ウェア サーバーにアクセスするために使用する Tcl コマンドを示します。

hw_target の Tcl コマンド

表 10-9 に、 ハード ウェア ターゲッ トにアクセスするために使用する Tcl コマンドを示します。

hw_device の Tcl コマンド

表 10-10 に、 hw_device にアクセスするために使用する Tcl コマンドを示します。

表 10-8 : hw_server の Tcl コマンド

Tcl コマンド 説明

connect_hw_server ハードウェア サーバーへの接続を開きます。

current_hw_server 現在のハードウェア サーバーを取得または設定します。

disconnect_hw_server ハードウェア サーバーへの接続を閉じます。

get_hw_servers ハードウェア サーバーのハードウェア サーバー名のリ ス ト を取得します。

refresh_hw_server ハードウェア サーバーへの接続を更新します。

表 10-9 : hw_target の Tcl コマンド

Tcl コマンド 説明

close_hw_target ハードウェア ターゲッ ト を閉じます。

current_hw_target 現在のハードウェア ターゲッ ト を取得または設定します。

get_hw_targets ハードウェア サーバーのハードウェア ターゲッ ト名のリ ス ト を取得します。

open_hw_target ハードウェア サーバー上のハードウェア ターゲッ トへの接続を開きます。

refresh_hw_target ハードウェア ターゲッ トへの接続を更新します。

表 10-10 : hw_device の Tcl コマンド

Tcl コマンド 説明

current_hw_device 現在のハードウェア デバイスを取得または設定します。

get_hw_devices ターゲッ トのハード ウェア デバイスのリ ス ト を取得します。

program_hw_device ザイ リ ンクス FPGA デバイスをプログラムします。

refresh_hw_device ハードウェア デバイスを更新します。

Vivado プログラムおよびデバッグ 157UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 158: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

hw_ila の Tcl コマンド

表 10-11 に、 ILA デバッグ コアにアクセスするために使用する Tcl コマンドを示します。

hw_ila_data の Tcl コマンド

表 10-12 に、 キャプチャされた ILA データにアクセスするために使用するTcl コマンドを示します。

hw_probe の Tcl コマンド

表 10-13 に、 キャプチャされた ILA データにアクセスするために使用する Tcl コマンドを示します。

表 10-11 : hw_ila の Tcl コマンド

Tcl コマンド 説明

current_hw_ila 現在のハードウェア ILA を取得または設定します。

get_hw_ilas ターゲッ トのハード ウェア ILA のリ ス ト を取得します。

reset_hw_ila hw_ila の制御プロパティをデフォルト値にリセッ ト します。

run_hw_ila hw_ila を ト リガー待機状態にします。

wait_on_hw_ila すべてのデータがキャプチャされるまで待機します。

表 10-12 : hw_ila_data の Tcl コマンド

Tcl コマンド 説明

current_hw_ila_data 現在のハードウェア ILA データを取得または設定します。

display_hw_ila_data hw_ila_data を波形ビューアーに表示します。

get_hw_ila_data hw_ila_data オブジェク トの リ ス ト を取得します。

list_hw_samples 1 つのハードウェア プローブに関連付けられているデータ サンプルを リ ス ト します。

read_hw_ila_data ファ イルから hw_ila_data を読み出します。

upload_hw_ila_data ILA コアでのデータのキャプチャを停止し、 キャプチャされたデータをアップロード します。

write_hw_ila_data hw_ila_data をファ イルに記述します。

表 10-13 : hw_probe の Tcl コマンド

Tcl コマンド 説明

create_hw_probe 物理的な ILA プローブ ポートおよび定数値から新しいハード ウェア プローブを作成します。

delete_hw_probe create_hw_probe コマンドを使用して作成したユーザー定義ハードウェア プローブを削除します。

get_hw_probes ハードウェア プローブのリ ス ト を取得します。

Vivado プログラムおよびデバッグ 158UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 159: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

hw_vio の Tcl コマンド

表 10-14 に、 VIO コアにアクセスするために使用する Tcl コマンドを示します。

hw_axi および hw_axi_txn の Tcl コマンド

表 10-15 に、 JTAG-to-AXI Master コアにアクセスするために使用する Tcl コマンドを示します。

hw_sysmon の Tcl コマンド

表 10-16 に、 システム モニター コアにアクセスするために使用する Tcl コマンドを示します。

表 10-14 : hw_vio の Tcl コマンド

Tcl コマンド 説明

commit_hw_vio hw_probe の OUTPUT_VALUE プロパティの値を VIO コアに書き込みます。

get_hw_vios hw_vio のリ ス ト を取得します。

refresh_hw_vio hw_vio の INPUT_VALUE および ACTIVITY_VALUE プロパティを VIO コアから読み出した値でアップデート します。

reset_hw_vio_activity 指定の hw_vio オブジェク トに関連付けられている hw_probe に対し、ACTIVITY_VALUE プロパティを リセッ ト します。

reset_hw_vio_outputs VIO コアの出力を初期値にリセッ ト します。

表 10-15 : hw_axi および hw_axi_txn の Tcl コマンド

Tcl コマンド 説明

create_hw_axi_txn ハードウェア AXI ト ランザクシ ョ ン オブジェク ト を作成します。

delete_hw_axi_txn ハードウェア AXI ト ランザクシ ョ ン オブジェク ト を削除します。

get_hw_axi_txns ハードウェア AXI ト ランザクシ ョ ン オブジェク トの リ ス ト を取得します。

get_hw_axis ハードウェア AXI オブジェク トの リ ス ト を取得します。

refresh_hw_axi ハードウェア AXI オブジェク トのステータスを更新します。

report_hw_axi_txn フォーマッ ト されたハード ウェア AXI ト ランザクシ ョ ン データをレポート します。

reset_hw_axi ハードウェア AXI コアのステート を リセッ ト します。

run_hw_axi ハードウェア AXI 読み出し /書き込みト ランザクシ ョ ンを実行し、 対応する hw_axi オブジェク トの ト ランザクシ ョ ン ステータスをアップデート します。

表 10-16 : hw_sysmon の Tcl コマンド

Tcl コマンド 説明

commit_hw_sysmon hw_sysmon オブジェク トに定義された現在のプロパティ値をハード ウェア デバイスのシステム モニター レジスタへ入れます。

get_hw_sysmon_reg 指定した hw_sysmon オブジェク トの指定アドレスに定義されたシステム モニター レジスタの 16 進数値を返します。

get_hw_sysmons 現在のハードウェア デバイスで定義されたシステム モニター デバッグ コア オブジェク ト を返します。

refresh_hw_sysmon hw_sysmon オブジェク トのプロパティを現在の hw_device からのシステム モニター の値で更新します。

set_hw_sysmon_reg 指定したアドレスのシステム モニター レジスタを指定した 16 進数値に設定します。

Vivado プログラムおよびデバッグ 159UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 160: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

注記 : これらの各コマンドの詳細なヘルプは、 Vivado の [Tcl Console] ウ ィンド ウに 「<command name> -help」と入力する と取得できます。

Tcl コマンドを使用した JTAG-to-AXI Master コアへのアクセス

次のよ うなシステムにアクセスする Tcl コマンド スク リプ トの例を示します。

• localhost:3121 上の Vivado hw_server を介してアクセス可能な 1 つの KC705 ボードの Digilent JTAG-SMT1 ケーブル (シ リ アル番号 12345) が使用されている。

• KC705 ボード上の XC7K325T デバイスで実行されるデザインに JTAG-to-AXI Master コアが 1 つ含まれている。

• JTAG-to-AXI Master コアが AXI BRAM Controller Slave コアを含む AXI ベース システムに含まれている。

Tcl コマンド スクリプ ト例

# Connect to the Digilent Cable on localhost:3121 connect_hw_server -url localhost:3121 current_hw_target [get_hw_targets */xilinx_tcf/Digilent/12345]open_hw_target

# Program and Refresh the XC7K325T Devicecurrent_hw_device [lindex [get_hw_devices] 0]refresh_hw_device -update_hw_probes false [lindex [get_hw_devices] 0]set_property PROGRAM.FILE {C:/design.bit} [lindex [get_hw_devices] 0]set_property PROBES.FILE {C:/design.ltx} [lindex [get_hw_devices] 0]program_hw_devices [lindex [get_hw_devices] 0]refresh_hw_device [lindex [get_hw_devices] 0]

# Reset the JTAG-to-AXI Master corereset_hw_axi [get_hw_axis hw_axi_1]

# Create a read transaction bursts 128 words starting from address 0create_hw_axi_txn read_txn [get_hw_axis hw_axi_1] -type read \-address 00000000 -len 128

# Create a write transaction bursts 128 words starting at address 0# using a repeating fill value of 11111111_22222222_33333333_44444444# (where LSB is to the left)create_hw_axi_txn write_txn [get_hw_axis hw_axi_1] -type write \-address 00000000 -len 128 -data {11111111_22222222_33333333_44444444}

# Run the write transactionrun_hw_axi [get_hw_axi_txns wrte_txn]

# Run the read transactionrun_hw_axi [get_hw_axi_txns read_txn]

Vivado プログラムおよびデバッグ 160UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 161: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

ILA を測定する Tcl コマンドの使用

次のよ うなシステムにアクセスする Tcl コマンド スク リプ トの例を示します。

• localhost:3121 上の Vivado CSE サーバーを介してアクセス可能な 1 つの KC705 ボードの Digilent JTAG-SMT1 ケーブル (シ リ アル番号 12345) が使用されている。

• KC705 ボード上の XC7K325T デバイスで実行されているデザインに ILA コアが 1 つ含まれている。

• ILA コアに counter[3:0] というプローブが含まれている。

Tcl コマンド スクリプ ト例

# Connect to the Digilent Cable on localhost:3121connect_hw_server -url localhost:3121current_hw_target [get_hw_targets */xilinx_tcf/Digilent/12345]open_hw_target

# Program and Refresh the XC7K325T Devicecurrent_hw_device [lindex [get_hw_devices] 0]refresh_hw_device -update_hw_probes false [lindex [get_hw_devices] 0]set_property PROGRAM.FILE {C:/design.bit} [lindex [get_hw_devices] 0]set_property PROBES.FILE {C:/design.ltx} [lindex [get_hw_devices] 0]program_hw_devices [lindex [get_hw_devices] 0]refresh_hw_device [lindex [get_hw_devices] 0]

# Set Up ILA Core Trigger Position and Probe Compare Valuesset_property CONTROL.TRIGGER_POSITION 512 [get_hw_ilas hw_ila_1]set_property COMPARE_VALUE.0 eq4'b0000 [get_hw_probes counter]

# Arm the ILA trigger and wait for it to finish capturing datarun_hw_ila hw_ila_1wait_on_hw_ila hw_ila_1

# Upload the captured ILA data, display it, and write it to a filecurrent_hw_ila_data [upload_hw_ila_data hw_ila_1]display_hw_ila_data [current_hw_ila_data]write_hw_ila_data my_hw_ila_data [current_hw_ila_data]

Vivado プログラムおよびデバッグ 161UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 162: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

スタートアップ時のト リガー

スタート アップ時の ト リガーは、 デバイス スタート アップ直後にト リガーされるよ うに、 デザインの .bit ファ イルの ILA コアの ト リガー設定をコンフ ィギュレーシ ョ ンするために使用されます。 これには、 ハード ウェアのデザインで通常実行される ILA コアに適用されたさまざまな ト リガー設定を、 インプリ メン ト されたデザインの ILA コアに適用します。

重要 : スタート アップ時の ト リガーを使用した次のプロセスでは、 ハード ウェアで動作する有効な ILA デザインがあ り、 合成フローで ILA コアがフラ ッ ト化されていないこ とを想定しています。

スタート アップ時の ト リガー機能を使用するには、 次の手順に従います。

1. 1 回目の ILA フローを通常どおり実行し、 ト リガー条件を設定します。

a. ターゲッ ト を開いてデバイスをコンフ ィギュレーシ ョ ンし、 ILA ダッシュボードを立ち上げます。

b. ILA ダッシュボードで ILA コアに対する ト リガー式を入力します。

2. Vivado の Tcl コマンド ラインから、 ILA コアの ト リガー レジスタ マップ ファ イルをエクスポート します。 このファ イルには、 インプ リ メン ト後のネッ ト リ ス トにすべてのレジスタ設定を戻すための情報が含まれます。 この出力は、 1 つのファイルです。

% run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]

3. Vivado IDE に戻って前にインプリ メン ト した配線済みデザインを開きます。 これを実行する方法は、 プロジェク ト フローによって異なり ます。

a. プロジェク ト モード : Flow Navigator を使用してインプ リ メン ト済みデザインを開きます。

b. 非プロジェク ト モード : 配線済みのチェッ クポイン ト %open_checkpoint <file>.dcp を開きます。

4. [Tcl Console] ウ ィンド ウでメモ リ内の現在のデザイン (配線済みネッ ト リ ス ト ) にト リガー設定を適用します。

%apply_hw_ila_trigger ila_trig.tas

注記 : ILA コアが合成中にフラ ッ ト化されているこ とを示すエラー メ ッセージが表示されたら、 デザインを生成し直して、 合成で ILA コアの階層が保持されるよ うにします。 ハード ウェアで動作する有効な ILA デザインが含まれており、 ILA コアが合成フロー中にフラ ッ ト化されないよ うにしてください。

5. [Tcl Console] ウ ィンド ウで、 スタート アップ時の ト リガー設定を使用してビッ ト ス ト リームを書き出します。

重要 : 配線済みデザインの変更を認識させるには、 これを Tcl コマンド コンソールで実行する必要があ り ます。 write_bitstream trig_at_startup.bit

6. ハードウェア マネージャーに戻り、 前の手順で生成した新しい .bit ファ イルを使用して リ コンフ ィギュレーシ ョ ンします。 アップデート された .bit ファ イル ディ レク ト リのプロパティを GUI か Tcl コマンドのいずれかから設定する必要があ り ます。 ハード ウェア ツールでのコンフ ィギュレーシ ョ ンで新しい .bit ファ イルが使用されるよ うに設定してください。

a. ハードウェア ツ リーでデバイスを選択します。

b. 手順 5 で生成した .bit ファ イルを割り当てます。

7. 新しい .bit ファ イルを使用してデバイスをプログラムします。

プログラムする と、 新しい ILA コアはスタート アップ時にすぐに ト リガー待機状態になり ます。 ILA コアの ト リガー キャプチャ ステータスに、 その状態が示されます。 これで、 ト リガーまたはキャプチャ イベン トが発生したときに、 ILA コアにキャプチャされたデータ サンプルが含まれるよ うにな り ます。

Vivado プログラムおよびデバッグ 162UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 163: Vivado Design Suite - Xilinx

第 10 章 : ハードウェアでのロジック デザインのデバッグ

Memory Interface Generator (MIG)Vivado Memory Interface Generator (MIG) には、 デバッグ サポートが含まれています。 MIG IP は、 コアの設定、 キャリブレーシ ョ ン、 およびデータ ウ ィンド ウ情報を内部 BRAM 内に保存します。 この情報は、 MIG のデバッグ インターフェイスを使用していつでも読み出し、 MIG IP から有益な統計およびフ ィードバッ クを取得できます。 情報は、Vivado ハードウェア マネージャーの MIG デバッグ GUI または MIG デバッグ Tcl コマンドを使用して表示できます。

MIG デバッグ GUI の使用 デバイスをコンフ ィギュレーシ ョ ンする と、 Vivado ハードウェア マネージャーに MIG デバッグ コアとその内容が表示されます。

MIG デザインにはデバッグ インターフェイスが含まれており、 キャ リブレーシ ョ ン ステータスをすばやく特定し、ウ ィ ンド ウ マージンを読み出したり書き込んだりするために使用できます。 このデバッグ インターフェイスは、 生成された MIG (UltraScale™ および 7 Series) デザインに常に含まれます。

MIG デバッグ Tcl コマンドの使用

Vivado ハードウェア マネージャーでハードウェアに接続したら、 Vivado の [Tcl Console] ウ ィンド ウで次のコマンドを使用して、 すべてのデバッグ MIG の内容を Vivado IDE に表示できます。

• get_hw_migs

° デザインに存在する MIG コアを表示します。

• refresh_hw_mig [lindex [get_hw_migs] 0]

° 指定したインデッ クス番号の MIG コアのみを更新します (インデッ クスは 0 から開始)。

• report_propery[lindex [get_hw_migs] 0]

° MIG コアのすべてのパラ メーターをレポート します。

° 0 は、 レポートする MIG コアのインデッ クスです (インデッ クスは 0 から開始)。

詳細は、 次のアンサーの MIG UltraScale または MIG 7 Series のデバッグ コマンドを参照してください。

• ザイ リ ンクス アンサー 43879 : MIG 7 Series DDR3/DDR2 - ハードウェア デバッグ ガイ ド

• ザイ リ ンクス アンサー 60305 : Memory Interface UltraScale DDR4/DDR3 - ハードウェア デバッグ ガイ ド

X-Ref Target - Figure 10-40X-Ref Target - Figure 10-41X-Ref Target - Figure 10-42

図 10-42 : MIG デバッグ インターフェイス

Vivado プログラムおよびデバッグ 163UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 164: Vivado Design Suite - Xilinx

第 11 章

波形ビューアーを使用した ILA プローブ データの表示

概要 Vivado® 統合設計環境 (IDE) の ILA 波形ビューアーを使用する と、 ILA デバッグ コアからキャプチャされたデータを解析できます。 ILA コアを ト リガーしてデータをキャプチャする と、 ILA コアから取得されたデータが対応する波形ビューアーに表示されます。 Vivado をプロジェク ト モードで使用している場合、 色、 基数、 信号の順序などの設定可能な波形設定は保持され、 その後の Vivado セッシ ョ ンでも使用されます。

ILA データと波形の関係

キャプチャされた ハードウェア ILA データ オブジェク ト (hw_ila_data) と波形の関係を理解しておく と有益です。 この関係を図 11-1 に示します。

ハードウェア ILA Tcl オブジェク ト (hw_ila) は、 ハード ウェア内の ILA を示します。 ILA コアがキャプチャされたデータをアップロードするたびに、 対応する hw_ila_data Tcl オブジェク トに保存されます。 これらのオブジェクトにはわかりやすい名前が付けられ、 ハード ウェアの 初の ILA コア hw_ila_1 に対応する Tcl データ オブジェクトの名前は hw_ila_data_1 とな り ます。 オンラインでハード ウェアを操作する際、 図 11-1 に示すよ うに、 各波形はメモ リ内の hw_ila_data オブジェク トが基になっており、 1 対 1 で対応しています。各 hw_ila_data Tcl ハードウェア ILA データ オブジェク トに対して、 波形データベース (WDB) ファ イルと波形コンフ ィギュレーシ ョ ン (WCFG) ファ イルが作成され、 Vivado プロジェク トのディ レク ト リに自動的に保存されます。 図 11-1 には、 左側の hw_ila から右側の波形表示へのデータ フローが示されています。

波形コンフ ィギュレーシ ョ ン (WCFG) ファ イルと波形データベース (WDB) ファ イルの組み合わせに、 波形データベースと Vivado 波形ビューアーでの表示のカスタマイズ情報が含まれます。 これらの波形ファイルは Vivado ILA フローで自動的に管理されるので、 WDB または WCFG ファ イルを直接変更しないでください。 波形コンフ ィギュレーシ ョ ンを変更するには、 波形ビューアーのオブジェク ト (信号の色、 バスの基数、 信号の順序、 マーカーなど) を変更し、 [Save] ボタンをク リ ッ ク します。 これによ り波形コンフ ィギュレーシ ョ ンの変更が Vivado プロジェク トの適切な WCFG ファ イルに保存されます。

X-Ref Target - Figure 11-1

図 11-1 : ILA データと波形の関係

Vivado プログラムおよびデバッグ 164UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 165: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

波形コンフ ィギュレーシ ョ ンおよびデータを後で表示するためにアーカイブするには、 Tcl コマンド write_hw_ila_data を使用します。 これによ り、 hw_ila_data、 波形データベース、 および波形コンフ ィギュレーシ ョ ンがアーカイブに保存されます。 オフラインでの波形の保存および読み出しにおける read_hw_ila_data および write_hw_ila_data コマンドの使用に関する詳細は、 「ILA コアでキャプチャされたデータの保存および復元」 を参照してください。

波形ビューアーのレイアウト ILA 波形ビューアー (波形コンフ ィギュレーシ ョ ンと も呼ばれる ) は複数のダイナミ ッ ク オブジェク トで構成されており、 これらによ りキャプチャされた ILA データが表示されます (図 11-2)。

図 11-2 に示す各要素は、 次のとおりです。

1. ILA プローブ ファ イル (.ltx) からのネッ ト名またはバス名

2. カーソル位置でのネッ ト またはバスの値

3. ト リ ガー マーカー (赤線)

4. カーソル (黄色の線)

5. マーカー (青線)

6. ILA キャプチャ ウ ィンド ウの遷移 (ク リ ア部分とグレー部分を交互に表示)

7. フロート計測ルーラー (黄色のバー )

X-Ref Target - Figure 11-2

図 11-2 : キャプチャされた ILA データを表示する波形ビューアー

Vivado プログラムおよびデバッグ 165UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 166: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

波形ビューアーの操作 波形ビューアーの [Name] 列に示されるスカラーおよびバスは、 波形のプローブ デザイン オブジェク トの名前です (図 11-3)。 これらは、 ILA コアのハード ウェア プローブに対応します (get_hw_probes Tcl コマンドを参照)。

ILA データを初めて ト リガーしてアップデートする と、 波形ビューアーに ILA コアに接続されているすべてのプローブが表示されます。 ビューアーに示されるプローブはカスタマイズ可能で、 既存のプローブを削除したり新しいプローブを追加したりできます。 このセクシ ョ ンでは、 波形ビューアーの基本的な操作を説明します。

波形からのプローブの削除 初回のト リガーおよびアップロード操作によ り、 すべてのプローブがデフォルトで波形に追加されます。 波形にすべてのプローブを表示する必要がない場合は、 ビューアーからプローブを削除できます。

波形ビューアーからプローブを削除するには、 [Name] 列で削除するスカラーまたはバスを右ク リ ッ ク し、 [Delete] をク リ ッ ク します。 または、 信号またはバスを選択して Delete キーを押しても削除できます。 この操作によ りプローブの遷移データがメモ リから削除されるわけではなく、 ビューでプローブが非表示になるだけです。

X-Ref Target - Figure 11-3

図 11-3 : 波形ビューアーに示される ILA プローブの名前と値

Vivado プログラムおよびデバッグ 166UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 167: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

波形へのプローブの追加 波形にプローブを追加するには、 [Debug Probes] ウ ィンド ウで関連の ILA コアに追加するプローブを右ク リ ッ ク し、[Add Probes to Waveform] をク リ ッ ク します。

信号またはバスのコピーを追加するには、 [Waveform] ウ ィンド ウで信号またはバスを選択し、 [Edit] → [Copy] をクリ ッ クするか Ctrl+C キーを押してク リ ップボードにコピーして、 [Edit] → [Paste] をク リ ッ クするか Ctrl+V キーを押して波形にオブジェク トのコピーを貼り付けます。

波形 ILA ト リガーおよびエクスポート機能の使用

[Enable Auto Re-Trigger] : [Waveform] ウ ィンド ウの [Enable Auto Re-Trigger] ツールバー ボタンをク リ ッ クする と、 トリガー、 アップロード、 表示操作が正し く完了した後に、 [Waveform] ウ ィンド ウに関連付けられている ILA コアが自動的にト リガー待機状態になり ます。

[Waveform] ウ ィンド ウに表示された ILA コアに対応するキャプチャ データは、 ト リ ガー イベン ト ごとに上書きされます。 [Auto Re-Trigger] オプシ ョ ンは、 [Run Trigger] および [Run Trigger Immediate] コマンド と共に使用できます。 動作中のト リガーを停止するには、 [Stop Trigger] をク リ ッ ク します。

[Run Trigger] : [Waveform] ウ ィンド ウに関連付けられている ILA コアを ト リガー待機状態にし、 ILA コアの BASIC または ADVANCED ト リ ガー設定で定義された ト リガー イベン トが検出されるよ うにします。

[Run Trigger Immediate] : [Waveform] ウ ィ ン ド ウに関連付けられている ILA コアを ト リ ガー待機状態にし、 ILA コアの BASIC または ADVANCED ト リ ガー設定で定義された ト リガー イベン トが検出されるよ うにします。 このコマンドは、 ILA コアのプローブ入力のすべてのアクティ ビティ をキャプチャして、 デザインの動きを検出するのに便利です。

[Stop Trigger] : [Waveform] ウ ィンド ウに関連付けられている ILA の ILA コア ト リ ガーを停止します。

X-Ref Target - Figure 11-4

図 11-4 : 波形 ILA ト リガーおよびエクスポート機能

Vivado プログラムおよびデバッグ 167UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 168: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

[Export ILA Data] : ILA コアからのデータをキャプチャし、 ファ イルに保存します。 データは、 ネイティブ、 .csv、または .vcd フォーマッ トで保存できます。 [Waveform] ウ ィンド ウのツールバー ボタンをク リ ッ クする と、 次のダイアログ ボッ クスが表示されます。

[ILA Core] でデータをエクスポートする ILA デバッグ コアの名前を選択し、 [Format] でフォーマッ ト を [Native]、[CSV]、 [VCD] のいずれかに設定します。

• [Native] : write_hw_ila_data コマンドで ILA データをデフォルトの ILA ファ イル フォーマッ トでエクスポート します。 このフォーマッ トのファ イルは Vivado にインポート して、 以前にキャプチャした ILA データを表示するのに使用できます。

• [CSV] : write_hw_ila_data コマンドで ILA データをスプレッ ドシートやサードパーティ アプリ ケーシ ョ ンにインポート可能な .csv ファイル フォーマッ トでエクスポート します。

• [VCD] : write_hw_ila_data コマンドで ILA データをサードパーティ アプリ ケーシ ョ ンまたはビューアーにインポート可能な .vcd ファ イル フォーマッ トでエクスポート します。

重要 : ILA データは CSV、 VCD、 またはネイティブ ILA フォーマッ トにエクスポートできますが、 Vivado にインポートできるのはネイティブ ILA フォーマッ トのみです。 Vivado にインポート した ILA データは、 以前にキャプチャされたデータをオフラインで表示するためにのみサポート されます。 プローブ信号を ト リガーするためなどほかの目的で使用するこ とはできません。

ズーム機能の使用 ツールバーには、 波形のズーム機能にアクセスするボタンがあ り ます (図 11-6)。 または、 Ctrl キーを押しながらマウス ホイールを使用する と、 現在選択している波形を拡大および縮小表示できます。 ズーム レベルは Vivado セッシ ョン間で保持されず、 毎回リセッ ト されます。

X-Ref Target - Figure 11-5

図 11-5 : [Export ILA Data] ダイアログ ボックス

X-Ref Target - Figure 11-6

図 11-6 : 波形のズーム ボタン

Vivado プログラムおよびデバッグ 168UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 169: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

[Waveform Options] スライ ドアウト

波形ビューアーでは、 オブジェク トの表示方法をカスタマイズできます。

[Waveforms Options] ボタンをク リ ッ クする と、 [Waveforms Options] スライ ドアウ トが開きます (図 11-7)。

設定できるオプシ ョ ンは次のとおりです。

• [Colors] タブ : 波形オブジェク トの色を選択します。

• [Default Radix] : バス プローブのデフォルトの基数を設定します。

• [Draw Waveform Shadow] : 1 と 0 を見分けやすくするため、 スカラー 1 の下に緑色の影を表示します。

• [Show signal indices] : スカラー名およびバス名の左側にインデッ クス位置番号を表示します。

• [Show trigger markers] : 波形ビューアーに赤色のト リガー マーカーを表示します。

X-Ref Target - Figure 11-7

図 11-7 : [Waveform Options] スライ ドアウト

Vivado プログラムおよびデバッグ 169UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 170: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

波形コンフ ィギュレーシ ョ ンのカスタマイズ

表 11-1 にリ ス ト されている機能を使用して、 波形コンフ ィギュレーシ ョ ンをカスタマイズできます。 この表には機能が簡単に説明されており、 機能名をク リ ッ クするその機能を説明するセクシ ョ ンに移動できます。

カーソル

カーソルは、 サンプル位置を一時的に示すために使用します。 波形エッジ間の距離 (サンプル数) を計測する場合には、 カーソルを頻繁に移動します。

ヒン ト : 複数の計測の時間軸を設定する場合など、 一時的ではないインジケーターを設定する必要がある場合は、マーカーを追加します。 詳細は、 「マーカー」 を参照してください。

波形を 1 回ク リ ッ クする と、 メ イン カーソルが配置されます。

2 つ目のカーソルを配置するには、 Ctrl キーを押しながら ク リ ッ ク し、 マウスを左または右にド ラ ッグします。 カーソルの上に位置を示すフラグが表示されます。

または、 Shift キーを押したまま波形のどこかをク リ ッ ク します。 メ イン カーソルは元の位置に、 も う一方のカーソルはク リ ッ ク した位置に配置されます。

注記 : 2 つ目のカーソルの位置を保持しながら メ イン カーソルの位置を変更するには、Shift キーを押しながら ク リ ック します。 2 つ目のカーソルをド ラ ッグして配置する場合、 小間隔以上ド ラ ッグしないと 2 つ目のカーソルは表示されません。

カーソルを移動するには、 ポインターが手のひらのマークになるまでマウスを動かし、 ク リ ッ ク して次の位置までカーソルをド ラ ッグします。

カーソルをド ラ ッグする際、 [Snap to Transtion] がオンになっている と (デフォルト )、 中が塗りつぶされていない丸または中が塗りつぶされた丸が表示されます。

• 中が塗りつぶされていない丸 は、 選択した信号の波形の遷移間にあるこ とを示します。

• 中が塗りつぶされている丸 は、 選択した信号の波形の遷移地点にあるこ とを示します。 カーソル、 マーカー、 フロート しているルーラーがない場所をク リ ッ クする と、 2 つ目のカーソルが非表示になり ます。

表 11-1 : 波形コンフ ィギュレーシ ョ ンのカスタマイズ機能

機能 説明

カーソル 2 つのカーソルを表示し、 時間を計測できます。 このカーソルの位置が、 ナビゲーシ ョ ンの基準位置になり ます。

マーカー マーカーを追加して波形をナビゲート し、 特定時の波形値を表示できます。

仕切り 信号を見やすく分けるため仕切り を追加できます。

グループ 関連した信号およびバスをグループにまとめ、 波形コンフ ィギュレーシ ョ ンに追加できます。

仮想バスの使用 論理スカラーおよび配列を追加できる仮想バスを波形コンフ ィギュレーシ ョ ンに追加できます。

オブジェク ト名の変更 オブジェク ト、 信号、 バス、 グループの名前を変更できます。

基数 デフォルト基数は、 波形コンフ ィギュレーシ ョ ン、 [Objects] ウ ィンド ウ、 およびコンソールに表示されるバスの基数を指定します。

バス ビッ トの順序 上位ビッ ト (MSB) から 下位ビッ ト (LSB)、 またはその逆にバス ビッ ト順を変更できます。

Vivado プログラムおよびデバッグ 170UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 171: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

マーカー

波形内の重要イベン ト を恒久的にマークする必要がある場合はマーカーを使用します。 マーカーが付けられたイベン トに関連する距離 (サンプル数) を計測できます。

マーカーは、 次のよ うに追加、 移動、 削除できます。

• メ イン カーソルの位置に波形コンフ ィギュレーシ ョ ンにマーカーを追加します。

a. マーカーを追加する位置のサンプル番号または遷移をク リ ッ ク して、 メ イン カーソルを配置します。

b. [Edit] → [Add Marker] をク リ ッ クするか、 または [Add Marker] ボタンをク リ ッ ク します。

カーソル位置にマーカーが配置されます。 マーカーがその位置に既にある場合は、 若干オフセッ ト されます。マーカーのサンプル番号が上部に表示されます。

• マーカーを波形上の別の位置に移動するには、 ド ラ ッグ アンド ド ロ ップします。 マーカー上部のラベルをクリ ッ ク してド ラ ッグします。

° ド ラ ッグ シンボル は、 マーカーが移動可能であるこ とを示します。 マーカーをド ラ ッグする際、[Snap to Transtion] がオンになっている と (デフォルト )、 中が塗りつぶされていない丸または中が塗りつぶされた丸が表示されます。

° 中が塗りつぶされている丸 は、 選択した信号の波形の遷移地点、 または別のマーカー上であるこ とを示します。

° マーカーの場合は、 丸は白く塗りつぶされています。

° 中が塗りつぶされていない丸 は、 選択した信号の波形の遷移間にあるこ とを示します。

° 新しい位置にマーカーをド ロ ップするには、 マウスのボタンを放します。

• 1 つのコマンドでマーカーを 1 つ、 またはすべて削除できます。 マーカーを右ク リ ッ ク して、 次のいずれかの操作を実行します。

° マーカーを 1 つ削除するには、 ポップアップ メニューから [Delete Marker] をク リ ッ ク します。

° マーカーをすべて削除するには、 ポップアップ メニューから [Delete All Markers] をク リ ッ ク します。

注記 : また、 Delete キーを使用して選択したマーカーを削除するこ と もできます。

° マーカーの削除を取り消すには、 [Edit] → [Undo] をク リ ッ ク します。

ト リガー マーカー

赤色のト リガー マーカー (赤文字の T) は、 キャプチャ バッファーでの ト リガー イベン トの発生を示す特殊マーカーです。 バッファーの ト リガー マーカーの位置は、 ト リガー位置設定に直接対応しています ( 「ILA デフォルト ダッシュボードの使用」 を参照)。

注記 : ト リ ガー マーカーは、 標準マーカーと同じ方法で移動させるこ とはできません。 位置は ILA コアの [Trigger Position] プロパティで設定します。

仕切り

仕切りは、 信号を見やすく区切り ます。 波形コンフ ィギュレーシ ョ ンに仕切り を追加するには次の手順に従います。

1. [Waveform] ウ ィンド ウの [Name] 列で、 下に仕切り を追加する信号をク リ ッ ク します。

2. [Edit] → [New Divider] をク リ ッ クするか、 右ク リ ッ ク して [New Divider] をク リ ッ ク します。

この変更は表示上のもので、 HDL コードには何も追加されません。 新しい区切りマークは、 波形コンフ ィギュレーシ ョ ン ファ イルを保存したと きに保存されます。

Vivado プログラムおよびデバッグ 171UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 172: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

仕切りは、 次の方法で移動または削除できます。

• 仕切り を移動するには、 名前を別の位置にド ラ ッグ アンド ド ロ ップします。

• 仕切り を削除するには、 Delete キーを押すか、 または右ク リ ッ ク してポップアップ メニューから [Delete] をクリ ッ ク します。

仕切りの名前を変更するこ と もできます。 詳細は、 「オブジェク ト名の変更」 を参照してください。

グループ

関連した信号をまとめるため、 波形コンフ ィギュレーシ ョ ンの信号およびバスをグループに追加できます。 またグループの中に含まれているものを展開表示させたり、 非表示にしたりできます。 グループ自体は波形データを表示しませんが、 その内容の表示/非表示を切り替えるこ とができます。 グループは追加、 変更、 削除できます。

グループを追加するには、 次の手順に従います。

1. 波形コンフ ィギュレーシ ョ ンで、 グループに追加する信号またはバスを 1 つ以上選択します。

注記 : グループには、 仕切り、 仮想バス、 ほかのグループを含めるこ とができます。

2. [Edit] → [New Group] をク リ ッ クするか、 右ク リ ッ ク して [New Group] をク リ ッ ク します。

選択した信号またはバスを含むグループが波形コンフ ィギュレーシ ョ ンに追加されます。

グループは、 グループ アイコンで表されます。

この変更は表示上のもので、 ILA コアには何も追加されません。

信号名やバス名をド ラ ッグ アンド ド ロ ップして、 グループに信号やバスを追加するこ と もできます。

グループは、 次の方法で移動または削除できます。

• グループを移動するには、 [Name] 列のグループ名を別の位置にド ラ ッグ アンド ド ロ ップします。

• グループを削除するには、 グループを選択して [Edit] → [Wave Objects] → [Ungroup] をク リ ッ クするか、 グループを右ク リ ッ ク して [Ungroup] をク リ ッ ク します。 グループに含まれていた信号またはバスは、 波形コンフ ィギュレーシ ョ ンの一番上に配置されます。

グループ名も変更できます。 詳細は、 「オブジェク ト名の変更」 を参照してください。

注意 : Delete キーを押すと、 グループと、 それに含まれている信号およびバスが波形コンフ ィギュレーシ ョ ンから削除されます。

仮想バスの使用

仮想バスを波形コンフ ィギュレーシ ョ ンに追加する と、 論理スカラーおよび配列を追加できます。 仮想バスには、バスの波形が表示されます。 仮想バスはその下に昇順で表示される信号の波形で構成されており、 1 次元配列にフラ ッ ト化されます。 追加した仮想バスは変更または削除できます。

仮想バスを追加するには、 次の手順に従います。

1. 波形コンフ ィギュレーシ ョ ンで、 仮想バスに追加する信号またはバスを 1 つ以上選択します。

2. [Edit] → [New Virtual Bus] をク リ ッ クするか、 右ク リ ッ ク して [New Virtual Bus] をク リ ッ ク します。

仮想バスは、 仮想バス アイコン で表されます。

この変更は表示上のもので、 HDL コードには何も追加されません。

Vivado プログラムおよびデバッグ 172UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 173: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

信号名やバス名をド ラ ッグ アンド ド ロ ップして、 仮想バスに信号やバスを追加するこ と もできます。 波形コンフ ィギュレーシ ョ ン ファ イルを保存する と、 新しい仮想バスとそれに含まれる信号やバスも保存されます。 また、 仮想バスの名前を波形の別位置にド ラ ッグ アンド ド ロ ップして移動できます。

仮想バスの名前を変更するには、 「オブジェク ト名の変更」 を参照してください。

仮想バスを削除し、 その中に含まれるものをグループ解除するには、 仮想バスを選択し、 [Edit] → [Wave Objects] → [Ungroup] をク リ ッ クするか、または右ク リ ッ ク してポップアップ メニューの [Ungroup] をク リ ッ ク します。

注意 : Delete キーを押すと、 仮想バスと、 それに含まれている信号およびバスが波形コンフ ィギュレーシ ョ ンから削除されます。

オブジェク ト名の変更

[Waveform] ウ ィンド ウの信号、 仕切り、 グループ、 仮想バスなどのオブジェク トの名前を変更できます。

1. [Name] 列でオブジェク ト名を選択します。

2. 右ク リ ッ ク し、 [Rename] をク リ ッ ク します。

3. 新しい名前を入力します。

4. Enter キーを押すか、 名前以外の場所をク リ ッ ク して、 変更を反映させます。

オブジェク ト名をダブルク リ ッ ク して新しい名前を入力するこ と もできます。 変更はすぐに反映されます。 波形コンフ ィギュレーシ ョ ンでのオブジェク ト名の変更は ILA コアのプローブ入力に接続されているネッ ト名には影響しません。

基数

バスのデータ型を理解するこ とは重要です。 デジタルおよびアナログの波形オプシ ョ ンを効果的に使用するには、基数設定とデータ型の関係を知っておく必要があ り ます。 基数設定およびそのアナログ波形解析への影響については、 「バスの基数」 を参照してください。

[Waveform] ウ ィンド ウで個々の信号 (ILA プローブ) の基数を変更するには、 次の手順に従います。

1. バスを右ク リ ッ ク します。

2. [Radix] をク リ ッ ク し、 ド ロ ップダウン メニューからフォーマッ ト を選択します。

° [Binary] (2 進数)

° [Hexadecimal] (16 進数)

° [Unsigned Decimal] (符号なし 10 進数)

° [Signed Decimal] (符号付き 10 進数)

° [Octal] (8 進数)

重要 : [Objects] ウ ィンド ウで基数を変更しても、 [Waveform] ウ ィンド ウまたは [Tcl Console] ウ ィンド ウの値は変更されません。 [Waveform] ウ ィンド ウで個々の信号 (ILA プローブ) の基数を変更するには、 [Waveform] ウ ィンド ウのポップアップ メニューを使用してください。

• 実数での 大バス幅は 64 ビッ トです。 64 ビッ ト よ り も幅の広いバスでは、 不正な値になる可能性があ り ます。

• 浮動小数点では 32 ビッ トおよび 64 ビッ トの配列のみがサポート されています。

Vivado プログラムおよびデバッグ 173UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 174: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

フロート ルーラーの使用

[Waveform] ウ ィンド ウの上部にある標準ルーラーの絶対サンプル値以外のサンプル値ベースを使用してサンプルを計測するには、 フロート ルーラーを使用する と便利です。

フロート ルーラーは、 表示/非表示を切り替えたり、 [Waveform] ウ ィンド ウの任意位置に移動させるこ とができます。 このルーラーのサンプル ベース (サンプル 0) は 2 番目のカーソルで、 2 番目のカーソルがない場合は選択されたマーカーになり ます。

フロート ルーラー ボタンおよびフロート ルーラーは、 2 番目のカーソル (または選択されたマーカー ) がある場合にのみ表示されます。

1. ルーラーの表示/非表示を切り替えるには、 次のいずれかを実行します。

° 2 番目のカーソルを配置

° マーカーを選択

2. [View] → [Floating Ruler] をク リ ッ クするか、 または [Floating Ruler] ボタンをク リ ッ ク します。

この操作は 初に 1 回だけ実行し、 繰り返す必要はあ り ません。 フロート ルーラーは 2 番目のカーソルが配置されるたび、 またはマーカーが選択されるたびに表示されます。

ルーラーを非表示にするには、 このコマンドをも う一度ク リ ッ ク します。

バス ビッ トの順序

波形コンフ ィギュレーシ ョ ンでバス ビッ トの順序を逆にして、 信号を MSB から表示するか、 LSB から表示するかを切り替えるこ とができます。

ビッ ト順序を逆にするには、 次の手順に従います。

1. バスを選択します。

2. 右ク リ ッ ク し、 [Reverse Bit Order] をク リ ッ ク します。

これでバス ビッ トの順序が逆になり ます。 [Reverse Bit Order] コマンドの横にチェッ ク マークが表示され、 適用されているこ とが示されます。

バスの基数

バスの値が数値と して処理される方法は、 バス波形オブジェク トの基数設定によって決ま り ます。

• 2 進数、 8 進数、 16 進数、 ASCII、 および符号なしの 10 進数の基数を使用する と、 バスの値が符号なしの整数として処理されます。 バスのデータ フォーマッ トは基数設定と一致している必要があ り ます。

• 0 または 1 以外のビッ ト を使用する と、 値すべてが 0 と して処理されます。

• 符号付きの 10 進数基数を使用する と、 バスの値が符号付き整数と して処理されます。

• 実数基数を使用する と、 バスの値は固定小数点または浮動小数点の実数と して処理されます。 これは、 図 11-8 に示す [Real Settings] ダイアログ ボッ クスの設定によって決ま り ます。

Vivado プログラムおよびデバッグ 174UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 175: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

設定できるオプシ ョ ンは次のとおりです。

• [Fixed Point] : 選択したバス波形オブジェク トのビッ トが固定小数点の符号付きまたは符号なしの実数と して処理されます。

• [Binary Point] : 2 進数小数点の右側のビッ ト数を指定します。 [Binary Point] で指定する値が波形オブジェク トのビッ ト幅よ り も大きい場合、 波形オブジェク トの値は固定小数点と しては処理されず、 波形オブジェク トがデジタル波形で表示されたと きにすべての値が <Bad Radix> と表示されます。 アナログ波形と して表示される場合、 すべての値は 0 と して処理されます。

• [Floating Point] : 選択したバス波形オブジェク トのビッ トが IEEE 浮動小数点の実数と して処理されます。

注記 : 単精度および倍精度 (および単/倍精度に設定されている値のカスタム精度) のみがサポート されています。

その他の値は、 [Fixed Point] を使用した場合と同様 <Bad Radix> 値になり ます。 [Exponent Width] および [Fraction Width] は、 波形オブジェク トのビッ ト幅に必ず追加する必要があ り、 追加されない場合は <Bad Radix> 値になり ます。

X-Ref Target - Figure 11-8

図 11-8 : [Real Settings] ダイアログ ボックス

Vivado プログラムおよびデバッグ 175UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 176: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

アナログ波形の表示

デジタル波形をアナログに変換するには、 次の手順に従います。

1. [Waveform] ウ ィンド ウの [Name] 列でバスを右ク リ ッ ク します。

2. [Waveform Style] → [Analog Settings] をク リ ッ ク して適切な設定を選択します。

バスのデジタル波形がアナログに変換されます。

アナログまたはデジタル波形の高さは、 行をド ラ ッグする と調節できます。

図 11-9 に、 アナログ波形表示を設定する [Analog Settings] ダイアログ ボッ クスを示します。

X-Ref Target - Figure 11-9

図 11-9 : [Analog Settings] ダイアログ ボックス

Vivado プログラムおよびデバッグ 176UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 177: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

[Analog Settings] ダイアログ ボッ クスのオプシ ョ ンは次のとおりです。

• [Row Height] : 選択した波形オブジェク トの高さをピクセルで指定します。 行の高さを変更しても波形の垂直方向の表示域は変わり ませんが、 波形の高さの伸縮が変わり ます。

アナログとデジタルを切り替える と き、 行の高さはそれぞれに合った適切なデフォルトの高さに設定されます (デジタルの場合は 20、 アナログの場合は 100)。

• [Y Range] : 波形エリ アに表示される数値の範囲を指定します。

° [Auto] : 表示されている時間の範囲の値が現在の範囲を超えたと きに、 表示範囲が拡大されます。

° [Fixed] : 時間範囲を一定にします。

° [Min] : 波形エリ アの一番下に表示される値を指定します。

° [Max] : 波形エリアの一番上に表示される値を指定します。

どちらの値も浮動小数点と して指定できますが、 波形オブジェク トの基数が整数の場合、 値は整数に切り捨てられます。

• [Interpolation Style] : データ ポイン ト を接続するラインの描画方法を指定します。

° [Linear] : 2 つのデータ ポイン ト間のラインを直線にします。

° [Hold] : 2 つのデータ ポイン トのうち、 左のポイン トから右のポイン トの X 軸に向かって水平ラインを描画し、 そのラインから右のポイン トに向かって別のラインを L 字型に描画します。

° [Off Scale] : 波形エリ アの Y 軸を超えた値をどのよ うに描画するかを指定します。

° [Hide] : 範囲外にある値を非表示にします。 波形エリ アの上下の範囲外にあるものは、 範囲内に戻るまでは非表示になり ます。

° [Clip] : 範囲外にある値は変更され、 波形エリ アの上下境界線を超える と範囲内に戻るまでは水平ラインとして表示されます。

° [Overlap] : 波形エリ アの境界線を越えていて、 ほかの波形と重なっていても、 [Waveform] ウ ィンド ウの境界に達するまでは波形の値がどこにあっても波形が描画されます。

• [Horizontal Line] : 指定した値で水平方向のラインを描画するかど うか指定します。 このチェッ クボッ クスがオンの場合、 グ リ ッ ド ラ インが指定した Y 軸の位置で描画されます (値が波形の Y 軸の範囲内にある場合)。

[Min] および [Max] の場合と同様、 Y 軸の値には浮動小数点値を指定できますが、 選択した波形オブジェク トの基数が整数の場合は、 整数値に切り捨てられます。

重要 : アナログ設定は波形コンフ ィギュレーシ ョ ンに保存されますが、 Y 軸方向のズーム コン ト ロールは非常にインタラ クティブであるため、 基数などのほかの波形プロパティ とは異なり、 波形コンフ ィギュレーシ ョ ンの変更には影響しません。 このため、 ズーム設定は波形コンフ ィギュレーシ ョ ンには保存されません。

Vivado プログラムおよびデバッグ 177UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 178: Vivado Design Suite - Xilinx

第 11 章 : 波形ビューアーを使用した ILA プローブ データの表示

ズーム機能

X 軸方向のズームでサポート されている機能に加え、 アナログ波形の場合は、 図 11-10 に示す追加のズーム機能があり ます。

ズーム機能を使用するには、 マウスの左ボタンを押したまま、 図で示されている方向にマウスをド ラ ッグします。この図の中央がマウスの位置です。

次の追加ズーム機能があ り ます。

• [Zoom Out Y] : 開始点からマウス ボタンを放した位置までの距離によ り、 2 のべき乗分 Y 軸方向にズーム アウト します。 開始点のマウス位置の Y 値をそのまま維持してズームが実行されます。

• [Zoom Y Range] : 縦方向にラインを描き、 マウス ボタンを離した位置までの Y 軸の範囲を表示します。

• [Zoom In Y] : 開始点からマウス ボタンを放した位置までの距離によ り、 2 のべき乗分 Y 軸方向にズーム インします。

開始点のマウス位置の Y 値をそのまま維持してズームが実行されます。

• [Reset Zoom Y] : [Waveform] ウ ィンド ウに現在表示されている値に Y の範囲を リセッ ト し、 Y の範囲モードを [Auto] に設定します。

Y 軸の方向のズーム機能はすべて Y の範囲のアナログ値を設定します。 [Reset Zoom Y] は Y の範囲を [Auto] に設定しますが、 ほかのズーム機能は [Fixed] に設定します。

X-Ref Target - Figure 11-10

図 11-10 : アナログ ズームのオプシ ョ ン

Vivado プログラムおよびデバッグ 178UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 179: Vivado Design Suite - Xilinx

第 12 章

インプリ メンテーシ ョ ン後のデザインのデバッグ

インプ リ メンテーシ ョ ン後、 デバッグ コアを変更、 追加、 または削除する必要があるこ とがあ り ます。 Vivado® Design Suite では、 これには 2 つの方法があ り ます。

ILA コアへの既存の接続を置き換えるには、 ECO フローを使用するこ とをお勧めします。 ECO フローは、 インプリメン ト済みチェッ クポイン ト (DCP) に対して実行され、 デザイン全体を再配線するのにかかる時間を節約できます。

新規 ILA コアを追加、既存の ILA コアを削除、 または既存の ILA コアを変更する場合は (プローブ幅の変更、データ深さの変更など)、 インク リ メンタル コンパイル フローを使用するこ とをお勧めします。 デバッグ コア用のインクリ メンタル コンパイル フローは、 合成済みデザインまたはチェッ クポイン ト (DCP) に対して実行し、 基準のインプリ メン ト済みチェッ クポイン ト (理想的には前回のインプリ メンテーシ ョ ン run からのチェッ クポイン ト ) を使用します。 これによ り、 デザイン全体を再インプリ メン トするのにかかる時間を節約できます。

この後のセクシ ョ ンで、 これらのデバッグに関連するフローを詳細に説明します。

Vivado ECO フローを使用した既存のデバッグ プローブの置き換え

配置配線済みのデザイン チェッ クポイン トで、 ILA コアに接続されているデバッグ ネッ ト を置き換えるこ とができます。 これには、 通常エンジニア リ ング チェンジ オーダー (ECO) を使用します。 これは、 完成に近づいており、ILA プローブ ポートに接続されているネッ ト を置き換える必要があるデザインに使用されるアドバンス デザイン フローです。 この方法には、 次の 2 つの利点があ り ます。

• 時間の節約 : 異なるネッ ト をプローブしている既存のデバッグ ネッ ト を置換できます。

• 変更が 小限 : プローブ ネッ ト を置き換えた後、 これらのネッ ト をデバッグ コアの入力に配線する必要があ ります。 デザインのそれ以外の部分は変更されず、 以前のインプリ メンテーシ ョ ン結果が保持されるだけでなく、再インプ リ メン トによ りバグが隠されてしま う可能性を削減します。

重要 : このフローは、 ILA コアが既にインスタンシエート または挿入されているデザインでのみ使用可能です。

Vivado プログラムおよびデバッグ 179UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 180: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

図 12-1 に、 ECO デザイン フローを使用したデバッグ ネッ トの置換プロセスを示します。

X-Ref Target - Figure 12-1

図 12-1 : デバッグ ECO デザイン フロー

Vivado プログラムおよびデバッグ 180UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 181: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

配置配線済みデザイン チェ ックポイン トのデバッグ プローブの置換

Vivado ハードウェア マネージャーを使用してデバイスにプログラムされたデザインをデバッグする際、 デバッグ用にプローブするネッ ト を別のネッ トに置き換える必要がある場合があ り ます。 RTL コードを変更したり、 挿入されたデバッグ コアでプローブするネッ ト を変更したりする代わりに、 ECO フローを使用してデバッグ ネッ ト を置き換えるこ とができます。

ECO フローを使用するには、 Vivado IDE で配置配線済みチェッ クポイン ト (DCP) を開き、 レイアウ ト を [ECO] に変更します。

X-Ref Target - Figure 12-2

図 12-2 : [ECO] レイアウトの選択

Vivado プログラムおよびデバッグ 181UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 182: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

Flow Navigator が ECO Navigator に変更され、 異なるオプシ ョ ンが表示されます。

X-Ref Target - Figure 12-3

図 12-3 : ECO Navigator

Vivado プログラムおよびデバッグ 182UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 183: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

ECO Navigator で [Replace Debug Probes] をク リ ッ ク して [Replace Debug Probes] ダイアログ ボッ クスを開きます。

X-Ref Target - Figure 12-4

図 12-4 : [Replace Debug Probes] ダイアログ ボックス

Vivado プログラムおよびデバッグ 183UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 184: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

[Replace Debug Probes] ダイアログ ボッ クスで、 ネッ ト を変更するプローブを選択し、 [Edit Probes] ボタンをク リ ッ クします。 個別のネッ ト を変更するには、 プローブの右側にある [Edit Probes] ボタンをク リ ッ ク します。 複数のプローブのネッ ト を変更するには、 左側のツールバーにある [Edit Probes] ボタンをク リ ッ ク します。

X-Ref Target - Figure 12-5

図 12-5 : [Edit Probes] ボタン

Vivado プログラムおよびデバッグ 184UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 185: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

[Edit Probes] ボタンをク リ ッ クする と、 [Choose Nets] ダイアログ ボッ クスが開き、 既存のネッ ト を置き換えるネッ トを選択できます。

重要 : 必要なデバッグ プローブをすべて置き換えたら、 配線してビッ ト ス ト リームを生成し直し、 デバッグ プローブ ファ イル (.ltx) を生成し直す必要があ り ます。

ヒン ト : 複数のネッ ト またはバスを選択するには、 [Replace Debug Probes] ダイアログ ボッ クスの左側の [Edit Probes] ボタンをク リ ッ ク します。

デバッグ コアの必要なネッ ト をすべて置き換えたら、 [OK] をク リ ッ ク し、 表示される確認ダイアログ ボッ クスで変更内容を確認します。

X-Ref Target - Figure 12-6

図 12-6 : [Choose Nets] ダイアログ ボックス

Vivado プログラムおよびデバッグ 185UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 186: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

重要 : [Tcl Console] ウ ィンド ウに警告またはエラーが表示されていないこ とを確認します。

プローブするネッ トのパス上にあるネッ ト セグメン ト を削除する と、 ハード ウェア マネージャーに表示されるプローブ名が変更されるこ とがあ り ます。 Vivado IDE では、 MARK_DEBUG 属性が設定されたプローブするネッ トに

も近いネッ ト セグメン トが選択されます。 MARK_DEBUG 属性が設定されたネッ ト セグメン トがない場合は、上位ネッ トが選択されます。 MARK_DEBUG 属性が設定されたネッ ト セグメン トが複数ある場合は、 これらのいずれかがランダムに選択されます。

すべてのデバッグ プローブ ポート を置き換えたら、 デザインの変更された部分のインク リ メンタル配線を実行し、影響を受けるネッ トのみを配線します。 変更後の新しいチェッ クポイン ト を保存するには、 ECO Navigator で [Save Checkpoint As] をク リ ッ ク します。 ECO Navigator の [Replace Debug Probes] コマンドを実行して、 デバッグ プローブの新しい .ltx ファ イルを生成する必要があ り ます。 その後、 新しい BIT ファ イルを生成してデバイスをプログラムします。 これで、 Vivado ハードウェア マネージャーに接続して変更したデザインをデバッグできます。

デバッグ コア (ILA) を変更した場合のインクリ メンタル コンパイル

インク リ メンタル コンパイルは、 完成に近づいており、 小さな変更が必要なデザインに適したアドバンス フローです。 少しの変更を加えて再合成する場合にこのフローを使用する と、 次のよ うな利点があ り ます。

• 配置配線の実行時間が短縮されます。

• 基準デザインからの配置配線が再利用され、 QoR (結果の品質) の予測性が保持されます。 このフローは、 変更されたデザインと基準デザインが 95% 以上類似している場合に も効果的です。

インク リ メンタル デバッグ変更は、 インク リ メンタル コンパイル デザイン フローを使用してデザインを再インプリ メン トするこ とによ り、 配置配線済みデザインに適用します。 このフローは、 次のいずれか状況で推奨されます。

• 既存のインプ リ メン ト済みデザインにデバッグ コアが存在しない。

• 既存のデバッグ コアのプローブ幅、 データ深さなどを変更する必要がある。

• デザインからデバッグ コアを削除する必要がある。

インクリ メンタル コンパイル フローのデザイン

インク リ メンタル コンパイル フローでは、 基準デザインとデバッグ コアを変更した現在のデザインの 2 つのデザインを使用します。

X-Ref Target - Figure 12-7

図 12-7 : プローブの変更に関する Tcl メ ッセージ

Vivado プログラムおよびデバッグ 186UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 187: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

基準デザイン

基準デザインは、 通常はデザインの合成、 配置、 配線が完了した以前のバージ ョ ンです。 配置、 配線、 またはその両方がどれだけ含まれたチェッ クポイン トでも使用可能です。 基準デザインには、 タイ ミ ング ク ロージャを達成するためにコード変更、 フロアプラン、 制約変更した際のデザインの実行結果であるデザイン チェッ クポイン ト (DCP) を使用できます。 現在のデザインを読み込んだら、 read_checkpoint -incremental <dcp> コマンドを使用して基準デザイン チェッ クポイン ト を読み込みます。 -incremental オプシ ョ ンを使用して基準デザイン チェッ クポイン ト を読み込むと、 次の配置配線でインク リ メンタル コンパイル デザイン フローがイネーブルになります。

現在のデザイン

現在のデザインは、 基準デザインにデバッグに関連する少しの変更を加えたものです。 次のよ うな変更が含まれます。

• デバッグ コアの RTL インスタンシエーシ ョ ンの変更

• デバッグ コア挿入の変更

• デバッグ コアに関する RTL の変更および挿入の変更の両方

インプ リ メン ト済みの既存のデザインでデバッグ コアを挿入、 削除、 または変更するには、 合成済みの DCP またはデザインを開き、 デバッグ挿入フローを使用します。 デバッグ挿入フローの詳細は、 第 9 章の 「ネッ ト リ ス ト挿入デバッグ プローブ フロー」 を参照してください。

既存のデバッグ コアを変更したり、 新しいデバッグ コアを既存の RTL デザインにインスタンシエートするこ と もできます。 インク リ メンタル コンパイル フローでは、 新しいデバッグに関する変更と共に、 基準のデザインからの配置配線が再利用されます。 デバッグ インスタンシエーシ ョ ン フローの詳細は、 第 9 章の 「HDL インスタンシエーシ ョ ン デバッグ プローブ フローの概要」 を参照してください。

インクリ メンタル コンパイルの使用

プロジェク ト モード と非プロジェク ト モードのどちらでも、 read_checkpoint -incremental <reference_dcp_file> コマンド (<reference_dcp_file> は基準デザイン チェッ クポイン トのパスとファ イル名) を使用して基準デザイン チェッ クポイン ト を読み込むと、 インク リ メンタル配置配線モードになり ます。-incremental オプシ ョ ンを使用して基準デザイン チェッ クポイン ト を読み込むと、 次の配置配線でインク リ メンタル コンパイル デザイン フローがイネーブルになり ます。 非プロジェク ト モードでは、 read_checkpoint -incremental は opt_design の後および place_design の前に実行します。 デバッグ挿入フローを使用する場合、 デバッグ コアに関連する XDC コマンドは opt_design の前に実行する必要があ り ます。

非プロジェク ト モードでのインクリ メンタル コンパイルの使用

非プロジェク ト モードで基準デザインと して使用するデザイン チェッ クポイン ト ファ イル (DCP) を指定してインクリ メンタル配置を実行するには、 次の手順に従います。

1. 現在のデザインを読み込みます。

2. デバッグ コア コマンドを実行します。

3. opt_design を実行します。

4. read_checkpoint -incremental <reference_dcp_file> を実行します。

5. place_design を実行します。

6. phys_opt_design を実行します (オプシ ョ ン)。

7. 基準デザインで phys_opt_design が使用されている場合に実行します。

Vivado プログラムおよびデバッグ 187UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 188: Vivado Design Suite - Xilinx

第 12 章 : インプリ メンテーシ ョ ン後のデザインのデバッグ

8. route_design を実行します。

# to load the current designlink_design;

#Create the debug corecreate_debug_core u_ila_0 ila#set debug core propertiesset_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0]set_property C_TRIGIN_EN false [get_debug_cores u_ila_0]set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0]set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0]set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0]set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0]set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0]

#connect the probe ports in the debug core to the signals being probed in the designset_property port_width 1 [get_debug_ports u_ila_0/clk]connect_debug_port u_ila_0/clk [get_nets [list clk ]]set_property port_width 1 [get_debug_ports u_ila_0/probe0]connect_debug_port u_ila_0/probe0 [get_nets [list A_or_B]]create_debug_port u_ila_0 probe

opt_designread_checkpoint -incremental <reference_dcp_file>place_designphys_opt_design; #if used in reference designroute_design

重要 : デザインのデバッグ コアを変更するには、 合成済みチェッ クポイン ト を開く必要があ り ます。 配線後のチェッ クポイン トにデバッグ コアを挿入するこ とはできません。

プロジェク ト モードでのインクリ メンタル コンパイルの使用

プロジェク ト モードでは、 [Design Runs] ウ ィンド ウでインク リ メンタル コンパイル オプシ ョ ンを設定できます。

インク リ メンタル コンパイル モードを設定するには、 次の手順に従います。

1. [Design Runs] ウ ィンド ウで 1 つの run を右ク リ ッ ク します。

2. [Set Incremental Compile] をク リ ッ ク します。

3. [Set Incremental Compile] ダイアログ ボッ クスで、基準デザイン チェッ クポイン ト を選択します。 run でインク リメンタル コンパイル モードがイネーブルになり ます。

4. 合成済みネッ ト リ ス ト を開き、 オプシ ョ ンでデバッグ コアを追加または RTL にインスタンシエート されたデバッグ コアを変更します。

5. Set Up Debug ウ ィザードを使用して、 デバッグ コアを挿入するか、 デザインに挿入されているデバッグ コアを削除または変更します。

6. デザインをインプ リ メン ト します。

重要 : デザインのデバッグ コアを変更するには、 合成済みデザインを開く必要があ り ます。 配線後のデザインにデバッグ コアを挿入するこ とはできません。

インク リ メンタル コンパイル機能の詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 4] のこのセクシ ョ ンを参照してください。

Vivado プログラムおよびデバッグ 188UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 189: Vivado Design Suite - Xilinx

第 13 章

インシステム シリアル I/O デバッグ フロー

概要

Vivado® IDE では、 ザイ リ ンクスの高速ギガビッ ト ト ランシーバー (GT) テク ノ ロジを使用するシステムをデバッグおよび検証するためのデザインを簡単に生成できます。 インシステム シ リ アル I/O デバッグ フローには、 次の 3 つの段階があ り ます。

1. IBERT コア生成 : ハード ウェア高速シ リ アル I/O 要件を 適に満たす IBERT コアをカスタマイズおよび生成します。

2. IBERT サンプル デザインの生成およびインプリ メンテーシ ョ ン : 生成した IBERT コアのサンプル デザインを生成します。

3. シ リアル I/O 解析 : デザインに含まれる IBERT IP にアクセスし、高速シ リ アル I/O リ ンクの問題をデバッグおよび検証します。

この章では、 初の 2 つの段階について説明します。 後の段階は、 第 14 章 「ハード ウェアでのシ リアル I/O デザインのデバッグ」 で説明しています。

Vivado IP カタログを使用した IBERT コアの生成

システムの高速シ リ アル I/O インターフェイスをデバッグおよび検証するハード ウェア デザインを生成するための初の段階は、 IBERT コアを生成するこ とです。 これには、 次の手順に従います。

1. Vivado IDE を開きます。

2. 初の画面で [Manage IP] → [New IP Location] をク リ ッ ク し、 Open IP Catalog ウ ィザードが表示されたら [Next] をク リ ッ ク します。

3. パーツ、 ターゲッ ト言語、 ターゲッ ト シ ミ ュレータ、 および IP ディ レク ト リ を選択します。 [Finish] をク リ ック します。

4. IP カタログで [Debug & Verification] → [Debug] を展開する と、 前の手順で選択したデバイスに応じて 1 つまたは複数の IBERT コアが表示されます (図 13-1)。

5. IBERT をダブルク リ ッ ク し、 コアの [Customize IP] ダイアログ ボッ クスを開きます。

ハード ウェア システム要件に合わせて IBERT コアをカスタマイズします。 さまざまな IBERT コアの詳細は、『Integrated Bit Error Ratio Tester for 7 Series GTX Transceivers LogiCORE IP 製品ガイ ド』 (PG132) [参照 17]、『Integrated Bit Error Ratio Tester for 7 Series GTP Transceivers LogiCORE IP 製品ガイ ド』 (PG133) [参照 18]、 『Integrated Bit Error Ratio Tester for 7 Series GTH Transceivers LogiCORE IP 製品ガイ ド』 (PG152) [参照 19] などの IP 資料を参照してください。

Vivado プログラムおよびデバッグ 189UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 191: Vivado Design Suite - Xilinx

第 13 章 : インシステム シリアル I/O デバッグ フロー

IBERT サンプル デザインの生成とインプリ メンテーシ ョ ン

IBERT IP コアを生成する と、 [Sources] ウ ィンド ウに ibert_7series_gtx または類似のコアが表示されます。 サンプル デザインを生成するには、[Sources] ウ ィンド ウで IBERT IP を右ク リ ッ ク して [Open IP Example Design] をク リ ック し、 表示されるダイアログ ボッ クスでサンプル デザイン プロジェク ト を保存するディレク ト リ を選択します。 このコマンドによ り、 サンプル デザインの Vivado プロジェク トが開き、 上位ラ ッパーおよび制約ファイルが追加されます (図 13-2)。

サンプル デザインを生成したら、Vivado IDE の Flow Navigator で [Program and Debug] → [Generate Bitstream] をク リ ックするか、 次の Tcl コマンドを使用して、 IBERT サンプル デザインのインプ リ メンテーシ ョ ンおよびビッ ト ス トリーム生成を実行します。

launch_runs impl_1 -to_step write_bitstreamwait_on_run impl_1

デザインのさまざまなインプ リ メンテーシ ョ ン方法は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参照 6] を参照してください。

X-Ref Target - Figure 13-2

図 13-2 : IBERT サンプル デザイン

Vivado プログラムおよびデバッグ 191UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 192: Vivado Design Suite - Xilinx

第 14 章

ハードウェアでのシリアル I/O デザインのデバッグ

IBERT コアをインプリ メン ト したら、 ランタイム シ リ アル I/O 解析機能を使用して、 ハード ウェア上でデザインをデバッグできます。 シ リ アル I/O 解析機能を使用してアクセスできるのは、 IBERT コア v3.0 以降のみです。

Vivado シリアル I/O 解析を使用したデザインのデバッグ

Vivado® シ リ アル I/O 解析機能は、 デザインに含まれる IBERT デバッグ IP コアにアクセスするために使用します。Vivado シ リ アル I/O 解析機能を使用するには、Flow Navigator で [Program and Debug] → [Open Hardware Manager] をクリ ッ ク します。

デザインのデバッグ手順は、 次のとおりです。

1. ハードウェア ターゲッ トに接続し、 FPGA デバイスを .bit ファ イルでプログラムします。

2. リ ンクを作成します。

3. リ ンク設定を変更してステータスを確認します。

4. 必要に応じてスキャンを実行します。

ハードウェア ターゲッ トに接続して FPGA デバイスをプログラム

デバッグの前に FPGA デバイスをプログラムする手順は、 「FPGA デバイスのプログラム」 で説明されている手順と同じです。 IBERT コアを含む .bit ファ イルでデバイスをプログラムする と、 [Hardware] ウ ィンド ウにデバイスのスキャンで検出された IBERT コアのコンポーネン トが表示されます (図 14-1)。

X-Ref Target - Figure 14-1

図 14-1 : IBERT コアが表示された [Hardware] ウィンドウ

Vivado プログラムおよびデバッグ 192UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 193: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リンクおよびリンク グループの作成

デザインに含まれる IBERT コアは、 [Hardware] ウ ィンド ウのターゲッ ト デバイスの下に表示されます。 コアが表示されない場合は、 デバイスを右ク リ ッ ク して [Refresh Hardware] をク リ ッ ク します。 FPGA デバイスが再度スキャンされ、 [Hardware] ウ ィンド ウの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても IBERT コアが表示されない場合は、 デバイスが正しい .bit ファ イルでプログラムされているか、 インプリ メン ト済みデザインに IBERT v3.0 コアが含まれているかを確認してください。

Vivado シ リ アル I/O 解析機能は、 リ ンク という概念に基づいて構築されています。 リ ンクはボード上のチャネルと似ており、 ト ランス ミ ッ ターおよびレシーバーが含まれます。 ト ランス ミ ッ ターおよびレシーバーは、 同じ GT、 同じデバイス、 または同じアーキテクチャである場合とそ うでない場合があ り ます。 1 つまたは複数のリ ンクを作成するには、 Vivado で [Links] ウ ィンド ウに移動し、 ツールバーの [Create Links] ボタンをク リ ッ クするか、 右ク リ ッ ク して [Create Links] をク リ ッ ク します。 [Create Links] ダイアログ ボッ クス (図 14-2) が表示されます。

IBERT コアが検出される と、 ハード ウェア マネージャーにリ ンクが存在しないこ とを示す緑のバナーが上部に表示されます。 [Create Links] をク リ ッ ク して [Create Links] ダイアログ ボッ クス (図 14-2) を開きます。

リ ス ト から TX または RX を選択します。 [Search] フ ィールドに文字列を入力する と、 リ ス ト をフ ィルターできます。 [Add] (+) ボタンをク リ ッ ク し、 リ ンクを リ ス トに追加します。 必要なすべてのリ ンクに対して同じ操作を実行します。

重要 : 各 TX または RX エンドポイン トは、 1 つのリ ンクにのみ含めるこ とができます。

リ ンクはリ ンク グループに含めるこ と もできます。 デフォルトでは、 新しいリ ンクすべてがグループ化されます。リ ンクをグループに追加しない場合は、 [Create link group] チェッ ク ボッ クスをオフにします。 リ ンク グループの名前は、 [Link group description] で指定します。

X-Ref Target - Figure 14-2

図 14-2 : [Create Links] ダイアログ ボックス

Vivado プログラムおよびデバッグ 193UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 194: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

[Links] ウィンドウでのリンク設定の表示と変更

リ ンクを作成する と、 [Links] ウ ィンド ウに追加されます (図 14-3)。 [Links] ウ ィンド ウでは、 リ ンクの設定を変更したり、 ステータスを確認したりできます。

[Links] ウ ィンド ウの各行は、 各リ ンクを示します。 一般的なステータスおよび有益なステータスはデフォルトでイネーブルになっており、 リ ンクの状態をすばやく確認できます。 表 14-1 に、 [Links] ウ ィンド ウで表示可能な設定を示します。

X-Ref Target - Figure 14-3

図 14-3 : [Links] ウィンドウ

表 14-1 : [Links] ウィンドウに表示可能な設定

[Links] ウィンドウの列名 説明

Name リ ンク名

TX ト ランス ミ ッ ターの GT ロケーシ ョ ン

RX レシーバーの GT ロケーシ ョ ン

Status リ ンク されている場合 (予測どおりの入力 RX データ ) は計測されたライン レート、 リンク されていない場合は 「No Link」 と表示されます。

Bits 受信されたビッ ト数

Errors レシーバーでのビッ ト エラー数

BER ビッ ト エラー率 = (1 + エラー数) / (ビッ ト数)

BERT Reset 受信ビッ ト カウンターおよびエラー カウンターを リセッ ト します。

RX Pattern レシーバーで受信されるパターンを選択します。

TX Pattern ト ランス ミ ッ ターで送信されるパターンを選択します。

TX Pre-Curser ト ランス ミ ッ ターのプリ カーソル エンファシスを選択します。

TX Post-Cursor ト ランス ミ ッ ターのポス ト カーソル エンファシスを選択します。

TX Diff Swing ト ランス ミ ッ ターの差動振幅値を選択します。

DFE Enabled レシーバーで判定帰還型イコライザー (DFE) をイネーブルにするかど うかを選択します。 使用できないアーキテクチャもあ り ます。

Inject Error 送信パスに 1 つのビッ ト エラーを挿入します。

TX Reset ト ランス ミ ッ ターを リセッ ト します。

RX Reset レシーバーおよび BERT カウンターを リセッ ト します ( 「BERT Reset」 を参照)。

Loopback Mode レシーバー GT のループバッ ク モードを選択します。

警告 : この値を変更する と、 システム ト ポロジによってはリ ンク ステータスに影響するこ とがあ り ます。

Termination Voltage レシーバーの終端電圧を選択します。

RX Common Mode レシーバーの RX 同相設定を選択します。

Vivado プログラムおよびデバッグ 194UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 195: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リ ンク グループに含まれるすべてのリ ンクのプロパティを変更するには、 リ ンク グループ行で設定を変更します。たとえば、Link Group 0 行の [TX Pattern] を [PRBS 7-bit] に変更する と、このリ ンク グループに含まれるすべてのリ ンクの [TX Pattern] が [PRBS 7-bit] に変更されます。 グループ内のすべてのリ ンクの設定が同じでない場合、 リ ンク グループ行のプロパティ列に 「Multiple」 と表示されます。

リンク スキャンの作成と実行

リ ンクのマージンを解析するには、 ザイ リ ンクス 7 シ リーズ FPGA ト ランシーバー専用のアイ スキャン ハードウェアを使用して リ ンクのスキャンを実行する と有益です。 Vivado シ リ アル I/O 解析機能では、 リ ンク スキャンを定義、実行、 保存、 および呼び出しできます。

スキャンはリ ンク上で実行されます。 スキャンを作成するには、 [Links] ウ ィンドウでリ ンクを選択し、 右ク リ ッ ク して [Create Scan] をク リ ッ クするか、ツールバーの [Create Scan] ボタンをク リ ッ ク します。 [Create Scan] ダイアログ ボックスが開きます (図 14-4)。 [Create Scan] ダイアログ ボッ クスには、 表 14-2 に示すスキャンの設定が表示されます。

TXUSERCLK Freq 計測された TXUSERCLK 周波数を MHz で表示します。

TXUSERCLK2 Freq 計測された TXUSERCLK2 周波数を MHz で表示します。

RXUSERCLK Freq 計測された RXUSERCLK 周波数を MHz で表示します。

RXUSERCLK2 Freq 計測された RXUSERCLK2 周波数を MHz で表示します。

TX Polarity Invert 送信データの極性を反転します。

RX Polarity Invert 受信データの極性を反転します。

表 14-1 : [Links] ウィンドウに表示可能な設定 (続き)

[Links] ウィンドウの列名 説明

X-Ref Target - Figure 14-4

図 14-4 : [Create Scan] ダイアログ ボックス

Vivado プログラムおよびデバッグ 195UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 196: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

デフォルトでは、 スキャンを作成する と実行されます。 スキャンを実行せずに定義だけする場合は、 [Run scan] チェッ ク ボッ クスをオフにします。

スキャンを作成したと きに実行しない場合、 [Scans] ウ ィンド ウ (図 14-5) でスキャンを右ク リ ッ ク して [Run Scan] をク リ ッ クする と実行できます。 スキャンを実行中にスキャンを停止するには、 [Scans] ウ ィンド ウでスキャンを選択し、 右ク リ ッ ク して [Stop Scann] をク リ ッ クするか、 ツールバーの [Stop Scan] ボタンをク リ ッ ク します。

表 14-2 : スキャン設定

スキャン設定 説明

Description スキャンのユーザー定義名

Scan Type 実行するスキャンのタイプ

Horizontal Increment 水平コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上します。

Horizontal Range 水平範囲を削減して速度を向上します。 デフォルトでは、 アイ全体がスキャンされます (アイの中心に対して -1/2 ユニッ ト インターバルから +1/2 まで)。

Vertical Increment 垂直コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上します。

Vertical Range 垂直範囲を削減して速度を向上します。 デフォルトでは、 アイ全体がスキャンされます。

Dwell BER チャートの各点は特定の時間スキャンされます。 このオプシ ョ ンでは、 ビッ ト エラー率 (BER) を選択するこ とによ り、 スキャン深さを選択します。

Dwell Time 時間 (秒) を入力するこ とによ り、 スキャン深さを選択します。

X-Ref Target - Figure 14-5

図 14-5 : [Scans] ウィンドウ

Vivado プログラムおよびデバッグ 196UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 197: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リンク スイープの作成と実行

リ ンクのマージンを解析するには、 異なる MGT 設定を使用して リ ンク スキャンを複数回実行する と有益な場合があ り ます。 これによ り、 どの設定が 適かがわかり ます。 Vivado シ リアル I/O 解析機能では、 リ ンク スイープ ( リ ンク スキャンのコレクシ ョ ン) を定義、 実行、 保存、 および呼び出しできます。

スイープはリ ンク上で実行されます。 スイープを作成するには、 [Links] ウ ィンド ウで リ ンクを選択し、 右ク リ ッ クして [Create Sweep] をク リ ッ クするか、 [Links] ウ ィンド ウ ツールバーの [Create Sweep] ボタンをク リ ッ ク します。[Create Sweep] ダイアログ ボッ クスが表示されます。このダイアログ ボッ クスは [Create Scan] ダイアログ ボッ クスに似ていますが、 どのプロパティをスイープするか、 どのよ うにスイープするかを定義するオプシ ョ ンが含まれます。

X-Ref Target - Figure 14-6

図 14-6 : [Create Sweep] ダイアログ ボックス

Vivado プログラムおよびデバッグ 197UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 198: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

これらの設定を選択したら、 スイープ プロパティを設定します。 リ ンクの書き込み可能なプロパティはすべてスイープ可能です。 プロパティを追加するには、 右側の [+] ボタンをク リ ッ クする と、 表に新たな行が追加されます。スイープするプロパティを選択するには、 [Property Name] セルをク リ ッ ク します。

値を変更するには、 [Values to Sweep] セルのド ロ ップダウンをク リ ッ ク し、 スイープする値を選択します。 プロパティに列挙値が含まれない場合は、 表示されるテキス ト エリ アの各行に 1 つずつ 16 進数値を入力します。

• 図 14-8 に示すよ うに [Semi Custom] を選択している場合、選択したプロパティのすべての組み合わせが 1 つのスキャン用に定義され、 そのスキャンがスイープ プロパティに基づいて実行されます。 実行されるスイープの数およびその順序は、 [Preview & Scans] タブをク リ ッ クする とプレビューできます。

• [Full Custom] の場合、 リ ス ト される各プロパティの 初の選択肢が 初のスキャンに使用され、 2 つ目の選択肢が 2 つ目のスキャンに使用される という よ うになり ます。 プロパティの 1 つの選択肢がほかのプロパティ よ りも少ない場合は、 後の選択肢がその後のすべてのスキャンに使用されます。 同じプロパティの選択でスイープ モードが [Full Custom] の場合は、 3 つのスキャンのみが実行されます。

表 14-3 : スイープ設定

スイープ設定 説明

Description スイープのユーザー定義名

Scan Type 実行するスキャンのタイプ

Horizontal Increment 水平コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上します。

Horizontal Range 水平範囲を削減して速度を向上します。 デフォルトでは、 アイ全体がスキャンされます (アイの中心に対して -1/2 ユニッ ト インターバルから +1/2 まで)。

Vertical Increment 垂直コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上します。

Vertical Range 垂直範囲を削減して速度を向上します。 デフォルトでは、 アイ全体がスキャンされます。

Dwell BER チャートの各点は特定の時間スキャンされます。 このオプシ ョ ンでは、 ビッ ト エラー率 (BER) を選択するこ とによ り、 スキャン深さを選択します。

Dwell Time 時間 (秒) を入力するこ とによ り、 スキャン深さを選択します。

Sweep Mode 実行するスイープのタイプ。 [Semi Custom]、 [Full Custom]、 [Exhaustive] のいずれかを選択します。

X-Ref Target - Figure 14-7

図 14-7 : スイープ セルへの値の入力

Vivado プログラムおよびデバッグ 198UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 199: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

• [Exhaustive] の場合、 [Values to Sweep] は変更できなくな り、 プロパティに対してすべての値が選択されます。

すべてのプロパティを設定したら、 [Run sweep] をオンにしたままにする と、 各スキャンが順に実行されます。 [OK] をク リ ッ クする と、 スキャンのリ ス トが [Scan] ウ ィンド ウに表示されます。

スイープ中の進捗状況は [Scan] ウ ィンド ウで確認できます。 新のスキャンの結果が表示されます。

X-Ref Target - Figure 14-8

図 14-8 : [Sweep Properites] エリア

Vivado プログラムおよびデバッグ 199UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 200: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

スキャン プロッ トの表示とナビゲート

スキャンを作成する と、 そのスキャンの [Scan Plots] ウ ィンド ウが表示されます。 2D アイスキャンでは、 プロ ッ トは BER 値のヒート マップです。

Vivado IDE のほかのチャートおよび表示と同様に、 [Scan Plots] ウ ィンド ウも次のよ うに拡大/縮小できます。

• エリアの拡大 : 拡大表示するエリ アを左上から右下に向かってド ラ ッグ

• 全体表示 : 右下から左上へ向かってド ラ ッグ

• 拡大 : 右上から左下へ向かってド ラ ッグ

• 縮小 : 左下から右上へ向かってド ラ ッグ

マウス カーソルをプロ ッ ト上に置く と、 ツール ヒ ン トに現在の水平コード、 垂直コード、 およびスキャンされた BER 値が表示されます。 プロ ッ ト タイプを変更するには、 プロ ッ ト ビューで [Plot Type] ボタンをク リ ッ ク し、[Show Contour (filled)]、 [Show Contour (lines)]、 または [Heat Map] をク リ ッ ク します。

スキャン プロ ッ トの下のサマリには、 スキャン設定とスキャンが実行された時間などの基本情報が表示されます。2D アイスキャンでは、 エラーのないスキャンのピクセル数が算出され (水平および垂直インク リ メン ト を考慮)、 結果が [Open Area] と して表示されます。 [Scans] ウ ィンド ウの内容はデフォルトで [Open Area] 列順にリ ス ト されるので、 オープン エリ アが も大きいスキャンが一番上に表示されます。

出力結果のファイルへの保存

部分的またはフル 2D アイスキャンによるスキャン データが存在する場合、 [Scans] ウ ィンド ウで [Write Scan] ボタンをク リ ッ クする と、 スキャン結果を CSV ファ イルに保存できます。 スキャン結果が CSV 形式のファイルに保存され、 スキャン プロ ッ ト を複製するブロ ッ クに BER 値が含まれます。

X-Ref Target - Figure 14-9

図 14-9 : [Scan Plots] ウィンドウ

Vivado プログラムおよびデバッグ 200UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 201: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

[Properties] ウィンドウ

[Hardware] ウ ィンド ウで GT または COMMON ブロ ッ ク、 [Links] ウ ィンド ウで リ ンク、 または [Scans] ウ ィンド ウでスキャンを選択する と、 [Properties] ウ ィンド ウにそのオブジェク トのプロパティが表示されます。 GT および COMMON に対しては、 これらのオブジェク トの属性、 ポート、 およびその他の設定がすべて表示されます。 これらの設定は、 [Properties] ウ ィンド ウ (図 14-10) またはTcl コマンドで変更できます。 プロパティには、 読み出し専用で変更できないものもあ り ます。

X-Ref Target - Figure 14-10

図 14-10 : [Properties] ウィンドウ

Vivado プログラムおよびデバッグ 201UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 202: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

シリアル I/O 解析の Tcl オブジェク トおよびコマンド

テス ト中のハード ウェアにアクセスするには、 Tcl コマンドを使用できます。 ハード ウェアには、 表 14-4 に示す階層ファース ト ク ラス Tcl オブジェク トがあ り ます。

ハード ウェア マネージャー コマンドの詳細は、 [Tcl Console] ウ ィンド ウに 「help -category hardware」 と入力してください。

ハードウェアにアクセスする Tcl コマンド

表 14-5 に、 IBERT コアにアクセスするために使用する Tcl コマンドを示します。

重要 : get_property または set_property コマンドを使用した場合、 IBERT コアから情報を読み出したり IBERT コアに情報を書き込むこ とはできません。 ハード ウェアから情報を読み出すには refresh_hw_sio コマンド、 ハード ウェアに情報を書き込むには commit_hw_sio コマンドを使用します。

表 14-4 : シリアル I/O 解析の Tcl オブジェク ト

Tcl オブジェク ト 説明

hw_sio_ibert IBERT コアを参照するオブジェク ト 。 各 IBERT オブジェク トには、 1 つまたは複数の hw_sio_gt または hw_sio_common オブジェク ト を関連付けるこ とができます。

hw_sio_gt 1 つのザイ リ ンクス ギガビッ ト ト ランシーバー (GT) を参照するオブジェク ト。

hw_sio_gtgroups GT の論理グループを参照するオブジェク ト。 4 進数または 8 進数に設定できます。

hw_sio_common COMMON ブロッ クを参照するオブジェク ト 。

hw_sio_tx hw_sio_gt のト ランス ミ ッ ター側を参照するオブジェク ト。 TX 関連のポート、 属性、 ロジッ ク プロパティのみが hw_sio_tx に挿入されます。

hw_sio_rx hw_sio_gt のレシーバー側を参照するオブジェク ト。 RX 関連のポート、属性、 ロジッ ク プロパティのみが hw_sio_rx に挿入されます。

hw_sio_pll hw_sio_gt または hw_sio_common オブジェク トの PLL オブジェク ト を参照するオブジェク ト。 関連のポート、 属性、 ロジッ ク プロパティのみが hw_sio_pll に挿入されます。

hw_sio_link リ ンク、 TX-RX ペアを参照するオブジェク ト。

注記 : リ ンクには、 RX のみまたは RX のみが含まれる場合もあ り ます。

hw_sio_linkgroup リ ンク グループを参照するオブジェク ト。

hw_sio_scan マージン解析スキャンを参照するオブジェク ト。

表 14-5 : hw_server の Tcl コマンド

Tcl コマンド 説明

refresh_hw_sio オブジェク トのプロパティ値を読み出します。 ハード ウェアを参照するすべての hw_sio オブジェク トに対して使用できます。

commit_hw_sio プロパティの変更をハード ウェアに書き込みます。 ハード ウェアを参照するすべての hw_sio オブジェク トに対して使用できます。

Vivado プログラムおよびデバッグ 202UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 203: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

hw_sio_link の Tcl コマンド

表 14-6 に、 リ ンクにアクセスするために使用する Tcl コマンドを示します。

hw_sio_linkgroup の Tcl コマンド

表 14-7 に、 リ ンク グループにアクセスするために使用する Tcl コマンドを示します。

hw_sio_scan の Tcl コマンド

表 14-8 に、 スキャンにアクセスするために使用する Tcl コマンドを示します。

表 14-6 : hw_sio_link の Tcl コマンド

Tcl コマンド 説明

create_hw_sio_link 指定の hw_sio_rx および hw_sio_tx から hw_sio_link オブジェク ト を作成します。

remove_hw_sio_link 指定した リ ンクを削除します。

get_hw_sio_links 指定したオブジェク トの hw_sio_link のリ ス ト を取得します。

表 14-7 : hw_sio_linkgroup の Tcl コマンド

Tcl コマンド 説明

create_hw_sio_linkgroup hw_sio_link オブジェク トから hw_sio_linkgroup オブジェク ト を作成します。

remove_hw_sio_linkgroup 指定した リ ンクグループを削除します。

get_hw_sio_linkgroups 指定したオブジェク トの hw_sio_linkgroup のリ ス ト を取得します。

表 14-8 : hw_sio_scan の Tcl コマンドの説明

Tcl コマンド 説明

create_hw_sio_scan スキャン オブジェク ト を作成します。

remove_hw_sio_scan スキャン オブジェク ト を削除します。

run_hw_sio_scan スキャンを実行します。

stop_hw_sio_scan スキャンを停止します。

wait_on_hw_sio_scan run_hw_sio_scan が完了するまで Tcl コンソール プロンプ トでコマンドを実行できないよ うにします。

display_hw_sio_scan 部分的または完了したスキャンをスキャン プロ ッ トに表示します。

write_hw_sio_scan スキャン データをファイルに記述します。

read_hw_sio_scan スキャン データをファイルからスキャン オブジェク トに読み込みます。

get_hw_sio_scans hw_sio_scan オブジェク トの リ ス ト を取得します。

Vivado プログラムおよびデバッグ 203UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 204: Vivado Design Suite - Xilinx

第 14 章 : ハードウェアでのシリアル I/O デザインのデバッグ

オブジェク ト を取得する Tcl コマンド

表 14-9 に、 シ リ アル I/O オブジェク ト を取得するために使用する Tcl コマンドを示します。

IBERT を測定する Tcl コマンドの使用

次のよ うなシステムにアクセスする Tcl コマンド スク リプ トの例を示します。

• localhost:3121 上の hw_server を介してアクセス可能な 1 つの KC705 ボードの Digilent JTAG-SMT1 ケーブル (シリアル番号 12345) が使用されている

• KC705 ボード上の XC7K325T デバイスで実行されているデザインに IBERT コアが 1 つ含まれている

• IBERT コアで Quad 117 および Quad 118 がイネーブルになっている

Tcl コマンド スクリプ ト例

# Connect to the Digilent Cable on localhost:3121connect_hw_server -url localhost:3121current_hw_target [get_hw_targets */digilent_plugin/SN:12345]open_hw_target

# Program and Refresh the XC7K325T Devicecurrent_hw_device [lindex [get_hw_devices] 0]refresh_hw_device -update_hw_probes false [lindex [get_hw_devices] 0]set_property PROGRAM.FILE {C:/design.bit} [lindex [get_hw_devices] 0]program_hw_devices [lindex [get_hw_devices] 0]refresh_hw_device [lindex [get_hw_devices] 0]

# Set Up Link on first GT set tx0 [lindex [get_hw_sio_txs] 0]set rx0 [lindex [get_hw_sio_rxs] 0]set link0 [create_hw_sio_link $tx0 $rx0]set_property DESCRIPTION {Link 0} [get_hw_sio_links $link0]

# Set link to use PCS Loopback, and write to hardwareset_property LOOPBACK "Near-End PCS" $link0commit_hw_sio $link0

# Create, run, display and save scanset scan0 [create_hw_sio_scan 2d_full_eye [get_hw_sio_rxs -of $link0]]run_hw_sio_scan $scan0display_hw_sio_scan $scan0write_hw_sio_scan "scan0.csv" $scan0

表 14-9 : オブジェク ト を取得する Tcl コマンド

Tcl コマンド 説明

get_hw_sio_iberts IBERT オブジェク トの リ ス ト を取得します。

get_hw_sio_gts GT のリ ス ト を取得します。

get_hw_sio_commons COMMON ブロ ッ クのリ ス ト を取得します。

get_hw_sio_txs ト ランス ミ ッ ターのリ ス ト を取得します。

get_hw_sio_rxs レシーバーのリ ス ト を取得します。

get_hw_sio_plls PLL のリ ス ト を取得します。

get_hw_sio_links リ ンクのリ ス ト を取得します。

get_hw_sio_linkgroups リ ンク グループのリ ス ト を取得します。

get_hw_sio_scans スキャンのリ ス ト を取得します。

Vivado プログラムおよびデバッグ 204UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 205: Vivado Design Suite - Xilinx

付録 A

デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

7 シリーズ デバイスのビッ トス ト リーム設定

表 A-1 に、Vivado® ツールの set_property <Setting> <Value> [current_design] Tcl コマンドで使用可能な 7 シ リーズ デバイスのデバイス コンフ ィギュレーシ ョ ン設定を示します。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定

設定 デフォルト値 有効な値 説明

BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE

1 1、 2、 3、 4 BPI コンフ ィギュレーシ ョ ンをフラ ッシュ デバイスのページ モード動作のタイ ミ ングと同期させる際に使用し、初のページの有効読み出しのサイクル数を設定します。

このオプシ ョ ンは、 BPI_page_size を 4 または 8 に設定している場合にのみ有効です。

BITSTREAM.CONFIG.BPI_PAGE_SIZE

1 1、 4、 8 BPI コンフ ィギュレーシ ョ ンのページ サイズを指定します。 これは、 フラ ッシュ メモ リでページごとに必要な読み出し数に対応します。

BITSTREAM.CONFIG.BPI_SYNC_MODE

Disable Disable、Type1、 Type2

BPI フラ ッシュ デバイスの異なるタイプの BPI 同期コンフ ィギュレーシ ョ ン モードを設定します。

• Disable (デフォルト ) : 同期コンフ ィギュレーシ ョ ン モードをディ スエーブルにします。

• Type1 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron G18(F) ファ ミ リ をサポートする設定を使用します。

• Type2 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、Micron (Numonyx) P30 および P33 ファ ミ リ をサポートする設定を使用します。

BITSTREAM.CONFIG.CCLKPINa

Pullup Pullup、Pullnone

Cclk ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。

BITSTREAM.CONFIG.CONFIGFALLBACK

Disable Disable、Enable

コンフ ィギュレーシ ョ ンでエラーが発生した場合にデフォルトのビッ ト ス ト リームを読み込むかど うかを指定します。

マルチブート ソ リ ューシ ョ ン設定 BITSTREAM.CONFIG.NEXT_CONFIG_ADDR を使用する と、 BITSTREAM.CONFIG.FALLBACK が Enable になり ます。

注記 : フォールバッ ク マルチブートは、Virtex-7 HT デバイスでは

サポート されません。

Vivado プログラムおよびデバッグ 205UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 206: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.CONFIGRATE

3 3、 6、 9、 12、16、 22、 26、33、 40、 50、66

マスター モードでコンフ ィギュレーシ ョ ンする場合、ビッ ト ス ト リームの生成でコンフ ィギュレーシ ョ ン クロ ッ ク (Cclk) の生成に内部オシレーターが使用されます。このオプシ ョ ンを使用する と、 Cclk のレート を選択できます。

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Continuous、Quiet

デジタル制御インピーダンス (DCI) 回路で DCI IOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.DONEPINa

Pullup Pullup、Pullnone

DONE ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。 このオプシ ョンは、 外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用して ください。 このオプシ ョ ンを使用しない場合、 内部プルアップ抵抗が自動的に接続されます。

BITSTREAM.CONFIG.EXTMASTERCCLK_EN

Disable Disable、Div-1、Div-2、Div-4、 Div-8

すべてのマスター モードで外部クロ ッ クをコンフ ィギュレーシ ョ ン ク ロ ッ ク と して使用できるよ うにします。 外部クロ ッ クは、 多目的 USERCCLK ピンに接続する必要があ り ます。

BITSTREAM.CONFIG.INITPINa

Pullup Pullup、Pullnone

INIT ピンにプルアップ抵抗を追加するか、 未接続のままにするかを指定します。

BITSTREAM.CONFIG.INITSIGNALSERROR

Enable Enable、Disable

Enable の場合、 コンフ ィギュレーシ ョ ン エラーが検出される と INIT_B ピンが 0 にアサート されます。

BITSTREAM.CONFIG.M0PINa

Pullup Pullup、Pulldown、Pullnone

M0 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M0 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M1PINa

Pullup Pullup、Pulldown、Pullnone

M1 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M1 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M2PINa

Pullup Pullup、Pulldown、Pullnone

M2 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M2 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.NEXT_CONFIG_ADDR

None 文字列 マルチブート セッ ト アップの次のコンフ ィギュレーシ ョンの開始アドレスを設定します。 これは、 WBSTAR レジスタに保存されます。

BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT

Enable Enable、Disable

Disable に設定する と、 .bit ファ イルから IPROG コマンドが削除されます。 マルチブート セッ ト アップでのマルチブート イ メージにジャンプするのではなく、 パワーアップ時にゴールデン イ メージが読み込まれるよ うにできます。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 206UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 207: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.PERSIST

No No、 Yes コンフ ィギュレーシ ョ ン後に多目的コンフ ィギュレーシ ョ ン ピンへのコンフ ィギュレーシ ョ ン ロジッ ク アクセスを保持します。 主にコンフ ィギュレーシ ョ ン後のリードバッ ク アクセス用に SelectMAP ポート を保持するために使用されますが、 どのコンフ ィギュレーシ ョ ン モードででも使用できます。 JTAG コンフ ィギュレーシ ョ ンでは、 JTAG ポートは専用ポート なので、 PERSIST は必要あり ません。 PERSIST と ICAP を同時に使用するこ とはできません。

詳細は、 ユーザー ガイ ドを参照してください。 PERSIST は、 SelectMAP コンフ ィギュレーシ ョ ン ピンを使用するリードバッ クおよびパーシャル リ コンフ ィギュレーシ ョンに必要で、 SelectMAP またはシ リ アル モードを使用している場合に使用する必要があ り ます。

BITSTREAM.CONFIG.REVISIONSELECT

00 00、 01、 10、11

次のウォーム ブートのウォーム ブート開始アドレス (WBSTAR) レジスタの RS[1:0] 設定の内部値を指定します。

BITSTREAM.CONFIG.REVISIONSELECT_TRISTATE

Disable Disable、Enable

ウォーム ブートのウォーム ブート開始アドレス (WBSTAR) のオプシ ョ ンを設定するこ とによ り、 RS[1:0] ト ライステート をイネーブルにするかど うかを指定します。

• RS[1:0] ピンはト ライステート イネーブル

• 0 : RS ト ラ イステート をイネーブル (デフォルト )

• 1 : RS ト ラ イステート をディ スエーブル

BITSTREAM.CONFIG.SELECTMAPABORT

Enable Enable、Disable

SelectMAP モードのアボート シーケンスをイネーブルまたはディ スエーブルにします。 Disable に設定する と、 デバイス ピンのアボート シーケンスは無視されます。

BITSTREAM.CONFIG.SPI_32BIT_ADDR

No No、 Yes SPI 32 ビッ ト アドレス形式をイネーブルにします。 この形式は、 256Mb 以上のス ト レージを含む SPI デバイスで必要です。

BITSTREAM.CONFIG.SPI_BUSWIDTH

NONE NONE、 1、2、 4

サードパーティ SPI フラ ッシュ デバイスからのマスター SPI コンフ ィギュレーシ ョ ンに対して、 SPI バスをデュアル (x2) またはクワッ ド (x4) モードに設定します。

BITSTREAM.CONFIG.SPI_FALL_EDGE

No No、 Yes FPGA で SPI データのキャプチャに立ち下がりエッジを使用するよ う設定します。 これによ り タイ ミ ング マージンが向上し、 コンフ ィギュレーシ ョ ンのクロ ッ ク レートが上がる可能性があ り ます。

BITSTREAM.CONFIG.TCKPINa

Pullup Pullup、Pulldown、Pullnone

TCK ピン、 JTAG テス ト ク ロ ッ クにプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDIPINa

Pullup Pullup、Pulldown、Pullnone

TDI ピン、 JTAG 命令および JTAG レジスタへのシ リアル データ入力すべてに、 プルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDOPINa

Pullup Pullup、Pulldown、Pullnone

TDO ピン、 JTAG 命令およびデータ レジスタへのシ リアル データ出力すべてに、 プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。Pullnone に設定する と、 プルアップもプルダウンも使用されません。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 207UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 208: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.TIMER_CFG

None 8 桁の 16 進文字列

コンフ ィギュレーシ ョ ン モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_USR と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TIMER_USR

0x00000000 8 桁の 16 進文字列

ユーザー モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_CFG と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TMSPINa

Pullup Pullup、Pulldown、Pullnone

TMS ピン、 TAP コン ト ローラーへのモード入力信号にプルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 TAP コン ト ローラーは、 JTAG の制御ロジッ ク と して使用されます。 Pullnone に設定すると、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.UNUSEDPIN

Pulldown Pulldown、Pullup、Pullnone

未使用の SelectIO ピン (IOB) にプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。コンフ ィギュレーシ ョ ン専用ピンには適用されません。コンフ ィギュレーシ ョ ン専用ピンのリ ス トは、 アーキテクチャによって異なり ます。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.USERID

0xFFFFFFFF 8 桁の 16 進文字列

インプリ メンテーシ ョ ンのリ ビジ ョ ンを特定します。ユーザー ID レジスタには、 8 桁までの 16 進文字列を入力できます。

BITSTREAM.CONFIG.USR_ACCESS

None None、 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、 8 桁の 16 進文字列またはタイムスタンプを記述します。 タ イムスタンプ値のフォーマッ トは、 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss (ddddd = 日、MMMM = 月、yyyyyy = 年 (2000 年は 00000)、 hhhhh = 時、 mmmmmm = 分、 ssssss = 秒) です。 このレジスタの内容は、 FPGA デバイスにより USR_ACCESS プ リ ミ テ ィブを介して直接アクセスできます。

BITSTREAM.ENCRYPTION.ENCRYPT

No No、 Yes ビッ ト ス ト リームを暗号化します。

BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT

bbram bbram、 efuse 使用する AES 暗号キーの場所を、 バッテ リ バッ クアップ式 RAM (BBRAM) または eFUSE レジスタのいずれかに指定します。

注記 : このプロパティは ENCRYPT オプシ ョ ンを Yes に設定して

いる場合のみ使用可能です。

BITSTREAM.ENCRYPTION.HKEY

None 16 進文字列 ビッ ト ス ト リーム暗号化の HMAC 認証キーを設定します。 7 シ リーズ デバイスには、 ハード ウェアにオンチップのビッ ト ス ト リーム キー付き HMAC (Hash Message Authentication Code) アルゴ リズムがインプリ メン ト されており、 AES 復号化のみの場合よ りセキュ リ ティが強化されています。 これらのデバイスでは、 ビッ ト ス ト リームの読み込み、 変更、 遮断、 コピーに AES と HMAC キーの両方が必要です。

このオプシ ョ ンを使用するには、ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEY0

None 16 進文字列 ビッ ト ス ト リーム暗号化の AES 暗号キーを設定します。このオプシ ョ ンを使用するには、ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 208UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 209: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.ENCRYPTION.KEYFILE

None 文字列 入力暗号化ファイル (拡張子 .nky) の名前を指定します。このオプシ ョ ンを使用するには、ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.STARTCBC

None 32 ビッ トの 16 進文字列

暗号文ブロッ ク連鎖 (CBC) の開始値を設定します

BITSTREAM.GENERAL.COMPRESS

False True、 False ビッ ト ス ト リームの複数フレーム書き込み機能を使用し、ビッ ト ス ト リーム ファ イル (.bit) ファ イルだけでなく、ビッ ト ス ト リーム自体のサイズも縮小します。 このオプシ ョ ンを使用しても、 ビッ ト ス ト リームのサイズが縮小する とは限り ません。

BITSTREAM.GENERAL.CRC

Enable Enable、Disable

ビッ ト ス ト リームの巡回冗長検査 (CRC) 値の生成を制御します。 Enable に設定する と、 ビッ ト ス ト リームの内容に基づいて固有の CRC 値が算出されます。 算出された CRC 値がビッ ト ス ト リームの CRC 値と一致しない場合は、 デバイスはコンフ ィギュレーシ ョ ンされません。CRC がディ スエーブルの場合、 CRC 値の代わりに定数値がビッ ト ス ト リームに挿入され、 デバイスで CRC 値は算出されません。

BITSTREAM.GENERAL.DEBUGBITSTREAM

No No、 Yes デバッグ ビッ ト ス ト リームを生成します。 デバッグ ビット ス ト リームのサイズは、 標準のビッ ト ス ト リームよ りもかな り大き くな り ます。 このオプシ ョ ンは、 マスターおよびスレーブ シ リ アル コンフ ィギュレーシ ョ ンでのみ使用できます。 バウンダ リ スキャンおよびスレーブ パラレル/SelectMAP では使用できません。 デバッグ ビッ ト スト リームには、 標準ビッ ト ス ト リームに加え、 次の機能があ り ます。

• 同期化ワードの後に LOUT レジスタに 32 個の 0 を書き込みます。

• 各フレームを個別に読み込みます。

• 各フレーム後に巡回冗長検査 (CRC) を実行します。

• 各フレーム後にフレーム アドレスを LOUT レジスタに書き込みます。

BITSTREAM.GENERAL.DISABLE_JTAG

No No、 Yes コンフ ィギュレーシ ョ ン後に JTAG を介したバウンダ リ スキャン (BSCAN) ブロ ッ クへのアクセスをディ スエーブルにします。

BITSTREAM.GENERAL.JTAG_XADC

Enable Enable、Disable、StatusOnly

XADC への JTAG 接続をイネーブルまたはディ スエーブルにします。

BITSTREAM.GENERAL.XADCENHANCEDLINEARITY

Off Off、 On INL が実際のアナログ パフォーマンスよ り も悪くなるビルト イン デジタル キャ リブレーシ ョ ン機能をディ スエーブルにします。

BITSTREAM.READBACK.ACTIVERECONFIG

No No、 Yes コンフ ィギュレーシ ョ ン中に GHIGH および GSR がアサート されないよ うにします。 これは、 アクティブ パーシャル リ コンフ ィギュレーシ ョ ン向上機能に必要です。

BITSTREAM.READBACK.ICAP_SELECT

Auto Auto、 Top、Bottom

上または下の ICAP ポート を選択します。

BITSTREAM.READBACK.READBACK

False True、 False 必要な リードバッ ク ファ イルを作成して リードバッ ク機能を実行します。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 209UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 210: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.READBACK.SECURITY

None None、Level1、Level2

リードバッ クおよびリ コンフ ィギュレーシ ョ ンをディ スエーブルにするかど うかを指定します。

注記 : Level1 に設定する と リードバッ クがディ スエーブルにな

り、 Level2 に設定する と リードバッ ク と リ コンフ ィギュレーシ ョ

ンがディ スエーブルになり ます。

BITSTREAM.READBACK.XADCPARTIALRECONFIG

Disable Disable、Enable

Disable に設定する と、 パーシャル リ コンフ ィギュレーシ ョ ン中も XADC が継続して機能します。 Enable に設定する と、 パーシャル リ コンフ ィギュレーシ ョ ン中は XADC はセーフ モードで機能します。

BITSTREAM.STARTUP.DONEPIPE

Yes Yes、 No CFG_DONE (DONE) ピンが High になり、 初のクロ ッ ク エッジを待って、 Done ステートに移動します。

BITSTREAM.STARTUP.DONE_CYCLE

4 4、 1、 2、 3、5、 6、 Keep

FPGA Done 信号をアクティブにするスタート アップ フェーズを選択します。 DonePipe=Yes の場合、 Done は遅延されます。

BITSTREAM.STARTUP.GTS_CYCLE

5 5、 1、 2、 3、4、 6、 Done、Keep

I/O バッファーへの内部ト ライステート制御を解放するスタート アップ フェーズを選択します。

BITSTREAM.STARTUP.GWE_CYCLE

6 6、 1、 2、 3、4、 5、 Done、Keep

フ リ ップフロ ップ、 LUT RAM、 およびシフ ト レジスタへの内部イネーブルをアサートするスタート アップ フェーズを選択します。 BRAM もイネーブルにします。 このスタート アップ フェーズの前は、 ブロッ ク RAM の書き込みおよび読み出しの両方がディ スエーブルです。

BITSTREAM.STARTUP.LCK_CYCLE

NoWait NoWait、 0、1、 2、 3、 4、5、 6

DLL/DCM/PLL ロ ッ クまで待機するため、 スタート アップ段階を選択します。 NoWait に設定する と、 スタート アップ シーケンスは DLL/DCM/PLL がロ ッ ク されるまで待機されません。

BITSTREAM.STARTUP.MATCH_CYCLE

Auto Auto、NoWait、 0、1、 2、 3、 4、5、 6

デジタル制御インピーダンス (DCI) 一致信号がアサート されるまで待機するスタート アップ サイクルを指定します。DCI マッチは MATCH_CYCLE では開始しません。 スタート アップ シーケンスは DCI が一致するまでこのサイクルで待機します。 DCI が一致するのにかかる時間にはさまざま要素が影響するので、 スタート アップ シーケンスが完了するのに必要な CCLK サイクル数は、 同じシステムでも異なる場合があ り ます。 DONE が High になるまでコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンで CCLK を駆動するのが理想的です。

注記 : Auto に設定する と、 write_bitstream によ りデザイン

で DCI I/O 規格が検索されます。 DCI 規格が存在する場合は BITSTREAM.STARTUP.MATCH_CYCLE=2 が、存在しない場合は BITSTREAM.STARTUP.MATCH_CYCLE=NoWait が使用されます。

BITSTREAM.STARTUP.STARTUPCLK

Cclk Cclk、UserClk、JtagClk

デバイスのコンフ ィギュレーシ ョ ン後の StartupClk シーケンスは、 Cclk、 ユーザー ク ロ ッ ク、 または JTAG ク ロ ックに同期させるこ とができます。デフォルトは Cclk です。

• Cclk : FPGA デバイスで供給される内部クロ ッ クに同期します。

• UserClk : STARTUP シンボルの CLK ピンに接続されているユーザー定義信号に同期します。

• JtagClk : JTAG で供給されるク ロ ッ クに同期します。 このクロ ッ クは、 JTAG の制御ロジッ ク と して使用される TAP コン ト ローラーをシーケンスします。

a. 専用コンフ ィギュレーシ ョ ン ピンには、 ビッ ト ス ト リーム設定のデフォルト を使用するこ とをお勧めします。

表 A-1 : 7 シリーズ デバイスのビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 210UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 211: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

Zynq-7000 のビッ トス ト リーム設定

表 A-2 に、Vivado ツールの set_property <Setting> <Value> [current_design] Tcl コマンドで使用可能な Zynq®-7000 デバイスのデバイス コンフ ィギュレーシ ョ ン設定を示します。

注記 : 暗号化のビッ ト ス ト リーム設定は、 Zynq-7000 デバイスでは使用できません。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定

設定 デフォルト値 有効な値 説明

BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE

1 1、 2、 3、 4 BPI コンフ ィギュレーシ ョ ンをフラ ッシュ デバイスのページ モード動作のタイ ミ ングと同期させる際に使用し、初のページの有効読み出しのサイクル数を設定します。

このオプシ ョ ンは、 BPI_page_size を 4 または 8 に設定している場合にのみ有効です。

BITSTREAM.CONFIG.BPI_PAGE_SIZE

1 1、 4、 8 BPI コンフ ィギュレーシ ョ ンのページ サイズを指定します。 これは、 フラ ッシュ メモ リでページごとに必要な読み出し数に対応します。

BITSTREAM.CONFIG.BPI_SYNC_MODE

Disable Disable、Type1、 Type2

BPI フラ ッシュ デバイスの異なるタイプの BPI 同期コンフ ィギュレーシ ョ ン モードを設定します。

• Disable (デフォルト ) : 同期コンフ ィギュレーシ ョ ン モードをディ スエーブルにします。

• Type1 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron G18(F) ファ ミ リ をサポートする設定を使用します。

• Type2 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron (Numonyx) P30 および P33 ファ ミ リ をサポートする設定を使用します。

BITSTREAM.CONFIG.CCLKPINa

Pullup Pullup、Pullnone

Cclk ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。

BITSTREAM.CONFIG.CONFIGFALLBACK

Enable Disable、Enable

コンフ ィギュレーシ ョ ンでエラーが発生した場合にデフォルトのビッ ト ス ト リームを読み込むかど うかを指定します。

BITSTREAM.CONFIG.CONFIGRATE

3 3、 6、 9、 12、16、 22、 26、33、 40、 50、66

マスター モードでコンフ ィギュレーシ ョ ンする場合、ビッ ト ス ト リームの生成でコンフ ィギュレーシ ョ ン クロ ッ ク (Cclk) の生成に内部オシレーターが使用されます。このオプシ ョ ンを使用する と、 Cclk のレート を選択できます。

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Continuous、Quiet

デジタル制御インピーダンス (DCI) 回路で DCI IOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.DONEPINa

Pullup Pullup、Pullnone

DONE ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。 このオプシ ョンは、 外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用して ください。 このオプシ ョ ンを使用しない場合、 内部プルアップ抵抗が自動的に接続されます。

Vivado プログラムおよびデバッグ 211UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 212: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.EXTMASTERCCLK_EN

Disable Disable、div-48、div-24、div-12、div-8、 div-6、div-4、 div-3、div-2、 div-1

すべてのマスター モードで外部クロ ッ クをコンフ ィギュレーシ ョ ン ク ロ ッ ク と して使用できるよ うにします。 外部クロ ッ クは、 多目的 USERCCLK ピンに接続する必要があ り ます。

BITSTREAM.CONFIG.INITPINa

Pullup Pullup、Pullnone

INIT ピンにプルアップ抵抗を追加するか、 未接続のままにするかを指定します。

BITSTREAM.CONFIG.INITSIGNALSERROR

Enable Enable、Disable

Enable の場合、 コンフ ィギュレーシ ョ ン エラーが検出される と INIT_B ピンが 0 にアサート されます。

BITSTREAM.CONFIG.M0PINa

Pullup Pullup、Pulldown、Pullnone

M0 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M0 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M1PINa

Pullup Pullup、Pulldown、Pullnone

M1 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M1 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M2PINa

Pullup Pullup、Pulldown、Pullnone

M2 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M2 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.NEXT_CONFIG_ADDR

None 文字列 マルチブート セッ ト アップの次のコンフ ィギュレーシ ョンの開始アドレスを設定します。 これは、 WBSTAR レジスタに保存されます。

BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT

Enable Enable、Disable

Disable に設定する と、 .bit ファ イルから IPROG コマンドが削除されます。 マルチブート セッ ト アップでのマルチブート イ メージにジャンプするのではなく、 パワーアップ時にゴールデン イ メージが読み込まれるよ うにできます。

BITSTREAM.CONFIG.OVERTEMPPOWERDOWN

Disable Disable、Enable

XADC で温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされるよ うにします。このオプシ ョ ンを使用するには、 XADC に外部回路セット アップが必要です

BITSTREAM.CONFIG.PERSIST

No No、 Yes コンフ ィギュレーシ ョ ン後に多目的コンフ ィギュレーシ ョ ン ピンへのコンフ ィギュレーシ ョ ン ロジッ ク アクセスを保持します。 主にコンフ ィギュレーシ ョ ン後のリードバッ ク アクセス用に SelectMAP ポート を保持するために使用されますが、 どのコンフ ィギュレーシ ョ ン モードででも使用できます。 JTAG コンフ ィギュレーシ ョ ンでは、 JTAG ポートは専用ポート なので、 PERSIST は必要あり ません。PERSIST と ICAP を同時に使用するこ とはできません。

詳細は、 ユーザー ガイ ドを参照してください。 PERSIST は、 SelectMAP コンフ ィギュレーシ ョ ン ピンを使用するリードバッ クおよびパーシャル リ コンフ ィギュレーシ ョンに必要で、 SelectMAP またはシ リ アル モードを使用している場合に使用する必要があ り ます。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 212UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 213: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.REVISIONSELECT

00 00、 01、 10、11

次のウォーム ブートのウォーム ブート開始アドレス (WBSTAR) レジスタの RS[1:0] 設定の内部値を指定します。

BITSTREAM.CONFIG.REVISIONSELECT_TRISTATE

Disable Disable、Enable

ウォーム ブートのウォーム ブート開始アドレス (WBSTAR) のオプシ ョ ンを設定するこ とによ り、 RS[1:0] ト ライステート をイネーブルにするかど うかを指定します。

• RS[1:0] ピンはト ライステート イネーブル

• 0 : RS ト ラ イステート をイネーブル (デフォルト )

• 1 : RS ト ラ イステート をディ スエーブル

BITSTREAM.CONFIG.SELECTMAPABORT

Enable Enable、Disable

SelectMAP モードのアボート シーケンスをイネーブルまたはディ スエーブルにします。 Disable に設定する と、 デバイス ピンのアボート シーケンスは無視されます。

BITSTREAM.CONFIG.SPI_32BIT_ADDR

No No、 Yes SPI 32 ビッ ト アドレス形式をイネーブルにします。 この形式は、 256Mb 以上のス ト レージを含む SPI デバイスで必要です。

BITSTREAM.CONFIG.SPI_BUSWIDTH

NONE NONE、 1、2、 4

サードパーティ SPI フラ ッシュ デバイスからのマスター SPI コンフ ィギュレーシ ョ ンに対して、 SPI バスをデュアル (x2) またはクワッ ド (x4) モードに設定します。

BITSTREAM.CONFIG.SPI_FALL_EDGE

No No、 Yes FPGA で SPI データのキャプチャに立ち下がりエッジを使用するよ う設定します。 これによ り タイ ミ ング マージンが向上し、 コンフ ィギュレーシ ョ ンのクロ ッ ク レートが上がる可能性があ り ます。

BITSTREAM.CONFIG.TCKPINa

Pullup Pullup、Pulldown、Pullnone

TCK ピン、 JTAG テス ト ク ロ ッ クにプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDIPINa

Pullup Pullup、Pulldown、Pullnone

TDI ピン、JTAG 命令および JTAG レジスタへのシ リ アル データ入力すべてに、 プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDOPINa

Pullup Pullup、Pulldown、Pullnone

TDO ピン、 JTAG 命令およびデータ レジスタへのシ リアル データ出力すべてに、 プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TIMER_CFG

None 8 桁の 16 進文字列

コンフ ィギュレーシ ョ ン モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_USR と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TIMER_USR

0x00000000 8 桁の 16 進文字列

ユーザー モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_CFG と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TMSPINa

Pullup Pullup、Pulldown、Pullnone

TMS ピン、 TAP コン ト ローラーへのモード入力信号にプルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 TAP コン ト ローラーは、 JTAG の制御ロジッ ク と して使用されます。 Pullnone に設定すると、 プルアップもプルダウンも使用されません。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 213UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 214: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.UNUSEDPIN

Pulldown Pulldown、Pullup、Pullnone

未使用の SelectIO ピン (IOB) にプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。コンフ ィギュレーシ ョ ン専用ピンには適用されません。コンフ ィギュレーシ ョ ン専用ピンのリ ス トは、 アーキテクチャによって異なり ます。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.USERID

0xFFFFFFFF 8 桁の 16 進文字列

インプリ メンテーシ ョ ンのリ ビジ ョ ンを特定します。ユーザー ID レジスタには、 8 桁までの 16 進文字列を入力できます。

BITSTREAM.CONFIG.USR_ACCESS

None 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、8 桁の 16 進文字列またはタイムスタンプを記述します。 タ イムスタンプ値のフォーマッ トは、 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss (ddddd = 日、MMMM = 月、yyyyyy = 年 (2000 年は 00000)、 hhhhh = 時、 mmmmmm = 分、 ssssss = 秒) です。 このレジスタの内容は、 FPGA デバイスにより USR_ACCESS プ リ ミ テ ィブを介して直接アクセスできます。

BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT

bbram bbram、 efuse 使用する AES 暗号キーの場所を、 バッテ リ バッ クアップ式 RAM (BBRAM) または eFUSE レジスタのいずれかに指定します。 (7 シ リーズ)。

注記 : このプロパティは ENCRYPT オプシ ョ ンを Yes に設定して

いる場合のみ使用可能です。

BITSTREAM.GENERAL.COMPRESS

False True、 False ビッ ト ス ト リームの複数フレーム書き込み機能を使用し、ビッ ト ス ト リーム ファ イル (.bit) ファ イルだけでなく、ビッ ト ス ト リーム自体のサイズも縮小します。 このオプシ ョ ンを使用しても、 ビッ ト ス ト リームのサイズが縮小する とは限り ません。

BITSTREAM.GENERAL.CRC

Enable Enable、Disable

ビッ ト ス ト リームの巡回冗長検査 (CRC) 値の生成を制御します。 Enable に設定する と、 ビッ ト ス ト リームの内容に基づいて固有の CRC 値が算出されます。 算出された CRC 値がビッ ト ス ト リームの CRC 値と一致しない場合は、 デバイスはコンフ ィギュレーシ ョ ンされません。CRC がディ スエーブルの場合、 CRC 値の代わりに定数値がビッ ト ス ト リームに挿入され、 デバイスで CRC 値は算出されません。

BITSTREAM.GENERAL.DEBUGBITSTREAM

No No、 Yes デバッグ ビッ ト ス ト リームを生成します。 デバッグ ビット ス ト リームのサイズは、 標準のビッ ト ス ト リームよ りもかな り大き くな り ます。 このオプシ ョ ンは、 マスターおよびスレーブ シ リ アル コンフ ィギュレーシ ョ ンでのみ使用できます。 バウンダ リ スキャンおよびスレーブ パラレル/SelectMAP では使用できません。 デバッグ ビッ ト スト リームには、 標準ビッ ト ス ト リームに加え、 次の機能があ り ます。

• 同期化ワードの後に LOUT レジスタに 32 個の 0 を書き込みます。

• 各フレームを個別に読み込みます。

• 各フレーム後に巡回冗長検査 (CRC) を実行します。

• 各フレーム後にフレーム アドレスを LOUT レジスタに書き込みます。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 214UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 215: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.GENERAL.DISABLE_JTAG

No No、 Yes コンフ ィギュレーシ ョ ン後に JTAG を介したバウンダ リ スキャン (BSCAN) ブロ ッ クへのアクセスをディ スエーブルにします。

BITSTREAM.GENERAL.JTAG_XADC

Enable Enable、Disable、StatusOnly

XADC への JTAG 接続をイネーブルまたはディ スエーブルにします。

BITSTREAM.GENERAL.XADCENHANCEDLINEARITY

Off Off、 On INL が実際のアナログ パフォーマンスよ り も悪くなるビルト イン デジタル キャ リブレーシ ョ ン機能をディ スエーブルにします。

BITSTREAM.READBACK.ACTIVERECONFIG

No No、 Yes コンフ ィギュレーシ ョ ン中に GHIGH および GSR がアサート されないよ うにします。 これは、 アクティブ パーシャル リ コンフ ィギュレーシ ョ ン向上機能に必要です。

BITSTREAM.READBACK.ICAP_SELECT

Auto Auto、 Top、Bottom

上または下の ICAP ポート を選択します。

BITSTREAM.READBACK.READBACK

False True、 False 必要な リードバッ ク ファ イルを作成して リードバッ ク機能を実行します。

BITSTREAM.READBACK.SECURITY

None None、Level1、Level2

リードバッ クおよびリ コンフ ィギュレーシ ョ ンをディ スエーブルにするかど うかを指定します。

注記 : Level1 に設定する と リードバッ クがディ スエーブルにな

り、 Level2 に設定する と リードバッ ク と リ コンフ ィギュレー

シ ョ ンがディ スエーブルになり ます。

BITSTREAM.READBACK.XADCPARTIALRECONFIG

Disable Disable、Enable

Disable に設定する と、 パーシャル リ コンフ ィギュレーシ ョ ン中も XADC が継続して機能します。 Enable に設定する と、 パーシャル リ コンフ ィギュレーシ ョ ン中は XADC はセーフ モードで機能します。

BITSTREAM.STARTUP.DONEPIPE

Yes Yes、 No CFG_DONE (DONE) ピンが High になり、 初のクロ ッ ク エッジを待って、 Done ステートに移動します。

BITSTREAM.STARTUP.DONE_CYCLE

4 4、 1、 2、 3、5、 6、 Keep

FPGA Done 信号をアクティブにするスタート アップ フェーズを選択します。 DonePipe=Yes の場合、 Done は遅延されます。

BITSTREAM.STARTUP.GTS_CYCLE

5 5、 1、 2、 3、4、 6、 Done、Keep

I/O バッファーへの内部ト ライステート制御を解放するスタート アップ フェーズを選択します。

BITSTREAM.STARTUP.GWE_CYCLE

6 6、 1、 2、 3、4、 5、 Done、Keep

フ リ ップフロ ップ、 LUT RAM、 およびシフ ト レジスタへの内部イネーブルをアサートするスタート アップ フェーズを選択します。 BRAM もイネーブルにします。 このスタート アップ フェーズの前は、 ブロッ ク RAM の書き込みおよび読み出しの両方がディ スエーブルです。

BITSTREAM.STARTUP.LCK_CYCLE

NoWait NoWait、 0、1、 2、 3、 4、5、 6

DLL/DCM/PLL ロ ッ クまで待機するため、 スタート アップ段階を選択します。 NoWait に設定する と、 スタートアップ シーケンスは DLL/DCM/PLL がロ ッ ク されるまで待機されません。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 215UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 216: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.STARTUP.MATCH_CYCLE

Auto Auto、NoWait、 0、1、 2、 3、 4、5、 6

デジタル制御インピーダンス (DCI) 一致信号がアサートされるまで待機するスタート アップ サイクルを指定します。 DCI マッチは MATCH_CYCLE では開始しません。 スタート アップ シーケンスは DCI が一致するまでこのサイクルで待機します。 DCI が一致するのにかかる時間にはさまざま要素が影響するので、 スタート アップ シーケンスが完了するのに必要な CCLK サイクル数は、 同じシステムでも異なる場合があ り ます。 DONE が High になるまでコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンで CCLK を駆動するのが理想的です。

注記 : Auto に設定する と、write_bitstream によ りデザインで DCI I/O 規格が検索されます。 DCI 規格が存在する場合は BITSTREAM.STARTUP.MATCH_CYCLE=2 が、 存在しない場合は BITSTREAM.STARTUP.MATCH_CYCLE=NoWait が使用されます。

BITSTREAM.STARTUP.STARTUPCLK

Cclk Cclk、UserClk、JtagClk

デバイスのコンフ ィギュレーシ ョ ン後の StartupClk シーケンスは、 Cclk、 ユーザー クロ ッ ク、 または JTAG クロ ッ クに同期させるこ とができます。 デフォルトは Cclk です。

• Cclk : FPGA デバイスで供給される内部クロ ッ クに同期します。

• UserClk : STARTUP シンボルの CLK ピンに接続されているユーザー定義信号に同期します。

• JtagClk : JTAG で供給されるク ロ ッ クに同期します。 このクロ ッ クは、JTAG の制御ロジッ ク と して使用される TAP コン ト ローラーをシーケンスします。

a. 専用コンフ ィギュレーシ ョ ン ピンには、 ビッ ト ス ト リーム設定のデフォルト を使用するこ とをお勧めします。

表 A-2 : Zynq-7000 のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 216UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 217: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

UltraScale のビッ トス ト リーム設定

表 A-3 に、Vivado ツールの set_property <Setting> <Value> [current_design] Tcl コマンドで使用可能な UltraScale™ デバイスのデバイス コンフ ィギュレーシ ョ ン設定を示します。

表 A-3 : UltraScale のビッ トス ト リーム設定

設定 デフォルト値 有効な値 説明

BITSTREAM.AUTHENTICATION.AUTHENTICATE

No Yes、 No RSA 認証を使用するかど うかを指定します。 No の場合、AES_GCM が使用されます。

BITSTREAM.AUTHENTICATION.RSAPRIVATEKEYFILE

None 文字列 RSA-2048 認証ビッ ト ス ト リームをサインするために使用するべきキー ペアを含む OpenSSL .pem ファ イルを指定します。

BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE

1 1、 2、 3、 4 BPI コンフ ィギュレーシ ョ ンをフラ ッシュ デバイスのページ モード動作のタイ ミ ングと同期させる際に使用し、初のページの有効読み出しのサイクル数を設定します。このオプシ ョ ンは、BPI_page_size を 4 または 8 に設定している場合にのみ有効です。

BITSTREAM.CONFIG.BPI_PAGE_SIZE

1 1、 4、 8 BPI コンフ ィギュレーシ ョ ンのページ サイズを指定します。 これは、 フラ ッシュ メモ リでページごとに必要な読み出し数に対応します。

BITSTREAM.CONFIG.BPI_SYNC_MODE

Disable Disable、Type1、 Type2

BPI フラ ッシュ デバイスの異なるタイプの BPI 同期コンフ ィギュレーシ ョ ン モードを設定します。

• Disable (デフォルト ) : 同期コンフ ィギュレーシ ョ ン モードをディ スエーブルにします。

• Type1 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron G18(F) ファ ミ リ をサポートする設定を使用します。

• Type2 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron (Numonyx) P30 および P33 ファ ミ リ をサポートする設定を使用します。

BITSTREAM.CONFIG.CCLKPINa

Pullup Pullup、Pullnone

Cclk ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。

BITSTREAM.CONFIG.CONFIGFALLBACK

Enable Disable、Enable

コンフ ィギュレーシ ョ ンでエラーが発生した場合にデフォルトのビッ ト ス ト リームを読み込むかど うかを指定します。

BITSTREAM.CONFIG.CONFIGRATE

3 3、 6、 9、 12、22、 33、 40、50、 57、 69、82、 87、 90、110、 115、130、 148

マスター モードでコンフ ィギュレーシ ョ ンする場合、ビッ ト ス ト リームの生成でコンフ ィギュレーシ ョ ン クロ ッ ク (Cclk) の生成に内部オシレーターが使用されます。このオプシ ョ ンを使用する と、 Cclk のレート を選択できます。

BITSTREAM.CONFIG.D00_MOSIa

Pullup Pullup、Pulldown、Pullnone

D00_MOSI ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D00_MOSI ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

Vivado プログラムおよびデバッグ 217UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 218: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.D01_DINa

Pullup Pullup、Pulldown、Pullnone

D01_DIN ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D01_DIN ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.D02a

Pullup Pullup、Pulldown、Pullnone

D02 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D02 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.D03a

Pullup Pullup、Pulldown、Pullnone

D03 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D03 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Continuous、Quiet

デジタル制御インピーダンス (DCI) 回路で DCI IOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.DONEPINa

Pullup Pullup、Pullnone

DONE ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。 このオプシ ョンは、 外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用して ください。 このオプシ ョ ンを使用しない場合、 内部プルアップ抵抗が自動的に接続されます。

BITSTREAM.CONFIG.EXTMASTERCCLK_EN

Disable Disable、Div-1、Div-2、Div-3、Div-4、Div-6、Div-8、Div-12、Div-16、Div-24、Div-48

すべてのマスター モードで外部クロ ッ クをコンフ ィギュレーシ ョ ン ク ロ ッ ク と して使用できるよ うにします。 外部クロ ッ クは、 多目的 USERCCLK ピンに接続する必要があ り ます。

BITSTREAM.CONFIG.INITPINa

Pullup Pullup、Pullnone

INIT ピンにプルアップ抵抗を追加するか、 未接続のままにするかを指定します。

BITSTREAM.CONFIG.INITSIGNALSERROR

Enable Enable、Disable

Enable の場合、 コンフ ィギュレーシ ョ ン エラーが検出される と INIT_B ピンが 0 にアサート されます。

BITSTREAM.CONFIG.M0PINa

Pullup Pullup、Pulldown、Pullnone

M0 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M0 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M1PINa

Pullup Pullup、Pulldown、Pullnone

M1 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M1 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M2PINa

Pullup Pullup、Pulldown、Pullnone

M2 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M2 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 218UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 219: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.NEXT_CONFIG_ADDR

なし 文字列 マルチブート セッ ト アップの次のコンフ ィギュレーシ ョンの開始アドレスを設定します。 これは、 WBSTAR レジスタに保存されます。

BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT

Enable Enable、Disable

Disable に設定する と、 .bit ファ イルから IPROG コマンドが削除されます。 マルチブート セッ ト アップでのマルチブート イ メージにジャンプするのではなく、 パワーアップ時にゴールデン イ メージが読み込まれるよ うにできます。

BITSTREAM.CONFIG.OVERTEMPSHUTDOWN

Disable Disable、Enable

システム モニターで温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされるよ うにします。 このオプシ ョ ンを使用するには、 システム モニターに外部回路セッ ト アップが必要です

BITSTREAM.CONFIG.PERSIST

No No、 Yes コンフ ィギュレーシ ョ ン後に多目的コンフ ィギュレーシ ョ ン ピンへのコンフ ィギュレーシ ョ ン ロジッ ク アクセスを保持します。 主にコンフ ィギュレーシ ョ ン後のリードバッ ク アクセス用に SelectMAP ポート を保持するために使用されますが、 どのコンフ ィギュレーシ ョ ン モードででも使用できます。 JTAG コンフ ィギュレーシ ョ ンでは、 JTAG ポートは専用ポート なので、 PERSIST は必要あり ません。 PERSIST と ICAP を同時に使用するこ とはできません。

詳細は、 ユーザー ガイ ドを参照してください。 PERSIST は、 SelectMAP コンフ ィギュレーシ ョ ン ピンを使用するリードバッ クおよびパーシャル リ コンフ ィギュレーシ ョンに必要で、 SelectMAP またはシ リ アル モードを使用している場合に使用する必要があ り ます。

BITSTREAM.CONFIG.PROGPINa

Pullup Pullup、Pullnone

PROGRAM_B ピンに内部プルアップを追加します。Pullnone に設定する と、 プルアップは使用されません。 プルアップは、 コンフ ィギュレーシ ョ ン後のピンに使用されます。

BITSTREAM.CONFIG.PUDC_Ba

Pullup Pullup、Pulldown、Pullnone

PUDC_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 PUDC_B ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.RDWR_B_FCS_Ba

Pullup Pullup、Pulldown、Pullnone

RDWR_B_FCS_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。

RDWR_B_FCS_B ピンRDWR_B_FCS_B ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、Pullnone に設定します。

BITSTREAM.CONFIG.REVISIONSELECT

00 00、 01、 10、11

次のウォーム ブートのウォーム ブート開始アドレス (WBSTAR) レジスタの RS[1:0] 設定の内部値を指定します。

BITSTREAM.CONFIG.REVISIONSELECT_TRISTATE

Disable Disable、Enable

ウォーム ブートのウォーム ブート開始アドレス (WBSTAR) のオプシ ョ ンを設定するこ とによ り、 RS[1:0] トラ イステート をイネーブルにするかど うかを指定します。

• RS[1:0] ピンはト ライステート イネーブル

• 0 : RS ト ラ イステート をイネーブル (デフォルト )

• 1 : RS ト ラ イステート をディ スエーブル

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 219UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 220: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.SELECTMAPABORT

Enable Enable、Disable

SelectMAP モードのアボート シーケンスをイネーブルまたはディ スエーブルにします。 Disable に設定する と、 デバイス ピンのアボート シーケンスは無視されます。

BITSTREAM.CONFIG.SPI_32BIT_ADDR

No No、 Yes SPI 32 ビッ ト アドレス形式をイネーブルにします。 この形式は、 256Mb 以上のス ト レージを含む SPI デバイスで必要です。

BITSTREAM.CONFIG.SPI_BUSWIDTH

NONE NONE、 1、2、 4

サードパーティ SPI フラ ッシュ デバイスからのマスター SPI コンフ ィギュレーシ ョ ンに対して、 SPI バスをデュアル (x2) またはクワッ ド (x4) モードに設定します。

BITSTREAM.CONFIG.SPI_FALL_EDGE

No No、 Yes FPGA で SPI データのキャプチャに立ち下がりエッジを使用するよ う設定します。 これによ り タイ ミ ング マージンが向上し、 コンフ ィギュレーシ ョ ンのクロ ッ ク レートが上がる可能性があ り ます。

BITSTREAM.CONFIG.TCKPINa

Pullup Pullup、Pulldown、Pullnone

TCK ピン、 JTAG テス ト ク ロ ッ クにプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDIPINa

Pullup Pullup、Pulldown、Pullnone

TDI ピン、 JTAG 命令および JTAG レジスタへのシ リアル データ入力すべてに、 プルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDOPINa

Pullup Pullup、Pulldown、Pullnone

TDO ピン、 JTAG 命令およびデータ レジスタへのシ リアル データ出力すべてに、 プルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TIMER_CFG

None 8 桁の 16 進文字列

コンフ ィギュレーシ ョ ン モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_USR と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TIMER_USR

0x00000000 8 桁の 16 進文字列

ユーザー モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_CFG と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TMSPINa

Pullup Pullup、Pulldown、Pullnone

TMS ピン、 TAP コン ト ローラーへのモード入力信号にプルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 TAP コン ト ローラーは、 JTAG の制御ロジッ ク と して使用されます。 Pullnone に設定すると、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.UNUSEDPIN

Pulldown Pulldown、Pullup、Pullnone

未使用の SelectIO ピン (IOB) にプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。コンフ ィギュレーシ ョ ン専用ピンには適用されません。コンフ ィギュレーシ ョ ン専用ピンのリ ス トは、 アーキテクチャによって異なり ます。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.USERID

0xFFFFFFFF 8 桁の 16 進文字列

インプリ メンテーシ ョ ンのリ ビジ ョ ンを特定します。ユーザー ID レジスタには、 8 桁までの 16 進文字列を入力できます。

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 220UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 221: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.USR_ACCESS

None 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、 8 桁の 16 進文字列またはタイムスタンプを記述します。 タ イムスタンプ値のフォーマッ トは、 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss (ddddd = 日、 MMMM = 月、 yyyyyy = 年 (2000 年は 00000)、 hhhhh = 時、 mmmmmm = 分、 ssssss = 秒) です。 このレジスタの内容は、 FPGA デバイスにより USR_ACCESS プ リ ミ テ ィブを介して直接アクセスできます。

BITSTREAM.ENCRYPTION.ENCRYPT

No No、 Yes ビッ ト ス ト リームを暗号化します。

BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT

bbram bbram、 efuse 使用する AES 暗号キーの場所を、 バッテ リ バッ クアップ式 RAM (BBRAM) または eFUSE レジスタのいずれかに指定します。

注記 : このプロパティは ENCRYPT オプシ ョ ンを Yes に設定して

いる場合のみ使用可能です。

BITSTREAM.ENCRYPTION.KEY0

None 16 進文字列 ビッ ト ス ト リーム暗号化の AES 暗号キーを設定します。このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEYFILE

None 文字列 入力暗号化ファイル (拡張子 .nky) の名前を指定します。このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEYLIFE

32 4 ~ 2147483647

AES-GCM 認証ビッ ト ス ト リームに使用するべき単一のキーに対する 128 ビッ ト暗号化ブロッ クの数

BITSTREAM.ENCRYPTION.RSAKEYLIFEFRAMES

8 8 ~ 2147483647

RSA 公開キー認証を指定する場合に、 該当する AES-256 キーに使用するべきコンフ ィギュレーシ ョ ン フレーム数を指定します。 コンフ ィギュレーシ ョ ン フレーム値に 8 を指定するのは、 246 の暗号化ブロッ クのキーを使用するのと同じこ とです。

BITSTREAM.ENCRYPTION.OBFUSCATEKEY

Disable Enable、Disable

ビッ ト ス ト リームを暗号化するために使用されたキーが eFUSE またはバッテ リ バッ クアップ式 RAM (BBR) に保存される前に難読化されるビッ ト ス ト リームを作成します。これによ り、 デバイス プログラマで元のカスタマー キーではなく難読化されたキーを使用できます。 難読化されたキーは eFUSE または BBR に保存され、 選択されたス トレージ ロケーシ ョ ンの難読化キー フラグを使用して難読化されたキーと してマーク されます。

BITSTREAM.ENCRYPTION.STARTIVO

初の AES-GCM メ ッセージで初期 GCM カウン ト値を指定するのに使用される初期化ベクターで、 32 ビッ トの 16 進数値です。

BITSTREAM.ENCRYPTION.STARTIVOBFUSCATE

難読初期化ベクター値 (Obfuscate IV0) を開始します。

BITSTREAM.GENERAL.COMPRESS

False True、 False ビッ ト ス ト リームの複数フレーム書き込み機能を使用し、ビッ ト ス ト リーム ファ イル (.bit) ファ イルだけでなく、ビッ ト ス ト リーム自体のサイズも縮小します。 このオプシ ョ ンを使用しても、 ビッ ト ス ト リームのサイズが縮小する とは限り ません。

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 221UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 222: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.GENERAL.CRC

Enable Enable、Disable

ビッ ト ス ト リームの巡回冗長検査 (CRC) 値の生成を制御します。 Enable に設定する と、 ビッ ト ス ト リームの内容に基づいて固有の CRC 値が算出されます。 算出された CRC 値がビッ ト ス ト リームの CRC 値と一致しない場合は、 デバイスはコンフ ィギュレーシ ョ ンされません。 CRC がディ スエーブルの場合、 CRC 値の代わりに定数値がビット ス ト リームに挿入され、 デバイスで CRC 値は算出されません。

BITSTREAM.GENERAL.DEBUGBITSTREAM

No No、 Yes デバッグ ビッ ト ス ト リームを生成します。 デバッグ ビット ス ト リームのサイズは、 標準のビッ ト ス ト リームよ りもかな り大き くな り ます。 このオプシ ョ ンは、 マスターおよびスレーブ シ リ アル コンフ ィギュレーシ ョ ンでのみ使用できます。 バウンダ リ スキャンおよびスレーブ パラレル/SelectMAP では使用できません。 デバッグ ビッ ト スト リームには、 標準ビッ ト ス ト リームに加え、 次の機能があ り ます。

• 同期化ワードの後に LOUT レジスタに 32 個の 0 を書き込みます。

• 各フレームを個別に読み込みます。

• 各フレーム後に巡回冗長検査 (CRC) を実行します。

• 各フレーム後にフレーム アドレスを LOUT レジスタに書き込みます。

BITSTREAM.GENERAL.DISABLE_JTAG

No No、 Yes コンフ ィギュレーシ ョ ン後に JTAG を介したバウンダ リ スキャン (BSCAN) ブロ ッ クへのアクセスをディ スエーブルにします。

BITSTREAM.GENERAL.JTAG_SYSMON

Enable Enable、Disable、StatusOnly

SYSMON への JTAG 接続をイネーブルまたはディ スエーブルにします。

BITSTREAM.GENERAL.SYSMONPOWERDOWN

Disable Disable、Enable

SYSMON をパワーダウンできるよ うにして節電します。SYSMON を永久にパワーダウンする場合にのみ推奨されます。

BITSTREAM.READBACK.ACTIVERECONFIG

No No、 Yes コンフ ィギュレーシ ョ ン中に GHIGH および GSR がアサート されないよ うにします。 これは、 アクティブ パーシャル リ コンフ ィギュレーシ ョ ン向上機能に必要です。

BITSTREAM.READBACK.ICAP_SELECT

Auto Auto、 Top、Bottom

上または下の ICAP ポート を選択します。

BITSTREAM.READBACK.READBACK

False True、 False 必要な リードバッ ク ファ イルを作成して リードバッ ク機能を実行します。

BITSTREAM.READBACK.SECURITY

None None、Level1、Level2

リードバッ クおよびリ コンフ ィギュレーシ ョ ンをディ スエーブルにするかど うかを指定します。

注記 : Level1 に設定する と リードバッ クがディ スエーブルになり、

Level2 に設定する と リードバッ ク と リ コンフ ィギュレーシ ョ ンが

ディ スエーブルになり ます。

BITSTREAM.STARTUP.DONE_CYCLE

4 4、 1、 2、 3、5、 6、 Keep

FPGA Done 信号をアクティブにするスタート アップ フェーズを選択します。 DonePipe=Yes の場合、 Done は遅延されます。

BITSTREAM.STARTUP.GTS_CYCLE

5 5、 1、 2、 3、4、 6、 Done、Keep

I/O バッファーへの内部ト ライステート制御を解放するスタート アップ フェーズを選択します。

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 222UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 223: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.STARTUP.GWE_CYCLE

6 6、 1、 2、 3、4、 5、 Done、Keep

フ リ ップフロ ップ、 LUT RAM、 およびシフ ト レジスタへの内部イネーブルをアサートするスタート アップ フェーズを選択します。 BRAM もイネーブルにします。 このスタート アップ フェーズの前は、 ブロ ッ ク RAM の書き込みおよび読み出しの両方がディ スエーブルです。

BITSTREAM.STARTUP.LCK_CYCLE

NoWait NoWait、 0、1、 2、 3、 4、5、 6

DLL/DCM/PLL がロ ッ ク されるまで待機するスタート アップ フェーズを選択します。 NoWait に設定する と、 スタート アップ シーケンスは DLL/DCM/PLL がロ ッ ク されるまで待機されません。

BITSTREAM.STARTUP.MATCH_CYCLE

Auto Auto、NoWait、 0、1、 2、 3、 4、5、 6

デジタル制御インピーダンス (DCI) 一致信号がアサート されるまで待機するスタート アップ サイクルを指定します。DCI マッチは MATCH_CYCLE では開始しません。 スタート アップ シーケンスは DCI が一致するまでこのサイクルで待機します。 DCI が一致するのにかかる時間にはさまざま要素が影響するので、 スタート アップ シーケンスが完了するのに必要な CCLK サイクル数は、 同じシステムでも異なる場合があ り ます。 DONE が High になるまでコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンで CCLK を駆動するのが理想的です。

注記 : Auto に設定する と、write_bitstream によ りデザインで DCI I/O 規格が検索されます。 DCI 規格が存在する場合は BITSTREAM.STARTUP.MATCH_CYCLE=2 が、 存在しない場合は BITSTREAM.STARTUP.MATCH_CYCLE=NoWait が使用されます。

a. 専用コンフ ィギュレーシ ョ ン ピンの場合は、 デフォルトのビッ ト ス ト リーム設定を使用するこ とをお勧めします。

表 A-3 : UltraScale のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 223UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 224: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

Virtex および Kintex UltraScale+ のビッ トス ト リーム設定

表 A-4 に、Vivado ツールの set_property <Setting> <Value> [current_design] Tcl コマンドで使用可能な Virtex および Kintex® UltraScale+™ デバイスのデバイス コンフ ィギュレーシ ョ ン設定を示します。

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定

設定 デフォルト値 有効な値 説明

BITSTREAM.AUTHENTICATION.AUTHENTICATE

No No、 Yes RSA 認証を使用するかど うかを指定します。 No の場合、AES_GCM が使用されます。

BITSTREAM.AUTHENTICATION.RSAPRIVATEKEYFILE

RSA-2048 認証ビッ ト ス ト リームをサインするために使用するべきキー ペアを含む OpenSSL .pem ファ イルを指定します。

BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE

1 1、 2、 3、 4 BPI コンフ ィギュレーシ ョ ンをフラ ッシュ デバイスのページ モード動作のタイ ミ ングと同期させる際に使用し、初のページの有効読み出しのサイクル数を設定します。

このオプシ ョ ンは、 BPI_page_size を 4 または 8 に設定している場合にのみ有効です。

BITSTREAM.CONFIG.BPI_PAGE_SIZE

1 1、 4、 8 BPI コンフ ィギュレーシ ョ ンのページ サイズを指定します。 これは、 フラ ッシュ メモ リでページごとに必要な読み出し数に対応します。

BITSTREAM.CONFIG.BPI_SYNC_MODE

Disable Disable、Type1、 Type2

BPI フラ ッシュ デバイスの異なるタイプの BPI 同期コンフ ィギュレーシ ョ ン モードを設定します。 Disable (デフォルト ) : 同期コンフ ィギュレーシ ョ ン モードをディ スエーブルにします。 Type1 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron G18(F) ファ ミ リ をサポートする設定を使用します。 Type2 : 同期コンフ ィギュレーシ ョ ン モードをイネーブルにし、 Micron (Numonyx) P30 および P33 ファ ミ リ をサポートする設定を使用します。

BITSTREAM.CONFIG.CCLKPIN

Pullup Pullup、Pullnone

Cclk ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。

BITSTREAM.CONFIG.PERSIST

No No、 Yes コンフ ィギュレーシ ョ ン ピンをユーザー I/O と して使用できないよ うにし、 コンフ ィギュレーシ ョ ン後も保持します。

BITSTREAM.CONFIG.CONFIGRATE

3 2.7、 5.3、8.0、 10.6、21.3、 31.9、36.4、 51.0、56.7、 63.8、72.9、 85.0、102.0、 127.5、170.0

コンフ ィギュレーシ ョ ンがマスター モードの場合、 ビット ス ト リームの生成でコンフ ィギュレーシ ョ ン ク ロ ッ ク (Cclk) の生成に内部オシレーターが使用されます。 このオプシ ョ ンは、 Cclk のレート を選択します。

BITSTREAM.CONFIG.D00_MOSI

Pullup Pullup、Pulldown、Pullnone

D00_MOSI ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。D00_MOSI ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.D01_DIN

Pullup Pullup、Pulldown、Pullnone

D01_DIN ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D01_DIN ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

Vivado プログラムおよびデバッグ 224UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 225: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.D02

Pullup Pullup、Pulldown、Pullnone

D02 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D02 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.D03

Pullup Pullup、Pulldown、Pullnone

D03 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D03 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Quiet、 Safe

デジタル制御インピーダンス (DCI) 回路で DCI IOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.DONEPIN

Pullup Pullup、Pullnone

DONE ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。 このオプシ ョンは、 外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用して ください。 このオプシ ョ ンを使用しない場合、 内部プルアップ抵抗が自動的に接続されます。

BITSTREAM.CONFIG.EXTMASTERCCLK_EN

Disable Disable、Div-1、Div-2、Div-3、Div-4、Div-6、Div-8、Div-12、Div-16、Div-24、Div-48

すべてのマスター モードで外部クロ ッ クをコンフ ィギュレーシ ョ ン ク ロ ッ ク と して使用できるよ うにします。 外部クロ ッ クは、 多目的 USERCCLK ピンに接続する必要があ り ます。

BITSTREAM.CONFIG.INITPIN

Pullup Pullup、Pullnone

INIT ピンにプルアップ抵抗を追加するか、 未接続のままにするかを指定します。

BITSTREAM.CONFIG.M0PIN

Pullup Pullup、Pulldown、Pullnone

M0 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M0 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M1PIN

Pullup Pullup、Pulldown、Pullnone

M1 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M1 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.M2PIN

Pullup Pullup、Pulldown、Pullnone

M2 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 M2 ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.NEXT_CONFIG_ADDR

None 文字列 マルチブート セッ ト アップの次のコンフ ィギュレーシ ョンの開始アドレスを設定します。 これは、 WBSTAR レジスタに保存されます。

BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT

Enable Enable、Disable

Disable に設定する と、 .bit ファ イルから IPROG コマンドが削除されます。

BITSTREAM.CONFIG.SELECTMAPABORT

Enable Enable、Disable

SelectMAP モードのアボート シーケンスをイネーブルまたはディ スエーブルにします。 Disable に設定する と、 デバイス ピンのアボート シーケンスは無視されます。

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 225UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 226: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.CONFIGFALLBACK

Enable Enable、Disable

コンフ ィギュレーシ ョ ンでエラーが発生した場合にデフォルトのビッ ト ス ト リームを読み込むかど うかを指定します。

BITSTREAM.CONFIG.PROGPIN

Pullup Pullup、Pullnone

PROGRAM_B ピンに内部プルアップを追加します。Pullnone に設定する と、 プルアップは使用されません。プルアップは、 コンフ ィギュレーシ ョ ン後のピンに使用されます。

BITSTREAM.CONFIG.PUDC_B

Pullup Pullup、Pulldown、Pullnone

PUDC_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 PUDC_B ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.RDWR_B_FCS_B

Pullup Pullup、Pulldown、Pullnone

RDWR_B_FCS_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。RDWR_B_FCS_B ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.REVISIONSELECT

00 00、 01、 10、11

次のウォーム ブートのウォーム ブート開始アドレス (WBSTAR) レジスタの RS[1:0] 設定の内部値を指定します。

BITSTREAM.CONFIG.REVISIONSELECT_TRISTATE

Disable Disable、Enable

ウォーム ブートのウォーム ブート開始アドレス (WBSTAR) のオプシ ョ ンを設定するこ とによ り、 RS[1:0] ト ライステート をイネーブルにするかど うかを指定します。 RS[1:0] ピンはト ライステート イネーブル 0 : RS ト ライステート をイネーブル (デフォルト ) 1 : RS ト ライステート をディスエーブル

BITSTREAM.CONFIG.OVERTEMPSHUTDOWN

Disable Disable、Enable

システム モニターで温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされるよ うにします。 このオプシ ョ ンを使用するには、 システム モニターに外部回路セッ ト アップが必要です

BITSTREAM.CONFIG.SPI_32BIT_ADDR

No No、 Yes SPI 32 ビッ ト アドレス形式をイネーブルにします。 この形式は、 256Mb 以上のス ト レージを含む SPI デバイスで必要です。

BITSTREAM.CONFIG.SPI_BUSWIDTH

NONE NONE、 1、2、 4

サードパーティ SPI フラ ッシュ デバイスからのマスター SPI コンフ ィギュレーシ ョ ンに対して、 SPI バスをデュアル (x2) またはクワッ ド (x4) モードに設定します。

BITSTREAM.CONFIG.SPI_FALL_EDGE

No No、 Yes FPGA で SPI データのキャプチャに立ち下がりエッジを使用するよ う設定します。 これによ り タイ ミ ング マージンが向上し、 コンフ ィギュレーシ ョ ンのクロ ッ ク レートが上がる可能性があ り ます。

BITSTREAM.CONFIG.TCKPIN

Pullup Pullup、Pulldown、Pullnone

TCK ピン、 JTAG テス ト ク ロ ッ クにプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TDIPIN

Pullup Pullup、Pulldown、Pullnone

TDI ピン、JTAG 命令および JTAG レジスタへのシ リ アル データ入力すべてに、 プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。Pullnone に設定する と、 プルアップもプルダウンも使用されません。

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 226UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 227: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.CONFIG.TDOPIN

Pullup Pullup、Pulldown、Pullnone

TDO ピン、 JTAG 命令およびデータ レジスタへのシ リアル データ出力すべてに、 プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.TIMER_CFG

コンフ ィギュレーシ ョ ン モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_USR と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TIMER_USR

ユーザー モードでのウォッチド ッグ タイマーの値を設定します。 このオプシ ョ ンは、 TIMER_CFG と同時に使用するこ とはできません。

BITSTREAM.CONFIG.TMSPIN

Pullup Pullup、Pulldown、Pullnone

TMS ピン、 TAP コン ト ローラーへのモード入力信号にプルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 TAP コン ト ローラーは、 JTAG の制御ロジッ ク と して使用されます。 Pullnone に設定すると、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.UNUSEDPIN

Pulldown Pullup、Pulldown、Pullnone

未使用の SelectIO ピン (IOB) にプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。コンフ ィギュレーシ ョ ン専用ピンには適用されません。コンフ ィギュレーシ ョ ン専用ピンのリ ス トは、 アーキテクチャによって異なり ます。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.USERID

0xFFFFFFFF 0xFFFFFFFF インプリ メンテーシ ョ ンのリ ビジ ョ ンを特定します。ユーザー ID レジスタには、 8 桁までの 16 進文字列を入力できます。

BITSTREAM.CONFIG.USR_ACCESS

None None、 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、8 桁の 16 進文字列またはタイムスタンプを記述します。 タ イムスタンプ値のフォーマッ トは、 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss (ddddd = 日、MMMM = 月、yyyyyy = 年 (2000 年は 00000)、 hhhhh = 時、 mmmmmm = 分、 ssssss = 秒) です。 このレジスタの内容は、 FPGA デバイスにより USR_ACCESS プ リ ミ テ ィブを介して直接アクセスできます。

BITSTREAM.CONFIG.INITSIGNALSERROR

Enable Enable、Disable

Enable の場合、 コンフ ィギュレーシ ョ ン エラーが検出される と INIT_B ピンが 0 にアサート されます。

BITSTREAM.ENCRYPTION.ENCRYPT

No No、 Yes ビッ ト ス ト リームを暗号化します。

BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT

bbram bbram、 efuse 使用する AES 暗号キーの場所を、 バッテ リ バッ クアップ式 RAM (BBRAM) または eFUSE レジスタのいずれかに指定します。 このプロパティは ENCRYPT オプシ ョ ンを Yes に設定している場合のみ使用可能です。

BITSTREAM.ENCRYPTION.OBFUSCATEKEY

Disable Disable、Enable

AES キーが読み出し保護されていないので、 キーが読み出される と、 実際のキー値ではなく、 キーの CRC ハッシュが返されます。

BITSTREAM.ENCRYPTION.KEY0

ビッ ト ス ト リーム暗号化の 64 ビッ ト AES 暗号キーを設定します。 この値をブランクのままにする と、 ランダムな値が選択されます。 このオプシ ョ ンを使用するには、ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 227UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 228: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.ENCRYPTION.STARTIV0

32 ビッ トの開始 AES 初期ベクター値を設定します。 このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.STARTIVOBFUSCATE

32 ビッ トの難読化初期ベクター値を設定します。 このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEYFILE

入力暗号化ファイル (拡張子 .nky) の名前を指定します。このオプシ ョ ンを使用するには、ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEYLIFE

32 4 ~ 2147483647

AES-GCM 認証ビッ ト ス ト リームに使用するべき単一のキーに対する 128 ビッ ト暗号化ブロッ クの数

BITSTREAM.ENCRYPTION.RSAKEYLIFEFRAMES

8 8 ~ 2147483647

RSA 公開キー認証を指定する場合に、 該当する AES-256 キーに使用するべきコンフ ィギュレーシ ョ ン フレーム数を指定します。 コンフ ィギュレーシ ョ ン フレーム値に 8 を指定するのは、 246 の暗号化ブロッ クのキーを使用するのと同じこ とです。

BITSTREAM.GENERAL.COMPRESS

False True、 False ビッ ト ス ト リームの複数フレーム書き込み機能を使用し、BIT ファ イルだけでなく、 ビッ ト ス ト リーム自体のサイズも縮小します。 このオプシ ョ ンを使用しても、 ビッ トス ト リームのサイズが縮小する とは限り ません。

BITSTREAM.GENERAL.CRC

Enable Enable、Disable

ビッ ト ス ト リームの巡回冗長検査 (CRC) 値の生成を制御します。 Enable に設定する と、 ビッ ト ス ト リームの内容に基づいて固有の CRC 値が算出されます。 算出された CRC 値がビッ ト ス ト リームの CRC 値と一致しない場合は、 デバイスはコンフ ィギュレーシ ョ ンされません。CRC がディ スエーブルの場合、 CRC 値の代わりに定数値がビッ ト ス ト リームに挿入され、 デバイスで CRC 値は算出されません。

BITSTREAM.GENERAL.DEBUGBITSTREAM

No No、 Yes デバッグ ビッ ト ス ト リームを生成します。 デバッグ ビット ス ト リームのサイズは、 標準のビッ ト ス ト リームよ りもかな り大き くな り ます。 このオプシ ョ ンは、 マスターおよびスレーブ シ リ アル コンフ ィギュレーシ ョ ンでのみ使用できます。 バウンダ リ スキャンおよびスレーブ パラレル/SelectMAP では使用できません。 デバッグ ビッ ト スト リームには、 標準ビッ ト ス ト リームに加え、 次の機能があ り ます。 同期化ワードの後に LOUT レジスタに 32 個の 0 を書き込みます。 各フレームを個別に読み込みます。各フレーム後に巡回冗長検査 (CRC) を実行します。 各フレーム後にフレーム アドレスを LOUT レジスタに書き込みます。

BITSTREAM.GENERAL.SYSMONPOWERDOWN

Disable Disable、Enable

SYSMON をパワーダウンできるよ うにして節電します。SYSMON を永久にパワーダウンする場合にのみ推奨されます。

BITSTREAM.GENERAL.DISABLE_JTAG

No No、 Yes コンフ ィギュレーシ ョ ン後に JTAG を介したバウンダ リ スキャン (BSCAN) ブロ ッ クへのアクセスをディ スエーブルにします。

BITSTREAM.GENERAL.JTAG_SYSMON

Enable Enable、Disable、StatusOnly

SYSMON への JTAG 接続をイネーブルまたはディ スエーブルにします。

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 228UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 229: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.READBACK.ICAP_SELECT

Auto Auto、 Top、Bottom

上または下の ICAP ポート を選択します。

BITSTREAM.READBACK.ACTIVERECONFIG

No No、 Yes コンフ ィギュレーシ ョ ン中に GHIGH および GSR がアサート されないよ うにします。 これは、 アクティブ パーシャル リ コンフ ィギュレーシ ョ ン向上機能に必要です。

BITSTREAM.READBACK.SECURITY

None None、Level1、Level2

リードバッ クおよびリ コンフ ィギュレーシ ョ ンをディ スエーブルにするかど うかを指定します。

注記 : Level1 に設定する と リードバッ クがディ スエーブルになり

ます。

BITSTREAM.STARTUP.DONE_CYCLE

4 4、 1、 2、 3、5、 6

FPGA Done 信号をアクティブにするスタート アップ フェーズを選択します。 DonePipe=Yes の場合、 Done は遅延されます。

BITSTREAM.STARTUP.GTS_CYCLE

5 5、 1、 2、 3、4、 6、 Done、Keep

I/O バッファーへの内部ト ライステート制御を解放するスタート アップ フェーズを選択します。

BITSTREAM.STARTUP.GWE_CYCLE

6 6、 1、 2、 3、4、 5、 Done、Keep

フ リ ップフロ ップ、 LUT RAM、 およびシフ ト レジスタへの内部イネーブルをアサートするスタート アップ フェーズを選択します。 BRAM もイネーブルにします。 このスタート アップ フェーズの前は、 ブロッ ク RAM の書き込みおよび読み出しの両方がディ スエーブルです。

BITSTREAM.STARTUP.LCK_CYCLE

NoWait NoWait、 0、1、 2、 3、 4、5、 6

MMCM/PLL がロ ッ ク されるまで待機するスタート アップ フェーズを選択します。 NoWait に設定する と、 スタートアップ シーケンスは MMCM/PLL がロ ッ ク されるまで待機されません。

BITSTREAM.STARTUP.MATCH_CYCLE

Auto Auto、NoWait、 0、1、 2、 3、 4、5、 6

デジタル制御インピーダンス (DCI) 一致信号がアサートされるまで待機するスタート アップ サイクルを指定します。 DCI マッチは MATCH_CYCLE では開始しません。 スタート アップ シーケンスは DCI が一致するまでこのサイクルで待機します。 DCI が一致するのにかかる時間にはさまざま要素が影響するので、 スタート アップ シーケンスが完了するのに必要な CCLK サイクル数は、 同じシステムでも異なる場合があ り ます。 DONE が High になるまでコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンで CCLK を駆動するのが理想的です。

注記 : Auto に設定する と、write_bitstream によ りデザインで DCI I/O 規格が検索されます。 DCI 規格が存在する場合は BITSTREAM.STARTUP.MATCH_CYCLE=2 が、 存在しない場合は BITSTREAM.STARTUP.MATCH_CYCLE=NoWait が使用されます。

POST_CRC Disable Enable、Disable、Oneshot

NA

POST_CRC_ACTION Continue Halt、Continue、Correct_and_continue、Correct_and_halt

NA

POST_CRC_FREQ 1 50、 25、 13、6、 3、 2、 1

NA

表 A-4 : Virtex および Kintex UltraScale+ のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 229UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 230: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

Zynq UltraScale+ MPSoC のビッ トス ト リーム設定

表 A-5 に、Vivado ツールの set_property <Setting> <Value> [current_design] Tcl コマンドで使用可能な Zynq-7000 UltraScale+™ MPSoC デバイスのデバイス コンフ ィギュレーシ ョ ン設定を示します。

表 A-5 : Zynq UltraScale+ MPSoC のビッ トス ト リーム設定

設定 デフォルト値 有効な値 説明

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Quiet、 Safe

デジタル制御インピーダンス (DCI) 回路で DCI IOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.PUDC_B

Pullup Pullup、Pulldown、Pullnone

PUDC_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 PUDC_B ピンにプルアップ抵抗およびプルダウン抵抗のどちらも追加しない場合は、 Pullnone に設定します。

BITSTREAM.CONFIG.OVERTEMPSHUTDOWN

Disable Disable、Enable

システム モニターで温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされるよ うにします。 このオプシ ョ ンを使用するには、 システム モニターに外部回路セッ ト アップが必要です

BITSTREAM.CONFIG.UNUSEDPIN

Pulldown Pullup、Pulldown、Pullnone

未使用の SelectIO ピン (IOB) にプルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。コンフ ィギュレーシ ョ ン専用ピンには適用されません。コンフ ィギュレーシ ョ ン専用ピンのリ ス トは、 アーキテクチャによって異なり ます。 Pullnone に設定する と、 プルアップもプルダウンも使用されません。

BITSTREAM.CONFIG.USERID

0xFFFFFFFF 0xFFFFFFFF インプリ メンテーシ ョ ンのリ ビジ ョ ンを特定します。ユーザー ID レジスタには、 8 桁までの 16 進文字列を入力できます。

BITSTREAM.CONFIG.USR_ACCESS

None None、 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、 8 桁の 16 進文字列またはタイムスタンプを記述します。 タ イムスタンプ値のフォーマッ トは、 ddddd MMMM yyyyyy hhhhh mmmmmm ssssss (ddddd = 日、MMMM = 月、yyyyyy = 年 (2000 年は 00000)、 hhhhh = 時、 mmmmmm = 分、 ssssss = 秒) です。 このレジスタの内容は、 FPGA デバイスにより USR_ACCESS プ リ ミ テ ィブを介して直接アクセスできます。

BITSTREAM.CONFIG.INITSIGNALSERROR

Enable Enable、Disable

Enable の場合、 コンフ ィギュレーシ ョ ン エラーが検出される と INIT_B ピンが 0 にアサート されます。

BITSTREAM.GENERAL.COMPRESS

False True、 False ビッ ト ス ト リームの複数フレーム書き込み機能を使用し、BIT ファ イルだけでなく、 ビッ ト ス ト リーム自体のサイズも縮小します。 このオプシ ョ ンを使用しても、 ビッ トス ト リームのサイズが縮小する とは限り ません。

BITSTREAM.GENERAL.CRC

Enable Enable、Disable

ビッ ト ス ト リームの巡回冗長検査 (CRC) 値の生成を制御します。 Enable に設定する と、 ビッ ト ス ト リームの内容に基づいて固有の CRC 値が算出されます。 算出された CRC 値がビッ ト ス ト リームの CRC 値と一致しない場合は、 デバイスはコンフ ィギュレーシ ョ ンされません。CRC がディ スエーブルの場合、 CRC 値の代わりに定数値がビッ ト ス ト リームに挿入され、 デバイスで CRC 値は算出されません。

Vivado プログラムおよびデバッグ 230UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 231: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

BITSTREAM.GENERAL.SYSMONPOWERDOWN

Disable Disable、Enable

SYSMON をパワーダウンできるよ うにして節電します。SYSMON を永久にパワーダウンする場合にのみ推奨されます。

BITSTREAM.GENERAL.DISABLE_JTAG

No No、 Yes コンフ ィギュレーシ ョ ン後に JTAG を介したバウンダ リ スキャン (BSCAN) ブロ ッ クへのアクセスをディ スエーブルにします。

BITSTREAM.GENERAL.JTAG_SYSMON

Enable Enable、Disable、StatusOnly

SYSMON への JTAG 接続をイネーブルまたはディ スエーブルにします。

BITSTREAM.READBACK.ICAP_SELECT

Auto Auto、 Top、Bottom

上または下の ICAP ポート を選択します。

BITSTREAM.READBACK.ACTIVERECONFIG

No No、 Yes コンフ ィギュレーシ ョ ン中に GHIGH および GSR がアサート されないよ うにします。 これは、 アクティブ パーシャル リ コンフ ィギュレーシ ョ ン向上機能に必要です。

BITSTREAM.READBACK.SECURITY

None None、Level1、Level2

リードバッ クおよびリ コンフ ィギュレーシ ョ ンをディ スエーブルにするかど うかを指定します。

注記 : Level1 に設定する と リードバッ クがディ スエーブルになり

ます。

BITSTREAM.STARTUP.DONE_CYCLE

4 4、 1、 2、 3、5、 6、 Keep

FPGA Done 信号をアクティブにするスタート アップ フェーズを選択します。 DonePipe=Yes の場合、 Done は遅延されます。

BITSTREAM.STARTUP.GTS_CYCLE

5 5、 1、 2、 3、4、 6、 Done、Keep

I/O バッファーへの内部ト ライステート制御を解放するスタート アップ フェーズを選択します。

BITSTREAM.STARTUP.GWE_CYCLE

6 6、 1、 2、 3、4、 5、 Done、Keep

フ リ ップフロ ップ、 LUT RAM、 およびシフ ト レジスタへの内部イネーブルをアサートするスタート アップ フェーズを選択します。 BRAM もイネーブルにします。 このスタート アップ フェーズの前は、 ブロッ ク RAM の書き込みおよび読み出しの両方がディ スエーブルです。

BITSTREAM.STARTUP.LCK_CYCLE

NoWait NoWait、 0、1、 2、 3、 4、5、 6

MMCM/PLL がロ ッ ク されるまで待機するスタート アップ フェーズを選択します。 NoWait に設定する と、 スタートアップ シーケンスは MMCM/PLL がロ ッ ク されるまで待機されません。

BITSTREAM.STARTUP.MATCH_CYCLE

Auto Auto、NoWait、 0、1、 2、 3、 4、5、 6

デジタル制御インピーダンス (DCI) 一致信号がアサート されるまで待機するスタート アップ サイクルを指定します。DCI マッチは MATCH_CYCLE では開始しません。 スタート アップ シーケンスは DCI が一致するまでこのサイクルで待機します。 DCI が一致するのにかかる時間にはさまざま要素が影響するので、 スタート アップ シーケンスが完了するのに必要な CCLK サイクル数は、 同じシステムでも異なる場合があ り ます。 DONE が High になるまでコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンで CCLK を駆動するのが理想的です。

注記 : Auto に設定する と、 write_bitstream によ りデザイン

で DCI I/O 規格が検索されます。 DCI 規格が存在する場合は BITSTREAM.STARTUP.MATCH_CYCLE=2 が、存在しない場合は BITSTREAM.STARTUP.MATCH_CYCLE=NoWait が使用されます。

表 A-5 : Zynq UltraScale+ MPSoC のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 231UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 232: Vivado Design Suite - Xilinx

付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ トス ト リーム設定

POST_CRC DISABLE ENABLE、DISABLE、ONESHOT

NA

POST_CRC_ACTION CONTINUE HALT、CONTINUE、CORRECT_AND_CONTINUE、CORRECT_AND_HALT

NA

POST_CRC_FREQ 1 50、 25、 13、6、 3、 2、 1

NA

POST_CRC_INIT_FLAG ENABLE ENABLE、DISABLE

NA

POST_CRC_SOURCE FIRST_READBACK

PRE_COMPUTED、FIRST_READBACK

NA

表 A-5 : Zynq UltraScale+ MPSoC のビッ トス ト リーム設定 (続き)

設定 デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ 232UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 233: Vivado Design Suite - Xilinx

付録 B

ト リガー ステート マシンの言語記述ト リ ガー ステート マシン言語は、 ILA デバッグ コアのアドバンス ト リ ガー ロジッ クにマップされる複雑な ト リガー条件を記述するために使用されます。 ト リガー ステート マシンには、 次のよ うな機能があ り ます。

• 大 16 までのステート

• 複雑なステート ト ランザクシ ョ ンに 1 ~ 3 方向条件分岐を使用

• イベン トのカウン ト、 タイマーのインプリ メン ト などに 4 つのビルト イン 16 ビッ ト カウンターを使用

• ト リ ガー ステート マシンの実行ステータスを監視するために 4 つのビルト イン フラグを使用

• ト リ ガー アクシ ョ ン

ステート

ステート マシン プログラムでは 大 16 ステート までを宣言できます。 各ステートは、 ステート宣言と本体で構成されます。

state <state_name>:<state_body>

goto アクシ ョ ン

ステート間の ト ランザクシ ョ ンには goto アクシ ョ ンが使用されます。 次は、 goto アクシ ョ ンを使用して、 ト リガー前に 1 つのステートから別のステートへの遷移する例です。

state my_state_0:goto my_state_1;

state my_state_1:trigger;

Vivado プログラムおよびデバッグ 233UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 234: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

条件分岐

ト リ ガー ステート マシン言語では、 ステート ごとに 1 ~ 3 方向の条件分岐がサポート されます。

• 1 方向分岐では、 if/elseif/else/endif 構文は使用されず、 goto アクシ ョ ンが使用されます。

state my_state_0:goto my_state_1;

• 2 方向分岐では、 goto アクシ ョ ンと共に if/else/endif 構文も使用されます。

state my_state_0: if (<condition1>) then goto my_state_1; else goto my_state_0; endif

• 3 方向分岐では、 goto アクシ ョ ンと共に if/else/elseif/endif 構文も使用されます。

state my_state_0: if (<condition1>) then goto my_state_1; elseif (<condition2>) then goto my_state_2; else goto my_state_0; endif

上記に <condition1> および <condition2> で示されている条件文の作成方法は、 「条件文」 を参照してください。

カウンター

4 つのビルト イン 16 ビッ ト カウンターには、 それぞれ $counter0、 $counter1、 $counter2、 $counter3 という名前が付いています。 カウンターは、 条件文内でリセッ ト、 インク リ メン ト 、 使用できます。

• カウンターを リセッ トするには、 reset_counter アクシ ョ ンを使用します。

state my_state_0:reset_counter $counter0;

goto my_state_1;

• カウンターをインク リ メン トするには、 increment_counter アクシ ョ ンを使用します。

state my_state_0:increment_counter $counter3;

goto my_state_1;

条件文内でのカウンターの使用方法の詳細は、 「条件文」 を参照して ください。

Vivado プログラムおよびデバッグ 234UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 235: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

フラグ

フラグは、 ト リ ガー ステート マシン プログラムが実行されている と きの進捗状況を監視するために使用できます。4 つのビルト イン フラグの名前は、 それぞれ $flag0、 $flag1、 $flag2、 $flag3 です。 フラグは、 設定およびクリ アできます。

• フラグを設定するには、 set_flag アクシ ョ ンを使用します。

state my_state_0:set_flag $flag0;

goto my_state_1;

• フラグをク リ アするには、 clear_flag アクシ ョ ンを使用します。

state my_state_0:clear_flag $flag2;

goto my_state_1;

条件文

デバッグ プローブの条件

デバッグ プローブの条件は、 2 方向および 3 方向の分岐条件文内で使用できます。 各デバッグ プローブ条件では、 そのデバッグ プローブが接続された ILA の PROBE ポートの 1 つのト リガー コンパレータが使用されます。

重要 : 各 PROBE ポートは、 1 ~ 16 個の ト リ ガー コンパレータを含めてコンパイル時にコンフ ィギュレーシ ョ ンできます。 つま り、 特定のデバッグ プローブは、 PROBE ポートにコンフ ィギュレーシ ョ ンされたコンパレータ数によって、 ト リ ガー ステート マシン プログラム全体においてデバッグ プローブ条件文で 1 ~ 16 回までしか使用できません。

デバッグ プローブ条件には、 比較演算子と値が含まれます。 有効なデバッグ プローブ条件の比較演算子は次のとおりです。

• == (等価)

• != (不等価)

• > (大なり )

• < (小なり )

• >= (以上)

• <= (以下)

有効な値は、 次の形式になり ます。

<bit_width>'<radix><value>

Vivado プログラムおよびデバッグ 235UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 236: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

説明 :

• <bit width> : プローブ幅 (ビッ ト )

• <radix> : 次のいずれかになり ます。

° b (2 進数)

° h (16 進数)

° u (符号なし 10 進数)

• <value> : 次のいずれかになり ます。

° 0 (論理 0)

° 1 (論理 1)

° X (ドン ト ケア)

° R (0 から 1への遷移) : 1 ビッ ト プローブの場合にのみ有効

° F (1 から 0 への遷移) : 1 ビッ ト プローブの場合にのみ有効

° B (両遷移) : 1 ビッ ト プローブの場合にのみ有効

° N (遷移なし ) : 1 ビッ ト プローブの場合にのみ有効

有効なデバッグ プローブ条件値の例を次に示します。

• 1 ビッ トの 2 進数値 0

1'b0

• 12 ビッ トの 16 進数値 7A

12'h07A

• 9 ビッ トの整数値 123

9'u123

デバッグ プローブ条件文の例を次に示します。

• 値が 0 の abc という 1 ビッ ト デバッグ プローブ

if (abc == 1'b0) then

• 値が 456 以上の xyz という 23 ビッ ト デバッグ プローブ

if (xyz >= 23'u456) then

• 値が 16 進数 A5 ではない klm という 23 ビッ ト デバッグ プローブ

if (klm != 23'h0000A5) then

複数のデバッグ プローブ条件文の例を次に示します。

• 2 つのデバッグ プローブの比較を OR 関数で組み合わせ

if ((xyz >= 23'u456) || (abc == 1'b0)) then

• 2 つのデバッグ プローブの比較を AND 関数で組み合わせ

if ((xyz >= 23'u456) && (abc == 1'b0)) then

• 3 つのデバッグ プローブの比較を OR 関数で組み合わせ

if ((xyz >= 23'u456) || (abc == 1'b0) || (klm != 23'h0000A5)) then

• 3 つのデバッグ プローブの比較を AND 関数で組み合わせ

if ((xyz >= 23'u456) && (abc == 1'b0) && (klm != 23'h0000A5)) then

Vivado プログラムおよびデバッグ 236UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 237: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

カウンター条件

カウンター条件は、 2 方向および 3 方向の分岐条件文内で使用できます。 各カウンター条件で 1 つのカウンター コンパレータが使用されます。

重要 : 各カウンターに含まれるカウンター コンパレータは 1 つのみです。 つま り、 特定のカウンターはト リガー ステート マシン プログラム全体においてカウンター条件内で 1 回しか使用できません。

プローブ ポート条件には、 比較演算子と値が含まれます。 有効なプローブ条件の比較演算子は次のとおりです。

• == (等価)

• != (不等価)

重要 : 各カウンターの幅は常に 16 ビッ トです。

有効なカウンター条件値の例を次に示します。

• 16 ビッ トの 2 進数値 0

16'b0000_0000_0000_000016'b0000000000000000

• 16 ビッ トの 16 進数値 7A

16'h007A

• 16 ビッ トの整数値 123

16'u123

カウンター条件文の例を次に示します。

• 2 進数 0 に等しいカウンター $counter0

($counter0 == 16'b0000000000000000)

• 10 進数 23 でないカウンター $counter2

($counter2 != 16'u23)

デバッグ プローブとカウンター条件の組み合わせ

デバッグ プローブ条件とカウンター条件を組み合わせて、 1 つの条件を作成するこ とができます。 この場合、 次の規則に従う必要があ り ます。

• すべてのデバッグ プローブ比較を同じ || (OR) または && (AND) 演算子を使用して組み合わせる必要があり ます。

• 組み合わされたデバッグ プローブ条件は、 デバッグ プローブ比較を組み合わせるのに使用した演算子に関係なく、 || (OR) または && 演算子のいずれかを使用してカウンター条件と組み合わせるこ とができます。

複数のデバッグ プローブとカウンター条件文を組み合わせた例を次に示します。

• 2 つのデバッグ プローブ比較を OR で組み合わせてから、 AND を使用してカウンター条件と組み合わせる場合

if (((xyz >= 23'u456) || (abc == 1'b0)) && ($counter0 == 16'u0023)) then

• 2 つのデバッグ プローブ比較を AND で組み合わせてから、 OR を使用してカウンター条件と組み合わせる場合

if (((xyz >= 23'u456) && (abc == 1'b0)) || ($counter0 == 16'u0023)) then

Vivado プログラムおよびデバッグ 237UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 238: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

• 3 つのデバッグ プローブ比較を OR で組み合わせてから、 AND を使用してカウンター条件と組み合わせる場合

if (((xyz >= 23'u456) || (abc == 1'b0) || (klm != 23'h0000A5)) && ($counter0 == 16'u0023)) then

• 3 つのデバッグ プローブ比較を AND で組み合わせてから、 OR を使用してカウンター条件と組み合わせる場合

if (((xyz >= 23'u456) && (abc == 1'b0) && (klm != 23'h0000A5)) || ($counter0 == 16'u0023)) then

ト リガー ステート マシンの言語文法

注記 :

• 大文字/小文字が区別されます。

• コ メン ト文字は # で、 # 文字の後に含まれるものは無視されます。

• 'THING' : THING は終端

• {<thing>} : 0 以上の thing

• [<thing>] : 0 または 1 つの thing

<program> ::= <state_list> <state_list> ::= <state_list> <state> | <state> <state> ::= 'STATE' <state_label> ':'<if_condition> | <action_block>

<action_block> ::= <action_list> 'GOTO' <state_label> ';'| <action_list> 'TRIGGER' ';'| 'GOTO' <state_label> ';'| 'TRIGGER' ';' <action_list> ::= <action_statement> | <action_list> <action_statement> <action_statement> ::= 'SET_FLAG' <flag_name> ';'| 'CLEAR_FLAG' <flag_name> ';'| 'INCREMENT_COUNTER' <counter_name> ';'| 'RESET_COUNTER' <counter_name> ';' <if_condition> ::= 'IF' '(' <condition> ')' 'THEN' <actionblock> ['ELSEIF' '(' <condition> ')' 'THEN' <actionblock>] 'ELSE' <actionblock> 'ENDIF' <condition> ::= <probe_match_list>| <counter_match>| <probe_counter_match> <probe_counter_match> ::= '(' <probe_counter_match> ')'| <probe_match_list> <boolean_logic_op> <counter_match>| <counter_match> <boolean_logic_op> <probe_match_list> <probe_match_list> ::= '(' <probe_match> ')'| <probe_match> <probe_match> ::= <probe_match_list> <boolean_logic_op> <probe_match_list>| <probe_name> <compare_op> <constant>| <constant> <compare_op> <probe_name>

Vivado プログラムおよびデバッグ 238UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 239: Vivado Design Suite - Xilinx

付録 B : ト リガー ステート マシンの言語記述

<counter_match> ::= '(' <counter_match> ')'| <counter_name> <compare_op> <constant>| <constant> <compare_op> <counter_name> <constant> ::= <integer_constant>| <hex_constant>| <binary_constant> <compare_op> ::= '==' | '!=' | '>' | '>=' | '<' | '<=' <boolean_logic_op> ::= '&&' | '||'

--- The following are in regular expression format to simplify expressions:--- [A-Z0-9] means match any single character in AB...Z,0..9--- [AB]+ means match [AB] one or more times like A, AB, ABAB, AAA, etc--- [AB]* means match [AB] zero or more times<probe_name> ::= [A-Z_\[\]<>/][A-Z_0-9\[\]<>/]+<state_label> ::= [A-Z_][A-Z_0-9]+<flag_name> ::= \$FLAG[0-3]<counter_name> ::= \$COUNTER[0-3]<hex_constant> ::= <integer>*'h<hex_digit>+<binary_constant> ::= <integer>*'b<binary_digit>+<integer_constant> ::= <integer>*'u<integer_digit>+<integer> ::= <digit>+<hex_digit> ::= [0-9ABCDEFBN_]<binary_digit> ::= [01XRFBN_]<digit> ::= [0-9]

Vivado プログラムおよびデバッグ 239UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 240: Vivado Design Suite - Xilinx

付録 C

コンフ ィギュレーシ ョ ン メモリのサポートこのセクシ ョ ンでは、 Vivado® ツールでサポート されるさまざまなフラ ッシュ メモ リ デバイスを示します。 このセクシ ョ ンは、 ザイ リ ンクス デバイス、 インターフェイス、 製造業者、 フラ ッシュ デバイス、 集積度、 およびデータ幅に応じて、 アプ リ ケーシ ョ ンに適したコンフ ィギュレーシ ョ ン メモ リ デバイスを選択するのにご利用ください。

Artix-7 コンフ ィギュレーシ ョ ンのメモリ デバイス

表 C-1 に、 Artix®-7 デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェッ ク、プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-1 : Artix-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

Vivado プログラムおよびデバッグ 240UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 241: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxp s70gl02gp 2,048 x16

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25l mx25l25635f 256 x1、 x2、 x4

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4

SPI Macronix mx66l mx66l51235f 512 x1、 x2、 x4

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4

SPI Micron mt25ql mt25ql512 512 x1、 x2、 x4

SPI Micron mt25ql mt25ql01g 1,024 x1、 x2、 x4

SPI Micron mt25ql mt25ql02g 2,048 x1、 x2、 x4

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q32-3.3v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q64-3.3v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4

SPI Micron n25q n25q128-3.3v 128 x1、 x2、 x4

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4

表 C-1 : Artix-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 241UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 242: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

SPI Micron n25q n25q256-3.3v 256 x1、 x2、 x4

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4

表 C-1 : Artix-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 242UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 243: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Kintex-7 コンフ ィギュレーシ ョ ンのメモリ デバイス

表 C-2 に、 Kintex®-7 デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェック、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-2 : Kintex-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

BPI Micron p33 28f640p33b 64 x16

Vivado プログラムおよびデバッグ 243UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 244: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Micron p33 28f640p33t 64 x16

BPI Micron p33 28f128p33b 128 x16

BPI Micron p33 28f128p33t 128 x16

BPI Micron p33 28f256p33b 256 x16

BPI Micron p33 28f256p33t 256 x16

BPI Micron p33 28f512p33b 512 x16

BPI Micron p33 28f512p33e 512 x16

BPI Micron p33 28f512p33t 512 x16

BPI Micron p33 28f00ap33b 1,024 x16

BPI Micron p33 28f00ap33e 1,024 x16

BPI Micron p33 28f00ap33t 1,024 x16

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxp s70gl02gp 2,048 x16

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25l mx25l25635f 256 x1、 x2、 x4

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4

SPI Macronix mx66l mx66l51235f 512 x1、 x2、 x4

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4

SPI Micron mt25ql mt25ql512 512 x1、 x2、 x4

SPI Micron mt25ql mt25ql01g 1,024 x1、 x2、 x4

SPI Micron mt25ql mt25ql02g 2,048 x1、 x2、 x4

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q32-3.3v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q64-3.3v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4

表 C-2 : Kintex-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 244UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 245: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

SPI Micron n25q n25q128-3.3v 128 x1、 x2、 x4

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4

SPI Micron n25q n25q256-3.3v 256 x1、 x2、 x4

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4

表 C-2 : Kintex-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 245UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 246: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Virtex-7 コンフ ィギュレーシ ョ ンのメモリ デバイス

表 C-3 に、 Virtex®-7 デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェック、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-3 : Virtex-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

Vivado プログラムおよびデバッグ 246UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 247: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4

表 C-3 : Virtex-7 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 247UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 248: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Kintex UltraScale コンフ ィギュレーシ ョ ンのメモリ デバイス

表 C-4 に、 Kintex® UltraScale™ デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-4 : Kintex UltraScale デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

Vivado プログラムおよびデバッグ 248UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 249: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Micron p33 28f640p33b 64 x16

BPI Micron p33 28f640p33t 64 x16

BPI Micron p33 28f128p33b 128 x16

BPI Micron p33 28f128p33t 128 x16

BPI Micron p33 28f256p33b 256 x16

BPI Micron p33 28f256p33t 256 x16

BPI Micron p33 28f512p33b 512 x16

BPI Micron p33 28f512p33e 512 x16

BPI Micron p33 28f512p33t 512 x16

BPI Micron p33 28f00ap33b 1,024 x16

BPI Micron p33 28f00ap33e 1,024 x16

BPI Micron p33 28f00ap33t 1,024 x16

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxp s70gl02gp 2,048 x16

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25l mx25l25635f 256 x1、 x2、 x4、 x8

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4、 x8

SPI Macronix mx66l mx66l51235f 512 x1、 x2、 x4、 x8

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4、 x8

SPI Micron mt25ql mt25ql512 512 x1、 x2、 x4、 x8

SPI Micron mt25ql mt25ql01g 1,024 x1、 x2、 x4、 x8

SPI Micron mt25ql mt25ql02g 2,048 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4、 x8

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q32-3.3v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q64-3.3v 64 x1、 x2、 x4

表 C-4 : Kintex UltraScale デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 249UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 250: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4、 x8

SPI Micron n25q n25q128-3.3v 128 x1、 x2、 x4、 x8

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4、 x8

SPI Micron n25q n25q256-3.3v 256 x1、 x2、 x4、 x8

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4、 x8

表 C-4 : Kintex UltraScale デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 250UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 251: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Kintex UltraScale+ コンフ ィギュレーシ ョ ンのメモリ デバイス

表 C-5 に、 Kintex® UltraScale+™ デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-5 : Kintex UltraScale+ デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

Vivado プログラムおよびデバッグ 251UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 252: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4、 x8

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4、 x8

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4、 x8

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4、 x8

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4、 x8

表 C-5 : Kintex UltraScale+ デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 252UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 253: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Virtex UltraScale コンフ ィギュレーション メモリ デバイス

Virtex UltraScale デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、 Vivado ツールによる消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-6 に示します。

表 C-6 : Virtex UltraScale デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

Vivado プログラムおよびデバッグ 253UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 254: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25l mx25l25635f 256 x1、 x2、 x4

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4、 x8

SPI Macronix mx66l mx66l51235f 512 x1、 x2、 x4

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4、 x8

SPI Micron mt25ql mt25ql512 512 x1、 x2、 x4

SPI Micron mt25ql mt25ql01g 1,024 x1、 x2、 x4

SPI Micron mt25ql mt25ql02g 2,048 x1、 x2、 x4

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4、 x8

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q32-3.3v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q64-3.3v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4、 x8

SPI Micron n25q n25q128-3.3v 128 x1、 x2、 x4

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4、 x8

SPI Micron n25q n25q256-3.3v 256 x1、 x2、 x4

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4、 x8

表 C-6 : Virtex UltraScale デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 254UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 255: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Virtex UltraScale+ コンフ ィギュレーシ ョ ン メモリ デバイス

表 C-7 に、 Virtex UltraScale+ デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-7 : Virtex UltraScale+ デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

BPI Micron g18 28f128g18f 128 x16

BPI Micron g18 mt28gu256aax1e [28f256g18f] 256 x16

BPI Micron g18 mt28gu512aax1e [28f512g18f] 512 x16

BPI Micron g18 mt28gu01gaax1e [28f00ag18f] 1,024 x16

BPI Micron m29ew 28f064m29ewb 64 x16、 x8

BPI Micron m29ew 28f064m29ewh 64 x16、 x8

BPI Micron m29ew 28f064m29ewl 64 x16、 x8

BPI Micron m29ew 28f064m29ewt 64 x16、 x8

BPI Micron m29ew 28f128m29ew 128 x16、 x8

BPI Micron m29ew 28f256m29ew 256 x16、 x8

BPI Micron m29ew 28f512m29ew 512 x16、 x8

BPI Micron m29ew 28f00am29ew 1,024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2,048 x16、 x8

BPI Micron mt28ew mt28ew128a 128 x16、 x8

BPI Micron mt28ew mt28ew256a 256 x16、 x8

BPI Micron mt28ew mt28ew512a 512 x16、 x8

BPI Micron mt28ew mt28ew01ga 1,024 x16、 x8

BPI Micron p30 28f640p30b 64 x16

BPI Micron p30 28f640p30t 64 x16

BPI Micron p30 28f128p30b 128 x16

BPI Micron p30 28f128p30t 128 x16

BPI Micron p30 28f256p30b 256 x16

BPI Micron p30 28f256p30t 256 x16

BPI Micron p30 28f512p30b 512 x16

BPI Micron p30 28f512p30e 512 x16

BPI Micron p30 28f512p30t 512 x16

BPI Micron p30 28f00ap30b 1,024 x16

BPI Micron p30 28f00ap30e 1,024 x16

BPI Micron p30 28f00ap30t 1,024 x16

BPI Micron p30 28f00bp30e 2,048 x16

Vivado プログラムおよびデバッグ 255UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 256: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

BPI Spansion s29glxxxp s29gl128p 128 x16、 x8

BPI Spansion s29glxxxp s29gl256p 256 x16、 x8

BPI Spansion s29glxxxp s29gl512p 512 x16、 x8

BPI Spansion s29glxxxp s29gl01gp 1,024 x16、 x8

BPI Spansion s29glxxxs s29gl128s 128 x16

BPI Spansion s29glxxxs s29gl256s 256 x16

BPI Spansion s29glxxxs s29gl512s 512 x16

BPI Spansion s29glxxxs s29gl01gs 1,024 x16

BPI Spansion s29glxxxs s70gl02gs 2,048 x16

SPI Macronix mx25u mx25u25635f 256 x1、 x2、 x4、 x8

SPI Macronix mx66u mx66u51235f 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu01g 1,024 x1、 x2、 x4、 x8

SPI Micron mt25qu mt25qu02g 2,048 x1、 x2、 x4、 x8

SPI Micron n25q n25q32-1.8v 32 x1、 x2、 x4

SPI Micron n25q n25q64-1.8v 64 x1、 x2、 x4

SPI Micron n25q n25q128-1.8v 128 x1、 x2、 x4、 x8

SPI Micron n25q n25q256-1.8v 256 x1、 x2、 x4、 x8

SPI Spansion s25fl1 s25fl116k 16 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

SPI Spansion s25fl1 s25fl164k 64 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl032p 32 x1、 x2、 x4

SPI Spansion s25flxxxp s25fl064p 64 x1、 x2、 x4

SPI Spansion s25flxxxs s25fl128sxxxxxx0 [s25fl127s] 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl128sxxxxxx1 128 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx0 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl256sxxxxxx1 256 x1、 x2、 x4、 x8

SPI Spansion s25flxxxs s25fl512s 512 x1、 x2、 x4、 x8

表 C-7 : Virtex UltraScale+ デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス (エイリアス) 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 256UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 257: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Zynq-7000 コンフ ィギュレーシ ョ ン メモリ デバイス

Zynq®-7000 デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、 Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-8 に示します。

注記 : コンフ ィギュレーシ ョ ン メモ リ デバイス プログラマを構築するために使用される U-Boot タグは、 次のとおりです。

インターフェイス U-Boot タグ

qspi xilinx-v2015.2.01

nor xilinx-14.3-build1

nand xilinx-v2015.2.01

表 C-8 : Zynq-7000 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス集積度

(Mb) データ幅 (ビッ ト )

NAND Micron m29ew mt29f2g08ab 2,048 x8

NAND Micron m29ew mt29f2g16ab 2,048 x16

NAND Spansion s34ml s34ml01g1 1,024 x16、 x8

NAND Spansion s34ml s34ml02g1 2,048 x16、 x8

NOR Micron m29ew 28f032m29ewt 32 x8

NOR Micron m29ew 28f064m29ewt 64 x8

NOR Micron m29ew 28f128m29ewh 128 x8

NOR Micron m29ew 28f256m29ewh 256 x8

NOR Micron m29ew 28f512m29ewh 512 x8

QSPI Macronix mx25l mx25l25635f 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Macronix mx66l mx66l51235f 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron mt25ql mt25ql512 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q64 64 x4-single、x8-dual_parallel

QSPI Micron n25q n25q128 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q256 256 x4-dual_stacked、x4-single、x8-dual_parallel

Vivado プログラムおよびデバッグ 257UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 258: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

QSPI Micron n25q n25q512 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q00a 1,024 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxp s25fl129p 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl128s-1.8v [s25fl127s] 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl128s-3.3v [s25fl127s] 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl256s-1.8v 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl256s-3.3v 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl512s 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s70flxxxp s70fl01gs_00 1,024 x4-dual_stacked

QSPI Winbond w25q w25q128 128 x4-dual_stacked、x4-single、x8-dual_parallel

表 C-8 : Zynq-7000 デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス (続き)

インターフェイス 製造業者 製造業者ファ ミ リ デバイス集積度

(Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 258UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 259: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Zynq UltraScale+ MPSoC コンフ ィギュレーシ ョ ン メモリ デバイス

表 C-9 に、 Zynq UltraScale+ MPSoC デバイスのコンフ ィギュレーシ ョ ンでサポート される Vivado ツールで消去、ブランク チェッ ク、 プログラム、 および検証可能なフラ ッシュ デバイスを示します。

表 C-9 : Zynq UltraScale+ MPSoC デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス 集積度 (Mb) データ幅 (ビッ ト )

NAND Micron m29ew mt29f2g08ab 2,048 x8

NAND Spansion s34ml s34ml01g1 1,024 x8

NAND Spansion s34ml s34ml02g1 2,048 x8

QSPI Macronix mx25l mx25l25635f 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron mt25ql mt25ql512 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron mt25ql mt25ql01g 1,024 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron mt25ql mt25ql02g 2,048 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron mt25qu mt25qu512 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q64 64 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q128 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q256 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q512 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Micron n25q n25q00a 1,024 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxp s25fl129p 128 x4-dual_stacked、x4-single、x8-dual_parallel

Vivado プログラムおよびデバッグ 259UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 260: Vivado Design Suite - Xilinx

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

QSPI Spansion s25flxxxs s25fl128s-1.8v [s25fl127s] 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl128s-3.3v [s25fl127s] 128 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl256s-1.8v 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl256s-3.3v 256 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s25flxxxs s25fl512s 512 x4-dual_stacked、x4-single、x8-dual_parallel

QSPI Spansion s70flxxxp s70fl01gs_00 1,024 x4-dual_stacked、x4-single、x8-dual_parallel

表 C-9 : Zynq UltraScale+ MPSoC デバイス コンフ ィギュレーシ ョ ンでサポート されるフラッシュ メモリ デバイス

インターフェイス 製造業者 製造業者ファ ミ リ デバイス 集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ 260UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 261: Vivado Design Suite - Xilinx

付録 D

その他のソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

参考資料

このガイ ドの補足情報は、 次の資料を参照してください。

注記 : 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

Vivado® Design Suite の資料

1. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

2. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)

3. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949)

4. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

5. 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 (UG973)

6. 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892)

7. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899)

8. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

9. 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470 : 英語版、 日本語版)

10. 『7 シ リーズ FPGA および Zynq-7000 All Programmable SoC XADC デュアル 12 ビッ ト 1MSPS アナログ-デジタル コンバーター ユーザー ガイ ド』 (UG480 : 英語版、 日本語版)

11. 『UltraScale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570 : 英語版、 日本語版)

12. 『UltraScale アークテクチャ システム モニター ユーザー ガイ ド』 (UG580 : 英語版、 日本語版)

13. 『PetaLinux ツールを使用した Zynq-7000 でのザイ リ ンクス仮想ケーブルの実行』 (XAPP1251)

14. 『Vivado Design Suite チュート リ アル : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940)

Vivado プログラムおよびデバッグ 261UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 262: Vivado Design Suite - Xilinx

付録 D : その他のソースおよび法的通知

15. 『組み込みマイクロコン ト ローラーを使用するザイ リ ンクスのインシステム プログラ ミ ング機能』 (XAPP058 : 英語版、 日本語版)

ザイリンクス IP の資料

16. 『Virtual Input/Output LogiCORE IP 製品ガイ ド』 (PG159)

17. 『Integrated Bit Error Ratio Tester for 7 Series GTX Transceivers LogiCORE IP 製品ガイ ド』 (PG132)

18. 『Integrated Bit Error Ratio Tester 7 Series GTP Transceivers LogiCORE IP 製品ガイ ド』 (PG133)

19. 『Integrated Bit Error Ratio Tester 7 Series GTH Transceivers LogiCORE IP 製品ガイ ド』 (PG152)

20. 『Integrated Logic Analyzer LogiCORE IP 製品ガイ ド』 (PG172)

21. 『JTAG to AXI Master LogiCORE IP 製品ガイ ド』 (PG174)

ト レーニング コース

ザイ リ ンクスでは、 この資料に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよび QuickTake ビデオを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. Vivado Design Suite 入門ワークシ ョ ップ ト レーニング コース

2. Vivado デザイン ツール フロー ト レーニング コース

3. Vivado での FPGA 設計導入ト レーニング コース

4. Vivado Design Suite QuickTake ビデオ : Vivado IP インテグレーターを使用したデザイン

5. Vivado Design Suite QuickTake ビデオ : Vivado IP インテグレーターを使用した Zynq デバイスの設計

6. Vivado Design Suite QuickTake ビデオ : Vivado Design Suite でパーシャル リ コンフ ィギュレーシ ョ ンを実行

7. Vivado Design Suite QuickTake ビデオ : Vivado Design Suite でのリ ビジ ョ ン管理の使用

8. Vivado ロジッ ク解析を使用したデバッグ テクニッ ク ト レーニング コース

9. Vivado Design Suite QuickTake ビデオ チュート リ アル

Vivado プログラムおよびデバッグ 262UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com

Page 263: Vivado Design Suite - Xilinx

付録 D : その他のソースおよび法的通知

お読みください : 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ

らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または

貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わな

い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に

は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の

損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で

あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に

含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま

せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一

定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件

に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を

使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。

© Copyright 2012-2016 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれ

の保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

Vivado プログラムおよびデバッグ 263UG908 (v2016.2) 2016 年 6 月 8 日 japan.xilinx.com