Vivado Design Suite
ユーザー
ガイ ド
プ ログ ラ ムおよびデバ ッ グ
UG908 (v2015.4) 2016 年 2 月 2 日本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2016 年 2 月 2 日 2015.4 • 表 A-2 か ら 7 シ リ ーズに関する記述を削除 2015 年 12 月 1 日 2015.4 • ハー ド ウ ェ アへの接続に関する ヒ ン ト を追加 • 編集上の修正 2015 年 10 月 6 日 2015.3 • [Waveform] ウ ィ ン ド ウ で列挙名の表示をサポー ト • 新規 ソ フ ト ウ ェ アの改善点を反映する よ う ア ッ プデー ト 2015 年 6 月 24 日 2015.2 • XVC に関する新 し いセ ク シ ョ ン を追加 • 付録 A で UltraScale に関する記述を ア ッ プデー ト
2015 年 4 月 1 日 2015.1 • Vivado Lab Edition に関する新 し い章を追加
• 読みやす く する ため第 2 章を分割
• Vivado ダ ッ シ ュ ボー ド に関する新 し いセ ク シ ョ ン を追加 • デバ ッ グ ハブに関する情報を追加
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 3 UG908 (v2015.4) 2016 年 2 月 2 日 改訂履歴 . . . 2
第 1 章 : 概要
概要 . . . 6 デバ ッ グ用語集 . . . 7第 2 章 : Vivado Lab Edition
イ ン ス ト ール . . . 8Vivado Lab Edition の使用 . . . 9
Vivado Lab Edition プ ロ ジ ェ ク ト . . . 10
プ ロ グ ラ ム機能 . . . 12 デバ ッ グ機能 . . . 13
第 3 章 : ビ ッ ト ス ト リ ームの生成
ビ ッ ト ス ト リ ーム フ ァ イ ルのフ ォーマ ッ ト 設定の変更 . . . 15 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム設定の変更 . . . 15第 4 章 : FPGA デバイ スのプ ログ ラム
ハー ド ウ ェ ア マネージ ャーを開 く . . . 17 ハー ド ウ ェ ア ターゲ ッ ト 接続を開 く . . . 18 hw_server を使用 し たハー ド ウ ェ ア ターゲ ッ ト への接続 . . . 19 新 し いハー ド ウ ェ ア ターゲ ッ ト を開 く . . . 19 ハー ド ウ ェ ア ターゲ ッ ト の ト ラ ブルシ ューテ ィ ン グ . . . 22 プ ロ グ ラ ム フ ァ イ ルをハー ド ウ ェ ア デバ イ ス に関連付け . . . 24 ハー ド ウ ェ ア デバ イ ス のプ ロ グ ラ ム . . . 25 ハー ド ウ ェ ア ターゲ ッ ト を閉 じ る . . . 26 ハー ド ウ ェ ア サーバーへの接続を閉じ る . . . 26 低い JTAG ク ロ ッ ク 周波数での ターゲ ッ ト デバ イ スへの接続 . . . 27 JTAG チ ェーンに 32 個を超え るデバ イ ス を含むサーバーへの接続 . . . 28 Vivado での リ モー ト デバ ッ グ. . . 28第 5 章 : コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバイ スのプ ログ ラム
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス で使用する ビ ッ ト ス ト リ ームの生成 . . . 33 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ フ ァ イ ルの作成 . . . 34 Vivado でハー ド ウ ェ ア ターゲ ッ ト に接続. . . 34 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス の追加 . . . 35 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス のプ ロ グ ラ ム . . . 37 デバ イ ス の起動 . . . 39第 6 章 : ア ド バン ス プ ログ ラム機能
リ ー ド バ ッ ク お よ び検証 . . . 40シ ス テ ム モニ ター . . . 52
第 7 章 : デザイ ンのデバ ッ グ
RTL レベル デザ イ ン シ ミ ュ レーシ ョ ン . . . 53 イ ンプ リ メ ン テーシ ョ ン後のデザ イ ン シ ミ ュ レーシ ョ ン . . . 53 イ ン シ ス テ ム ロ ジ ッ ク デザ イ ンのデバ ッ グ . . . 54 イ ン シ ス テ ム シ リ アル I/O デザ イ ンのデバ ッ グ . . . 54第 8 章 : イ ン システム ロ ジ ッ ク デザイ ンのデバ ッ グ フ ロー
イ ン シ ス テ ム デバ ッ グ用のデザ イ ンのプ ローブ . . . 55 ネ ッ ト リ ス ト 挿入デバ ッ グ プ ローブ フ ロー . . . 56 HDL イ ン ス タ ン シエーシ ョ ン デバ ッ グ プ ローブ フ ローの概要 . . . 69 HDL イ ン ス タ ン シエーシ ョ ン デバ ッ グ プ ローブ フ ロー . . . 69 デバ ッ グ コ ア を含むデザ イ ンの イ ンプ リ メ ン テーシ ョ ン . . . 73第 9 章 : ハー ド ウ ェ アでのロ ジ ッ ク デザイ ンのデバ ッ グ
Vivado ロ ジ ッ ク 解析を使用 し たデザ イ ンのデバ ッ グ . . . 74 ハー ド ウ ェ ア ターゲ ッ ト に接続 し て FPGA デバ イ ス をプ ロ グ ラ ム . . . 74 Vivado ハー ド ウ ェ ア マネージ ャーのダ ッ シ ュ ボー ド . . . 75 計測のための ILA コ アの設定 . . . 84 ILA プ ローブ情報の記述. . . 99 ILA プ ローブ情報の読み出 し . . . 99 ILA コ アか ら のデータ を波形ビ ューアーで表示. . . 99 ILA コ アでキ ャ プチ ャ さ れたデータ の保存および復元. . . 100 プ ロ ーブ値の列挙名 . . . 101 計測のための VIO コ アの設定 . . . 108 VIO コ アの ス テータ ス の表示 . . . 110 VIO コ アの出力プ ローブ . . . 113 JTAG-to-AXI Master デバ ッ グ コ ア を使用 し たハー ド ウ ェ ア シ ス テ ム通信. . . 115 ラ ボ環境での Vivado ロ ジ ッ ク 解析の使用. . . 117 ハー ド ウ ェ ア マネージ ャーの Tcl オブジ ェ ク ト およびコ マン ド . . . 118 Tcl コ マン ド を使用 し た JTAG-to-AXI Master コ アへのア ク セ ス . . . 122 ILA を測定する Tcl コ マン ド の使用 . . . 123 ス タ ー ト ア ッ プ時の ト リ ガー . . . 124第 10 章 : 波形ビ ュ ーアーを使用 し た ILA プ ローブ デー タ の表示
概要 . . . 125 波形 コ ン フ ィ ギ ュ レーシ ョ ンのカ ス タ マ イ ズ . . . 129 オブジ ェ ク ト 名の変更 . . . 132 バス の基数 . . . 134 アナ ロ グ波形の表示 . . . 135 ズーム機能 . . . 136第 11 章 : イ ン システム シ リ アル I/O デバ ッ グ フ ロー
概要 . . . 138 Vivado IP カ タ ロ グ を使用 し た IBERT コ アの生成 . . . 138 IBERT サンプル デザ イ ンの生成 と イ ンプ リ メ ン テーシ ョ ン . . . 140Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 5 UG908 (v2015.4) 2016 年 2 月 2 日
付録 A : デバイ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム設定
7 シ リ ーズおよび Zynq-7000 のビ ッ ト ス ト リ ーム設定 . . . 155 UltraScale ビ ッ ト ス ト リ ーム設定 . . . 161付録 B : ト リ ガー ステー ト マシ ンの言語記述
ス テー ト . . . 168 goto ア ク シ ョ ン . . . 168 条件分岐 . . . 169 カ ウ ン タ ー . . . 169 フ ラ グ . . . 170 条件文 . . . 170付録 C : コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ のサポー ト
Artix-7 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス . . . 175 Kintex-7 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス . . . 177 Virtex-7 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス . . . 180 Kintex UltraScale コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス. . . 182 Virtex UltraScale コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス . . . 184 Zynq-7000 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス . . . 187付録 D : その他のソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . 189 ソ リ ュ ーシ ョ ン セン ター . . . 189 参考資料 . . . 189 ト レーニ ン グ コース . . . 190 お読み く だ さ い : 重要な法的通知 . . . 191概要
概要
デザ イ ン を イ ン プ リ メ ン ト し た ら 、FPGA デバ イ ス を プ ロ グ ラ ム し、 デザ イ ン を イ ン シ ス テ ム でデバ ッ グ し なが ら
ハー ド ウ ェ アでデザ イ ン を実行 し ます。FPGA デバ イ ス のプ ロ グ ラ ムおよびイ ン シ ス テ ム デバ ッ グの実行に必要な コ
マ ン ド はすべて、Vivado® 統合設計環境 (IDE) の Flow Navigator の [Program and Debug] にあ り ます (図1-1)。
X-Ref Target - Figure 1-1
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 7 UG908 (v2015.4) 2016 年 2 月 2 日
デバ ッ グ用語集
ILA : ILA (Integrated Logic Analyzer) 機能を使用する と 、 FPGA デバ イ ス の イ ンプ リ メ ン ト 後のデザ イ ン を イ ン シ ス テ
ムでデバ ッ グで き ます。 こ の機能は、 デザ イ ン で信号を監視す る 必要があ る 場合に使用 し ます。 ハー ド ウ ェ ア イベン
ト を ト リ ガー し 、 デー タ を シ ス テ ム速度でキ ャ プチ ャ す る ために も 使用で き ます。
ILA コ アは、 RTL コー ド に イ ン ス タ ン シエー ト する か、 Vivado デザ イ ン フ ローの合成後の段階で挿入 し ます。 ILA コ
アの詳細お よ びその Vivado Design Suite での使用方法は、第8 章お よ び第9 章を参照 し て く だ さ い。ILA コ ア IP の詳
細は、 『LogiCORE IP Integrated Logic Analyzer 製品ガ イ ド 』 (PG172) [参照 18] を参照し て く だ さ い。
VIO : VIO (Virtual Input/Output) は、内部 FPGA 信号を リ アル タ イ ムに監視および駆動で き るデバ ッ グ機能です。 ター
ゲ ッ ト ハー ド ウ ェ アへの物理的なア ク セ ス がない場合は、 こ のデバ ッ グ機能を使用し て、実際のハー ド ウ ェ アにあ る
信号を駆動お よ び監視で き ます。
こ のデバ ッ グ コ アは RTL コー ド に イ ン ス タ ン シエー ト する必要があ る ので、 どのネ ッ ト を駆動する のか前 も っ て決
めてお く 必要があ り ます。こ の コ アは IP カ タ ロ グの Debug カ テ ゴ リ に含まれます。VIO コ アの詳細およびその Vivado
Design Suite での使用方法は、第9 章を参照 し て く だ さ い。VIO コ ア IP の詳細は、 『LogiCORE IP Virtual Input/Output
製品ガ イ ド 』 (PG 159) [参照 14] を参照 し て く だ さ い。
IBERT : IBERT (Integrated Bit Error Ratio Tester) Serial Analyzer デザ イ ン を使用する と 、 イ ン シ ス テ ム シ リ アル I/O の
検証お よ びデバ ッ グが可能にな り ます。 こ の機能を使用す る と 、FPGA ベース シ ス テ ムの高速シ リ アル I/O リ ン ク を
計測お よ び最適化で き ま す。 単純な ク ロ ッ ク や接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適化の問題 ま で、 さ ま ざ ま な イ ン シ ス テ ム デバ ッ グおよび検証の問題を解決する には、 IBERT Serial Analyzer デザ イ ン を使用する
こ と をお勧め し ます。
IBERT Serial Analyzer デザ イ ンは、受信信号にレ シーバー イ コ ラ イ ゼーシ ョ ンが適用 さ れた後の信号の質を計測する た
めに も 使用で き ます。 こ れに よ り 、TX か ら RX へのチャ ネルの最適なポ イ ン ト 、 つま り 実際の正し いデータ が計測 さ
れます。 こ のデザ イ ンには、IP カ タ ロ グか ら IBERT コ ア を選択、 設定、 生成し て、 こ の コ アの [Open Example Design]
を選択す る と ア ク セ ス で き ま す。IBERT コ アの詳細お よ びその Vivado Design Suite での使用方法は、第11 章お よ び
第12 章を参照 し て く だ さ い。 使用可能な さ ま ざ ま な IBERT デザ イ ンの詳細は、 『LogiCORE IP IBERT for 7 Series GTX
Transceivers 製品ガ イ ド 』 (PG132) [参照 15]、 『LogiCORE IP IBERT for 7 Series GTP Transceivers 製品ガ イ ド 』 (PG133) [参
照16]、 『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガ イ ド 』 (PG152) [参照 17] を参照し て く だ さ い。
JTAG-to-AXI Master : JTAG-to-AXI Master デバ ッ グ機能は、ハー ド ウ ェ アで動作中の さ ま ざ ま な AXI フルおよび AXI
Lite ス レーブ コ ア と 通信す る AXI ト ラ ンザ ク シ ョ ン を生成する ために使用 さ れます。 AXI ト ラ ンザ ク シ ョ ン を生成
し 、 ラ ン タ イ ムに FPGA 内部で AXI 信号をデバ ッ グおよび駆動する には、 こ の コ ア を使用する こ と をお勧め し ます。
こ の コ アは、 プ ロ セ ッ サのないデザ イ ンでで も 使用で き ます。
こ の コ アは IP カ タ ロ グの Debug カ テ ゴ リ に含まれます。 VIO コ アの詳細お よ びその Vivado Design Suite での使用方
法は、第9 章を参照 し て く だ さ い。JTAG-to-AXI コ アの詳細は、 『LogiCORE IP JTAG to AXI Master v1.0 製品ガ イ ド 』
(PG174) [参照 19] を参照 し て く だ さ い。
デバ ッ グ ハブ : Vivado デバ ッ グ ハブ コ アは、FPGA デバ イ ス の JTAG バ ウ ンダ リ ス キ ャ ン (BSCAN) イ ン ターフ ェ イ
ス と 、 次の タ イ プの コ ア を含む Vivado デバ ッ グ コ ア と の間の イ ン ターフ ェ イ ス を提供 し ます。
• ILA (Integrated Logic Analyzer)
• VIO (Virtual Input/Output)
• IBERT (Integrated Bit Error Ratio Test)
• JTAG-to-AXI
• メ モ リ IP
重要: Vivado デバ ッ グ ハブ コ アをデザ イ ンに イ ン ス タ ンシエー ト する こ と はで き ません。 こ れは opt_design の段
Vivado 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) [参照 5] を参照 し て く だ さ い。
Windows での Vivado Lab Edition の起動
Vivado Lab Edition を起動する には、 次の順に ク リ ッ ク し て く だ さ い。
[ス ター ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado Lab 2015.4] → [Vivado Lab 2015.4]
Windows または Linux の コ マ ン ド ラ イ ンか ら の Vivado Lab Edition
の起動
コ マ ン ド プ ロ ンプ ト に次の コ マン ド を入力 し ます。 vivado_lab ヒ ン ト : コ マン ド プ ロ ンプ ト で vivado_lab を実行するには、 使用する OS に応じ て、 次のいずれかのス ク リ プ ト を使 用 し て環境を設定 し ます。 C:\Xilinx\Vivado_Lab\2015.4\settings32.(bat|sh) C:\Xilinx\Vivado_Lab\2015.4\settings64.(bat|sh)推奨: Vivado Lab Edition はどのデ ィ レ ク ト リ か ら で も起動で き ますが、 ロ グ フ ァ イルおよびジ ャーナル フ ァ イルが
起動デ ィ レ ク ト リ に書 き 込まれ る ので、書 き 込み権限のあ る プ ロ ジ ェ ク ト デ ィ レ ク ト リ か ら 実行する こ と をお勧め し
ま す。 コ マ ン ド プ ロ ン プ ト か ら 実行す る 場合、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ か ら Vivado IDE を 起動す る か、
vivado_lab -log および -journal オプシ ョ ン を使用 し てデ ィ レ ク ト リ を指定 し ます。 Windows シ ョ ー ト カ ッ ト
を使用す る 場合は、 シ ョ ー ト カ ッ ト を右 ク リ ッ ク し て [プ ロ パテ ィ ] を ク リ ッ ク し、 [作業フ ォ ルダー ] を変更する必
要があ り ます。 書 き 込み権限のないプ ロ ジ ェ ク ト デ ィ レ ク ト リ か ら 起動する と 、 ツールか ら 警告 メ ッ セージが表示 さ
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 9 UG908 (v2015.4) 2016 年 2 月 2 日
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
資料およびビデオ
Getting Started ページか ら Xilinx Documentation Navigator を使用し て、 ユーザー ガ イ ド 、 チ ュー ト リ アル、 ビデオ、 リ リ ース ノ ー ト な どの資料にア ク セ ス で き ます。
Vivado Lab Edition プ ロ ジ ェ ク ト
Vivado Lab Edition を使用する と 、 ラ ボ環境でプ ロ ジ ェ ク ト を作成で き ます。 プ ロ グ ラ ムおよび ラ ン タ イ ム デバ ッ グ に関す る すべてのプ リ フ ァ レ ン スや基本設定はプ ロ ジ ェ ク ト に保存 さ れます。 プ ロ ジ ェ ク ト を開 き 直す と 、 設定お よ びプ リ フ ァ レ ン ス が復元 さ れます。Vivado Lab Edition プ ロ ジ ェ ク ト は、Vivado Lab Edition ツールおよび Vivado Design Suite の両方で作成で き ます。
新規プ ロ ジ ェ ク ト の作成
Vivado Lab Edition で新 し く プ ロ ジ ェ ク ト を作成する には、 Getting Started ページで [Create New Project] を ク リ ッ ク し
ます。[New Vivado Lab Edition Project] ダ イ ア ロ グ ボ ッ ク ス にプ ロ ジ ェ ク ト 名およびデ ィ レ ク ト リ を入力し ます。新 し
いプ ロ ジ ェ ク ト を作成す る と 、Vivado Lab Edition に よ り プ ロ ジ ェ ク ト フ ァ イ ルが作成 さ れます。 こ のプ ロ ジ ェ ク ト
フ ァ イ ルには、[New Vivado Lab Edition Project] ダ イ ア ロ グ ボ ッ ク ス で入力 し たプ ロ ジ ェ ク ト 名 と 同 じ 名前が付け ら
れ、 .lpr と い う 拡張子が付き ます。図2-2 を参照 し て く だ さ い。
X-Ref Target - Figure 2-2
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 11 UG908 (v2015.4) 2016 年 2 月 2 日
Tcl コ マ ン ド を使用 し た プ ロ ジ ェ ク ト の作成
プ ロ ジ ェ ク ト は、Tcl コ マン ド を使用 し て も 作成で き ます。 Vivado Lab Edition の [Tcl Console] ウ ィ ン ド ウ に次の コ マ
ン ド を入力す る か、 source コ マン ド を使用 し て Tcl フ ァ イ ルか ら 読み込みます。 create_project project_1 C:/Lab_edition/project_1
プ ロ ジ ェ ク ト を開 く
既存のプ ロ ジ ェ ク ト を開 く には、Getting Started ページで [Open Project] を ク リ ッ ク する か (図2-3)、[Recent Projects] リ
ス ト にあ る プ ロ ジ ェ ク ト を ダブル ク リ ッ ク し ます。Vivado Lab Edition プ ロ ジ ェ ク ト フ ァ イ ル (.lpr) を開 く ダ イ ア ロ
グ ボ ッ ク ス が表示 さ れます。 [Recent Projects] リ ス ト には、 デフ ォル ト で 10 個のプ ロ ジ ェ ク ト が表示 さ れます。 こ の
数は、[Tools] → [Options] の [General] ページで変更で き ま す。 プ ロ ジ ェ ク ト が表示 さ れ る 前に、 そのプ ロ ジ ェ ク ト
デー タ が存在す る か ど う かが確認 さ れます。
Tcl コ マ ン ド を使用 し て プ ロ ジ ェ ク ト を開 く
プ ロ ジ ェ ク ト は Tcl コ マン ド を使用 し て開 く こ と も で き ます。 Vivado Lab Edition の [Tcl Console] ウ ィ ン ド ウ に次の コ
マ ン ド を入力す る か、 source コ マン ド を使用 し て Tcl フ ァ イ ルか ら 読み込みます。 open_project C:/Lab_edition/project_1/project_1.lpr
X-Ref Target - Figure 2-3
Vivado Lab Edition で既存のビ ッ ト ス ト リ ーム (.bit) およびデバ ッ グ
プ ローブ (.ltx) フ ァ イルを使用
Vivado Lab Edition が イ ン ス ト ール さ れてい る ラ ボ マシ ンで、 以前に実行 し た イ ンプ リ メ ン テーシ ョ ン run の既存の .bit フ ァ イ ルおよび .ltx フ ァ イ ルを使用で き ます。
一般的な フ ロ ーは次の と お り です。
• Vivado Lab Edition プ ロ ジ ェ ク ト を新 し く 作成 し ます。
• ボー ド に接続 し ます。 • プ ロ ジ ェ ク ト の .bit フ ァ イ ルおよび .ltx フ ァ イ ルを指定 し ます。 注記 : フ ァ イ ルを手動で コ ピーする か、 ネ ッ ト ワー ク ド ラ イ ブにあ る フ ァ イ ルを参照で き ます。 • デバ イ ス をプ ロ グ ラ ム し ます。 • ハー ド ウ ェ アでデザ イ ン をデバ ッ グ し ます。 • 変更はプ ロ ジ ェ ク ト に継続的に保存 さ れます。 • ユーザー プ リ フ ァ レ ン ス、 ラ ン タ イ ム マネージ ャー デバ ッ グ ダ ッ シ ュ ボー ド 、 ウ ィ ン ド ウ設定は、 継続的にプ ロ ジ ェ ク ト に保存 さ れます。 • ユーザー プ リ フ ァ レ ン ス、 ラ ン タ イ ム マネージ ャー デバ ッ グ ダ ッ シ ュ ボー ド 、 ウ ィ ン ド ウ設定は、 プ ロ ジ ェ ク ト を再度開いた と き に復元 さ れます。
Vivado Design Suite か らの既存の .lpr プ ロ ジ ェ ク ト を使用
Vivado Design Suite では、 プ ロ ジ ェ ク ト の開始時に .lpr フ ァ イ ルが作成 さ れ、 ハー ド ウ ェ ア マネージ ャーを使用 し てプ ロ ジ ェ ク ト のデザ イ ン を プ ロ グ ラ ム ま たはデバ ッ グす る と き に、 こ の フ ァ イ ルに適切な詳細情報が記述 さ れ ま す。 こ の フ ァ イ ルは、 project_name.hw デ ィ レ ク ト リ に project_name.lpr と い う 名前で保存 さ れます。 こ の
プ ロ ジ ェ ク ト フ ァ イ ルを Vivado Lab Edition で開 く こ と がで き ます。
一般的な フ ロ ーは次の と お り です。
• Vivado Lab Edition の Getting Started ページで [Open Project] を ク リ ッ ク し ます。
• Vivado IDE プ ロ ジ ェ ク ト デ ィ レ ク ト リ にあ る project_name.hw デ ィ レ ク ト リ に移動 し ます。
• project_name.hw デ ィ レ ク ト リ 内にあ る .lpr プ ロ ジ ェ ク ト フ ァ イ ルを選択 し、 [OK] を ク リ ッ ク し ます。
• ハー ド ウ ェ アに接続 し ます。
• 該当す る Vivado の run デ ィ レ ク ト リ のか ら 正 し い .bit フ ァ イ ルおよび .ltx フ ァ イ ルを使用 し てプ ロ グ ラ ムおよび
デバ ッ グ を実行 し ます。
• ユーザー プ リ フ ァ レ ン ス、 ラ ン タ イ ム マネージ ャー デバ ッ グ ダ ッ シ ュ ボー ド 、 ウ ィ ン ド ウ設定は、 プ ロ ジ ェ ク
ト を開いた と き に復元 さ れます。
プ ロ グ ラ ム機能
プ ロ ジ ェ ク ト を開 き 、 ハー ド ウ ェ ア マネージ ャーを ターゲ ッ ト デバ イ ス に接続 し た ら 、 Vivado Design Suite で使用で
き る すべてのプ ロ グ ラ ム機能を Vivado Lab Edition か ら 使用で き ます。プ ロ グ ラ ム関連の Tcl コ マン ド はすべて Vivado
Lab Edition でサポー ト さ れてい ます。 プ ロ グ ラ ム機能の詳細は、第5 章 「コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 13 UG908 (v2015.4) 2016 年 2 月 2 日
デバ ッ グ機能
プ ロ ジ ェ ク ト を開 き 、 ハー ド ウ ェ ア マネージ ャーを ターゲ ッ ト デバ イ ス に接続 し た ら 、 Vivado Design Suite で使用で
き る すべてのデバ ッ グ機能を Vivado Lab Edition か ら 使用で き ます。デバ ッ グ関連の Tcl コ マン ド はすべて Vivado Lab
Edition でサポー ト さ れてい ます。 デバ ッ グ機能の詳細は、第9 章 「ハー ド ウ ェ アでの ロ ジ ッ ク デザ イ ンのデバ ッ グ」
ビ ッ ト ス ト リ ームの生成
ビ ッ ト ス ト リ ーム デー タ フ ァ イ ルを生成する前に、 ビ ッ ト ス ト リ ーム設定が正 し いかど う かを確認する こ と が重要 です。 Vivado® IDE には、 次の 2 つのビ ッ ト ス ト リ ーム設定があ り ます。 1. ビ ッ ト ス ト リ ーム フ ァ イ ルのフ ォーマ ッ ト 設定 2. デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン設定Flow Navigator の [Bitstream Settings] を ク リ ッ ク す る か、 [Flow] → [Bitstream Settings] を ク リ ッ ク す る と 、 [Project
Settings] ダ イ ア ロ グ ボ ッ ク ス の [Bitstream] ページが開き ます (図3-1)。 ビ ッ ト ス ト リ ーム設定が正 し い こ と を確認 し
た ら 、write_bistream Tcl コ マン ド ま たは Flow Navigator の [Generate Bitstream] を使用し て ビ ッ ト ス ト リ ーム デー タ フ ァ イ ルを生成で き ます。
X-Ref Target - Figure 3-1
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 15 UG908 (v2015.4) 2016 年 2 月 2 日
ビ ッ ト ス ト リ ーム フ ァ イルのフ ォーマ ッ ト 設定の変更
デフ ォ ル ト では、 write_bistream Tcl コ マン ド でバ イ ナ リ ビ ッ ト ス ト リ ーム フ ァ イ ル (.bit) が生成 さ れます。 生 成 さ れ る フ ァ イ ルの フ ォーマ ッ ト を変更す る には、 次のオプシ ョ ン を使用 し ます。 • -raw_bitfile (オプシ ョ ン) : ロー ビ ッ ト フ ァ イ ル (.rbt) を生成 し ます。 ロー ビ ッ ト フ ァ イ ルには、 バ イ ナ リ ビ ッ ト ス ト リ ーム フ ァ イ ル と 同 じ 情報が ASCII 形式で含まれます。 出力フ ァ イ ル名は filename.rbt と な り ます。 • -mask_file (オプシ ョ ン) : マ ス ク フ ァ イ ル (.msk) を生成し ます。 マ ス ク フ ァ イ ルには、 ビ ッ ト ス ト リ ーム フ ァ イ ルの コ ン フ ィ ギ ュ レーシ ョ ン データ が含まれる場所を示すマ ス ク デー タ が含まれます。 こ のフ ァ イ ルは、 検証時にビ ッ ト ス ト リ ームの ど の ビ ッ ト を リ ー ド バ ッ ク データ と 比較するべき かを判断する ために使用 し ます。 マ ス ク ビ ッ ト が 0 の場合はその ビ ッ ト はビ ッ ト ス ト リ ーム デー タ に対 し て検証 さ れ、 1 の場合は検証 さ れませ ん。 出力フ ァ イ ル名は file.msk と な り ます。 • -no_binary_bitfile (オプシ ョ ン) : バ イ ナ リ ビ ッ ト ス ト リ ーム フ ァ イ ル (.bit) を生成 し ません。 こ のオプ シ ョ ンは、 バ イ ナ リ ビ ッ ト ス ト リ ーム フ ァ イ ルを生成せずに、 ASCII 形式のビ ッ ト ス ト リ ーム フ ァ イ ルま たは マ ス ク フ ァ イ ルを生成 し た り 、 ビ ッ ト ス ト リ ーム レ ポー ト を生成 し た り する場合に使用 し ます。• -logic_location_file (オプシ ョ ン) : ラ ッ チ、 フ リ ッ プフ ロ ッ プ、 LUT、 ブ ロ ッ ク RAM、 I/O ブ ロ ッ ク 入力
お よ び出力の ビ ッ ト ス ト リ ーム位置を示す ASCII 形式の ロ ジ ッ ク ロ ケーシ ョ ン フ ァ イ ル (.ll) を生成 し ます。 こ の ロ ケーシ ョ ン フ ァ イ ルではビ ッ ト がフ レームおよびビ ッ ト 番号で示 さ れる ので、FPGA レ ジ ス タ の内容を調 べ る のに役立ち ます。 • -bin_file (オプシ ョ ン) : デバ イ ス プ ロ グ ラ ム データ のみを含むバ イ ナ リ フ ァ イ ル (.bin) を生成 し ます。 通 常のビ ッ ト ス ト リ ーム フ ァ イ ル (.bit) に含まれ るヘ ッ ダー情報は含まれません。 • -reference_bitfile <arg> (オプシ ョ ン) : リ フ ァ レ ン ス ビ ッ ト ス ト リ ーム フ ァ イ ルを読み込み、 指定 し た リ フ ァ レ ン ス フ ァ イ ルか ら の変更部分のみを含む イ ン ク リ メ ン タ ル ビ ッ ト ス ト リ ーム フ ァ イ ルを生成 し ます。 こ のパーシ ャ ル ビ ッ ト ス ト リ ームは、既存のデバ イ ス を ア ッ プデー ト さ れたデザ イ ンで イ ン ク リ メ ン タ ルにプ ロ グ ラ ムす る 場合に使用で き ます。
デバイ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ー
ム設定の変更
コ ン フ ィ ギ ュ レーシ ョ ン設定で最 も 頻繁に変更 さ れ る のは、 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン設定です。 こ れ ら の設 定はデバ イ ス モデルのプ ロ パテ ィ で あ り 、 選択 し た合成済み ま たは イ ン プ リ メ ン ト 済みデザ イ ン ネ ッ ト リ ス ト の[Edit Device Properties Properties] ダ イ ア ロ グ ボ ッ ク ス で変更 し ます。 こ の方法で さ ま ざ ま な ビ ッ ト ス ト リ ーム プ ロ パ テ ィ を変更す る には、 次の手順に従い ます。
1. [Tools] → [Edit Device Properties] を ク リ ッ ク し ます。
ヒ ン ト : 検索フ ィ ール ド にプ ロパテ ィ を入力し ます。 た と えば、 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
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 17 UG908 (v2015.4) 2016 年 2 月 2 日
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] を ク リ ッ ク し ます。
ハー ド ウ ェ ア タ ーゲ ッ ト 接続を開 く
次に、 ハー ド ウ ェ ア ターゲ ッ ト (1 つ以上の FPGA デバ イ ス で構成 さ れる JTAG チ ェーン を含むハー ド ウ ェ ア ボー ド
な ど) を開き、 ハー ド ウ ェ ア ターゲ ッ ト への接続を制御する ハー ド ウ ェ ア サーバーに接続し ます。 こ れには、 次のい
ずれか を実行 し ます。
• 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] を使用する と 、 ローカル ハー ド ウ ェ ア ターゲ ッ ト に自動的に接続されます。
X-Ref Target - Figure 4-1
図 4-1 : Flow Navigator からハー ド ウ ェ ア タ ーゲ ッ ト を開 く
X-Ref Target - Figure 4-2
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 19 UG908 (v2015.4) 2016 年 2 月 2 日
hw_server を使用 し たハー ド ウ ェ ア タ ーゲ ッ ト への
接続
hw_server でサポー ト さ れる互換性のあ る JTAG ダ ウ ン ロー ド ケーブルおよびデバ イ スは、 次の と お り です。 • ザ イ リ ン ク ス プ ラ ッ ト フ ォーム ケーブル USB II (DLC10) • ザ イ リ ン ク ス プ ラ ッ ト フ ォーム ケーブル USB (DLC9G、 DLC9LP、 DLC9) • Digilent 社 JTAG-HS1 • Digilent 社 JTAG-HS2 • Digilent 社 JTAG-HS3 • Digilent 社 JTAG-SMT1 • Digilent 社 JTAG-SMT2ロ ーカル マシ ン上の ターゲ ッ ト に接続する と 、Vivado に よ り hw_server が自動的に実行 さ れます。hw_server は、
ロ ーカル マシ ン ま たは リ モー ト マシ ン上で手動で実行する こ と も で き ます。 Windows プ ラ ッ ト フ ォーム上の Vivado フル イ ン ス ト ールでは、 コ マン ド プ ロ ンプ ト で次の コ マン ド を実行 し ます。 C:\Xilinx\Vivado\<Vivado_version>\bin\hw_server.bat Windows プ ラ ッ ト フ ォーム上の ス タ ン ド ア ロ ンのハー ド ウ ェ ア サーバー イ ン ス ト ールを使用する場合は、 コ マン ド プ ロ ンプ ト で次の コ マ ン ド を実行 し ます。 c:\Xilinx\HWSRVR\<Vivado_version>\bin\hw_server.bat 次のセ ク シ ョ ンの手順に従っ て、 こ のエージ ェ ン ト を使用 し て新 し いハー ド ウ ェ ア ターゲ ッ ト への接続を開き ます。
重要: Vivado ハー ド ウ ェ ア マネージ ャーが hw_server に接続 さ れてお り 、 hw_server が停止し た場合、 ハー ド ウ ェ ア
マネージ ャ ーに よ り こ の状況が自動的に検出 さ れ、 サーバーか ら の接続が解除 さ れます。
新 し いハー ド ウ ェ ア タ ーゲ ッ ト を開 く
Open New Hardware Target ウ ィ ザー ド では、 ウ ィ ザー ド の指示に従いなが ら 、 ハー ド ウ ェ ア サーバー と ターゲ ッ ト を 接続で き ます。 ウ ィ ザー ド でのプ ロ セ ス は次の と お り です。
1. ハー ド ウ ェ ア ターゲ ッ ト を接続する ローカルま たは リ モー ト サーバーを選択 し ます。
• [Local server] :ハー ド ウ ェ ア ターゲ ッ ト を Vivado Lab Edition ま たは Vivado IDE を実行 し てい る マシ ンに接続す
る 場合に選択 し ます (図4-3)。 Vivado に よ り 、 ローカル マシ ン上で Vivado ハー ド ウ ェ ア サーバー (hw_server)
アプ リ ケーシ ョ ンが自動的に開始 さ れます。
• [Remote server] :ハー ド ウ ェ ア ターゲ ッ ト を Vivado Lab Edition ま たは Vivado IDE を実行 し てい る別のマシ ンに
接続す る 場合に選択 し ます。 リ モー ト マシ ンのホ ス ト 名ま たは IP ア ド レ ス と 、 そのマシ ン上で実行中のハー ド
ウ ェ ア サーバー (hw_server) アプ リ ケーシ ョ ンのポー ト 番号を指定し ます (図4-4)。 リ モー ト デバ ッ グの詳細
は、117 ページの 「 ラ ボ マシ ンで動作中の hw_server サーバーへの接続」 を参照 し て く だ さ い。
重要: リ モー ト サーバーを使用する場合は、 ハー ド ウ ェ ア サーバーに接続するのに使用する Vivado のバージ ョ ン と
ヒ ン ト : ラ ボ マシンに リ モー ト で接続する場合は、その リ モー ト マシン上に Vivado Design Suite のフル バージ ョ ン を イ ン ス ト ールす る 必要はあ り ません。 軽量の Vivado ハー ド ウ ェ ア サーバー (ス タ ン ド ア ロ ン) ツールを イ ン ス ト ール で き ます。
X-Ref Target - Figure 4-3
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 21 UG908 (v2015.4) 2016 年 2 月 2 日
2. ハー ド ウ ェ ア サーバーで制御 さ れてい る ターゲ ッ ト の リ ス ト か ら 、 適切なハー ド ウ ェ ア ターゲ ッ ト を選択 し ま
す。 タ ーゲ ッ ト を選択す る と 、 そのハー ド ウ ェ ア ターゲ ッ ト で使用可能なハー ド ウ ェ ア デバ イ ス が表示 さ れま
す (図4-5)。
X-Ref Target - Figure 4-4
重要: 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
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 23 UG908 (v2015.4) 2016 年 2 月 2 日
最近開いたハー ド ウ ェ ア タ ーゲ ッ ト を開 く
Open New Hardware Target ウ ィ ザー ド では、前に接続し たハー ド ウ ェ ア ターゲ ッ ト の リ ス ト も 生成 さ れます。ウ ィ ザー ド を使用 し てハー ド ウ ェ ア タ ーゲ ッ ト に接続 し な く て も 、 Hardware Manager 環境で [Open recent target] リ ン ク を ク
リ ッ ク し 、 リ ス ト か ら 最近接続 し たハー ド ウ ェ ア サーバー/ターゲ ッ ト の組み合わせを選択する と 、前に接続 し たハー
ド ウ ェ ア タ ーゲ ッ ト への接続を再開で き ま す。 こ の最近使用 さ れた タ ーゲ ッ ト の リ ス ト には、 Vivado IDE の Flow Navigator の [Program and Debug] → [Hardware Manager] → [Open Target] か ら も ア ク セ ス で き ます。
Tcl コ マ ン ド を使用 し てハー ド ウ ェ ア タ ーゲ ッ ト を開 く
Tcl コ マン ド を使用 し て、 ハー ド ウ ェ ア サーバー /ターゲ ッ ト に接続する こ と も 可能です。 た と えば、 localhost:3121上
の hw_server で制御 さ れ る digilent_plugin ターゲ ッ ト (シ リ アル番号 210203339395A) に接続する には、 次の Tcl コ
マ ン ド を使用 し ます。
connect_hw_server -url localhost:3121
current_hw_target [get_hw_targets */xilinx_tcf/Digilent/210203339395A] set_property PARAM.FREQUENCY 15000000 [get_hw_targets \
*/xilinx_tcf/Digilent/210203339395A] open_hw_target
ハー ド ウ ェ ア ターゲ ッ ト への接続を開 く と 、[Hardware] ウ ィ ン ド ウ にハー ド ウ ェ ア サーバー、ハー ド ウ ェ ア ターゲ ッ
ト 、 お よ び開いてい る タ ーゲ ッ ト 用の さ ま ざ ま なハー ド ウ ェ ア デバ イ ス が表示 さ れます (図4-6)。
X-Ref Target - Figure 4-6
プ ロ グ ラ ム フ ァ イルをハー ド ウ ェ ア デバイ スに関
連付け
ハー ド ウ ェ ア タ ーゲ ッ ト に接続し た ら 、 FPGA デバ イ ス をプ ロ グ ラ ムする前に、 ビ ッ ト ス ト リ ーム デー タ プ ロ グ ラ
ム フ ァ イ ル を デバ イ ス に関連付け る 必要が あ り ま す。 [Hardware] ウ ィ ン ド ウ でハー ド ウ ェ ア デバ イ ス を 選択 し、
[Properties] ウ ィ ン ド ウ で [Programming File] プ ロ パテ ィ が適切な ビ ッ ト ス ト リ ーム デー タ フ ァ イ ル (.bit) に設定 さ れてい る こ と を確認 し ます。
注記 : Vivado IDE では、 開いてい る ハー ド ウ ェ ア ターゲ ッ ト の最初のデバ イ スの [Programming File] プ ロ パテ ィ 値 と し て、 現在の イ ンプ リ メ ン ト 済みデザ イ ンの .bit フ ァ イ ルが自動的に使用 さ れます。 こ の機能は、 Vivado IDE をプ
ロ ジ ェ ク ト モー ド で使用 し た場合にのみ使用で き ます。 Vivado IDE を非プ ロ ジ ェ ク ト モー ド で使用する場合は、 こ
のプ ロ パテ ィ を手動で設定す る 必要があ り ます。
ま た、set_property Tcl コ マン ド を使用 し て、 ハー ド ウ ェ ア デバ イ ス の PROGRAM.FILE プ ロ パテ ィ を設定で き ます。
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 25 UG908 (v2015.4) 2016 年 2 月 2 日
ハー ド ウ ェ ア デバイ スのプ ログ ラム
プ ロ グ ラ ム フ ァ イ ルをハー ド ウ ェ ア デバ イ ス に関連付けた ら 、 [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
ハー ド ウ ェ ア タ ーゲ ッ ト を閉 じ る
ハー ド ウ ェ ア タ ーゲ ッ ト を閉 じ る には、 [Hardware] ウ ィ ン ド ウ でハー ド ウ ェ ア タ ーゲ ッ ト を右 ク リ ッ ク し、 [Close Target] を ク リ ッ ク し ま す。 Tcl コ マ ン ド で も 同 じ 操作 を 実行 で き ま す。 た と え ば、 localhost サ ー バー上 の xilinx_platformusb/USB21 ターゲ ッ ト を閉 じ る には、 次の Tcl コ マン ド を使用 し ます。 close_hw_target {localhost/xilinx_tcf/Digilent/210203339395A} 重要: ボー ド の電源がオフになった場合、 ま たはケーブルの接続が解除された場合、 Vivado IDE に よ り ハー ド ウ ェ ア マネージ ャ ーのハー ド ウ ェ ア ターゲ ッ ト が閉 じ ら れます。 メ イ ンの Vivado ス レ ッ ド に対する Vivado の操作 も キ ャ ン セル さ れます。ハー ド ウ ェ ア サーバーへの接続を閉 じ る
ハー ド ウ ェ ア サーバーへの接続 を 閉 じ る には、 [Hardware] ウ ィ ン ド ウ でハー ド ウ ェ ア サーバー を 右 ク リ ッ ク し、[Close Server] を ク リ ッ ク し ます。 Tcl コ マ ン ド で も 同 じ 操作を実行で き ます。 た と えば、 localhost サーバーへの接続
を閉 じ る には、 次の Tcl コ マン ド を使用 し ます。
disconnect_hw_server localhost
重要: Vivado ハー ド ウ ェ ア マネージ ャーが hw_server に接続 さ れてお り 、 hw_server が停止し た場合、 ハー ド ウ ェ ア
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 27 UG908 (v2015.4) 2016 年 2 月 2 日
低い JTAG ク ロ ッ ク周波数での タ ーゲ ッ ト デバイ ス
への接続
JTAG チ ェ ーンは、 チ ェ ーン内で一番遅いデバ イ ス と 同 じ 速 さ にな り ます。 JTAG ク ロ ッ ク の周波数を下げ る には、 JTAG ク ロ ッ ク 周波数がデフ ォル ト の JTAG ク ロ ッ ク 周波数よ り も 低い ターゲ ッ ト デバ イ ス に接続し ます。 デフ ォ ル ト の JTAG ク ロ ッ ク 周波数 (ケーブル接続の場合は 15MHz、 USB ケーブル接続の場合は 6MHz) を使用 し て 開いてみ る 必要があ り ます。 こ れ ら の速度で接続で き ない場合は、 次に説明す る よ う に、 デフ ォ ル ト の JTAG 周波数 を さ ら に下げ る こ と をお勧め し ます。JTAG ク ロ ッ ク 周波数を変更する には、 Vivado Design Suite の Open New Hardware Target ウ ィ ザー ド を使用し ます
(図4-8)。
ま たは、 次の Tcl コ マン ド シーケ ン ス を使用 し ます。
open_hw connect_hw_server -url machinename:3121
current_hw_target [get_hw_targets */xilinx_tcf/Digilent/210203327962A]
set_property PARAM.FREQUENCY 250000 [get_hw_targets */xilinx_tcf/Digilent/210203327962A] open_hw_target
X-Ref Target - Figure 4-8
JTAG チ ェ ーンに 32 個を超え るデバイ ス を含むサー
バーへの接続
Vivado では、 JTAG チ ェーンに 32 個を超え るデバ イ ス を含むサーバーへ接続する こ と が可能です。 ス キ ャ ン チ ェー ンでデバ イ ス を検出す る ための機能を有効にす る ため、 hw_server の開始時に max-jtag-devices オプシ ョ ン を 指定す る 必要があ り ます。 こ の設定のデフ ォ ル ト 値は 32 です。 こ の値を大 き く する と 、 デバ イ ス検出プ ロ セ ス に時 間がかか り 、 ケーブル ア ク セ ス が遅 く な っ て し ま う 可能性があ る こ と に注意 し て く だ さ い。 次の よ う に、 hw_server の開始時に max-jtag-devices オプシ ョ ン を指定し ます。 hw_server -e "set max-jtag-devices 64"Vivado での リ モー ト デバ ッ グ
さ ま ざ ま な状況で リ モー ト デバ ッ グが必要にな る こ と が多 く な っ てい ます。 た と えば、 ラ ボへの物理的なア ク セ ス の ない場合に ラ ボでデザ イ ン をデバ ッ グす る 場合、 組織内で リ ソ ース を共有す る 場合な ど、 製品のプ ロ ト タ イ プ段階で 必要にな る 可能性があ り ます。 リ モー ト デバ ッ グは、 問題を診断し た り 、 製品 ラ イ フサ イ ク ルを延長する ための イ ン フ ィ ール ド デバ ッ グ/ア ッ プデー ト に必要な こ と も あ り ます。 ザ イ リ ン ク ス では、デザ イ ン を リ モー ト でデバ ッ グ/ア ッ プデー ト する複数の ソ リ ューシ ョ ン を提供し てい ます。 こ れ は、 ラ ボでザ イ リ ン ク ス ハー ド ウ ェ ア サーバー製品を使用 し て リ モー ト コ ン ピ ュ ー タ に接続する と 実行で き ます。 ま た、 ザ イ リ ン ク ス仮想ケーブル (XVC) プ ロ ト コ ルを イ ンプ リ メ ン ト し て も 、 ネ ッ ト ワー ク に接続 さ れたボー ド に接 続で き ます。 こ れ ら の各 ソ リ ュ ーシ ョ ンについては、 次のセ ク シ ョ ンで説明 し ます。イ ーサネ ッ ト か ら Vivado ハー ド ウ ェ ア サーバーを使用 し たデ
バ ッ グ
リ モー ト ラ ボ マシ ンには、 Vivado ハー ド ウ ェ ア サーバー製品を使用する と 接続で き ます。 こ れは、 100MB 未満の小 さ いサ イ ズの ス タ ン ド ア ロ ン ダ ウ ン ロー ド で、 ラ ボ マシ ンに イ ン ス ト ール し ます。 こ のオプシ ョ ン を実行する には、 イ ン ト ラ ネ ッ ト ま たは イ ン タ ーネ ッ ト ア ク セ ス が必要で、 ユーザーの組織内部でのみ使用で き ます。X-Ref Target - Figure 4-9
図 4-9 : イ ン ト ラ ネ ッ ト /イ ン タ ーネ ッ ト からハー ド ウ ェ ア サーバーを使用 し たデバ ッ グ
'HVN /DE
,17(51(7,175$1(7
+$5':$5(6(59(5
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 29 UG908 (v2015.4) 2016 年 2 月 2 日
ザイ リ ン ク ス仮想ケーブル (XVC)
ザ イ リ ン ク ス仮想ケーブル (XVC) は、 Vivado IDE 2014.3.1 リ リ ース以降のバージ ョ ンでサポー ト さ れます。 ザ イ リ ン ク ス仮想ケーブルを使用す る と 、USB ま たはパ ラ レル コ ン フ ィ ギ ュ レーシ ョ ン ケーブルな し にザ イ リ ン ク ス デバ イ ス にア ク セ ス し てデバ ッ グがで き ます。 こ の機能に よ り 、 次の よ う なデザ イ ン を Vivado IDE でデバ ッ グ し やす く な り ます。 • ラ ボ と PC が近 く にない場合に、 ア ク セ ス し に く い位置に FPGA があ る • ボー ド のデバ イ ス ピ ンへの直接ア ク セ ス がない (例 : JTAG ピ ンが ローカル マ イ ク ロ プ ロ セ ッ サ イ ン ターフ ェ イ ス か ら のみア ク セ ス可能) XVC は JTAG ケーブルの よ う に動作する イ ン ターネ ッ ト ベース (TCP/IP) プ ロ ト コ ルで、かな り 基本的な ケーブル コ マ ン ド を含みます。XVC を使用する と 、 イ ン ト ラ ネ ッ ト を介し てシ ス テ ム をデバ ッ グで き ます。 こ の機能に よ り 、 コ ス ト のかか る 実行困難な伝搬が少な く な り 、 リ モー ト にあ る シ ス テ ム をデバ ッ グす る のにかか る 時間が削減 さ れ ま す。XVC イ ンプ リ メ ン テーシ ョ ンはプ ロ グ ラ ム言語であ り 、 プ ラ ッ ト フ ォームが独立 し ています。 プ ロ セ ッ サか ら タ ーゲ ッ ト デバ イ スへの適切な JTAG コ マン ド を作成する には、 専用の JTAG ヘ ッ ダーを使用する よ り も 、 既存の イ ーサネ ッ ト 接続 を 使用 し ま す。XVC v1.0 プ ロ ト コ ル を 使用す る と 、 イ ーサネ ッ ト 接続を 使用 し てVivado か ら 同 じ JTAG コ マ ン ド を使用で き ます。 既存の Vivado デバ ッ グお よ びプ ロ グ ラ ム機能はサポー ト さ れた ま ま にな り ます。 図4-10 は よ く あ る ケース で、 データ セン ターでデバ イ ス をデバ ッ グする必要があ る例を示 し てい ます。 こ れ ら のデ バ イ ス は、 ラ ッ ク にマ ウ ン ト さ れたボー ド 上の離れた箇所にあ り ます。 デス ク ト ッ プ/ホ ス ト マシ ンで Vivado IDE お よ びハー ド ウ ェ ア サーバー (hw_server) を実行 し て、 イーサネ ッ ト を介 し てデータ セン ター と 通信で き る ので、 JTAG を使用 し てマ イ ク ロ プ ロ セ ッ サで実行 さ れ る XVC サーバー と 通信で き ます。
XVC サーバー イ ン プ リ メ ン テーシ ョ ン
XVC プ ロ ト コ ルを イ ンプ リ メ ン ト し て、 適切なプ ロ セ ッ サに XVC サーバーを作成する必要があ り ます。X-Ref Target - Figure 4-10
図 4-10 : イーサネ ッ ト から XCV サーバーを使用 し たデバ ッ グ
KZBVHUYHU
(WKHUQHW;9& 'DWD&HQWHU ;9&6HUYHU 7&,3,3 RU RWKHUSURFHVVRU 7DUJHW )3*$ -7$* ;XVC プ ロ ト コ ル
XVC プ ロ ト コ ルを使用する と 、 イーサネ ッ ト を介 し て Vivado IDE か ら JTAG コ マン ド をエンベデ ッ ド シ ス テ ムに対
し て実行で き 、 タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス がプ ロ グ ラ ム ま たはデバ ッ グで き る よ う にな り ます。 こ れに よ り 、 ど のベン ダーを使用す る かに関係な く 、 ザ イ リ ン ク ス デバ イ ス をデバ ッ グおよびプ ロ グ ラ ムで き ます。 プ ロ グ ラ ム機 能には、 従来の JTAG 接続 と 同 じ サポー ト が含まれ、 デバ ッ グ機能には、 ザ イ リ ン ク ス シ ス テ ム デバ ッ ガー (XSDB) ま たは Vivado ハー ド ウ ェ ア デバ ッ グ IP を使用 し た操作性が含まれます。 デバ イ スへの JTAG コ マン ド は、 プ ロ グ ラ ム ケーブルを使用 し て通信 し た場合ま たは Digilent モジ ュールを使用 し た 場合にデバ イ スへ転送 さ れ る の と 同 じ コ マ ン ド です。 こ の コ マ ン ド に よ り 、 すべての既存の Vivado ハー ド ウ ェ ア デ バ ッ グ ツール間で機能が使用で き ます。
ユーザー XVC 1.0 コ マ ン ド
表4-1 は、 XVC 1.0 プ ロ ト コ ル コ マン ド について ま と めています。 表 4-1 : XVC コ マ ン ド の説明 コ マ ン ド 説明 getinfo コ マ ン ド 形式 : getinfo : XCV サービ ス バージ ョ ン を取得し ます。getinfo を受信する と 、サービ スか ら次の文字列を返し ます。 xvcServer_v1.0:<xvc_vector_len>\n <xvc_vector_len> は、 サービ ス にシ フ ト 可能なベ ク ターの最大幅です。 shift コ マ ン ド 形式 :shift:[num bits][tms vector][tdi vector]
tms_vector および tdi_vecto のバ イ ト ベ ク ターを使用し て num_bits でシ フ ト を実行し ます。 • num_bits は リ ト ル エンデ ィ ア ン モー ド の整数です。
こ れは、 ベ ク タ ーを シ フ ト ア ウ ト す る のに必要な TCK clk ト グルの数を示 し ています。 • tms_vector は、 すべての TMS シ フ ト ビ ッ ト を使用し たバ イ ト サ イ ズのベ ク ターです。
こ のベ ク タ ーのバ イ ト 0 のビ ッ ト 0 が最初にシ フ ト ア ウ ト さ れます。
ベ ク タ ーは num_bits で、 最 も 近いバ イ ト に丸め ら れます。
• tdi_vector は tms_vector と 似てい ますが、 すべての tdi ベ ク ターがシ フ ト イ ン さ れる と こ ろ を示 し てい ます。 こ の コ マ ン ド は、 シ フ ト イ ン さ れ る ビ ッ ト ご と にサンプ リ ン グ さ れ る 該当す る tdo ビ ッ ト を使用 し て、 tms_vector と 同じ サ イ ズのバ イ ト ベ ク ターを返 し ます。 こ のベ ク タ ーのバ イ ト 0 のビ ッ ト 0 は、 シ フ ト か ら 読み出 さ れ る最初の tdo 値です。 settck コ マ ン ド 形式 : settck:[period] サービ ス tck 周期を [period] に設定し よ う と し ます。 • [period] は ns で指定 さ れます。 こ れは リ ト ル エンデ ィ ア ンの整数値です。 こ の コ マ ン ド は、 settck: が終了 し た と き に適用 さ れた周期を返 し ます。 • 返 さ れた値は ns で指定 さ れます。 こ れは リ ト ル エンデ ィ ア ンの整数値です。
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 31 UG908 (v2015.4) 2016 年 2 月 2 日
Vivado IDE の hw_server の初期化
Vivado IDE の hw_server が XVC 接続を使用し て開始 さ れ る と 、 Vivado IDE で USB ケーブル と 同 じ よ う に XVC ケー ブルが認識 さ れます。 こ れには、 次の引数を使用 し て Vivado IDE の hw_server を開始 し ます。
hw_server -e "set auto-open-servers xilinx-xvc:localhost:10200"
auto-open-servers オプシ ョ ンは、 起動時に hw_server で初期化 さ れる よ う に XVC ケーブルを イ ネーブルに し ま す。 既存の XVC ケーブルへの接続が使用 さ れ る よ う に、 ハー ド ウ ェ ア サーバーを初期化で き ます。 サーバーでは、 今後の接続で XVC ケーブルが自動的に認識 さ れる よ う にな り ます。 auto-open-servers への引数は、 次の よ う にな り ます。 xilinx-xvc:<xvc_host_name>:<xvc_port> 複数のサーバーを指定す る には、 カ ン マで区切 り ます。 ハー ド ウ ェ ア サーバーが開始 さ れ る と 、 指定 し た XVC サー バーへの接続を構築 し よ う と し ます。
こ の例については、 『PetaLinux ツールを使用 し た Zynq-7000 でのザ イ リ ン ク ス仮想ケーブルの実行』 (XAPP1251) [参
照13] を参照 し て く だ さ い。
こ の ア プ リ ケ ー シ ョ ン ノ ー ト は、 PetaLinux ツ ール で生成 さ れ た Linux オペ レ ー テ ィ ン グ シ ス テ ム を 使用 し て Zynq®-7000 デバ イ ス で実行 さ れ る ザ イ リ ン ク ス仮想ケーブル (XVC) を取得する方法を示 し ています。 使用 さ れてい る 参照デザ イ ンは、Avnet MicroZed ボー ド 用です。 こ のアプ リ ケーシ ョ ン ノ ー ト の ターゲ ッ ト デバ イ スは AC701 で、 Linux で XVC を実行する MicroZed ボー ド でプ ロ グ ラ ムおよびデバ ッ グ さ れます。
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバイ ス
のプ ログ ラ ム
Vivado デバ イ ス プ ロ グ ラ マ機能を使用す る と 、 ザ イ リ ン ク ス FPGA デバ イ ス を JTAG を介 し て直接プ ロ グ ラ ムで き
ます。Vivado では、 フ ラ ッ シ ュ ベース の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス を JTAG を介 し て間接的にプ ロ グ ラ ムす る こ と も で き ます。 こ れには、 まず JTAG と フ ラ ッ シ ュ デバ イ ス イ ン ターフ ェ イ ス の間にデータ パス を提供 す る 特別な コ ン フ ィ ギ ュ レーシ ョ ン を使用 し てザ イ リ ン ク ス FPGA デバ イ ス を プ ロ グ ラ ム し、 そのデー タ パス を使 用 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス の内容をプ ロ グ ラ ム し ます。 Vivado デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン機能を使用する と 、 ザ イ リ ン ク ス FPGA ま たは メ モ リ デバ イ ス をザ イ リ ン ク ス ケーブルま たは Digilent ケーブルを使用し て直接プ ロ グ ラ ムで き ます。適切な ケーブルの リ ス ト は、19 ページの 「hw_server を使用 し たハー ド ウ ェ ア タ ーゲ ッ ト への接続」 を参照 し て く だ さ い。 バ ウ ン ダ リ ス キ ャ ン モー ド で実行 す る と 、 ザ イ リ ン ク ス FPGA お よびコ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ン ま たはプ ロ グ ラ ムで き ます。 Vivado でサポー ト さ れる コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス の リ ス ト は、付録C 「コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ のサポー ト 」 を参照 し て く だ さ い。 Vivado で コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス をプ ロ グ ラ ム し、 こ のデバ イ ス か ら 起動する には、 次の手順に従 い ます。 1. コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス で使用する ビ ッ ト ス ト リ ーム を生成 し ます。 2. コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ フ ァ イ ル (.mcs ま たは .bin) を作成 し ます。 3. Vivado でハー ド ウ ェ ア ターゲ ッ ト に接続 し ます。 4. コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス を追加 し ます。 5. Vivado IDE を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス をプ ロ グ ラ ム し ます。 6. FPGA デバ イ ス を起動し ます (オプシ ョ ン)。
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 33 UG908 (v2015.4) 2016 年 2 月 2 日
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバイ スで使用す
る ビ ッ ト ス ト リ ームの生成
合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ン を開 き 、[Tools] → [Edit Device Properties] を ク リ ッ ク し て [Edit
Device Properties] ダ イ ア ロ グ ボ ッ ク ス を開き ます。
ダ イ ア ロ グ ボ ッ ク ス の左上にあ る検索フ ィ ール ド を使用 し て、すべての SPI ま たは BPI に関連する フ ィ ール ド を検索
し 、 適切なオプシ ョ ン を設定 し ます。 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン設定の詳細は、付録A 「デバ イ ス コ ン フ ィ
ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム設定」 を参照 し て く だ さ い。
X-Ref Target - Figure 5-1
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ フ ァ イルの作成
プ ロ グ ラ ム フ ァ イ ル (.mcs ま たは .bin) を作成する には、write_cfgmem Tcl コ マン ド を使用 し ます。 こ のフ ァ イ
ルは、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス のプ ロ グ ラ ムに使用 し ます。
た と えば、1G ビ ッ ト の BPI コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス の .mcs フ ァ イ ルを生成する には、 次の コ マン
ド を使用 し ます。
write_cfgmem -format mcs -interface bpix16 -size 128 \
-loadbit "up 0x0 design.bit"-file design.mcs
注記 : write_cfgmem コ マン ド の -size オプシ ョ ンは メ ガ バ イ ト で指定する ので、単位が メ ガ ビ ッ ト のフ ラ ッ シ ュ
デバ イ ス の容量 と は異な り ます。 そのため上記の write_cfgmem コ マン ド の例では、 1G ビ ッ ト のフ ラ ッ シ ュ デバ
イ ス のサ イ ズが 128MB と 指定 さ れてい ます。 write_cfgmem コ マン ド では、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ フ ァ イ ルのサ イ ズが自動的にビ ッ ト ス ト リ ームのサ イ ズに設定 さ れます。
Vivado IDE では、 write_cfgmem コ マ ン ド を使用 し て複数の .bit フ ァ イ ルをチ ェーン接続で き ます。 複数のビ ッ ト ス ト リ ーム を含む 1 つの 1G ビ ッ ト BPI コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス の .mcs フ ァ イ ルを生成す る に は、 次の コ マ ン ド を使用 し ます。
write_cfgmem -format mcs -interface bpix16 -size 128 \
-loadbit "up 0 design1.bit up 0xFFFFF design2.bit" \
-file design1_design2.mcs
write_cfgmem コ マン ド の詳細は、 『Vivado Design Suite Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 8] を参照
し て く だ さ い。
Vivado でハー ド ウ ェ ア タ ーゲ ッ ト に接続
Vivado でハー ド ウ ェ ア ターゲ ッ ト に接続する には、 次の手順に従い ます。 1. ハー ド ウ ェ ア ターゲ ッ ト の FPGA モー ド ピ ンで、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス か ら FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る のに適切な コ ン フ ィ ギ ュ レーシ ョ ン モー ド (マ ス タ ー SPI ま たはマ ス タ ー BPI) が選択 さ れてい る こ と を確認 し ます。 詳細は、 タ ーゲ ッ ト デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド を参照 し て く だ さ い。 2. ハー ド ウ ェ ア ターゲ ッ ト に接続する には、第4 章 「FPGA デバ イ ス のプ ロ グ ラ ム」 の手順に従っ て く だ さ い。 重要: ボー ド の電源がオフになった場合、 ま たはケーブルの接続が解除された場合、 Vivado IDE に よ り ハー ド ウ ェ ア タ ーゲ ッ ト が閉 じ ら れます。 メ イ ンの Vivado ス レ ッ ド に対する Vivado の操作 も キ ャ ンセル さ れます。Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 35 UG908 (v2015.4) 2016 年 2 月 2 日
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバイ スの追加
Vivado デバ イ ス プ ロ グ ラ マでハー ド ウ ェ ア ターゲ ッ ト に コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス を追加する には、 次の手順に従い ます。 1. 前述の手順に従っ てハー ド ウ ェ ア ターゲ ッ ト に接続し た後、 次の図に示すよ う にハー ド ウ ェ ア ターゲ ッ ト を右ク リ ッ ク し て [Add Configuration Memory Device] を ク リ ッ ク し ます。
X-Ref Target - Figure 5-2
こ の メ ニ ュ ーを ク リ ッ ク す る と 、[Add Configuration Memory Device] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
2. 適切な コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス を選択 し、 [OK] を ク リ ッ ク し ます。
ヒ ン ト : [Search] フ ィ ール ド を使用し て、 ベンダー、 集積度、 タ イ プなどで絞 り 込みます。
こ れでハー ド ウ ェ ア ターゲ ッ ト デバ イ ス に コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ デバ イ ス が追加 さ れま し た。
X-Ref Target - Figure 5-3
図 5-3 : [Add Configuration Memory Device] ダ イ ア ログ ボ ッ ク スのデバイ ス選択ページ
X-Ref Target - Figure 5-4