vivado design suite - xilinx...vivado プログラムおよびデバッグ japan.xilinx.com 9 ug908...

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

Upload: others

Post on 13-Mar-2020

26 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

Vivado Design Suite ユーザー ガイド

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

UG908 (v2015.1) 2015 年 4 月 1 日

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

Page 2: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

Vivado プログラムおよびデバッグ japan.xilinx.com 2UG908 (v2015.1) 2015 年 4 月 1 日

改訂履歴

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

  

日付 バージョ ン 改訂内容

2015/04/01 2015.1 • Vivado Lab Edition に関する新しい章を追加 • 読みやすくするため第 2 章を分割 • Vivado ダッシュボードに関する新しいセクシ ョ ンを追加 • デバッグ ハブに関する情報を追加

Page 3: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

目次

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

第 1章 : 概要概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

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

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

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

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

プログラ ミ ング機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

eFUSE 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Vivado プログラムおよびデバッグ japan.xilinx.com 3UG908 (v2015.1) 2015 年 4 月 1 日

Page 4: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

バッテ リー バッ クアップ型の RAM (BBR) を使用した AES キー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

FUSE_DNA : デバイス DNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

スタート アップ時の ト リガー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

第 10章 : 波形ウィンドウを使用した ILA プローブ データの表示概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

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

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

バスの基数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

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

ズーム機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

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

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

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 4UG908 (v2015.1) 2015 年 4 月 1 日

Page 5: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

goto アクシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

条件分岐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

カウンター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

フラグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

条件文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

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

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

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

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

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

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

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

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

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

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

法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Vivado プログラムおよびデバッグ japan.xilinx.com 5UG908 (v2015.1) 2015 年 4 月 1 日

Page 6: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 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 プログラムおよびデバッグ japan.xilinx.com 6UG908 (v2015.1) 2015 年 4 月 1 日

Page 7: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 1 章 : 概要

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

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

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

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

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 ExampleDesign] を選択する とアクセスできます。IBERT コアの詳細およびその Vivado Design Suite での使用方法は、第 8 章および第 9 章を参照して ください。 使用可能なさまざまな IBERT デザインの詳細は、 『LogiCORE IP IBERT for 7 SeriesGTX Transceivers 製品ガ イ ド』 (PG132) [参照 13]、 『LogiCORE IP IBERT for 7 Series GTP Transceivers 製品ガイ ド』(PG133) [参照 14]、『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガイ ド』 (PG152) [参照 15] を参照してください。

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

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

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

• ILA (Integrated Logic Analyzer)

• VIO (Virtual Input/Output)

• IBERT (Integrated Bit Error Ratio Test)

• JTAG-to-AXI

• MIG

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

Vivado プログラムおよびデバッグ japan.xilinx.com 7UG908 (v2015.1) 2015 年 4 月 1 日

Page 9: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 2章

Vivado Lab Edition

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

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

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

Windows での Vivado Lab Edition の起動

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

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

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

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

vivado_lab

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

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

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 9UG908 (v2015.1) 2015 年 4 月 1 日

Page 10: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 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 の開始ページ

Vivado プログラムおよびデバッグ japan.xilinx.com 10UG908 (v2015.1) 2015 年 4 月 1 日

Page 11: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 2 章 : Vivado Lab Edition

資料およびビデオの確認

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

Vivado Lab Edition プロジェク ト   Vivado Lab Edition を使用する と、 ラボ環境でプロジェク ト を作成できます。 関連したプログラ ミ ングおよびランタイム デバッグの環境設定や基本設定はプロジェク トに保存されます。プロジェク ト をも う 1 度開く と、設定は復活します。 Vivado Lab Edition プロジェク トは Vivado Lab Edition ツールおよび Vivado Design Suite の両方で作成できます。

新規プロジェク トの作成

Vivado Lab Edition で新し くプロジェ ク ト を作成するには、 次のよ うに [Create New Project] アイコンをク リ ッ ク します。 [New Vivado Lab Edition Project] ダイアログ ボッ クスにプロジェク ト名およびディレク ト リ を入力します。新しいプロジェク トが作成される と、 Vivado Lab Edition がプロジェク ト ファ イルを作成します。 このプロジェク ト ファ イルには、 New Project ウ ィザードで入力したプロジェク ト名と同じ名前が付けられ、 .lpr という拡張子が付きます。 次の図 2-2 を参照して ください。 X-Ref Target - Figure 2-2

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

Vivado プログラムおよびデバッグ japan.xilinx.com 11UG908 (v2015.1) 2015 年 4 月 1 日

Page 12: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 2 章 : Vivado Lab Edition

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

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

create_project project_1 C:/Lab_edition/project_1

プロジェク ト を開く

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

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

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

open_project C:/Lab_edition/project_1/project_1.lpr

X-Ref Target - Figure 2-3

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

Vivado プログラムおよびデバッグ japan.xilinx.com 12UG908 (v2015.1) 2015 年 4 月 1 日

Page 13: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 2 章 : Vivado Lab Edition

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

Vivado Lab Edition がインス トールされているラボ コンピューターで実行したインプ リ メ ンテーシ ョ ン run の既存のBIT ファ イルおよび LTX ファ イルを使用するこ とができます。

一般的なフローは次のよ うになり ます。

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

• ボードに接続します。

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

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

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

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

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

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

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

Vivado Design Suite Edition からの既存 LPR プロジェク トの使用

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

一般的なフローは次のよ うになり ます。

• Vivado Lab Edition の開始ページにある [Open Project] をク リ ッ ク します。

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

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

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

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

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 13UG908 (v2015.1) 2015 年 4 月 1 日

Page 14: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 2 章 : Vivado Lab Edition

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

Vivado プログラムおよびデバッグ japan.xilinx.com 14UG908 (v2015.1) 2015 年 4 月 1 日

Page 15: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 3章

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

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

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

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

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

 

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

X-Ref Target - Figure 3-1

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

Vivado プログラムおよびデバッグ japan.xilinx.com 15UG908 (v2015.1) 2015 年 4 月 1 日

Page 16: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

• -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 プログラムおよびデバッグ japan.xilinx.com 16UG908 (v2015.1) 2015 年 4 月 1 日

Page 17: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 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 プログラムおよびデバッグ japan.xilinx.com 17UG908 (v2015.1) 2015 年 4 月 1 日

Page 18: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 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 コマンドを実行します。

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

Vivado プログラムおよびデバッグ japan.xilinx.com 18UG908 (v2015.1) 2015 年 4 月 1 日

Page 19: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

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

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

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

X-Ref Target - Figure 4-1

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

X-Ref Target - Figure 4-2

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

Vivado プログラムおよびデバッグ japan.xilinx.com 19UG908 (v2015.1) 2015 年 4 月 1 日

Page 20: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

ローカル コ ンピ ューター上のターゲッ ト に接続する と、 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

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

新しいハードウェア ターゲッ ト を開く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)。 リモート デバッグの詳細は、 101 ページの 「ラボ コンピューターで動作中の hw_server サーバーへの接続」 を参照してください。

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 20UG908 (v2015.1) 2015 年 4 月 1 日

Page 21: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

 X-Ref Target - Figure 4-3

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

X-Ref Target - Figure 4-4

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

Vivado プログラムおよびデバッグ japan.xilinx.com 21UG908 (v2015.1) 2015 年 4 月 1 日

Page 22: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

 

重要 : JTAG チェーンにサードパーティ デバイスがある場合は、 IDCODE、 IR の長さ、 名前を追加するため、 「Vivadoハード ウェア マネージャー 2014.2/2014.3/2014.4 - JTAG チェーンでサードパーティ デバイスが認識されない」 (アンサー 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 プログラムおよびデバッグ japan.xilinx.com 22UG908 (v2015.1) 2015 年 4 月 1 日

Page 23: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

 

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

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

X-Ref Target - Figure 4-6

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

Vivado プログラムおよびデバッグ japan.xilinx.com 23UG908 (v2015.1) 2015 年 4 月 1 日

Page 24: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

ロジェク ト モードで使用した場合にのみ使用できます。 Vivado IDE を非プロジェク ト モードで使用する場合は、 このプロパティを手動で設定する必要があ り ます。

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

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

ハードウェア デバイスのプログラムプログラ ム フ ァ イルをハード ウ ェア デバイ スに関連付けたら、 [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 プログラムおよびデバッグ japan.xilinx.com 24UG908 (v2015.1) 2015 年 4 月 1 日

Page 25: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

close_hw_target {localhost/xilinx_tcf/Digilent/210203339395A}

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

disconnect_hw_server localhost

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 25UG908 (v2015.1) 2015 年 4 月 1 日

Page 26: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

open_hw connect_hw_server -host localhost -port 60001 -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

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

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

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

X-Ref Target - Figure 4-8

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

Vivado プログラムおよびデバッグ japan.xilinx.com 26UG908 (v2015.1) 2015 年 4 月 1 日

Page 27: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 5章

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

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

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

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

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

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

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

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

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

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

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

コンフ ィギュレーシ ョ ン メモリ  デバイスで使用するビッ トス ト リームの生成合成済みデザインまたはインプリ メ ン ト済みデザインを開き、 [Tools] → [Edit Device Properties] をク リ ッ ク して [EditDevice Properties] ダイアログ ボッ クスを開きます。

Vivado プログラムおよびデバッグ japan.xilinx.com 27UG908 (v2015.1) 2015 年 4 月 1 日

Page 28: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

X-Ref Target - Figure 5-1

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

Vivado プログラムおよびデバッグ japan.xilinx.com 28UG908 (v2015.1) 2015 年 4 月 1 日

Page 29: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

たとえば、 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) [参照 7] を参照してください。

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

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

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

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

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 29UG908 (v2015.1) 2015 年 4 月 1 日

Page 30: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

X-Ref Target - Figure 5-2

図 5‐2 : [Add Configuration Memory Device] メニュー

X-Ref Target - Figure 5-3

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

Vivado プログラムおよびデバッグ japan.xilinx.com 30UG908 (v2015.1) 2015 年 4 月 1 日

Page 31: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

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

コンフ ィギュレーシ ョ ン メモリ  デバイスのプログラム1. コンフ ィギュレーシ ョ ン メモ リ デバイスを作成する と、 Vivado デバイス プログラマからコンフ ィギュレーシ ョ

ン メモ リ デバイスをすぐにプログラムするかど うかを確認する メ ッセージが表示されます。

X-Ref Target - Figure 5-4

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

X-Ref Target - Figure 5-5

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

Vivado プログラムおよびデバッグ japan.xilinx.com 31UG908 (v2015.1) 2015 年 4 月 1 日

Page 32: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

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

• [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 です。

X-Ref Target - Figure 5-6

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

Vivado プログラムおよびデバッグ japan.xilinx.com 32UG908 (v2015.1) 2015 年 4 月 1 日

Page 33: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

• [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) でプログラムします。

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

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

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

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

X-Ref Target - Figure 5-7

図 5‐7 : コンフ ィギュレーシ ョ ン  メモリ  デバイスの起動

Vivado プログラムおよびデバッグ japan.xilinx.com 33UG908 (v2015.1) 2015 年 4 月 1 日

Page 34: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 6章

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

リードバックおよび検証

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

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

検証を実行するには、 Tcl コマンドの 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]

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

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

-readback_file <filename.rbd>

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

-bin_file <filename.bin>

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

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

Vivado プログラムおよびデバッグ japan.xilinx.com 34UG908 (v2015.1) 2015 年 4 月 1 日

Page 35: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

注記 :

1. 2014.3 リ リースでは、 Tcl コンソールを使用してビッ ト ス ト リーム、 検証、 リードバッ ク操作を実行します。

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

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

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

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

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

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

次のコードに示すよ うに、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 \

X-Ref Target - Figure 6-1

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

Vivado プログラムおよびデバッグ japan.xilinx.com 35UG908 (v2015.1) 2015 年 4 月 1 日

Page 36: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

[ 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 コンソールから リードバッ クできます。

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

注記 : Tcl コンソールのみを使用してのコンフ ィギュレーシ ョ ン メモ リ リードバッ クを実行

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

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

• FUSE_DNA - デバイス ID ビッ ト

• FUSE_USER - 32 ビッ トのユーザー定義のコードを格納

• FUSE_KEY - AES ビッ ト ス ト リーム復号器で使用するキーを格納

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

• FUSE_SEC - UltraScale デバイスの特別なデバイス セキュ リ ティ設定を制御

重要 : eFUSE レジスタ ビッ トのプログラムは 1 度しか実行できません。 1 度 eFUSE レジスタ ビッ ト をプログラムする と、 リセッ ト してプログラムし直すこ とはできませんので、 eFUSE レジスタをプログラムする前に設定を必ず注意して確認するよ うにしてください。

バッテリー バックアップ型の RAM (BBR) を使用した AES キー 256 ビッ トの AES (Advanced Encryption Standard) キーを使用してビッ ト ス ト リームを暗号化する と、 ビッ ト ス ト リームの IP を保護できます。これは認可された FPGA でのみ実行できます。暗号化されたビッ ト ス ト リームをダウンロードする前に 256 ビッ トのキーを FPGA BBR に読み込んでください。

Vivado プログラムおよびデバッグ japan.xilinx.com 36UG908 (v2015.1) 2015 年 4 月 1 日

Page 37: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

暗号化済みビッ トス ト リームの生成

BBR と動作する暗号化されたビッ ト ス ト リームを生成するには、 Vivado Design Suite でインプリ メン ト済みデザインを開きます。 [Bitstream Settings] → [Bitstream] → [Configure Additional Bitstream Settings] をク リ ッ ク します。

[Edit Device Properties] ダイアログ ボッ クスの左側で [Encryption] をク リ ッ ク して、次の暗号とキー設定を指定します。

• [Encryption Settings]

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

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

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

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

• [Key Settings]

° ビッ ト ス ト リームを暗号化する際に 256 ビッ トのAES キーを使用するよ うに指定します。

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

X-Ref Target - Figure 6-2

図 6‐2 : その他のビッ トス ト リーム設定

Vivado プログラムおよびデバッグ japan.xilinx.com 37UG908 (v2015.1) 2015 年 4 月 1 日

Page 38: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

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

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

- 既存の NKY ファ イルを指定して、 暗号化キー設定を取得します。

AES キーのプログラム

AES キーを BBR にプログラムするには、[Hardware] ビューで FPGA デバイスを右ク リ ッ ク して [Program BBR Key] をク リ ッ ク し、 AES キー ファ イル (.nky) を指定します。 [OK] をク リ ッ クする と、 ハード ウェア マネージャーで BBRにキーがプログラムまたは読み込まれます。 これで、次のよ うな暗号化ビッ ト ス ト リームを使用して FPGA をプログラムできるよ うになり ます。

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

• 指定した暗号化キー ロケーシ ョ ンと して選択した BBRAM が含まれる

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

eFUSE ビッ ト

UltraScale FPGA には、2 つの eFUSE ビッ ト をプログラムできるセキュ リ ティ機能があ り、FPGA デバイスで暗号化されたビ ッ ト ス ト リ ームのみを使用する よ う にする こ とができ ます。 これらの eFUSE ビ ッ ト は、 [Program eFUSERegisters] をク リ ッ ク して次の手順にそって設定します。

注記 : 7 シ リーズ デバイスの場合、 FUSE_KEY レジスタの AES キーで暗号化されたビッ ト ス ト リームのみが使用できます。

• FUSE_SEC[1:0] を 11 に設定する と、FUSE_KEY レジスタの AES キーを使用する暗号化されたビッ ト ス ト リームのみが使用できます。

• FUSE_SEC[1:0] を 10 に設定する と、 暗号化されたビッ ト ス ト リームのみが使用できるよ うになり ますが、 AESキーは BBR または FUSE_KEY に含めるこ とができます。

BBR レジスタからのキーの削除

UltraScale または 7 シ リーズ FPGA の BBR レジスタからキーを削除するには、 次の手順に従ってください。

• FPGA デバイス名を右ク リ ッ ク し、 [Clear BBR Key] をク リ ッ ク します。

• Vbatt ピンを接続しないで、 ボードの電源を切って入れ直します。

注記 : ボード /FPGA がパワー アップされたと きに PROG ピンを押した り、 そのピンにパルスを送っても、 BBR レジスタは削除されません。

Vivado プログラムおよびデバッグ japan.xilinx.com 38UG908 (v2015.1) 2015 年 4 月 1 日

Page 39: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

FUSE_DNA : デバイス DNA各 7 シ リーズおよび UltraScale デバイスには、 ザイ リ ンクスによって既にプログラムされた DNA というデバイス IDがあ り ます。 7 シ リーズ デバイスには 64 ビッ トの DNA が、 UltraScale には 96 ビッ トの DNA が含まれます。 これらは、 Vivado Design Suite の Tcl コンソールで次の Tcl コマンドを実行する と読み込むこ とができます。

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

デバイス DNA は、図 6-3 に示すよ うに Vivado Design Suite の [Hardware Device Properties] ビューの eFUSE レジスタでも確認できます。

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

FUSE_USER

FUSE_USER eFUSE を使用する と、 32 ビッ ト パターンをプログラムできるよ うにな り ます。 FUSE_USER ビッ トは、Vivado eFUSE プログラ ミ ング ウ ィザードを使用してプログラムされます。 7 シ リーズ デバイスの場合、 FUSE_USERの下位 8 ビッ トが 256 ビッ トの AES (Advanced Encryption Engine) キーと同時にプログラムされます。 FUSE_USER の上位 24 ビッ トは後で同じウ ィザードを使用してプログラムできます。

X-Ref Target - Figure 6-3

図 6‐3 : eFUSE DNA

Vivado プログラムおよびデバッグ japan.xilinx.com 39UG908 (v2015.1) 2015 年 4 月 1 日

Page 40: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

[Hardware Manager] ビューでターゲッ ト デバイ スを右ク リ ッ ク して [Program eFUSE Registers] を ク リ ッ クする と、Vivado eFUSE プログラ ミ ング ウ ィザードにアクセスできます。 図 6-4 は、 Vivado eFUSE プログラ ミ ング ウ ィザードの [Program eFUSE Registers] ダイアログ ボッ クスを示しています。

UltraScale デバイスの場合、 図 6-5 に示すよ うに、 32 ビッ ト FUSE_USER の 32 ビッ トすべてを同時にプログラムして、 [Program eFUSE Registers] ダイアログ ボッ クスで AES キーを個別にプログラムするよ うにできます。

X-Ref Target - Figure 6-4

図 6‐4 : eFUSE レジスタのプログラム ‐ AES キーの設定

X-Ref Target - Figure 6-5

図 6‐5 : eFUSE レジスタのプログラム ‐ ユーザー レジスタの設定

Vivado プログラムおよびデバッグ japan.xilinx.com 40UG908 (v2015.1) 2015 年 4 月 1 日

Page 41: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

FUSE_USER eFUSEs をプログラムしたら、 そのパターンを次のよ うな方法で読み出すこ とができます。

• Tcl コマンドを使用

report_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_USER

• refresh_hw_device を実行した後の Vivado の [Hardware Device Properties] ビュー

• JTAG インターフェイスから FUSE_USER コマンドを使用

FUSE_KEY

FUSE_KEY の eFUSE ビッ トは、256 ビッ トの AES キーを格納するために使用されます。FPGA コンフ ィギュレーシ ョン ロジッ クでは、Tcl コマンドの write_bitstream で暗号化されたビッ ト ス ト リームが同じキーを使用して復号化されます。暗号化されたビッ ト ス ト リームは JTAG インターフェイス、 またはコンフ ィギュレーシ ョ ン メモ リ を通るBPI/SPI コンフ ィギュレーシ ョ ン インターフェイスを介して FPGA に送信されます。

暗号化されたビッ ト ス ト リームを作成する と き、正しいキー ロケーシ ョ ン (例 : [EFUSE]) を指定して、FPGA コンフ ィギュレーシ ョ ン ロジッ クに入ってく る暗号化されたビッ ト ス ト リームを復号化する必要があ り ます。この際、揮発性のある BBRAM キー レジスタからではなく、FUSE_KEY eFUSEs からの AES キーを使用して ください。Vivado DesignSuite で [Implemented Design] → [Bitstream Settings] をク リ ッ ク して次のビューを確認してください。

[Configure additional bitstream settings] をク リ ッ ク して [Edit Device Properties] ダイアログ ボッ クスを開きます。暗号化オプシ ョ ンは、 次の図 6-7 のよ うに設定できます。

X-Ref Target - Figure 6-6

図 6‐6 : [Bitstream] ページ

Vivado プログラムおよびデバッグ japan.xilinx.com 41UG908 (v2015.1) 2015 年 4 月 1 日

Page 42: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

FUSE_CNTL 

FUSE_CNTL の eFUSE では、 特定のデバイス機能へのアクセスが制御されます。

7 シ リーズ デバイスの場合は、 図 6-8 のダイアログ ボッ クスを使用して FUSE_CNTL の eFUSE を指定します。

X-Ref Target - Figure 6-7

図 6‐7 : [Edit Device Properties] ダイアログ ボックス

Vivado プログラムおよびデバッグ japan.xilinx.com 42UG908 (v2015.1) 2015 年 4 月 1 日

Page 43: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

UltraScale デバイスの場合は、 図 6-9 のダイアログ ボッ クスを使用して FUSE_CNTL の eFUSE を指定します。

X-Ref Target - Figure 6-8

図 6‐8 : eFUSE レジスタ  ‐ 制御レジスタの設定 (7 シリーズ)

X-Ref Target - Figure 6-9

図 6‐9 : eFUSE レジスタ  ‐ 制御レジスタの設定 (UltraScale)

Vivado プログラムおよびデバッグ japan.xilinx.com 43UG908 (v2015.1) 2015 年 4 月 1 日

Page 44: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

FUSE_SEC (UltraScale FPGA のみ)

FUSE_SEC の eFUSEs では、UltraScale デバイスでのセキュ リティ設定が制御されます。図 6-10 に示すよ うに、セキュリ ティ機能を制御する eFUSE には 6 種類あり ます。詳細は、『Ultrascale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570) [参照 10] を参照して ください。

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

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

システム モニター SYSMON (System Monitor) の ADC (Analog-to-Digital Converter) は、ハード ウェア デバイスのダイ温度と電圧を測定します。SYSMON は、オンチップ温度および電源供給センサーで物理的環境を監視します。ADC は広範囲のアプリ ケーシ ョ ンに対し高精度のアナログ インターフェイスを提供します。

X-Ref Target - Figure 6-10

図 6‐10 : [Program eFUSE Registers] ダイアログ ボックス ‐ sec‐reg‐ultrascale_optional の設定

Vivado プログラムおよびデバッグ japan.xilinx.com 44UG908 (v2015.1) 2015 年 4 月 1 日

Page 45: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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

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

システム モニターをサポートするデバイスにはすべて自動的に、 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]

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

