UG896 - Xilinx

Vivado Design Suite
ユーザー ガ イ ド
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
A
日付
バージ ョ ン
改訂内容
2016 年 4 月 12 日
2016.1
第 1 章の 「 リ ビ ジ ョ ン管理の使用」 に Vivado Design Suite チ ュ ー ト リ アルお よ び 『UltraFast
設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) への リ ン ク を追加
「有償 ラ イ セ ン ス IP の使用」 を改善
第 2 章の 「IP の フ ィ ル タ ー」 に用語の説明を追加
「IP ユーザー フ ァ イ ル (ip_user_files) の理解」 を変更
「IP のア ッ プグ レー ド 」 に資料お よ びビデオへの参照を追加
「Tcl コ マ ン ド を使用 し た IP のア ッ プグ レー ド 」 お よ び 「IP の Tcl コ マ ン ド (デザ イ ンで使
用 さ れ る 順)」 の表に注意事項を追加
「 タ ーゲ ッ ト ク ロ ッ ク 周期の設定」 お よ び第 2 章の 「Tcl コ マ ン ド を使用 し た タ ーゲ ッ ト ク
ロ ッ ク 周期の設定」 を追加 し 、 create_clock を追加
第 2 章の 「 コ ア コ ン テナーの使用」 を追加
第 2 章の 「階層 IP」 を追加
第 2 章の 「IP のア ッ プグ レー ド 」 に -log Tcl オプシ ョ ン を追加
リ リ ース に併せてすべての図を ア ッ プデー ト
「IP キ ャ ッ シ ュ の設定」 の説明に よ り 詳細な情報を追加
「 リ ビ ジ ョ ン管理の使用」、 「有償 ラ イ セ ン ス IP の使用」、 「IP のカ ス タ マ イ ズ」、 「 コ ア コ ン
テナーの使用」、 「制約フ ァ イ ルの処理順序」、 「 ク ロ ッ ク 制約の決定 と ク ロ ッ ク メ ッ セージ
の解釈」 セ ク シ ョ ンに QuickTake ビデオへの リ ン ク を追加
第 6 章の 「デザ イ ン フ ロ ーにおけ る IP の Tcl コ マ ン ド の使用」 を ア ッ プデー ト
付録 D の 「サブシ ス テ ム IP の編集」 を ア ッ プデー ト
「その他の リ ソ ースお よ び法的通知」 に資料への リ ン ク を追加
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
2
japan.xilinx.com
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : IP 中心のデザイ ン フ ロー
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP 関連用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP パ ッ ケージ ャ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP イ ン テ グ レー タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
リ ビ ジ ョ ン管理の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
7
8
8
8
第 2 章 : IP の基礎
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
IP のプ ロ ジ ェ ク ト 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
IP カ タ ロ グの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
IP のカ ス タ マ イ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
出力フ ァ イ ルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
コ ア コ ン テナーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
IP ユーザー フ ァ イ ル (ip_user_files) の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
IP の イ ン ス タ ン シエーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
プ ロ ジ ェ ク ト 内の IP ス テー ト の理解. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
IP の制約の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
IP のシ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
IP のア ッ プグ レー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
階層 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
デバ ッ グ IP の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
第 3 章 : Manage IP プ ロ ジ ェ ク ト の使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Manage IP 機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Manage IP フ ロ ーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
第 4 章 : IP のサン プル デザイ ンの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
サンプル デザ イ ン を開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
ス タ ン ド ア ロ ン IP の評価. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
第 5 章 : ザイ リ ン ク ス IP と サー ド パーテ ィ 合成ツール
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
サー ド パーテ ィ 合成フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
第 6 章 : IP 操作用 Tcl コ マ ン ド
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
3
japan.xilinx.com
デザ イ ン フ ロ ーにおけ る IP の Tcl コ マ ン ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
IP 操作用 Tcl コ マ ン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
IP フ ロ ー コ マ ン ド の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
付録 A : IP がロ ッ ク さ れる理由
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
付録 B : IP の フ ァ イルおよびデ ィ レ ク ト リ 構造
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP で生成 さ れ る デ ィ レ ク ト リ お よ びフ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP に関連付け ら れてい る フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COE フ ァ イ ルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
89
91
91
付録 C : IP のプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
付録 D : IP ソ ースの変更または無効化
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
IP 制約の無効化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
IP ソ ース の編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
サブシ ス テ ム IP の編集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
付録 E : その他の リ ソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
102
102
102
105
4
japan.xilinx.com
第 1章
IP 中心のデザイ ン フ ロー
概要
ザ イ リ ン ク ス Vivado® Design Suite には、さ ま ざ ま なデザ イ ン ソ ース か ら の IP モジ ュ ールをデザ イ ンに追加で き る IP
中心のデザ イ ン フ ロ ーがあ り ます。 こ のデザ イ ン フ ロ ーの中心 と な る のが、 ザ イ リ ン ク ス の提供す る プ ラ グ ア ン ド
プ レ イ IP を含む拡張可能な IP カ タ ロ グです。 IP カ タ ロ グは、 次を追加す る こ と に よ り 拡張可能です。
•
System Generator for DSP デザ イ ンか ら のモジ ュ ール (Simulink® アルゴ リ ズ ムか ら の MATLAB®)
•
Vivado 高位合成 (HLS) デザ イ ン (C/C++ アルゴ リ ズ ム)
•
サー ド パーテ ィ IP
•
Vivado IP パ ッ ケージ ャ ーを使用 し て IP と し てパ ッ ケージ さ れたデザ イ ン
図 1-1 に、 IP 中心のデザ イ ン フ ロ ーを示 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
5
japan.xilinx.com
第 1 章 : IP 中心のデザイ ン フ ロー
X-Ref Target - Figure 1-1
浧⇜⚗㒟+/6&&
ኚዙኖኲቾኁወ
6\VWHP*HQHUDWRUIRU
'63ኚዙኖኲቾኁወ
ኔኼዂዉዙኔዄዐ኿ኤወ
ኲቾኁወ
57/,3ኚዙኖኲቾኁወ
VLPVHWV
+'/
9HULORJ
6\VWHP9HULORJ
ኦኊዂኾዐኣዙኔዄዐ
ኲቾኁወ
ኒዐኴወኤናኁዐ
ኣኖእ኶ዐኞ
栱抲ቑ,3ኲቾኁወ
,3ኮአ኎ዙንዀዙ
,3ኈኜዊኍ
ናኁ዇ዐኌኖ,3
ኒዙኦኮዙኣኀ,3
ዃዙናዙ,3
8VHU'HVLJQ
;
図 1-1 : IP 中心のデザイ ン フ ロー
注記 : サー ド パーテ ィ か ら 合成済み EDIF ネ ッ ト リ ス ト と し て提供 さ れてい る IP も あ り ます。 こ れ ら の フ ァ イ ルは、
[Add Sources] コ マ ン ド を使用 し て Vivado デザ イ ンに読み込む こ と がで き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
6
japan.xilinx.com
第 1 章 : IP 中心のデザイ ン フ ロー
デザ イ ンに含まれ る IP は、 次の方法で操作で き ます。
•
Manage IP フ ロ ーを使用 し て IP を カ ス タ マ イ ズ し 、 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を含む出力フ ァ
イ ルを生成 し て、 現在お よ び今後の リ リ ース で使用す る ためにカ ス タ マ イ ズ を保持 し ます。 詳細は、 第 3 章
「Manage IP プ ロ ジ ェ ク ト の使用」 を参照 し て く だ さ い。
•
プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド の ど ち ら で も 、 作成 さ れた XCI (Xilinx Core Instance) フ ァ イ
ルを参照 し て IP を使用 し ます。 こ れは、 チーム メ ンバーの多い大型のプ ロ ジ ェ ク ト に推奨 さ れ る 方法です。
•
プ ロ ジ ェ ク ト か ら IP カ タ ロ グにア ク セ ス し 、 IP を カ ス タ マ イ ズ し てデザ イ ンに追加 し ます。 IP をプ ロ ジ ェ ク ト
内ま たはプ ロ ジ ェ ク ト 外に保存 し ます。 こ れは、 チーム メ ンバーの少ない小型のプ ロ ジ ェ ク ト に推奨 さ れ る 方
法です。
•
非プ ロ ジ ェ ク ト ス ク リ プ ト フ ロ ーで IP を作成 し て カ ス タ マ イ ズ し 、 DCP を含む出力フ ァ イ ルを生成 し ます。
非プ ロ ジ ェ ク ト モー ド の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892) [参
照 15] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ザ イ リ ン ク ス IP を Vivado で使用す る 方法については、 『Vivado Design Suite チ ュ ー ト リ アル : IP を使用 し た設計』
(UG939) [参照 19] を参照 し て く だ さ い。
ト レーニ ング : ザ イ リ ン ク ス では、 本書に含まれ る コ ン セプ ト を説明する ト レーニ ン グ コ ース を提供 し てい ます。
関連す る ト レーニ ン グ コ ース、Vivado での FPGA 設計導入お よ び Zynq All Programmable SoC エンベデ ッ ド シ ス テ ム
ソ フ ト ウ ェ ア開発を参照 し て く だ さ い。
IP 関連用語
Vivado IDE では、 IP を説明す る のに次の用語を使用 し ます。
•
IP 定義 (IP Definition) : IP の IP-XACT 特性の記述。
•
IP のカ ス タ マ イ ズ (IP Customization) : IP 定義か ら IP を カ ス タ マ イ ズす る こ と 。 XCI フ ァ イ ルに記述 さ れます。
XCI フ ァ イ ルには、 カ ス タ マ イ ズ中にユーザーが指定 し た コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンが含まれます。
•
IP デ ィ レ ク ト リ (IP Location) : 現在のプ ロ ジ ェ ク ト で参照 さ れ る 1 つま たは複数のカ ス タ マ イ ズ済み IP を含む
ディ レク ト リ。
•
IP リ ポジ ト リ (IP Repository) : ザ イ リ ン ク ス IP カ タ ロ グに追加 さ れた IP 定義の コ レ ク シ ョ ンの統合ビ ュ ー。
•
出力フ ァ イ ル (Output Products) : カ ス タ マ イ ズ さ れた IP 用に生成 さ れ る フ ァ イ ルで、 HDL、 制約、 お よ びシ
ミ ュ レーシ ョ ン タ ーゲ ッ ト な ど が含まれます。 XCI フ ァ イ ルに含まれ る IP のカ ス タ マ イ ズが使用 さ れ、 合成お
よ びシ ミ ュ レーシ ョ ンに使用 さ れ る フ ァ イ ルが生成 さ れます。
•
IP カ タ ロ グ : IP カ タ ロ グか ら 、 ザ イ リ ン ク ス のプ ラ グ ア ン ド プ レ イ IP やその他の IP-XACT 準拠の IP
(Intellectual Property) を使用で き ます。 IP と し てパ ッ ケージ し たデザ イ ン を含め る こ と も で き ます。 詳細は、
第 2 章 「IP の基礎」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
7
japan.xilinx.com
第 1 章 : IP 中心のデザイ ン フ ロー
IP パ ッ ケージ ャ ー
Vivado IP パ ッ ケージ ャ ーを使用す る と 、 プ ラ グ ア ン ド プ レ イ IP を作成 し 、 その IP を Vivado IP カ タ ロ グに追加で き
ます。 IP パ ッ ケージ ャ ー ウ ィ ザー ド は、 『Standard Structure for Packaging, Integrating, and Reusing IP within Tool Flows』
[参照 39] に示す IP-XACT の IEEE 規格 (IEEE Std 1685) に基づいてい ます。
Vivado Design Suite ユーザー デザ イ ン を アセ ンブル し た ら 、 IP パ ッ ケージ ャ ーでそのデザ イ ン を再利用可能な IP モ
ジ ュ ールに変換 し 、 Vivado IP カ タ ロ グに追加で き ます。 こ れで、 ほかのユーザーがそれぞれのデザ イ ンに使用で き
る よ う にな り ます。 パ ッ ケージ さ れた IP は、 プ ロ ジ ェ ク ト ベース ま たは非プ ロ ジ ェ ク ト ベース のデザ イ ンで使用で
き ます。 詳細は、 次の資料を参照 し て く だ さ い。
•
パ ッ ケージ機能の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』
(UG1118) [参照 4] を参照 し て く だ さ い。
•
パ ッ ケージ機能の使用方法を含むデザ イ ン ソ リ ュ ーシ ョ ン を使用 し た演習は、 『Vivado Design Suite チ ュ ー ト リ
アル : カ ス タ ム IP の作成お よ びパ ッ ケージ』 [参照 5] (UG1119) を参照 し て く だ さ い。
ヒ ン ト : IP はプ ロ ジ ェ ク ト 内に配置す る か、 リ モー ト デ ィ レ ク ト リ を使用 し ます。
IP イ ン テグ レー タ ー
Vivado Design Suite の IP イ ン テ グ レー タ ー ツールを使用する と 、Vivado IP カ タ ロ グか ら の IP コ ア をデザ イ ン キ ャ ン
バ ス上で イ ン ス タ ン シエー ト お よ び接続 し て、 複雑なサブシ ス テ ム デザ イ ン を作成で き ます。 詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 6] を参照 し て く
だ さ い。
リ ビ ジ ョ ン管理の使用
Vivado Design Suite は、 ど のバージ ョ ン管理シ ス テ ム と も 連動す る よ う にな っ てい ます。 IP デザ イ ンでは、 リ ビ ジ ョ
ン管理シ ス テ ム を使用 し てデザ イ ン ソ ース を管理する 際に考慮する べき ト レー ド オ フ があ り ます。 こ れ ら の ト レー
ド オ フは、 ラ ン タ イ ム と 管理す る フ ァ イ ルの数に影響 し ます。 Vivado Design Suite でのバージ ョ ン管理シ ス テ ムの使
用については、 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 12] の こ のセ ク シ ョ ン を参照 し て く
だ さ い。
リ ビ ジ ョ ン管理については、『Vivado Design Suite チ ュ ー ト リ アル : リ ビ ジ ョ ン管理』 (UG1198) [参照 27] を参照 し て く
だ さ い。
ビデオ : 詳細は、 QuickTake ビデオ : Vivado での リ ビ ジ ョ ン管理の使用を ご覧 く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
8
japan.xilinx.com
第 2章
IP の基礎
概要
こ の章では、 次の よ う に、 IP を使用 し た設計について説明 し ます。
•
「IP のプ ロ ジ ェ ク ト 設定」
•
「IP カ タ ロ グの使用」
•
「IP のカ ス タ マ イ ズ」
•
「出力フ ァ イ ルの生成」
•
「 コ ア コ ン テナーの使用」
•
「IP ユーザー フ ァ イ ル (ip_user_files) の理解」
•
「IP の イ ン ス タ ン シエーシ ョ ン」
•
「プ ロ ジ ェ ク ト 内の IP ス テー ト の理解」
•
「IP の制約の理解」
•
「IP のシ ミ ュ レーシ ョ ン」
•
「IP のア ッ プグ レー ド 」
•
「階層 IP」
•
「デバ ッ グ IP の使用」
ザ イ リ ン ク ス IP に関す る プ ロ セ ス では、 まず RTL デザ イ ンで使用す る IP を カ ス タ マ イ ズ し ます。 Vivado® Design
Suite では、 IP を次の方法でカ ス タ マ イ ズ き ます。
•
IP カ タ ロ グか ら IP を直接カ ス タ マ イ ズ し てプ ロ ジ ェ ク ト に挿入す る 。
•
Manage IP プ ロ ジ ェ ク ト フ ロ ーを使用 し て、 現在のプ ロ ジ ェ ク ト およびほかのプ ロ ジ ェ ク ト で使用する IP の ス タ
ン ド ア ロ ンのカ ス タ マ イ ズ を作成する。 詳細は、 第 3 章 「Manage IP プ ロ ジ ェ ク ト の使用」 を参照し て く だ さ い。
•
プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド で、 Tcl ス ク リ プ ト を使用 し て IP を カ ス タ マ イ ズす る 。
カ ス タ マ イ ズ し た ら 、 出力フ ァ イ ルを自動生成す る か、 後で生成で き ます。
•
プ ロ ジ ェ ク ト モー ド では、 出力フ ァ イ ルがない場合、 合成ま たはシ ミ ュ レーシ ョ ンの前に自動的に生成 さ れます。
•
非プ ロ ジ ェ ク ト モー ド では、 合成ま たはシ ミ ュ レーシ ョ ンの前にユーザーが手動で出力フ ァ イ ルを生成す る 必
要があ り ます。
デザ イ ンでカ ス タ マ イ ズ し た IP を使用す る には、 IP を HDL コ ー ド ま たは最上位デザ イ ンに イ ン ス タ ン シエー ト す
る 必要があ り ます。 IP 出力フ ァ イ ルの 1 つは、 プ ロ ジ ェ ク ト 設定の タ ーゲ ッ ト 言語に基づ く イ ン ス タ ン シエーシ ョ
ン テ ンプ レー ト です。 詳細は、 「IP のプ ロ ジ ェ ク ト 設定」 を参照 し て く だ さ い。
ビデオ : Vivado IDE の使用については、 QuickTake ビデオ : Vivado IDE 入門を ご覧 く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
9
japan.xilinx.com
第 2 章 : IP の基礎
IP のプ ロ ジ ェ ク ト 設定
Manage IP プ ロ ジ ェ ク ト ま たは RTL プ ロ ジ ェ ク ト では、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ページで IP 特定
のプ ロ ジ ェ ク ト 設定を指定で き ます。 こ のページには、 次の タ ブが含まれます。
•
[General] : コ ア コ ン テナーの使用、 シ ミ ュ レーシ ョ ン ス ク リ プ ト の自動生成、 ロ グの作成、 IP 出力フ ァ イ ルの
デフ ォ ル ト デ ィ レ ク ト リ の設定、 IP キ ャ ッ シ ン グの使用を設定で き ます。
•
[Repository Manager] : IP リ ポジ ト リ を追加 し て、 IP カ タ ロ グに含め る IP を指定 し ます。
•
[Packager] : IP をパ ッ ケージす る 際に IP パ ッ ケージ ャ ーで使用す る デフ ォ ル ト 動作を設定 し ます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118) [参照 4] を参照 し て く だ
さ い。
注記 : [IP] ページお よ び Vivado IP カ タ ロ グは、RTL プ ロ ジ ェ ク ト ま たは Getting Started ページか ら [Manage IP] ク リ ッ
ク し た場合にのみ使用可能です。 Manage IP を使用する 場合、 プ ロ ジ ェ ク ト を作成 し なければ、 [IP] ページの一部の
オプシ ョ ン し か表示 さ れません。
[General] タ ブ
[General] タ ブでは、 次の図に示す よ う に、 IP のプ ロ ジ ェ ク ト ご と のオプシ ョ ン を設定 し ます。 作成す る 各プ ロ ジ ェ
ク ト の設定をデフ ォ ル ト か ら 変更す る 場合は、 プ ロ ジ ェ ク ト 設定を設定 し 直す必要があ り ます。
X-Ref Target - Figure 2-1
図 2-1 : [Project Settings] ダ イ ア ロ グ ボ ッ ク ス : [IP] ページの [General] タ ブ
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
10
japan.xilinx.com
第 2 章 : IP の基礎
[IP] ページの [General] タ ブ には次のオプシ ョ ンがあ り ます。
•
[Core Containers] : 新 し く 作成す る IP に対 し て コ ア コ ン テナー機能を使用す る 場合は、 [Use Core Containers for
IP] をオンに し ます。 こ の機能を使用す る と 、 IP お よ び生成 さ れたすべての出力フ ァ イ ルが 1 つの圧縮バ イ ナ リ
フ ァ イ ル (拡張子 .xcix) と し て保存 さ れます。 詳細は、 「コ ア コ ン テナーの使用」 を参照 し て く だ さ い。
•
[Simulation] : [Automatically Generate Simulation Scripts for IP] はデフ ォル ト でオンにな っ てい ます。 こ れがオンに
な っ てい る場合は、 各 IP に対 し 、 シ ミ ュ レーシ ョ ン ス ク リ プ ト が自動的に生成 さ れます。 ス ク リ プ ト は
<project name>.ip_user_files デ ィ レ ク ト リ に保存 さ れます。 詳細は、 「IP のシ ミ ュ レーシ ョ ン」 を参照
し て く だ さ い。 こ のチ ェ ッ ク ボ ッ ク ス をオフにする と 、 シ ミ ュ レーシ ョ ン ス ク リ プ ト は生成 さ れな く な り ます。
•
[Upgrade IP] : [Generate log file] はデフ ォ ル ト でオンにな っ てい ます。 こ れがオンにな っ てい る 場合は、 IP を ア ッ
プグ レー ド す る と き に ip_upgrade.log フ ァ イ ルが作成 さ れます。 こ の フ ァ イ ルには、 すべての IP のア ッ プ
グ レー ド 履歴が含まれてい ます。
追加 IP を ア ッ プグ レー ド す る と 、 その情報は こ の フ ァ イ ルの冒頭に追加 さ れます。 こ の ロ グ フ ァ イ ルは、 ルー
ト デ ィ レ ク ト リ のプ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れます (プ ロ ジ ェ ク ト の XPR フ ァ イ ルが保存 さ れてい る
デ ィ レ ク ト リ )。 Tcl コ マ ン ド を使用 し た ロ グ フ ァ イ ル名お よ び保存デ ィ レ ク ト リ の指定方法な ど については、
「IP のア ッ プグ レー ド 」 を参照 し て く だ さ い。 こ のチ ェ ッ ク ボ ッ ク ス を オ フ にする と 、 ロ グ フ ァ イ ルは作成 さ
れな く な り ます。
•
[Default IP Location] : 作成 し たIP と その出力フ ァ イ ルがすべて保存 さ れ る デ ィ レ ク ト リ を設定 し ます。 デフ ォ ル
ト では、 RTL プ ロ ジ ェ ク ト の IP は、 .src/sources_1/ip デ ィ レ ク ト リ の中のプ ロ ジ ェ ク ト デ ィ レ ク ト リ に
保存 さ れます。 リ ビ ジ ョ ン管理シ ス テ ム を利用 し てい る 場合は、 ほかの ソ ース フ ァ イ ル と 同 じ よ う に、 プ ロ
ジ ェ ク ト 外に IP を保存す る こ と を推奨 し ます。 IP を カ ス タ マ イ ズす る 場合は、 [IP Location] を使用 し て IP お よ
びその出力フ ァ イ ルが保存 さ れ る デ ィ レ ク ト リ を設定で き ます。 IP デ ィ レ ク ト リ については、 「 メ モ リ IP のカ
ス タ マ イ ズ」 を参照 し て く だ さ い。
•
[IP Cache] : 次のオプシ ョ ンがあ り ます。
°
[Cache scope] : [Disabled]、 [Local]、 ま たは [Remote] を選択で き ます。 [Remote] は Linux のみのオプシ ョ ン
です。
°
[Cache location] : キ ャ ッ シ ュ デ ィ レ ク ト リ を指定 し ます。
IP キ ャ ッ シ ュ の詳細は、 「IP キ ャ ッ シ ュ の設定」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
11
japan.xilinx.com
第 2 章 : IP の基礎
[Repository Manager] タ ブ
次の図に、 [Repository Manager] タ ブ を示 し ます。
X-Ref Target - Figure 2-2
図 2-2 : [Project Settings] ダ イ ア ログ ボ ッ ク ス : [IP] ページの[Repository Manager] タ ブ
[Repository Manager] タ ブで IP リ ポジ ト リ を追加する には、 次の手順に従い ます。
1.
[Tools] → [Project Settings] → [IP] を ク リ ッ ク し ます。
2.
[Repository Manager] タ ブ を ク リ ッ ク し 、 次を実行 し ます。
a.
b.
[IP Repositories] セ ク シ ョ ン で、 次を実行 し ます。
-
[Add]
を ク リ ッ ク し 、 IP リ ポジ ト リ リ ス ト に追加す る パ ッ ケージ IP を含むデ ィ レ ク ト リ を指定 し
ます。 ユーザー リ ポジ ト リ パ ス内のすべての階層で IP 定義が検索 さ れます。 デ ィ レ ク ト リ 内の IP は、
独自にパ ッ ケージ し た も のか、 サー ド パーテ ィ か ら 取得 し た も のを使用で き ます。
-
リ ポジ ト リ を削除す る には、 [Remove] ボ タ ン
を ク リ ッ ク し ます。
[IP in Selected Repository] セ ク シ ョ ンで、 次を実行 し ます。
-
[Add] ボ タ ン
を ク リ ッ ク し 、 IP カ タ ロ グに リ ポジ ト リ を含め る IP を指定 し ます。
IP カ タ ロ グに含まれ る IP が表示 さ れ、 その IP を カ ス タ マ イ ズ し てデザ イ ンで使用 し ます。
-
リ ポジ ト リ を削除す る には、 [Remove] ボ タ ン
を ク リ ッ ク し ます。
IP カ タ ロ グに リ ポジ ト リ が含まれな く な っ た こ と が示 さ れます。
3.
IP カ タ ロ グ を各 リ ポジ ト リ 内の IP でア ッ プデー ト す る には、 [Apply] を ク リ ッ ク し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
12
japan.xilinx.com
第 2 章 : IP の基礎
ヒ ン ト : [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ページの [Repository Manager] タ ブ を使用する 代わ り に、 Vivado
IP カ タ ロ グ を右 ク リ ッ ク し て [Add Repository] を ク リ ッ ク し て も リ ポジ ト リ を追加で き ます。
重複 IP の回避
重要 : 重複 IP を作成す る こ と はで き ますが、 Vivado ツールで警告 メ ッ セージが表示 さ れます。
既存の IP と 重複す る IP を入力す る と 、 [Repository Manager] タ ブに警告 メ ッ セージが表示 さ れます。 その際には、 次
の対処が可能です。
•
IP カ タ ロ グで重複す る IP を確認 し ます。
•
[IP Repositories] フ ィ ール ド のデ ィ レ ク ト リ を確認 し ます。
•
必要に応 じ て、 IP を削除す る か、 IP を含む リ ポジ ト リ を削除 し ます。
[Packager] タ ブ
次の図に、 [Packager] タ ブを示 し ます。 こ の タ ブでは、 IP パ ッ ケージ ャ ーのデフ ォ ル ト 動作を設定 し ます。
X-Ref Target - Figure 2-3
図 2-3 : [Project Settings] ダ イ ア ログ ボ ッ ク ス : [IP] ページの [Packager] タ ブ
IP のパ ッ ケージに関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』
(UG1118) [参照 4] を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
13
japan.xilinx.com
第 2 章 : IP の基礎
IP キ ャ ッ シ ュの設定
デフ ォ ル ト のア ウ ト オブ コ ン テ キ ス ト フ ロ ーを使用 し て IP の合成出力フ ァ イ ルの生成にかか る 時間を短縮す る に
は、 [General] タ ブ (図 2-1) の [IP Cache] セ ク シ ョ ンで IP キ ャ ッ シ ュ を イ ネーブルに し ます。
キ ャ ッ シ ュ を イ ネーブルにす る と 、 ア ウ ト オブ コ ン テ キ ス ト で IP を生成 し 、 合成出力フ ァ イ ル (DCP お よ びス タ ブ
フ ァ イ ル) が作成 さ れた と き に、 キ ャ ッ シ ュ エン ト リ が作成 さ れます。
キ ャ ッ シ ュ に保存 さ れ る と 、 IP を ま っ た く 同 じ プ ロ パテ ィ を使用 し て カ ス タ マ イ ズ し た場合に、 IP は合成 さ れず、
キ ャ ッ シ ュ が参照 さ れて合成出力フ ァ イ ルが コ ピー さ れます。 IP が合成 さ れないので、 出力フ ァ イ ルの生成が よ り
短時間で完了 し ます。
[IP Cache] セ ク シ ョ ンの [Cache scop] オプシ ョ ンの設定は次の と お り です。
•
[Disabled] : IP キ ャ ッ シ ュ は実行 さ れません (デフ ォ ル ト )。
•
[Local] : キ ャ ッ シ ュ さ れた IP は <project_name>.cache/ip のプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造内に保存 さ
れ、 そ こ か ら 参照 さ れます。 こ のオプシ ョ ン を使用す る と 、 現在のプ ロ ジ ェ ク ト に IP の合成キ ャ ッ シ ュ が作成
さ れ、 ほかのプ ロ ジ ェ ク ト の IP と 区別 さ れます。
•
[Remote] : キ ャ ッ シ ュ さ れた IP は、 指定 し たデ ィ レ ク ト リ に保存 さ れ、 そ こ か ら 参照 さ れます。 こ のオプシ ョ
ン を使用す る と 、 複数のプ ロ ジ ェ ク ト で共有 さ れ る 合成キ ャ ッ シ ュ を作成お よ び参照で き ます。
[Cache location] でキ ャ ッ シ ュ デ ィ レ ク ト リ を選択す る こ と も で き ます。
キ ャ ッ シ ュ を イ ネーブルに し た状態で IP を生成す る と 、 Vivado ツールは通常どお り デザ イ ン run を作成 し ます。 た
だ し 、 キ ャ ッ シ ュ ヒ ッ ト があ る と 、 新 し い IP の合成 run で、 キ ャ ッ シ ュ さ れた IP の合成が開き 、 合成出力フ ァ イ ル
(DCP お よ びス タ ブ フ ァ イ ル) の新 し い コ ピーが作成 さ れます。
キ ャ ッ シ ュ ヒ ッ ト は、 IP が ま っ た く 同 じ 設定を使用 し て カ ス タ マ イ ズ さ れてお り 、 同 じ パーツ と 言語設定が使用 さ
れてい る 場合に発生 し ます。 IP を生成 し た後は、 その IP はキ ャ ッ シ ュ デ ィ レ ク ト リ を参照 し ません。 IP のすべての
出力フ ァ イ ルは、 IP の XCI フ ァ イ ルに対 し て ロ ーカルに格納 さ れます。 キ ャ ッ シ ュ は、 IP 出力フ ァ イ ルの生成中に
のみ参照 さ れます。 キ ャ ッ シ ュ ヒ ッ ト が発生する と 、 新 し い IP の run は [Design Runs] ウ ィ ン ド ウ の [Out-of-context
Module Runs] には作成 さ れません。
注意 : IP キ ャ ッ シ ュ のサ イ ズは、 存在す る IP の数に よ っ て大 き く な る 可能性があ り ます。
IP キ ャ ッ シ ュ を管理す る には、 check_ip_cache と い う Tcl コ マ ン ド を使用 し ます。 こ の コ マ ン ド を使用す る と 、
キ ャ ッ シ ュ の内容お よ びキ ャ ッ シ ュ のサ イ ズ (KB) が リ ス ト さ れます。
IP カ タ ロ グの使用
Vivado IP カ タ ロ グの主な機能は、 次の と お り です。
•
開発 さ れてい る エン ド アプ リ ケーシ ョ ンに関わ ら ず、 構築ブ ロ ッ ク 、 ウ ィ ザー ド 、 コ ネ ク テ ィ ビ テ ィ 、 DSP、
エンベデ ッ ド 、 AXI イ ン フ ラ ス ト ラ ク チ ャ 、 お よ びビデオ IP な ど のザ イ リ ン ク ス IP すべてに、 1 つの共有 リ ポ
ジ ト リ か ら 簡単にア ク セ ス可能
•
IP リ ポジ ト リ で共有ネ ッ ト ワー ク ド ラ イ ブを含む複数の物理 ロ ケーシ ョ ン をサポー ト し 、 サー ド パーテ ィ ま た
は企業内で開発 さ れた IP を一貫 し た IP 環境で利用可能
•
IP カ タ ロ グに含まれ る 前に徹底的にテ ス ト さ れたザ イ リ ン ク ス IP にア ク セ ス可能
•
Vivado IDE ま たは Tcl に よ る 自動ス ク リ プ ト ベース の フ ロ ーを使用 し て IP をすばや く カ ス タ マ イ ズお よ び生成
可能
•
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 、 シ ミ ュ レーシ ョ ン モデル (HDL、 C、 ま たは MATLAB® ソ フ ト ウ ェ ア)
な ど の IP 出力フ ァ イ ルを オンデマ ン ド 配布
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
14
japan.xilinx.com
第 2 章 : IP の基礎
•
IP を Vivado Design Suite プ ロ ジ ェ ク ト の イ ン ス タ ン シエー ト ソ ース と し て直接評価可能な IP サンプル デザ イ ン
を提供
•
変更 ロ グに記録 さ れたバージ ョ ン履歴の詳細にア ク セ ス可能
•
IP バージ ョ ン番号を <major#.minor#.Rev#> と い う 形式に統一。 詳細は、 ザ イ リ ン ク ス ウ ェ ブサ イ ト の
Vivado IP バージ ョ ン ページ [参照 28] を参照 し て く だ さ い。
°
バージ ョ ン番号が変更 さ れた場合、 次の よ う に対処す る こ と をお勧め し ます。
-
Major# : 変更が必要です。
-
Minor# : 変更が必要な可能性があ り ます。
-
Rev# : 変更は必要あ り ません。
•
カ タ ロ グ フ ィ ル タ ー オプシ ョ ンに よ り 、 サポー ト さ れ る 出力フ ァ イ ル、 サポー ト さ れ る イ ン タ ーフ ェ イ ス、 ラ
イ セ ン ス、 プ ロ バ イ ダー、 お よ びス テー タ ス でカ タ ロ グ を フ ィ ル タ ー可能
•
IP を カ テ ゴ リ 別ま たは リ ポジ ト リ 別に表示可能
Vivado Design Suite でサポー ト さ れ る IP の詳細は、ザ イ リ ン ク ス サポー ト サ イ ト か ら IP 資料 [参照 29] を参照 し て く
だ さ い。
特定の IP に関す る 情報は、 IP コ ア ページ [参照 30] ま たは IP カ タ ロ グ を参照 し て く だ さ い。
図 2-4 に、 IP を カ テ ゴ リ 別に表示す る Vivado IP カ タ ロ グのデフ ォ ル ト 表示を示 し ます。
X-Ref Target - Figure 2-4
図 2-4 : ザイ リ ン ク ス IP カ タ ログ : [Cores] ビ ュ ー
IP カ タ ロ グには、 2 つのビ ュ ーがあ り ます。 各ビ ュ ーには、 次の も のが表示 さ れます。
•
[Cores] ビ ュ ー : ザ イ リ ン ク ス、 Alliance パー ト ナー、 お よ びカ ス タ マーの リ ポジ ト リ で提供 さ れ る IP を表示 し
ます (上図を参照)。
•
[Interfaces] ビ ュ ー : 使用可能な イ ン タ ーフ ェ イ ス を表示 し ます (次の図を参照)。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
15
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-5
図 2-5 : ザイ リ ン ク ス IP カ タ ログ : [Interfaces] ビ ュ ー
[Interfaces] ビ ュ ーは、 IP をパ ッ ケージ し た と き に Vivado リ ポジ ト リ に格納する の と 同様に分類 さ れてい ます。
Vivado リ ポジ ト リ の主な イ ン タ ーフ ェ イ ス は次の と お り です。
•
Advanced
•
AXI
•
IO Interfaces
•
Signal
•
User
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
16
japan.xilinx.com
第 2 章 : IP の基礎
IP のフ ィ ル タ ー
IP カ タ ロ グには、 フ ィ ル タ ーお よ び検索可能な IP のカ テ ゴ リ が含まれます。
次の図に、 IP カ タ ロ グ を カ テ ゴ リ 別に フ ィ ル タ ーす る [Catalog Fiter Options] を示 し ます。 [Catalog Fiter Options] は、
を ク リ ッ ク する と 表示 さ れます。
左上の [Options] ボ タ ン
X-Ref Target - Figure 2-6
図 2-6 : IP カ タ ログのフ ィ ル タ ー
フ ィ ル タ ー オプシ ョ ン をオ フ にす る と 、 不要な条件の IP を非表示にで き ます。
IP カ タ ロ グで検索す る と 、 検索文字列に完全に一致 し ていな く て も 、 その文字列に一致す る デ ィ レ ク ト リ やフ ォ ル
ダーにあ る IP がカ テ ゴ リ 別に表示 さ れます。 次の図は 「filter」 と い う 文字列で検索 し た場合の検索結果を示 し てい
ます。 「filter」 と い う 言葉が含まれ る IP、 「filter」 と い う 言葉が使われてい る フ ォ ルダーに含まれてい る IP がすべて
表示 さ れてい ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
17
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-7
図 2-7 : 「filter」 と い う 検索文字列での検索結果
[Catalog Fiter Options] のツールバー ボ タ ンには、 フ ィ ル タ ー オプシ ョ ンの展開表示を切 り 替え る ボ タ ン と 、 検索ボ
こ れ ら のボ タ ンは、 Vivado IDE のほかの ウ ィ ン ド ウ と 一貫 し てい ます。
タ ンがあ り ます。
IP 情報を フ ィ ル タ ー し た り 表示 し た り す る その他の IP カ タ ロ グのオプシ ョ ンは、 次の と お り です。
オプ シ ョ ン
説明
互換性のない IP を非表示に し ます。
カ テ ゴ リ 別に表示 し ます。 こ のボ タ ン を ク リ ッ ク する と 、 [Group by] のオプシ ョ ンか
ら [Taxonomy] ま たは [Repository]、 あ る いは両方を オンにで き ます。
[Repository] を オンにす る と 、IP を た と えばザ イ リ ン ク ス IP と ユーザー IP に分類 し て
表示で き ます。 [Taxonomy] を オンにす る と 、 IP が フ ァ ン ク シ ョ ン ま たはカ テ ゴ リ 別
に表示 さ れます。
IP を カ ス タ マ イ ズ し ます。選択 し てい る IP の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス が表
示 さ れます。 詳細は、 「IP のカ ス タ マ イ ズ」 を参照 し て く だ さ い。
ラ イ セ ン ス ス テー タ ス を表示 し ます。 詳細は、 「有償 ラ イ セ ン ス IP の使用」 を参照 し
て く だ さ い。
選択 し てい る IP と 互換性のあ る デバ イ ス フ ァ ミ リ を表示 し ます。
製品ガ イ ド 、 変更 ロ グ、 製品ウ ェ ブ ページ、 ア ンサーを表示 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
18
japan.xilinx.com
第 2 章 : IP の基礎
オプ シ ョ ン
説明
IP カ タ ロ グ、 IP 生成、 リ ポジ ト リ マネージ ャ ー、 IP パ ッ ケージ ャ ーを設定 し ます。
[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [IP] ページが開き ます。 詳細は、 「IP のプ ロ
ジ ェ ク ト 設定」 を参照 し て く だ さ い。
選択 し た項目に自動ス ク ロ ール し ます。
Alliance パー ト ナー IP
Vivado IP カ タ ロ グには、 一部の Alliance パー ト ナーか ら 購入で き る IP が含まれます。 こ れ ら の IP には、 次の図に示
す よ う にア イ コ ンの上に青色のデ ィ ス ク ア イ コ ンが表示 さ れます。
X-Ref Target - Figure 2-8
図 2-8 : Alliance パー ト ナー IP
Alliance パー ト ナー IP を選択す る と 、 次の図に示す よ う な IP を購入可能なサ イ ト への リ ン ク を含むダ イ ア ロ グ ボ ッ
ク ス が開 き ます。 [Customize IP] オプシ ョ ンは、 その IP を購入 し て イ ン ス ト ールす る ま で淡色表示にな り ます。
X-Ref Target - Figure 2-9
図 2-9 : Alliance パー ト ナー IP のダ イ ア ログ ボ ッ ク ス
有償ラ イ セ ン ス IP の使用
Vivado の IP カ タ ロ グの [License] 列に [Included] ま たは [Purchase] と い う 表示があ り 、ラ イ セ ン ス の ス テー タ ス を示す
フ ィ ール ド も あ り ます。 ザ イ リ ン ク ス か ら 提供 さ れてい る IP には次の定義が適用 さ れます。
•
ラ イ セ ン ス ス テー タ ス : IP ラ イ セ ン ス は [Full] (購入済み)、 [Simulation]、 ま たは [Eval] のいずれかにな り ます。
°
[Included] : Vivado Design Suite ツール内で無償で ラ イ セ ン ス付与 さ れ る ザ イ リ ン ク ス LogiCORE™ IP コ ア
で、 ザ イ リ ン ク ス エン ド ユーザー ラ イ セ ン ス契約 [参照 1] が適用 さ れます。
°
[Purchase] : 有償のザ イ リ ン ク ス LogiCORE IP で、 コ ア ラ イ セ ン ス契約 [参照 2] が適用 さ れます。 こ れ ら の
コ アの評価版には、 コ ア評価 ラ イ セ ン ス契約 [参照 3] が適用 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
19
japan.xilinx.com
第 2 章 : IP の基礎
•
•
ラ イ セ ン ス タ イ プ : ラ イ セ ン ス タ イ プは [Floating] ま たは [Node-Locked] にな り ます。
°
証明書ベース のネ ッ ト ワー ク フ ロ ーテ ィ ン グ ラ イ セ ン スお よ びア ク テ ィ ベーシ ョ ン ベース のサーバー ラ
イ セ ン ス は、 FLEX ラ イ セ ン ス サーバー daemon を実行 し てい る ラ イ セ ン ス サーバー ホ ス ト に ロ ッ ク さ れ
てい ます。 ラ イ セ ン ス のチ ェ ッ ク ア ウ ト はユーザーご と にな り ます。
°
ノ ー ド ロ ッ ク ま たは ク ラ イ ア ン ト ラ イ セ ン ス は、 特定の コ ン ピ ュ ー タ ーに ロ ッ ク さ れてい る ラ イ セ ン ス で
す。 証明書ベース の ラ イ セ ン ス の場合は ド ン グルに ロ ッ ク さ れてい ます。 ハー ド ド ラ イ ブ を置 き 換えない
限 り 、 デ ィ ス ク シ リ アル番号 (ボ リ ュ ーム ID) で ノ ー ド を特定で き ます。
ほかの ラ イ セ ン ス レベルには、 [Design_Linking]、 [Hardware_Evaluation]、 お よ び [Full] (Purchased) があ り ます。
IP ラ イ セ ン ス の取得方法は、 ザ イ リ ン ク ス IP ラ イ セ ン ス サ イ ト [参照 1] を参照 し て く だ さ い。
ラ イ セ ン ス に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ セ ン
ス』 (UG973) [参照 14] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ビデオ : QuickTake ビデオ : Vivado フ ロ ーテ ィ ン グ ア ク テ ィ ベーシ ョ ン ラ イ セ ン ス の生成お よ び Vivado のア ク テ ィ
ベーシ ョ ン ラ イ セ ン ス の概要を ご覧 く だ さ い。
有償の IP では、 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス の [OK] ボ タ ンは、 評価 ラ イ セ ン ス ま たは購入 し た ラ イ セ ン ス が
検出 さ れない と 有効にな り ません。
X-Ref Target - Figure 2-10
図 2-10 : 有償の IP のラ イ セ ン スが検出 さ れ [OK] ボ タ ンが有効にな る
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
20
japan.xilinx.com
第 2 章 : IP の基礎
重要 : Vivado ツールでは、 イ ンプ リ メ ン テーシ ョ ン中に現在の ラ イ セ ン ス ス テー タ ス (レベル) と 、 デザ イ ンで生成
さ れた IP コ アのネ ッ ト リ ス ト の ラ イ セ ン ス レベルの両方が比較 さ れ、 低い方の レベルが渡 さ れ る ので、 コ アのネ ッ
ト リ ス ト の現在の ラ イ セ ン ス ス テー タ ス を受信する ため、 LogiCORE IP コ ア を生成 し 直す必要があ り ます。
IP のカ ス タ マ イ ズ
ヒ ン ト : テキ ス ト ボ ッ ク スにデー タ を入力 し た り 、 データ を変更する際、 値が使用 さ れて編集可能であれば、 テキ ス
ト が黒、 背景色が白にな り ます。 値が使用 さ れていて も 編集可能ではない場合、 テキ ス ト が黒、 背景色が灰色にな り
ます。 値が使用 さ れていないか、 適用可能ではない場合、 その前後の ラ ベル も 含めてテ キ ス ト は灰色にな り ます。
ビデオ : 詳細は、 Quick ake ビデオ : IP のカ ス タ マ イ ズお よ び イ ン ス タ ン シエーシ ョ ン を ご覧 く だ さ い。
IP カ タ ロ グ を使用 し て IP を カ ス タ マ イ ズで き ます。
1.
IP カ タ ロ グか ら 、 次のいずれかの方法で IP を選択 し ます。
°
IP を ダブル ク リ ッ ク し ます。
°
ツールバーの [Customize IP] ボ タ ン を ク リ ッ ク す る か、 IP を右 ク リ ッ ク し て [Customize IP] を ク リ ッ ク し
ます。
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス には、 IP を カ ス タ マ イ ズす る ための さ ま ざ ま なパ ラ メ ー タ ーが表示 さ れま
す。 こ のダ イ ア ロ グ ボ ッ ク ス は、 選択 し た IP の タ イ プに よ っ て異な り 、 パ ラ メ ー タ ーを指定す る タ ブが 1 つま
たは複数表示 さ れます。
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス には、 次が含まれます。
°
IP シ ン ボル
°
IP の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン を設定す る ための タ ブ こ れ ら の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ
ンは <ip_name>.xci フ ァ イ ルに記述 さ れ、 IP オブジ ェ ク ト のプ ロ パテ ィ と し て保存 さ れます。
注意 : Windows オペレーテ ィ ン グ シ ス テ ムではパ ス の長 さ が 260 文字ま でに制限 さ れてお り 、 こ れが Vivado ツール
に影響す る 可能性があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト の作成、 IP お よ び Manage IP プ ロ ジ ェ ク ト
の定義、 ブ ロ ッ ク デザ イ ンの作成を実行する 際に、 デ ィ レ ク ト リ の場所お よ び名前をで き る だけ短 く し て く だ さ い。
プ ロ ジ ェ ク ト 外に IP を保存す る 場合は、 こ の点に注意 し て く だ さ い。
IP シ ン ボルでは、 Vivado IDE の [Schematic] ウ ィ ン ド ウ と 同 じ 拡大/縮小、 サ イ ズ変更、 自動フ ィ ッ ト 機能がサポー ト
さ れてい ます。 図 2-11 に、 FIFO Generator IP の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を示 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
21
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-11
図 2-11 : FIFO Generator の [Csutomize IP] ダ イ ア ロ グ ボ ッ ク ス
2.
3.
IP ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定 し ます。
°
[Documentation] → [Product Guide] を ク リ ッ ク し て、 選択 し た IP の製品ガ イ ド を開 き ます。
°
[IP Location] を ク リ ッ ク し 、 IP を保存するデ ィ レ ク ト リ を指定 し ます。 こ のデ ィ レ ク ト リ は、 RTL プ ロ ジ ェ
ク ト で IP カ タ ロ グ を使用する場合にのみ変更で き ます。 Manage IP プ ロ ジ ェ ク ト の場合は変更で き ません。
°
[Switch to Defaults] を ク リ ッ ク し て、 すべての コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン をデフ ォ ル ト 状態に リ
セ ッ ト し ます。 確認す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
必要に応 じ て IP を カ ス タ マ イ ズ し 、 [OK] を ク リ ッ ク し ます。
推奨 : 数値を指定す る 際は、 16 進数を使用する と 処理速度が上が り ます。
ビデオ : IP カ ス タ マ イ ズお よ び イ ン ス タ ン シエーシ ョ ン プ ロ セ ス のデモは、 QuickTake ビデオ : IP カ ス タ マ イ ズお よ
び イ ン ス タ ン シエーシ ョ ン を ご覧 く だ さ い。
IP を カ ス タ マ イ ズする Tcl コ マ ン ド の例
注記 : 青色の下線付 き の リ ン ク を ク リ ッ ク す る と 、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
[参照 7] のその コ マ ン ド の詳細を示すページが開 き ます。 Vivado IDE の [Tcl Console] ウ ィ ン ド ウ で
「<command_name> -help」 と 入力 し て も ヘルプ情報を表示で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
22
japan.xilinx.com
第 2 章 : IP の基礎
IP は、 create_ip コ マ ン ド を使用 し て も カ ス タ マ イ ズで き ます。 次に例を示 し ます。
create_ip -name fifo_generator -version 12.0 -vendor xilinx.com -library ip
-module_name fifo_gen
-vlnv を指定す る か、 -vendor、 -library、 -name、 お よ び -version すべて を指定する 必要があ り ます。
注記 : create_ip コ マ ン ド を実行す る と 、 IP の コ ン フ ィ ギ ュ レーシ ョ ン であ る IP カ ス タ マ イ ズ フ ァ イ ル (XCI) と 、
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト お よ び BOM (XML) フ ァ イ ルは作成 さ れますが、 それ以外の出力フ ァ イ ルは
作成 さ れません。
IP のデフ ォ ル ト コ ン フ ィ ギ ュ レーシ ョ ンは create_ip コ マ ン ド で設定 し ます。
IP プ ロパテ ィ を設定する Tcl コ マ ン ド の例
IP の コ ン フ ィ ギ ュ レーシ ョ ン設定を定義す る には、 set_property コ マ ン ド を使用 し ます。 次に例を示 し ます。
set_property CONFIG.Input_Data_Width 12 [get_ips fifo_gen]
IP プ ロパテ ィ を レポー ト する Tcl コ マ ン ド の例
IP で使用可能なプ ロ パテ ィ の リ ス ト を取得す る には、 report_property コ マ ン ド を使用 し ます。 次に例を示 し
ま す。
report_property CONFIG.*[get_ips <ip_name>]
コ ン フ ィ ギ ュ レーシ ョ ン プ ロ パテ ィ には、 名前の冒頭に CONFIG が付いてい ます。
タ ーゲ ッ ト ク ロ ッ ク周期の設定
デフ ォ ル ト では、 IP は ス タ ン ド ア ロ ンで合成 さ れ、 デザ イ ンのほかの箇所か ら は独立 し 、 ア ウ ト オブ コ ン テ キ ス ト
にな り ます。
•
イ ンプ リ メ ン テーシ ョ ン中、 IP ネ ッ ト リ ス ト はほかの IP ネ ッ ト リ ス ト お よ びユーザー ネ ッ ト リ ス ト と リ ン ク さ
れます。
•
ユーザー ロ ジ ッ ク の合成中、 IP はブ ラ ッ ク ボ ッ ク ス と し て表示 さ れます。
IP は最上位フ ァ イ ル と は別に合成 さ れ る ので、 「IP の合成オプシ ョ ン」 で説明 し てい る よ う に、 IP の ク ロ ッ ク 定義を
提供す る ため、 Vivado ツールは _ooc.xdc を作成 し ます。
タ ーゲ ッ ト 周期を指定 し ない場合、 IP はデフ ォ ル ト の ク ロ ッ ク 周期を使用 し ます。 こ のため、 次の よ う に、 IP で使
用 さ れてい る 周期が、 最上位フ ァ イ ルを合成す る と き に表示 さ れ る 周期 と は異な る こ と を知 ら せる 警告 メ ッ セージ
が表示 さ れ る 場合あ り ます。
こ の警告 メ ッ セージは、 グ ロ ーバル合成が使用 さ れてい る 場合に、 ア ウ ト オブ コ ン テ キ ス ト で IP を合成す る と き に
使用 さ れ る ク ロ ッ ク 周期 と は別の ク ロ ッ ク 周期を使用 し て、 IP が合成 さ れ る こ と を知 ら せてい ます。
一部の IP には、 カ ス タ ム GUI に、 ア ウ ト オブ コ ン テ キ ス ト 合成で使用 さ れ る タ ーゲ ッ ト 周波数/周期を設定す る オ
プシ ョ ンがあ り ます。 IP の一部には [Clocks] と い う タ ブがあ り 、 IP の タ ーゲ ッ ト 周波数を設定で き ます。 ほかの IP
では、 タ ーゲ ッ ト の設定はその他の設定に組み込まれてい ます。
通常、 次の図の よ う な、 設定を説明す る 情報ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
23
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-12
図 2-12 : IP のアウ ト オブ コ ン テキス ト 合成中に使用 さ れる タ ーゲ ッ ト 周波数設定
IP に よ っ ては、 タ ーゲ ッ ト の ク ロ ッ ク 周波数/周期を カ ス タ マ イ ズす る GUI オプシ ョ ン がない も の も あ り ます。
GUI オプシ ョ ン がない場合は、 Tcl コ ン ソ ールを使用 し て、 IP の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン を検索 し て設
定 し ま す。
IP の ク ロ ッ ク ポー ト には、 FREQ_HZ で終わ る プ ロ パテ ィ があ り ます。 こ れ ら のプ ロ パテ ィ を変更す る と 、 IP の出
力フ ァ イ ルが生成 さ れ る と き 、 IP の _ooc.xdc フ ァ イ ルでそれ ら の値が使用 さ れます。
Tcl コ マ ン ド を使用 し た タ ーゲ ッ ト ク ロ ッ ク周期の設定
IP のカ ス タ マ イ ズはすべて IP オブジ ェ ク ト にプ ロ パテ ィ を設定す る こ と に よ り 実行 し ます。
•
IP を設定す る ため GUI を使用す る 場合、 Vivado IDE で Tcl コ マ ン ド が自動的に出力 さ れます。
•
ア ウ ト オブ コ ン テ キ ス ト 合成で IP の タ ーゲ ッ ト 周期を設定す る オプシ ョ ンが GUI にない場合、 手動で設定で
き ます。
Tcl を使用 し て (ま たは IP カ ス タ マ イ ズ GUI を使用) 再び変更 し ない限 り 、 IP のカ ス タ マ イ ズは恒久的で、 IP を リ
セ ッ ト お よ び再生成 し て も 、 変更内容はその ま ま です。
次は、 cha r _ f i f o と い う 名前の FIFO Generator IP の タ ーゲ ッ ト ク ロ ッ ク を設定する 例です。 こ の IP は、 読み出 し
お よ び書 き 込みポー ト 、 それにネ イ テ ィ ブ イ ン タ ーフ ェ イ ス に共通の ク ロ ッ ク を使用する よ う にカ ス タ マ イ ズ さ れ
てい ます。
1.
report_property コ マ ン ド を使用 し て IP に使用可能なプ ロ パテ ィ を レ ポー ト し ます。 Tcl コ ン ソ ールに次の
コ マ ン ド を入力 し ます。
report_property [get_ips char_fifo]
2.
出力結果か ら 、 こ の IP には FREQ_HZ で終わ る プ ロ パテ ィ が 5 つあ る こ と がわか り ます。
°
CONFIG.core_clk.FREQ_HZ : 共通 ク ロ ッ ク を使用 し てい る 場合に適用可能 ( こ の例)
°
CONFIG.read_clk.FREQ_HZ : 独立 ク ロ ッ ク を使用 し てい る 場合に適用可能
°
CONFIG.write_clk.FREQ_HZ : 独立 ク ロ ッ ク を使用 し てい る 場合に適用可能
°
CONFIG.slave_aclk.FREQ_HZ : AXI を使用 し てい る 場合に適用可能
°
CONFIG.master_aclk.FREQ_HZ : AXI を使用 し てい る 場合に適用可能
共通 ク ロ ッ ク を使用 し てい る ネ イ テ ィ ブ イ ン タ ーフ ェ イ ス には、 1 番目のみが適用可能です。
CONFIG.core_clk.FREQ_HZ はデフ ォ ル ト で 100000000 (100MHz) に設定 さ れてい ます。
IP が既に生成 さ れてい る 場合は、 char_fifo_ooc.xdc を開 き 、 次の行を確認 し ます。
create_clock -period 10 -name clk [get_ports clk]
周期 10 は、 CONFIG.core_clk.FREQ_HZ の 100MHz に相当 し ます。
こ の例で ク ロ ッ ク 周波数を 250MHz にす る には、 次の よ う に設定 し ます。
3.
Tcl コ ン ソ ールに次の Tcl コ マ ン ド を入力 し ます。
set_property CONFIG.core_clk.FREQ_HZ 250000000 [get_ips char_fifo]
4.
こ のプ ロ パテ ィ を設定 し た後に、 IP を生成 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
24
japan.xilinx.com
第 2 章 : IP の基礎
こ れで、 ア ウ ト オブ コ ン テ キ ス ト run が リ セ ッ ト さ れ再実行 さ れます。
run が完了 し た ら 、 char_fifo_ooc.xdc フ ァ イ ルを確認 し ます。 次の よ う にな っ てい る はずです。
create_clock -period 4 -name clk [get_ports clk]
こ れで、 IP を合成す る と き に こ の ク ロ ッ ク 周期/周波数が使用 さ れます。
既存 IP のプ ロ ジ ェ ク ト への追加
以前に CORE Generator™ ツールで生成 し た IP (<ip_name>.xco フ ァ イ ル) ま たは Vivado IP (<ip_name>.xci フ ァ
イ ル) を追加する には、 次の図に示す よ う に Add Sources ウ ィ ザー ド で [Add Existing IP] を オンに し ます。
X-Ref Target - Figure 2-13
図 2-13 : Add Sources ウ ィ ザー ド
IP お よ び生成 さ れた出力フ ァ イ ルは、 現在の場所か ら 参照す る か、 プ ロ ジ ェ ク ト に コ ピーで き ます。
既存の IP と し ては、 別のデザ イ ンで使用す る ためにカ ス タ マ イ ズ さ れた IP、 ま たは多数のデザ イ ン で使用す る ため
に Manage IP プ ロ ジ ェ ク ト でカ ス タ マ イ ズ さ れた IP を追加で き ます。 Manage IP プ ロ ジ ェ ク ト では、 IP を カ ス タ マ イ
ズ し て XCI フ ァ イ ルを作成で き 、 必要に応 じ て出力フ ァ イ ル も 生成で き ます。 Manage IP フ ロ ーを使用 し た IP の作
成の詳細は、 第 3 章 「Manage IP プ ロ ジ ェ ク ト の使用」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
25
japan.xilinx.com
第 2 章 : IP の基礎
[Next] を ク リ ッ ク す る と 、 次の図に示す [Add Existing IP] ページが表示 さ れます。
X-Ref Target - Figure 2-14
図 2-14 : Add Sources ウ ィ ザー ド の [Add Existing IP] ページ
追加 さ れた IP お よ び出力フ ァ イ ルは、 [Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーだけでな く 、 [Hierarchy]、
[Libraries]、 [Compile Order] ビ ュ ーに も 表示 さ れます。
[IP Sources] ビ ュ ーで IP を選択す る と 、 そのプ ロ パテ ィ が [Source File Properties] ウ ィ ン ド ウ に表示 さ れます。
重要 : Vivado Design Suite では、 UltraScale デバ イ ス に対 し て NGC フ ォーマ ッ ト の フ ァ イ ルはサポー ト さ れてい ませ
ん。 Vivado Design Suite で IP を再生成 し 、 ネ イ テ ィ ブ出力フ ァ イ ルを使用す る こ と をお勧め し ます。 ま たは、
NGC2EDIF コ マ ン ド を使用 し て NGC フ ァ イ ルを EDIF に変換で き ます。 フ ァ イ ルの Vivado への移行に関する 詳細
は、 『ISE か ら Vivado Design Suite への移行ガ イ ド 』 (UG911) [参照 26] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
既存 IP を プ ロ ジ ェ ク ト に追加ま たは イ ン ポー ト す る 場合、 IP の既存の出力フ ァ イ ルが参照 さ れ る かプ ロ ジ ェ ク ト に
コ ピー さ れますが、 デザ イ ン run は コ ピー さ れません。
IP のデザ イ ン run を作成す る には、 次の 2 つのオプシ ョ ンがあ り ます。
1.
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス の [Synthesis Options] で [Out of context per IP] を オンに し て、 IP の
出力フ ァ イ ルを生成 し 直 し ます。
2.
[Tcl Console] ウ ィ ン ド ウ に次の コ マ ン ド を入力 し ます。
create_ip_run -force [get_ips <ip_name>]
こ のプ ロ ジ ェ ク ト では run は ま だ実行 さ れていないので、 その こ と を示す メ ッ セージが表示 さ れます。
追加 し た IP は、 「IP の イ ン ス タ ン シエーシ ョ ン」 で説明す る よ う に最上位デザ イ ンに イ ン ス タ ン シエー ト す る
必要があ り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
26
japan.xilinx.com
第 2 章 : IP の基礎
Tcl コ マ ン ド
既存の IP お よ びその出力フ ァ イ ルを プ ロ ジ ェ ク ト に追加す る Tcl コ マ ン ド は、 次の と お り です。
既存 IP を追加 :
import_files
IP に リ モー ト ア ク セ ス :
read_ip <ip_name>
こ の コ マ ン ド では、 IP はプ ロ ジ ェ ク ト に コ ピー さ れません。
フ ァ イ ルを追加 :
add_files <file_name>
メ モ リ IP のカ ス タ マ イ ズ
メ モ リ IP は、 ザ イ リ ン ク ス デバ イ ス と IP 用に メ モ リ コ ン ト ロ ー ラ ーを作成 し ます。 選択 し た FPGA 用のカ ス タ マ
イ ズ さ れた Verilog ま たは VHDL RTL ソ ース コ ー ド 、 ピ ン配置、 デザ イ ン制約を作成 し 、 イ ンプ リ メ ン テーシ ョ ンお
よ びシ ミ ュ レーシ ョ ン用の ス ク リ プ ト フ ァ イ ル も 作成 し ます。
7 シ リ ーズ デバ イ ス では、 メ モ リ IP は MIG (Memory Interface Generator) と 呼ばれます。 UltraScale デバ イ ス以降では、
こ の用語は廃止予定です。
詳細は、 『UltraScale アーキテ ク チ ャ FPGA メ モ リ IP LogiCORE IP 製品ガ イ ド 』 (PG150) [参照 38] お よ び 『Zynq-7000
AP SoC お よ び 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー ガ イ ド 』 (UG586) [参照 36] を参
照 し て く だ さ い。
Zynq UltraScale+™ MPSoC プ ロ セ ッ サの メ モ リ IP では、 ピ ン プ ラ ン ニ ン グ プ ロ ジ ェ ク ト が開 き 、 そのデバ イ ス に適
し た ピ ン を設定で き ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899)
[参照 25] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ビデオ : メ モ リ IP の使用方法については、 QuickTake ビデオ : UltraScale メ モ リ IP の設計を ご覧 く だ さ い。
メ モ リ IP の詳細は、 「 ソ リ ュ ーシ ョ ン セ ン タ ー」 も 参照 し て く だ さ い。 ま た、 ザ イ リ ン ク ス Document Navigator の
[Designing with IP] デザ イ ン ハブに、 メ モ リ IP のビデオお よ び資料への リ ン ク が リ ス ト さ れてい ます。
既存の IP の再カ ス タ マ イ ズ
RTL プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト の既存の IP は、 カ ス タ マ イ ズ し 直す こ と がで き ます。
1.
IP のカ ス タ マ イ ズ ダ イ ア ロ グ ボ ッ ク ス は、 次のいずれかの方法で開 く こ と がで き ます。
°
[Sources] ウ ィ ン ド ウ で IP を ダブル ク リ ッ ク し ます。
°
次の図の よ う に、 [IP Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [Re-customize IP] を ク リ ッ ク し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
27
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-15
図 2-15 : [Re-customize IP] コ マ ン ド
2.
IP の コ ン フ ィ ギ ュ レーシ ョ ン設定を変更 し 、 [OK] を ク リ ッ ク し ます。
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
ま たは、 現在の設定を確認 し た後 [Cancel] を ク リ ッ ク す る と 、 変更は保存 さ れません。
IP コ ン フ ィ ギ ュ レーシ ョ ン を変更 し 、 出力フ ァ イ ルを生成す る と 、 既存の フ ァ イ ルが リ セ ッ ト さ れ、 デザ イ ン run
が リ セ ッ ト さ れて実行 し 直 さ れます。
推奨 : 常に合成済み DCP を含む IP の出力フ ァ イ ルを生成する こ と をお勧め し ます。 IP を カ ス タ マ イ ズ ま たは再カ ス
タ マ イ ズ し た後に出力フ ァ イ ルを生成 し ない場合、 最上位デザ イ ン を合成す る と き な ど、 必要に応 じ て出力フ ァ イ
ルが自動生成 さ れます。
IP のコ ピー
既存のカ ス タ マ イ ズ済み IP を コ ピー し て、 新 し い IP の開始点 と し て使用で き ます。 こ れは、 既にカ ス タ マ イ ズ済み
の IP があ り 、 新 し い IP を こ れに少 し の変更を加え る だけで作成で き る 場合に便利です。
IP を コ ピーす る には、 次の手順に従い ます。
1.
[IP Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [Copy IP] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-16
図 2-16 : [Copy IP] コ マ ン ド
2.
コ ピーの名前 と 保存す る デ ィ レ ク ト リ を指定 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
28
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-17
図 2-17 : [Copy IP] ダ イ ア ログ ボ ッ ク ス
コ ピー し た IP はプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造に保存で き ます。 デフ ォ ル ト では、
<project_name>.src/sources_1/ip/ に コ ピー さ れ ます。 ま たは、 現在のプ ロ ジ ェ ク ト 外の場所を指定で き
ま す。
Manage IP プ ロ ジ ェ ク ト では、 デフ ォ ル ト のデ ィ レ ク ト リ は /mange_ip_project デ ィ レ ク ト リ と 同 じ にな り ます。
こ れで、 [IP Sources] ビ ュ ーで IP を ダブル ク リ ッ ク す る か、 右 ク リ ッ ク し て [Re-customize IP] を ク リ ッ ク する こ と に
よ り 、 コ ピー し た IP を カ ス タ マ イ ズ し 直す こ と がで き ます。
コ ピー し た IP のカ ス タ マ イ ズ ウ ィ ン ド ウ が元の IP のカ ス タ マ イ ズ設定で開 き 、 変更を加え る こ と がで き ます。
注意 : 1 つの IP か ら 、 異な る サブ IP バージ ョ ン ( ロ ッ ク さ れた以前のバージ ョ ン と それ と は別の新 し いバージ ョ ン)
を参照す る こ と は可能ですが、 その場合、 同 じ モジ ュ ール名で異な る 内容の フ ァ イ ルが存在する こ と にな る ので、
合成ツールでエ ラ ーま たは ロ ジ ッ ク のバグが発生 し ます。 サブ IP を ア ッ プグ レー ド す る か、 IP を ア ウ ト オブ コ ン テ
キ ス ト で合成 し て く だ さ い。
IP を コ ピーする Tcl コ マ ン ド の例
カ ス タ マ イ ズ済みの IP を コ ピーす る には、 copy_ip コ マ ン ド を使用で き ます。
copy_ip -name newFIFo [get_ips char_fifo]
こ の例では、 char_fifo IP の コ ピーを作成 し 、 それに newFIFO と い う 名前を付けて、 プ ロ ジ ェ ク ト に追加 し てい
ます。 -dir オプシ ョ ン を使用 し てデ ィ レ ク ト リ が指定 さ れていないので、 IP はプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造内
に作成 さ れます。
出力フ ァ イルの生成
IP のカ ス タ マ イ ズが終了す る と 、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が開き ます (図 2-18)。
生成 さ れ る IP の出力フ ァ イ ルが [Preview] エ リ アに リ ス ト さ れ、 次のいずれか を選択で き ます。
•
リ ス ト さ れた出力フ ァ イ ルを生成す る には、 [Generate] を ク リ ッ ク し ます。 デフ ォ ル ト では、 出力フ ァ イ ルを生
成す る 際に IP の XCI お よ び DCP 、 変更 ロ グ、 ビヘ イ ビ アー シ ミ ュ レーシ ョ ン モデル、 お よ び イ ン ス タ ン シ
エーシ ョ ン テ ンプ レー ト が作成 さ れます。
•
出力フ ァ イ ルを後で生成する場合は、 [Skip] を ク リ ッ ク し ます。 こ れに よ り 、 カ ス タ マ イ ズ し た IP を複数選択し
て一度にすべての出力フ ァ イ ルを生成 し た り 、 IP の DCP フ ァ イ ルの合成 run を並行し て実行し た り で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
29
japan.xilinx.com
第 2 章 : IP の基礎
ヒ ン ト : プ ロ ジ ェ ク ト モー ド の場合、 最上位デザ イ ンの合成前に、 出力フ ァ イ ルが必要に応 じ て自動的に生成 さ れ
ます。 こ れには、 指定 し た DCP フ ァ イ ルがすべて含まれます。 ま た、 IP コ アに対 し ては、 ほかの出力フ ァ イ ルを生
成 し ない場合で も 、 XCI フ ァ イ ル と イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト が常に生成 さ れます。
デフ ォ ル ト では、 合成済み IP の DCP は最上位か ら 独立 さ せて ア ウ ト オブ コ ン テ キ ス ト で生成 さ れます。
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス で次のいずれかのオプシ ョ ン をオンに し ます。
•
[Out of context for IP]
•
[Global Synthesis] : 現在のデザ イ ン で ト ッ プダ ウ ン合成が実行 さ れ、 OOC run フ ァ イ ルはすべて削除 さ れます。
一度に実行す る ア ウ ト オブ コ ン テ キ ス ト 合成 run の数 も 指定で き ます。 デフ ォ ル ト では、 1 つのジ ョ ブが指定
さ れ、 デザ イ ン run は順番に実行 さ れます。
大 き い数を指定す る と 、 並行 し て実行で き る デザ イ ン run の最大数が増加 し ます。
X-Ref Target - Figure 2-18
図 2-18 : [Generate Output Products] ダ イ ア ログ ボ ッ ク ス
こ れ ら の設定を変更 し た ら 、 出力フ ァ イ ルをすぐ に生成す る か、 後で生成で き ます。 DCP 生成のプ リ フ ァ レ ン ス は、
こ の段階で出力フ ァ イ ルを生成す る か ど う かに関係な く 保持 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
30
japan.xilinx.com
第 2 章 : IP の基礎
Tcl コ マ ン ド : タ ーゲ ッ ト の リ セ ッ ト および生成
出力フ ァ イ ルを リ セ ッ ト し て再生成す る Tcl コ マ ン ド は、 次の と お り です。
reset_target all
[get_files /project_1/project_1.srcs/sources_1/ip/<core_name>.xci]
generate_target all
[get_files project_1/project_1.srcs/sources_1/ip/<core_name>.xci]
IP の合成オプ シ ョ ン
IP の出力フ ァ イ ルを生成す る 際、 デフ ォ ル ト ではア ウ ト オブ コ ン テ キ ス ト (OOC) の合成済みデザ イ ン チ ェ ッ ク ポ
イ ン ト (DCP) が生成 さ れます。 ま たは、 IP を最上位ユーザー ロ ジ ッ ク と 一緒に合成 (グ ロ ーバル合成) す る よ う 選択
で き ます。
次の図に、 IP を合成す る 際の 2 つのフ ロ ーを示 し ます。
•
デフ ォ ル ト の OOC フ ロ ー
•
最上位ユーザー HDL と 一緒に IP の HDL を合成 (グ ロ ーバル合成)
ど ち ら の フ ロ ーで も 、 IP の HDL と XDC フ ァ イ ルが生成 さ れ、 こ れ ら の フ ァ イ ルが合成お よ び イ ンプ リ メ ン テー
シ ョ ンで使用 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
31
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-19
,3ቑኈኖኜኻኁኗ
;&,
Ⓟ侓
⒉┪
ኲቾኁወ
,3ትቿኃእኇኳ
ነዐኣኊኖእቊ
⚗㒟
ኤኲኆወእ
ኪአእ዇ኖእ
'&3
Ⓟ侓
㦏ₙ⇜ቋ₏偡቎
ኍዊዙክወ⚗㒟
ኁዐኴ዇ኾዐ
ኣዙኔዄዐ
+'/ኖኜኳ
㦏ₙ⇜ት⚗㒟
,3ቒኳ዆አኌ
ኹአኌኖ
ኰአእኖእ዇ዙኽ
ኁዐኴ዇ኾዐ
ኣዙኔዄዐ
ኰአእኖእ዇ዙኽ
図 2-19 : アウ ト オブ コ ン テキス ト (OOC) およびグローバル合成フ ロー
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
32
japan.xilinx.com
第 2 章 : IP の基礎
グ ローバル合成 フ ロー
グ ロ ーバル合成フ ロ ーでは、 IP はユーザー HDL と 一緒に合成 さ れます。 ユーザー HDL に変更を加え る と 、 IP も 合
成 し 直 さ れます。
イ ンプ リ メ ン テーシ ョ ンでは、 イ ンプ リ メ ン テーシ ョ ンで使用す る ために生成 さ れた IP の XDC 出力フ ァ イ ルが
ユーザー制約 と 共に適用 さ れます。
推奨 : 常に XCI フ ァ イ ルを使用 し て IP を参照 し て く だ さ い。プ ロ ジ ェ ク ト モー ド フ ロ ーで も 非プ ロ ジ ェ ク ト モー ド
フ ロ ーで も 、 IP の DCP フ ァ イ ルのみを読み込む こ と は推奨 さ れません。 DCP には制約が含まれますが、 ELF、
COE、 Tcl ス ク リ プ ト な ど、 IP で提供可能で必要 と な る 可能性のあ る その他の出力フ ァ イ ルは含まれません。
アウ ト オブ コ ン テキス ト (OOC) フ ロー
Vivado Design Suite IP の場合、 グ ロ ーバル合成オプシ ョ ン を使用 し 、 ア ウ ト オブ コ ン テ キ ス ト (OOC) DCP の生成を
オ フ に し て、 IP の RTL を最上位デザ イ ン と 一緒に合成で き ます。
推奨 : IP を生成す る 際は OOC を使用す る こ と が推奨 さ れます。 それが Vivado Design Suite のデフ ォ ル ト で も あ り ま
す。 OOC フ ロ ーを使用す る と プ ロ ジ ェ ク ト 全体で実行時間が短縮 さ れ、 プ ロ ジ ェ ク ト run を実行する 際に IP を合成
し 直す必要がな く な り ます。
OOC フ ロ ーでは、 IP が ス タ ン ド ア ロ ン モジ ュ ール と し て合成 さ れ、 OOC の DCP が生成 さ れます。 IP を合成する 際
は、 デフ ォ ル ト の入力 ク ロ ッ ク 定義を提供す る OOC フ ロ ー専用の XDC 出力フ ァ イ ル (_ooc.xdc) が使用 さ れます。
生成 さ れ る DCP は コ ン テナー フ ァ イ ルで、 ネ ッ ト リ ス ト と 制約が含まれます。 _ooc.xdc フ ァ イ ルは IP 定義の一
部であ り 、 IP カ タ ロ グに保存 さ れてい ます。
最上位デザ イ ン を合成す る 際は、 DCP フ ァ イ ル と 共に HDL ス タ ブ モジ ュ ールが提供 さ れ、 IP に対 し てブ ラ ッ ク
ボ ッ ク ス が推論 さ れます。
ま た、 デザ イ ン全体の合成中は、 IP か ら 出力 さ れ る 可能性のあ る ク ロ ッ ク を定義す る XDC フ ァ イ ル
(_in_context.xdc) が DCP に よ り 提供 さ れます。 詳細は、 「IP の制約の理解」 を参照 し て く だ さ い。
イ ンプ リ メ ン テーシ ョ ンでは、 IP の DCP か ら のネ ッ ト リ ス ト が、 最上位デザ イ ン フ ァ イ ルの合成で生成 さ れたネ ッ
ト リ ス ト と リ ン ク さ れ、 IP ブ ラ ッ ク ボ ッ ク ス が解決 さ れます。 イ ンプ リ メ ン テーシ ョ ンで使用する ために生成 さ れ
た IP の XDC 出力フ ァ イ ルがユーザー制約 と 共に適用 さ れます。
デフ ォ ル ト では、 次の 2 つの利点か ら OOC フ ロ ーが使用 さ れます。
•
最上位デザ イ ンの一部 と し て IP を再合成す る のではな く 、 IP のカ ス タ マ イ ズ ま たはバージ ョ ンが変更 さ れた IP
のみが合成 さ れ る ので、 合成の実行時間が短縮 さ れます。
•
<ip_name>_sim_netlist.v ま たは <ip_name>_sim_netlist.vhdl 構造シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト
が生成 さ れます。 こ れ ら の フ ァ イ ルは、 単一言語シ ミ ュ レー タ を使用 し ていて、 IP でその言語のビヘ イ ビ アー
HDL が提供 さ れない場合にシ ミ ュ レーシ ョ ンに使用で き ます。 詳細は、 「IP のシ ミ ュ レーシ ョ ン」 を参照 し て
く だ さ い。
注記 : Vivado Design Suite の 2015.3 よ り 前のバージ ョ ンでは、 シ ミ ュ レーシ ョ ン フ ァ イ ルの名前は *_funcsim.v お
よ び *_funcsim.vhdl です。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
33
japan.xilinx.com
第 2 章 : IP の基礎
生成 さ れる出力フ ァ イル
[Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーには、 プ ロ ジ ェ ク ト に含まれ る すべての IP に生成 さ れた出力フ ァ イ ルが表
示 さ れます。 デフ ォ ル ト では、 IP の出力フ ァ イ ルは ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ
(<project_name>.srcs/sources_1/ip/<ip_name>) に保存 さ れますが、 IP カ タ ロ グか ら IP を カ ス タ マ イ ズす
る 際に IP の保存場所 と し て ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ 外の場所を指定で き ます。
合成出力フ ァ イ ルが生成 さ れた ら 、 Vivado IDE でデザ イ ン run が作成 さ れて実行 さ れ、 OOC DCP が生成 さ れます。
デフ ォ ル ト では、 ほ と ん ど の Vivado Design Suite IP のカ ス タ マ イ ズ プ ロ セ ス中に、 合成済みデザ イ ン チ ェ ッ ク ポ イ
ン ト (DCP) フ ァ イ ルが自動的に作成 さ れます。
最上位デザ イ ンの合成を実行す る 際、 IP はア ウ ト オブ コ ン テ キ ス ト フ ロ ーに設定 さ れてお り 、 合成済み OOC で
DCP フ ァ イ ルがあ る ので、 ブ ラ ッ ク ボ ッ ク ス と し て処理 さ れます。
合成 run の処理中は、 次の図に示す よ う に、 OOC 関連フ ァ イ ルが不足 し てい る と 表示 さ れます。
X-Ref Target - Figure 2-20
図 2-20 : OOC フ ローの出力フ ァ イルの作成待機中
グ ロ ーバル合成を使用す る よ う 選択 し 、 DCP を生成 し ない場合は、 _sim_netlist お よ びス タ ブ フ ァ イ ルは作成 さ
れません。
出力フ ァ イ ルを生成 し ない場合、 XCI お よ び BOM フ ァ イ ル以外には、 図 2-21 に示す よ う に、 イ ン ス タ ン シエー
シ ョ ン テ ンプ レー ト のみが生成 さ れます。
X-Ref Target - Figure 2-21
図 2-21 : 出力フ ァ イルを生成 し ない場合の IP
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
34
japan.xilinx.com
第 2 章 : IP の基礎
出力フ ァ イ ルが生成 さ れ る と 、 次の図に示す よ う に、 [Sources] ウ ィ ン ド ウ に暗号化 さ れていない フ ァ イ ルが リ ス ト
さ れます。
X-Ref Target - Figure 2-22
図 2-22 : OOC の DCP を含む出力フ ァ イルを生成 し た場合の IP
こ れ ら の フ ァ イ ルには、 イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 、 合成お よ びシ ミ ュ レーシ ョ ン タ ーゲ ッ ト 、 XDC 制
約、 変更 ロ グ な ど が含まれます。
デフ ォ ル ト では、 OOC の DCP と 共に構造シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト (<ip_name>_sim_netlist.v ま たは
<ip_name>_sim_netlist.vhdl) が作成 さ れ、 サー ド パーテ ィ 合成ツールで使用す る ための ス タ ブ フ ァ イ ル
(*_stub.v/*_.vhdl) が作成 さ れ、 その IP に対 し てブ ラ ッ ク ボ ッ ク ス が推論 さ れます。
注記 : Vivado Design Suite の 2015.3 よ り 前のバージ ョ ンでは、 シ ミ ュ レーシ ョ ン フ ァ イ ルの名前は *_funcsim.v お
よ び *_funcsim.vhdl です。
出力フ ァ イルの手動生成
出力フ ァ イ ルは、 次の方法を使用 し て、 ど の段階で も 手動で作成で き ます。
1.
[Sources] ウ ィ ン ド ウ の [IP Sources] ま たは [Hierarchy] ビ ュ ーで IP を選択 し ます。
2.
右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク し ます。
出力フ ァ イ ルを生成する場合、IP のア ウ ト オブ コ ン テキ ス ト (OOC) 合成デザ イ ン run を作成 し て実行する のがデフ ォ
ル ト フ ローです。 こ れに よ り 、 最上位デザ イ ン を合成 し た と き に、 IP に対 し てブ ラ ッ ク ボ ッ ク スが推論 さ れます。
重要 : イ ンプ リ メ ン テーシ ョ ン段階では、 IP の DCP フ ァ イ ルか ら ネ ッ ト リ ス ト が抽出 さ れて、 ブ ラ ッ ク ボ ッ ク ス が
解決 さ れます。
注記 : IP のア ウ ト オブ コ ン テ キ ス ト の DCP フ ァ イ ルを生成 し ない場合、 ま たは ス ク リ プ ト フ ロ ーを使用す る 場合
は、 GENERATE_SYNTH_CHECKPOINT プ ロ パテ ィ を FALSE に設定 し て、 出力フ ァ イ ルを生成 し た と き にチ ェ ッ ク ポ
イ ン ト が生成 さ れない よ う にす る こ と がで き ます。
IP の OOC オプ シ ョ ン を オ フ にする Tcl コ マ ン ド
set_property GENERATE_SYNTH_CHECKPOINT FALSE [get_ips <ip_name>]
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
35
japan.xilinx.com
第 2 章 : IP の基礎
推奨 : デザ イ ン合成の実行時間を短縮す る ため、 デフ ォ ル ト の OOC を使用する こ と をお勧め し ます。 OOC フ ロ ーを
使用す る と 、 開発中に合成を実行す る たびに IP を合成す る 必要はあ り ません。
コ ア コ ン テナーの使用
コ ア コ ン テナー機能を使用す る と 、 IP が 1 つの フ ァ イ ルで提供 さ れ る ので、 リ ビ ジ ョ ン管理シ ス テ ム を使用す る 場
合の作業が簡単にな り ます。
ビデオ : QuckTake ビデオ : IP の コ ア コ ン テナーの使用を ご覧 く だ さ い。
こ のオプシ ョ ン の機能を使用す る と 、 IP お よ び生成 さ れたすべての出力フ ァ イ ルが 1 つの圧縮バ イ ナ リ フ ァ イ ル
(拡張子 .xcix) と し て保存 さ れ ます。 こ の フ ァ イ ルは、 IP カ ス タ マ イ ズ フ ァ イ ルであ る XCI フ ァ イ ル と 同様に機
能 し ま す。
IP を追加ま たは読み込む際、 通常 XCI フ ァ イ ルを指定 し ますが、 コ ア コ ン テナーを使用す る 場合は XCIX フ ァ イ ル
を追加す る か、 ま たは読み込みます。
既存の IP に対 し て コ ア コ ン テナー機能を イ ネーブルにする と 、 IP デ ィ レ ク ト リ と 出力フ ァ イ ルが XCIX フ ァ イ ルに
置 き 換え ら れます。 コ ア コ ン テナー機能をデ ィ ス エーブルにする と 、 XCIX フ ァ イ ルが出力フ ァ イ ル と XCI フ ァ イ
ルを含む IP デ ィ レ ク ト リ に変換 さ れます。
IP の コ ア コ ン テナーを イ ネーブルにす る と 、 IP イ ン ス タ ン ス のデ ィ ス ク 上での表現は変更 さ れますが、 Vivado 内で
の IP の表現は変更 さ れません。 図 2-23 に、 2 つの IP (char_fifo お よ び clk_core) に対 し て、 Vivado の [Sources]
ウ ィ ン ド ウ の [IP Sources] ビ ュ ーでの表示 と 、 フ ァ イ ル エ ク ス プ ロ ー ラ ーでのプ ロ ジ ェ ク ト デ ィ レ ク ト リ での位置を
示 し ます。
• char_fifo IP は、 コ ア コ ン テナーを使用する よ う 設定 さ れてい ます。
• clk_core は、 コ ア コ ン テナーを使用す る よ う 設定 さ れてい ません。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
36
japan.xilinx.com
第 2 章 : IP の基礎
Vivado の [Sources] ウ ィ ン ド ウ では、 2 つの IP の表示は同 じ で、 ど ち ら に も 出力フ ァ イ ルが リ ス ト さ れてお り 、
Vivado IDE 内で開 く こ と がで き ます。
X-Ref Target - Figure 2-23
図 2-23 : コ ア コ ン テナーを使用する IP
デ ィ ス ク 上では、 clk_core にはフ ォ ルダーがあ り ますが、 char_fifo IP には XCIX フ ァ イ ルがあ る だけです。 IP
に コ ア コ ン テナーを使用す る と 、 Vivado に よ り こ の XCIX フ ァ イ ルか ら 合成お よ び イ ンプ リ メ ン テーシ ョ ンに必要
な IP ソ ース フ ァ イ ルが読み出 さ れます。 フ ァ イ ルは一時デ ィ レ ク ト リ に抽出 さ れ る わけではな く 、 バ イ ナ リ フ ァ イ
ルか ら 直接読み出 さ れます。
重要 : 繰 り 返 し ますが、 IP を 1 つの フ ァ イ ルで表す こ と に よ り 、 リ ビ ジ ョ ン管理が簡単にな り ます。
XCIX フ ァ イ ルだけで、 次の よ う に XCI フ ァ イ ル と 同 じ 機能があ り ます。
•
IP の ス テー タ スお よ び詳細を レ ポー ト ([Report IP Status])
•
新 し いバージ ョ ンが入手可能にな っ た と き に IP を ア ッ プグ レー ド 、 古いバージ ョ ンの IP を保持する こ と も 可能
•
IP を カ ス タ マ イ ズ し 直す こ と が可能 (最新バージ ョ ンの場合)
•
IP を リ セ ッ ト し て再生成可能 (最新バージ ョ ンの場合)
プ ロ ジ ェ ク ト 内では、 コ ア コ ン テナーを使用 し てい る 場合で も 使用 し ていない場合で も 、 IP は同 じ よ う に表示 さ れ
ます (図 2-23)。 [IP Sources] ビ ュ ーには IP に生成 さ れたすべての フ ァ イ ルが表示 さ れ、 こ れま で と 同様に こ こ か ら ダ
ブル ク リ ッ ク し て開 く こ と がで き ます。
ま た、 IP に関連す る Tcl コ マ ン ド も 、 コ ア コ ン テナーを使用 し てい る か ど う かにかかわ ら ず同 じ です。
すべての IP と 同様、 一部の フ ァ イ ルは使いやすい よ う に ip_user_files デ ィ レ ク ト リ に保存 さ れます。 詳細は、
「IP ユーザー フ ァ イ ル (ip_user_files) の理解」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
37
japan.xilinx.com
第 2 章 : IP の基礎
コ ア コ ン テナーのイ ネーブルおよびデ ィ ス エーブル
コ ア コ ン テナー機能は、 デフ ォ ル ト ではデ ィ ス エーブルにな っ てい ます。 新 し く 作成する すべての IP で コ ア コ ン テ
ナー機能を使用す る には、 [Project Settings] → [IP] → [General] タ ブで [Use Core Containers for IP] を オンに し ます。 次
の図は [IP] の [General] タ ブです。
ビデオ : 詳細は、 QuickTake ビデオ : IP の コ ア コ ン テナーの使用を ご覧 く だ さ い。
コ ア コ ン テナーを イ ネーブルにす る には、 2 つの方法があ り ます。
•
すべての IP に コ ア コ ン テナー フ ォーマ ッ ト を使用す る には、 [Project Settings] → [IP] → [General] を ク リ ッ ク し 、
[Use Core Container] チ ェ ッ ク ボ ッ ク ス をオンに し ます。
X-Ref Target - Figure 2-24
図 2-24 : [Project Settings] ダ イ ア ログ ボ ッ ク スで コ ア コ ン テナーを イ ネーブル
•
既存の IP で コ ア コ ン テナーを イ ネーブルにす る には、 [Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーで IP を右 ク
リ ッ ク し 、 [Enable Core Container] を ク リ ッ ク し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
38
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-25
図 2-25 : 既存の IP で コ ア コ ン テナーを イ ネーブル
コ ア コ ン テナーを使用 し てい る IP で コ ア コ ン テナーをデ ィ ス エーブルにす る には、 [Sources] ウ ィ ン ド ウ の [IP
Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [Disable Core Container] を ク リ ッ ク し ます。
Vivado プ ロ ジ ェ ク ト を以前の リ リ ース か ら 現在の リ リ ース にア ッ プグ レー ド する 際、 IP が検出 さ れ る と 、 次の図に
示す [Enable Core Container] ダ イ ア ロ グ ボ ッ ク ス が開 き 、 [Convert IP to Core Container and Set as Default in Project] オプ
シ ョ ン を オンにす る と IP を コ ア コ ン テナーに変換 し てプ ロ ジ ェ ク ト でデフ ォ ル ト で コ ア コ ン テナーが使用 さ れ る よ
う に設定で き ます。
X-Ref Target - Figure 2-26
図 2-26 : [Enable Core Container] ダ イ ア ログ ボ ッ ク ス
注記 : 7 シ リ ーズ メ モ リ イ ン タ ーフ ェ イ ス IP では、 コ ア コ ン テナー機能はサポー ト さ れません。 ま た、 IP イ ン テ グ
レー タ ー ブ ロ ッ ク デザ イ ン内の IP に対 し て も コ ア コ ン テナー機能は使用で き ません。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
39
japan.xilinx.com
第 2 章 : IP の基礎
コ ア コ ン テナーを使用 し ている場合のシ ミ ュ レーシ ョ ン
コ ア コ ン テナーを イ ネーブルにす る と 、 IP の生成時に IP のシ ミ ュ レーシ ョ ン関連の フ ァ イ ルが、 使いやすい よ う に
XCIX フ ァ イ ルの外に保存 さ れます。 XCIX し かない場合で も 、 export_ip_user_files コ マ ン ド を使用 し て こ れ
ら の フ ァ イ ルを抽出で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
[参照 17] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
コ ア コ ン テナーを使用す る IP のビヘ イ ビ アー シ ミ ュ レーシ ョ ン フ ァ イ ルは sim デ ィ レ ク ト リ に保存 さ れます。 こ
のデ ィ レ ク ト リ は、 次のいずれかの場所にあ り ます。
•
プ ロ ジ ェ ク ト を使用 し てい る 場合 :
<project_directory>\<project name>.ip_user_files\ip\<ip_name>\
•
Manage IP プ ロ ジ ェ ク ト を使用 し て IP を作成す る 場合 :
<managed_ip_project directory>\ip_user_files\ip\<ip_name>\
サー ド パーテ ィ シ ミ ュ レー タ を使用す る 際に IP でサポー ト さ れていない言語のビヘ イ ビ アー シ ミ ュ レーシ ョ ン
フ ァ イ ル し か提供 さ れていない場合、 論理シ ミ ュ レーシ ョ ン フ ァ イ ルは上記の場所にあ り ます。
•
<ip_name>_sim_netlist.v
•
<ip_name>_sim_netlist.vhdl
注記 : Vivado Design Suite の 2015.3 よ り 前のバージ ョ ンでは、 シ ミ ュ レーシ ョ ン フ ァ イ ルの名前は *_funcsim.v お
よ び *_funcsim.vhdl です。
生成 さ れ る IP シ ミ ュ レーシ ョ ン関連の フ ァ イ ル と その場所の詳細は、 53 ページの 「IP のシ ミ ュ レーシ ョ ン」 を参照
し て く だ さ い。
コ ア コ ン テナーのサポー ト フ ァ イル
シ ミ ュ レーシ ョ ン フ ァ イ ル と 同様、 コ ア コ ン テナーを使用す る IP のその他のサポー ト フ ァ イ ル も 、 IP の生成中に
抽出 さ れます。 こ れ ら のサポー ト フ ァ イ ルは、 次の と お り です。
•
「 コ ア コ ン テナーを使用 し てい る 場合のシ ミ ュ レーシ ョ ン」 で説明 し たシ ミ ュ レーシ ョ ン フ ァ イ ル
•
Verilog お よ び VHDL の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト (.veo お よ び .vho)
•
サー ド パーテ ィ 合成ツールで IP を ブ ラ ッ ク ボ ッ ク ス と し て推論する ために使用 さ れ る ス タ ブ フ ァ イ ル
(*_stub.v お よ び *_stub.vhdl)
こ れ ら のサポー ト フ ァ イ ルは、 次のいずれかの場所にあ り ます。
•
プ ロ ジ ェ ク ト を使用 し てい る 場合 :
<project_directory>\<project name>.ip_user_files\ip\<ip_name>\
•
Manage IP プ ロ ジ ェ ク ト を使用 し てい る 場合 :
<managed_IP_project_directory>\ip_user_files\ip\<ip_name>
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
40
japan.xilinx.com
第 2 章 : IP の基礎
サポー ト フ ァ イルを エ ク スポー ト する Tcl コ マ ン ド
コ ア コ ン テナーを使用 し てい る か ど う かにかかわ ら ず、 サポー ト フ ァ イ ルは IP の生成中に自動的に 「コ ア コ ン テ
ナーを使用 し てい る 場合のシ ミ ュ レーシ ョ ン」 お よ び 「 コ ア コ ン テナーのサポー ト フ ァ イ ル」 で説明 し た場所に保
存 さ れます。
XCIX フ ァ イ ル し かな く 、 サポー ト フ ァ イ ルを エ ク ス ポー ト す る 必要があ る 場合は、 [Tcl Console] ウ ィ ン ド ウ に次の
コ マ ン ド を入力 し ます。
export_ip_user_files -of_objects [get_ips <ip_name>]
こ のオプシ ョ ン を省略す る と 、 コ ア コ ン テナーを使用 し てい る か ど う かにかかわ ら ず、 Vivado ツールはデザ イ ンに
すべての IP フ ァ イ ルを も う 1 度エ ク ス ポー ト し ます。 コ ア コ ン テナーを使用する IP の場合は、すべてのフ ァ イ ルは
XCIX フ ァ イ ルか ら 抽出 さ れます。 XCI ベース の IP の場合は、 フ ァ イ ルは IP デ ィ レ ク ト リ か ら コ ピー さ れます。
IP ユーザー フ ァ イル (ip_user_files) の理解
IP 出力フ ァ イ ルを生成中、 一部の フ ァ イ ルは自動的に ip_user_files と い う 特別なデ ィ レ ク ト リ に コ ピー さ れま
す。 こ れは コ ア コ ン テナー機能を使用する と き に特に便利です ( 「 コ ア コ ン テナーの使用」 を参照)。 IP サポー ト
フ ァ イ ルは ip_user_files デ ィ レ ク ト リ の下にあ る 適切な場所に保存 さ れます。 こ のデ ィ レ ク ト リ 構造に よ り 、
コ ア コ ン テナーを使用 し てい る 場合に IP の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト お よ びシ ミ ュ レーシ ョ ン フ ァ イ
ルに、 バ イ ナ リ コ ン テナーか ら フ ァ イ ルを手動で抽出する こ と な く ア ク セ ス で き ます。 IP サポー ト フ ァ イ ルは、 コ
ア コ ン テナーを使用 し てい る か ど う かにかかわ ら ず、 ip_user_files デ ィ レ ク ト リ に保存 さ れます。
IP を カ ス タ マ イ ズ し て XCI を作成す る と 、 IP と 同 じ 名前のデ ィ レ ク ト リ が作成 さ れ、 IP の定義 と 出力フ ァ イ ルが保
存 さ れます。 こ れ ら の フ ァ イ ルの詳細は、 付録 B 「IP の フ ァ イ ルお よ びデ ィ レ ク ト リ 構造」 を参照 し て く だ さ い。
コ ア コ ン テナー機能を使用す る 場合、 IP のすべての フ ァ イ ルを含む XCIX バ イ ナ リ フ ァ イ ルが作成 さ れます ( 「 コ
ア コ ン テナーの使用」 を参照)。
IP の生成中、 一部のユーザー フ ァ イ ルは使いやすい よ う に IP デ ィ レ ク ト リ 外の特別のデ ィ レ ク ト リ に保存 さ れま
す。 IP が RTL プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト の ど ち ら で作成 さ れたかに よ っ て、 こ のデ ィ レ ク ト リ は
次の場所に配置 さ れます。
•
RTL プ ロ ジ ェ ク ト : <directory to project>/<project name>/ip_user_files/
•
Manage IP プ ロ ジ ェ ク ト : <managed_ip_project_directory>/ip_user_files/
ip_user_files の下には多数の フ ォ ルダーがあ り ます (次の図を参照)。 ど の フ ォ ルダーが存在する かは、 プ ロ
ジ ェ ク ト に何が含まれ る か (IP、 ブ ロ ッ ク デザ イ ン な ど) に よ っ て異な り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
41
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-27
図 2-27 : ip_user_files デ ィ レ ク ト リ
次に、 存在す る 各デ ィ レ ク ト リ を簡単に説明 し ます。 各デ ィ レ ク ト リ についての詳細は、 こ の後のセ ク シ ョ ンで説
明 し ます。 ま た、 付録 B 「IP の フ ァ イ ルお よ びデ ィ レ ク ト リ 構造」 も 参照 し て く だ さ い。
•
bd : プ ロ ジ ェ ク ト の各 IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ンのサブ フ ォ ルダーが含まれます。 こ れ ら のサブ
フ ォ ルダーに、 使用 さ れ る IP のサポー ト フ ァ イ ルが含まれます。
•
ip : プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト で作成 さ れた各 IP のカ ス タ マ イ ズ フ ァ イ ル (XCI/XCIX) が含
ま れます。
•
ipstatic : プ ロ ジ ェ ク ト のすべての IP/BD に共通の IP ス タ テ ィ ッ ク フ ァ イ ルが含まれます。
•
mem_init_files : IP でデー タ フ ァ イ ルが配布 さ れ る 場合に含ま れ る デ ィ レ ク ト リ です。
•
sim_scripts : デフ ォ ル ト では、 各 IP お よ び各ブ ロ ッ ク デザ イ ンに対 し て、 選択 し た OS でサポー ト さ れ る す
べてのシ ミ ュ レー タ 用の ス ク リ プ ト が作成 さ れます。
コ ア コ ン テナー機能を使用す る か ど う かにかかわ ら ず、 こ れ ら の フ ァ イ ルお よ びデ ィ レ ク ト リ が作成 さ れます。
フ ァ イ ルは、 XCIX バ イ ナ リ 内ま たは IP デ ィ レ ク ト リ 内に も 存在 し ます。
IP/BD フ ァ イ ルを手動で ip_user_files デ ィ レ ク ト リ にエ ク ス ポー ト す る には、 [Tcl Console] ウ ィ ン ド ウ で
export_ip_user_files コ マ ン ド を使用 し ます。 IP ま たは BD を リ セ ッ ト お よ び生成す る と 、 こ の コ マ ン ド が自
動的に実行 さ れます。
bd デ ィ レ ク ト リ の内容
bd デ ィ レ ク ト リ は、 プ ロ ジ ェ ク ト に IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ンが含まれ る 場合に存在 し ます。 各 BD
に対 し てサブ フ ォ ルダーが作成 さ れ、 使用 さ れ る IP のサポー ト フ ァ イ ルが含まれます。 図 2-28 に、
base_microblaze_design と い う BD を含むプ ロ ジ ェ ク ト の例を示 し ます。
X-Ref Target - Figure 2-28
図 2-28 : bd デ ィ レ ク ト リ の内容
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
42
japan.xilinx.com
第 2 章 : IP の基礎
次の 3 つのデ ィ レ ク ト リ があ り ます。
•
hdl : ブ ロ ッ ク デザ イ ンのシ ミ ュ レーシ ョ ン最上位フ ァ イ ルが含まれます。
•
ip : BD の各 IP に対 し てシ ミ ュ レーシ ョ ン フ ァ イ ルを含むデ ィ レ ク ト リ が含まれます。
•
ipshared : BD に含まれ る IP 間で共通のシ ミ ュ レーシ ョ ン フ ァ イ ルが含まれます。
BD の生成時にア ウ ト オブ コ ン テ キ ス ト (OOC) を選択 し た場合は、bd デ ィ レ ク ト リ のブ ロ ッ ク デザ イ ンのサブ フ ォ
ルダーに ス タ ブ フ ァ イ ルが含まれます。
ip デ ィ レ ク ト リ の内容
ip デ ィ レ ク ト リ には、 プ ロ ジ ェ ク ト に含まれ る IP のサポー ト フ ァ イ ルが含まれます。 こ れ ら の フ ァ イ ルは、 IP の
名前のサブデ ィ レ ク ト リ に配置 さ れます (下図)。
X-Ref Target - Figure 2-29
図 2-29 : ip デ ィ レ ク ト リ の内容
次のサポー ト フ ァ イ ルがあ り ます。
•
シ ミ ュ レーシ ョ ン フ ァ イ ル : sim と い う サブ フ ォ ルダーに含まれます ( コ ア コ ン テナーを使用す る 場合にのみ、
「 コ ア コ ン テナーを使用 し てい る 場合のシ ミ ュ レーシ ョ ン」 を参照)。
•
Verilog お よ び VHDL の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト (.veo お よ び .vho)
•
サー ド パーテ ィ 合成ツールで IP を ブ ラ ッ ク ボ ッ ク ス と し て推論する ために使用 さ れ る ス タ ブ フ ァ イ ル
(*_stub.v お よ び *_stub.vhdl)
サポー ト フ ァ イ ルは、 IP デ ィ レ ク ト リ に も 含まれます。 使いやす さ 、 お よ びコ ア コ ン テナー機能を使用す る IP と の
一貫性のため、 ユーザーが必要 と な る 可能性のあ る フ ァ イ ルが ip_user_files デ ィ レ ク ト リ に も コ ピー さ れます。
ipstatic デ ィ レ ク ト リ の内容
シ ミ ュ レーシ ョ ンに使用 さ れ る IP 共有フ ァ イ ルには、 カ ス タ マ イ ズに よ っ て変化 し ない も のが多数あ り ます。
ipstatic デ ィ レ ク ト リ には、 プ ロ ジ ェ ク ト に含まれ る すべての IP と BD 用の フ ァ イ ルが含まれます。 シ ミ ュ レー
シ ョ ン用に作成 さ れた ス ク リ プ ト は、 必要に応 じ て こ のデ ィ レ ク ト リ の フ ァ イ ルを参照 し ます。
IP のダ イ ナ ミ ッ ク シ ミ ュ レーシ ョ ン フ ァ イ ルは、 IP カ ス タ マ イ ズ デ ィ レ ク ト リ に含まれます。 コ ア コ ン テナー機
能を使用す る 場合は、 ダ イ ナ ミ ッ ク シ ミ ュ レーシ ョ ン フ ァ イ ルは ip デ ィ レ ク ト リ にあ り ます。 詳細は、 「ip デ ィ レ
ク ト リ の内容」 を参照 し て く だ さ い。
mem_init_files デ ィ レ ク ト リ の内容
IP の中にはデー タ フ ァ イ ルが提供 さ れ る も の も あ り ます。 こ れ ら の フ ァ イ ルには、 DATA プ ロ パテ ィ が設定 さ れて
い ます。 こ れ ら の フ ァ イ ルは、 mem_init_files デ ィ レ ク ト リ に保存 さ れます。 こ こ に含まれ る フ ァ イ ルはデー タ
と し て タ グが付け ら れてお り 、 メ モ リ 初期化フ ァ イ ル (MIF) やテ キ ス ト フ ァ イ ル (TXT) な ど が含まれます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
43
japan.xilinx.com
第 2 章 : IP の基礎
sim_scripts デ ィ レ ク ト リ の内容
各 IP お よ び BD シ ミ ュ レーシ ョ ン用に ス ク リ プ ト が作成 さ れます。 デフ ォ ル ト では、 IP を生成 し た OS でサポー ト
さ れ る すべてのシ ミ ュ レー タ 用に ス ク リ プ ト が生成 さ れます。
Microsoft Windows では、 次のシ ミ ュ レー タ がサポー ト さ れます。
•
Vivado シ ミ ュ レー タ
•
Mentor Graphics 社 ModelSim
•
Mentor Graphics 社 Questa
•
Riviera
•
Active HDL (Windows のみ)
Linux では、 上記に加え て次のシ ミ ュ レー タ も サポー ト さ れます。
•
Synopsys 社 Verilog Compiler Simulator (VCS)
•
Cadence 社 Incisive Enterprise Simulator (IES)
ス ク リ プ ト 生成の制御については、 「[General] タ ブ」 を参照 し て く だ さ い。
生成 さ れた ス ク リ プ ト は、 IP カ ス タ マ イ ズ デ ィ レ ク ト リ のシ ミ ュ レーシ ョ ン フ ァ イ ルを参照 し ます。 コ ア コ ン テ
ナー機能を使用す る IP では、 ス ク リ プ ト は 「sim_scripts デ ィ レ ク ト リ の内容」 デ ィ レ ク ト リ のシ ミ ュ レーシ ョ
ン フ ァ イ ルを参照 し ます。 ブ ロ ッ ク デザ イ ンの IP では、 ス ク リ プ ト は 「bd デ ィ レ ク ト リ の内容」 のシ ミ ュ レー
シ ョ ン フ ァ イ ルを参照 し ます。
IP のサポー ト フ ァ イルを エ ク スポー ト する Tcl コ マ ン ド
コ ア コ ン テナーを使用 し てい る か ど う かにかかわ ら ず、 サポー ト フ ァ イ ルは IP の生成中に自動的に説明 し た場所に
保存 さ れます。 詳細は、 「サポー ト フ ァ イ ルをエ ク ス ポー ト する Tcl コ マ ン ド 」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
44
japan.xilinx.com
第 2 章 : IP の基礎
IP のイ ン ス タ ン シ エーシ ョ ン
IP を カ ス タ マ イ ズ し た ら 、 デザ イ ンに IP を イ ン ス タ ン シエー ト で き ます。 IP を カ ス タ マ イ ズする と 、 出力フ ァ イ ル
を生成す る か ど う かにかかわ ら ず、 イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト が作成 さ れます。
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト は、 次の図に示す よ う に、 [Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーの
[Instantiation Template] フ ォ ルダーに含まれます。
X-Ref Target - Figure 2-30
図 2-30 : イ ン ス タ ン シ エーシ ョ ン テ ン プ レー ト のフ ォルダー
現在のプ ロ ジ ェ ク ト の TARGET_LANGUAGE プ ロ パテ ィ に よ っ て、 Verilog (VEO) ま たは VHDL (VHO) イ ン ス タ ン シ
エーシ ョ ン テ ンプ レー ト フ ァ イ ルが生成 さ れます。 こ れを RTL デザ イ ンに コ ピー /貼 り 付けで き ます。 次の図に、
Clocking Wizard IP の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト を示 し ます。
X-Ref Target - Figure 2-31
図 2-31 : イ ン ス タ ン シ エーシ ョ ン テ ン プ レー ト
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
45
japan.xilinx.com
第 2 章 : IP の基礎
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト をデザ イ ンで使用する には、 次の手順に従い ます。
1.
[Sources] ウ ィ ン ド ウ で IP の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト フ ァ イ ルを ダブル ク リ ッ ク する か、 右 ク リ ッ
ク し て [Open File] を ク リ ッ ク し て開 き ます。
2.
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト の コ メ ン ト の間のテ キ ス ト を選択 し 、 そのセ ク シ ョ ン を コ ピー し ます。
3.
IP を イ ン ス タ ン シエー ト す る デザ イ ンの最上位ま たは階層の HDL フ ァ イ ルを開き ます。
4.
適切な位置に コ ピー し た テ ンプ レー ト を貼 り 付け ます。
5.
必要に応 じ て HDL を編集 し (ポー ト 接続を変更す る な ど)、 テ ンプ レー ト をデザ イ ンに統合 し ます。
IP をデザ イ ンに イ ン ス タ ン シエー ト す る と 、 [Sources] ウ ィ ン ド ウ の [Hierarchy] ビ ュ ーの イ ン ス タ ン シエー ト し
た場所にその IP が表示 さ れます。 次の図に、 デザ イ ンに イ ン ス タ ン シエー ト さ れた clk_gen お よ び
char_fifo を示 し ます。
X-Ref Target - Figure 2-32
図 2-32 : デザイ ンに イ ン ス タ ン シ エー ト さ れた IP
IP をデザ イ ンに正 し く イ ン ス タ ン シエー ト し た ら 、 IP を残 り のデザ イ ン と 共に合成で き ます。 IP は、 OOC フ ロ ーを
選択 し た場合はブ ラ ッ ク ボ ッ ク ス と し て、 グ ロ ーバル合成を選択 し た場合は最上位デザ イ ン と 共に合成 さ れます。
詳細は、 「IP の合成オプシ ョ ン」 を参照 し て く だ さ い。
ヒ ン ト : IP を右 ク リ ッ ク し て IP 階層を展開す る と 、 暗号化 さ れた IP ソ ース のア イ コ ン
は、 ソ ース を表示で き ない こ と を示 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
が付いてい ます。 こ れ
46
japan.xilinx.com
第 2 章 : IP の基礎
IP ス テー タ スのレポー ト
プ ロ ジ ェ ク ト に含まれ る すべての IP の ス テー タ ス レ ポー ト を表示する には、 [Tools] → [Report] → [Report IP Status]
を ク リ ッ ク し ます。 次の図に示す よ う な [IP Status] ウ ィ ン ド ウ に レ ポー ト 結果が表示 さ れます。
X-Ref Target - Figure 2-33
図 2-33 : [IP Status] ウ ィ ン ド ウ
ス テー タ スのフ ィ ル タ ー
[IP Status] ウ ィ ン ド ウ の表示内容は、 ウ ィ ン ド ウ の上部にあ る チ ェ ッ ク ボ ッ ク ス を使用 し て フ ィ ル タ ーで き ます。 デ
ザ イ ンに含まれ る IP に基づいて、 次のチ ェ ッ ク ボ ッ ク ス が表示 さ れます。
•
[Major Change]
•
[Minor Change]
•
[Revision Change]
•
[Part Change]
•
[Up-to-date]
•
[Other] : こ のカ テ ゴ リ には、 その他の ス テー ト の IP が含まれます。 次はその例です。
°
IP 定義を検出で き ない
°
読み取 り 専用 XCI、 XML、 ま たは XPR フ ァ イ ル
°
ユーザー管理 IP
°
デ ィ ス エーブルの コ ン ポーネ ン ト
°
互換性のない ラ イ セ ン ス
°
互換性のない XCI ま たは XML フ ァ イ ル
°
廃止 さ れた フ ロ ー
°
子 IP が ロ ッ ク さ れてい る ため ロ ッ ク さ れてい る
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
47
japan.xilinx.com
第 2 章 : IP の基礎
変更ロ グの表示
各 IP には変更 ロ グが含まれます。 変更 ロ グには、 各 リ リ ース での IP の変更に関する 情報が記述 さ れてい ます。
変更 ロ グには次の方法でア ク セ ス で き ます。
•
[Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [IP Documentation] → [View Change Log] を ク
リ ッ ク し ます。
•
[IP Status] ウ ィ ン ド ウ で IP を右 ク リ ッ ク し 、 [View Change Log] を ク リ ッ ク し ます。
•
[IP Status] ウ ィ ン ド ウ の [Change Log] 列の [More info] を ク リ ッ ク し 、 最新 リ リ ース の情報を含むポ ッ プア ッ プ を
表示 し ます。 こ のポ ッ プア ッ プの [view full log] リ ン ク を ク リ ッ ク する と 、 完全な変更 ロ グが開き ます。
X-Ref Target - Figure 2-34
図 2-34 : [More info] リ ン ク を ク リ ッ ク し て表示 さ れるポ ッ プ ア ッ プ
Tcl コ マ ン ド を使用 し た IP ス テー タ スのレポー ト
こ の情報は、 次の Tcl コ マ ン ド を使用 し て も 生成で き ます。
report_ip_status
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
48
japan.xilinx.com
第 2 章 : IP の基礎
プ ロ ジ ェ ク ト 内の IP ス テー ト の理解
プ ロ ジ ェ ク ト 内で表示 さ れ る IP の ス テー ト は、 それがカ タ ロ グで最新のバージ ョ ンであ る か ど う か、 出力フ ァ イ ル
を生成 し たか ど う かに よ っ て異な り ます。
重要 : Vivado IP カ タ ロ グか ら ア ク セ ス で き ないバージ ョ ンの IP コ ア を イ ン ポー ト し た場合、 IP の再カ ス タ マ イ ズ、
リ セ ッ ト 、 再生成は実行で き ません。
既存の IP (XCI ま たは XCO フ ァ イ ル) を追加す る と 、 出力フ ァ イ ル (HDL フ ァ イ ルな ど) があ る 場合はそれ も 追加 さ
れます。 次の表に、 Vivado IDE の IP の ス テー ト を示すア イ コ ン を示 し ます。
表 2-1 : プ ロ ジ ェ ク ト での IP ス テー ト
アイ コン
説明
ア ウ ト オブ コ ン テ キ ス ト (OOC) で合成 さ れ る RTL プ ロ ジ ェ ク ト 内の IP。 詳細は、 「ア ウ ト オブ コ
ン テ キ ス ト (OOC) フ ロ ー」 を参照 し て く だ さ い。
IP カ タ ロ グに含まれ、 プ ロ ジ ェ ク ト と 共に合成 (グ ロ ーバル合成) さ れ る カ ス タ マ イ ズ済み IP。 詳細
は、 「グ ロ ーバル合成フ ロ ー」 を参照 し て く だ さ い。
ツールで管理 さ れない IP。 ユーザーが IP の IS_MANAGED プ ロ パテ ィ を false に変更 し てお り 、 IP
の管理責任はユーザーにあ り ます。 IP は ロ ッ ク さ れた状態にな り ます。 こ れに よ り 、 ユーザーが暗
号化 さ れていない HDL ソ ースや制約を変更で き る よ う にな り ます。 詳細は、 付録 D 「IP ソ ース の
変更ま たは無効化」 を参照 し て く だ さ い。
出力フ ァ イ ルを含み、 フ ロ ーで使用で き ますが、 再カ ス タ マ イ ズ ま たは再生成で き ない ロ ッ ク さ れ
た IP。 出力フ ァ イ ルを含ま ない ロ ッ ク さ れた IP はフ ロ ーでは使用で き ません。 出力フ ァ イ ルのな
い ロ ッ ク さ れた IP を使用する には、 元の生成フ ァ イ ルを提供す る か、 最新バージ ョ ンにア ッ プグ
レー ド し て く だ さ い。 詳細は、 付録 A 「IP が ロ ッ ク さ れ る 理由」 を参照 し て く だ さ い。
IP の制約の理解
Vivado IDE では、デザ イ ン全体お よ びザ イ リ ン ク ス IP のユーザー定義の XDC タ イ ミ ン グ制約お よ び物理制約の両方
が管理 さ れ、 プ ロ ジ ェ ク ト で複数回 イ ン ス タ ン シエー ト さ れてい る ザ イ リ ン ク ス IP の制約が関連付け ら れ、 統一 さ
れます。
IP カ タ ロ グのほ と ん ど の IP では、 ユーザーのカ ス タ マ イ ズに基づいて、 IP の XDC 制約が生成 さ れます。 IP に含ま
れ る 制約は、 デフ ォ ル ト の合成設定を使用 し て最適化 さ れます。
推奨 : IP デザ イ ン run に対す る こ れ ら の設定は、 制約の適用に関 し て問題が発生する 可能性があ る ので、 変更 し ない
で く だ さ い。 IP の制約を自分で管理す る 場合は、 IP に含まれ る XDC フ ァ イ ルをデ ィ ス エーブルに し ます。 IP の合成
設定を変更す る 必要があ る 場合は、[Design Runs] タ ブの [Out-of-Context Module Runs] か ら IP run を選択 し 、[Synthesis
Run Properties] ウ ィ ン ド ウ の [Options] ビ ュ ーで変更 し ます。 次の Tcl コ マ ン ド を使用 し て、 こ の操作を ス ク リ プ ト に
記述す る こ と も で き ます。
set_property <synthesis_option> <value [get_runs <IP_Name>_synth_1]
合成 run プ ロパテ ィ を変更する Tcl コ マ ン ド の例
set_property STEPS.SYNTH.DESIGN.ARGS.FSM_EXTRACTION sequential /
[get_runs my_IP_synth_1]
デザ イ ンの合成お よ び イ ンプ リ メ ン テーシ ョ ン中は、 ユーザー定義の制約を処理する 前に (ま たは制約フ ァ イ ル
に よ っ ては処理後に) IP で提供 さ れ る XDC 制約が処理 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
49
japan.xilinx.com
第 2 章 : IP の基礎
制約フ ァ イルの処理順序
デフ ォ ル ト では、 PROCESSING_ORDER 値は IP XDC 制約の場合は EARLY に、 ユーザー制約は NORMAL に設定 さ れて
い ます。 こ れに よ り 、 前に処理 さ れた制約 よ り も 後に処理 さ れた同 じ 制約が優先 さ れます。
IP XDC フ ァ イ ルの処理順序は、 次の よ う にな り ます。
•
EARLY に設定 さ れたユーザー XDC
•
EARLY に設定 さ れた IP XDC
•
NORMAL に設定 さ れたユーザー XDC (デフ ォ ル ト )
•
LATE に設定 さ れた IP XDC
•
LATE に設定 さ れたユーザー XDC
こ の方法を使用す る と 、 XDC を IP XDC の前ま たは後に処理 さ れ る よ う にす る こ と がで き ます。 詳細は、 次の資料
を参照 し て く だ さ い。
•
『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118) [参照 4]
•
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) の こ のセ ク シ ョ ン [参照 8]
Vivado IP では、 XDC 制約フ ァ イ ルを複数生成で き ます。 デフ ォ ル ト では、 次の可能性があ る ため、 ユーザー制約 よ
り も 前に IP 制約が処理 さ れます。
°
IP か ら は ク ロ ッ ク が提供 さ れ る こ と があ り 、 こ れがエン ド ユーザー制約で使用で き る よ う にな っ てい る 必
要があ る 。
°
IP に物理制約が含まれ る 場合、 必要に応 じ てエン ド ユーザー制約を適用 し てそれ ら を無効にで き る 。
制約 コ ンパイル順を レ ポー ト する Tcl コ マ ン ド
report_compile_order -constraints
こ の コ マ ン ド では、 合成お よ び イ ンプ リ メ ン テーシ ョ ンで使用 さ れ る 制約の処理順序 と 、 IP の DCP 生成に使用 さ れ
る 各 IP の合成 run 別に制約が示 さ れます。
IP で提供 さ れ る 制約の中には、 エン ド ユーザーま たは別の IP の ク ロ ッ ク オブジ ェ ク ト に依存する も の も あ り ます。
こ れ ら の制約は、 別の XDC フ ァ イ ルで提供 さ れ、 エン ド ユーザー制約の後に処理 さ れます。
通常、 ク ロ ッ ク 作成 コ マ ン ド お よ び外部 ク ロ ッ ク に依存 し ない コ マ ン ド を含む コ アの XDC フ ァ イ ルが IP に よ り 提
供 さ れます。 カ ス タ マ イ ズ フ ァ イ ル名は <ip_name>.xdc で、 「 コ アの XDC フ ァ イ ル」 と 呼ばれます。
IP には、 ク ロ ッ ク に依存す る コ マ ン ド を含む別の XDC フ ァ イ ルが含まれ る も の も あ り ます。 最上位 ク ロ ッ ク は、 ほ
かの制約か ら 、 ま たは依存性のあ る ほかの IP か ら 供給 さ れ る ので、 こ れ ら の ク ロ ッ ク を必要 と する 制約はすべて
<ip_name>_clocks.xdc の最初に定義す る 必要があ り ます。 デフ ォ ル ト では、 ユーザー制約お よ びその他の IP コ
アの XDC フ ァ イ ルの後に <ip_name>_clocks.xdc フ ァ イ ルが処理 さ れます。
ほ と ん ど の IP では、 OOC の XDC フ ァ イ ル (<ip_name>_OOC.xdc) も 提供 さ れます。 こ のフ ァ イ ルには、 IP への入
力 ク ロ ッ ク のデフ ォ ル ト の最上位定義が含まれます。 こ の フ ァ イ ルは、 推奨 さ れ る デフ ォ ル ト フ ロ ー (IP を最上位
デザ イ ンか ら 独立 さ せて OOC で合成) を使用する 場合に、 DCP の作成時にのみ使用 さ れます。 Vivado Design Suite で
IP が最上位デザ イ ンか ら 独立 さ せて OOC で合成 さ れ る と 、 エン ド ユーザーま たはその他の IP で作成 さ れた ク ロ ッ
ク は使用で き ないので、 IP の合成に ク ロ ッ ク 定義を提供す る ために こ の フ ァ イ ルが必要です。
ユーザー ロ ジ ッ ク を IP と 共に イ ンプ リ メ ン テーシ ョ ンする 際は、 制約が適用 さ れ る 前にすべてのネ ッ ト リ ス ト が リ
ン ク さ れ る ので、 <ip_name>_OOC.xdc は必要あ り ません。 こ の段階で、 ク ロ ッ ク の必要な IP に対 し てユーザー作
成 ク ロ ッ ク ま たは IP 作成 ク ロ ッ ク を使用で き ます。
IP の中には追加の XDC フ ァ イ ルが提供 さ れてい る も の も あ り ます。 こ れ ら の フ ァ イ ルには、 合成中ま たは イ ンプ リ
メ ン テーシ ョ ン中にのみ使用 さ れ る 制約な ど が含まれます。 IP で提供 さ れ る XDC フ ァ イ ルの リ ス ト は、 付録 B 「IP
の フ ァ イ ルお よ びデ ィ レ ク ト リ 構造」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
50
japan.xilinx.com
第 2 章 : IP の基礎
一部の IP では、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 18] の こ のセ ク
シ ョ ンで定義 さ れてい る Vivado ボー ド フ ロ ーがサポー ト さ れてい ます。
パーツ ではな く プ ラ ッ ト フ ォーム ボー ド を タ ーゲ ッ ト と する プ ロ ジ ェ ク ト を作成する と 、 IP のカ ス タ マ イ ズ中にそ
のボー ド の ど の接続を IP と の接続に使用す る かを指定で き ます。 こ れに よ り PACKAGE_PIN、 IOSTANDARD、 お よ
びその他の物理制約を含む <ip_name_board>.xdc フ ァ イ ルが生成 さ れます。
XDC 制約の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 8] の こ のセ ク シ ョ ン を参照 し
て く だ さ い。
制約は、 処理後はプ ロ ジ ェ ク ト の 「プ ロ パテ ィ 」 にな り ます。 プ ロ パテ ィ の詳細は、 『Vivado Design Suite プ ロ パ
テ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 9] を参照 し て く だ さ い。
次のセ ク シ ョ ンで、 IP を処理す る 際に Vivado Design Suite で作成 さ れ る 制約フ ァ イ ルの一部を簡単に説明 し ます。
ビデオ : IP フ ロ ー中に次の制約が ど の よ う に使用 さ れ る か を示すデモは、 QuickTake ビデオ : Vivado での IP 制約の概
要を ご覧 く だ さ い。
dont_touch.xdc
Vivado Design Suite では、 IP の合成中に dont_touch.xdc を使用 し て IP 最上位に DONT_TOUCH プ ロ パテ ィ が設定
さ れます。 こ れに よ り 、 イ ン タ ーフ ェ イ ス ポー ト が削除 さ れな く な り ます。
こ の制約フ ァ イ ルが処理 さ れた こ と は、 OOC を使用 し た合成 (デフ ォ ル ト フ ロ ー ) の合成 ロ グ フ ァ イ ル、 ま たはエ
ン ド ユーザー RTL と 一緒に IP を合成 し た場合はグ ロ ーバル合成 ロ グ フ ァ イ ルで確認で き ます。
in_context.xdc
デフ ォ ル ト では、 IP はア ウ ト オブ コ ン テ キ ス ト で合成 さ れ る ので、 最上位の合成中はブ ラ ッ ク ボ ッ ク ス と し て処理
さ れます。 次の状況下では、 IP DCP の作成中に <ip_name>_in_context.xdc フ ァ イ ルが作成 さ れ、 IP の DCP
フ ァ イ ルに保存 さ れます。
•
IP に よ り IP の境界で参照で き る ク ロ ッ ク が生成 さ れ る
•
IP に I/O バ ッ フ ァ ーの イ ン ス タ ン ス があ る
<ip_name>_in_context.xdc フ ァ イ ルが存在する 場合、 ユーザー ロ ジ ッ ク の合成時にエン ド ユーザー制約 よ り
前に処理 さ れます。 イ ンプ リ メ ン テーシ ョ ン中には IP はブ ラ ッ ク ボ ッ ク ス ではな く な る ので、 こ の フ ァ イ ルは不要
です。
ク ロ ッ ク が作成 さ れ る と 、 IP ブ ラ ッ ク ボ ッ ク ス セルの境界ピ ン上に配置 さ れます。 ク ロ ッ ク は、 次の タ イ プにな り
ます。
•
IP (Clocking Wizard IP な ど) の入力ポー ト のプ ラ イ マ リ ク ロ ッ ク
•
IP の出力ポー ト のプ ラ イ マ リ ク ロ ッ ク
•
入力 ク ロ ッ ク がマ ス タ ーであ る IP (Clocking Wizard IP な ど) の出力ポー ト の生成 ク ロ ッ ク
ク ロ ッ ク は、 IP に入力バ ッ フ ァ ーが含まれ る 場合にのみ IP の入力ポー ト に作成 さ れます。 Clocking Wizard は、 デ
フ ォ ル ト でその よ う に コ ン フ ィ ギ ュ レーシ ョ ン さ れます。 こ の ク ロ ッ ク は、 最上位ユーザー ロ ジ ッ ク の合成中に最
上位ポー ト に伝搬 さ れます。
IP で生成 さ れた ク ロ ッ ク をユーザー制約で参照す る 必要があ る 場合は、 次の コ マ ン ド に示す よ う に ク ロ ッ ク が生成
さ れた IP の ピ ン を参照 し ます。
get_clocks –of_objects [get_pins <IP_clock_pin>]
I/O バ ッ フ ァ ーがあ る 場合、I/O バ ッ フ ァ ーが付いた イ ン タ ーフ ェ イ ス ピ ンの IO_BUFFER_TYPE プ ロ パテ ィ が NONE
に設定 さ れます。 こ のプ ロ パテ ィ を設定す る と 、 最上位合成中に 余分な I/O バ ッ フ ァ ーが追加 さ れ る こ と はな く な
り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
51
japan.xilinx.com
第 2 章 : IP の基礎
ク ロ ッ ク制約の決定 と ク ロ ッ ク メ ッ セージの解釈
Vivado には、 階層制約、 最上位ユーザー制約、 IP で提供 さ れ る 制約を含め る こ と がで き ます。 こ れ ら の制約を正 し
く 機能 さ せ る には、 満たすべ き 依存関係があ り ます。 ク ロ ッ ク 作成は こ の よ う な制約の 1 つです。
•
IP の中には、 ほかの IP ま たは最上位デザ イ ン で必要な ク ロ ッ ク を作成す る も のがあ り ます。
•
IP の中には、 正 し く 機能 さ せ、 ク リ テ ィ カル警告が表示 さ れない よ う にす る ために、 ク ロ ッ ク を必要 と す る も
のがあ り ます。
必要な ク ロ ッ ク 制約が提供 さ れていない場合、 デザ イ ン最上位の IP で 「 ク ロ ッ ク 供給に関す る ク リ テ ィ カル警告お
よ び警告の例」 に示す よ う な ク リ テ ィ カル警告 メ ッ セージが表示 さ れます。
ク ロ ッ ク 要件のあ る デザ イ ン を使用す る 場合の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
[参照 8] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ビデオ : 詳細は、 QuickTake ビデオ : 基本的な ク ロ ッ ク 制約の作成 お よ び生成 ク ロ ッ ク 制約の作成 も ご覧 く だ さ い。
IP ク ロ ッ ク依存性の Tcl コ マ ン ド 例
次は IP か ら 提供 さ れ る 制約の例で、 ref_clk ポー ト か ら IP に入力 さ れ る 最上位 ク ロ ッ ク に依存 し てい ます。
set_max_delay –from [get_cells data_reg] –to [get_cells synchro_stage0_reg]\ –
datapath_only [get_property PERIOD [get_clocks –of_objects [get_ports ref_clk]]]
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 8] の こ のセ ク シ ョ ンに、ど の よ う に get_ports コ
マ ン ド が IP セル イ ン ス タ ン ス の get_pins コ マ ン ド に変換 さ れ る かが説明 さ れてい ます。IP がデザ イ ン で ど の よ う
に接続 さ れてい る かに よ っ て、 ク ロ ッ ク はユーザー供給 ク ロ ッ ク か、 別の IP か ら 供給で き ます。
•
別の IP か ら ク ロ ッ ク が供給 さ れ る 場合は、 ク ロ ッ ク が供給 さ れてい る ので、 ク リ テ ィ カル警告は表示 さ れ ま
せん。
•
ク ロ ッ ク がエン ド ユーザー ロ ジ ッ ク で供給 さ れる場合、 create_clock ま たは create_generated_clock コ
マン ド を使用 し て ク ロ ッ ク オブジ ェ ク ト が作成 さ れていない と 、 ク リ テ ィ カル警告 メ ッ セージが表示 さ れます。
ク ロ ッ ク に関する Tcl コ マ ン ド
デザ イ ンで正 し く 生成 さ れていない ク ロ ッ ク を見つけ る には、 次の コ マ ン ド を使用 し ます。
report_clock_networks
こ の コ マ ン ド では、 制約 さ れてい る ク ロ ッ ク お よ び制約 さ れていない ク ロ ッ ク を含め、 デザ イ ンの ク ロ ッ ク レ ポー
ト が生成 さ れます。 こ の レ ポー ト を使用す る と 、 IP に接続 さ れ る ク ロ ッ ク モジ ュ ールに ク ロ ッ ク 定義があ る か ど う
か を確認で き ます。
次の コ マ ン ド も 便利です。
•
report_clocks
デザ イ ンのすべての ク ロ ッ ク を含む表を表示 し ます。 現在の合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ
イ ンに含まれ る 伝搬 ク ロ ッ ク 、 生成 ク ロ ッ ク 、 自動生成 ク ロ ッ ク 、 仮想 ク ロ ッ ク 、 お よ び反転 ク ロ ッ ク が含ま
れます。
•
report_compile_order -constraints
こ の コ マ ン ド は、 合成お よ び イ ンプ リ メ ン テーシ ョ ンに使用 さ れ る XDC フ ァ イ ル と 、 その処理順序を示 し ま
す。 ク ロ ッ ク を作成す る IP XDC が、 その ク ロ ッ ク を必要 と す る IP XDC よ り も 後に く る 場合、 こ の コ マ ン ド を
実行す る と その関係が明確にな り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
52
japan.xilinx.com
第 2 章 : IP の基礎
IP か ら の ク ロ ッ ク がない問題は、 最上位の XDC タ イ ミ ン グ制約フ ァ イ ルに制約を追加す る と 解決で き る こ と が よ く
あ り ます。 た と えば XPS デザ イ ンで、 シ リ アル ト ラ ン シーバーな ど の ク ロ ッ ク を作成する IP に XDC フ ァ イ ルがな
い場合な ど がそ う です。
ク ロ ッ ク供給に関する ク リ テ ィ カル警告および警告の例
次に、 デザ イ ンで IP コ アで必要 と さ れ る ク ロ ッ ク 制約が検出 さ れない場合に表示 さ れ る 警告 メ ッ セージの例を示 し
ます。
CRITICAL WARNING: [Vivado 12-259] No clocks specified, please specify clocks using
-clock, -fall_clock, -rise_clock options [C:/Design/v_tc.xdc:1]INFO: [Vivado
12-1399]
There are no top level ports directly connected to pins of cell 'system/v_tc',
returning the pins matched for query '[get_ports s_axi_aclk]' of cell 'system/v_tc'.
[C:/Design/v_tc.xdc:1]Resolution: The get_ports call is being converted to a
get_pins call as there is no direct connection to a top level port. This could be due
to the insertion of IO Buffers between the top level terminal and cell pin. If the
goal is to apply constraints that will migrate to top level ports it is required that
IO Buffers manually be instanced.
CRITICAL WARNING: [Vivado 12-1387] No valid object(s) found for set_max_delay
constraint with option 'from'. [C:/Design/v_tc.xdc:1]Resolution:
Check if the specified object(s) exists in the current design. If it does, ensure
that the correct design hierarchy was specified for the object.
IP のシ ミ ュ レーシ ョ ン
デザ イ ン フ ロ ーにおいて、 シ ミ ュ レーシ ョ ンはデザ イ ンの機能お よ びパフ ォーマ ン ス を検証す る ための重要で必要
な段階です。 シ ミ ュ レーシ ョ ン を可能にす る ため、 デザ イ ン全体のシ ミ ュ レーシ ョ ンに含め る こ と ので き る シ ミ ュ
レーシ ョ ン モデルが Vivado IP カ タ ロ グに含まれてい ます。
IP のシ ミ ュ レーシ ョ ン モデルは、 次のいずれかです。
•
カ ス タ ム ビヘ イ ビ アー シ ミ ュ レーシ ョ ン モデル
•
シ ミ ュ レーシ ョ ンで使用 さ れ る テ キ ス ト 形式ま たは暗号化 さ れた合成可能な RTL ソ ース
•
構造型シ ミ ュ レーシ ョ ン モデル
注記 : FIR Compiler IP な ど の一部の IP には、 IP を シ ミ ュ レーシ ョ ンす る ために直接使用可能な IP レベルのテ ス ト ベ
ンチが含まれます。 詳細は、 「IP のテ ス ト ベンチの使用」 を参照 し て く だ さ い。
ヒ ン ト : ザ イ リ ン ク ス デバ イ ス のシ ミ ュ レーシ ョ ンに よ く 使用 さ れ る サー ド パーテ ィ シ ミ ュ レー タ は、 Vivado® 統
合設計環境 (IDE) にオプシ ョ ン と し て統合 さ れてい ます。 サー ド パーテ ィ シ ミ ュ レー タ の詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 17] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
IP シ ミ ュ レーシ ョ ン モデル
ほ と ん ど のザ イ リ ン ク ス IP では 1 つの言語 (Verilog ま たは VHDL) の RTL ソ ース し か提供 さ れないので、IP でサポー
ト さ れ る 言語の ラ イ セ ン ス がない場合、 言語が固定 さ れた シ ミ ュ レー タ でのシ ミ ュ レーシ ョ ンは実行で き ません。
デザ イ ン を シ ミ ュ レーシ ョ ン し て IP を含め る には、 IP の適切なシ ミ ュ レーシ ョ ン モデルを使用で き る よ う に、
[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [Simulation] ページで [Simulator language] を設定 し ます。 現在のプ ロ ジ ェ ク ト
の SIMULATOR_LANGUAGE プ ロ パテ ィ を使用す る と 、 シ ミ ュ レー タ でサポー ト さ れ る 言語を設定で き ます。 設定
可能な値は、 [Verilog]、 [VHDL]、 [Mixed] のいずれかです。 こ のプ ロ パテ ィ は、 Manage IP フ ロ ー、 プ ロ ジ ェ ク ト
ベース フ ロ ー、 お よ び非プ ロ ジ ェ ク ト ベース の フ ロ ーで設定で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
53
japan.xilinx.com
第 2 章 : IP の基礎
IP に よ っ て、 VHDL のシ ミ ュ レーシ ョ ン フ ァ イ ルま たは Verilog のシ ミ ュ レーシ ョ ン フ ァ イ ルが提供 さ れます。
[Simulator language] を [Mixed] に設定す る と 、 異な る IP に よ り 、 両方の言語の同 じ モジ ュ ールを シ ミ ュ レー タ に送信
で き ます。
Vivado シ ミ ュ レー タ は混合言語シ ミ ュ レー タ なので、 VHDL お よ び Verilog 両方のシ ミ ュ レーシ ョ ン モデルを処理で
き ます。 サー ド パーテ ィ シ ミ ュ レー タ を使用 し ていて 1 つの言語の ラ イ セ ン ス し かない場合は、 [Simulator language]
を その言語に設定 し て く だ さ い。
IP にビヘ イ ビ アー モデルが含まれなかっ た り 、 IP の言語が選択 さ れた ラ イ セ ン ス のあ る シ ミ ュ レー タ 言語 と 異な る
場合は、 Vivado ツールで構造シ ミ ュ レーシ ョ ン モデル (<ip_name>_sim_netlist.v ま たは
<ip_name>_sim_netlist.vhdl) が自動的に生成 さ れ、 シ ミ ュ レーシ ョ ンがサポー ト さ れます。
注記 : Vivado Design Suite の 2015.3 よ り 前のバージ ョ ンでは、 シ ミ ュ レーシ ョ ン フ ァ イ ルの名前は *_funcsim.v お
よ び *_funcsim.vhdl です。
推奨 : Vivado IDE で IP の構造シ ミ ュ レーシ ョ ン モデルが生成 さ れ る よ う にする には、 IP 出力フ ァ イ ルを生成す る 際
に合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) のオプシ ョ ン をオンに し ます。 詳細は、 「出力フ ァ イ ルの生成」 を参照
し て く だ さ い。
シ ミ ュ レーシ ョ ン用 Tcl コ マ ン ド
シ ミ ュ レー タ 言語を指定す る には、 次の コ マ ン ド を使用 し ます。
set_property SIMULATOR_LANGUAGE <language_option> [current_project]
表 2-2 : シ ミ ュ レー タ 言語プ ロパテ ィ
配布 さ れる シ ミ ュ レーシ ョ ン モデル
IP は VHDL と Verilog ビヘ イ ビ アー モデル
を配布
IP は Verilog ビヘ イ ビ アー モデルのみを配布
IP は VHDL ビヘ イ ビ アー モデルのみを配布
IP がビヘ イ ビ アー モデルを提供 し ない
言語設定
使用 さ れる シ ミ ュ レーシ ョ ン モデル
Mixed
指定 し た S I M UL A T O R _ L AN G U AGE のビ
ヘ イ ビ アー シ ミ ュ レーシ ョ ン モデル
Verilog
Verilog ビヘ イ ビ アー モデル
VHDL
VHDL ビヘ イ ビ アー モデル
Mixed
Verilog ビヘ イ ビ アー モデル
Verilog
Verilog ビヘ イ ビ アー モデル
VHDL
IP の DCP か ら 生成 さ れた VHDL シ ミ ュ レー
シ ョ ン ネッ ト リ ス ト
Mixed
VHDL ビヘ イ ビ アー モデル
Verilog
IP の DCP か ら 生成 さ れた Verilog シ ミ ュ レー
シ ョ ン ネッ ト リ ス ト
VHDL
VHDL ビヘ イ ビ アー モデル
Mixed/Verilog/VHDL
IP の DCP か ら 指定の
SIMULATOR_LANGUAGE で生成 さ れた構造
シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト
注記 : ビヘ イ ビ アー シ ミ ュ レーシ ョ ン モデルが提供 さ れ る 場合は、 構造シ ミ ュ レーシ ョ ン モデル よ り も 優先 さ れま
す。 Vivado では、 シ ミ ュ レーシ ョ ン モデルの選択肢はあ り ません。
注記 : IP が ど ち ら の言語 も サポー ト す る 場合は、 SIMULATOR_LANGUAGE プ ロ ジ ェ ク ト プ ロ パテ ィ の設定に よ り
配布 さ れ る シ ミ ュ レーシ ョ ン モデルが決定 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
54
japan.xilinx.com
第 2 章 : IP の基礎
IP のテ ス ト ベン チの使用
IP カ タ ロ グの多 く の IP では、 IP を ス タ ン ド ア ロ ン でシ ミ ュ レーシ ョ ンす る ためのテ ス ト ベンチ も 提供 さ れます。 IP
でテ ス ト ベンチが提供 さ れ る 場合、 次の図に示す よ う に [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス に出力フ ァ イ
ル と し て リ ス ト さ れます。
X-Ref Target - Figure 2-35
図 2-35 : [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス
IP で提供 さ れ る テ ス ト ベンチを使用す る には、 次を実行 し ます。
1.
[Sources] ウ ィ ン ド ウ で [Simulation Sources] フ ォ ルダーにあ る IP の階層を展開 し ます。 こ れには、 次のいずれか
を ク リ ッ ク し ます。
°
丸 (Linux)
°
sim_1 セ ッ ト の IP の横の [+] (Windows)
次の図に示す [Show IP Hierarchy] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
55
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-36
図 2-36 : [Show IP Hierarchy] ダ イ ア ログ ボ ッ ク ス
2.
[OK] を ク リ ッ ク し て階層を展開表示 し ます。
3.
IP のテ ス ト ベンチ (tb_<IP_Name>) を選択 し ます。
4.
右 ク リ ッ ク し て [Set as Top] を ク リ ッ ク し ます。
[Invalid Top Module] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る こ と があ り ます。 こ の場合、 [Ignore and continue with
invalid top module] を オンに し て、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-37
図 2-37 : [Invalid Top Module] ダ イ ア ログ ボ ッ ク ス
ヒ ン ト : IP テ ス ト ベンチを最上位モジ ュ ール と し て設定す る と 、 プ ロ ジ ェ ク ト レベル プ ロ パテ ィ が変更 さ れ る ので、
IP 合成 run が最新の状態でな く な る こ と があ り ます。 こ の場合、 次の図に示す よ う に、 右 ク リ ッ ク し て [Force
Up-to-Date] を ク リ ッ ク す る と 、 run を最新の状態にで き ます。 こ れを実行 し ない場合、 次に最上位合成を実行 し た と
き に IP が合成 し 直 さ れます。
X-Ref Target - Figure 2-38
図 2-38 : [Force Up-to-Date] コ マ ン ド
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
56
japan.xilinx.com
第 2 章 : IP の基礎
Flow Navigator で [Run Simulation] を ク リ ッ ク する か、 [Tcl Console] ウ ィ ン ド ウ に launch_simulation コ マ ン ド を
入力 し 、 デザ イ ンの新 し い最上位 (IP のシ ミ ュ レーシ ョ ン テ ス ト ベンチ) に対 し てシ ミ ュ レーシ ョ ン を実行 し ます。
注記 : 現在のシ ミ ュ レーシ ョ ン設定は、 Flow Navigator で [Simulation Settings] を ク リ ッ ク し て確認で き ます。 こ こ に
は、 シ ミ ュ レーシ ョ ンの最上位モジ ュ ール名が表示 さ れてお り 、 こ れは設定 し た IP テ ス ト ベンチ と 同 じ であ る はず
です。 シ ミ ュ レー タ 設定 も こ こ で変更で き 、 こ れに よ っ て [Run Simulation] ボ タ ン を ク リ ッ ク し た と き の動作が変わ
り ます。
IP のア ッ プグ レー ド
Vivado Design Suite の各バージ ョ ンでは、 IP の 1 つのバージ ョ ンのみがサポー ト さ れます。 Vivado Design Suite の新規
バージ ョ ンお よ びパ ッ チには、 既存のプ ロ ジ ェ ク ト で使用 さ れてい る IP よ り 新 し いバージ ョ ンの IP が含まれてい る
場合があ り ます。 その場合、 現在のプ ロ ジ ェ ク ト の IP は固定 さ れ、 IP の最新版を使用す る にはア ッ プグ レー ド す る
必要があ り ます。
ビデオ : IP のア ッ プグ レー ド 方法のデモは、 QuickTake ビデオ : Vivado IP のバージ ョ ン ア ッ プグ レー ド の管理を ご覧
く だ さ い。
新 し い Vivado Design Suite バージ ョ ンにア ッ プグ レー ド する 前に、 次の 1 つま たは複数の項目を実行 し ておいて く だ
さ い。
•
DCP も 含め、 プ ロ ジ ェ ク ト に含まれ る IP のすべての出力フ ァ イ ルを生成 し ます。 こ れで、 必要な場合は、 新 し
いバージ ョ ンの Vivado Design Suite で古いバージ ョ ンの IP を使用で き ます。
注記 : 現在のバージ ョ ンではない IP に対 し ては、 DCP を含めた出力フ ァ イ ルは生成で き ません。
•
Manage IP プ ロ ジ ェ ク ト を使用 し てい る 場合は、 Manage IP プ ロ ジ ェ ク ト デ ィ レ ク ト リ 全体のバ ッ ク ア ッ プ コ
ピーを作成 し ます。
•
IP を含むデザ イ ン プ ロ ジ ェ ク ト を アーカ イ ブ し ます。
IP を ア ッ プグ レー ド す る 前に、 変更点に関す る 情報を変更 ロ グで確認 し て く だ さ い。
重要 : Vivado Design Suite リ リ ース間で主な リ ビ ジ ョ ン変更があ っ た IP の場合、 通常 RTL を変更す る 必要があ る の
で、 こ れが特に重要 と な り ます。
プ ロ ジ ェ ク ト を Vivado の以前のバージ ョ ンか ら ア ッ プグ レー ド す る 際、 プ ロ ジ ェ ク ト に含まれ る IP のア ッ プグ レー
ド バージ ョ ンがあ る 場合は、 次の図に示す よ う に、 [Project Upgraded] ダ イ ア ロ グ ボ ッ ク ス に IP のア ッ プグ レー ド が
あ る こ と を示す メ ッ セージが表示 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
57
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-39
図 2-39 : [Project Upgraded] ダ イ ア ログ ボ ッ ク ス
ど の IP にア ッ プグ レー ド があ る のがを確認 し 、 変更 ロ グ を表示 さ せる には、 [Report IP Status] を ク リ ッ ク し て く だ さ
い。 次の図に、 [Report IP Status] コ マ ン ド を実行 し た と き に表示 さ れ る [IP Status] ウ ィ ン ド ウ を示 し ます。
X-Ref Target - Figure 2-40
図 2-40 : [Upgrade IP] オプ シ ョ ン を含む [IP Status] ウ ィ ン ド ウ
IP の行に表示 さ れてい る [Upgrade IP] を ク リ ッ ク し ます。
レ ポー ト には、 プ ロ ジ ェ ク ト 内のすべての IP の情報が記載 さ れてい ます。 青い下線部分は、 ク リ ッ ク する と 詳細が
表示 さ れます。 レ ポー ト に含まれ る 情報は次の よ う にな っ てい ます。
°
[IP Status] : IP のバージ ョ ンが最新の も のであ る か、 マ イ ナーや メ ジ ャ ーのバージ ョ ン変更がないかが表示
さ れます。 パーツの変更があ っ た場合 も こ こ に表示 さ れます。
°
[Recommendation] : 推奨事項が リ ス ト さ れます。
°
[Change Log] : [More info] を ク リ ッ ク す る と 、 IP の変更 ロ グ を表示で き ます。 こ の ロ グには、 最新 リ リ ース
の IP 情報が記載 さ れてい ます。 IP を ア ッ プグ レー ド す る 前に変更 ロ グ を確認す る よ う に し て く だ さ い。 メ
ジ ャ ー バージ ョ ンの変更があれば、 IP に接続 し てい る RTL を変更す る 必要が出て く る こ と があ り ます。 変
更 ロ グには次の情報が含まれてい ます。
-
[IP Name] : IP カ タ ロ グに表示 さ れ る IP の名前です。
-
[Current Version]
-
[Recommended Version]
-
[License] : IP ラ イ セ ン ス の ス テー タ ス を表示 し ます。
-
[Current Part]
[Source File] の横のチ ェ ッ ク ボ ッ ク ス を オンに し て、 ア ッ プグ レー ド し たい IP を選択 し ます。 こ の列見出 し の
チ ェ ッ ク ボ ッ ク ス をオンにす る と 、 ア ッ プグ レー ド 可能な IP をすべて選択で き ます。 選択 し た IP を ア ッ プグ レー ド
す る には、 [Upgrade Selected] を ク リ ッ ク し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
58
japan.xilinx.com
第 2 章 : IP の基礎
デフ ォ ル ト では、 ア ッ プグ レー ド し た IP の情報は ip_upgrade.log フ ァ イ ルに保存 さ れ、 こ のフ ァ イ ルは XPR
フ ァ イ ルのあ る プ ロ ジ ェ ク ト デ ィ レ ク ト リ にあ り ます。
IP のア ッ プグ レー ド に関 し ては、 次を参照 し て く だ さ い。
•
ブ ロ ッ ク デザ イ ン (BD) での IP のア ッ プグ レー ト については、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ
グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 6] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
•
パ ッ ケージ さ れた BD については、『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』
(UG1118) [参照 4] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
デザ イ ンに含まれ る IP を ア ッ プグ レー ド す る と 、 ア ッ プデー ト ロ グが作成 さ れます。 こ の ロ グは、 [Sources] ウ ィ ン
ド ウ の IP の [Change Log] フ ォ ルダーに保存 さ れます。
X-Ref Target - Figure 2-41
図 2-41 : IP の変更ログ
こ の ロ グには、 次の よ う な IP ア ッ プグ レー ド に関す る 情報が含まれます。
•
問題な く ア ッ プグ レー ド さ れたか ど う か
•
ユーザーの操作が必要か ど う か
注記 : ア ッ プグ レー ド さ れた IP にユーザーの操作が必要な場合、 存在 し ないパ ラ メ ー タ ーな ど の問題が ロ グに
リ ス ト さ れます。
•
IP の元のバージ ョ ン と リ ビ ジ ョ ン
•
IP のア ッ プグ レー ド バージ ョ ン と リ ビ ジ ョ ン
•
必要に応 じ てその他の情報 :
°
ア ッ プグ レー ド ス ク リ プ ト に よ る 変更の説明
例 : 「Renamed parameter DATA_W to C_DATA_WIDTH」 お よ び 「Set parameter BUFFER_LENGTH
to value 32」 な ど
°
ア ッ プグ レー ド 中のポー ト の追加、 変更、 削除な ど、 IP のカ ス タ マ イ ズ中に発生 し た問題の警告
°
ア ッ プグ レー ド バージ ョ ンに関する 一般的な問題、 ま たは現在のパ ラ メ ー タ ーに関す る 特定の問題な ど、
ア ッ プグ レー ド に関す る 警告
°
IP のカ ス タ マ イ ズ中に発生 し た警告
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
59
japan.xilinx.com
第 2 章 : IP の基礎
注意 : IP を ア ッ プグ レー ド す る と 、 以前に生成 さ れた出力フ ァ イ ルは DCP お よ び関連する デザ イ ン run も 含めてす
べて削除 さ れます。 IP を ア ッ プグ レー ド す る 前に、 プ ロ ジ ェ ク ト を アーカ イ ブ し て く だ さ い。
Tcl コ マ ン ド を使用 し た IP のア ッ プグ レー ド
指定の IP を ア ッ プグ レー ド す る には、 upgrade_ip コ マ ン ド を使用 し ます。 た と えば、 デザ イ ンに含まれ る すべて
の IP を ア ッ プグ レー ド す る には、 [Tcl Console] ウ ィ ン ド ウ に次の コ マ ン ド を入力 し ます。
upgrade_ip
IP はア ッ プグ レー ド さ れますが、 ア ッ プグ レー ド ロ グは作成 さ れません。 ア ッ プグ レー ド ロ グ を指定す る には
-log オプシ ョ ン を追加 し ます。
注意 : upgrade_ip [get_ips -all] は、 Vivado で問題が発生す る 原因 と な る こ と があ る ので、 使用 し ないで く
だ さ い。 -all オプシ ョ ン を使用す る と 、 サブ コ ア IP が返 さ れます。 こ れ ら の IP は、 親のア ッ プグ レー ド 中に削除
さ れ、 Tcl オブジ ェ ク ト が参照 さ れな く な る 可能性があ り ます。
IP を ア ッ プグ レー ド し 、 その IP の ロ グ フ ァ イ ルを作成する には、 Tcl コ ン ソ ールで次の コ マ ン ド を入力 し ます。
upgrade_ip [get_ips cfifo] -log c:/prj/IP/cfifo_upgrade.log
ア ッ プグ レー ド ロ グは IP ア ッ プグ レー ド があ っ て も 上書き さ れません。 最新のア ッ プグ レー ド 情報は ロ グ フ ァ イ ル
の冒頭に追加 さ れます。
階層 IP
一部の IP はほかの IPをデザ イ ン ソ ース と し て使用する よ う に設計 さ れてい ます。 親 と な る 上位 IP がど う の よ う に
作成 さ れてい る かに よ り ますが、 その子であ る 下位 IP に対 し てア ウ ト オブ コ ン テ キ ス ト 合成が複数回実行可能性が
あ り ます。
IP は次の よ う な形で親子関係を形成 し ます。
•
IP が別の IP を フ ァ イ ルの ラ イ ブ ラ リ と し て参照す る (サブ コ ア参照)
•
下位 IP の XCI フ ァ イ ルでパ ッ ケージ さ れてい る IP (ス タ テ ィ ッ ク IP)
•
ダ イ ナ ミ ッ ク に下位 IP お よ び HDL を作成す る IP (ダ イ ナ ミ ッ ク IP)
•
IP を ダ イ ナ ミ ッ ク に作成 し 、 イ ン タ ー コ ネ ク ト す る ため IP イ ン テ グ レー タ ー テ ク ノ ロ ジ を使用する IP (サブシ
ス テ ム IP)
1 番目の タ イ プの階層 IP、 すなわち 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』
(UG1118) [参照 4] で説明 さ れてい る サブ コ ア参照を使用す る IP には、 ア ウ ト オブ コ ン テ キ ス ト 合成実行が 1 回実行
さ れます。 [IP Sources] には、 下位 IP は表示 さ れてお ら ず、 XCI が 1 つだけ表示 さ れてい ます。
2 番目の タ イ プの階層 IP、 すなわち ス タ テ ィ ッ ク IP はほかの IP の XCI フ ァ イ ルでパ ッ ケージ さ れてい ますが、 すべ
ての IP が一緒に合成 さ れ る ため、 ア ウ ト オブ コ ン テ キ ス ト 合成が 1 度実行 さ れます。 [IP Sources] を見てみ る と 、 次
の図に示す よ う に、 親 IP の Synthesis フ ォ ルダーにあ る 出力フ ァ イ ル と 共に、 子 IP の XCI があ り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
60
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-42
図 2-42 : XCI フ ァ イルを使用 し た階層 IP の出力フ ァ イル
3 番目の タ イ プの階層 IP、 すなわちダ イ ナ ミ ッ ク に子 IP を作成す る ダ イ ナ ミ ッ ク IP の場合、 すべての IP が一緒に合
成 さ れ る ので、 ア ウ ト オブ コ ン テ キ ス ト 合成が 1 度実行 さ れます。 ス タ テ ィ ッ ク IP と 同様に、 [IP Sources] に複数の
XCI が表示 さ れてい ます。
4 番目の タ イ プの階層 IP (サブシ ス テ ム IP) は、IP イ ン テ グ レー タ ー テ ク ノ ロ ジが作成する IP です。 こ の タ イ プの IP
は、 図に示す よ う に、 子 IP に対 し て ア ウ ト オブ コ ン テ キ ス ト 合成が複数回実行 さ れます。 た と えば、 10G Ethernet
Subsystem IP は複数の IP で構成 さ れてい る ブ ロ ッ ク デザ イ ン で、 別の階層 IP 10G Ethernet PCS/PMA も 含まれてい ま
す。 ですか ら 、 こ の 2 つの階層 IP 子 IP に対 し て ア ウ ト オブ コ ン テ キ ス ト 合成がそれぞれ 1 回ずつ実行 さ れます。
[IP Sources] にはブ ロ ッ ク デザ イ ン と 子 XCI の両方が表示 さ れてい ます。
X-Ref Target - Figure 2-43
図 2-43 : アウ ト オブ コ ン テキス ト 合成実行 さ れる階層 IP
10G Ethernet Subsystem IP の合成 ロ グ を表示 さ せ る と 、 ブ ラ ッ ク ボ ッ ク ス が子 IP 用に推論 さ れてい る のがわか り ま
す。 こ れは、 合成中のユーザー デザ イ ンの IP のデフ ォ ル ト フ ロ ーに似てい ます。 図に示す よ う に、 IP ご と のア ウ ト
オブ コ ン テ キ ス ト 合成中、 子 IP の合成が完了する と 、 子 IP が リ ン ク さ れて 1 つの DCP が作成 さ れます。 こ れに よ
り 、 階層がほかの IP と 同 じ よ う にな り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
61
japan.xilinx.com
第 2 章 : IP の基礎
X-Ref Target - Figure 2-44
図 2-44 : 階層 IP の出力フ ァ イル
ブ ロ ッ ク デザ イ ン をベース に し た階層 IP の主な利点は、 出力フ ァ イ ルを生成す る と き に、 子 IP のア ウ ト オブ コ ン
テ キ ス ト 合成を並列に実行で き る こ と です。 並列実行で き る 数は、 次の図にあ る よ う に [Generate Output Products] ダ
イ ア ロ グ ボ ッ ク ス の [Run Settings] で指定 さ れてい ます。
X-Ref Target - Figure 2-45
図 2-45 : 階層 IP の [Run Settings]
さ ら に、 IP キ ャ ッ シ ン グが イ ネーブルにな っ てい る 場合は、 子 IP のキ ャ ッ シ ュ ヒ ッ ト も 階層 IP に含め ら れます。
こ れに よ り 、 生成が大 き く ス ピー ド ア ッ プ し ます。
階層 IP の も う 1 つの利点は、再カ ス タ マ イ ズする と き に、IP の変更が 1 つま たは 2 つの子 IP に し か影響し ない こ と で
す。 出力フ ァ イ ルを生成する と き、 再合成が必要 と な る子 IP のみが実行 さ れ る ので、 生成に時間がかか り ません。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
62
japan.xilinx.com
第 2 章 : IP の基礎
デバ ッ グ IP の使用
Vivado Design Suite には、 イ ン シ ス テ ム プ ロ グ ラ ミ ン グ と イ ンプ リ メ ン ト 後のデザ イ ンのデバ ッ グ を実行する 機能が
含ま れます。 イ ン シ ス テ ムでのデザ イ ンのデバ ッ グには、 イ ンプ リ メ ン テーシ ョ ン後のデザ イ ン を、 実際のシ ス テ
ム環境で、 シ ス テ ム ス ピー ド で、 タ イ ミ ン グ精度の高いデバ ッ グ を実行で き る と い う 利点があ り ます。
Vivado Lab Edition ツールを使用す る と 、 JTAG 接続を使用 し てザ イ リ ン ク ス ボー ド に接続 さ れてい る 場合に、 IP の
機能を テ ス ト お よ び検証で き ます。 次のデバ ッ グ IP コ アがあ り ます。
•
ILA (Integrated Logic Analyzer) : ILA コ ア を使用 し た Vivado ロ ジ ッ ク 解析機能では、 FPGA 上で イ ンプ リ メ ン ト 後
のデザ イ ンの イ ン シ ス テ ム デバ ッ グ を実行で き ます。
デザ イ ンの信号を監視す る 必要があ る 場合に使用 し ます。 ハー ド ウ ェ ア イ ベン ト を ト リ ガー し 、 デー タ を シ ス
テ ム速度でキ ャ プチ ャ す る ために も 使用で き ます。 ILA コ アは、 RTL コ ー ド に イ ン ス タ ン シエー ト する か、
Vivado デザ イ ン フ ロ ーの合成後に挿入で き ます。
•
Vivado Virtual I/O Analyzer : VIO コ ア を使用 し た Vivado シ リ アル I/O 解析機能では、 内部 FPGA 信号を リ アル タ
イ ムに監視お よ び駆動で き ます。 タ ーゲ ッ ト ハー ド ウ ェ アへの物理的な ア ク セ ス がない場合に、 こ のデバ ッ グ
機能を使用 し て、 実際のハー ド ウ ェ アにあ る 信号を駆動お よ び監視で き ます。
こ のデバ ッ グ コ アは RTL コ ー ド に イ ン ス タ ン シエー ト す る 必要があ る ので、 ど のネ ッ ト を駆動す る のか を知っ
てお く 必要があ り ます。
•
IBERT : IBERT (Integrated Bit Error Ratio Tester) を使用 し たシ リ アル解析機能では、 イ ン シ ス テ ム シ リ アル I/O を
検証お よ びデバ ッ グで き ます。 こ の機能を使用す る と 、 FPGA ベース シ ス テ ムの高速シ リ アル I/O リ ン ク を計
測お よ び最適化で き ます。
LogiCORE IBERT は、 単純な ク ロ ッ ク お よ び接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適化の問題ま
で、 さ ま ざ ま な イ ン シ ス テ ム デバ ッ グお よ び検証の問題を解決する ために使用 し ます。
こ の コ ア を使用す る と 、 受信信号に レ シーバー イ コ ラ イ ゼーシ ョ ンが適用 さ れた後の信号の質を計測で き ます。
こ れに よ り 、 TX か ら RX へのチ ャ ネルの最適なポ イ ン ト 、 つま り 実際の正 し いデー タ が計測 さ れます。 こ のデ
ザ イ ンには、 IP カ タ ロ グか ら IBERT コ ア を選択 し て コ ン フ ィ ギ ュ レーシ ョ ン し 、 生成 し た後、 コ ア を右 ク リ ッ
ク し て [Open Example Design] を選択す る と ア ク セ ス で き ます。
•
JTAG to AXI Master : JTAG to AXI Master デバ ッ グ コ アは、 ハー ド ウ ェ アで実行 さ れ る シ ス テ ムに含まれ る さ ま
ざ ま な AXI4 お よ び AXI4-Lite ス レーブ コ ア と 通信す る AXI ト ラ ンザ ク シ ョ ン を生成 し ます。
こ の コ アは、 AXI ト ラ ンザ ク シ ョ ン を生成 し 、 ラ ン タ イ ム で FPGA 内部の AXI 信号をデバ ッ グお よ び駆動す る
ために使用 し ます。 こ の コ アは、 プ ロ セ ッ サのない IP デザ イ ンで も 使用で き ます。 こ の コ アは IP カ タ ロ グの
[Debug] カ テ ゴ リ に含まれます。
詳細は、 次の資料を参照 し て く だ さ い。
°
『LogiCore IP JTag to AXI LogiCORE IP 製品ガ イ ド 』 (PG174) [参照 37]
°
『Integrated Logic Analyzer LogiCORE IP 製品ガ イ ド 』 (PG172) [参照 31]
°
『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers 製品ガ イ ド 』 (PG132) [参
照 32]
°
『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTP Transceivers 製品ガ イ ド 』 (PG133) [参
照 33]
°
『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTH Transceivers 製品ガ イ ド 』 (PG152) [参
照 34]
°
『Vivado Design Suite チ ュ ー ト リ アル : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG936) [参照 10]
°
『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 11]
°
『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 12]
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
63
japan.xilinx.com
第 2 章 : IP の基礎
デバ ッ グ フ ロー
Vivado ツールでは、 複数の方法でデザ イ ンにデバ ッ グ プ ロ ーブ を追加で き ます。 ユーザーは、 ど の フ ロ ーがデザ イ
ン要件に適 し てい る か を決定す る 必要があ り ます。 使用で き る デバ ッ グ フ ロ ーは次の と お り です。
HDL イ ン ス タ ン シ エーシ ョ ン デバ ッ グ プ ローブ フ ロー : デバ ッ グ IP コ ア を HDL デザ イ ンに追加 し 、 HDL ソ ース の
信号を ILA デバ ッ グ コ アに接続 し ます。 HDL イ ン ス タ ン シエーシ ョ ン デバ ッ グ プ ロ ーブ フ ロ ーの詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 11] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
°
利点 : HDL デザ イ ン レベルでプ ロ ーブ可能
°
欠点 :
-
HDL ソ ース を修正する こ と に よ り 、 デバ ッ グ ネ ッ ト お よ び IP を手動でデザ イ ンに追加お よ びデザ イ
ンか ら 削除す る 必要あ り
-
デバ ッ グ コ ア を生成、 イ ン ス タ ン シエー ト 、 接続する 際に間違い を犯 し やすい
ネ ッ ト リ ス ト 挿入デバ ッ グ プ ローブ フ ロー (推奨) : 合成済みネ ッ ト リ ス ト の信号を ILA デバ ッ グ コ ア イ ン ス タ ン ス
に接続 し ます。
°
MARK_DEBUG 属性を使用 し て ソ ース RTL コ ー ド でデバ ッ グす る 信号を マー ク し ます。
°
合成済みデザ イ ン ネ ッ ト リ ス ト でネ ッ ト を右 ク リ ッ ク し て [Mark Debug] を ク リ ッ ク し 、 デバ ッ グす る ネ ッ
ト を選択 し ます。
ネ ッ ト リ ス ト 挿入フ ロ ーでは、 Set Up Debug ウ ィ ザー ド を使用 し て、 デザ イ ンにデバ ッ グ コ アお よ びプ
ロ ーブ信号を追加 し ます。
•
•
利点 :
°
最 も 柔軟性があ り 、 予測 し やすい
°
異な る デザ イ ン レベル (HDL、 合成済みデザ イ ン、 シ ス テ ム デザ イ ン) でのプ ロ ーブが可能
°
HDL ソ ース を修正す る 必要な し
欠点 : IBERT ま たは JTAG-to-AXI Master コ アには使用不可
Tcl ベースのネ ッ ト リ ス ト 挿入 フ ロー : set_property Tcl コ マ ン ド を使用 し てデバ ッ グ ネ ッ ト の MARK_DEBUG プ ロ
パテ ィ を設定 し 、 create_debug_core、 create_debug_port、 お よ び connect_debug_port コ マ ン ド を使用
し て合成済みデザ イ ンにデバ ッ グ コ アお よ びプ ロ ーブ を追加 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
64
japan.xilinx.com
第 3章
Manage IP プ ロ ジ ェ ク ト の使用
概要
Vivado® 統合設計環境 (IDE) には、 次の機能が含まれます。
°
IP カ タ ロ グでの IP の検索
°
IP のカ ス タ マ イ ズ
°
カ ス タ マ イ ズ済み IP を中央 ロ ケーシ ョ ンで管理
Vivado IDE では、 IP のカ ス タ マ イ ズお よび出力フ ァ イ ルを管理する Manage IP と い う プ ロ ジ ェ ク ト を作成で き ます。
Manage IP プ ロ ジ ェ ク ト では、 IP カ タ ロ グ を表示 し、 IP を カ ス タ マ イ ズ し て、 出力フ ァ イ ルの生成で き ます。 IP カ ス
タ マ イ ズ フ ァ イ ル (XCI) と 生成 さ れた出力フ ァ イ ルは、 Manage IP プ ロ ジ ェ ク ト 外のデ ィ レ ク ト リ に保存 さ れます。
Manage IP プ ロ ジ ェ ク ト では、 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルお よびその他の出力フ ァ イ ルを生
成する ための IP デザ イ ン run が管理 さ れます。 カ ス タ マ イ ズ さ れた IP と 生成 さ れた出力フ ァ イ ルは、 その コ ン フ ィ
ギ ュ レーシ ョ ンで複数のデザ イ ンに使用で き ます。 詳細は、 「既存 IP のプ ロ ジ ェ ク ト への追加」 を参照し て く だ さ い。
チームで設計す る 場合、 ま たはデザ イ ンに多数のザ イ リ ン ク ス IP を使用す る 場合は、 カ ス タ マ イ ズ し た IP を Vivado
プ ロ ジ ェ ク ト 構造外のデ ィ レ ク ト リ に作成 し て保存 し ます。 こ の よ う にす る と 、 バージ ョ ン管理がシ ンプルにな り 、
カ ス タ マ イ ズ し た IP を ほかのユーザー と 共有 し やす く な り ます。 こ の方法は、 IP を非プ ロ ジ ェ ク ト の ス ク リ プ ト
ベース フ ロ ーで処理す る 場合に も 推奨 さ れます。
Manage IP 機能
Vivado IDE で Manage IP フ ロ ーを使用す る と 、 次の機能を使用で き ます。
°
シ ンプルな IP プ ロ ジ ェ ク ト イ ン タ ーフ ェ イ ス
°
ザ イ リ ン ク ス IP カ タ ロ グへの直接ア ク セ ス
°
複数の IP を カ ス タ マ イ ズ可能
°
IP カ ス タ マ イ ズ ご と に関連のすべての フ ァ イ ルを含むデ ィ レ ク ト リ
°
デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルを生成する か し ないか を選択可能。 DCP フ ァ イ ルには、 IP の
ネ ッ ト リ ス ト と 制約が含まれます。 デフ ォ ル ト で作成 さ れます。
ビデオ : QuickTake ビデオ : Vivado での再利用可能な IP の コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理お よ びデザ イ ン チ ェ ッ
ク ポ イ ン ト の使用 も 有益です。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
65
japan.xilinx.com
第 3 章 : Manage IP プ ロ ジ ェ ク ト の使用
Manage IP フ ローの使用
1.
Vivado IDE を起動 し 、 Getting Started ページで [Manage IP] を ク リ ッ ク し ます。
X-Ref Target - Figure 3-1
図 3-1 : Manage IP フ ローの起動
2.
新規ま たは既存の IP デ ィ レ ク ト リ を開 き ます。
°
[New IP Location] : 新 し い IP プ ロ ジ ェ ク ト を指定 し たデ ィ レ ク ト リ で開 き ます。 IP カ タ ロ グで IP を検索 し 、
IP を カ ス タ マ イ ズ し て出力フ ァ イ ルを生成で き ます。
°
[Open IP Location] : IP を開 く 既存のデ ィ レ ク ト リ を選択で き ます。
°
[Recent IP Locations] : Getting Started ページの右下に、 最近開いた Manage IP プ ロ ジ ェ ク ト のデ ィ レ ク ト リ が
リ ス ト さ れます。
[New IP Location] オプシ ョ ン を選択 し た場合は、 次の図に示す New IP Location ウ ィ ザー ド が開 き 、 ウ ィ ザー
ド の指示に従っ て新 し いカ ス タ マ イ ズ IP のデ ィ レ ク ト リ を作成お よ び管理で き ます。
X-Ref Target - Figure 3-2
図 3-2 : 新 し い カ ス タ マ イ ズ IP のデ ィ レ ク ト リ の作成
新 し い Manage IP プ ロ ジ ェ ク ト を作成す る ために指定 し たデ ィ レ ク ト リ に既にプ ロ ジ ェ ク ト が含まれてい る
場合は、 次の図に示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
既存のプ ロ ジ ェ ク ト を開 く か、 キ ャ ン セルで き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
66
japan.xilinx.com
第 3 章 : Manage IP プ ロ ジ ェ ク ト の使用
X-Ref Target - Figure 3-3
図 3-3 : [New IP Location] ダ イ ア ログ ボ ッ ク ス
3.
[Next] を ク リ ッ ク し ます。
次の図に示す [Manage IP Settings] ページが開 き ます。
X-Ref Target - Figure 3-4
図 3-4 : [Manage IP Settings] ページ
IP 設定の指定
IP 設定を指定す る には、 次の手順に従い ます。
1.
2.
次を指定 し ます。
°
[Part] : ア ク テ ィ ブ パーツ を選択 し ます。 IP に生成 さ れ る すべての出力フ ァ イ ルは、 こ こ で指定 し たパーツ
に基づ き ます。
°
[Target language] : 最上位デザ イ ンに応 じ て タ ーゲ ッ ト 言語を [VHDL] ま たは [Verilog] を設定 し ます。
°
[Target simulator] : 使用す る シ ミ ュ レー タ と し て [Vivado simulator] ま たはサー ド パーテ ィ シ ミ ュ レー タ の 1
つを選択 し ます。
°
[Simulator language] : シ ミ ュ レー タ で使用可能な ラ イ セ ン ス に応 じ て、 [VHDL]、 [Verilog]、 [SystemVerilog]、
ま たは [Mixed] のいずれか を指定 し ます。 Vivado シ ミ ュ レー タ のデフ ォ ル ト は [Mixed] (混合言語) です。
°
[IP location] : こ こ で指定 し たデ ィ レ ク ト リ に managed_ip_project デ ィ レ ク ト リ が作成 さ れます。
[Finish] を ク リ ッ ク し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
67
japan.xilinx.com
第 3 章 : Manage IP プ ロ ジ ェ ク ト の使用
Manage IP プ ロ ジ ェ ク ト が開 き 、 IP を選択お よ びカ ス タ マ イ ズで き る よ う にな り ます。 こ の フ ロ ーでは、 IP 製品
ガ イ ド 、 変更 ロ グ、 製品 ウ ェ ブ ページ、 ア ンサー レ コ ー ド な どへのア ク セ ス を含め、 IP カ タ ロ グの機能をすべ
て使用で き ます。
IP を カ ス タ マ イ ズ し た ら 、 [Sources] お よ び [IP Properties] ウ ィ ン ド ウ に作成 し た IP に関す る 情報が表示 さ れます。
各 IP カ ス タ マ イ ズは、 指定 し た Manage IP のデ ィ レ ク ト リ の下に作成 さ れます。 こ のデ ィ レ ク ト リ には、 XCI フ ァ
イ ル と 生成 さ れた出力フ ァ イ ルがすべて含まれます。 次の図に、 複数の IP カ ス タ マ イ ズ を含む Manage IP プ ロ ジ ェ
ク ト の メ イ ン ウ ィ ン ド ウ を示 し ます。
X-Ref Target - Figure 3-5
図 3-5 : 3 つの IP を含む Manage IP プ ロ ジ ェ ク ト
Manage IP プ ロ ジ ェ ク ト には、 主に次のセ ク シ ョ ンがあ り ます。
1.
[Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ー : プ ロ ジ ェ ク ト でカ ス タ マ イ ズ さ れた IP を リ ス ト し ます。 出力フ ァ イ
ルを表示 し た り 、 その他の出力フ ァ イ ルの生成を管理 し た り で き ます。
2.
IP カ タ ロ グ : IP カ タ ロ グ を検索 し 、 IP を カ ス タ マ イ ズ し て IP プ ロ ジ ェ ク ト に追加で き ます。
3.
[Details] エ リ ア : 選択 し た IP の詳細を表示 し ます。
4.
[IP Properties] ウ ィ ン ド ウ : 選択 し た IP のプ ロ パテ ィ お よ び一般的な情報を表示 し ます。
5.
[Designs Runs] ウ ィ ン ド ウ : 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を生成 し た場合、 その IP の run が表示 さ
れます。
要件に よ っ て Vivado IDE で作成可能な フ ァ イ ルお よ びデ ィ レ ク ト リ は、 付録 B 「IP の フ ァ イ ルお よ びデ ィ レ ク ト リ
構造」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
68
japan.xilinx.com
第 4章
IP のサン プル デザイ ンの使用
概要
多 く のザ イ リ ン ク ス IP には、 サンプル デザ イ ン プ ロ ジ ェ ク ト が含まれてい ます。 サンプル デザ イ ン プ ロ ジ ェ ク ト
には、 最上位 ロ ジ ッ ク と カ ス タ マ イ ズ さ れた IP に関連す る 制約が含まれます。 こ れ ら のサンプル デザ イ ンには通
常、 デザ イ ン を シ ミ ュ レーシ ョ ンす る ためのサンプル テ ス ト ベンチが含まれます。
ヒ ン ト : 既存のサンプル デザ イ ン を新 し い リ リ ース の最新 IP にア ッ プグ レー ド す る のではな く 、 新 し い リ リ ース の
IP か ら 新 し く サンプル デザ イ ン を作成 し て く だ さ い。 こ れに よ り 、 サンプル デザ イ ンが IP の最新バージ ョ ン をサ
ポー ト す る も のにな り ます。
サン プル デザイ ン を開 く
標準のプ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト で IP のサンプル デザ イ ン を開 く には、[Sources] ウ ィ ン ド ウ の [IP
Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [Open IP Example Design] を ク リ ッ ク し ます。
[Open IP Example Design] ダ イ ア ロ グ ボ ッ ク ス (70 ページの図 4-1) が開 き 、 デ ィ レ ク ト リ を指定で き ます。 プ ロ ジ ェ
ク ト 名は <ip_name>_example です。
重要 : サンプル デザ イ ンは、 標準プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト の IP デ ィ レ ク ト リ には保存 し ないで
く だ さ い。 IP デ ィ レ ク ト リ 全体を リ ビ ジ ョ ン管理に含め、 プ ロ ジ ェ ク ト は リ ビ ジ ョ ン管理に含めない こ と を推奨 し
ます。 こ れは、 コ ア コ ン テナーを イ ネーブルお よ びデ ィ ス エーブルにする 際に も 問題 と な り ます。
IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ンの IP に対 し て も 、 [IP Sources] ビ ュ ーま たはブ ロ ッ ク デザ イ ンか ら 直接選択
す る こ と に よ り 、 こ れを達成で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
69
japan.xilinx.com
第 4 章 : IP のサン プル デザイ ンの使用
次の図に、 [Open IP Example Design] ダ イ ア ロ グ ボ ッ ク ス を示 し ます。
X-Ref Target - Figure 4-1
図 4-1 : [Open IP Example Design] ダ イ ア ログ ボ ッ ク ス
次の図に示す よ う に、 サンプル デザ イ ンが Vivado IDE の新 し いセ ッ シ ョ ンで開 き ます。
X-Ref Target - Figure 4-2
図 4-2 : IP サン プル デザイ ン イ ン ス タ ン ス と 制約フ ァ イル
IP がサンプル デザ イ ンに イ ン ス タ ン シエー ト さ れ、 サンプル XDC 制約フ ァ イ ルが提供 さ れて、 IP を詳 し く 評価で
き る よ う にな り ます。
サン プル プ ロ ジ ェ ク ト を開 く Tcl コ マ ン ド
サンプル プ ロ ジ ェ ク ト は、 次の Tcl コ マ ン ド を使用 し て開 く こ と も で き ます。
open_example_project [get_ips <ip_name>]
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
70
japan.xilinx.com
第 4 章 : IP のサン プル デザイ ンの使用
ス タ ン ド ア ロ ン IP の評価
イ ンプ リ メ ン テーシ ョ ンが終了 し た ら 、 IP デザ イ ン run を右 ク リ ッ ク し て [Open Implemented Design] を ク リ ッ ク し 、
デザ イ ン を開いて解析 し ます。
X-Ref Target - Figure 4-3
図 4-3 : イ ン プ リ メ ン ト 済みデザイ ン を開 く
タ イ ミ ン グ解析を実行す る 場合、 ク ロ ッ ク が ま だ配線 さ れてお ら ず、 理想的な ク ロ ッ ク が使用 さ れてい る ので、 結
果は正確ではあ り ません。 配線ツールでホール ド 違反が修正で き ないので、 こ れはホール ド 解析を実行する 際に特
に明 ら かです。
一部の IP には、 イ ンプ リ メ ン テーシ ョ ン後の タ イ ミ ン グ解析の精度を改善す る ため、 <ip_name>_ooc.xdc フ ァ イ
ルに ク ロ ッ ク バ ッ フ ァ ーへの ロ ケーシ ョ ン と SLEW タ イ マー モデルを提供す る HD.CLK_SRC プ ロ パテ ィ が含まれ
ます。
重要 : イ ンプ リ メ ン ト さ れた IP は解析用なので、 結果は最上位デザ イ ンの イ ンプ リ メ ン テーシ ョ ンでは使用ま たは
保持 さ れません。 モジ ュ ールの再利用お よ び IP の イ ンプ リ メ ン ト 済みバージ ョ ンの使用については、 『Vivado Design
Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 16] を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
71
japan.xilinx.com
第 5章
ザイ リ ン ク ス IP とサー ド パーテ ィ 合成ツール
概要
ザ イ リ ン ク ス では、 サー ド パーテ ィ 合成ツールで作成 さ れたネ ッ ト リ ス ト がサポー ト さ れます。 ザ イ リ ン ク ス IP を
使用す る 場合、 サポー ト さ れ る のは Vivado® 合成のみです。 Vivado Design Suite では、 ザ イ リ ン ク ス IP の論理合成中
にブ ラ ッ ク ボ ッ ク ス が推論 さ れます。 次のセ ク シ ョ ンで説明する よ う に、 ブ ラ ッ ク ボ ッ ク ス を推論す る ための フ ァ
イ ルが提供 さ れます。 ブ ラ ッ ク ボ ッ ク ス は イ ンプ リ メ ン テーシ ョ ン中に解決 さ れます。 ザ イ リ ン ク ス IP の合成は、
IP コ アお よ び IP に含まれ る サンプル デザ イ ン フ ァ イ ルを含め、 Vivado 合成でのみサポー ト さ れます。
ビデオ : 詳細は、 QuickTake ビデオ : サー ド パーテ ィ 合成ツールを使用 し た場合の Vivado IP フ ロ ーを ご覧 く だ さ い。
重要 : IP HDL フ ァ イ ルは、 IEEE Recommended Practice for Encryption and Management of Electronic Design Intellectual
Property (IP) (IEEE Std P1735) に準拠 し て暗号化 さ れます。 そのため、 IP HDL フ ァ イ ルは合成に Vivado Design Suite を
使用 し た場合にのみ読み出す こ と がで き ます。 エン ド ユーザー ロ ジ ッ ク にサー ド パーテ ィ 合成ツールを使用 し て、
Vivado イ ンプ リ メ ン テーシ ョ ンで使用可能なネ ッ ト リ ス ト を生成する こ と はで き ます。 サー ド パーテ ィ シ ミ ュ レー
シ ョ ン ツールでの暗号化 RTL を使用 し た ビヘ イ ビ アー シ ミ ュ レーシ ョ ン も サポー ト さ れてい ます。
サー ド パーテ ィ 合成フ ロー
Synopsys® 社 Synplify Pro ま たは Mentor® Graphics 社 Precision のネ ッ ト リ ス ト をザ イ リ ン ク ス IP を含むデザ イ ンの合
成に使用す る には、 次の手順を実行す る こ と をお勧め し ます。
1.
Manage IP フ ロ ーを使用 し て、 IP を作成お よ びカ ス タ マ イ ズ し ます。
2.
各 IP の合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を含む出力フ ァ イ ルを生成 し ます。
DCP フ ァ イ ルを生成す る と 、 <ip_name>_stub.v お よ び <ip_name>_s t ub.vhdl と い う 2 つの ス タ ブ フ ァ
イ ルが作成 さ れ、 サー ド パーテ ィ 合成ツールでブ ラ ッ ク ボ ッ ク ス が推論 さ れ る よ う にな り ます。
3.
Verilog ス タ ブ フ ァ イ ルま たは VHDL ス タ ブ フ ァ イ ルをプ ロ ジ ェ ク ト に追加 し て、 サー ド パーテ ィ 合成ツールで
使用 さ れ る よ う に し ます。 Verilog ま たは VHDL ス タ ブ フ ァ イ ルに よ り 、 合成中にブ ラ ッ ク ボ ッ ク ス が推論 さ
れ、 余分な I/O バ ッ フ ァ ーは追加 さ れな く な り ます。
<ip_name>_stub.v お よ び <ip_name>_stub.vhdl には、 IP が最上位ポー ト に接続 さ れてい る 場合に、 サー
ド パーテ ィ 合成ツールで I/O バ ッ フ ァ ーが推論 さ れない よ う にす る 合成指示子が含まれます。 サー ド パーテ ィ 合
成ツールでの使用の要件に合わせて、 こ れ ら の指示子を変更で き ます。
4.
サー ド パーテ ィ 合成ツールで最上位デザ イ ンのネ ッ ト リ ス ト を生成 し ます。
注記 : ネ ッ ト リ ス ト プ ロ ジ ェ ク ト の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入
力』 (UG895) [参照 18] を参照 し て く だ さ い。
5.
Vivado ネ ッ ト リ ス ト プ ロ ジ ェ ク ト を作成 し て最上位デザ イ ン を配置配線 し 、 デバ イ ス用の ビ ッ ト ス ト リ ーム を
生成 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
72
japan.xilinx.com
第 5 章 : ザイ リ ン ク ス IP と サー ド パーテ ィ 合成ツール
デザ イ ンの RTL プ ロ ジ ェ ク ト を作成 し 、 サー ド パーテ ィ 合成ツールか ら の EDIF ネ ッ ト リ ス ト を ラ ッ パーに含
め る こ と も で き ます。
6.
a.
サー ド パーテ ィ 合成ツールで生成 さ れた EDIF ネ ッ ト リ ス ト の HDL ラ ッ パーを作成 し ます。
b.
[Sources] ウ ィ ン ド ウ の [Hierarchy] ビ ュ ーを ク リ ッ ク し ます。
c.
右 ク リ ッ ク し て [Hierarchy Update] → [No Update, Manual Compile Order] を ク リ ッ ク し ます。
Vivado ネ ッ ト リ ス ト プ ロ ジ ェ ク ト に次を追加 し ます。
°
サー ド パーテ ィ 合成ツールか ら のネ ッ ト リ ス ト
°
ユーザー レベルの最上位デザ イ ン制約
°
IP の XCI フ ァ イ ル (IP ご と に XCI フ ァ イ ル 1 つ)
IP の XCI フ ァ イ ルを使用す る と 、 イ ンプ リ メ ン テーシ ョ ン中に IP DCP のネ ッ ト リ ス ト お よ び XDC 出力フ ァ イ
ルが自動的に使用 さ れます。
7.
デザ イ ン を イ ンプ リ メ ン ト し ます。
IP の DCP に必要な I/O バ ッ フ ァ ーが含まれない場合、 Vivado イ ンプ リ メ ン テーシ ョ ンで追加 さ れます。
推奨 : プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかでザ イ リ ン ク ス IP を参照する 際は、 DCP フ ァ イ
ルを直接指定す る のではな く 、 IP の XCI フ ァ イ ルを使用 し て く だ さ い。 DCP には制約が含まれてい ませんが、 エン
ド ユーザー制約か ら 独立 さ せて解決 さ れます。 XCI を使用する と 、 すべてのネ ッ ト リ ス ト (エン ド ユーザー と IP) が
統合 さ れた後、 IP の XDC 出力フ ァ イ ルが生成 さ れます。 ま た、 こ の後 IP のXCI の Tcl ス ク リ プ ト がすべて、 エン ド
ユーザー制約お よ びネ ッ ト リ ス ト の コ ン テ キ ス ト で評価 さ れます。
プ ロ ジ ェ ク ト モー ド でのサー ド パーテ ィ 合成の Tcl ス ク リ プ ト 例
# Create a project on disk
create_project <name> -part <part>
# configure as a netlist project
set_property design_mode “GateLvl” [current_fileset]
# Add in the netlist from third-party synthesis tool
add_files top.edif
# Add in XCI files for the IP
add_files {ip1.xci ip2.xci ip3.xci}
# Add in top level constraints: this might include XDC files from the third-party
# synthesis tool
add_files top.xdc
# Launch implementation
launch_run impl_1 -to write_bitstream
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
73
japan.xilinx.com
第 5 章 : ザイ リ ン ク ス IP と サー ド パーテ ィ 合成ツール
非プ ロ ジ ェ ク ト モー ド でのサー ド パーテ ィ 合成の Tcl ス ク リ プ ト 例
# Set target part
set_part <part>
# Read the netlist from third-party synthesis tool
read_edif top.edif
# Read in the IP XCIs
read_ip ip1.xci
read_ip ip2.xci
# read in top level constraints
read_xdc top.xdc
# Implement the design
link_design -top <top>
opt_design
place_design
phys_opt_design
route_design
write_bitstream -file <name>
注記 : IP を読み込む際は、 以前に IP の出力フ ァ イ ルを生成 し たデ ィ レ ク ト リ か ら XCI フ ァ イ ルを読み込むか、 XCI
フ ァ イ ルを読み込んでか ら synth_ip コ マ ン ド を使用 し て IP を生成 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
74
japan.xilinx.com
第 6章
IP 操作用 Tcl コ マ ン ド
概要
こ の章では、 IP の操作に よ く 使用 さ れ る Tcl コ マ ン ド について説明 し ます。
Tcl お よ び Tcl ス ク リ プ ト の詳細は、 次の資料を参照 し て く だ さ い。
•
『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 22]
•
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 7]
Vivado ツールでの Tcl の使用方法の詳細は、 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888)
[参照 21] を参照 し て く だ さ い。
重要 : Tcl コ マ ン ド で フ ァ イ ルを指定す る 場合は、 相対パ ス ではな く 絶対パ ス を使用 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
75
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
デザイ ン フ ローにおける IP の Tcl コ マ ン ド の使用
IP の Tcl コ マ ン ド は、 IP の作成お よ び合成で使用 さ れ る パーツ の設定を除き 、 プ ロ ジ ェ ク ト モー ド フ ロ ー と 非プ ロ
ジ ェ ク ト フ ロ ーで一貫 し てい ます。 次の表に、 デザ イ ンで使用する 順序で Tcl コ マ ン ド を示 し ます。
表 6-1 : IP の Tcl コ マ ン ド (デザイ ン で使用 さ れる順)
操作
IP 作成用のパーツ を
設定
プ ロ ジ ェ ク ト モー ド の コ マ ン ド
な し 。 パーツはプ ロ ジ ェ ク ト 設定。
非プ ロ ジ ェ ク ト モー ド の コ マ ン ド
# Set target part
set_part <part>
注記 : プ ロ ジ ェ ク ト をデ ィ ス ク ではな く メ モ リ で
作成 し ます。 synth_design な ど の -part オ
プシ ョ ン を含む コ マ ン ド では、 指定のパーツ が
使用 さ れます。
IP のカ ス タ マ イ ズ を
作成
create_ip <ip_name>
create_ip <ip_name>
IP を ア ッ プグ レー ド
upgrade_ip <ip_name>
upgrade_ip <ip_name>
注意 : upgrade_ip [get_ips -all] は、Vivado
で問題が発生す る 原因 と な る こ と があ る ので、 使
用 し ないで く だ さ い。 -all オプシ ョ ン を使用する
と 、 サブ コ ア IP が返 さ れます。 こ れ ら の IP は、 親
のア ッ プグ レー ド 中に削除 さ れ、 Tcl オブジ ェ ク ト
が参照 さ れな く な る 可能性があ り ます。
IP カ ス タ マ イ ズ を
設定
set_property \
CONFIG.Input_Data_Width 8 \
[get_ips <ip_name>]
set_property \
CONFIG.Input_Data_Width 8 \
[get_ips <ip_name>]
タ ーゲ ッ ト ク ロ ッ ク
周期の作成
サポー ト さ れてい る 場合は、 IP カ ス タ マ イ ズ
GUI を使用 し て く だ さ い。 サポー ト さ れてい
ない場合は、 [非プ ロ ジ ェ ク ト モー ド の コ マ
ン ド ] 列の Tcl コ マ ン ド を使用 し て く だ さ い。
set_property \
CONFIG.<clock_name>.FREQ_HZ \
<#>[get_ips char_fifo]
generate_target \
[get_ips <ip_name>]
generate_target \
[get_ips <ip_name>]
注記 : オプシ ョ ン で生成す る タ ーゲ ッ ト を指定で き
ます。
注記 : オプシ ョ ンで生成する タ ーゲ ッ ト を指定で き ます。
create_ip_run \
synth_ip [get_ips <ip_name>]
出力フ ァ イ ルを生成
IP を合成 し て OOC
DCP を作成
詳細は、 「Tcl コ マ ン ド を使用 し た タ ーゲ ッ ト ク
ロ ッ ク 周期の設定」 を参照 し て く だ さ い。
[get_ips <ip_name>]
launch_runs <ip_name>_synth_1
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
76
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
表 6-1 : IP の Tcl コ マ ン ド (デザイ ン で使用 さ れる順)
操作
IP の読み込み
プ ロ ジ ェ ク ト モー ド の コ マ ン ド
IP を出力フ ァ イ ル と 共にプ ロ ジ ェ ク ト に
コ ピー :
import_files <ip_name>.xci
IP を出力フ ァ イ ル と 共にプ ロ ジ ェ ク ト に追加
し 、 指定のデ ィ レ ク ト リ か ら 参照(次のいず
れか を使用) :
add_files <ip_name>.xci
read_ip <ip_name>.xci
非プ ロ ジ ェ ク ト モー ド の コ マ ン ド
IP お よ び生成 さ れた出力フ ァ イ ルを読み込み (次の
いずれかを使用) :
add_files <ip_name>.xci
read_ip <ip_name>.xci
注記 : プ ロ ジ ェ ク ト フ ロ ー と は異な り 、 出力フ ァ
イ ルは自動的に生成 さ れません。
generate_target コ マ ン ド を使用 し て生成す る 必要が
あ り ます。
synth_ip コ マ ン ド を使用 し て IP の DCP フ ァ イ ルを
生成 し た場合、 最初に出力フ ァ イ ルを生成する 必
要はあ り ません。 こ れ ら の タ ーゲ ッ ト は自動的に
生成 さ れます。
フ ァ イ ルの ク エ リ
get_files -of_objects \
[get_ips <ip_name>]
get_files -of_objects \
[get_ips <ip_name>]
シ ミ ュ レーシ ョ ン
詳細は、 「IP のシ ミ ュ レーシ ョ ン」 を参照 し
て く だ さ い。
詳細は、 「IP シ ミ ュ レーシ ョ ン モデル」 を参照 し て
く だ さ い。
デバ ッ グ
詳細は、 「デバ ッ グ フ ロ ー」 を参照 し て く だ
さ い。
IP 操作用 Tcl コ マ ン ド
Vivado IP カ タ ロ グには、 Vivado IDE お よ び Tcl 設計環境か ら ア ク セ ス で き ます。
バ ッ チ ス ク リ プ ト モー ド を使用す る ユーザー用に、 IP の作成、 再カ ス タ マ イ ズ、 出力フ ァ イ ルの生成な ど の IP カ タ
ロ グ操作を Vivado IDE で実行す る と 、 対応す る Tcl コ マ ン ド が vivado.log フ ァ イ ルに記録 さ れます。 Vivado IDE
で実行で き る 操作はすべて、 ス ク リ プ ト で自動化 し て実行で き ます。
Vivado IP カ タ ロ グには Vivado IDE の [Tcl Console] ウ ィ ン ド ウ か ら IP パ ラ メ ー タ ーのカ ス タ マ イ ズに直接ア ク セ スす
る 機能が含まれお り 、 各 IP パ ラ メ ー タ ーを [Tcl Console] ウ ィ ン ド ウ か ら 直接設定で き ます。
次に、 Tcl コ マ ン ド を使用 し た一般的な IP 操作の例を示 し ます。
ア キ ュ ム レー タ IP のカ ス タ マ イ ズ フ ァ イ ルを作成
•
create_ip -name c_accum -vendor xilinx.com -library ip
\
-module_name c_accum_0
•
入力幅お よ び出力幅な ど のカ ス タ マ イ ズ パ ラ メ ー タ ーを変更
set_property -dict [list CONFIG.Input_Width {10}
CONFIG.Output_Width {10}] [get_ips c_accum_0]
•
出力フ ァ イ ルを選択 し て生成
generate_target {synthesis instantiation_template simulation} \
[get_ips c_accum_0]
•
生成 さ れた出力フ ァ イ ルを リ セ ッ ト
reset_target all [get_ips c_accum_0]
Tcl ス ク リ プ ト を使用 し て IP に使用可能なユーザー コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーを リ ス ト す る には、
list_property ま たは report_property コ マ ン ド のいずれか を使用 し て、 作成 さ れた IP を参照 し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
77
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
こ れ ら の コ マ ン ド の違いは、 次の と お り です。
•
Tcl ス ク リ プ ト で処理可能なオブジ ェ ク ト の リ ス ト を返す
list_property
•
各パ ラ メ ー タ ーの現在の値、 デー タ 型な ど を テ キ ス ト レ ポー ト で返す
report_property
•
IP に適用 さ れ る すべてのプ ロ パテ ィ の リ ス ト を取得
list_property [get_ips fifo_generator_0]
•
上記の コ マ ン ド で返 さ れ る パ ラ メ ー タ ーの う ち CONFIG. で開始す る も のを アルフ ァ ベ ッ ト 順に リ ス ト
lsearch -all -inline [ list_property [ get_ips fifo_generator_0 ] ] CONFIG.*
•
コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーを含む IP のすべてのプ ロ パテ ィ を リ ス ト す る レ ポー ト を作成
report_property [get_ips fifo_generator_0]
•
デザ イ ン run を削除
delete_ip_run
こ の コ マ ン ド を使用す る と 、 IP のデザ イ ン run を削除で き ます。 Vivado IDE で IP の出力フ ァ イ ルを リ セ ッ ト す る と 、
reset_target お よ び delete_ip_run と い う 2 つの Tcl コ マ ン ド が発行 さ れます。
•
シ ミ ュ レーシ ョ ン を エ ク ス ポー ト
export_simulation
サポー ト さ れ る IP 関連の Tcl コ マ ン ド の詳細は、 [Tcl Console] ウ ィ ン ド ウ に 「help -category IPFlow」 と 入力
し て く だ さ い。
X-Ref Target - Figure 6-1
図 6-1 : IP 関連の Tcl コ マ ン ド のヘルプ を表示
注記 : 『Vivado Design Suite チ ュ ー ト リ アル : IP を使用 し た設計』 (UG939) [参照 19] に、 IP を使用 し たプ ロ ジ ェ ク ト フ
ロ ーお よ び非プ ロ ジ ェ ク ト フ ロ ーの ス ク リ プ ト を説明する 演習が含まれてい ます。 こ れ ら の演習には、 出力フ ァ イ
ルの生成や選択 し た IP のア ッ プグ レー ド の例が含まれます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
78
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
IP フ ロー コ マ ン ド の例
こ のセ ク シ ョ ンでは、 よ く 使用 さ れ る 操作の Tcl ス ク リ プ ト 例を示 し ます。
IP を作成する コ マ ン ド
IP のカ ス タ マ イ ズ フ ァ イ ルを作成す る には、 create_ip コ マ ン ド を使用 し ます。
推奨 : こ の操作を 66 ページの 「Manage IP フ ロ ーの使用」 で説明 さ れ る よ う に実行 し ます。 Manage IP フ ロ ーを使用
し て IP を作成す る と 、 その IP を プ ロ ジ ェ ク ト モー ド お よ び非プ ロ ジ ェ ク ト モー ド で使用で き ます。
次の ス ク リ プ ト では、 Manage IP プ ロ ジ ェ ク ト を作成 し 、 IP を作成 し て カ ス タ マ イ ズ し 、 DCP を生成 し てい ます。
# Create a Manage IP project
create_project <managed_ip_project> ./managed_ip_project -part <part> -ip
# Set the simulator language (Mixed, VHDL, Verilog)
set_property simulator_language Mixed [current_project]
# Target language for instantiation template and wrapper (Verilog, VHDL)
set_property target_language Verilog [current_project]
# Create an IP customization
create_ip -name c_accum -vendor xilinx.com -library ip -module_name c_accum_0
# configure the parameters for the IP customization
set_property -dict {CONFIG.Input_Width 10 CONFIG.Output_Width 10} [get_ips
c_accum_0]
# Create a synthesis design run for the IP
create_ip_run [get_ips c_accum_0]
# Launch the synthesis run for the IP
# Because this is a project, the output products are generated automatically
launch_run c_accum_0_synth_1
重要 : ザ イ リ ン ク ス では、 プ ロ ジ ェ ク ト ベース の フ ロ ーをお勧め し ます。 プ ロ ジ ェ ク ト ベース のフ ロ ーは、 Vivado
IDE ま たは Tcl コ マ ン ド の ど ち ら を使用 し て も 実行で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
79
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
IP カ ス タ マ イ ズ フ ァ イルのク エ リ 検索
ソ ース制御用に フ ァ イルを取得する Tcl ス ク リ プ ト
次の ス ク リ プ ト 例は、 IP カ ス タ マ イ ズのすべての フ ァ イ ルを取得す る 方法を示 し てい ます。 こ の ス ク リ プ ト を使用
す る と 、 ソ ース制御シ ス テ ムで使用可能な フ ァ イ ルの リ ス ト が生成 さ れます。
# Create a project in memory, no project directory
# created on disk
create_project -in_memory -part <part>
# read an IP customization
read_ip <ip_name>.xci
# Generate all the output products
generate_target all [get_ips <ip_name>]
# Create a DCP for the IP
synth_ip [get_ips <ip_name>]
# Query all the files for this IP
get_files -all -of_objects [get_files <ip_name>.xci]
注記 : こ れ ら の Tcl コ マ ン ド に関す る 詳細な説明 と 使用す る タ イ ミ ン グについては、 表 6-1 を参照 し て く だ さ い。
順番に並べ られた ソ ース リ ス ト のク エ リ 検索
カ ス タ ム ス ク リ プ ト を作成す る には、 次のいずれかの Tcl コ マ ン ド を使用 し ます。
•
IP のみ : 合成
get_files -compile_order sources -used_in synthesis \
-of_objects [get_files <ip_name>.xci]
•
IP のみ : シ ミ ュ レーシ ョ ン
get_files -compile_order sources -used_in simulation \
-of_objects [get_files <ip_name>.xci]
•
最上位デザ イ ン : IP も 一緒に合成
get_files -compile_order sources -used_in synthesis
•
最上位デザ イ ン : IP も 一緒にシ ミ ュ レーシ ョ ン
get_files -compile_order sources -used_in simulation
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
80
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
スク リプ ト例
IP サン プル デザイ ンのイ ン プ リ メ ン テーシ ョ ン
IP サンプル デザ イ ンの イ ンプ リ メ ン テーシ ョ ン を実行す る プ ロ ジ ェ ク ト を作成 し ます。
# Create a project
create_project <name> <dir> -part <part>
# Create an IP customization and a DCP
# This will also generate all the output products
create_ip ...
create_ip_run [get_ips <ip>.xci]
launch_runs <ip>_synth_1
wait_on_run <ip>_synth_1
# Open the example design for the IP
# This will use the IP DCP generated
open_example_project -force -dir "."-in_process [get_ips <ip>]
launch_runs synth_1
wait_on_run synth_1
launch_runs impl_1
wait_on_run impl_1 -to write_bitstream
open_run impl_1
# produce some reports
report_timing_summary ...
report_utilization ...
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
81
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
非プ ロ ジ ェ ク ト 合成
1 つの IP には OOC DCP が生成 さ れてお り 、 別の IP はユーザー ロ ジ ッ ク と 共に合成 さ れ る 、 非プ ロ ジ ェ ク ト フ ロ ー
のデザ イ ン を合成お よ び イ ンプ リ メ ン ト し ます。
IP XCI フ ァ イ ルを読み込む際に、 OOC DCP を含むすべての出力フ ァ イ ルが使用 さ れ る ので、 それ ら を生成す る 必要
はあ り ません。
IP の出力フ ァ イ ルが生成 さ れていない場合は、 出力フ ァ イ ルを生成す る か、 ま たは出力フ ァ イ ルを生成す る
synth_ip コ マ ン ド を使用 し て DCP を作成す る 必要があ り ます。
IP に対 し て グ ロ ーバル合成を使用す る よ う に選択 し た場合は (第 2 章の 「IP の合成オプシ ョ ン」 を参照)、 チ ェ ッ ク
ポ イ ン ト サポー ト をオ フ に し て出力フ ァ イ ルを生成する 必要があ り ます。 こ の Tcl ス ク リ プ ト は、 こ のためのテ ン
プ レー ト と し て使用で き ます。
#create an in memory project to provide the part to use for IP creation and for
#running synthesis
set_part <part>
# read in sources
read_verilog top.v
# Read in an existing IP customization
# or create an IP from scratch
# create_ip ... or read_ip ip1.xci
# Generate a DCP for the IP
# will generate output products if needed
synth_ip [get_ips ip1]
# Read in an existing IP customization
# or create an IP from scratch
# create_ip ... or read_ip ip2.xci
# Set IP to use global synthesis (no DCP generated)
set_property generate_synth_checkpoint false [get_files ip2.xci]
# Need to generate output products for IP
generate_target all [get_ips ip2]
# synthesis the complete design
synth_design -top top
# run implementation
opt_design
place_design
route_design
# write the bitstream
write_bitstream -file top
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
82
japan.xilinx.com
第 6 章 : IP 操作用 Tcl コ マ ン ド
IP サン プル デザイ ンのシ ミ ュ レーシ ョ ン
IP サンプル デザ イ ンのシ ミ ュ レーシ ョ ン を実行す る ためのプ ロ ジ ェ ク ト を作成 し ます。
#create the project
create_project <name> <dir> -part <part>
# create IP and a synthesis run
create_ip ...
create_ip_run [get_ips <ip_name>]
#launch runs
launch_runs <ip>_synth_1
wait_on_run <ip>_synth_1
#open the example project
open_example_project -force -dir "."-in_process [get_ips <ip>]
#launch simulation
<launch_simulation> | <target_simulator>
IP の合成およびシ ミ ュ レーシ ョ ン
IP にサンプル デザ イ ンが含まれず、 テ ス ト ベンチが含まれ る 場合は、 IP のみを シ ミ ュ レーシ ョ ン で き ます。
#create the project
create_project <name> <dir> -part <part>
# create_ip ... or add_files ip.xci
# create an IP design run
create_ip_run [get_ips <ip_name>]
#launch IP synthesis run
launch_run <ip>_synth_1
wait_on_run <ip>_synth_1
# Setting up simulation test bench
set_property top <tb> [current_fileset -simset]
# Launch simulation
<launch_simulation> | <target_simulator>
ビデオ : 詳細は、 QuickTake ビデオ : Vivado で制約フ ァ イ ル と し て Tcl ス ク リ プ ト を使用を ご覧 く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
83
japan.xilinx.com
付録 A
IP がロ ッ ク さ れる理由
概要
IP は、 さ ま ざ ま な理由で ロ ッ ク さ れます。 その場合、 Vivado IDE か ら その理由 と 推奨事項が記述 さ れた IP ス テー タ
ス レ ポー ト が表示 さ れます。 次の表に、 ロ ッ ク さ れた IP の メ ッ セージお よ び推奨事項を示 し ます。 IP ス テー タ ス レ
ポー ト の詳細は、 47 ページの 「IP ス テー タ ス の レ ポー ト 」 を参照 し て く だ さ い。
重要 : ザ イ リ ン ク ス の提供する パ ッ チを適用 し た と き に、 パ ッ チに よ る IP 定義の変更のために IP が ロ ッ ク さ れ る こ
と があ り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
84
japan.xilinx.com
付録 A : IP がロ ッ ク さ れる理由
表 A-1 : IP がロ ッ ク さ れる理由 と 推奨事項
理由の要約
理由の詳細
推奨事項の要約
IP フ ァ イ ルが読み取 <ip_name> に読み取 り 専用フ ァ イ ル
<IPXMLFILE> が含まれてい ます。
り 専用
IP は書 き 込み保護 さ れてい ます。
出力デ ィ レ ク ト リ が
共有 さ れてい る
フ ァ イルと プロ ジェ ク ト
<ip_name> に、 機能に制限のあ る 読み取 り 専用
の権限を確認
フ ァ イ ル <IPXCIFILE> が含ま れてい ます。 こ の
IP の コ ン フ ィ ギ ュ レーシ ョ ン を変更す る コ マ ン ド
は使用で き ません。
<ip_name> はほかの IP と 出力デ ィ レ ク ト リ を共有
し てい ます。 IP はそれぞれ個別のデ ィ レ ク ト リ に
保存す る こ と をお勧め し ます。
IP を移動
IP 定義を検出で き
ない
<ip_name> の IP 定義 <CURRENT_IPDEF> ( ソ フ ト
ウ ェ ア リ リ ース <SW_VERSION> でカ ス タ マ イ ズ)
が IP カ タ ロ グか ら 検出で き ません。
IP の メ ジ ャ ー バー
ジ ョ ンが変更 さ れて
いる
IP カ タ ロ グに <ip_name> の IP 定義
<CURRENT_IPDEF> ( ソ フ ト ウ ェ ア リ リ ース
<SWVERSION> でカ ス タ マ イ ズ) よ り 新 し い メ
ジ ャ ー バージ ョ ンが含まれてい ます。
IP のマ イ ナー バー
ジ ョ ンが変更 さ れて
いる
IP カ タ ロ グに <ip_name> の IP 定義
<CURRENT_IPDEF> ( ソ フ ト ウ ェ ア リ リ ース
<SWVERSION> でカ ス タ マ イ ズ) よ り 新 し いマ イ
ナー バージ ョ ンが含まれてい ます。
IP リ ビ ジ ョ ンが変更 IP カ タ ロ グに <ip_name> の IP 定義
<CURRENT_IPDEF> ( ソ フ ト ウ ェ ア リ リ ース
さ れてい る
<SW_VERSION> でカ ス タ マ イ ズ) と は異な る リ ビ
ジ ョ ンが含まれてい ます。
検出 さ れた IP デー タ レ ポジ ト リ の IP デー タ は、 バージ ョ ンお よ び リ ビ
ジ ョ ンは同 じ ですが、 現在の イ ン ス タ ン ス と の互
に互換性がない
換性があ り ません。 こ れは通常、 現在開発中の IP
を使用 し てい る 場合に発生 し ます。 ア ッ プデー ト
さ れ る ま では、 カ ス タ マ イ ズ を表示 し た り 、 出力
を生成 し た り で き ません。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
IP 定義を カ タ ロ グに追加
IP を ア ッ プグ レー ド
推奨事項の詳細
IP が読み取 り 専用であ る 原因 と な っ てい る プ ロ ジ ェ ク ト お よ び
フ ァ イ ル シ ス テ ムの権限を確認 し て く だ さ い。 詳細は、 「IP ソ ー
ス の編集」 を参照 し て く だ さ い。
• remove_files コ マ ン ド を使用 し てプ ロ ジ ェ ク ト か ら IP を手
動で削除 し ます (詳細は 『Vivado Design Suite Tcl コ マ ン ド リ
フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 7] を参照)。
• import_files コ マ ン ド で固有のデ ィ レ ク ト リ を持つプ ロ
ジ ェ ク ト に イ ン ポー ト し ます。
IP カ タ ロ グに代替 IP がないか を確認 し ます。 詳細は、 「IP カ タ ロ
グの使用」 を参照 し て く だ さ い。
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> の メ ジ ャ ー バージ ョ ンの
変更が必要です。 IP を ア ッ プグ レー ド する 前にデザ イ ンへの影
響を確認 し て く だ さ い。 詳細は、 「IP のア ッ プグ レー ド 」 を参照
し て く だ さ い。
IP を ア ッ プグ レー ド
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> のマ イ ナー バージ ョ ンの
変更が必要です。 IP を ア ッ プグ レー ド する 前に変更 ロ グ を確認
し て く だ さ い。 詳細は、 「IP のア ッ プグ レー ド 」 を参照 し て く だ
さ い。
IP を ア ッ プグ レー ド
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> の リ ビ ジ ョ ン変更が必要で
す。 IP を ア ッ プグ レー ド する 前に変更 ロ グ を確認 し て く だ さ い。
詳細は、 「IP のア ッ プグ レー ド 」 を参照 し て く だ さ い。
IP を ア ッ プグ レー ド
IP を ア ッ プグ レー ド し ます。 詳細は、 「IP のア ッ プグ レー ド 」 を
参照 し て く だ さ い。
85
japan.xilinx.com
付録 A : IP がロ ッ ク さ れる理由
表 A-1 : IP がロ ッ ク さ れる理由 と 推奨事項 (続き)
理由の要約
理由の詳細
IP でパーツがサポー IP <ip_name> では現在のプ ロ ジ ェ ク ト パーツ
<CURRENT_PART> はサポー ト さ れてい ません。
ト さ れていない
パーツの違いに よ り 、 定義 さ れていない ビヘ イ ビ
アーが発生す る こ と があ り ます。
IP ラ イ セ ン ス が検出
さ れない
推奨事項の要約
推奨事項の詳細
サポー ト な し
IP を ア ッ プグ レー ド
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> では現在のプ ロ ジ ェ ク ト
パーツ <CURRENT_PART> はサポー ト さ れてい ません。 IP を ア ッ
プグ レー ド する 前にサポー ト さ れ る プ ロ ジ ェ ク ト パーツ を選択
し て く だ さ い。 詳細は、 付録 C 「IP のプ ラ ッ ト フ ォーム ボー ド
フ ロ ーの使用」 を参照 し て く だ さ い。
IP <ip_name> には 1 つま たは複数の必須 ラ イ セ ン ラ イ セ ン ス な し
ス が必要ですが、 有効な ラ イ セ ン ス が検出 さ れま
IP を ア ッ プグ レー ド
せん。 一部の ツール フ ロ ーでは、 ラ イ セ ン ス
チ ェ ッ ク ポ イ ン ト に よ り こ の IP が使用で き な く な
る こ と があ り ます。
IP ラ イ セ ン ス を確認
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> には有効な ラ イ セ ン ス が必
要です。 IP を ア ッ プグ レー ド する 前に有効な ラ イ セ ン ス を取得
し て く だ さ い。 詳細は、 「有償 ラ イ セ ン ス IP の使用」 を参照 し て
く だ さ い。
IP ボー ド が変更 さ れ こ の IP にはボー ド 特定の出力があ り ます。 現在の
プ ロ ジ ェ ク ト ボー ド <CURRENT_BOARD> が IP
てい る (1)
<ip_name> のカ ス タ マ イ ズに使用 さ れたボー ド
<ORIGINAL_BOARD> と 一致 し ません。
IP の タ ーゲ ッ ト を変更
IP <ip_name> には有効な ラ イ セ ン ス が必要です。 有効な ラ イ セ
ン ス を取得する か、 ラ イ セ ン ス環境を確認 し て く だ さ い。 詳細
は、 「有償 ラ イ セ ン ス IP の使用」 を参照 し て く だ さ い。
プ ロ ジ ェ ク ト パーツ を変更す る か、 ア ッ プグ レー ド フ ロ ーを使
用 し て こ の IP の タ ーゲ ッ ト を現在のプ ロ ジ ェ ク ト パーツ ま たは
ボー ド に変更 し ます。 詳細は、 「IP のア ッ プグ レー ド 」 を参照 し
て く だ さ い。
IP パーツが変更 さ れ
てい る
現在のプ ロ ジ ェ ク ト パーツ <CURRENT_PART> が
IP <ip_name> のカ ス タ マ イ ズに使用 さ れた と パー
ツ <ORIGINAL_PART> と 一致 し ません。
プ ロ ジ ェ ク ト パーツ を変更す る か、 ア ッ プグ レー ド フ ロ ーを使
用 し て こ の IP の タ ーゲ ッ ト を現在のプ ロ ジ ェ ク ト パーツ ま たは
ボー ド に変更 し ます。 詳細は、 「IP のア ッ プグ レー ド 」 を参照 し
て く だ さ い。
IP に ロ ッ ク さ れたサ
ブ コ アが含まれ る
IP <ip_name> に 1 つま たは複数の ロ ッ ク さ れたサ 親 IP を ア ッ プグ レー ド
ブ コ アが含まれます。
親 IP <PARENTNAME> を ア ッ プグ レー ド し ます。 詳細は、 「IP
ソ ース の編集」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
86
japan.xilinx.com
付録 A : IP がロ ッ ク さ れる理由
表 A-1 : IP がロ ッ ク さ れる理由 と 推奨事項 (続き)
理由の要約
理由の詳細
推奨事項の要約
推奨事項の詳細
IP 定義が見つか ら ない
IP カ タ ロ グに IP 定義が
見つか り ません。
IP 定義を カ タ ロ グに追加する か、 IP カ タ ロ グで代替の IP を検索
し ます。 詳細は、 「IP カ タ ロ グの使用」 を参照 し て く だ さ い。
読み取 り 専用 XCI/BOM/プ ロ ジ ェ ク ト
XCI、 XML、 ま たは XPR
フ ァ イ ルが読み取 り 専用
で、 IP が書き 込み保護 さ
れてい ます。
IP が読み取 り 専用であ る 原因 と な っ てい る プ ロ ジ ェ ク ト お よ び
フ ァ イ ル シ ス テ ムの権限を確認 し て く だ さ い。 詳細は、 「IP ソ ー
ス の編集」 を参照 し て く だ さ い。
ユーザー管理 IP
IP がユーザー管理 IP と
し て コ ン フ ィ ギ ュ レー
シ ョ ン さ れてい ます。 こ
のモー ド では、 すべての
IP フ ァ イ ルを管理する の
はユーザーの責任 と な り
ます。
こ れが予期し ない も のであ る場合は、 シ ス テム管理の IP に設定し
直し ます ( 「IP ソ ースの編集」 の is_managed プ ロパテ ィ を参照)。
デ ィ ス エーブルの コ ン ポーネ ン ト
サポー ト な し
IP を ア ッ プグ レー ド
タ ーゲ ッ ト IP 定義 <TARGET_IPDEF> では現在のプ ロ ジ ェ ク ト
パーツ <CURRENT_PART> はサポー ト さ れてい ません。 IP を ア ッ
プグ レー ド する 前にサポー ト さ れ る プ ロ ジ ェ ク ト パーツ を選択
し て く だ さ い。 詳細は、 付録 C 「IP のプ ラ ッ ト フ ォーム ボー ド
フ ロ ーの使用」 を参照 し て く だ さ い。
互換性のない ラ イ セ ン ス
IP イ ン ス タ ン ス には 1 つ
ま たは複数の必須 ラ イ セ
ン ス が必要ですが、 有効
な ラ イ セ ン ス が検出 さ れ
ません。
IP を ア ッ プグ レー ド する前に有効な ラ イ セン ス を取得し て く だ さ
い。 詳細は、 「有償 ラ イ セン ス IP の使用」 を参照 し て く だ さ い。
その他
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
87
japan.xilinx.com
付録 A : IP がロ ッ ク さ れる理由
表 A-1 : IP がロ ッ ク さ れる理由 と 推奨事項 (続き)
理由の要約
理由の詳細
推奨事項の要約
推奨事項の詳細
互換性のない XCI/BOM
IP を ア ッ プグ レー ド
カ タ ロ グの IP デー タ は、 バージ ョ ンお よ び リ ビ ジ ョ ンは同 じ で
すが、 現在の IP イ ン ス タ ン ス と の互換性があ り ません。
カ ス タ マ イ ズ を表示 し た り 出力フ ァ イ ルを生成す る 前に、 IP を
ア ッ プグ レー ド する 必要があ り ます。 詳細は、 「IP のア ッ プグ
レー ド 」 を参照 し て く だ さ い。
廃止 さ れた フ ロ ー
IP を ア ッ プグ レー ド
IP イ ン ス タ ン ス では Vivado 生成がサポー ト さ れますが、 CORE
Generator™ を使用 し て生成 さ れてい ます。 詳細は、 「IP のア ッ プ
グ レー ド 」 を参照 し て く だ さ い。
子 IP が ロ ッ ク さ れてい る ため ロ ッ ク さ れてい る
IP イ ン ス タ ン ス に 1 つま
たは複数の ロ ッ ク さ れた
サブ コ アが含まれます。
IP を ア ッ プグ レー ド する か、 現在 ロ ッ ク さ れてい る 子 IP の新 し
いバージ ョ ン を使用 し て コ ン ポーネ ン ト をパ ッ ケージ し 直 し て く
だ さ い。 詳細は、 「IP ソ ース の変更ま たは無効化」 を参照 し て く
だ さ い。
1. パーツ ま たはボー ド の変更お よ びア ッ プグ レー ド に よ り IP コ アが ロ ッ ク さ れてい ます。 ポー ト を確認する 必要があ り ます。 IP に よ っ ては、 選択 し たパーツに よ っ て
ポー ト が異な り ます。 た と えば、 QSGMII IP の タ ーゲ ッ ト デバ イ ス を 7 シ リ ーズ FPGA か ら UltraScale® プ ラ ッ ト フ ォームに変更す る と 、 デバ ッ グ ポー ト 名 と フ ァ ン
ク シ ョ ンが変わ る ので、 合成ま たは イ ンプ リ メ ン テーシ ョ ン中にエ ラ ーが発生 し ない よ う に、 RTL を変更する 必要があ り ます。 詳細は、 該当する IP の製品ガ イ ド を
参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
88
japan.xilinx.com
付録 B
IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
概要
プ ロ ジ ェ ク ト ま たは Manage IP フ ロ ーで IP カ タ ロ グ を使用 し てIP を カ ス タ マ イ ズす る と 、 Vivado® 統合設計環境
(IDE) で各 IP に対 し て個別のデ ィ レ ク ト リ が作成 さ れます。
IP を カ ス タ マ イ ズす る と 、 固有のデ ィ レ ク ト リ が作成 さ れ、 XCI (Xilinx® Core Instance) フ ァ イ ル、 イ ン ス タ ン シ
エーシ ョ ン テ ンプ レー ト 、 BOM フ ァ イ ル、 その他の生成フ ァ イ ルが配置 さ れます。 こ の IP デ ィ レ ク ト リ には、 そ
の他複数のデ ィ レ ク ト リ が含まれます。 各 IP に含まれ る フ ァ イ ルの分類に共通の構造はあ り ませんが、 各フ ァ イ ル
に共通 し て作成 さ れ る フ ァ イ ルがい く つかあ り ます。
IP で生成 さ れるデ ィ レ ク ト リ および フ ァ イル
次の表に、 出力フ ァ イ ル (Output Products) と 呼ばれ る IP で生成 さ れ る タ ーゲ ッ ト デ ィ レ ク ト リ お よ びフ ァ イ ルを リ
ス ト し ます。
推奨 : 関連フ ァ イ ルの リ ス ト を取得す る には、 フ ァ イ ルお よ びデ ィ レ ク ト リ 構造を見る のではな く 、 Tcl コ マ ン ド を
使用す る こ と をお勧め し ます。 た と えば、 第 6 章の 「IP カ ス タ マ イ ズ フ ァ イ ルの ク エ リ 検索」 に示す よ う に、 Tcl コ
マ ン ド の get_files を使用 し ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参
照 7] を参照 し て く だ さ い。
表 B-1 : IP 出力フ ァ イル
デ ィ レ ク ト リ 名、 フ ァ イル名、
またはフ ァ イル タ イ プ
説明
/doc
各 リ リ ース での IP の変更点を示す <Core_Name>_changelog.txt フ ァ
イ ルが含まれます。
/sim
IP のシ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルが含まれます。 こ のデ ィ レ ク ト リ
はすべての IP にあ る わけではあ り ません。
/synth
IP の合成可能な ソ ース フ ァ イ ルが含まれます。 こ のデ ィ レ ク ト リ は、 シ
ミ ュ レーシ ョ ン専用のバ ス フ ァ ン ク シ ョ ン モデル (BFM) IP な ど の合成を
サポー ト し ない IP にはあ り ません。
<ip_name>.xci
IP のカ ス タ マ イ ズ情報が含まれます。 こ のフ ァ イ ルか ら 、 出力フ ァ イ ルを
生成で き ます。 IP カ タ ロ グの IP にア ッ プグ レー ド パ ス が存在 し ていれば、
こ の フ ァ イ ルか ら 新バージ ョ ンにア ッ プグ レー ド で き ます
<ip_name>_.xcix
デザ イ ン内の IP 間で共通のエ レ メ ン ト をすべて リ ス ト す る コ ア コ ン テ
ナー フ ァ イ ル
<ip_name>.xml
生成 さ れた フ ァ イ ル、 算出 さ れたパ ラ メ ー タ ー、 イ ン タ ーフ ェ イ ス情報な
ど、 IP の現在の ス テー ト を管理する BOM (Bill of Material) フ ァ イ ル
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
89
japan.xilinx.com
付録 B : IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
表 B-1 : IP 出力 フ ァ イル (続き)
デ ィ レ ク ト リ 名、 フ ァ イル名、
またはフ ァ イル タ イ プ
説明
<ip_name>.veo|vho
Verilog (VEO) ま たは VHDL (VHO) イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 。
こ れ ら の フ ァ イ ルの ど ち ら かを使用 し て、 デザ イ ン内に IP を イ ン ス タ ン シ
エー ト し ます。
<ip_name>.dcp*
合成後のネ ッ ト リ ス ト と 処理済みの XDC 制約を含む合成可能なデザ イ ン
チ ェ ッ ク ポ イ ン ト フ ァ イ ル。 IP の DCP フ ァ イ ルを直接参照せず、 XCI
フ ァ イ ルを使用す る こ と をお勧め し ます。 XCI フ ァ イ ルを使用する と 、 必
要に応 じ て DCP が読み込まれます。
<ip_name>_stub.[v|vhdl]*
サー ド パーテ ィ 合成ツールで IP のブ ラ ッ ク ボ ッ ク ス を推論する ために使
用 さ れ る モジ ュ ール (Verilog) お よ び コ ン ポーネ ン ト (VHDL)
<ip_name>_funcsim.[v|vhdl]*
Vivado 2015.3 よ り 前の合成後の構造シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト フ ァ
イル
<ip_name>_sim_netlist
Vivado 2015.3 での合成後の構造シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト フ ァ イ ル
<ip_name>.xdc
タ イ ミ ン グ制約お よ び物理制約。 こ れ ら の フ ァ イ ルはすべての IP であ る わ
けではな く 、 そのデ ィ レ ク ト リ も IP に よ っ て異な り ます。
<ip_name>_in_context.xdc
詳細は、 「 ク ロ ッ ク 制約の決定 と ク ロ ッ ク メ ッ セージの解釈」 を参照 し て
く だ さ い。
dont_buffer.xdc
廃止済みの フ ァ イ ルです。 同 じ 機能は、 <ip_name>_in_context.xdc
に含まれます。
<ip_name>_clocks.xdc
ク ロ ッ ク 依存性を含む制約。 こ れ ら の フ ァ イ ルはすべての IP であ る わけで
はな く 、 そのデ ィ レ ク ト リ も IP に よ っ て異な り ます。
<ip_name>_board.xdc
プ ラ ッ ト フ ォーム ボー ド フ ロ ーで使用 さ れ る 制約。 こ れ ら の フ ァ イ ルは
すべての IP であ る わけではな く 、 そのデ ィ レ ク ト リ も IP に よ っ て異な り
ます。
<ip_name>_ooc.xdc
IP を ア ウ ト オブ コ ン テ キ ス ト で合成する 場合に使用 さ れ る デフ ォ ル ト の
ク ロ ッ ク 定義
IP の暗号化 さ れた HDL フ ァ イ ル
IP の合成お よ びシ ミ ュ レーシ ョ ンに使用 さ れ る フ ァ イ ル。 こ れ ら の フ ァ イ
ルはすべての IP であ る わけではな く 、 そのデ ィ レ ク ト リ も IP に よ っ て異
な り ます。
* DCP、 _stub、 お よ び *_funcsim ま たは *_sim_netlist フ ァ イ ルは、 合成にア ウ ト オブ コ ン テ キ ス ト フ
ロ ー (デフ ォ ル ト ) が使用 さ れ る 場合にのみ作成 さ れます。 詳細は、 第 2 章の 「IP の合成オプシ ョ ン」 を参照 し て
く だ さ い。
注記 : サンプル デザ イ ンは出力フ ァ イ ルではあ り ませんが、 通常生成 さ れます。 サンプル デザ イ ン フ ァ イ ルは、 サ
ンプル デザ イ ン を次のいずれかで開いた場合にのみ使用で き ます。
°
[Tcl Console] ウ ィ ン ド ウ で open_example_project コ マ ン ド を使用
°
Vivado IDE の [Open IP Example Design] コ マ ン ド
詳細は、 第 4 章 「IP のサンプル デザ イ ンの使用」 を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
90
japan.xilinx.com
付録 B : IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
IP に関連付け ら れている フ ァ イル
次の表に、 IP に関連付け ら れてい る その他のフ ァ イ ルを示 し ます。
表 B-2 : IP に関連付け られている フ ァ イル
フ ァ イル タ イ プ
説明
Name.coe
係数 (COE) フ ァ イ ル。 基数ヘ ッ ダー 1 行 と 複数のベ ク タ ーを含む ASCII テ キ ス ト フ ァ イ
ルです。 基数は 2、 10、 ま たは 16 です。 各ベ ク タ ーはセ ミ コ ロ ンで終了す る 必要があ り
ます。
Name.mif
メ モ リ 情報フ ァ イ ル (MIF)。Vivado IDE での COE フ ァ イ ルの変換先 ASCII テ キ ス ト フ ァ
イ ルです。
Name.bmm
ブ ロ ッ ク メ モ リ マネージ ャ ー フ ァ イ ル
Name.csv
CSV (Comma-Separated Value) の ス プ レ ッ ド シー ト フ ァ イ ル。
Name.elf
ELF (Executable and Linkable Format) フ ァ イ ル。MicroBlaze™ プ ロ セ ッ サで使用 さ れます。
注記 : 一部の IP でのみ使用 さ れます。 プ ロ ジ ェ ク ト を使用 し てい る 場合は、 ユーザーが ソ ース と し て追加する 必要
があ り ます。 こ れ ら の フ ァ イ ルは通常、 IP の カ ス タ マ イ ズ GUI にあ る コ ン フ ィ ギ ュ レーシ ョ ン プ ロ パテ ィ を使用 し
て設定 さ れます。 詳細は、 該当す る IP の製品ガ イ ド を参照 し て く だ さ い。
COE フ ァ イルの使用
一部のパ ラ メ ー タ ーの値が COE (係数) フ ァ イ ルを使用 し て Vivado IP カ タ ロ グに渡 さ れ る 場合があ り ます。 COE フ ァ
イ ルは、 基数ヘ ッ ダー 1 行 と 複数のベ ク タ ーを含む ASCII テ キ ス ト フ ァ イ ルです。 基数は 2、 10、 ま たは 16 です。
各ベ ク タ ーはセ ミ コ ロ ンで終了す る 必要があ り ます。
コ ア を生成す る と き に Vivado ツールに よ り COE フ ァ イ ルが読み込まれ、 1 つま たは複数の MIF フ ァ イ ルが記述 さ れ
ます。 コ アの VHDL お よ び Verilog ビヘ イ ビ アー シ ミ ュ レーシ ョ ン モデルは、 こ れ ら の MIF フ ァ イ ルに依存 し ます。
注記 : IP で使用 さ れな く な っ た COE フ ァ イ ルは削除 し て く だ さ い。 古い COE フ ァ イ ルを削除 し ない と 、 新 し く 関連
付け ら れた COE と 古い COE の両方が合成に渡 さ れます。 ま た、 古い COE をデ ィ ス ク か ら 削除 し てプ ロ ジ ェ ク ト か
ら 削除 し ない と 、 合成でエ ラ ーが発生 し ます。
COE フ ァ イルの構文
次に、 COE フ ァ イ ルの一般的な構文を示 し ます。
Keyword =Value ; Optional Comment
Keyword =Value ; Optional Comment
<Radix_Keyword> =Value ; Optional Comment
<Data_Keyword> =Data_Value1, Data_Value2, Data_Value3;
次の表に、 COE フ ァ イ ルのデー タ の基数値を指定す る キーワー ド を示 し ます。 キーワー ド では大文字 と 小文字は区
別 さ れません。 IP に必要な特定のキーワ ー ド の詳細は、 その IP の製品ガ イ ド を参照 し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
91
japan.xilinx.com
付録 B : IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
表 B-3 : COE フ ァ イルの基数値のキーワー ド
キーワー ド
説明
メ モ リ 以外の コ アで フ ィ ル タ ーの係数を指定する のに使用する 基数
を示 し ます。
RADIX
MEMORY_INITIALIZATION_RADIX
メ モ リ 初期化値に使用す る 基数を指定 し ます。
次の表に、 COE フ ァ イ ルのデー タ 値のキーワー ド を示 し ます。 キーワー ド では大文字 と 小文字は区別 さ れません。
表 B-4 : COE フ ァ イルのデー タ 値のキーワー ド
キーワー ド
説明
COEFDATA
フ ィ ル タ ーで使用 し 、 デー タ の後に フ ィ ル タ ーの係数が続 く こ と を
示 し ます。
MEMORY_INITIALIZATION_VECTOR
ブ ロ ッ ク メ モ リ お よ び分散 メ モ リ で使用 し ます。
PATTERN
ビ ッ ト 相関器の COE で使用 さ れます。
BRANCH_LENGTH_VECTOR
イ ン タ ー リ ーバーの COE で使用 さ れます。
注記 : セ ミ コ ロ ンの後のテ キ ス ト は コ メ ン ト と し て処理 さ れ、 無視 さ れます。
次のいずれかのキー ワー ド を COE フ ァ イ ルの最後のキーワ ー ド と する 必要があ り ます。
•
COEFDATA
•
MEMORY_INITIALIZATION_VECTOR
こ の後のキー ワー ド はすべて無視 さ れます。
COE フ ァ イル例
次に、 さ ま ざ ま なザ イ リ ン ク ス IP の COE フ ァ イ ル例を示 し ます。
Virtex ビ ッ ト 相関器の COE フ ァ イル例
******************************************************************
************* Example of Virtex Bit Correlator.COE *************
******************************************************************
; Sample .COE coefficient file for v2.0 and later
; versions of the Bit Correlator core.
;
; In this core, a COE file is used to specify the value
; of the bit mask when the Pattern Mask option is selected.
;
; Specifications:
;
; - 19 taps, hexadecimal coefficients
; - Serial input data
;
; Please refer to the datasheet for this core for more
; details on using the Mask option.
radix = 16;
pattern = 3 0 3 1 0 1 1 3 0 2 2 2 3 0 1 1 3 0 3;
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
92
japan.xilinx.com
付録 B : IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
デ ュ アル ポー ト ブ ロ ッ ク メ モ リ の COE フ ァ イル例
******************************************************************
********* Example of Dual Port Block Memory .COE file **********
******************************************************************
; Sample memory initialization file for Dual Port Block Memory,
; v3.0 or later.
;
; This .COE file specifies the contents for a block memory
; of depth=16, and width=4.In this case, values are specified
; in hexadecimal format.
memory_initialization_radix=2;
memory_initialization_vector=
1111,
1111,
1111,
1111,
1111,
0000,
0101,
0011,
0000,
1111,
1111,
1111,
1111,
1111,
1111,
1111;
シ ン グル ポー ト ブ ロ ッ ク メ モ リ の COE フ ァ イル例
******************************************************************
******** Example of Single Port Block Memory .COE file *********
******************************************************************
; Sample memory initialization file for Single Port Block Memory,
; v3.0 or later.
;
; This .COE file specifies initialization values for a block
; memory of depth=16, and width=8.In this case, values are
; specified in hexadecimal format.
memory_initialization_radix=16;
memory_initialization_vector=
ff,
ab,
f0,
11,
11,
00,
01,
aa,
bb,
cc,
dd,
ef,
ee,
ff,
00,
ff;
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
93
japan.xilinx.com
付録 B : IP のフ ァ イルおよびデ ィ レ ク ト リ 構造
分散 メ モ リ の COE フ ァ イル例
******************************************************************
************ Example of Distributed Memory .COE file ***********
******************************************************************
; Sample memory initialization file for Distributed Memory v2.0 and
; later.
;
; This .COE file is NOT compatible with v1.0 of Distributed Memory Core.
;
; The example specifies initialization values for a memory of depth= 32,
; and width=16.In this case, values are specified in hexadecimal
; format.
memory_initialization_radix = 16;
memory_initialization_vector = 23f4 0721 11ff ABe1 0001 1 0A 0
23f4 0721 11ff ABe1 0001 1 0A 0
23f4 721 11ff ABe1 0001 1 A 0
23f4 721 11ff ABe1 0001 1 A 0;
******************************************************************
****** Example of Distributed Arithmetic FIR Filter .COE file ***
******************************************************************
; Example of a Distributed Arithmetic (DA) FIR Filter .COE file
; with hex coefficients, 8 symmetrical taps, and 12-bit
; coefficients.
;
; Compatible with all versions of the Distributed Arithmetic
; FIR Filter which supports Virtex and Spartan
Radix = 16;
CoefData= 346, EDA, 0D6, F91, F91, 0D6, EDA, 346;
MIF フ ァ イルの説明
COE フ ァ イ ルは、 メ モ リ の初期内容を指定す る 方法を提供 し ます。 コ ア を生成す る と 、 Vivado ツールに よ り COE
フ ァ イ ルが コ アお よ びシ ミ ュ レーシ ョ ン モデルで メ モ リ を初期化する のに使用 さ れ る 実際の 2 進デー タ を含む MIF
フ ァ イ ルに変換 さ れます。
MIF フ ァ イ ルは、 メ モ リ ロ ケーシ ョ ン ご と に 1 行のテ キ ス ト で構成 さ れます。 フ ァ イ ルの 1 行目はア ド レ ス 0、 2 行
目はア ド レ ス 1 な ど の よ う に対応 し ます。 各行のテ キ ス ト は、 対応する メ モ リ ア ド レ ス の初期値を 2 進数で MSB か
ら 指定 し ます。 メ モ リ 幅の各ビ ッ ト に 1 つの 2 進値が対応 し ます。
注記 : HDL シ ミ ュ レーシ ョ ンでは、 MIF フ ァ イ ルはシ ミ ュ レーシ ョ ン デ ィ レ ク ト リ に配置 さ れます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
94
japan.xilinx.com
付録 C
IP のプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
概要
Vivado® Design Suite プ ラ ッ ト フ ォーム ボー ド フ ロ ー機能は、 一部の IP でサポー ト さ れ、 IP を カ ス タ マ イ ズ中にボー
ド イ ン タ ーフ ェ イ ス を選択で き ます。 こ の機能を使用する と 、 タ ーゲ ッ ト ボー ド に イ ンプ リ メ ン ト さ れてい る イ ン
タ ーフ ェ イ ス信号の ピ ン割 り 当てお よ び IOSTANDARDS を定義する ための追加 XDC 制約が提供 さ れ、 IP の物理制約
の作成が自動化 さ れます。
新規プ ロ ジ ェ ク ト を作成す る 際、 次の図に示す よ う に、 デフ ォ ル ト パーツ と し てボー ド を選択で き ます。
X-Ref Target - Figure C-1
図 C-1 : デ フ ォル ト パーツ と し てボー ド を選択
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
95
japan.xilinx.com
付録 C : IP のプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
リ ス ト の中か ら ボー ド を選択す る と 、 プ ラ ッ ト フ ォーム ボー ド フ ロ ーをサポー ト す る IP を カ ス タ マ イ ズする と き
に、 次の図に示す よ う に [Board] タ ブが表示 さ れます。
X-Ref Target - Figure C-2
図 C-2 : サポー ト さ れる IP の [Customize IP] ダ イ ア ログ ボ ッ ク スに表示 さ れる [Board] タ ブ
[Board] タ ブを使用す る と 、 IP コ アに定義 さ れてい る イ ン タ ーフ ェ イ ス と タ ーゲ ッ ト ボー ド に イ ンプ リ メ ン ト さ れて
い る イ ン タ ーフ ェ イ ス を関連付け る こ と がで き ます。
次の図に示す よ う に、 IP イ ン タ ーフ ェ イ ス を ボー ド イ ン タ ーフ ェ イ ス の 1 つに関連付け る こ と がで き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
96
japan.xilinx.com
付録 C : IP のプ ラ ッ ト フ ォ ーム ボー ド フ ローの使用
X-Ref Target - Figure C-3
図 C-3 : IP イ ン タ ー フ ェ イ ス と ボー ド イ ン タ ー フ ェ イ スの関連付け
Vivado IDE の [Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ーで IP の出力フ ァ イ ルを生成す る と 、
<IP_Name>_board.xdc フ ァ イ ルが リ ス ト さ れます。
こ の フ ァ イ ルには、 USB ポー ト 、 LED ボ タ ン、 ス イ ッ チな ど の関連ボー ド コ ネ ク タ ま たはデバ イ ス に接続 さ れ る
パ ッ ケージ ピ ンに IP のポー ト を割 り 当て る 物理制約が含まれます。
次の図に、 GPI0 イ ン タ ーフ ェ イ ス を ボー ド の lcd7bits イ ン タ ーフ ェ イ ス に、 GPIO2 イ ン タ ーフ ェ イ ス を ボー ド の
push button 5bits イ ン タ ーフ ェ イ ス に接続する GPIO IP 用に作成 さ れた XDC 制約を示 し ます。
Vivado Design Suite のプ ラ ッ ト フ ォーム ボー ド フ ロ ーを使用す る と 、 IP イ ン タ ーフ ェ イ ス信号を タ ーゲ ッ ト ボー ド
にすばや く 接続 し て、 ボー ド へのデザ イ ンの イ ンプ リ メ ン テーシ ョ ンにかか る 時間を短縮で き ます。
プ ロ ジ ェ ク ト の タ ーゲ ッ ト ボー ド を選択 し た場合、 Vivado プ ラ ッ ト フ ォーム ボー ド フ ロ ーをサポー ト す る IP の
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス に図 C-2 に示す よ う に [Board] タ ブが表示 さ れます。
•
プ ラ ッ ト フ ォーム ボー ド フ ロ ーの使用に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー
タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 6] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
•
ボー ド イ ン ターフ ェ イ ス フ ァ イ ルについて、 お よび独自のボー ド フ ァ イ ルの作成については、 『Vivado Design
Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 18] の こ のセ ク シ ョ ン を参照し て く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
97
japan.xilinx.com
付録 D
IP ソ ースの変更または無効化
概要
XDC フ ァ イ ルや HDL フ ァ イ ルな ど の IP が配布する 暗号化 さ れていない ソ ース フ ァ イ ルを変更 し た り 、 無効に し た
り す る 必要があ る 場合があ り ます。 こ れは、 変更が絶対に必要な場合にのみ実行 し て く だ さ い。 IP ソ ース を変更す
る と 、 IP が正 し く 機能 し な く な る 可能性があ り ます。
重要 : IP ソ ース を変更す る 必要があ る と 判断 し た場合は、 こ の付録のガ イ ド ラ イ ンに従 う 場合を除 き 、 デ ィ ス ク 上
の ソ ース を直接変更 し ないで く だ さ い。 直接変更をす る と 、 フ ロ ー中に IP が リ セ ッ ト さ れた り 再生成 さ れた り し た
と き に、 変更が削除 さ れて し ま う こ と があ り ます。
IP の RTL ソ ース を変更す る 必要があ る 場合は、 「IP ソ ース の編集」 を参照 し て く だ さ い。
IP の XDC コ マ ン ド を変更す る 場合は、 次の 2 つのオプシ ョ ンがあ り ます。
1.最上位 XDC ま たは Tcl フ ァ イ ルに必要な XDC を含め、 IP の XDC を無効化 し ます。
2.IP ソ ース を変更 し ます。
IP 制約の無効化
IP は IP と 共に配布 さ れ る 制約を使用 し て検証 さ れます。 デザ イ ンの目標を達成す る ため、 場合に よ っ ては LOC や
PACKAGE_PIN プ ロ パテ ィ な ど の物理的制約を変更す る 必要があ る こ と があ り ます。
IP の XDC は、 「IP ソ ース の編集」 で説明 さ れてい る 方法に従っ て変更で き ます。 ま たは、 最上位ユーザー XDC ま た
は Tcl フ ァ イ ルに必要な コ マ ン ド を含め る こ と に よ り 、 IP の XDC コ マ ン ド を無効にで き ます。
ビデオ : 詳細は、 QuickTake ビデオ : 制約セ ッ ト の使用を ご覧 く だ さ い。
無効化す る 制約の種類に よ っ て、 XDC フ ァ イ ルま たは Tcl フ ァ イ ルを使用で き ます。 詳細は、 『Vivado Design Suite
ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 8] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
推奨 : IP の タ イ ミ ン グ制約はで き る 限 り 変更 し ないで く だ さ い。 ただ し 、 IP を ア ウ ト オブ コ ン テ キ ス ト で合成する
ための タ ーゲ ッ ト 周波数を設定す る _ooc.xdc は例外です。
IP はデフ ォ ル ト でア ウ ト オブ コ ン テ キ ス ト で合成 さ れ る ため、 物理制約の無効化は イ ンプ リ メ ン テーシ ョ ン段階で
のみ実行 し て く だ さ い。 IP の ス タ ン ド ア ロ ンの合成では物理制約は無視 さ れ る ので、 Tcl ま たは XDC フ ァ イ ルは イ
ンプ リ メ ン テーシ ョ ンでのみ使用 さ れ る よ う に し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
98
japan.xilinx.com
付録 D : IP ソ ースの変更または無効化
IP の タ イ ミ ン グ制約を無効化す る 必要があ る 場合は、 「IP ソ ース の編集」 の手順に従っ て く だ さ い。 こ れに よ り 、
変更が IP のア ウ ト オブ コ ン テ キ ス ト 合成中お よ び最上位の イ ン プ リ メ ン テーシ ョ ン中にのみ使用 さ れ る よ う にな
り ます。
XDC コ マ ン ド は順番に処理 さ れ、 最後の コ マ ン ド が優先 さ れます。 ただ し 、 タ イ ミ ン グ制約ではその よ う にな ら な
い こ と があ り ます。 IP に フ ォ ル ス パ ス例外が設定 さ れてい る パ ス があ る 場合、 そのパ ス に max_delay 制約を後か
ら 適用 し て も 、 フ ォ ルス パ ス の方が優先度が高いので、 フ ォ ルス パ ス が適用 さ れた ま ま にな り ます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 8] の こ のセ ク シ ョ ン を参照 し て く だ さ い。 こ の レベ
ルの変更を加え る には、 IP で配布 さ れた XDC を変更する 必要があ り ます。
一部の操作お よ び コ マ ン ド は XDC では使用で き ず、 Tcl フ ァ イ ルを使用する 必要があ り ます。 た と えば、 BUFG_GT
セルの LOC プ ロ パテ ィ を変更す る 場合な ど です。 配置では、 既に使用 さ れてい る サ イ ト に イ ン ス タ ン ス を配置する
こ と はで き ません。 現在の設定を削除 し てか ら 、 新 し い LOC を設定する 必要があ り ます。 こ れには、 XDC コ マ ン ド
ではない reset_property コ マ ン ド を使用 し 、 Tcl フ ァ イ ルに配置する 必要があ り ます。 LOC プ ロ パテ ィ を リ セ ッ
ト し た ら 、 新 し い値を設定 し ます。
制約の適用範囲
IP で配布 さ れ る XDC フ ァ イ ルは、 XDC フ ァ イ ルの 2 つのプ ロ パテ ィ を使用 し て、 IP イ ン ス タ ン ス に適用範囲が限定
さ れます。
•
SCOPED_TO_REF : XDC フ ァ イ ルを適用する モジ ュ ールを指定 し ます。
•
SCOPED_TO_CELLS : XDC フ ァ イ ルを適用す る モジ ュ ールのセルを指定 し ます。
こ れ ら のプ ロ パテ ィ の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 8] を参照 し て く だ
さ い。
最上位で IP の制約を無効化す る 場合は、 次の 2 つの選択肢があ り ます。
1.
2.
階層を指定し て IP の特定のセルを指定し ます。 IP の イ ン ス タ ン スが複数あ る場合は、 次のいずれかを実行し ます。
°
ワ イ ル ド カー ド を使用 し ます。
°
各 IP に対 し て制約を複製 し ます。
IP で使用 さ れ る SCOPED_TO_REF お よ び SCOPED_TO_CELLS プ ロ パテ ィ を使用 し 、 IP が階層の最上位にあ る の
と 同様に制約を記述 し ます (推奨)。
SCOPED_TO_REF お よ び SCOPED_TO_CELLS の値を確認する には、 report_compile_order
-constraints コ マ ン ド を使用 し ます。 IP フ ァ イ ルセ ッ ト の合成ま たは イ ンプ リ メ ン テーシ ョ ンのセ ク シ ョ ン
を確認 し ます。
X-Ref Target - Figure D-1
図 -5 : 合成フ ァ イルセ ッ ト
SCOPED_TO_REF は通常 IP カ ス タ マ イ ズ名です。 SCOPED_TO_CELLS は通常、 Verilog では inst、 VHDL では U0
です。
推奨 : IP の XDC を無効にする には、 新 し い XDC ま たは Tcl フ ァ イ ルを作成 し てすべての XDC/Tcl コ マ ン ド を配置
し 、 1 に リ ス ト さ れ る も の と 一致す る よ う に SCOPED_TO_REF お よ び SCOPED_TO_CELLS プ ロ パテ ィ を設定する こ
と をお勧め し ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
99
japan.xilinx.com
付録 D : IP ソ ースの変更または無効化
完全な手順は次の と お り です。
1.
新 し い XDC ま たは Tcl フ ァ イ ルを作成 し 、 ア ク テ ィ ブ制約セ ッ ト に追加 し ます。
2.
IP の XDC に置 き 換わ る XDC ま たは Tcl コ マ ン ド を新 し い フ ァ イ ルに配置 し ます。
3.
set_property コ マ ン ド を使用 し て SCOPED_TO_REF お よ び SCOPED_TO_CELLS プ ロ パテ ィ を設定 し ます。
set_property SCOPED_TO_REF <REF> [get_files <new XDC/Tcl file>]
set_property SCOPED_TO_CELLS <CELL> [get_files <new XDC/Tcl file>]
4.
XDC/Tcl フ ァ イ ルが イ ンプ リ メ ン テーシ ョ ンのみに使用 さ れ る よ う に し ます。
set_property USED_IN IMPLEMENTATION [get_files <net XDC/Tcl file]
IP ソ ースの編集
IP を編集で き る よ う にする には、 まず次の手順を実行 し ます。
1.
IP を カ ス タ マ イ ズ し ていない場合はカ ス タ マ イ ズ し 、 DCP を含むすべての出力フ ァ イ ルを生成 し ます。
IP に対 し てデフ ォ ル ト の OOC フ ロ ーを使用 し ない場合は、 ア ウ ト オブ コ ン テ キ ス ト 設定で DCP 作成を オ フ に
し ます。
推奨 : デフ ォ ル ト フ ロ ーを使用す る こ と をお勧め し ます。
2.
出力フ ァ イ ル (該当す る 場合は DCP フ ァ イ ル も ) を生成 し た ら 、 次の Tcl コ マ ン ド を使用 し て IP の XCI フ ァ イ ル
の IS_MANAGED プ ロ パテ ィ を false に設定 し ます。
set_property IS_MANAGED false [get_files <IP_NAME>.xci]
複雑なサブシ ス テ ム IP の場合は、 次の よ う なエ ラ ー メ ッ セージが表示 さ れます。
ERROR: [IP_Flow 19-3666] The is_managed property cannot be directly modified for
hierarchical IP.
3.
こ のエ ラ ー メ ッ セージが表示 さ れた場合は、 「サブシ ス テ ム IP の編集」 を読み、 次を実行 し ます。
IS_MANAGED プ ロ パテ ィ を false に設定する と 、 IS_LOCKED プ ロ パテ ィ が TRUE にな り ます。 [Sources] ウ ィ
ン ド ウ の [IP Sources] ビ ュ ーの IP ア イ コ ンが
に変わ り 、 IP が Vivado では管理 さ れず、 ユーザー管理にな っ
た こ と が示 さ れます。
[Report IP Status] コ マ ン ド の出力 ウ ィ ン ド ウ に、 IP がユーザー管理にな り 、 暗号化 さ れていない HDL フ ァ イ ルお
よ び XDC フ ァ イ ルを変更で き る よ う にな っ た こ と が示 さ れます。
4.
必要な変更を加え ます。
5.
次の よ う に、 変更 し た フ ァ イ ルを使用 し て DCP を作成 し 直 し ます。
a.
[Design Runs] ウ ィ ン ド ウ で IP を右 ク リ ッ ク し 、 [Launch Runs] を ク リ ッ ク し ます。
選択 し た run を実行す る か ど う かを尋ねる ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
b.
[OK] を ク リ ッ ク し ます。
別のダ イ ア ロ グ ボ ッ ク ス が開 き 、 run を リ セ ッ ト する 必要があ り 、 その run のすべての フ ァ イ ルが削除 さ れ
る こ と が示 さ れます。
注記 : こ れは、 IP ソ ース フ ァ イ ルではな く 、 run 関連の フ ァ イ ル と 出力のみを意味 し ます。
run が終了 し た ら 、 IP を前の よ う に使用で き ます。
推奨 : XCI フ ァ イ ルを参照する と (推奨)、 シ ミ ュ レーシ ョ ンで IP ソ ース フ ァ イ ル、 最上位フ ァ イ ルの合成お よ び イ
ンプ リ メ ン テーシ ョ ンで DCP フ ァ イ ルにア ク セ ス で き る よ う にな り ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
100
japan.xilinx.com
付録 D : IP ソ ースの変更または無効化
サブ シ ス テム IP の編集
複雑なサブシ ス テ ム IP の中には、 IS_MANAGED プ ロ パテ ィ を変更で き ない も の も あ り ます。 こ れは、 7 シ リ ーズお
よ び UltraScale™ デバ イ ス フ ァ ミ リ の IP に該当 し ます。
サブシ ス テ ム IP の IS_MANAGED プ ロ パテ ィ を変更可能か ど う かは、 その IP のカ ス タ マ イ ズ オプシ ョ ンに よ り ます。
注意 : こ の よ う な IP の RTL フ ァ イ ルの編集には、 リ ス ク が伴い ます。 変更に よ り 、 サブ コ アへの接続が無効にな る
可能性があ り ます。 こ れ ら の IP の HDL ソ ース に変更を加え る 際は、 注意 し て く だ さ い。
1.
IP が [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス の [Synthesis Options] で [Out of context per IP] をオンに し て生
成 さ れてい る こ と を確認 し ます。 存在す る IP に対 し て既存のデザ イ ン run が必要です。
2.
編集が必要な IP の RTL フ ァ イ ルを見つけ、 必要に応 じ て変更 し ます。
次のいずれか を実行 し ます。
3.
°
[Tools] → [Options] → [General] の [Text Editor] セ ク シ ョ ンで別のエデ ィ タ ーを選択 し ます。
°
選択 し たテ キ ス ト エデ ィ タ ーを使用 し てデ ィ ス ク 上で フ ァ イ ルを直接編集 し ます。
次の手順を使用 し て IP run を リ セ ッ ト し 、 再実行 し ます。
a.
[Design Runs] ウ ィ ン ド ウ で IP を右 ク リ ッ ク し 、 [Launch Runs] を ク リ ッ ク し ます。
選択 し た run を実行す る か ど う かを尋ねる ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
b.
[Delete the generated files in the working directory] を オンに し ます。 こ れに よ り 、 run に関連 し た フ ァ イ ルお よ
び出力のみが削除 さ れます。 編集 し た フ ァ イ ルは削除 さ れません。
c.
[Design Runs] ウ ィ ン ド ウ で IP run を右 ク リ ッ ク し 、 [Launch Runs] を ク リ ッ ク し ます。 選択 し た run を実行す
る か ど う か を尋ね る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
run が終了 し た ら 、 IP を前の よ う に使用で き ます。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
101
japan.xilinx.com
付録 E
その他の リ ソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 デザ イ
ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ーテ ィ ン グの ヒ ン ト な ど が含まれます。
メ モ リ IP の詳細は、 ザ イ リ ン ク ス メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。
参考資料
ザイ リ ン ク ス ウ ェ ブサイ ト
1.
エン ド ユーザー使用許諾契約
2.
コ ア ラ イ セ ン ス契約
3.
コ ア評価 ラ イ セ ン ス契約
Vivado Design Suite の資料
こ のガ イ ド の補足情報は、 次の資料を参照 し て く だ さ い。
注記 : 日本語版のバージ ョ ンは、 英語版 よ り 古い場合があ り ます。
4.
『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118)
5.
『Vivado Design Suite チ ュ ー ト リ アル : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1119)
6.
『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
7.
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
8.
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
9.
『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912)
10. 『Vivado Design Suite チ ュ ー ト リ アル : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG936)
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
102
japan.xilinx.com
付録 E : その他の リ ソ ースおよび法的通知
11. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
12. 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949 : 英語版、 日本語版)
13. 『Vivado Design Suite ユーザー ガ イ ド : 入門』 (UG910)
14. 『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973)
15. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892)
16. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905)
17. 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
18. 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895)
19. 『Vivado Design Suite チ ュ ー ト リ アル : IP を使用 し た設計』 (UG939)
20. 『Vivado Design Suite チ ュ ー ト リ アル : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG937)
21. 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888)
22. 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894)
23. 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893)
24. 『Vivado Desig n Sutie AXI リ フ ァ レ ン ス ガ イ ド 』 (UG1037 : 英語版、 日本語版)
25. 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899)
26. 『ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911)
27. 『Vivado Design Suite チ ュ ー ト リ アル : リ ビ ジ ョ ン管理』 (UG1198)
Vivado Design Suite の資料
ザイ リ ン ク ス IP の資料
28. Vivado IP バージ ョ ン
29. IP 資料
30. IP セ ン タ ー
31. 『Integrated Logic Analyzer LogiCORE IP 製品ガ イ ド 』 (PG172)
32. 『LogiCORE IP IBERT for 7 Series GTX Transceivers 製品ガ イ ド 』 (PG132)
33. 『LogiCORE IP IBERT for 7 Series GTP Transceivers 製品ガ イ ド 』 (PG133)
34. 『LogiCORE IP IBERT for 7 Series GTH Transceivers 製品ガ イ ド 』 (PG152)
35. 『Virtual Input/Output LogiCORE IP 製品ガ イ ド 』 (PG159)
36. 『Zynq-7000 AP SoC お よ び 7 シ リ ーズ FPGA メ モ リ イ ン タ ーフ ェ イ ス ソ リ ュ ーシ ョ ン ユーザー ガ イ ド 』
(UG586 : 英語版、 日本語版)
37. 『JTAG to AXI Master LogiCORE IP 製品ガ イ ド 』 (PG174)
38. 『UltraScale アーキ テ ク チ ャ FPGA メ モ リ IP LogiCORE IP 製品ガ イ ド 』 (PG150 : 英語版、 日本語版)
Vivado QuickTake ビデオ
Vivado Design Suite QuickTake ビデオ : Vivado IP のバージ ョ ン ア ッ プグ レー ド の管理
Vivado Design Suite QuickTake ビデオ : Vivado の ラ イ セ ン スお よ びア ク テ ィ ベーシ ョ ンの概要
Vivado Design Suite ビデオ チ ュ ー ト リ アル : IP のカ ス タ マ イ ズお よ び イ ン ス タ ン シエーシ ョ ン
Vivado Design Suite QuickTake ビデオ : Vivado での AXI ペ リ フ ェ ラ ルの作成
Vivado Design Suite QuickTake ビデオ : Vivado での再利用可能な IP の コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
103
japan.xilinx.com
付録 E : その他の リ ソ ースおよび法的通知
Vivado Design Suite QuickTake ビデオ : デザ イ ン制約の概要
Vivado Design Suite QuickTake ビデオ : グ ロ ーバル タ イ ミ ン グ制約
Vivado Design Suite QuickTake ビデオ : プ ロ ジ ェ ク ト で ソ ース フ ァ イ ルを管理
Vivado Design Suite QuickTake ビデオ : UCF 制約の XDC への変換
Vivado Design Suite QuickTake ビデオ : Vivado で制約フ ァ イ ル と し て Tcl ス ク リ プ ト を使用
Vivado Design Suite QuickTake ビデオ : IP の コ ア コ ン テナーの使用
Vivado Design Suite QuickTake ビデオ : サー ド パーテ ィ 合成ツールを使用 し た場合の Vivado IP フ ロ ー
Vivado Design Suite QuickTake ビデオ : Vivado フ ロ ーテ ィ ン グ ア ク テ ィ ベーシ ョ ン ラ イ セ ン ス の生成
Vivado Design Suite QuickTake ビデオ : 制約セ ッ ト の使用
Vivado Design Suite QuickTake ビデオ : デザ イ ン チ ェ ッ ク ポ イ ン ト の使用
Vivado Design Suite QuickTake ビデオ : UltraScale メ モ リ IP の設計
Vivado Design Suite QuickTake ビデオ : Vivado IDE 入門
Vivado Design Suite QuickTake ビデオ
規格およびサー ド パーテ ィ に関する資料
39. IP-XACT (IEEE Std 1685)、 『Standard Structure for Packaging, Integrating, and Reusing IP within Tool Flows』
ト レーニ ング リ ソ ース
ザ イ リ ン ク ス では、 本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオ
を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
Vivado での FPGA 設計導入 ト レーニ ン グ コ ース
Zynq All Programmable SoC エンベデ ッ ド シ ス テ ム ソ フ ト ウ ェ ア開発 ト レーニ ン グ コ ース
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
104
japan.xilinx.com
付録 E : その他の リ ソ ースおよび法的通知
お読み く だ さ い : 重要な法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同 じ )
に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れます。 適
用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供
さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ
ら に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは
貴社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わな
い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る か を問わない) も の と し 、 当該損失ま たは損害に
は、 直接、 間接、 特別、 付随的、 結果的な損失ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の
損失、 その他あ ら ゆ る 種類の損失や損害を含みます) が含ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能で
あ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受けていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に
含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、 本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ま
せん。 事前の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一
定の製品は、 ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク
ス の販売条件を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件
に従 う こ と にな り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケー
シ ョ ンに使用す る ために、 設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を
使用す る 場合の リ ス ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク
ス の販売条件を参照 し て く だ さ い。
AMBA、 AMBA Designer、 ARM、 ARM1176JZ-S、 CoreSight、 Cortex、 お よ び PrimeCellARM は、 EU お よ びその他各国の ARM 社の
商標です。 MATLAB お よ び Simulink は、 MathWorks, Inc. の登録商標です。 PCI、 PCI Express、 PCIe、 お よ び PCI-X は、 PCI-SIG の商
標です。
© Copyright 2012-2016 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含
まれ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれ
の保有者に帰属 し ます。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
IP を使用 し た設計
UG896 (v2016.1) 2016 年 4 月 12 日
105
japan.xilinx.com