X-Ref Target - Figure 6-11

図 6‐11 : システム モニター

Vivado プログラムおよびデバッグ japan.xilinx.com 45UG908 (v2015.1) 2015 年 4 月 1 日

Page 46: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 7章

デザインのデバッグFPGA デザインのデバッグは複数の段階を含む反復作業です。 複雑な問題を処理する場合と同様に、 FPGA デザインのデバッグ プロセスも、 1 度にデザイン全体を処理するのではなく、細分化してセクシ ョ ンごとに集中して作業するのがベス トです。 1 回に 1 モジュールを追加しながらデザイン フローを反復し、デザイン全体の中でそれを正し く機能させるよ うにするのが、実績のあるデザインおよびデバッグ手法の 1 つです。このデザインおよびデバッグ手法は、次のデザイン フロー段階のどの組み合わせででも使用できます。

• RTL レベルのデザイン シ ミ ュレーシ ョ ン

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

• インシステム デバッグ

RTL レベル デザイン  シミ ュレーシ ョ ンシ ミ ュレーシ ョ ン検証プロセス中にデザインの機能をデバッグできます。ザイ リ ンクスの Vivado® IDE では、フル デザイン シ ミ ュレーシ ョ ン機能が提供されています。 デザインの RTL シ ミ ュレーシ ョ ンを実行するには、 Vivado デザイン シ ミ ュレータを使用できます。 RTL レベル シ ミ ュレーシ ョ ン環境でデザイン デバッグを実行する と、 デザイン全体を完全に表示でき、 デザイン/デバッグ サイ クルをすばやく反復実行できるなどの利点があ り ますが、 大型デザインを妥当な時間内にシ ミ ュレーシ ョ ンした り、実際のシステム環境を正確にシ ミ ュレーシ ョ ンするのが困難であるなどの制限があ り ます。 Vivado シ ミ ュレータの使用については、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シミ ュレーシ ョ ン』 (UG900) [参照 1] を参照してください。

Vivado プログラムおよびデバッグ japan.xilinx.com 46UG908 (v2015.1) 2015 年 4 月 1 日

Page 47: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 7 章 : デザインのデバッグ

インプリ メンテーシ ョ ン後のデザイン  シミ ュレーシ ョ ンVivado シ ミ ュレータは、 インプ リ メ ンテーシ ョ ン後のデザイン シ ミ ュレーシ ョ ンにも使用できます。 Vivado シ ミ ュレータを使用してインプ リ メンテーシ ョ ン後のデザインをデバッグする と、デザインのタイ ミ ング精度の高いモデルを使用できるなどの利点があ り ますが、前のセクシ ョ ンで述べたよ うに、 ランタイムが長いこ とや、システム モデルでの正確さなどの制限があ り ます。

インシステム ロジック  デザインのデバッグVivado Design Suite には、 インプリ メンテーシ ョ ン後の FPGA デザインをインシステムでデバッグできるロジッ ク解析機能もあ り ます。 インシステムでのデザインのデバッグには、 インプ リ メンテーシ ョ ン後のデザインを、 実際のシステム環境で、 システム スピードで、 タイ ミ ング精度の高いデバッグを実行できる という利点があ り ます。 一方で、シ ミ ュレーシ ョ ン モデルを使用した場合に比べてデバッグ信号を確認しづらい、デザインのサイズや複雑さによってはデザイン/インプ リ メ ンテーシ ョ ン/デバッグの反復実行のランタイムが長くなる可能性があるなどの制限があ り ます。

Vivado ツールでは複数のデバッグ方法が提供されているので、必要に応じて、 これらの方法のいずれかを使用してデザインをデバッグできます。 Vivado Design Suite のインシステム ロジッ ク デバッグ機能については、第 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 デザインを生成する方法は、 第 8 章 「インシステム ロジッ ク デザインのデバッグ フロー」 を参照して ください。 ランタイムVivado シ リ アル I/O 解析機能の使用方法は、第 9 章 「ハード ウェアでのロジッ ク デザインのデバッグ」 を参照してください。

Vivado プログラムおよびデバッグ japan.xilinx.com 47UG908 (v2015.1) 2015 年 4 月 1 日

Page 48: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8章

インシステム ロジック  デザインのデバッグ フロー

Vivado® ツールには、実際のハードエア デバイス上でデザインのインシステム デバッグを実行する機能が多数含まれています。 インシステム デバッグ フローには、 次の 3 つの段階があ り ます。

1. プローブ : デザインでプローブする信号を特定し、 プローブ方法を指定します。

2. インプ リ メンテーシ ョ ン : プローブするネッ トに追加されたデバッグ IP を含むデザインをインプリ メン ト します。

3. 解析 : デザインに含まれるデバッグ IP にアクセスし、 機能的な問題をデバッグおよび検証します。

このインシステム デバッグ フローは、前のセクシ ョ ンで説明した反復デザイン/デバッグ フローを使用するこ とを意図しています。 インシステム デバッグ フローを使用する場合は、 デザイン サイクルのできるだけ早い段階で、 デザインの一部がハード ウェアで機能するよ うにするこ とをお勧めします。 この章では、 インシステム デバッグ フローの 3 つの段階を説明し、 Vivado ロジッ ク デバッグ機能を使用してデザインがハード ウェア上で機能するよ うにする方法を示します。

インシステム デバッグ用のデザインのプローブインシステム デバッグ フローのプローブ段階には、 次の 2 つの段階があ り ます。

1. プローブする信号またはネッ ト を特定

2. デザインにデバッグ コアを追加する方法を決定

多くの場合、 プローブする信号およびそのプローブ方法は、 ほかの信号のプローブに影響します。 まず、 デザインソース コードにデバッグ IP コンポーネン ト インスタンスを手動で追加するか (HDL インスタンシエーシ ョ ン プローブ フロー )、合成済みネッ ト リ ス トに Vivado ツールで自動的にデバッグ コアが追加されるよ うにするか (ネッ ト リ スト挿入プローブ フロー ) を決めておく と よいでし ょ う。 表 8-1 に、 異なるデバッグ方法の利点と欠点を示します。

表 8‐1 :デバッグ スト ラテジ

デバッグ目標 推奨デバッグ プログラム フロー

HDL ソース コードでデバッグ信号を特定し、 フローの後の方でデバッグをイネーブル/ディ スエーブルにでき るよ うにする

• mark_debug プロパティを使用して、HDL でデバッグ用の信号にタグを付ける

• Set Up Debug ウ ィザードを使用して、ネッ ト リ ス ト挿入プローブ フローを実行する

HDL ソース コードを変更せずに、合成済みデザイン ネッ ト リ ス ト でデバッグ ネッ ト を特定する

• 合成済みデザイン ネッ ト リ ス トでネッ ト を右ク リ ッ ク して [Mark Debug] をク リ ッ ク し、 デバッグするネッ ト を選択する

• Set Up Debug ウ ィザードを使用して、ネッ ト リ ス ト挿入プローブ フローを実行する

Vivado プログラムおよびデバッグ japan.xilinx.com 48UG908 (v2015.1) 2015 年 4 月 1 日

Page 49: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

ネッ ト リス ト挿入デバッグ プローブ フローVivado ツールでデバッグ コアを挿入する方法は、 さまざまなニーズに対応できるよ う複数あ り ます。

• シンプルなウ ィザードを使用し、 デバッグするネッ トに基づいて、 ILA (Integrated Logic Analyzer) コアを自動的に生成および設定します。 これが一番簡単な方法です。

• [Debug] ビューを使用して、 個々のコア、 ポート、 およびパラ メーターを設定します。 [Debug] ビューは、 合成済みデザインを開いた状態でレイアウ ト セレク ターで [Debug] を選択、 [Layout] → [Debug] をク リ ッ ク、 または[Windows] → [Debug] をク リ ッ クする と表示されます。

• Tcl の XDC デバッグ コマンドのセッ ト を手動で XDC 制約ファイルに入力するか、Tcl スク リプ ト を作成します。

これらの方法を組み合わせて利用し、 デバッグ コアを挿入およびカスタマイズするこ と もできます。

デバッグする  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 (ynopsys Design Constraints) ファ イルの場合は mark_debug 制約のみを使用さ して、 デバッグ用のネッ ト をマークできます (オプシ ョ ン)。 Synplify では SOFT 値はサポート されません。 これは、 この動作が syn_keep 制約で制御されるためです。

• Mentor Graphics® 社の Precision® 合成ツールを使用する と、VHDL や Verilog で mark_debug 制約を使用してデバッグ用のネッ ト をマークできます。

次のセクシ ョ ンに、 Vivado 合成、 XST、 Synplify、 および Precision ソース ファ イルの構文例を示します。

Tcl コマン ド を使用してデバッ グ プローブ フローを自動化する

• set_property Tcl コマンドを使用し、デバッグするネッ トに mark_debug プロパティを設定する

• ネッ ト リ ス ト挿入プローブ フロー用の Tcl コマンドを使用し、デバッグ コアを作成してデバッグ ネッ トに接続する

HDL ソースで ILA デバッグ コア インスタンスに信号を接続する

• デバッグする HDL 信号を特定する

• HDL インスタンシエーシ ョ ン プローブ フローを使用し、ILA (Integrated LogicAnalyzer) コアを生成してインスタンシエート し、デザインのデバッグ信号に接続する

表 8‐1 :デバッグ スト ラテジ (続き)

デバッグ目標 推奨デバッグ プログラム フロー

Vivado プログラムおよびデバッグ japan.xilinx.com 49UG908 (v2015.1) 2015 年 4 月 1 日

Page 50: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

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;

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 プログラムおよびデバッグ japan.xilinx.com 50UG908 (v2015.1) 2015 年 4 月 1 日

Page 51: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

デザインの合成

次に、 Vivado Design Suite で [Run Synthesis] をク リ ッ クするか、 次の Tcl コマンドを使用して、 デバッグ コアを含むデザインを合成します。

launch_runs synth_1wait_on_run synth_1

synth_design Tcl コマンドを使用してデザインを合成するこ と もできます。 デザインのさまざまな合成方法iついては、『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] を参照してください。

合成済みデザインでデバッグ用のネッ ト をマーク

Flow Navigator で [Open Synthesized Design] をク リ ッ ク して合成済みデザインを開き、 [Debug] レイアウ ト を選択して[Debug] ビューを表示します。デバッグ用にマークした HDL 信号に対応するネッ トが、 [Debug] ビューの [UnassignedDebug Nets] フォルダーの下に表示されます (図 8-1)。

• [Netlist]、 [Schematic] などの任意のビューでネッ ト を右ク リ ッ ク し、 [Mark Debug] をク リ ッ ク します。

• 任意のビューでネッ ト を選択し、 [Debug] ビューの [Unassigned Debug Nets] フォルダーにド ラ ッグ アンド ド ロ ップします。

• Set Up Debug ウ ィザードでネッ ト を選択します。 詳細は、 「Set Up Debug ウ ィザードを使用したデバッグ コアの挿入」 を参照してください。

Set Up Debug ウィザードを使用したデバッグ コアの挿入

デバッグ用にネッ ト をマークしたら、 それらのネッ ト をデバッグ コアに割り当てます。 Vivado Design Suite の Set UpDebug ウ ィザードを使用する と、 デバッグ コアを自動作成し、 デバッグ ネッ ト をコアの入力に割り当てるこ とができます。

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] ページが開きます (図 8-2)。

4. オプシ ョ ンで、 さ らにネッ ト を追加したり、 一覧から既存のネッ ト を削除するには、 [Find Nets to Add] をク リ ック します。 デバッグ ネッ ト を右ク リ ッ ク して [Remove Nets] をク リ ッ ク しても、 表からネッ ト を削除できます。

X-Ref Target - Figure 8-1

図 8‐1 : [Debug] ビューの [Unassigned Debug Nets] フォルダー

Vivado プログラムおよびデバッグ japan.xilinx.com 51UG908 (v2015.1) 2015 年 4 月 1 日

Page 52: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

重要 : [Netlist] またはその他のビューでネッ ト をク リ ッ ク して、[Nets to Debug] のリ ス トにド ラ ッグするこ と もできます。

5. デバッグ ネッ ト を右ク リ ッ ク して [Select Clock Domain] をク リ ッ ク し、ネッ トの値をサンプリ ングするクロ ッ クド メ インを変更します。

注記 : Set Up Debug ウ ィザードは、同期エレ メン トのパスを検索し、デバッグ ネッ トに 適なクロ ッ ク ド メ インを自動的に選択しよ う と します。 この選択は必要に応じて [Select Clock Domain] ダイアログ ボッ クスで変更できますが、表に含まれる各クロ ッ ク ド メ インはそれぞれ別の ILA コア インスタンスになるこ とに注意してください。

6. デバッグ ネッ トの選択が完了したら、 [Next] をク リ ッ ク します。

注記 : Set Up Debug ウ ィザードによ り、 ク ロ ッ ク ド メ インにつき 1 つの ILA コアが挿入されます。デバッグのために選択されたネッ トは、 挿入された ILA コアのプローブ ポートに自動的に割り当てられます。 ウ ィザードの 終ページはコア生成のサマリ ページで、 検出されたクロ ッ ク数、 生成および削除される ILA コアの数が示されます。

7. ADVANCED ト リ ガー モードをイネーブルにする場合は [Advanced Trigger] チェッ クボッ クスをオンに、 BASICキャプチャ モードをイネーブルにする場合は [Capture Control] チェ ッ クボッ ク スをオンにします。 [Next] をクリ ッ ク し、 後のページに進みます。

注記 : ADVANCED ト リ ガー モードまたは BASIC キャプチャ モードについては、 第 9 章 「ハード ウェアでのロジック デザインのデバッグ」 を参照してください。

8. 内容を確認したら [Finish] をク リ ッ ク し、 合成済みデザイン ネッ ト リ ス トに ILA コアを挿入および接続します。 X-Ref Target - Figure 8-2

図 8‐2 : Set Up Debug ウィザード

Vivado プログラムおよびデバッグ japan.xilinx.com 52UG908 (v2015.1) 2015 年 4 月 1 日

Page 53: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

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)を設定します。 これらのオプシ ョ ンの説明は、 56 ページの表 8-2 を参照してください。

10. これで、 デバッグ ネッ トが ILA デバッグ コアに割り当てられました (図 8-4)。

[Debug] ビューを使用したデバッグ コアの追加とカスタマイズ

[Debug] ビューの [Debug Cores] タブでは、 Set Up Debug ウ ィザードにない ILA コアおよびデバッグ コア ハブの挿入に関する詳細な設定を実行できます。 コアの生成および削除、 デバッグ ネッ トの接続、 コア パラ メーターの設定などを実行できます。

X-Ref Target - Figure 8-3

図 8‐3 : Set Up Debug ウィザード  : [ILA (Integrated Logic Analyzer) General Options] ページ

X-Ref Target - Figure 8-4

図 8‐4 :割り当てられたデバッグ ネッ ト

Vivado プログラムおよびデバッグ japan.xilinx.com 53UG908 (v2015.1) 2015 年 4 月 1 日

Page 54: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

[Debug] ビューの [Debug Cores] タブには、 次のものが表示されます。

• デバッグ ハブ (dbg_hub) コアに接続されているデバッグ コアのリ ス ト

• 割り当てられていないネッ トの リ ス ト

デバッグ コアおよびポートは、 ポップアップ メニューまたはビューの上部にあるツールバーから制御できます。

デバッグ コアの生成および削除

[Debug] ビューでデバッグ コアを生成するには、 ツールバーの [Create Debug Core] をク リ ッ ク します。 [Create DebugCore] ダイアログ ボッ クス (図 8-5) を使用する と、 親インスタンスおよびデバッグ コア名を変更したり、 コアのパラメーターを設定できます。 既存のデバッグ コアを削除するには、 [Debug] ビューでコアを右ク リ ッ ク し、 [Delete] をク リ ッ ク します。 [Create Debug Core] ダイアログ ボッ クスに表示される ILA コアのオプシ ョ ンの説明は、 56 ページの表 8-2 を参照して ください。

 

デバッグ コア ポートの追加、 削除、 およびカスタマイズ

デバッグ コアの追加および削除だけでなく、 各デバッグ コアのポート を追加、 削除、 およびカスタマイズできます。デバッグ ポート を追加するには、 次の手順に従います。

1. [Debug] ビューでデバッグ コアを選択します。

2. ツールバーの [Create Debug Port] をク リ ッ ク します。 [Create Debug Port] ダイアログ ボッ クスが表示されます (図 8-6)。

3. ポート幅を指定します。

4. [OK] をク リ ッ ク します。

5. デバッグ ポート を削除するには、 [Debug] ビューでポート を右ク リ ッ ク し、 [Delete] をク リ ッ ク します。

X-Ref Target - Figure 8-5

図 8‐5 : [Create Debug Core] ダイアログ ボックス

Vivado プログラムおよびデバッグ japan.xilinx.com 54UG908 (v2015.1) 2015 年 4 月 1 日

Page 55: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

 

デバッグ コアへのネッ トの接続および接続解除

ネッ トおよびバス (バス ネッ ト ) を [Schematic] または [Netlist] ビューからデバッグ コアのポートにド ラ ッグ アンドド ロ ップできます。ネッ トの選択に応じてポートが自動的に拡張されます。また、ネッ ト またはバスを右ク リ ッ ク し、[Assign to Debug Port] をク リ ッ ク しても、 ネッ ト またはバスをデバッグ ポートに割り当てるこ とができます。

デバッ グ コアのポー ト からネ ッ ト の接続を解除するには、 ポー ト に接続されているネ ッ ト を右ク リ ッ ク し、[Disconnect Net] をク リ ッ ク します。

デバッグ コアのプロパティの変更

各デバッグ コアには、 コアの動作をカスタマイズするパラ メーターがあ り ます。debug_core_hub デバッグ コアのプロパティの変更については、 63 ページの 「デバッグ コア ハブの BSCAN ユーザー スキャン チェーンの変更」 を参照してください。

ILA デバッグ コアのプロパティ も変更できます。 たとえば、 ILA デバッグ コアでキャプチャされるサンプルの数を変更するには、 次の手順に従います (図 8-7)。

1. [Debug ] ビューで ILA コア (u_ila_0 など) を選択します。

2. [Cell Properties] ビューで [Debug Core Options] タブをク リ ッ ク します。

3. [C_DATA_DEPTH] のド ロ ップダウン リ ス トから、 キャプチャするサンプル数を選択します。

X-Ref Target - Figure 8-6

図 8‐6 : [Create Debug Port] ダイアログ ボックス

Vivado プログラムおよびデバッグ japan.xilinx.com 55UG908 (v2015.1) 2015 年 4 月 1 日

Page 56: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

 

ILA コアのプロパティの説明は、 表 8-2 を参照してください。

X-Ref Target - Figure 8-7

図 8‐7 : ILA コアのデータの深さを変更

表 8‐2 : ILA デバッグ コアのプロパティ  

デバッグ コアのプロパティ 説明 有効な値

C_DATA_DEPTH ILA コアで格納可能なデータ サンプルの 大数。この値を増加する と、 ILA で使用されるブロ ッ ク RAM 数が増加し、デザイン パフォーマンスに悪影響を与えるこ とがあ り ます。

1024 (デフォルト )204840968192163843276865536131072

C_TRIGIN_EN ILA コアの TRIG_IN および TRIG_IN_ACK ポート をイネーブルにします。これらのポートは、アドバンス ネット リ ス ト変更コマンドを使用して、デザインのネッ トに接続する必要があ り ます。 ILA ト リ ガー入力または出力信号を使用する場合は、 HDL インスタンシエーシ ョ ン方法を使用して ILA をデザインに追加する こ と を考慮してください。

false (デフォルト )true

C_TRIGOUT_EN ILA コアの TRIG_OUT および TRIG_OUT_ACK ポートをイネーブルにします。 これらのポートは、 アドバンスネッ ト リ ス ト変更コマンドを使用して、デザインのネットに接続する必要があ り ます。 ILA ト リ ガー入力または出力信号を使用する場合は、HDL インスタンシエーシ ョン方法を使用して ILA をデザインに追加する こ と を考慮してください。

false (デフォルト )true

C_ADV_TRIGGER ILA コアの ADVANCED ト リ ガー モードをイネーブルにします。 この機能の詳細は、第 9 章を参照して ください。

false (デフォルト )true

Vivado プログラムおよびデバッグ japan.xilinx.com 56UG908 (v2015.1) 2015 年 4 月 1 日

Page 57: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

XDC コマンドを使用したデバッグ コアの挿入

Set up Debug ウ ィザードの使用に加え、 XDC コマンドを使用使用してもデバッグ コアを作成、 接続し、 合成済みデザイン ネッ ト リ ス トに挿入できます。 次の手順に従って、 Tcl コンソールに 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]

C_INPUT_PIPE_STAGES ILA コアの PROBE 入力のパイプ段に追加レベル (例 : フリ ップフロ ップ レジスタ ) を使用できるよ うにします。この機能を使用する と、 Vivado ツールで ILA コアをデザインのク リ テ ィ カル セクシ ョ ンから離して配置できるよ うになるので、デザインのタイ ミ ング パフォーマンスを改善できるこ とがあ り ます。

0 (デフォルト )123456

C_EN_STRG_QUAL ILA コアの BASIC キャプチャ モードをイネーブルにします。 この機能の詳細は、 第 9 章を参照してください。

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 に設定

• C_ADV_TRIGGER が false で C_EN_STRG_QUAL が true の場合は 2 に設定

• C_ADV_TRIGGER が true で C_EN_STRG_QUAL が false の場合は 1 ~ 4 に設定 (この場合は 4 を推奨)

• C_ADV_TRIGGER が true で C_EN_STRG_QUAL が true の場合は 2 ~ 4 に設定 (この場合は 4 を推奨)

重要 : 上記の規則に従わない場合、 ILA コアを生成したと きにインプリ メンテーシ ョ ン中にエラー メ ッセージが表示されます。

1234

表 8‐2 : ILA デバッグ コアのプロパティ  

デバッグ コアのプロパティ 説明 有効な値

Vivado プログラムおよびデバッグ japan.xilinx.com 57UG908 (v2015.1) 2015 年 4 月 1 日

Page 58: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

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 コンソールで 「help -category Debug」 と入力してください。

デバッグ 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] をク リ ッ ク します。

デザインのインプリ メンテーシ ョ ン

デバッグ コアを挿入、 接続、 カスタマイズしたら、 デザインをインプリ メン ト します。 詳細は、 「デバッグ コアを含むデザインのインプ リ メンテーシ ョ ン」 を参照してください。

Vivado プログラムおよびデバッグ japan.xilinx.com 58UG908 (v2015.1) 2015 年 4 月 1 日

Page 59: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

非プロジェク ト  モードでのデバッグ コアの挿入

デバッグ コアは、 プロジェク ト モードおよび非プロジェク ト モード両方で挿入できます。 次のサンプル Tcl スク リプ トは、 コアをデバッグし、 デバッグ コアの属性を設定し、 そのデバッグ コア プローブをプローブされるデザインの信号に接続します。非プロジェク ト モードの場合、デバッグ コアはデザイン合成後、 opt_design 段階の前に挿入する必要があ り ます。

重要 : デバッグ コアの挿入は、 ILA コアに対してのみサポート されます。

次の 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 プログラムおよびデバッグ japan.xilinx.com 59UG908 (v2015.1) 2015 年 4 月 1 日

Page 60: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

HDL インスタンシエーシ ョ ン  デバッグ プローブ フローの概要HDL インスタンシエーシ ョ ン プローブ フローでは、 HDL デザイン ソースで直接デバッグ コア コンポーネン ト をカスタマイズ、 インスタンシエート、および接続します。 表 8-3 に、 このフローでサポート される新しいデバッグ コアを示します。

新しい ILA コアをレガシ ILA v1.x コアと比較した場合の利点

• Vivado ロジッ ク解析で機能します。 詳細は、 第 9 章 「ハード ウェアでのロジッ ク デザインのデバッグ」 を参照してください。

• ICON コアの挿入および接続は必要あ り ません。

HDL インスタンシエーシ ョ ン  デバッグ プローブ フローHDL インスタンシエーシ ョ ン フローの手順は、 次のとおりです。

1. プローブする信号用に、適切な数のプローブ ポート を含む ILA および VIO デバッグ コアをカスタマイズして生成します。

2. (オプシ ョ ン) JTAG-to-AXI Master デバッグ コアをカスタマイズおよび生成して、 デザインの AXI ペリ フェラルまたはインターコネク ト コアの AXI スレーブ インターフェイスに接続します。

3. デバッグ コアを含むデザインを合成します。

4. (オプシ ョ ン) デバッグ ハブ コアのプロパティを変更します。

5. デバッグ コアを含むデザインをインプリ メン ト します。

表 8‐3 : HDL インスタンシエーシ ョ ン  プローブ フローで使用可能な Vivado IP カタログに含まれるデバッグ コア

デバッグ コア バージ ョ ン 説明 ランタイム解析ツール

ILA (Integrated Logic Analyzer)

v5.0 デザインの信号を JTAG チェーン スキャン レート

データをシステム速度で

キャプチャするために使用する

デバッグ コア

Vivado ロジッ ク解析

VIO (Virtual Input/Output)

v3.0 デザインの信号を JTAG チェーン スキャン レート

で監視または制御

するために使用する

デバッグ コア

Vivado ロジッ ク解析

JTAG-to-AXI Master v1.0 ハード ウェアで動作中のさまざまな AXI フルおよび AXI Lite スレーブ コア と通信する AXI トランザクシ ョ ンを生成するために使用されるデバッグ コア

Vivado ロジッ ク解析

Vivado プログラムおよびデバッグ japan.xilinx.com 60UG908 (v2015.1) 2015 年 4 月 1 日

Page 61: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

デバッグ コアのカスタマイズおよび生成

Flow Navigator で [Project Manager] → [IP Catalog] をク リ ッ ク し、必要なデバッグ コアを選択してカスタマイズします。デバッグ コアは、 IP カタログの [Debug & Verification] → [Debug] カテゴ リにあ り ます (図 8-8)。 デバッグ コアをカスタマイズするには、 IP コアをダブルク リ ッ クするか、 右ク リ ッ ク して [Customize IP] をク リ ッ ク します。

• ILA コアのカスタマイズについては、 『LogiCORE IP Integrated Logic Analyzer (ILA) v4.0 製品ガイ ド』 (PG172) [参照 16] を参照して ください。

• VIO コアのカスタマイズについては、『LogiCORE IP Virtual Input/Output (VIO) v3.0 製品ガイ ド』 (PG159) [参照 12]を参照してください。

• JTAG-to-AXI Master コアのカスタマイズについては、『LogiCORE IP JTAG to AXI Master v1.0 製品ガイ ド』 (PG174)[参照 17] を参照して ください。

コアをカスタマイズしたら、 [Generate] ボタンをク リ ッ ク します。 カスタマイズされたデバッグ コアが生成され、[Sources] ビューに追加されます。

X-Ref Target - Figure 8-8

図 8‐8 : IP カタログのデバッグ コア

Vivado プログラムおよびデバッグ japan.xilinx.com 61UG908 (v2015.1) 2015 年 4 月 1 日

Page 62: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

デバッグ コアのインスタンシエーシ ョ ン

デバッグ コアを生成したら、 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 コマンドを使用してデザインを合成するこ と もできます。デザインのさまざまな合成方法は、『VivadoDesign Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] を参照して ください。

合成済みデザインでのデバッグ コアの表示

デザインを合成したら、 合成済みデザインを開いてデバッ グ コアを表示し、 プロパテ ィ を変更できます。 FlowNavigator で [Open Synthesized Design] を ク リ ッ ク して合成済みデザインを開き、 [Debug] レ イアウ ト を選択して、[Debug] ビューでデバッグ ハブ コア (dbg_hub) に接続された ILA デバッグ コアを確認します (図 8-9)。

Vivado プログラムおよびデバッグ japan.xilinx.com 62UG908 (v2015.1) 2015 年 4 月 1 日

Page 63: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

デバッグ コア ハブの BSCAN ユーザー スキャン  チェーンの変更

デバッグ ハブ コアの BSCAN ユーザー スキャン チェーン インデッ クスを表示および変更するには、 [Debug] ビューで dbg_hub を選択し、[Instance Properties] ビューで [Debug Core Options] タブをク リ ッ ク して、[C_USER_SCAN_CHAIN]の値を変更します (図 8-10)。

重要 : デバッグ ハブ コアの C_USER_SCAN_CHAIN のデフォルト値は、 1 か 3 です。 デバッグ ハブ コアに 1 か 3 以外のスキャン チェーン値を使用する場合は、 手動で hw_server を起動する必要があ り ます。 2 または 4 のユーザー スキャン チェーンでデバッグ ハブを検出するには、 次のコマンドを使用します。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 8-9

図 8‐9 : ILA コアとデバッグ ハブ コアを示す [Debug] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 63UG908 (v2015.1) 2015 年 4 月 1 日

Page 64: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 8 章 : インシステム ロジック  デザインのデバッグ フロー

デバッグ コアを含むデザインのインプリ メンテーシ ョ ンVivado ツールでは、 デバッグ ハブ コアは、 初ブラ ッ クボッ クス と して作成されます。 このコアは、 配置配線を実行する前にインプ リ メン ト しておく必要があ り ます。

デザインのインプリ メンテーシ ョ ン

デバッグ コアを含むデザインをインプリ メン トするには、Vivado Design Suite で [Run Implementation] をク リ ッ クするか、 次の Tcl コマンドを使用します。

launch_runs impl_1wait_on_run impl_1

インプ リ メンテーシ ョ ン コマンド opt_design、 place_design、 および route_design を使用して、 デザインをインプ リ メン トするこ と も可能です。 デザインのさまざまなインプリ メン ト方法iついては、 『Vivado Design Suite ユーザー ガイド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] を参照してください。

X-Ref Target - Figure 8-10

図 8‐10 :デバッグ ハブ コアのユーザー スキャン  チェーン  プロパティの変更

Vivado プログラムおよびデバッグ japan.xilinx.com 64UG908 (v2015.1) 2015 年 4 月 1 日

Page 65: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9章

ハードウェアでのロジック  デザインのデバッグ

デザインにデバッグ コアを追加したら、 ランタイム ロジッ ク解析機能を使用して、 ハード ウェア上でデザインをデバッグできます。

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 デバイスをプログラムする手順は、 18 ページの 「FPGA デバイスのプログラム」 で説明されている手順と同じです。新しい ILA、 VIO、および JTAG-to-AXI Master デバッグ コアを含む BIT ファ イルでデバイスをプログラムする と、 [Hardware] ビューにデバイスのスキャンで検出されたデバッグ コアが表示されます (図 9-1)。

Vivado プログラムおよびデバッグ japan.xilinx.com 65UG908 (v2015.1) 2015 年 4 月 1 日

Page 66: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ILA コアの使用に関する詳細は、 74 ページの 「計測のための ILA コアの設定」 を参照して ください。 VIO コアの使用に関する詳細は、 93 ページの 「計測のための VIO コアの設定」 を参照してください。

Vivado ハードウェア マネージャーのダッシュボード  Vivado ハードウェア マネージャーのダッシュボードを使用する と、 System Monitor、 ILA、 VIO デバッグ コアのさまざまなウ ィンド ウが管理しやすくな り ます。 ダッシュボードを使用して、 Vivado Design Suite プロジェク トでこれらのウ ィンド ウの設定を作成、 変更、 保存するこ とができます。

デフォルトのダッシュボード

ハードウェア デバイスを リ フレッシュする と きにデバッグ コアが検出される と、 各デバッグ コアに対しデフォルトのダッシュボードが自動的に開きます。

デフォルトのダッシュボード  ウィンドウ

デフォルト ダッシュボードには、 ダッシュボードが作成されたデバッグ コアに関連したウ ィンド ウが含まれています。 ILA デバッグ コアに対して作成されたデフォルトのダッシュボードには、次の 5 つのウ ィンド ウが含まれています。

• [Settings] ウ ィンド ウ

• [Status] ウ ィンド ウ

• [Trigger Setup] ウ ィンド ウ

• [Capture Setup] ウ ィンド ウ

• [Waveform] ウ ィンド ウ

X-Ref Target - Figure 9-1

図 9‐1 :デバッグ コアが表示された [Hardware] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 66UG908 (v2015.1) 2015 年 4 月 1 日

Page 67: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

デフォルトの ILA ダッシュボードの例は次のよ うにな り ます。

まず、 [Trigger Setup] ウ ィ ン ド ウの中央にある緑色の + 記号をク リ ッ ク して、 プローブをこのウ ィ ン ド ウに追加し、図 9-3 にあるよ うに [Add Probes] ウ ィンド ウからプローブを選択する と ころから始めます。

X-Ref Target - Figure 9-2

図 9‐2 :デフォルトの ILA ダッシュボード

X-Ref Target - Figure 9-3

図 9‐3 : [Add Probes] ウィンドウ

Vivado プログラムおよびデバッグ japan.xilinx.com 67UG908 (v2015.1) 2015 年 4 月 1 日

Page 68: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

VIO のデフォルト ダッシュボードは 初は空白ですが、 こ こに図 9-4 に示すよ うに、VIO プローブを追加していきます。

デバッグ コアに関連付けられているダッシュボードを表示するには、 [Hardware] ビューでデバッグ コア オブジェクト を右ク リ ッ ク し、 [Dashuboard] オプシ ョ ンをク リ ッ ク して、 ダッシュボード名を選択します。 [Hardware] ビューでデバッグ コアをダブルク リ ッ クする と、 そのコアに関連付けられているダッシュボードが開きます。

X-Ref Target - Figure 9-4

図 9‐4 : VIO プローブの追加

X-Ref Target - Figure 9-5

図 9‐5 :関連付けられているダッシュボード

Vivado プログラムおよびデバッグ japan.xilinx.com 68UG908 (v2015.1) 2015 年 4 月 1 日

Page 69: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ダッシュボード内のウィンドウ制御

各ウ ィンド ウのタイ トル バーには、 ウ ィンド ウを操作できるボタンが含まれます。

• 小化

• 大化

• 閉じる

ウィンドウの移動

ウ ィンド ウを移動させるには、 次の手順に従います。

1. ウ ィンド ウのタブまたはタイ トル バーを選択し、 ド ラ ッグします。グレーのアウ ト ラインでウ ィンド ウがどこに移動されるかが示されます。

2. マウス ボタンを放してウ ィンド ウを配置します。

注記 :既存のウ ィン ド ウの上に別のウ ィン ド ウを ド ロ ップする と、 同じ場所に 2 つのウ ィン ド ウ タブが表示されます。

重要 : ウ ィンド ウはワークスペース外へ移動できませんが、 ワークスペース内でサイズを変更したり、 移動したりはできます。

ウィンドウのサイズ変更

• ウ ィンド ウのサイズを変更するには、 ウ ィンド ウの枠をク リ ッ ク してド ラ ッグします。

注記 : ウ ィンド ウの枠にカーソル置く と矢印から ド ラ ッグ用マークに変わるので、 ド ラ ッグしてサイズを変更します。

• ウ ィンド ウを 大化するには、 右上の [Maximize] ボタンをク リ ッ ク します。

• ウ ィンド ウを元のサイズに戻すには、 ウ ィンド ウのタイ トル バーまたはタブをダブルク リ ッ ク します。

ウィンドウを閉じる

• ウ ィンド ウを閉じるには、 ウ ィンド ウ右上の [Close] ボタンをク リ ッ ク します。

注記 : このボタンがタブに表示されるこ と もあ り ます。

• ウ ィンド ウのタブまたはタイ トル バーで右ク リ ッ ク し、 [Close] をク リ ッ ク します。

ウィンドウ タブ

各ウ ィンド ウにはタブがあ り、 タブをク リ ッ クする とそのタブの内容が表示されます。 [Trigger Setup] ウ ィ ンド ウや[Capture Setup] ウ ィンド ウなどの一部のウ ィンド ウではタブは下に表示されます。

ヒン ト : 次のタブを選択するには、 Ctrl + Tab キーを押します。 前のタブを選択するには、 Ctrl + Shift + Tab キーを押します。 ウ ィンド ウを 大化または 小化するには、 ウ ィンド ウのタブをダブルク リ ッ クするか、 Alt - を押します。

ダッシュボードのカスタマイズ

通常、 デザインをデバッグした り、 結果を表示するのに、 デフォル ト ダッシュボードのウ ィ ンド ウで十分なのですが、 ダッシュボードのカスタマイズなどのため、 ウ ィンド ウを移動したい場合があ り ます。 たとえば、 ILA のステータス と波形ウ ィンド ウの両方を表示しつつ、 同じダッシュボードで VIO プローブを制御するよ うにしたいと します。このよ うな場合、 必要に応じてダッシュボードをカスタマイズするこ とをお勧めします。

Vivado プログラムおよびデバッグ japan.xilinx.com 69UG908 (v2015.1) 2015 年 4 月 1 日

Page 70: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ダッシュボードのオプシ ョ ン

ダッシュボードの左端には [Dashboard Options] があ り、スライ ド させて表示できます。ダッシュボード左側にある >>ボタンを押すと、 この [Dashboard Options] が開きます。 [Dashboard Options] では、 特定ダッシュボードに表示されるウ ィンド ウを制御するための設定を行う こ とができます。たとえば、 ILA ダッシュボードに VIO ウ ィンド ウの 1 つを含めるよ う、 カスタマイズしたいと します。 次に示すよ うに、 [Dashboard Options] で含めたい VIO ウ ィ ン ド ウをクリ ッ クする と、 ILA ダッシュボードにそれが表示されるよ うになり ます。 これで VIO プローブを追加して、 ILA ウ ィンド ウを ト リガーさせるこ とができます。

また、 [Dashboard Options] を閉じる場合も、 ダッシュボード左側にある >> ボタンを押します。

X-Ref Target - Figure 9-6

図 9‐6 : ダッシュボード  オプシ ョ ンの追加

Vivado プログラムおよびデバッグ japan.xilinx.com 70UG908 (v2015.1) 2015 年 4 月 1 日

Page 71: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

新規ダッシュボードの作成

[Dashboard Options] を使用してデフォルトのダッシュボードをカスタマイズするだけでなく、 新しいダッシュボードを作成するこ と もできます。新規ダッシュボードを作成するには、図 9-7 のよ うに [Hardware] ビューでデバッグ コアオブジェク ト を右ク リ ッ ク し、 [Dashboard] → [New Dashboard] をク リ ッ ク します。

X-Ref Target - Figure 9-7

図 9‐7 :新規ダッシュボードの作成

Vivado プログラムおよびデバッグ japan.xilinx.com 71UG908 (v2015.1) 2015 年 4 月 1 日

Page 72: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

[New Dashboard] ダイアログ ボッ クスが表示されたら、 必要に応じてダッシュボードをカスタマイズします。

次の図に示すよ うに、 ツールバーの [Dashboard] ボタンをク リ ッ ク して新しいダッシュボードを作成するこ と もできます。

ヒン ト : デバッグ コアに関連付けられているダッシュボードをすべて表示させるには、 [Hardware] ビューでデバッグコアを右ク リ ッ ク し、 [Dashboard] をク リ ッ ク します。 または、 [Hardware] ビューでデバッグ コアをダブルク リ ッ クする と、 そのコアに関連付けられているダッシュボードのリ ス トが開きます。

ヒン ト : ダッシュボードに 1 つのウ ィンド ウをフロート させる場合は、 そのウ ィンド ウだけのダッシュボードを作成して、 そのダッシュボードをフロート させるこ とをお勧めします。

X-Ref Target - Figure 9-8

図 9‐8 : [New Dashboard] ダイアログ ボックス

X-Ref Target - Figure 9-9

図 9‐9 : ツールバーの [Dashboard] ボタン

Vivado プログラムおよびデバッグ japan.xilinx.com 72UG908 (v2015.1) 2015 年 4 月 1 日

Page 73: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ダッシュボードの ILA 波形ウィンドウ

ILA 波形ウ ィンド ウは 1 つのダッシュボードに 1 つしか表示できません。別のダッシュボードにある波形ウ ィンド ウをク リ ッ クする と、 図 9-10 のよ うに、 ウ ィンド ウを移動させるかど うかを確認する メ ッセージが表示されます。

[OK] をク リ ッ クする と、 波形ウ ィンド ウは指定のダッシュボードに移動します。

ヒン ト : 波形ウ ィンド ウを閉じる と きは ILA データを保存して ください。

システム モニターのダッシュボード

XADC/システム モニターのウ ィ ンド ウは、 別のダッシュボードに含めたり、 それ用のダッシュボードを作成すること もできます。

デフォルト  ダッシュボードへのリセッ ト  

ダッシュボードは、 ツールバーの [Dashboard] をク リ ッ ク し、 [Reset to Default] をク リ ッ ク して、 デフォルトの状態に戻すこ とができます。

X-Ref Target - Figure 9-10

図 9‐10 : ILA 波形ウィンドウの移動を確認するメ ッセージ

X-Ref Target - Figure 9-11

図 9‐11 : システム モニターのダッシュボード

X-Ref Target - Figure 9-12

図 9‐12 :デフォルト  ダッシュボードへのリセッ ト

Vivado プログラムおよびデバッグ japan.xilinx.com 73UG908 (v2015.1) 2015 年 4 月 1 日

Page 74: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ダッシュボードを閉じる

ツールバーの [Dashboard] をク リ ッ ク し、 [Close All] をク リ ッ クする と、開いているダッシュボードをすべて閉じることができます。 ダッシュボードはすべて削除され、 これらのダッシュボードのユーザー設定も削除されます。

ウ ィンド ウの右上にある [X] をク リ ッ ク して、 ダッシュボードを 1 つずつ閉じるこ と もできます。 そのダッシュボードのユーザー設定も削除されます。

ユーザー ダッシュボード設定の保存

ユーザー ダッシュボード設定は Vivado IDE で自動的に保存されます。プロジェク ト を閉じて、再び開く と、ユーザー設定はハードウェア マネージャーに戻り ます。

計測のための ILA コアの設定デザインに追加した ILA コアは、 [Hardware] ビューのターゲッ ト デバイスの下に表示されます。 ILA コアが表示されていない場合は、 デバイスを右ク リ ッ ク して [Refresh Device] をク リ ッ ク します。 FPGA デバイスが再度スキャンされ、 [Hardware] ビューの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても ILA コアが表示されない場合は、デバイスが正しい BIT ファ イルでプログラムされているか、 インプ リ メ ン ト済みデザインに ILA コアが含まれているかを確認して ください。 また、 BIT に該当する適切な .LTX プローブ ファ イルがデバイスに関連付けられているかど うか確認して ください。

Vivado プログラムおよびデバッグ japan.xilinx.com 74UG908 (v2015.1) 2015 年 4 月 1 日

Page 75: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ILA コア (図 9-1 では hw_ila_1) を選択する と、 [ILA Core Properties] ビューにプロパティが表示されます。 ILA コアに対応するプローブをすべて表示させるには、[Windows] → [Debug Probes] をク リ ッ ク します。これで75 ページの図 9-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 9-13

図 9‐13 : さまざまなビューの ILA コア

Vivado プログラムおよびデバッグ japan.xilinx.com 75UG908 (v2015.1) 2015 年 4 月 1 日

Page 76: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

デバッグ プローブ情報の読み出し

デバッグ プローブ ファ イルは、 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] : 信号またはバスに付けられたカスタム名が表示されます。

ILA デフォルト  ダッシュボードの使用

ILA ダッシュボード (77 ページの図 9-14) には、 ILA コアに関するすべてのステータスおよび制御情報が表示されます。 ハード ウェア デバイスの更新によ り ILA コアが 初に検出される と、 ILA デフォルト ダッシュボードが自動的

Vivado プログラムおよびデバッグ japan.xilinx.com 76UG908 (v2015.1) 2015 年 4 月 1 日

Page 77: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

に開きます。 ダッシュボードを手動で開いたり、 開き直したりする必要がある場合は、 [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 デバッグ コアの ト リガーおよびキャプチャ ステータスを監視します。

BASIC ト リガー モードの使用

BASIC ト リ ガー モードは、 ト リ ガー条件 (デバッグ プローブ コンパレータのグローバル ブール代数式) を記述するために使用されます。 ト リ ガー モードを BASIC_ONLY または BASIC_OR_TRIG_IN に設定する と イネーブルになります。 この ト リガー条件とデバッグ プローブ比較値を作成するには、 [Basic Trigger Setup] ビュー (図 9-15) を使用します。

X-Ref Target - Figure 9-14

図 9‐14 : ILA ダッシュボード  

Vivado プログラムおよびデバッグ japan.xilinx.com 77UG908 (v2015.1) 2015 年 4 月 1 日

Page 78: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

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 つ目からは初のプローブの上にド ロ ップする必要があ り ます。新しいプローブは、常に前に追加されたプローブの上に追加さ

れます。 同じよ うにド ラ ッグ アンド ド ロ ップして、 表内のプローブを並び替えるこ と もできます。

重要 : ト リ ガー条件には、 [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] ダイアログ ボッ クスを開きます (図 9-16)。

ヒン ト : 基数を変更する前に、 新しい基数に適用される文字列に値を設定しているこ とを確認してください。

ILA プローブの比較値の設定

[Compare Value] ダイアログ ボッ クスでは、 次の 3 つのフ ィールドを設定します。

X-Ref Target - Figure 9-15

図 9‐15 : ILA の [Basic Trigger Setup] ビュー

X-Ref Target - Figure 9-16

図 9‐16 : ILA プローブの [Compare Value] ダイアログ ボックス

Vivado プログラムおよびデバッグ japan.xilinx.com 78UG908 (v2015.1) 2015 年 4 月 1 日

Page 79: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

1. [Operator] : 比較演算子を指定します。 有効な値は、 次のとおりです。

° == (等価)

° != (不等価)

° < (小なり )

° <= (以下)

° > (大なり )

° >= (以上)

2. [Radix] : 値の基数を指定します。 有効な値は、 次のとおりです。

° [B] (2 進数)

° [H] (16 進数)

° [O] (8 進数)

° [U] (符号なし 10 進数)

° [S] (符号付き 10 進数)

3. [Value] : 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 進数)

- 整数値

Vivado プログラムおよびデバッグ japan.xilinx.com 79UG908 (v2015.1) 2015 年 4 月 1 日

Page 80: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

BASIC ト リガー条件の設定

[Basic Trigger Setup] ビューの左側のツールバー ボタンには、論理ゲートのアイコンが表示されます (図 9-17)。 これを使用して ト リガー条件を設定できます。 set_property Tcl コマンドを使用しても、 ILA コアの ト リガー条件を変更できます。

set_property CONTROL.TRIGGER_CONDITION AND [get_hw_ilas hw_ila_1]

表 9-1 に、 これら 4 つの値の意味を示します。

重要 : 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 つのカウンターを使用し、 特定の分岐がいつ処理されるかを示す

X-Ref Target - Figure 9-17

図 9‐17 : BASIC ト リガー条件の設定

表 9‐1 : BASIC ト リガー条件の設定の説明 

GUI のト リガー条件設定CONTROL.TRIGGER_CONDITION 

プロパティ値ト リガー条件出力

Global AND AND すべてのプローブ コンパレータが true の場合にト リガー条件が true とな り、 それ以外の場合は false とな り ます。

Global OR OR 少なく と も 1 つのプローブ コンパレータがtrue の場合に ト リ ガー条件が true とな り、それ以外の場合は false とな り ます。

Global NAND NAND 少なく と も 1 つのプローブ コンパレータがfalse の場合に ト リ ガー条件が true とな り、それ以外の場合は false とな り ます。

Global NOR NOR すべてのプローブ コンパレータが false の場合にト リガー条件が ture とな り、 それ以外の場合は false とな り ます。

Vivado プログラムおよびデバッグ japan.xilinx.com 80UG908 (v2015.1) 2015 年 4 月 1 日

Page 81: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

• ステート マシンで 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] コード エディ ター ビューが表示されます。

ILA ト リ ガー ステート マシン プログラムを初めて指定する場合、 [Trigger State Machine] コード エディ ター ビューは図 9-18 のよ うに表示されます。

新しい ト リガー ステート マシンを作成するには、 [Create new trigger state machine] リ ンクをク リ ッ ク します。 既存のト リガー ステート マシンを開くには、[Open existing trigger state machine] リ ンクをク リ ッ ク して ト リガー ステート マシン プログラム ファ イル (.tsm) を開きます。 既存の ト リ ガー ステート マシン プログラム ファ イルは、 ILA ダッシュボードの [ILA Properties] ビューの [Trigger state machine] テキス ト フ ィールドまたは参照ボタンを使用しても開く こ とができます。

ト リガー ステート  マシン  プログラムの編集

ト リ ガー ステート マシン プログラム ファ イルを作成したら、 [Trigger State Machine] コード エディ ター ビューに単純な ト リガー ステート マシンがデフォルトで表示されます (図 9-19)。

X-Ref Target - Figure 9-18

図 9‐18 : ト リガー ステート  マシン プログラム ファイルを作成または開く

Vivado プログラムおよびデバッグ japan.xilinx.com 81UG908 (v2015.1) 2015 年 4 月 1 日

Page 82: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

単純なデフォルトの ト リガー ステート マシン プログラムは、デバッグ プローブまたはト リガー設定に関係なく ILAコアのコンフ ィギュレーシ ョ ンを有効にするためのものです。 これによ り、 ト リガー ステート マシン プログラムを変更しなくても ILA コアに対して [Run Trigger] をク リ ッ クできます。

ト リガー ステート マシン プログラムを変更して、高度な ト リガー条件をインプリ メン トするこ と もできます。図 9-19に示す単純なステート マシンの冒頭のコ メン ト部分には、 Vivado IDE のビルト イン言語テンプレート (83 ページの図 9-20) を使用して ト リガー ステート マシン プログラムを構築する方法が説明されています。 例も含めた ILA ト リガー ステート マシン言語の説明は、 付録 B 「 ト リ ガー ステート マシンの言語記述」 を参照してください。

X-Ref Target - Figure 9-19

図 9‐19 :単純なデフォルトのト リガー ステート  マシン プログラム

Vivado プログラムおよびデバッグ japan.xilinx.com 82UG908 (v2015.1) 2015 年 4 月 1 日

Page 83: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ト リガー ステート  マシンのコンパイル

ト リ ガー ステート マシンは、 ILA を ト リガーするたびにコンパイルされます。 ILA を ト リ ガーまたは ト リガー待機状態にせずに ト リ ガー ステー ト マシンをコンパイルするには、 ILA ダッシュボードのツールバーにある [Compiletrigger state machine] ボタンをク リ ッ ク します (83 ページの図 9-21)。

X-Ref Target - Figure 9-20

図 9‐20 : ト リガー ステート  マシンの言語テンプレート

X-Ref Target - Figure 9-21

図 9‐21 : ト リガー待機状態にせずにト リガー ステート  マシンをコンパイル

Vivado プログラムおよびデバッグ japan.xilinx.com 83UG908 (v2015.1) 2015 年 4 月 1 日

Page 84: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ト リガー入力ポートおよび出力ポートのイネーブル

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 の場合にデータ サンプルをキャプチャできます (詳細は 89 ページの 「 ト リガーおよびキャプチャ ステータスの表示」 を参照)。 各サンプルがキャプチャされる前に評価される条件は、 [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]

BASIC キャプチャ  モードの使用

BASIC キャプチャ モードは、 ト リ ガー条件 (デバッグ プローブ コンパレータのグローバル ブール代数式) を記述するために使用されます。このキャプチャ条件とデバッグ プローブ比較値を作成するには、[Basic Capture Setup] ビュー(図 9-22) を使用します。

Vivado プログラムおよびデバッグ japan.xilinx.com 84UG908 (v2015.1) 2015 年 4 月 1 日

Page 85: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

[Basic Capture Setup] ビューの設定

[Basic Capture Setup] ビューでデバッグ プローブと BASIC キャプチャ条件を設定するプロセスは、[Basic Trigger Setup]ビューのデバッグ プローブを設定するプロセス とほぼ同じです。

• プローブを [Basic Capture Setup] ビューに追加する方法は、 78 ページの 「[Basic Trigger Setup] ビューへのプローブの追加」 を参照してください。

• [Basic Capture Setup] ビューで各プローブの比較値を設定する方法は、 78 ページの 「ILA プローブの比較値の設定」 を参照してください。

• [Basic Capture Setup] ビューで BASIC キャプチャ条件を設定する方法は、 80 ページの 「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 9-22

図 9‐22 : BASIC キャプチャ条件の設定

Vivado プログラムおよびデバッグ japan.xilinx.com 85UG908 (v2015.1) 2015 年 4 月 1 日

Page 86: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

次の表は、 [Number of Capture Windows] に 1 よ り大きな値を、 [Trigger Position] に 0 を設定した場合の Vivado ランタイム ソフ ト ウェアおよびハードウェアの関連を示しています。

次の表は、 [Number of Capture Windows] に 1 よ り大きな値を、 [Trigger Position] に 0 よ り大きな値を設定した場合のVivado ランタイム ソフ ト ウェアおよびハードウェアの関連を示しています。

表 9‐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 コアが再び待機状態になり ます。

表 9‐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 プログラムおよびデバッグ japan.xilinx.com 86UG908 (v2015.1) 2015 年 4 月 1 日

Page 87: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

キャプチャ  ウィンドウでのト リガー位置の設定

[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 コアのキャプチャ バッファーの 大データ深さを設定する方法は、 55 ページの 「デバッグ コアのプロパティの変更」 を参照して ください。

set_property Tcl コマンドを使用しても ILA コアのデータ深さを変更できます。

set_property CONTROL.DATA_DEPTH 512 [get_hw_ilas hw_ila_1]

ト リガーの実行

ILA コアに ト リガーを供給する方法には、 次の 2 つのモードがあ り ます。

• [Run Trigger] : ILA ダッシュボードまたは [Hardware] ビューで ILA コアを選択し、 ツールバーの [Run Trigger] をク リ ッ クする と、 ILA コアの BASIC または ADVANCED ト リ ガー設定で定義された ト リガー イベン ト を検出できるよ うになり ます。

• [Run Trigger Immediate] : ILA ダッシュボードまたは [Hardware] ビューで ILA コアを選択し、 ツールバーの [RunTrigger Immediate] をク リ ッ クする と、 ILA コアの ト リガー設定に関係なく ILA コアが即座にト リガーされます。このコマンドは、 ILA コアのプローブ入力のすべてのアクティビティをキャプチャして、 デザインの動きを検出するのに便利です。

ILA コアを右ク リ ッ ク し、 [Run Trigger] または [Run Trigger Immediate] をク リ ッ ク しても、 同じ操作を実行できます(図 9-23)。

Vivado プログラムおよびデバッグ japan.xilinx.com 87UG908 (v2015.1) 2015 年 4 月 1 日

Page 88: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ヒン ト : [Hardware] ビューで ILA コアを選択して、 [Run Trigger]、 [Run Trigger Immediate] または [Stop Trigger] ボタンを使用する と、 複数の ILA コアの ト リ ガーを実行または停止できます。 また、 [Hardware] ビューで デバイスを選択し、ツールバーの適切なボタンをク リ ッ クする と、そのデバイスのすべての ILA コアの ト リガーを実行または停止できます。

ト リガーの停止

ILA コアの ト リガーを停止するには、 ILA コアを選択し、 ILA ダッシュボードまたは [Hardware] ビューのツールバーの [Stop Trigger] をク リ ッ ク します。 ILA コアを右ク リ ッ ク し、 [Stop Trigger] をク リ ッ ク しても、同じ操作を実行できます (図 9-23)。

自動再ト リガーの使用

ILA コアの右ク リ ッ ク メニューの [Enable Auto Re-Trigger] または ILA ダッシュボードのツールバーの対応するボタンをク リ ッ クする と、 ト リガー、 アップロード、 表示処理が正し く完了した後に、 ILA コアが自動的にト リガー待機状態になり ます。 ILA コアに対応する波形ビューアーに表示されたキャプチャ データは、 ト リ ガー イベン ト ごとに上書きされます。 [Auto Re-Trigger] オプシ ョ ンは、 [Run Trigger] および [Run Trigger Immediate] コマンド と共に使用できます。 動作中のト リガーを停止するには、 [Stop Trigger] をク リ ッ ク します。

X-Ref Target - Figure 9-23

図 9‐23 : ILA コアのト リガー コマンド

Vivado プログラムおよびデバッグ japan.xilinx.com 88UG908 (v2015.1) 2015 年 4 月 1 日

Page 89: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

次の表は [Auto Re-Trigger] オプシ ョ ンを使用した際の Vivado IDE ランタイム ソフ ト ウェアおよびハード ウェア間の関係を示しています。

重要 : ILA データがいっぱいになって、 データがアップロード されて GUI に表示されるまでの間には遅延があるので、 ILA を ト リガーできたかもしれないイベン ト間のサイクルを逃してしま う可能性が高くなり ます。

ト リガーおよびキャプチャ  ステータスの表示

ILA デバッグ コアの ト リガーおよびキャプチャ ステータスは、 Vivado IDE では次の 2 箇所に表示されます。

• [Hardware] ビューの ILA デバッグ コアの行の [Status] 列

• ILA ダッシュボードの [Trigger Capture Status] ビュー

[Hardware] ビューの [Status] 列には、 各 ILA コアのステータスが示されます (90 ページの表 9-5)。

表 9‐4 : [Auto Re‐Trigger] オプシ ョ ン

ソフ トウェア ハードウェア

ILA コアで [Auto Re-Trigger] オプシ ョ ンをク リ ッ ク

• ILA が待機状態

• ILA がト リガーする

• ILA がキャプチャ バッファーを一杯にする

• ILA がフルになる

データがアップロード され表示 • ILA が再び待機状態

• ILA がト リガーする

• ILA がキャプチャ バッファーを一杯にする

• ILA がフルになる

ILA の 「フル」 イベン ト と ILA データの表示間多くのサイクルがなくな り ます。

Vivado プログラムおよびデバッグ japan.xilinx.com 89UG908 (v2015.1) 2015 年 4 月 1 日

Page 90: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

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 つのステータス インジケーターが表示されます (図 9-24)。

• [Core status] : ILA コアの ト リガー /キャプチャ エンジンのステータスを示します (ステータス インジケーターの詳細は表 9-5 を参照)。

• [Capture status] : 現在のキャプチャ ウ ィンド ウ、 そのウ ィンド ウでキャプチャされた現在のサンプル数、 ILA コアでキャプチャされたサンプル総数を示します。 これらの数値は、 ILA コアのステータスが Idle になる と 0 にリセッ ト されます。

表 9‐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 ステータスにな り ます。

Post-Trigger ILA コアが ト リガー後のデータをデータ キャプチャ ウ ィンド ウに取り込んでいます。 トリガー後のデータがキャプチャされる と、 ILA コアは Full ステータスにな り ます。

Full ILA コア キャプチャ ウ ィンド ウがフルであ り、 ホス トに表示するよ う アップロード中です。 データがアップロード されて表示される と、 ILA コアは Idle ステータスになり ます。

X-Ref Target - Figure 9-24

図 9‐24 : BASIC ト リガー モードの [Trigger Capture Status] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 90UG908 (v2015.1) 2015 年 4 月 1 日

Page 91: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ADVANCED ト リガー モードのト リガーおよびキャプチャ  ステータス

[Trigger mode] を ADVANCED に設定する と、[Trigger Capture Status] ビューには次の 4 つのステータス インジケーターが表示されます (図 9-25)。

• [Core status] : ILA コアの ト リガー /キャプチャ エンジンのステータスを示します (ステータス インジケーターの詳細は90 ページの表 9-5 を参照)。

• [Trigger State Machine Flags] : 4 つのト リガー ステート マシン フラグの現在のステート を示します。

• [Trigger State] : コアのステータスが Waiting for Trigger の場合、 ト リガー ステート マシンの現在のステート を示します。

• [Capture status] : 現在のキャプチャ ウ ィンド ウ、 現在のキャプチャ ウ ィンド ウでキャプチャされた現時点でのサンプル数、 ILA コアでキャプチャされたサンプルの総数を示します。 これらの数値は、 ILA コアのステータスがIdle になる と 0 にリセッ ト されます。

ILA プローブ情報の記述[Debug Probes] ビューの [ILA Cores] タブには、 ILA コアを使用してプローブされるデザインのネッ トに関する情報が表示されます。 この ILA プローブ情報はデザインから抽出され、 通常 .ltx とい う拡張子のデータ ファ イルに保存されます。

ILA プローブ ファ イルは、 インプ リ メンテーシ ョ ン プロセス中に自動的に作成されますが、write_debug_probesTcl コマンドを使用してデバッグ プローブ情報をファイルに書き出すこ と もできます。

1. プロジェク ト モードの場合は、合成済みデザインまたはネッ ト リ ス ト デザインを開きます。非プロジェク ト モードの場合は、 合成済みデザイン チェッ クポイン ト を開きます。

2. write_debug_probes filename.ltx とい う Tcl コマンドを実行します。

ILA プローブ情報の読み出しILA プローブ ファ イルの名前が debug_nets.ltx で、 デバイスに関連付けられているビッ ト ス ト リーム プログラム ファ イル (.bit) と同じディ レク ト リにある場合、 自動的に FPGA ハードウェア デバイスに関連付けられます。

プローブ ファ イルの場所を指定するには、 次の手順に従います。

1. [Hardware] ビューで FPGA デバイスを選択します。

X-Ref Target - Figure 9-25

図 9‐25 : ADVANCED ト リガー モードの [Trigger Capture Status] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 91UG908 (v2015.1) 2015 年 4 月 1 日

Page 92: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

2. [Hardware Device Properties] ビューでプローブ ファ イルのディ レク ト リ を設定します。

3. [Apply] をク リ ッ ク して変更を適用します。

プローブ ファ イルの場所は、 次の set_property Tcl コマンドを使用しても設定できます。

set_property PROBES.FILE {C:/myprobes.ltx} [lindex [get_hw_devices] 0]

ILA コアからのデータを波形ビューアーで表示ILA コアでキャプチャされたデータが Vivado IDE にアップロード される と、波形ビューアーに表示されます。 ILA コアでキャプチャされたデータの表示に波形ビューアーを使用する場合の詳細は、 第 10 章 「波形ウ ィンド ウを使用した 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 ファ イル (カンマ区切り値)、およびデバッグ プローブ ファ イルが含まれます。

ILA コアでキャプチャされたデータのファイルからの読み込み

ILA コアでキャプチャされたデータをファイルから読み込むには、 次の Tcl コマンドを使用します。

display_hw_ila_data [read_hw_ila_data my_hw_ila_data_file.ila]

この Tcl コマンドによ り、保存されている ILA コア キャプチャ データが読み込まれ、波形ウ ィンド ウに表示されます。

注記 : ILA データ波形ウ ィンド ウの波形コンフ ィギュレーシ ョ ン設定 (仕切り、 マーカー、 色、 プローブの基数など)も、 ILA キャプチャ データ アーカイブ ファ イルに保存されます。 保存されている ILA データを表示する と、 保存されている波形コンフ ィギュレーシ ョ ン設定が使用されます。

重要 : ILA キャプチャ データから作成した波形を開くのに open_wave_config コマンドを使用しないでください。このコマンドはシ ミ ュレーシ ョ ンのみのコマンドであ り、 ILA キャプチャ データ波形では正し く機能しません。

Vivado プログラムおよびデバッグ japan.xilinx.com 92UG908 (v2015.1) 2015 年 4 月 1 日

Page 93: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

計測のための VIO コアの設定デザインに追加した VIO コアは、 [Hardware] ビューのターゲッ ト デバイスの下に表示されます。 VIO コアが表示されていない場合は、デバイスを右ク リ ッ ク して [Refresh Hardware] をク リ ッ ク します。FPGA デバイスが再度スキャンされ、 [Hardware] ビューの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても VIO コアが表示されない場合は、デバイスが正しい BIT ファ イルでプログラムされているか、 インプ リ メ ン ト済みデザインに VIO コアが含まれているかを確認して ください。 また、 BIT に該当する適切な .LTX プローブ ファ イルがデバイスに関連付けられているかど うか確認して ください。

VIO コア (図 9-26 では hw_vio_1) を選択する と、 [VIO Core Properties] ビューにプロパティが表示されます。 VIO を選択する と、 その VIO コアが [Debug Probes] ビューおよび Vivado IDE ワークスペースの VIO ダッシュボードでも選択されます (図 9-27)。

X-Ref Target - Figure 9-26

図 9‐26 : [Hardware] ビューに表示される  VIO コア

Vivado プログラムおよびデバッグ japan.xilinx.com 93UG908 (v2015.1) 2015 年 4 月 1 日

Page 94: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

VIO コアが Vivado IDE と同期しな くなるこ とがあ り ます。 VIO ステータス インジケーターの解釈方法については、94 ページの 「VIO コアのステータスの表示」 を参照してください。

VIO コアの値を読み出したり書き込んだりするには、 オブジェク ト プロパティを使用します。

• VIO 入力プローブの値を読み出すには、 まず hw_vio オブジェク ト を VIO コアの値で更新し、 hw_vio オブジェクトのプロパティ値を取得します。 詳細は、 96 ページの 「VIO コアの入力プローブ」 を参照してください。

• VIO 出力プローブの値を書き込むには、 まず hw_probe オブジェク トのプロパティ値を設定し、 これらのプロパティ値をハード ウェアの VIO コアに確定して、値をコアの出力プローブ ポートに書き込みます。 詳細は、97 ページの 「VIO コアの出力プローブ」 を参照して ください。

VIO コアのステータスの表示VIO コアには、 入力プローブが 0 個以上、 出力プローブが 0 個以上あり ます (少なく と も入力プローブまたは出力プローブが 1 個以上必要)。 [Hardware] ビューの示される VIO コアのステータスは、 VIO コアの出力プローブの現在の状態を示します。 表 9-6 に、 VIO コアのステータス と必要な操作を示します。

X-Ref Target - Figure 9-27

図 9‐27 : さまざまなビューの VIO コア

表 9‐6 : VIO コアのステータスと必要なユーザー操作 

VIO のステータス 説明 必要なユーザー操作

OK – Outputs Reset VIO コアの出力は Vivado IDE と同期しており、出力は初期 ( リセッ ト ) 状態です。

なし

Vivado プログラムおよびデバッグ japan.xilinx.com 94UG908 (v2015.1) 2015 年 4 月 1 日

Page 95: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

[Debug Probes] ビューでの VIO コアの表示

VIO のダッシュボード で + 記号をク リ ッ クする と、VIO コアに関連付けられているデバッグ プローブを表示、追加、削除するこ とができます。

VIO ダッシュボードの使用

VIO のデフォルト ダッシュボードは 初は空白ですが、

図 9-28 に示すよ うに VIO プローブを追加していきます。

VIO ダッシュボードには、 VIO コアに関するすべてのステータスおよび制御情報が表示されます。 ハード ウェア デバイスの更新によ り VIO コアが 初に検出される と、コアの VIO ダッシュボードが自動的に開きます。ダッシュボードを手動で開いたり、開き直したりする必要がある場合は、 [Hardware] または [Debug Probes] ビューで VIO コア オブジェク ト を右ク リ ッ ク して [Open Dashboard] をク リ ッ クする と表示されます。

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 VIOCore] をク リ ッ ク し、Vivado IDE を VIO コア出力プローブ ポートの現在の値でアップデートします。

X-Ref Target - Figure 9-28

図 9‐28 : VIO のデフォルト  ダッシュボード

表 9‐6 : VIO コアのステータスと必要なユーザー操作 

VIO のステータス 説明 必要なユーザー操作

Vivado プログラムおよびデバッグ japan.xilinx.com 95UG908 (v2015.1) 2015 年 4 月 1 日

Page 96: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

VIO コアの入力プローブ

VIO コアの入力プローブは、実際のハードウェアの FPGA で実行されているデザインからの値を読み出すために使用します。 VIO 入力プローブは通常、 テス ト中のデザインのステータス インジケーターと して使用されます。 VIO デバッグ プローブは、VIO ダッシュボードの [VIO Probes] ビューに手動で追加する必要があ り ます。この方法は、95 ページの 「[Debug Probes] ビューでの VIO コアの表示」 を参照してください。 VIO ダッシュボードの [VIO Probes] ビューでは、 VIO 入力プローブは図 9-29 のよ うに表示されます。

[VIO Probes] ビューを使用した VIO 入力の読み出し

VIO 入力プローブは、 VIO ダッシュボードの [VIO Probes] ビューに表示されます。各入力プローブが表で個別の行に表示されます。 VIO 入力プローブの値は、 [Value] 列に示されます (図 9-29)。 VIO コアの入力値は、 VIO コアの更新レートに基づいて、 定期的にアップデート されます。 更新レート を変更するには、 [VIO Properties] ビューで [RefreshRate (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 つの色のいずれかに設定できます。

° グレー (オフ)

° 赤

° 緑

° 青

X-Ref Target - Figure 9-29

図 9‐29 : コアの入力プローブ

Vivado プログラムおよびデバッグ japan.xilinx.com 96UG908 (v2015.1) 2015 年 4 月 1 日

Page 97: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

VIO 入力プローブの表示タイプを [Text] に設定する と、基数を変更できます。 これには、VIO ダッシュボードの [VIOProbes] ビューで 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]

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] ビューに手動で追加する必要があ り ます。この方法は、95 ペー

Vivado プログラムおよびデバッグ japan.xilinx.com 97UG908 (v2015.1) 2015 年 4 月 1 日

Page 98: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ジの 「[Debug Probes] ビューでの VIO コアの表示」 を参照してください。 VIO ダッシュボードの [VIO Probes] ビューでは、 VIO 出力プローブは図 9-30 のよ うに表示されます。

[VIO Probes] ビューを使用した VIO 出力の書き込み

VIO 出力プローブは、 VIO ダッシュボードの [VIO Probes] ビューで設定できます。各出力プローブが表で個別の行に示されます。 VIO 出力プローブの値は、 [Value] 列に示されます (図 9-30)。 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] ビューの [VIOCores] タブで 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]

X-Ref Target - Figure 9-30

図 9‐30 : VIO ダッシュボードの [VIO Probes] ビューの VIO 出力

Vivado プログラムおよびデバッグ japan.xilinx.com 98UG908 (v2015.1) 2015 年 4 月 1 日

Page 99: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

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 に同期を参照して ください。

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 コア (図 9-31 の hw_axi_1) をク リ ッ クする と、 [AXI Core Properties] ビューにプロパティが表示されます。

Vivado プログラムおよびデバッグ japan.xilinx.com 99UG908 (v2015.1) 2015 年 4 月 1 日

Page 100: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ハードウェアの JTAG‐to‐AXI Master デバッグ コアへのアクセス

JTAG-to-AXI Master デバッグ コアは、 Tcl コマンドを使用してのみアクセスできます。 AXI 読み出しおよび書き込みト ランザクシ ョ ンの作成と実行には、それぞれ create_hw_axi_txn および run_hw_axi コマンドを使用します。

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 コンソールに 「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]

X-Ref Target - Figure 9-31

図 9‐31 : [Hardware] ビューに表示される  JTAG‐to‐AXI Master コア

Vivado プログラムおよびデバッグ japan.xilinx.com 100UG908 (v2015.1) 2015 年 4 月 1 日

Page 101: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

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

書き込みト ランザクシ ョ ンの作成と実行

次に、 アドレス 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]

ラボ環境での Vivado ロジック解析の使用Vivado ロジッ ク解析機能は Vivado IDE および Vivado Lab Edition の一部なので、ラボ環境で Vivado ロジッ ク解析機能を使用してターゲッ ト ボード上で実行されているデザインをデバッグするには、次のいずれかを実行する必要があ ります。

• ラボ コンピューターに Vivado Lab Edition をインス トールして実行します。詳細は、このユーザー ガイ ドの第 2 章「」 を参照してください。

• ラボ コンピューターに Vivado IDE をインス トールして実行します。

• リモートのラボ コンピューターに 新版の Vivado Design Suite または Vivado ハードウェア サーバー (スタンドアロン) をインス トールし、 ローカル コンピューターの Vivado ロジッ ク解析機能を使用して Vivado ハードウェア サーバー (hw_server) のリモート インスタンスに接続します。

ラボ コンピューターで動作中の hw_server サーバーへの接続

ラボ コンピューターへのネッ ト ワーク接続がある場合、 リモート ラボ コンピューター上で動作中のハード ウェアサーバーに接続してターゲッ ト ボードに接続できます。 Vivado ロジッ ク解析機能を使用してラボ コンピューターで

Vivado プログラムおよびデバッグ japan.xilinx.com 101UG908 (v2015.1) 2015 年 4 月 1 日

Page 102: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

動作中の Vivado ハードウェア サーバー (Windows プラ ッ ト フォームでは hw_server.bat、 Linux プラ ッ ト フォームでは hw_server) に接続するには、 次の手順に従います。

1. ラボ コンピューターに 新版の Vivado Design Suite または Vivado ハードウェア サーバー (スタンドアロン) をインス トールします。

重要 : リモート ハードウェア サーバー機能のみを使用する場合は、ラボ コンピューターに Vivado Design Suite のフルバージ ョ ンまたは Vivado Lab Edition をインス トールする必要はあ り ません。 ただし、 ラボ コンピューターで Vivadoロジッ ク解析や Vivado シ リ アル I/O 解析などの Vivado ハードウェア マネージャーの機能を使用する場合は、ラボ コンピューターに Vivado Lab Edition をインス トールする必要があ り ます。 また、 ハード ウェア サーバーまたは VivadoDesign 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 コマンドを使用できます。 ハード ウェアには、 表 9-7 に示す階層ファース ト ク ラス Tcl オブジェク トがあ り ます。

表 9‐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 デバッグ コアからアップロード されたデータを参照するオブジェク ト。

Vivado プログラムおよびデバッグ japan.xilinx.com 102UG908 (v2015.1) 2015 年 4 月 1 日

Page 103: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ハードウェア マネージャー コマンドの詳細は、 [Tcl Console] ビューに 「help -category hardware」 と入力してください。

hw_server の Tcl コマンド

表 9-8 に、 ハード ウェア サーバーにアクセスするために使用する Tcl コマンドを示します。

hw_target の Tcl コマンド

表 9-9 に、 ハード ウェア ターゲッ トにアクセスするために使用する Tcl コマンドを示します。

hw_device の Tcl コマンド

表 9-10 に、 hw_device にアクセスするために使用する Tcl コマンドを示します。

hw_probe ILA デバッグ コアのプローブ入力を参照するオブジェク ト。

hw_vio ザイ リ ンクス FPGA デバイスに含まれる VIO コアを参照するオブジェク ト。

表 9‐8 : hw_server の Tcl コマンド

Tcl コマンド 説明

connect_hw_server ハードウェア サーバーへの接続を開きます。

current_hw_server 現在のハードウェア サーバーを取得または設定します。

disconnect_hw_server ハードウェア サーバーへの接続を閉じます。

get_hw_servers ハード ウェア サーバーのハード ウェア サーバー名のリ ス ト を取得します。

refresh_hw_server ハードウェア サーバーへの接続を更新します。

表 9‐9 : hw_target の Tcl コマンド

Tcl コマンド 説明

close_hw_target ハードウェア ターゲッ ト を閉じます。

current_hw_target 現在のハードウェア ターゲッ ト を取得または設定します。

get_hw_targets ハード ウェア サーバーのハード ウェア ターゲッ ト名の リ ス ト を取得します。

open_hw_target ハード ウェア サーバー上のハード ウェア ターゲッ トへの接続を開きます。

refresh_hw_target ハードウェア ターゲッ トへの接続を更新します。

表 9‐10 : hw_device の Tcl コマンド

Tcl コマンド 説明

current_hw_device 現在のハードウェア デバイスを取得または設定します。

get_hw_devices ターゲッ トのハード ウェア デバイスのリ ス ト を取得します。

表 9‐7 :ハードウェア マネージャーの Tcl オブジェク ト  (続き)

Tcl オブジェク ト 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 103UG908 (v2015.1) 2015 年 4 月 1 日

Page 104: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

hw_ila の Tcl コマンド

表 9-11 に、 ILA デバッグ コアにアクセスするために使用する Tcl コマンドを示します。

hw_ila_data の Tcl コマンド

表 9-12 に、 キャプチャされた ILA データにアクセスするために使用するTcl コマンドを示します。

hw_probe の Tcl コマンド

表 9-13 に、 キャプチャされた ILA データにアクセスするために使用する Tcl コマンドを示します。

program_hw_device ザイ リ ンクス FPGA デバイスをプログラムします。

refresh_hw_device ハードウェア デバイスを更新します。

表 9‐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 すべてのデータがキャプチャされるまで待機します。

表 9‐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 オブジェク トの リ ス ト を取得します。

read_hw_ila_data ファ イルから hw_ila_data を読み出します。

upload_hw_ila_data ILA コアでのデータのキャプチャを停止し、 キャプチャ されたデータをアップロード します。

write_hw_ila_data hw_ila_data をファ イルに記述します。

表 9‐13 : hw_probe の Tcl コマンド

Tcl コマンド 説明

get_hw_probes ハードウェア プローブのリ ス ト を取得します。

表 9‐10 : hw_device の Tcl コマンド

Tcl コマンド 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 104UG908 (v2015.1) 2015 年 4 月 1 日

Page 105: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

hw_vio の Tcl コマンド

表 9-14 に、 VIO コアにアクセスするために使用する Tcl コマンドを示します。

hw_axi および hw_axi_txn の Tcl コマンド

表 9-15 に、 JTAG-to-AXI Master コアにアクセスするために使用する Tcl コマンドを示します。

hw_sysmon の Tcl コマンド

表 9-16 に、 System Monitor コアにアクセスするために使用する Tcl コマンドを示します。

表 9‐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 コアの出力を初期値にリセッ ト します。

表 9‐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 オブジェク トの ト ランザクシ ョ ン ステータスをアップデート します。

表 9‐16 : Tcl コマンド  hw_sysmon の説明

Tcl コマンド 説明

commit_hw_sysmon hw_sysmon オブジェク トに定義された現在のプロパティ値をハード ウェア デバイスの System Monitor レジスタへ入れます。

get_hw_sysmon_reg 指定した hw_sysmon オブジェク トの指定アドレスに定義された System Monitor レジスタの 16 進数値を戻します。

Vivado プログラムおよびデバッグ japan.xilinx.com 105UG908 (v2015.1) 2015 年 4 月 1 日

Page 106: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

注記 : これらの各コマンドの詳細なヘルプは、 Vivado の Tcl コンソールに <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}

get_hw_sysmons 現在のハード ウ ェア デバイ スで定義された Sysmon デバッグ コア オブジェク ト を戻します。

refresh_hw_sysmon hw_sysmon オブジ ェ ク ト のプロパテ ィ を現在のhw_device からの System Monitor の値で リ フレ ッシュ します。

set_hw_sysmon_reg 指定したアドレスの System Monitor レジスタを指定した16 進数値に設定します。

表 9‐16 : Tcl コマンド  hw_sysmon の説明

Tcl コマンド 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 106UG908 (v2015.1) 2015 年 4 月 1 日

Page 107: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

# Run the write transactionrun_hw_axi [get_hw_axi_txns wrte_txn]

# Run the read transactionrun_hw_axi [get_hw_axi_txns read_txn]

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]

スタートアップ時のト リガースタート アップ時の ト リ ガーは、 デバイス スタート アップ直後に ト リガーされるよ うに、 デザインの BIT ファ イルの ILA コアの ト リガー設定をコンフ ィギュレーシ ョ ンするために使用されます。 これには、通常はハードウェアのデ

Vivado プログラムおよびデバッグ japan.xilinx.com 107UG908 (v2015.1) 2015 年 4 月 1 日

Page 108: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 9 章 : ハードウェアでのロジック  デザインのデバッグ

ザインで実行される ILA コアに適用されるさまざまな ト リ ガー設定を、 インプ リ メ ン ト されたデザインの ILA コアに使用します。

重要 : スタート アップ時の ト リガーを使用した次のプロセスでは、ハード ウェアで動作する有効な ILA デザインを使用しています。

スタート アップ時の ト リガー機能を使用するには、 次の手順に従ってください。

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 コンソールでメモ リ内の現在のデザイン (配線済みネッ ト リ ス ト ) にト リガー設定を適用します。

%apply_hw_ila_trigger ila_trig.tas

注記 : ILA コアが合成中にフラ ッ トになったこ とを示すエラー メ ッセージが表示されたら、デザインを生成し直して、 合成で ILA コアの階層が保持されるよ うにします。 必ずハード ウェアで動作する有効な ILA デザインが含まれていて、 ILA コアが合成フロー中にフラ ッ トにならないよ うにしてください。

5. Tcl コンソールで、 スタート アップ時の ト リガー設定を使用してビッ ト ス ト リームを書き出します。

重要 : 配線済みデザインの変更を認識させるには、 これを Tcl コマンド コンソールでのみ実行する必要があ り ます。 write_bitstream trig_at_startup.bit

6. [Hardware Manger] に戻って、 前の手順で生成した新しい BIT ファ イルを使用して リ コンフ ィギュレーシ ョ ンします。 アップデート された BIT ファ イル ディ レク ト リのプロパティを GUI か Tcl コマンドのいずれかから設定する必要があ り ます。 新しい BIT ファ イルはハード ウェア ツールのコンフ ィギュレーシ ョ ンで使用するよ うに必ず設定しておきます。

a. ハードウェア ツ リーでデバイスを選択します。

b. 手順 5 で生成した BIT ファ イルを割り当てます。

7. 新しい BIT ファ イルを使用してデバイスをプログラムします。

プログラムする と、 新しい ILA コアはスタート アップ時にすぐに ト リ ガー イベン ト を検出できる状態にな り ます。ILA コアの ト リガー キャプチャ ステータスに、スタート アップ時のト リガー機能が付いているこ とが示されます。これで ト リ ガーまたはキャプチャ イベン トが発生したら、 ILA コアがキャプチャされたデータ サンプルで生成されるよ うになり ます。

Vivado プログラムおよびデバッグ japan.xilinx.com 108UG908 (v2015.1) 2015 年 4 月 1 日

Page 109: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10章

波形ウィンドウを使用した ILA プローブ データの表示

概要 Vivado® 統合設計環境 (IDE) の ILA 波形ビューアーを使用する と、 ILA デバッグ コアからキャプチャされたデータを解析できます。 ILA コアを ト リガーしてデータをキャプチャする と、 ILA コアから取得されたデータが対応する波形ビューアーに表示されます。 Vivado をプロジェク ト モードで使用している場合、 色、 基数、 信号の順序などの設定可能な波形設定は保持され、 その後の Vivado セッシ ョ ンでも使用されます。

ILA データと波形の関係

キャプチャされた ハードウェア ILA データ オブジェク ト (hw_ila_data) と波形の関係を理解しておく と有益です。 この関係を図 10-1 に示します。

ハードウェア ILA Tcl オブジェク ト (hw_ila) は、 ハード ウェア内の ILA を示します。 ILA コアがキャプチャされたデータをアップロードするたびに、 対応する hw_ila_data Tcl オブジェク トに保存されます。 これらのオブジェクトにはわかりやすい名前が付けられ、 ハード ウェアの 初の ILA コア hw_ila_1 に対応する Tcl データ オブジェクトの名前は hw_ila_data_1 とな り ます。 オンラインでハード ウェアを操作する際、 図 10-1 に示すよ うに、 各波形はメモ リ内の hw_ila_data オブジェク トが基になっており、 1 対 1 で対応しています。各 hw_ila_data Tcl ハード ウェア ILA データ オブジェ ク ト に対して、 波形データベース (WDB) フ ァ イルと波形コンフ ィ ギュレーシ ョ ン(WCFG) ファ イルが作成され、 Vivado プロジェク トのディ レク ト リに自動的に保存されます。 図 10-1 には、 左側のhw_ila から右側の波形表示へのデータ フローが示されています。

波形コンフ ィギュレーシ ョ ン (WCFG) ファ イルと波形データベース (WDB) ファ イルの組み合わせに、 波形データベースと Vivado 波形ビューアーでの表示のカスタマイズ情報が含まれます。 これらの波形ファイルは Vivado ILA フローで自動的に管理されるので、 WDB または WCFG ファ イルを直接変更しないでください。波形コンフ ィギュレー

X-Ref Target - Figure 10-1

図 10‐1 : ILA データと波形の関係

Vivado プログラムおよびデバッグ japan.xilinx.com 109UG908 (v2015.1) 2015 年 4 月 1 日

Page 110: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

シ ョ ンを変更するには、波形ビューアーのオブジェク ト (信号の色、バスの基数、信号の順序、 マーカーなど) を変更し、 [Save] ボタンをク リ ッ ク します。 これによ り波形コンフ ィギュレーシ ョ ンの変更が Vivado プロジェク トの適切なWCFG ファ イルに保存されます。

波形コンフ ィギュレーシ ョ ンおよびデータを後で表示するためにアーカイブするには、 Tcl コマンド write_hw_ila_data を使用します。 これによ り、 hw_ila_data、 波形データベース、 および波形コンフ ィギュレーシ ョ ンがアーカイブに保存されます。 オフラインでの波形の保存および読み出しにおける read_hw_ila_data および write_hw_ila_data コマンドの使用に関する詳細は、 92 ページの 「ILA コアでキャプチャされたデータの保存および復元」 を参照してください。

波形ビューアーのレイアウト  

ILA 波形ビューアー (波形コンフ ィギュレーシ ョ ンと も呼ばれる ) は複数のダイナミ ッ ク オブジェク トで構成されており、 これらによ りキャプチャされた ILA データが表示されます (図 10-2)。

図 10-2 に示す各要素は、 次のとおりです。

1. ILA プローブ ファ イル (.ltx) からのネッ ト名またはバス名

2. カーソル位置でのネッ ト またはバスの値

3. ト リ ガー マーカー (赤線)

4. カーソル (黄色の線)

5. マーカー (青線)

6. ILA キャプチャ ウ ィンド ウの遷移 (ク リ ア部分とグレー部分を交互に表示)

7. フロート計測ルーラー (黄色のバー )

X-Ref Target - Figure 10-2

図 10‐2 :キャプチャされた ILA データを表示する波形ビューアー

Vivado プログラムおよびデバッグ japan.xilinx.com 110UG908 (v2015.1) 2015 年 4 月 1 日

Page 111: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

波形ビューアーの操作 

波形ビューアーの [Name] 列に示されるスカラーおよびバスは、 波形のプローブ デザイン オブジェク トの名前です (図 10-3)。 これらは、 ILA コアのハード ウェア プローブに対応します (get_hw_probes Tcl コマンドを参照)。

ILA データを初めて ト リガーしてアップデートする と、波形ビューアーに ILA コアに接続されているすべてのプローブが表示されます。 ビューアーに示されるプローブはカスタマイズ可能で、 既存のプローブを削除した り新しいプローブを追加したりできます。 このセクシ ョ ンでは、 波形ビューアーの基本的な操作を説明します。

波形からのプローブの削除 

初回のト リガーおよびアップロード操作によ り、すべてのプローブがデフォルトで波形に追加されます。波形にすべてのプローブを表示する必要がない場合は、 ビューアーからプローブを削除できます。

波形ビューアーからプローブを削除するには、 [Name] 列で削除するスカラーまたはバスを右ク リ ッ ク し、 [Delete] をク リ ッ ク します。 または、信号またはバスを選択して Delete キーを押しても削除できます。 この操作によ りプローブの遷移データがメモ リから削除されるわけではなく、 ビューでプローブが非表示になるだけです。

波形へのプローブの追加 

波形にプローブを追加するには、 [Debug Probes] ビューで関連の ILA コアに追加するプローブを右ク リ ッ ク し、 [AddProbes to Waveform] をク リ ッ ク します。

信号またはバスのも う 1 つのコピーを追加するには、 波形ビューアーで信号またはバスを選択し、 [Edit] → [Copy] をク リ ッ クするか Ctrl+C キーを押してク リ ップボードにコピーして、 [Edit] → [Paste] をク リ ッ クするか Ctrl+V キーを押して波形にオブジェク トのコピーを貼り付けます。

X-Ref Target - Figure 10-3

図 10‐3 :波形ビューアーに示される  ILA プローブの名前と値

Vivado プログラムおよびデバッグ japan.xilinx.com 111UG908 (v2015.1) 2015 年 4 月 1 日

Page 112: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

ズーム機能の使用 

ツールバーには、 波形のズーム機能にアクセスするボタンがあ り ます (図 10-4)。 または、 Ctrl キーを押しながらマウス ホイールを使用する と、 現在選択している波形を拡大および縮小表示できます。 ズーム レベルは Vivado セッシ ョン間で保持されず、 毎回リセッ ト されます。

[Waveform Options] ダイアログ ボックス

波形ビューアーでは、 オブジェク トの表示方法をカスタマイズできます。

[Waveforms Options] ボタンをク リ ッ クする と、 [Waveforms Options] ダイアログ ボッ クスが開きます (図 10-5)。

設定できるオプシ ョ ンは次のとおりです。

• [Colors] タブ : 波形オブジェク トの色を選択します。

• [Default Radix] : バス プローブのデフォルトの基数を設定します。

• [Draw Waveform Shadow] : 1 と 0 を見分けやすくするため、 スカラー 1 の下に緑色の影を表示します。

• [Show signal indices] : スカラー名およびバス名の左側にインデッ クス位置番号を表示します。

• [Show trigger markers] : 波形ビューアーに赤色のト リガー マーカーを表示します。

X-Ref Target - Figure 10-4

図 10‐4 :波形のズーム ボタン

X-Ref Target - Figure 10-5

図 10‐5 : [Waveform Options] ダイアログ ボックス

Vivado プログラムおよびデバッグ japan.xilinx.com 112UG908 (v2015.1) 2015 年 4 月 1 日

Page 113: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

波形コンフ ィギュレーシ ョ ンのカスタマイズ表 10-1 にリ ス ト されている機能を使用して、 波形コンフ ィギュレーシ ョ ンをカスタマイズできます。 この表には機能が簡単に説明されており、 機能名をク リ ッ クするその機能を説明するセクシ ョ ンに移動できます。

カーソル

カーソルは、 サンプル位置を一時的に示すために使用します。 波形エッジ間の距離 (サンプル数) を計測する場合には、 カーソルを頻繁に移動します。

ヒン ト : 複数の計測の時間軸を設定する場合など、一時的ではないインジケーターを設定する必要がある場合は、マーカーを追加します。 詳細は、 114 ページの 「マーカー」 を参照して ください。

波形を 1 回ク リ ッ クする と、 メ イン カーソルが配置されます。

2 つ目のカーソルを配置するには、 Ctrl キーを押しながら ク リ ッ ク し、 マウスを左または右にド ラ ッグします。 カーソルの上に位置を示すフラグが表示されます。

または、 Shift キーを押したまま波形のどこかをク リ ッ ク します。 メ イン カーソルは元の位置に、 も う一方のカーソルはク リ ッ ク した位置に配置されます。

注記 : 2 つ目のカーソルの位置を保持しながら メ イン カーソルの位置を変更するには、Shift キーを押しながら ク リ ック します。 2 つ目のカーソルをド ラ ッグして配置する場合、 小間隔以上ド ラ ッグしないと 2 つ目のカーソルは表示されません。

カーソルを移動するには、 ポインターが手のひらのマークになるまでマウスを動かし、 ク リ ッ ク して次の位置までカーソルをド ラ ッグします。

表 10‐1 :波形コンフ ィギュレーシ ョ ンのカスタマイズ機能

機能 説明

「カーソル」 2 つのカーソルを表示し、時間を計測できます。 このカーソルの位置が、 ナビゲーシ ョ ンの基準位置になり ます。

「マーカー」 マーカーを追加して波形をナビゲート し、 特定時の波形値を表示できます。

「仕切り」 信号を見やすく分けるため仕切り を追加できます。

「グループ」 関連した信号およびバスをグループにま とめ、 波形コンフ ィ ギュレーシ ョ ンに追加できます。

「仮想バスの使用」 論理スカラーおよび配列を追加できる仮想バスを波形コンフ ィギュレーシ ョ ンに追加できます。

「オブジェク ト名の変更」 オブジェク ト、 信号、 バス、 グループの名前を変更できます。

「基数」 デフォルト基数は、 波形コンフ ィギュレーシ ョ ン、 [Objects] ビュー、およびコンソールに表示されるバスの基数を指定します。

「バス ビッ トの順序」 上位ビッ ト (MSB) から 下位ビッ ト (LSB)、 またはその逆にバスビッ ト順を変更できます。

Vivado プログラムおよびデバッグ japan.xilinx.com 113UG908 (v2015.1) 2015 年 4 月 1 日

Page 114: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

カーソルをド ラ ッグする際、 [Snap to Transtion] がオンになっている と (デフォルト )、 中が塗りつぶされていない丸または中が塗りつぶされた丸が表示されます。

• 中が塗りつぶされていない丸 は、 選択した信号の波形の遷移間にあるこ とを示します。

• 中が塗りつぶされている丸 は、選択した信号の波形の遷移地点にあるこ とを示します。カーソル、マーカー、フロート しているルーラーがない場所をク リ ッ クする と、 2 つ目のカーソルが非表示になり ます。

マーカー

波形内の重要イベン ト を恒久的にマークする必要がある場合はマーカーを使用します。マーカーが付けられたイベントに関連する距離 (サンプル数) を計測できます。

マーカーは、 次のよ うに追加、 移動、 削除できます。

• メ イン カーソルの位置に波形コンフ ィギュレーシ ョ ンにマーカーを追加します。

a. マーカーを追加する位置のサンプル番号または遷移をク リ ッ ク して、 メ イン カーソルを配置します。

b. [Edit] → [Add Marker] をク リ ッ クするか、 または [Add Marker] ボタンをク リ ッ ク します。

カーソル位置にマーカーが配置されます。マーカーがその位置に既にある場合は、若干オフセッ ト されます。マーカーのサンプル番号が上部に表示されます。

• マーカーを波形上の別の位置に移動するには、ド ラ ッグ アンド ド ロ ップします。マーカー上部のラベルをク リ ック してド ラ ッグします。

° ド ラ ッグ シンボル は、 マーカーが移動可能であるこ とを示します。 マーカーをド ラ ッグする際、 [Snapto Transtion] がオンになっている と (デフォルト )、 中が塗りつぶされていない丸または中が塗りつぶされた丸が表示されます。

° 中が塗りつぶされている丸 は、 選択した信号の波形の遷移地点、 または別のマーカー上であるこ とを示します。

° マーカーの場合は、 丸は白く塗りつぶされています。

° 中が塗りつぶされていない丸 は、 選択した信号の波形の遷移間にあるこ とを示します。

° 新しい位置にマーカーをド ロ ップするには、 マウスのボタンを放します。

• 1 つのコマンドでマーカーを 1 つ、 またはすべて削除できます。 マーカーを右ク リ ッ ク して、 次のいずれかの操作を実行します。

° マーカーを 1 つ削除するには、 ポップアップ メニューから [Delete Marker] をク リ ッ ク します。

° マーカーをすべて削除するには、 ポップアップ メニューから [Delete All Markers] をク リ ッ ク します。

注記 : また、 Delete キーを使用して選択したマーカーを削除するこ と もできます。

° マーカーの削除を取り消すには、 [Edit] → [Undo] をク リ ッ ク します。

ト リガー マーカー

赤色のト リガー マーカー (赤文字の T) は、 キャプチャ バッファーでの ト リガー イベン トの発生を示す特殊マーカーです。 バッファーの ト リガー マーカーの位置は、 ト リガー ポジシ ョ ン設定に直接対応しています (76 ページの 「ILAデフォルト ダッシュボードの使用」 を参照)。

注記 : ト リ ガー マーカーは、 標準マーカーと同じ方法で移動させる こ とはできません。 位置は ILA コアの [TriggerPosition] プロパティ設定で設定されています。

仕切り

仕切りは、 信号を見やすく区切り ます。 波形コンフ ィギュレーシ ョ ンに仕切り を追加するには次の手順に従います。

Vivado プログラムおよびデバッグ japan.xilinx.com 114UG908 (v2015.1) 2015 年 4 月 1 日

Page 115: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

1. 波形ウ ィンド ウの [Name] 列で、 下に仕切り を追加する信号をク リ ッ ク します。

2. [Edit] → [New Divider] をク リ ッ クするか、 右ク リ ッ ク して [New Divider] をク リ ッ ク します。

この変更は表示上のもので、 HDL コードには何も追加されません。 新しい仕切りマークは、 波形コンフ ィギュレーシ ョ ン ファ イルを保存したと きに保存されます。

仕切りは、 次の方法で移動または削除できます。

• 仕切り を移動するには、 名前を別の位置にド ラ ッグ アンド ド ロ ップします。

• 仕切り を削除するには、 Delete キーを押すか、 または右ク リ ッ ク してポップアップ メニューから [Delete] をクリ ッ ク します。

仕切りの名前を変更するこ と もできます。 詳細は、 116 ページの 「オブジェク ト名の変更」 を参照してください。

グループ

関連した信号をま とめるため、 波形コンフ ィギュレーシ ョ ンの信号およびバスをグループに追加できます。 またグループの中に含まれているものを展開表示させたり、非表示にしたりできます。 グループ自体は波形データを表示しませんが、 その内容の表示/非表示を切り替えるこ とができます。 グループは追加、 変更、 削除できます。

グループを追加するには、 次の手順に従います。

1. 波形コンフ ィギュレーシ ョ ンで、 グループに追加する信号またはバスを 1 つ以上選択します。

注記 : グループには、 仕切り、 仮想バス、 ほかのグループを含めるこ とができます。

2. [Edit] → [New Group] をク リ ッ クするか、 右ク リ ッ ク して [New Group] をク リ ッ ク します。

選択した信号またはバスを含むグループが波形コンフ ィギュレーシ ョ ンに追加されます。

グループは、 グループ アイコンで表されます。

この変更は表示上のもので、 ILA コアには何も追加されません。

信号名やバス名をド ラ ッグ アンド ド ロ ップして、 グループに信号やバスを追加するこ と もできます。

グループは、 次の方法で移動または削除できます。

• グループを移動するには、 [Name] 列のグループ名を別の位置にド ラ ッグ アンド ド ロ ップします。

• グループを削除するには、グループを選択して [Edit] → [Wave Objects] → [Ungroup] をク リ ッ クするか、グループを右ク リ ッ ク して [Ungroup] をク リ ッ ク します。 グループに含まれていた信号またはバスは、 波形コンフ ィギュレーシ ョ ンの一番上に配置されます。

グループ名も変更できます。 詳細は、 116 ページの 「オブジェク ト名の変更」 を参照して ください。

注意 : Delete キーを押すと、 グループと、 それに含まれている信号およびバスが波形コンフ ィギュレーシ ョ ンから削除されます。

仮想バスの使用

仮想バスを波形コンフ ィギュレーシ ョ ンに追加する と、 論理スカラーおよび配列を追加できます。 仮想バスには、 バスの波形が表示されます。 仮想バスはその下に昇順で表示される信号の波形で構成されており、 1 次元配列にフラ ット化されます。 追加した仮想バスは変更または削除できます。

Vivado プログラムおよびデバッグ japan.xilinx.com 115UG908 (v2015.1) 2015 年 4 月 1 日

Page 116: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

仮想バスを追加するには、 次の手順に従います。

1. 波形コンフ ィギュレーシ ョ ンで、 仮想バスに追加する信号またはバスを 1 つ以上選択します。

2. [Edit] → [New Virtual Bus] をク リ ッ クするか、 右ク リ ッ ク して [New Virtual Bus] をク リ ッ ク します。

仮想バスは、 仮想バス アイコン で表されます。

この変更は表示上のもので、 HDL コードには何も追加されません。

信号名やバス名をド ラ ッグ アンド ド ロ ップして、 仮想バスに信号やバスを追加するこ と もできます。 波形コンフ ィギュレーシ ョ ン ファ イルを保存する と、新しい仮想バスとそれに含まれる信号やバスも保存されます。 また、仮想バスの名前を波形の別位置にド ラ ッグ アンド ド ロ ップして移動できます。

仮想バスの名前を変更するには、 「オブジェク ト名の変更」 を参照してください。

仮想バスを削除し、 その中に含まれる ものをグループ解除するには、 仮想バスを選択し、 [Edit] → [Wave Objects] →[Ungroup] をク リ ッ クするか、 または右ク リ ッ ク してポップアップ メニューの [Ungroup] をク リ ッ ク します。

注意 : Delete キーを押すと、 仮想バス と、 それに含まれている信号およびバスが波形コンフ ィギュレーシ ョ ンから削除されます。

オブジェク ト名の変更波形ウ ィンド ウの信号、 仕切り、 グループ、 仮想バスなどのオブジェク トの名前を変更できます。

1. [Name] 列でオブジェク ト名を選択します。

2. 右ク リ ッ ク し、 [Rename] をク リ ッ ク します。

3. 新しい名前を入力します。

4. Enter キーを押すか、 名前以外の場所をク リ ッ ク して、 変更を反映させます。

オブジェク ト名をダブルク リ ッ ク して新しい名前を入力するこ と もできます。変更はすぐに反映されます。波形コンフ ィギュレーシ ョ ンでのオブジェク ト名の変更は ILA コアのプローブ入力に接続されているネッ ト名には影響しません。

基数

バスのデータ型を理解するこ とは重要です。デジタルおよびアナログの波形オプシ ョ ンを効果的に使用するには、基数設定とデータ型の関係を知っておく必要があ り ます。 基数設定およびそのアナログ波形解析への影響については、117 ページの 「バスの基数」 を参照して ください。

波形ウ ィンド ウで個々の信号 (ILA プローブ) の基数を変更するには、 次の手順に従います。

1. バスを右ク リ ッ ク します。

2. [Radix] をク リ ッ ク し、 ド ロ ップダウン メニューからフォーマッ ト を選択します。

° [Binary] (2 進数)

° [Hexadecimal] (16 進数)

° [Unsigned Decimal] (符号なし 10 進数)

° [Signed Decimal] (符号付き 10 進数)

° [Octal] (8 進数)

Vivado プログラムおよびデバッグ japan.xilinx.com 116UG908 (v2015.1) 2015 年 4 月 1 日

Page 117: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

重要 : [Objects] ビューで基数を変更しても、 波形ウ ィンド ウまたは [Tcl Console] の値は変更されません。 波形ウ ィンド ウで個々の信号 (ILA プローブ) の基数を変更するには、 波形ウ ィ ンド ウのポップアップ メニューを使用して ください。

• 実数での 大バス幅は 64 ビッ トです。 64 ビッ ト よ り も幅の広いバスの場合は、 不正な値になる可能性があ り ます。

• 浮動小数点では 32 ビッ トおよび 64 ビッ トの配列のみがサポート されています。

フロート  ルーラーの使用

波形ウ ィ ン ド ウの上部にある標準ルーラーの絶対サンプル値以外のサンプル値ベースを使用してサンプルを計測するには、 フロート ルーラーを使用する と便利です。

フロート ルーラーは、 表示/非表示を切り替えた り、 波形ウ ィンド ウの任意位置に移動させるこ とができます。 このルーラーのサンプル ベース (サンプル 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 進数基数を使用する と、 バスの値が符号付き整数と して処理されます。

Vivado プログラムおよびデバッグ japan.xilinx.com 117UG908 (v2015.1) 2015 年 4 月 1 日

Page 118: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

• 実数基数を使用する と、バスの値は固定小数点または浮動小数点の実数と して処理されます。 これは、図 10-6 に示す [Real Settings] ダイアログ ボッ クスの設定によって決ま り ます。

設定できるオプシ ョ ンは次のとおりです。

• [Fixed Point] : 選択したバス波形オブジェク トのビッ トが固定小数点の符号付きまたは符号なしの実数と して処理されます。

• [Binary Point] : 2 進数小数点の右側のビッ ト数を指定します。 [Binary Point] で指定する値が波形オブジェク トのビッ ト幅よ り も大きい場合、波形オブジェク トの値は固定小数点と しては処理されず、波形オブジェク トがデジタル波形で表示されたと きにすべての値が <Bad Radix> と表示されます。 アナログ波形と して表示される場合、すべての値は 0 と して処理されます。

• [Floating Point] : 選択したバス波形オブジェク トのビッ トが IEEE 浮動小数点の実数と して処理されます。

注記 :単精度および倍精度 (および単/倍精度に設定されている値のカスタム精度) のみがサポート されています。

その他の値は、 [Fixed Point] を使用した場合と同様 <Bad Radix> 値になり ます。 [Exponent Width] および [FractionWidth] は、 波形オブジェク トのビッ ト幅に必ず追加される必要があ り、 追加されない場合は <Bad Radix> 値になり ます。

アナログ波形の表示デジタル波形をアナログに変換するには、 次の手順に従います。

1. 波形ウ ィンド ウの [Name] 列でバスを右ク リ ッ ク します。

2. [Waveform Style] → [Analog Settings] をク リ ッ ク して適切な設定を選択します。

バスのデジタル波形がアナログに変換されます。

アナログまたはデジタル波形の高さは、 行をド ラ ッグする と調節できます。

X-Ref Target - Figure 10-6

図 10‐6 : [Real Settings] ダイアログ ボックス

 

Vivado プログラムおよびデバッグ japan.xilinx.com 118UG908 (v2015.1) 2015 年 4 月 1 日

Page 119: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

図 10-7 に、 アナログ波形表示を設定する [Analog Settings] ダイアログ ボッ クスを示します。

[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] : 範囲外にある値は変更され、波形エリ アの上下境界線を超える と範囲内に戻るまでは水平ラインと して表示されます。

X-Ref Target - Figure 10-7

図 10‐7 : [Analog Settings] ダイアログ ボックス

 

Vivado プログラムおよびデバッグ japan.xilinx.com 119UG908 (v2015.1) 2015 年 4 月 1 日

Page 120: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

° [Overlap] : 波形エリ アの境界線を越えていて、 ほかの波形と重なっていても、 波形ウ ィンド ウの境界に達するまでは波形の値がどこにあっても波形が描画されます。

• [Horizontal Line] : 指定した値で水平方向のラインを描画するかど うか指定します。 このチェッ クボッ クスがオンの場合、 グ リ ッ ド ラインが指定した Y 軸の位置で描画されます (値が波形の Y 軸の範囲内にある場合)。

[Min] および [Max] の場合と同様、 Y 軸の値には浮動小数点値を指定できますが、 選択した波形オブジェク トの基数が整数の場合は、 整数値に切り捨てられます。

重要 : アナログ設定は波形コンフ ィギュレーシ ョ ンに保存されますが、Y 軸方向のズーム コン ト ロールは非常にインタラ クティブであるため、基数などのほかの波形プロパティ とは異なり、波形コンフ ィギュレーシ ョ ンの変更には影響しません。 このため、 ズーム設定は波形コンフ ィギュレーシ ョ ンには保存されません。

ズーム機能X 軸方向のズームでサポート されている機能に加え、 アナログ波形の場合は、 図 10-8 に示す追加のズーム機能があり ます。

ズーム機能を使用するには、 マウスの左ボタンを押したまま、 図で示されている方向にマウスをド ラ ッグします。 この図の中央がマウスの位置です。

次の追加ズーム機能があ り ます。

• [Zoom Out Y] : 開始点からマウス ボタンを放した位置までの距離によ り、2 のべき乗分 Y 軸方向にズーム アウ トします。 開始点のマウス位置の Y 値をそのまま維持してズームが実行されます。

• [Zoom Y Range] : 縦方向にラインを描き、 マウス ボタンを離した位置までの Y 軸の範囲を表示します。

• [Zoom In Y] : 開始点からマウス ボタンを放した位置までの距離によ り、 2 のべき乗分 Y 軸方向にズーム インします。

開始点のマウス位置の Y 値をそのまま維持してズームが実行されます。

X-Ref Target - Figure 10-8

図 10‐8 : アナログ ズームのオプシ ョ ン

Vivado プログラムおよびデバッグ japan.xilinx.com 120UG908 (v2015.1) 2015 年 4 月 1 日

Page 121: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 10 章 : 波形ウィンドウを使用した ILA プローブ データの表示

• [Reset Zoom Y] : 波形ウ ィンド ウに現在表示されている値に Y の範囲を リセッ ト し、 Y の範囲モードを [Auto] に設定します。

Y 軸の方向のズーム機能はすべて Y の範囲のアナログ値を設定します。 [Reset Zoom Y] は Y の範囲を [Auto] に設定しますが、 ほかのズーム機能は [Fixed] に設定します。

Vivado プログラムおよびデバッグ japan.xilinx.com 121UG908 (v2015.1) 2015 年 4 月 1 日

Page 122: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 11章

インシステム シリアル I/O デバッグ フロー

概要Vivado® IDE では、 ザイ リ ンクスの高速ギガビッ ト ト ランシーバー (GT) テク ノ ロジを使用するシステムをデバッグおよび検証するためのデザインを簡単に生成できます。 インシステム シ リ アル I/O デバッグ フローには、 次の 3 つの段階があ り ます。

1. IBERT コア生成 : ハードウェア高速シ リ アル I/O 要件を 適に満たす IBERT コアをカスタマイズおよび生成します。

2. IBERT サンプル デザインの生成およびインプリ メンテーシ ョ ン : 生成した IBERT コアのサンプル デザインを生成します。

3. シ リアル I/O 解析 : デザインに含まれる IBERT IP にアクセスし、高速シ リ アル I/O リ ンクの問題をデバッグおよび検証します。

この章では、 初の 2 つの段階について説明します。 後の段階は、 第 8 章 「ハードウェアでのシ リ アル 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 コアが表示されます (図 11-1)。

5. IBERT をダブルク リ ッ ク し、 コアの [Customize IP] ダイアログ ボッ クスを開きます。

ハード ウ ェア システム要件に合わせて IBERT コアをカス タマイズし ます。 さ まざまな IBERT コアの詳細は、『LogiCORE IP IBERT for 7 Series GTX Transceivers 製品ガイ ド』 (PG132) [参照 13]、『LogiCORE IP IBERT for 7 Series GTPTransceivers 製品ガイ ド』 (PG133) [参照 14]、 『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガイ ド』 (PG152) [参照 15] などの IP 資料を参照してください。

Vivado プログラムおよびデバッグ japan.xilinx.com 122UG908 (v2015.1) 2015 年 4 月 1 日

Page 123: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 11 章 : インシステム シリアル I/O デバッグ フロー

 

IBERT サンプル デザインの生成とインプリ メンテーシ ョ ンIBERT IP コアを生成する と、 [Sources] ビューに ibert_7series_gtx または類似のコアが表示されます。 サンプルデザインを生成するには、 [Sources] ビューで IBERT IP を右ク リ ッ ク して [Open IP Example Design] をク リ ッ ク し、 表示されるダイアログ ボッ クスでサンプル デザイン プロジェク ト を保存するディ レク ト リ を選択します。 このコマンドによ り、 サンプル デザインの Vivado プロジェク トが開き、 上位ラ ッパーおよび制約ファ イルが追加されます (図 11-2)。

サンプル デザインを生成したら、Vivado IDE の Flow Navigator で [Program and Debug] → [Generate Bitstream] をク リ ックするか、次の Tcl コマンドを使用して、 IBERT サンプル デザインのインプリ メンテーシ ョ ンおよびビッ ト ス ト リーム生成を実行します。

launch_runs impl_1 -to_step write_bitstreamwait_on_run impl_1

X-Ref Target - Figure 11-1

図 11‐1 : IP カタログに表示された IBERT 7 Series GTX コア

Vivado プログラムおよびデバッグ japan.xilinx.com 123UG908 (v2015.1) 2015 年 4 月 1 日

Page 124: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 11 章 : インシステム シリアル I/O デバッグ フロー

6. デザインのさまざまなインプ リ メンテーシ ョ ン方法は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参照 5] を参照してください。

X-Ref Target - Figure 11-2

図 11‐2 : IBERT サンプル デザイン

Vivado プログラムおよびデバッグ japan.xilinx.com 124UG908 (v2015.1) 2015 年 4 月 1 日

Page 125: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12章

ハードウェアでのシリアル 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 デバイスをプログラムする手順は、 18 ページの 「FPGA デバイスのプログラム」 で説明されている手順と同じです。 IBERT コアを含む BIT ファ イルでデバイスをプログラムする と、 [Hardware] ビューにデバイスのスキャンで検出された IBERT コアのコンポーネン トが表示されます (図 12-1)。

Vivado プログラムおよびデバッグ japan.xilinx.com 125UG908 (v2015.1) 2015 年 4 月 1 日

Page 126: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リンクおよびリンク  グループの作成

デザインに含まれる IBERT コアは、 [Hardware] ビューのターゲッ ト デバイスの下に表示されます。 コアが表示されない場合は、 デバイスを右ク リ ッ ク して [Refresh Hardware] をク リ ッ ク します。 FPGA デバイスが再度スキャンされ、[Hardware] ビューの表示が更新されます。

注記 : FPGA デバイスをプログラムまたは更新しても IBERT コアが表示されない場合は、デバイスが正しい BIT ファイルでプログラムされているか、 インプ リ メ ン ト済みデザインに IBERT v3.0 コアが含まれているかを確認して ください。

Vivado シ リ アル I/O 解析機能は、 リ ンク という概念に基づいて構築されています。 リ ンクはボード上のチャネルと似ており、 ト ランス ミ ッ ターおよびレシーバーが含まれます。 ト ランス ミ ッ ターおよびレシーバーは、 同じ GT、 同じデバイス、 または同じアーキテクチャである場合とそ うでない場合があ り ます。 1 つまたは複数のリ ンクを作成するには、 Vivado で [Links] タブに移動し、 ツールバーの [Create Links] ボタンをク リ ッ クするか、右ク リ ッ ク して [CreateLinks] をク リ ッ ク します。 [Create Links] ダイアログ ボッ クス (図 12-2) が表示されます。

IBERT コアが検出される と、 ハード ウェア マネージャーにリ ンクが存在しないこ とを示す緑のバナーが上部に表示されます。 [Create Links] をク リ ッ ク して [Create Links] ダイアログ ボッ クスを開きます (図 12-2)。

X-Ref Target - Figure 12-1

図 12‐1 : IBERT コアが表示された [Hardware] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 126UG908 (v2015.1) 2015 年 4 月 1 日

Page 127: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リ ス トから TX または RX を選択します。 [Search] フ ィールドに文字列を入力する と、 リ ス ト をフ ィルターできます。追加ボタン (+) をク リ ッ ク し、 リ ンクを リ ス トに追加します。必要なすべてのリ ンクに対して同じ操作を実行します。

重要 : 各 TX または RX エンドポイン トは、 1 つのリ ンクにのみ含めるこ とができます。

リ ンクはリ ンク グループに含めるこ と もできます。デフォルトでは、新しいリ ンクすべてがグループ化されます。 リンクをグループに追加しない場合は、 [Create link group] チェッ クボッ クスをオフにします。 リ ンク グループの名前は、 [Link group description] で指定します。

[Links] ビューでのリンク設定の表示と変更

リ ンクを作成する と、 [Links] ビューに追加されます (図 12-3)。 [Links] ビューでは、 リ ンクの設定を変更した り、 ステータスを確認したりできます。

[Links] ビューの各行は、各リ ンクを示します。一般的なステータスおよび有益なステータスはデフォルトでイネーブルになっており、 リ ンクの状態をすばやく確認できます。 表 12-1 に、 [Links] ビューで表示可能な設定を示します。

X-Ref Target - Figure 12-2

図 12‐2 : [Create Links] ダイアログ ボックス

X-Ref Target - Figure 12-3

図 12‐3 : [Links] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 127UG908 (v2015.1) 2015 年 4 月 1 日

Page 128: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リ ンク グループに含まれるすべてのリ ンクのプロパティを変更するには、リ ンク グループ行で設定を変更します。たとえば、Link Group 0 行の [TX Pattern] を [PRBS 7-bit] に変更する と、この リ ンク グループに含まれるすべてのリ ンクの [TX Pattern] が [PRBS 7-bit] に変更されます。グループ内のすべてのリ ンクの設定が同じでない場合、リ ンク グループ行のプロパティ列に 「Multiple」 と表示されます。

表 12‐1 : [Links] ビューに表示可能な設定

[Links] ビューの列名 説明

名前 リ ンク名

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 同相設定を選択

TXUSERCLK Freq 計測された TXUSERCLK 周波数を MHz で表示

TXUSERCLK2 Freq 計測された TXUSERCLK2 周波数を MHz で表示

RXUSERCLK Freq 計測された RXUSERCLK 周波数を MHz で表示

RXUSERCLK2 Freq 計測された RXUSERCLK2 周波数を MHz で表示

TX Polarity Invert 送信データの極性を反転

RX Polarity Invert 受信データの極性を反転

Vivado プログラムおよびデバッグ japan.xilinx.com 128UG908 (v2015.1) 2015 年 4 月 1 日

Page 129: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リンク  スキャンの作成と実行

リ ンクのマージンを解析するには、 ザイ リ ンクス 7 シ リーズ FPGA ト ランシーバー専用のアイ スキャン ハードウェアを使用して リ ンクのスキャンを実行する と有益です。 Vivado シ リ アル I/O 解析機能では、 リ ンク スキャンを定義、実行、 保存、 および呼び出しできます。

スキャンは リ ンク上で実行されます。 スキャンを作成するには、 [Link] ビューで リ ンクを選択し、 右ク リ ッ ク して[Create Scan] をク リ ッ クするか、 ツールバーの [Create Scan] ボタンをク リ ッ ク します。 [Create Scan] ダイアログ ボックスが開きます (図 12-4)。 [Create Scan] ダイアログ ボッ クスには、 表 12-2 に示すスキャンの設定が表示されます。

デフォルトでは、スキャンを作成する と実行されます。スキャンを実行せずに定義だけする場合は、[Run scan] チェックボッ クスをオフにします。

スキャンを作成したと きに実行しない場合、[Scans] ビュー (図 12-5) でスキャンを右ク リ ッ ク して [Run Scan] をク リ ックする と実行できます。 スキャンを実行中にスキャンを停止するには、 [Scans] ビューでスキャンを選択し、右ク リ ック して [Stop Scann] をク リ ッ クするか、 ツールバーの [Stop Scan] ボタンをク リ ッ ク します。

X-Ref Target - Figure 12-4

図 12‐4 : [Create Scan] ダイアログ ボックス

表 12‐2 : スキャン設定

スキャン設定 説明

説明 スキャンのユーザー定義名

Scan Type 実行するスキャンのタイプ

Horizontal Increment 水平コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上

Horizontal Range 水平範囲を削減して速度を向上します。 デフォルトでは、 アイ全体をスキャン (アイの中心に対して -1/2 ユニッ ト インターバルから +1/2 まで)。

Vertical Increment 垂直コードをスキップするこ とによ り、 解像度を下げる代わりに速度を向上

Vertical Range 垂直範囲を削減して速度を向上。 デフォルトでは、 アイ全体をスキャン

Dwell BER チャート の各点をある時間の間スキャン。 ビッ ト エラー率を選択する こ とによ り、 スキャン深さを選択します。

Dwell Time 時間 (秒) を入力するこ とによ り、 スキャン深さを選択します。

Vivado プログラムおよびデバッグ japan.xilinx.com 129UG908 (v2015.1) 2015 年 4 月 1 日

Page 130: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

リンク  スイープの作成と実行

リ ンクのマージンを解析するには、異なる MGT 設定を使用して リ ンク スキャンを複数回実行する と便利です。 その中からどの設定がベス ト なのか判断できるからです。 Vivado シ リ アル I/O 解析機能では、 リ ンク スイープ ( リ ンク スキャンのコレクシ ョ ン) を定義、 実行、 保存、 および呼び出しできます。

スイープは リ ンク上で実行されます。 スイープを作成するには、 [Link] ビューで リ ンクを選択し、 右ク リ ッ ク して[Create Sweep] をク リ ッ クするか、[Link] ビュー ツールバーの [Create Sweep] ボタンをク リ ッ ク します。[Create Sweep]ダイアログ ボッ クスが表示されます。このダイアログ ボッ クスは [Create Scan] ダイアログ ボッ クスに似ていますが、どのプロパティをスイープするか、 どのよ うにスイープするかを定義するオプシ ョ ンが含まれます。

X-Ref Target - Figure 12-5

図 12‐5 : [Scans] ビュー

Vivado プログラムおよびデバッグ japan.xilinx.com 130UG908 (v2015.1) 2015 年 4 月 1 日

Page 131: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

X-Ref Target - Figure 12-6

図 12‐6 : [Create Sweep] ダイアログ ボックス

表 12‐3 : スイープ設定 

スイープ設定 説明

説明 スイープのユーザー定義名

Scan Type 実行するスキャンのタイプ

Horizontal Increment 水平コードをスキップするこ とによ り、解像度を下げる代わりに速度を向上します。

Horizontal Range 水平範囲を削減して速度を向上します。 デフォル ト では、 アイ全体をスキャン (アイの中心に対して -1/2 ユニッ ト インターバルから +1/2 まで)。

Vertical Increment 垂直コードをスキップするこ とによ り、解像度を下げる代わりに速度を向上します。

Vivado プログラムおよびデバッグ japan.xilinx.com 131UG908 (v2015.1) 2015 年 4 月 1 日

Page 132: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

これらの設定を選択したら、スイープ プロパティを設定します。 リ ンクの書き込み可能なプロパティはすべてスイープ可能です。プロパティを追加するには、右側の [+] ボタンをク リ ッ クする と、表に新たな行が追加されます。スイープするプロパティを選択するには、 [Property Name] セルをク リ ッ ク します。

値を変更するには、[Values to Sweep] セルのド ロ ップダウンをク リ ッ ク し、スイープする値を選択します。プロパティに列挙値が含まれない場合は、 表示されるテキス ト エリ アの各行に 1 つずつ 16 進数値を入力します。

• 図 12-8 に示すよ うに [Semi Custom] を選択している場合、選択したプロパティのすべての組み合わせが 1 つのスキャン用に定義され、そのスキャンがスイープ プロパティに基づいて実行されます。実行されるスイープの数およびその順序は、 [Preview & Scans] タブをク リ ッ クする とプレビューできます。

• [Full Custom] の場合、 リ ス ト される各プロパティの 初の選択肢が 初のスキャンに使用され、 2 つ目の選択肢が 2 つ目のスキャンに使用される という よ うになり ます。プロパティの 1 つの選択肢がほかのプロパティ よ り も少ない場合は、 後の選択肢がその後のすべてのスキャンに使用されます。 同じプロパティの選択でスイープモードが [Full Custom] の場合は、 3 つのスキャンのみが実行されます。

Vertical Range 垂直範囲を削減して速度を向上します。 デフォル ト では、 アイ全体をスキャンします。

Dwell BER チャートの各点をある時間の間スキャン。 ビッ ト エラー率 (BER) を選択するこ とによ り、 スキャン深さを選択します。

Dwell Time 時間 (秒) を入力するこ とによ り、 スキャン深さを選択します。

Sweep Mode 実行するスイープのタイプ。 [Semi Custom]、 [Full Custom]、 [Exhaustive] のいずれかを選択します。

X-Ref Target - Figure 12-7

図 12‐7 : スイープ セルへの値の入力

表 12‐3 : スイープ設定 

スイープ設定 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 132UG908 (v2015.1) 2015 年 4 月 1 日

Page 133: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

• [Exhaustive] の場合、 [Values to Sweep] は変更できなくな り、 プロパティに対してすべての値が選択されます。

すべてのプロパティを設定したら、 [Run sweep] をオンにしたままにする と、 各スキャンが順に実行されます。 [OK]をク リ ッ クする と、 スキャンのリ ス トが [Scan] ビューに表示されます。

スイープ中の進捗状況は [Scan] ビューで確認できます。 新のスキャンの結果が表示されます。

スキャン  プロッ トの表示とナビゲート

スキャンを作成する と、 そのスキャンの [Scan Plots] ビューが表示されます。 2D アイスキャンでは、 プロ ッ トは BER値のヒート マップです。

X-Ref Target - Figure 12-8

図 12‐8 : [Sweep Properites] フ ィールド

Vivado プログラムおよびデバッグ japan.xilinx.com 133UG908 (v2015.1) 2015 年 4 月 1 日

Page 134: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

Vivado IDE のほかのチャートおよび表示と同様に、 [Scan Plots] ビューも次のよ うに拡大/縮小できます。

• エリアの拡大 : 拡大表示するエリ アを左上から右下に向かってド ラ ッグ

• 全体表示 : 右下から左上へ向かってド ラ ッグ

• 拡大 : 右上から左下へ向かってド ラ ッグ

• 縮小 : 左下から右上へ向かってド ラ ッグ

マウス カーソルをプロ ッ ト上に置く と、ツール ヒ ン トに現在の水平コード、垂直コード、およびスキャンされた BER値が表示されます。 プロ ッ ト タ イプを変更するには、 プロ ッ ト ビューで [Plot Type] ボタンをク リ ッ ク し、 [ShowContour (filled)]、 [Show Contour (lines)]、 または [Heat Map] をク リ ッ ク します。

スキャン プロ ッ トの下のサマリには、スキャン設定とスキャンが実行された時間などの基本情報が表示されます。2Dアイスキャンでは、 エラーのないスキャンのピクセル数が算出され (水平および垂直インク リ メン ト を考慮)、 結果が[Open Area] と して表示されます。 [Scans] ビューの内容はデフォルトで [Open Area] 列順にリ ス ト されるので、オープン エリ アが も大きいスキャンが一番上に表示されます。

出力結果のファイルへの保存

部分的またはフル 2D アイスキャンによるスキャン データが存在する場合、 [Scans] ビューで [Write Scan] ボタンをクリ ッ クする と、 スキャン結果を CSV ファ イルに保存できます。 スキャン結果が CSV 形式のファイルに保存され、 スキャン プロ ッ ト を複製するブロ ッ クに BER 値が含まれます。

X-Ref Target - Figure 12-9

図 12‐9 : [Scan Plots] ビュー 

Vivado プログラムおよびデバッグ japan.xilinx.com 134UG908 (v2015.1) 2015 年 4 月 1 日

Page 135: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

[Properties] ウィンドウ

[Hardware] ビューで GT または COMMON ブロ ッ ク、 [Links] ビューでリ ンク、 または [Scans] ビューでスキャンを選択する と、 [Properties] ビューにそのオブジェ ク トのプロパティが表示されます。 GT および COMMON に対しては、これらのオブジェ ク ト の属性、 ポー ト、 およびその他の設定がすべて表示されます。 これらの設定は、 [Properties]ビュー (図 12-10) またはTcl コマンドで変更できます。プロパティには、読み出し専用で変更できないものもあ り ます。

シリアル I/O 解析の Tcl オブジェク トおよびコマンド

テス ト中のハード ウェアにアクセスするには、 Tcl コマンドを使用できます。 ハード ウェアには、 表 12-4 に示す階層ファース ト ク ラス Tcl オブジェク トがあ り ます。

X-Ref Target - Figure 12-10

図 12‐10 : [Properties] ウィンドウ 

表 12‐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 ブロッ クを参照するオブジェク ト。

Vivado プログラムおよびデバッグ japan.xilinx.com 135UG908 (v2015.1) 2015 年 4 月 1 日

Page 136: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

Hardware Manager コマンドの詳細を確認するには、 Tcl コンソールで 「help -category hardware」 と入力してください。

ハードウェアにアクセスする  Tcl コマンド

表 12-5 に、 IBERT コアにアクセスするために使用する Tcl コマンドを示します。

重要 : get_property または set_property コマンドを使用した場合、IBERT コアから情報を読み出したり IBERT コアに情報を書き込むこ とはできません。 ハード ウェアから情報を読み出すには refresh_hw_sio コマンド、 ハード ウェアに情報を書き込むには commit_hw_sio コマンドを使用します。

hw_sio_link の Tcl コマンド

表 12-6 に、 リ ンクにアクセスするために使用する Tcl コマンドを示します。

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 マージン解析スキャンを参照するオブジェク ト。

表 12‐4 : シリアル I/O 解析の Tcl オブジェク ト

Tcl オブジェク ト 説明

表 12‐5 : hw_server の Tcl コマンド

Tcl コマンド 説明

refresh_hw_sio オブジェク トのプロパティ値を読み出します。ハード ウェアを参照するすべての hw_sioオブジェク トに対して使用できます。

commit_hw_sio プロパテ ィの変更をハード ウェアに書き込みます。 ハード ウェアを参照するすべてのhw_sio オブジェク トに対して使用できます。

表 12‐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 のリ ス ト を取得します。

Vivado プログラムおよびデバッグ japan.xilinx.com 136UG908 (v2015.1) 2015 年 4 月 1 日

Page 137: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

hw_sio_linkgroup の Tcl コマンド

表 12-7 に、 リ ンク グループにアクセスするために使用する Tcl コマンドを示します。

hw_sio_scan の Tcl コマンド

表 12-8 に、 スキャンにアクセスするために使用する Tcl コマンドを示します。

オブジェク ト を取得する  Tcl コマンド

表 12-9 に、 シ リ アル I/O オブジェク ト を取得するために使用する Tcl コマンドを示します。

表 12‐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 のリ ス ト を取得します。

表 12‐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 オブジェク トの リ ス ト を取得します。

表 12‐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 リ ンクのリ ス ト を取得します。

Vivado プログラムおよびデバッグ japan.xilinx.com 137UG908 (v2015.1) 2015 年 4 月 1 日

Page 138: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

第 12 章 : ハードウェアでのシリアル I/O デザインのデバッグ

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

get_hw_sio_linkgroups リ ンク グループのリ ス ト を取得します。

get_hw_sio_scans スキャンのリ ス ト を取得します。

表 12‐9 : オブジェク ト を取得する  Tcl コマンド

Tcl コマンド 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 138UG908 (v2015.1) 2015 年 4 月 1 日

Page 139: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 A

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

次の表に、Vivado® ツールの Tcl コマンド set_property <Bitstream Setting> <Value> [current_design]と共に使用可能なデバイス コンフ ィギュレーシ ョ ン設定をすべて リ ス ト します。

表 A‐1 : ビッ トス ト リーム設定

設定  デフォルト値 有効な値 説明

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.CONFIGRATE

3 3、 6、 9、 12、16、 22、 26、33、 40、 50、66

コンフ ィギュレーシ ョ ンがマスター モードの場合、ビッ トス ト リ ームの生成でコンフ ィ ギュ レーシ ョ ン ク ロ ッ ク(Cclk) の生成に内部オシレーターが使用されます。 このオプシ ョ ンは、 Cclk のレート を選択します。

BITSTREAM.CONFIG.D00_MOSIa

Pullup Pullup、Pulldown、Pullnone

D00_MOSI ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D00_MOSIピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します (UltraScale)。

BITSTREAM.CONFIG.D01_DINa

Pullup Pullup、Pulldown、Pullnone

D01_DIN ピンに内部プルアップまたはプルダウンを追加するか、 どちらも追加しないかを指定します。 D01_DIN ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します (UltraScale)。

Vivado プログラムおよびデバッグ japan.xilinx.com 139UG908 (v2015.1) 2015 年 4 月 1 日

Page 140: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

BITSTREAM.CONFIG.D02a

Pullup Pullup、Pulldown、Pullnone

D02 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D02 ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します (UltraScale)。

BITSTREAM.CONFIG.D03a

Pullup Pullup、Pulldown、Pullnone

D03 ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 D03 ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します (UltraScale)。

BITSTREAM.CONFIG.DCIUPDATEMODE

AsRequired AsRequired、Continuous、Quiet

デジ タル制御イ ンピーダン ス (DCI) 回路で DCIIOSTANDARD のインピーダンス一致をアップデートする頻度を指定します。

BITSTREAM.CONFIG.DONEPINa

Pullup Pullup、Pullnone

DONE ピンに内部プルアップを追加します。 Pullnone に設定する と、 プルアップは使用されません。 このオプシ ョ ンは、外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用して ください。 このオプシ ョ ンを使用しない場合、内部プルアップ抵抗が自動的に接続されます。

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 <string> MultiBoot セッ ト アップの次のコンフ ィギュレーシ ョ ンの開始ア ド レ ス を設定し ます。 これは、 General1 およびGeneral2 レジスタに保存されます。

BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT

Enable Enable、Disable

Disable に設定する と、.bit ファ イルから IPROG コマンドが削除されます。

BITSTREAM.CONFIG.OVERTEMPPOWERDOWN

Disable Disable、Enable

XADC で温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされるよ うにします。 このオプシ ョ ンを使用するには、 XADC に外部回路セッ トアップが必要です(7 シ リーズ、 Zynq 7000)。

表 A‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 140UG908 (v2015.1) 2015 年 4 月 1 日

Page 141: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

BITSTREAM.CONFIG.OVERTEMPSHUTDOWN

Disable Disable、Enable

システム モニターで温度が 大動作範囲を超えたこ とが検出された場合にデバイスがシャ ッ ト ダウンされる よ うにします。 このオプシ ョ ンを使用するには、 システム モニターに外部回路セッ ト アップが必要です(UltraScale)。

BITSTREAM.CONFIG.PERSIST

No No、 Yes SelectMAP モード ピンをユーザー I/O と して使用できないよ うにします。SelectMAP モード と関連のピンについては、ユーザー ガイ ドを参照して ください。 このオプシ ョ ンは、リードバッ クおよびパーシャル リ コンフ ィギュレーシ ョンに SelectMAP コンフ ィギュレーシ ョ ン ピンを使用する場合に必要で、 SelectMAP またはシ リ アル モードを使用してい る 場合に使用 し ます。 こ のオプシ ョ ンの設定はSelectMAP ピンのみに適用されますが、 コンフ ィギュレーシ ョ ン後に JTAG 以外のコンフ ィギュレーシ ョ ン ピンにアクセスする際にも使用します。

BITSTREAM.CONFIG.PROGPINa

Pullup Pullup、Pullnone

PROGRAM_B ピンに内部プルア ッ プを追加し ます。Pullnone に設定する と、 プルアップは使用されません。 プルアップは、 コンフ ィギュレーシ ョ ン後のピンに使用されます。 (UltraScale)。

BITSTREAM.CONFIG.PUDC_Ba

Pullup Pullup、Pulldown、Pullnone

PUDC_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。 PUDC_B ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、 Pullnone に設定します。 (UltraScale)。

BITSTREAM.CONFIG.RDWR_B_FCS_Ba

Pullup Pullup、Pulldown、Pullnone

RDWR_B_FCS_B ピンに内部プルアップまたはプルダウンを追加するか、 どちら も追加しないかを指定します。

RDWR_B_FCS_B ピンにプルアップ抵抗およびプルダウン抵抗のどちら も追加しない場合は、Pullnone に設定します。(UltraScale)。

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 データのキャプチャに立ち下がりエッジを使用するよ う設定します。これによ り タイ ミ ング マージンが向上し、コンフ ィギュレーシ ョ ンのク ロ ッ ク レートが上がる可能性があ り ます。

表 A‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 141UG908 (v2015.1) 2015 年 4 月 1 日

Page 142: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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 進文字列を入力できます。

BITSTREAM.CONFIG.USR_ACCESS

なし None、 8 桁の 16 進文字列、TIMESTAMP

AXSS コンフ ィギュレーシ ョ ン レジスタに、8 桁の 16 進文字列またはタイムスタンプを記述します。 タイムスタンプ値のフ ォーマ ッ ト は、 ddddd MMMM yyyyyy hhhhhmmmmmm 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 に設定している場合のみ使用可能です。

表 A‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 142UG908 (v2015.1) 2015 年 4 月 1 日

Page 143: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

BITSTREAM.ENCRYPTION.HKEY

Pick Pick、 16 進文字列

ビッ ト ス ト リーム暗号化の HMAC 認証キーを設定します。7 シ リーズ デバイスには、 ハード ウェアにオンチップのビ ッ ト ス ト リ ーム キー付き HMAC (Hash MessageAuthentication Code) アルゴ リズムがインプリ メン ト されており、 AES 復号化のみの場合よ りセキュ リ ティが強化されています。 これらのデバイスでは、 ビッ ト ス ト リームの読み込み、 変更、 遮断、 コピーに AES と HMAC キーの両方が必要です。 Pick に設定する と、 ランダムな値が選択されます。 このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEY0

Pick Pick、 16 進文字列

ビッ ト ス ト リーム暗号化の AES 暗号化キーを設定します。Pick に設定する と、 ランダムな値が選択されます。 このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンを Yes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.KEYFILE

none <string> 入力暗号化ファ イル (拡張子 .nky) の名前を指定します。このオプシ ョ ンを使用するには、 ENCRYPT オプシ ョ ンをYes に設定する必要があ り ます。

BITSTREAM.ENCRYPTION.STARTCBC

Pick Pick、 32 ビットの 16 進文字列

暗号文ブロッ ク連鎖 (CBC) の開始値を設定します。Pick に設定する と、 ランダムな値が選択されます。

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) ブロ ッ クへのアクセスをディ スエーブルにします。

表 A‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 143UG908 (v2015.1) 2015 年 4 月 1 日

Page 144: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

BITSTREAM.GENERAL.JTAG_SYSMON

Enable Enable、Disable、StatusOnly

SYSMON への JTAG 接続をイネーブルまたはディ スエーブルにします。 (UltraScale)。

BITSTREAM.GENERAL.JTAG_XADC

Enable Enable、Disable、StatusOnly

XADC への JTAG 接続をイネーブルまたはディ スエーブルにします。

BITSTREAM.GENERAL.SYSMONPOWERDOWN

Disable Disable、Enable

SYSMON をパワーダウンでき る よ う にして節電します。SYSMON を永遠にパワーダウンする場合にのみ推奨されます (UltraScale)。

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、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‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 144UG908 (v2015.1) 2015 年 4 月 1 日

Page 145: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 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‐1 : ビッ トス ト リーム設定 (続き)

設定  デフォルト値 有効な値 説明

Vivado プログラムおよびデバッグ japan.xilinx.com 145UG908 (v2015.1) 2015 年 4 月 1 日

Page 146: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 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;

条件分岐ト リ ガー ステート マシン言語では、 ステート ごとに 1 ~ 3 方向の条件分岐がサポート されます。

• 1 方向分岐では、 if/elseif/else/endif 構文は使用されず、 goto アクシ ョ ンが使用されます。

state my_state_0:goto my_state_1;

• 2 方向分岐では、 goto アクシ ョ ンと共に if/else/endif 構文も使用されます。

Vivado プログラムおよびデバッグ japan.xilinx.com 146UG908 (v2015.1) 2015 年 4 月 1 日

Page 147: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

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> で示されている条件文の作成方法は、 148 ページの 「条件文」 を参照して ください。

カウンター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;

条件文内でのカウンターの使用方法の詳細は、 148 ページの 「条件文」 を参照してください。

フラグフラグは、 ト リガー ステート マシン プログラムが実行されている と きの進捗状況を監視するために使用できます。 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;

Vivado プログラムおよびデバッグ japan.xilinx.com 147UG908 (v2015.1) 2015 年 4 月 1 日

Page 148: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

goto my_state_1;

条件文

デバッグ プローブの条件

デバッグ プローブの条件は、 2 方向および 3 方向の分岐条件文内で使用できます。 各デバッグ プローブ条件では、 そのデバッグ プローブが接続された ILA の PROBE ポートの 1 つのト リガー コンパレータが使用されます。

重要 : 各 PROBE ポートは、1 ~ 4 つのト リガー コンパレータを含めてコンパイル時にコンフ ィギュレーシ ョ ンできます。つま り、特定のデバッグ プローブは、 PROBE ポートのコンパレータ数によって、 ト リガー ステート マシン プログラム全体においてデバッグ プローブ条件文で 1 ~ 4 回までしか使用できません。 また、 デバッグ プローブが ILAコアの PROBE ポート をほかのデバッグ プローブと共有する場合、 各デバッグ プローブ条件によ り 1 つの PROBE コンパレータが使用される とカウン ト されます。

デバッグ プローブ条件には、比較演算子と値が含まれます。有効なデバッグ プローブ条件の比較演算子は次のとおりです。

• == (等価)

• != (不等価)

• > (大なり )

• < (小なり )

• >= (以上)

• <= (以下)

有効な値は、 次の形式になり ます。

<bit_width>'<radix><value>

説明 :

• <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 ビッ ト プローブの場合にのみ有効

有効なデバッグ プローブ条件値の例を次に示します。

Vivado プログラムおよびデバッグ japan.xilinx.com 148UG908 (v2015.1) 2015 年 4 月 1 日

Page 149: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

• 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

カウンター条件

カウンター条件は、 2 方向および 3 方向の分岐条件文内で使用できます。 各カウンター条件で 1 つのカウンター コンパレータが使用されます。

重要 : 各カウンターに含まれるカウンター コンパレータは 1 つのみです。 つま り、 特定のカウンターは ト リ ガー ステート マシン プログラム全体においてカウンター条件内で 1 回しか使用できません。

プローブ ポート条件には、 比較演算子と値が含まれます。 有効なプローブ条件の比較演算子は次のとおりです。

• == (等価)

• != (不等価)

重要 : 各カウンターの幅は常に 16 ビッ トです。

Vivado プログラムおよびデバッグ japan.xilinx.com 149UG908 (v2015.1) 2015 年 4 月 1 日

Page 150: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

有効なカウンター条件値の例を次に示します。

• 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

• 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

Vivado プログラムおよびデバッグ japan.xilinx.com 150UG908 (v2015.1) 2015 年 4 月 1 日

Page 151: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

<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> <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]+

Vivado プログラムおよびデバッグ japan.xilinx.com 151UG908 (v2015.1) 2015 年 4 月 1 日

Page 152: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

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

<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 プログラムおよびデバッグ japan.xilinx.com 152UG908 (v2015.1) 2015 年 4 月 1 日

Page 153: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C

コンフ ィギュレーシ ョ ン  メモリのサポートこのセクシ ョ ンでは、Vivado® ツールでサポート されるさまざまなフラ ッシュ メモ リ デバイスを示します。 このセクシ ョ ンは、 ザイ リ ンクス デバイス、 インターフェイス、 製造業者、 フラ ッシュ デバイス、 集積度、 およびデータ幅に応じて、 アプ リ ケーシ ョ ンに適したコンフ ィギュレーシ ョ ン メモ リ デバイスを選択するのにご利用ください。

Artix‐7 コンフ ィギュレーシ ョ ン  メモリ  デバイスArtix®-7 デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、Vivado ツールで消去、ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-1 に示します。

表 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}

1024 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 1024 x16、 x8

BPI Micron m29ew 28f00bm29ew 2048 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

Vivado プログラムおよびデバッグ japan.xilinx.com 153UG908 (v2015.1) 2015 年 4 月 1 日

Page 154: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

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 1024 x16

BPI Micron p30 28f00ap30e 1024 x16

BPI Micron p30 28f00ap30t 1024 x16

BPI Micron p30 28f00bp30e 2048 x16

BPI Spansion s29glxxxp s29gl128p 128 x8、 x16

BPI Spansion s29glxxxp s29gl256p 256 x8、 x16

BPI Spansion s29glxxxp s29gl512p 512 x8、 x16

BPI Spansion s29glxxxp s29gl01gp 1024 x8、 x16

SPI Spansion s29glxxxp s70gl02gp 2048 x16

SPI Spansion s29glxxxs s29gl128s 128 x16

SPI Spansion s29glxxxs s29gl256s 256 x16

SPI Spansion s29glxxxs s29gl512s 512 x16

SPI Spansion s29glxxxs s29gl01gs 1024 x16

SPI Spansion s29glxxxs s70gl02gs 2058 x16

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 1024 x1、 x2、 x4

SPI Micron mt25ql mt25ql02g 1048 x1、 x2、 x4

SPI Micron mt25qu mt25qu512 512 x1、 x2、 x4

SPI Micron mt25qu mt25qu01g 1024 x1、 x2、 x4

SPI Micron mt25qu mt25qu02g 2048 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

SPI Micron n25q n25q256-3.3v 256 x1、 x2、 x4

SPI Spansion s25fl1 s25fl132k 32 x1、 x2、 x4

表 C‐1 : Artix‐7 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 154UG908 (v2015.1) 2015 年 4 月 1 日

Page 155: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Kintex‐7 コンフ ィギュレーシ ョ ン メモリ  デバイスKintex®-7 デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、 Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-2 に示します。

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) データ幅 (ビッ ト )

表 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]

1024 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 1024 x16、 x8

bpi Micron m29ew 28f00bm29ew 2048 x16、 x8

bpi Micron p30 28f640p30b 64 x16

bpi Micron p30 28f640p30t 64 x16

bpi Micron p30 28f128p30b 128 x16

Vivado プログラムおよびデバッグ japan.xilinx.com 155UG908 (v2015.1) 2015 年 4 月 1 日

Page 156: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

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 1024 x16

bpi Micron p30 28f00ap30e 1024 x16

bpi Micron p30 28f00ap30t 1024 x16

bpi Micron p30 28f00bp30e 2048 x16

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 1024 x16

bpi Micron p33 28f00ap33e 1024 x16

bpi Micron p33 28f00ap33t 1024 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 1024 x16、 x8

bpi Spansion s29glxxxp s70gl02gp 2048 x16

bpi Spansion s29glxxxs s29gl128s 128 x16

bpi Spansion s29glxxxs s29gl256s 256 x16

bpi Spansion s29glxxxs s29gl512s 512 x16

bpi Spansion s29glxxxs s29gl01gs 1024 x16

bpi Spansion s29glxxxs s70gl02gs 2048 x16

spi Macronix mx66l mx66l51235f 512 x1、 x2、 x4

spi Macronix mx66u mx66u51235f 512 x1、 x2、 x4

spi Micron mt25ql mt25ql512 512 x1、 x2、 x4

表 C‐2 : Kintex‐7 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 156UG908 (v2015.1) 2015 年 4 月 1 日

Page 157: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Virtex‐7 コンフ ィギュレーシ ョ ン メモリ  デバイスVirtex®-7 デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、 Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-3 に示します。

spi Micron mt25ql mt25ql01g 1024 x1、 x2、 x4

spi Micron mt25ql mt25ql02g 2048 x1、 x2、 x4

spi Micron mt25qu mt25qu512 512 x1、 x2、 x4

spi Micron mt25qu mt25qu01g 1024 x1、 x2、 x4

spi Micron mt25qu mt25qu02g 2048 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

spi Micron n25q n25q256-3.3v 256 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 s 2 5 f l 1 2 8 s x x x x x x 0[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) データ幅 (ビッ ト )

表 C‐3 : Virtex‐7 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb)

データ幅 (ビッ ト)

bpi Micron g18 28f128g18f 128 x16

bpi Micron g18 m t 2 8 g u 2 5 6 a a x 1 e[28f256g18f]

256 x16

bpi Micron g18 m t 2 8 g u 5 1 2 a a x 1 e[28f512g18f]

512 x16

Vivado プログラムおよびデバッグ japan.xilinx.com 157UG908 (v2015.1) 2015 年 4 月 1 日

Page 158: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

bpi Micron g18 m t 2 8 g u 0 1 g a a x 1 e[28f00ag18f]

1024 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 1024 x16、 x8

bpi Micron m29ew 28f00bm29ew 2048 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 1024 x16

bpi Micron p30 28f00ap30e 1024 x16

bpi Micron p30 28f00ap30t 1024 x16

bpi Micron p30 28f00bp30e 2048 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 1024 x16、 x8

bpi Spansion s29glxxxs s29gl128s 128 x16

bpi Spansion s29glxxxs s29gl256s 256 x16

bpi Spansion s29glxxxs s29gl512s 512 x16

bpi Spansion s29glxxxs s29gl01gs 1024 x16

bpi Spansion s29glxxxs s70gl02gs 2048 x16

spi Macronix mx66u mx66u51235f 512 x1、 x2、 x4

spi Micron mt25qu mt25qu512 512 x1、 x2、 x4

spi Micron mt25qu mt25qu01g 1024 x1、 x2、 x4

表 C‐3 : Virtex‐7 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb)

データ幅 (ビッ ト)

Vivado プログラムおよびデバッグ japan.xilinx.com 158UG908 (v2015.1) 2015 年 4 月 1 日

Page 159: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Kintex UltraScale コンフ ィギュレーシ ョ ン メモリ  デバイスKintex® UltraScale™ デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-4 に示します。

spi Micron mt25qu mt25qu02g 2048 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 s 2 5 f l 1 2 8 s x x x x x x 0[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)

データ幅 (ビッ ト)

表 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]

1024 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 1024 x16、 x8

bpi Micron m29ew 28f00bm29ew 2048 x16、 x8

Vivado プログラムおよびデバッグ japan.xilinx.com 159UG908 (v2015.1) 2015 年 4 月 1 日

Page 160: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

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 1024 x16

bpi Micron p30 28f00ap30e 1024 x16

bpi Micron p30 28f00ap30t 1024 x16

bpi Micron p30 28f00bp30e 2048 x16

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 1024 x16

bpi Micron p33 28f00ap33e 1024 x16

bpi Micron p33 28f00ap33t 1024 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 1024 x16、 x8

bpi Spansion s29glxxxp s70gl02gp 2048 x16

bpi Spansion s29glxxxs s29gl128s 128 x16

bpi Spansion s29glxxxs s29gl256s 256 x16

bpi Spansion s29glxxxs s29gl512s 512 x16

bpi Spansion s29glxxxs s29gl01gs 1024 x16

bpi Spansion s29glxxxs s70gl02gs 2048 x16

表 C‐4 : Kintex UltraScale デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 160UG908 (v2015.1) 2015 年 4 月 1 日

Page 161: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

spi Macronix mx66l mx66l51235f 512 x1、 x2、 x4

spi Macronix mx66u mx66u51235f 512 x1、 x2、 x4

spi Micron mt25ql mt25ql512 512 x1、 x2、 x4、 x8

spi Micron mt25ql mt25ql01g 1024 x1、 x2、 x4、 x8

spi Micron mt25ql mt25ql02g 2048 x1、 x2、 x4、 x8

spi Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

spi Micron mt25qu mt25qu01g 1024 x1、 x2、 x4、 x8

spi Micron mt25qu mt25qu02g 2048 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

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 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 s 2 5 f l 1 2 8 s x x x x x x 0[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‐4 : Kintex UltraScale デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 161UG908 (v2015.1) 2015 年 4 月 1 日

Page 162: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Virtex UltraScale コンフ ィギュレーシ ョ ン メモリ  デバイスVirtex® UltraScale™ デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、Vivado ツールによる消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-5 に示します。

表 C‐5 : Virtex UltraScale デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

bpi Micron g18 28f128g18f 128 x16

bpi Micron g18 m t 2 8 g u 2 5 6 a a x 1 e[28f256g18f]

256 x16

bpi Micron g18 m t 2 8 g u 5 1 2 a a x 1 e[28f512g18f]

512 x16

bpi Micron g18 m t 2 8 g u 0 1 g a a x 1 e[28f00ag18f]

1024 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 1024 x16、 x8

bpi Micron m29ew 28f00bm29ew 2048 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 1024 x16

bpi Micron p30 28f00ap30e 1024 x16

bpi Micron p30 28f00ap30t 1024 x16

bpi Micron p30 28f00bp30e 2048 x16

bpi Spansion s29glxxxp s29gl128p 128 x16、 x8

Vivado プログラムおよびデバッグ japan.xilinx.com 162UG908 (v2015.1) 2015 年 4 月 1 日

Page 163: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

bpi Spansion s29glxxxp s29gl256p 256 x16、 x8

bpi Spansion s29glxxxp s29gl512p 512 x16、 x8

bpi Spansion s29glxxxp s29gl01gp 1024 x16、 x8

bpi Spansion s29glxxxs s29gl128s 128 x16

bpi Spansion s29glxxxs s29gl256s 256 x16

bpi Spansion s29glxxxs s29gl512s 512 x16

bpi Spansion s29glxxxs s29gl01gs 1024 x16

bpi Spansion s29glxxxs s70gl02gs 2048 x16

spi Macronix mx66u mx66u51235f 512 x1、 x2、 x4

spi Micron mt25qu mt25qu512 512 x1、 x2、 x4、 x8

spi Micron mt25qu mt25qu01g 1024 x1、 x2、 x4、 x8

spi Micron mt25qu mt25qu02g 2048 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

spi Micron n25q n25q256-1.8v 256 x1、 x2、 x4、 x8

spi Spansion s25flxxxs s 2 5 f l 1 2 8 s x x x x x x 0[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‐5 : Virtex UltraScale デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス (エイリアス)集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 163UG908 (v2015.1) 2015 年 4 月 1 日

Page 164: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

Zynq‐7000 コンフ ィギュレーシ ョ ン メモリ  デバイスZynq®-7000 デバイスのコンフ ィギュレーシ ョ ンにサポート されるフラ ッシュ デバイスで、 Vivado ツールで消去、 ブランク チェッ ク、 プログラム、 および検証可能なものを表 C-6 に示します。

表 C‐6 : Zynq‐7000 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス集積度 (Mb) データ幅 (ビッ ト )

nand Micron m29ew mt29f2g08ab 2048 x8

nand Micron m29ew mt29f2g16ab 2048 x16

nand Spansion s34ml s34ml01g1 1024 x16、 x8

nand Spansion s34ml s34ml02g1 2048 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 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 n25q128a 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 1024 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 128 x4-dual_stacked, x4-single, x8-dual_parallel

qspi Spansion s25flxxxs s25fl128s-3.3v 128 x4-dual_stacked, x4-single, x8-dual_parallel

Vivado プログラムおよびデバッグ japan.xilinx.com 164UG908 (v2015.1) 2015 年 4 月 1 日

Page 165: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 C : コンフ ィギュレーシ ョ ン メモリのサポート

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 1024 x4-dual_stacked

qspi Winbond w25q w25q128 128 x4-dual_stacked, x4-single, x8-dual_parallel

表 C‐6 : Zynq‐7000 デバイス コンフ ィギュレーシ ョ ンにサポート されるフラッシュ  メモリ  デバイス

インターフェイス

製造業者 製造業者ファ ミ リ デバイス集積度 (Mb) データ幅 (ビッ ト )

Vivado プログラムおよびデバッグ japan.xilinx.com 165UG908 (v2015.1) 2015 年 4 月 1 日

Page 166: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 D

その他のソースおよび法的通知

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 次のザイ リ ンクス サポート サイ ト を参照してください。

ソリューシ ョ ン  センターデバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 ト ピックには、 デザイン アシスタン ト 、 アドバイザリ、 ト ラブルシュート ヒ ン ト などが含まれます。

参考資料次の資料は、 本書を補足するためのものです。

Vivado® Design Suite の資料

1. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

2. 『Vivado Design Suite ユーザー ガイ ド : 合成 』 (UG901)

3. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

4. 『Vivado Design Suite リ リース ノート、 インス トールおよびライセンス』 (UG973)

5. 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892)

6. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899)

7. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

8. 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG470)

9. 『7 シ リーズ FPGA の XADC 12 ビッ ト 1MSPS デュアル アナログ-デジタル コンバーター ユーザー ガイ ド』(UG480)

10. 『Ultrascale アーキテクチャ コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 (UG570)

11. 『Ultrascale アーキテクチャ システム モニター ユーザー ガイ ド』 (UG580)

ザイリンクス IP の資料

12. 『LogiCORE IP Virtual Input/Output (VIO) v3.0 製品ガイ ド』 (PG159)

13. 『LogiCORE IP IBERT for 7 Series GTX Transceivers 製品ガイ ド』 (PG132)

Vivado プログラムおよびデバッグ japan.xilinx.com 166UG908 (v2015.1) 2015 年 4 月 1 日

Page 167: Vivado Design Suite - Xilinx...Vivado プログラムおよびデバッグ japan.xilinx.com 9 UG908 (v2015.1) 2015 年 4 月 1 日 第2 章 Vivado Lab Edition Vivado® Lab Edition

付録 D : その他のソースおよび法的通知

14. 『LogiCORE IP IBERT for 7 Series GTP Transceivers 製品ガイ ド』 (PG133)

15. 『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガイ ド』 (PG152)

16. 『LogiCORE IP Integrated Logic Analyzer 製品ガイ ド』 (PG172)

17. 『LogiCORE IP JTAG to AXI Master v1.0 製品ガイ ド』 (PG174)

ト レーニング コースザイ リ ンクスでは、本書に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよびオンライン ビデオを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. Vivado Design Suite 入門ワークシ ョ ップ ト レーニング コース

2. Vivado デザイン ツール フロー ト レーニング コース

3. Vivado での FPGA 設計導入ト レーニング コース

4. Vivado Design Suite ビデオ チュート リ アル : Vivado IP インテグレーターを使用したデザイン

5. Vivado Design Suite ビデオ チュート リ アル : Vivado IP インテグレーターを使用した Zynq デバイスの設計

6. Vivado Design Suite ビデオ チュート リ アル : Vivado でパーシャル リ コンフ ィギュレーシ ョ ンを実行

7. Vivado Design Suite ビデオ チュート リ アル : Vivado バージ ョ ン管理の概要

8. Vivado ロジッ ク解析を使用したデバッグ テクニッ ク ト レーニング コース

9. Vivado Design Suite ビデオ チュート リ アル

法的通知The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extentpermitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES ANDCONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort,including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connectionwith, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if suchdamage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct anyerrors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute,or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty,please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and supportterms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any applicationrequiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’sTerms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.

© Copyright 2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands includedherein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

Vivado プログラムおよびデバッグ japan.xilinx.com 167UG908 (v2015.1) 2015 年 4 月 1 日