Vivado Design Suite ユーザー ガイド : システム レベル デザイン

Vivado Design Suite
ユーザー ガ イ ド
シス テム レ ベル デザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2015 年 7 月 1 日
2015.2
第 2 章 「プ ロ ジ ェ ク ト の操作」 で、 ボー ド リ ポジ ト リ を動作 さ せる のに必要なパ ラ メ ー
タ ーの構文内容を ア ッ プデー ト し 、ユーザー ボー ド フ ァ イ ルをサポー ト する のに必要な
フ ァ イ ルに関す る 詳細を追加
2015 年 5 月 26 日
2015.1
付録 A 「ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル」 で、 ボー ド リ ポジ ト リ を動作 さ せる のに
必要なパ ラ メ ー タ ーの構文内容を ア ッ プデー ト し 、ユーザー ボー ド フ ァ イ ルをサポー ト
す る のに必要な フ ァ イ ルに関す る 詳細を追加
2015 年 4 月 1 日
2015.1
第 2 章の 「Vivado Design Suite ボー ド フ ロ ーの使用」 を ア ッ プデー ト し て内容 を 追加
第 2 章の 「[Elaboration] ページ」 を追加第 3 章 「 ソ ース フ ァ イ ルの操作」 の構造を変更
し 、 50 ページの 「IP カ タ ロ グか ら の IP の追加」 お よ び54 ページの 「デザ イ ンへの IP イ
ン ス タ ン シエーシ ョ ン」に内容を追加ボー ド フ ロ ー用にユーザー定義のボー ド フ ァ イ ル
を作成す る 方法を付録 A 「ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル」 に追加新 し い 「 ト レー
ニ ン グ リ ソ ース」 セ ク シ ョ ン を付録 B 「その他の ソ ースお よ び法的通知」 に追加
シス テム レ ベル デザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
2
目次
第 1 章 : 概要
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
プ ロ ジ ェ ク ト モー ド お よ び非プ ロ ジ ェ ク ト モー ド での Vivado Design Suite の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 2 章 : プ ロ ジ ェ ク ト の操作
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
プロジェ ク ト タ イプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Vivado Design Suite ボー ド フ ロ ーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
プ ロ ジ ェ ク ト の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
プ ロ ジ ェ ク ト サマ リ の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
プ ロ ジ ェ ク ト 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
第 3 章 : ソ ース フ ァ イルの操作
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン ソ ース の作成 と 追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP イ ン テ グ レー タ ーの ソ ース の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DSP ソ ース の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ ース フ ァ イ ルの編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ミ ュ レーシ ョ ン ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
制約の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
非プ ロ ジ ェ ク ト モー ド での ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
43
50
55
61
66
70
72
80
第 4 章 : RTL デザイ ンのエ ラ ボ レーシ ョ ン
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
非プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
第 5 章 : デザイ ンのデバ ッ グ
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
RTL レベルのデザ イ ン シ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
イ ン シ ス テ ム デバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
ボー ド フ ロ ーの理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
プ リ セ ッ ト フ ァ イ ルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
その他の フ ァ イ ルお よ び特別な注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
3
付録 B : その他のソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
112
112
112
113
114
4
第 1章
概要
概要
Vivado® Design Suite では、レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) を作成す る と ビ ッ ト ス ト リ ーム ま で生成で き ます。
シ ス テ ム レベル デザ イ ン入力では、 プ ロ ジ ェ ク ト の作成、 ソ ース フ ァ イ ルの作成お よ び追加、 RTL デザ イ ンのエ ラ
ボ レ ー ト 、 デバ ッ グ情報の挿入お よ び コ ン フ ィ ギ ュ レ ーシ ョ ン な ど、 デザ イ ン の設定を行い ま す。 デザ イ ン はグ ラ
フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) であ る Vivado IDE (Integrated Design Environment) ま たは Tcl コ マ ン ド /ス ク
リ プ ト を使用 し て入力で き ます。
プ ロ ジ ェ ク ト モー ド および非プ ロ ジ ェ ク ト モー ド
での Vivado Design Suite の起動
Vivado Design Suite は、 さ ま ざ ま な方法で起動で き ます。 た と えば、 非プ ロ ジ ェ ク ト モー ド と 呼ばれ る Tcl ス ク リ プ
ト ベース の コ ンパ イ ル方法を使用 し て、 ソ ースお よ びデザ イ ン プ ロ セ ス をユーザーが自分で管理で き ます。 ま たは、
プ ロ ジ ェ ク ト モー ド と 呼ばれ る プ ロ ジ ェ ク ト ベース の方法を使用 し て、 プ ロ ジ ェ ク ト お よ びプ ロ ジ ェ ク ト ス テー タ
ス に よ り デザ イ ン プ ロ セ スお よ びデザ イ ン デー タ が自動的に管理 さ れ る よ う にす る こ と も で き ます。 ど ち ら の方法
で も Tcl ス ク リ プ ト のバ ッ チ モー ド で実行で き る ほか、 Vivado IDE で イ ン タ ラ ク テ ィ ブに実行で き ます。 異な る デザ
イ ン フ ロ ー モー ド の詳細は、 『Vivado Design Suite ユーザー ガ イ ド :デザ イ ン フ ロ ーの概要』 (UG892) [参照 1] の 「プ
ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド 」 を参照 し て く だ さ い。
Tcl の使用
Tcl を直接使用す る 場合は、 Tcl コ マ ン ド で次のいずれかの方法を使用 し てデザ イ ン を処理 し ます。
•
Vivado IDE 環境外で Vivado Design Suite Tcl シ ェ ルに Tcl コ マ ン ド を入力 し ます。
•
Vivado IDE の一番下の Tcl コ ン ソ ールに Tcl コ マ ン ド を入力 し ます。
•
Vivado Design Suite Tcl シ ェ ルか ら Tcl ス ク リ プ ト を実行 し ます。
•
Vivado IDE か ら Tcl ス ク リ プ ト を実行 し ます。
Tcl お よ び Tcl ス ク リ プ ト に関す る 情報は、『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894)
[参照 3]、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4]、 お よ び 『Vivado Design Suite ユー
ザー ガ イ ド :デザ イ ン フ ロ ーの概要』 (UG892) [参照 1] を参照 し て く だ さ い。Vivado ツールでの Tcl の使用方法の詳細
については、 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888) [参照 5] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
5
第 1 章 : 概要
Vivado Design Suite Tcl シ ェ ルの起動
Linux コ マ ン ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し て、Vivado Design Suite Tcl
シ ェ ルを起動 し ます。
vivado -mode tcl
注記 : Windows の場合、[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2015.x] → [Vivado 2015.x
Tcl Shell] を ク リ ッ ク し て も 起動で き ます。
バ ッ チ Tcl ス ク リ プ ト を使用 し た Vivado ツールの起動
Vivado ツールを起動 し た と き に Tcl ス ク リ プ ト を実行す る と 、 バ ッ チ モー ド で ツールを使用で き ます。 Linux コ マ ン
ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し ます。
vivado -mode batch -source <your_Tcl_script>
注記 : バ ッ チ モー ド の場合、 指定 し た ス ク リ プ ト が実行 さ れてか ら Vivado ツールが閉 じ ます。
Vivado IDE の使用
GUI を使用す る 場合は、 Windows ま たは Linux か ら Vivado IDE を起動 し ます。 Vivado IDE の詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] お よ び 『Vivado Design Suite ユーザー ガ イ ド :デザ イ ン
フ ロ ーの概要』 (UG892) [参照 1] を参照 し て く だ さ い。
推奨 : プ ロ ジ ェ ク ト が保存 さ れてい る デ ィ レ ク ト リ ま たは作業デ ィ レ ク ト リ か ら Vivado IDE を起動 し て く だ さ い。 こ
れに よ り 、 起動デ ィ レ ク ト リ に書 き 込まれ る プ ロ ジ ェ ク ト フ ァ イ ル、 ロ グ フ ァ イ ル、 ジ ャ ーナル フ ァ イ ルが見つけ
やす く な り ます。
Windows での Vivado IDE の起動
[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2015.x] → [Vivado 2015.x] を ク リ ッ ク し ます。
注記 : ま たは、 デス ク ト ッ プの Vivado IDE のシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。
ヒ ン ト : Windows デス ク ト ッ プにあ る Vivado IDE シ ョ ー ト カ ッ ト ア イ コ ン を右 ク リ ッ ク し 、 [Properties] を ク リ ッ ク
し て [Start In] フ ィ ール ド を ア ッ プデー ト す る こ と がで き ま す。 こ れに よ り 、 起動デ ィ レ ク ト リ に書 き 込ま れ る プ ロ
ジ ェ ク ト フ ァ イ ル、 ロ グ フ ァ イ ル、 ジ ャ ーナル フ ァ イ ルが見つけやす く な り ます。 ロ グ フ ァ イ ルお よ びジ ャ ーナル
フ ァ イ ルのデフ ォ ル ト ロ ケーシ ョ ンに関 し ては、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893)
[参照 6] の 「出力フ ァ イ ル」 を参照 し て く だ さ い。
Windows ま たは Linux の コ マ ン ド ラ イ ンか ら の Vivado IDE の起動
Linux ま たは Windows コ マ ン ド ラ イ ンか ら Vivado Design Suite を起動す る には、まずツールを イ ン ス ト ール し て、ロ ー
カル コ ン ピ ュ ー タ ーで実行す る よ う に設定す る 必要があ り ま す。 イ ン ス ト ールす る と 、 Vivado ツールが PATH に追
加 さ れます。
ツールを イ ン ス ト ール し た ら 、 コ マ ン ド プ ロ ンプ ト に次の コ マ ン ド を入力 し ます。
vivado
注記 : こ の コ マ ン ド を入力す る と 、 自動的に vivado -mode gui が実行 さ れ、 Vivado IDE が起動 さ れます。 ヘルプ
が必要な場合は、 「vivado -help」 と 入力 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
6
第 1 章 : 概要
Vivado Design Suite の Tcl シ ェ ルか らの Vivado IDE の起動
Vivado Design Suite が Tcl モー ド の イ ン タ ラ ク テ ィ ブな Tcl コ マ ン ド シ ェ ルで実行 さ れてい る 場合は、 Tcl プ ロ ンプ ト
で次の コ マ ン ド を使用 し て、 Vivado IDE を起動 し 、 Vivado ツールの GUI を開 く こ と がで き ます。
start_gui
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
7
第 2章
プ ロ ジ ェ ク ト の操作
概要
プ ロ ジ ェ ク ト モー ド で操作す る 場合は、 さ ま ざ ま なプ ロ ジ ェ ク ト タ イ プ を使用 し てデザ イ ン を入力で き ます。 本章
では、 各プ ロ ジ ェ ク ト タ イ プ と そのプ ロ ジ ェ ク ト の作成お よ び管理方法について説明 し ま す。 ま た、 プ ロ ジ ェ ク ト
サマ リ 、 プ ロ ジ ェ ク ト 設定のほか、 Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成方法について も 説明 し ます。
プロジ ェ ク ト タ イプ
Vivado® Design Suite を使用す る と 、 次のプ ロ ジ ェ ク ト タ イ プ を作成で き ます。 各プ ロ ジ ェ ク ト タ イ プの入力 ソ ース
タ イ プは異な り ます。
•
8 ページの 「RTL プ ロ ジ ェ ク ト 」
•
9 ページの 「合成後のプ ロ ジ ェ ク ト 」
•
9 ページの 「I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト 」
•
9 ページの 「 イ ン ポー ト プ ロ ジ ェ ク ト 」
注記 : プ ロ ジ ェ ク ト は、 作成後は別のプ ロ ジ ェ ク ト タ イ プに変更で き ません。 例外は I/O プ ラ ン ニ ン グプ ロ ジ ェ ク ト
のみで、 こ のプ ロ ジ ェ ク ト は RTL プ ロ ジ ェ ク ト の基礎 と し て使用す る こ と がで き ます。
RTL プ ロ ジ ェ ク ト
Vivado Design Suite を使用す る と 、 RTL の作成か ら ビ ッ ト ス ト リ ームの生成ま で、 デザ イ ン フ ロ ー全体を管理で き ま
す。 追加で き る ソ ース は、 RTL ソ ース フ ァ イ ル、 ザ イ リ ン ク ス IP カ タ ロ グか ら の IP、 Vivado IP イ ン テ グ レー タ ーで
作成 さ れたブ ロ ッ ク デザ イ ン、 デジ タ ル信号処理 (DSP) ソ ース、 階層モジ ュ ール用の EDIF ネ ッ ト リ ス ト です。 IP に
は、 Vivado ツールで生成 さ れた XCI フ ァ イ ル、 CORE Generator™ ツールで生成 さ れた レ ガシ XCO フ ァ イ ル、 お よ び
コ ンパ イ ル済みの EDIF ま たは NGC 形式の IP ネ ッ ト リ ス ト を含め る こ と がで き ま す。 RTL 情報の詳細は、 第 4 章
「RTL デザ イ ンのエ ラ ボ レーシ ョ ン」 を参照 し て く だ さ い。
注記 : ISE の IP は、 7 シ リ ーズ デバ イ ス でのみサポー ト さ れます。 ISE フ ォーマ ッ ト IP (.ngc) は UltraScale デザ イ ン
ではサポー ト さ れな く な っ てい ます。 こ う いっ た IP は、 UltraScale デザ イ ン を開始す る 前にネ イ テ ィ ブ Vivado 形式に
移行 し てお く 必要があ り ます。
RTL プ ロ ジ ェ ク ト か ら 、 RTL を エ ラ ボ レー ト し て解析 し 、 構文 と デザ イ ン コ ン ス ト ラ ク ト が正 し い こ と を確認 し た
ら 、 さ ま ざ ま な合成や イ ンプ リ メ ン テーシ ョ ン run を実行お よ び管理 し 、 デザ イ ン と run 結果を解析で き ます。 ま た、
タ イ ミ ン グ ク ロ ージ ャ ーを達成す る ため、 さ ま ざ ま な制約や イ ン プ リ メ ン テーシ ョ ン ス ト ラ テ ジ を試す こ と も で き
ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
8
第 2 章 : プ ロ ジ ェ ク ト の操作
合成後のプ ロ ジ ェ ク ト
Vivado 合成、XST ま たはサポー ト さ れ る サー ド パーテ ィ 合成ツールを使用 し て作成 さ れた合成後のネ ッ ト リ ス ト を使
用す る と 、 プ ロ ジ ェ ク ト を 作成す る こ と が で き ま す。 た と え ば、 Vivado Design Suite に は、 EDIF、 NGC、 構造型
SystemVerilog、 ま たは構造型 Verilog 形式のネ ッ ト リ ス ト 、 Vivado デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルを イ ン
ポー ト で き ます。 ネ ッ ト リ ス ト は、 1 つの フ ァ イ ルに ま と め ら れてい る か、 複数のモジ ュ ール レベルのネ ッ ト リ ス ト
か ら 構成 さ れ る 階層構造にな っ てい ます。
重要 : UltraScale デバ イ ス の場合、 NGC フ ォ ーマ ッ ト フ ァ イ ルは、 Vivado Design Suite ではサポー ト さ れ ません。 IP
は Vivado Design Suite の IP カ ス タ マ イ ズ ツールか ら の出力フ ァ イ ルを その ま ま使用 し て生成 し 直す こ と をお勧め し
ます。 ま たは、 NGC2EDIF コ マ ン ド を使用 し て NGC フ ァ イ ルを EDIF に変換 し てか ら イ ン ポー ト し て く だ さ い。 た
だ し 、XST で生成 さ れた NGC フ ァ イ ルを使用す る のではな く 、ネ イ テ ィ ブ Vivado IP を使用す る こ と をお勧め し ます。
ロ ジ ッ ク ネ ッ ト リ ス ト を解析お よ びシ ミ ュ レーシ ョ ン し 、 さ ま ざ ま な イ ンプ リ メ ン テーシ ョ ン run を実行お よ び管理
し 、 配置配線済みのデザ イ ンの結果を解析で き ます。 ま た、 さ ま ざ ま な制約や イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジ を
試す こ と も で き ます。
注記 : ISE の IP は、 7 シ リ ーズ デバ イ ス でのみサポー ト さ れます。 ISE フ ォーマ ッ ト の IP (.ngc) は UltraScale デザ イ
ンではサポー ト さ れな く な っ てい ます。 こ う いっ た IP は、 UltraScale デザ イ ン を開始す る 前にネ イ テ ィ ブ Vivado 形式
に移行 し てお く 必要があ り ます。
注記 : エンベデ ッ ド タ イ ミ ン グ制約を含む NGC ま たは EDIF フ ァ イ ルを イ ン ポー ト する と 、その制約は Vivado Design
Suite では使用 さ れません。 デザ イ ン制約は、 XDC コ マ ン ド と し て フ ォーマ ッ ト さ れ る 必要があ り ます。 ザ イ リ ン ク
ス デザ イ ン制約 (XDC) フ ァ イ ルの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] を参
照 し て く だ さ い。 ユーザー制約フ ァ イ ル (UCF) を XDC 制約に変換する 方法については、 『Vivado Design Suite : ISE か
ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8] を参照 し て く だ さ い。
I/O プ ラ ン ニ ング プ ロ ジ ェ ク ト
空の I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト を作成す る と 、 デザ イ ン サ イ ク ルの初期段階で ク ロ ッ ク リ ソ ース と I/O プ ラ ン
ニ ン グ を実行で き ます。 I/O ポー ト は Vivado IDE 内で定義で き ますが、 CSV ま たは XDC 入力フ ァ イ ルのいずれかの
形式で イ ン ポー ト す る こ と も で き ます。 空の I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト を作成 し て、 別のデバ イ ス アーキ テ ク
チ ャ で使用可能な ロ ジ ッ ク リ ソ ース を確認する こ と も で き ます。
I/O を割 り 当て た後、 Vivado IDE で CSV、 XDC、 お よ び RTL 出力フ ァ イ ルを作成で き ま す。 こ の フ ァ イ ルは、 RTL
ソ ー ス ま たはネ ッ ト リ ス ト が使用可能にな っ てか ら 、 デザ イ ン フ ロ ーの後の段階で使用 し ま す。 こ の出力フ ァ イ ル
は、 プ リ ン ト 回路基板 (PCB) デザ イ ン プ ロ セ ス で使用する 回路図シ ン ボルの作成に も 使用で き ます。
注記 : I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト は、 RTL ベース のデザ イ ン プ ロ ジ ェ ク ト の基礎 と し て使用で き ます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ ラ ン ニ ン グ』 (UG899) [参照 9] の 「RTL デザ イ ンへの変
換」 セ ク シ ョ ン を参照 し て く だ さ い。
イ ンポー ト プ ロ ジ ェ ク ト
Synopsys Synplify、 XST、 ま たは ISE® Design Suite プ ロ ジ ェ ク ト か ら の RTL プ ロ ジ ェ ク ト デー タ は、 Vivado ツールの
プ ロ ジ ェ ク ト に イ ン ポー ト で き ます。 プ ロ ジ ェ ク ト の ソ ース フ ァ イ ルお よ びコ ンパ イ ル順は イ ン ポー ト さ れますが、
イ ンプ リ メ ン テーシ ョ ン結果お よ びプ ロ ジ ェ ク ト 設定は イ ン ポー ト さ れません。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
9
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト の作成
New Project ウ ィ ザー ド では、 プ ロ ジ ェ ク ト 名お よ びデ ィ レ ク ト リ の指定、 プ ロ ジ ェ ク ト への ソ ース フ ァ イ ル と 制約
フ ァ イ ルの追加、 タ ーゲ ッ ト デバ イ ス の選択を ウ ィ ザー ド に従っ て実行で き ます。
注意 : Windows オペレーテ ィ ン グ シ ス テ ムには、 パ ス の長 さ に 260 文字の制限があ り 、 こ れが Vivado ツールに影響
す る こ と があ り ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト の作成、 IP プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク
ト の定義、 ブ ロ ッ ク デザ イ ンの作成をす る 際に、 で き る だけ短い名前 と デ ィ レ ク ト リ 名を使用す る よ う に し て く だ さ
い。
1.
Vivado IDE で [File] → [New Project] を ク リ ッ ク し ます。
注記 : ま たは、 [New Project] ツールバー ボ タ ン
a New Project] の リ ン ク を ク リ ッ ク し ます。
を ク リ ッ ク し ます。 ま たは、 Getting Started ページで [Create
2.
New Project ウ ィ ザー ド で概要を確認 し 、 [Next] を ク リ ッ ク し ます。
3.
[Project Name] ページ (図 2-1) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Project name] : プ ロ ジ ェ ク ト 名を指定 し ます (例 : project_1)。
°
[Project location] : 新 し いプ ロ ジ ェ ク ト のデ ィ レ ク ト リ を指定 し ます。
°
[Create Project Subdirectory] : プ ロ ジ ェ ク ト と 同 じ 名前の下位デ ィ レ ク ト リ を指定 し たプ ロ ジ ェ ク ト デ ィ レ ク
ト リ に追加 し ます。
注 記 : チ ェ ッ ク ボ ッ ク ス は デ フ ォ ル ト で は オ ン に な っ て お り 、 プ ロ ジ ェ ク ト フ ァ イ ル (.xpr) が
<project_location>/<project_name> に作成 さ れ ま す。 プ ロ ジ ェ ク ト で作成 さ れたすべて の フ ォ ル
ダーお よ びデー タ フ ァ イ ルは <project_name> デ ィ レ ク ト リ に保存 さ れます。 オ フ にす る と 、 プ ロ ジ ェ ク
ト フ ァ イ ル (.xpr) が <project_location> に作成 さ れ、 そのプ ロ ジ ェ ク ト で作成 さ れたすべての フ ォ ル
ダーお よ びデー タ フ ァ イ ルがそのデ ィ レ ク ト リ に保存 さ れます。
X-Ref Target - Figure 2-1
図 2‐1 : New Project ウ ィ ザー ド : [Project Name] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
10
第 2 章 : プ ロ ジ ェ ク ト の操作
4.
[Project Type] ページ (図 2-2) でプ ロ ジ ェ ク ト タ イ プ を指定 し 、プ ロ ジ ェ ク ト に関連付け る ソ ース フ ァ イ ルの タ イ
プ を決め ます。
X-Ref Target - Figure 2-2
図 2‐2 : New Project ウ ィ ザー ド : [Project Type] ページ
5.
作成す る プ ロ ジ ェ ク ト タ イ プに応 じ て、次のセ ク シ ョ ンのいずれかの説明を参照 し て く だ さ い。 ウ ィ ザー ド の残
り のページで、 プ ロ ジ ェ ク ト に最適な ソ ース を追加 し てい き ます。
°
「RTL プ ロ ジ ェ ク ト の作成」
°
「合成後プ ロ ジ ェ ク ト の作成」
°
「I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト の作成」
°
「外部プ ロ ジ ェ ク ト の イ ン ポー ト 」
°
「プ ロ ジ ェ ク ト を作成す る Tcl コ マ ン ド 」
RTL プ ロ ジ ェ ク ト の作成
RTL ソ ー ス フ ァ イ ル を指定 し てプ ロ ジ ェ ク ト を作成す る と 、 RTL ソ ー ス フ ァ イ ルを合成お よ び イ ン プ リ メ ン テー
シ ョ ンだけでな く 、 RTL コ ー ド 開発お よ び解析で も 使用で き ます。 RTL の開発お よ び解析の詳細は、 第 4 章 「RTL デ
ザ イ ンのエ ラ ボ レーシ ョ ン」 を参照 し て く だ さ い。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [RTL Project] を オンに し て、 [Next] を ク リ ッ ク し ます。
注記 : 必要であれば、 [Do not specify sources at this time] を オンに し ます。 こ れを オンにす る と 、 デザ イ ン ソ ース
を追加す る 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
3.
[Add Sources] ページ (図 2-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
11
第 2 章 : プ ロ ジ ェ ク ト の操作
°
[Add Files] : プ ロ ジ ェ ク ト に追加する フ ァ イ ルを選択する ための フ ァ イ ル ブ ラ ウ ザーが表示 さ れます。 RTL
プ ロ ジ ェ ク ト には、 Verilog、 VHDL、 SystemVerilog、 EDIF、 NGC、 BMM、 ELF お よ びその他の フ ァ イ ル タ
イ プ を追加で き ます。
注記 : [Add Source Files] ダ イ ア ロ グ ボ ッ ク ス では、 各フ ァ イ ルま たはデ ィ レ ク ト リ がそれ と わか る よ う なア
イ コ ンで表示 さ れます。 小 さ い赤い四角は、 読み出 し 専用であ る こ と を示 し ます。
°
°
[Add Directories] : 選択 し たデ ィ レ ク ト リ に含まれ る すべての フ ァ イ ルを追加 し ます。 指定 し たデ ィ レ ク ト リ
にあ る 有効な ソ ース フ ァ イ ルがすべてプ ロ ジ ェ ク ト に追加 さ れます。
[Create File] : VHDL、 Verilog、 Verilog ヘ ッ ダー、 ま たは SystemVerilog フ ァ イ ルを作成す る [Create Source File]
ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 [Create Source File] ダ イ ア ロ グ ボ ッ ク ス で次の よ う にオプシ ョ ン を設定 し
ます。
-
[File type] :Verilog フ ァ イ ル (.v)、 Verilog ヘ ッ ダー フ ァ イ ル (.vh)、 SystemVerilog フ ァ イ ル (.sv)、 VHDL
フ ァ イ ル (.vhdl) な ど のフ ァ イ ル形式のいずれか を指定 し ます。
-
[File name] : 新 し い HDL ソ ース フ ァ イ ルの名前を指定 し ます。
-
[File location] : フ ァ イ ルを作成する デ ィ レ ク ト リ を指定 し ます。
注記 : フ ァ イ ルのプ レー ス ホルダーが ソ ース の リ ス ト に追加 さ れ ます。 フ ァ イ ルは [Finish] を ク リ ッ ク す る
と 作成 さ れます。
°
[Library] : フ ァ イ ルま たはデ ィ レ ク ト リ の RTL ラ イ ブ ラ リ を指定 し ます。 ラ イ ブ ラ リ 名は選択す る か、
[Library] テ キ ス ト フ ィ ール ド に新 し い ラ イ ブ ラ リ 名を入力 し て指定 し ます。
注記 : こ の オ プ シ ョ ン は、 VHDL フ ァ イ ル の 場合 の み使用 で き ま す。 デ フ ォ ル ト で は、 HDL ソ ー ス が
xil_defaultlib ラ イ ブ ラ リ に追加 さ れます。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し 、 参照
で き ます。 Verilog お よ び SystemVerilog フ ァ イ ルの場合は、 ラ イ ブ ラ リ を xil_defaultlib に設定 さ れた
ま ま に し てお き ます。
°
[HDL Source for] : 読み込む ソ ース が合成お よ びシ ミ ュ レーシ ョ ン用の RTL ソ ース フ ァ イ ルであ る か、 シ
ミ ュ レーシ ョ ンのみで使用す る RTL テ ス ト ベンチであ る か を指定 し ます。
°
[Delete] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Move Selected File Up] : フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト の上方向に移動 し ます。 フ ァ イ ル順は、 合成
やシ ミ ュ レ ーシ ョ ン な ど のダ ウ ン ス ト リ ーム プ ロ セ ス でのエ ラ ボ レーシ ョ ンお よ び コ ンパ イ ルの順序に影
響 し ます。
°
[Move Selected File Down] : フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト の下方向に移動 し ます。
°
[Scan and Add RTL Include Files into Project] : すべての RTL フ ァ イ ルを ス キ ャ ン し 、 参照 さ れた Verilog の
'include フ ァ イ ルをプ ロ ジ ェ ク ト 構造に イ ン ポー ト し ます。
°
°
°
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、追加 さ れた ソ ース フ ァ イ ル と イ ン ク ルー ド
フ ァ イ ルを コ ピー し て ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に追加 し ます。 [Add Directories] ボ タ ン を ク リ ッ
ク し て ソ ース フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場合は、フ ァ イ ルが ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ
る 際にデ ィ レ ク ト リ 構造 も その ま ま 保持 さ れ ま す。 詳細は、 第 3 章の 「 リ モー ト ソ ース の参照ま たはプ ロ
ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ のサブデ ィ レ ク ト リ に含まれ る
ソ ース フ ァ イ ルをすべて追加 し ます。
[Target Language] : Verilog ま たは VHDL のいずれかにデザ イ ンの タ ーゲ ッ ト 言語を指定 し ます。 新 し い RTF
フ ァ イ ルはデフ ォ ル ト で指定 し た タ ーゲ ッ ト 言語にな り ま す。 指定 し た タ ーゲ ッ ト 言語でデザ イ ン の出力
フ ァ イ ルが生成 さ れます。
[Simulator language] : シ ミ ュ レーシ ョ ン用に生成する 出力フ ァ イ ルの言語 と サー ド パーテ ィ ス ク リ プ ト に使
用す る フ ァ イ ル タ イ プ を指定 し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レー
シ ョ ン』 (UG900) [参照 10] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
12
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-3
図 2‐3 : New Project ウ ィ ザー ド : [Add Sources] ページ
4.
オプシ ョ ン : [Add Configurable IP] ページ (図 2-4) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Add Files] : Vivado Design Suite の Xilinx Core Instance (XCI) フ ァ イ ルま たは CORE Generator コ ア (XCO) フ ァ
イ ルのいずれか を選択す る フ ァ イ ル ブ ラ ウ ザーが開 き ます。 Vivado IP イ ン テ グ レー タ ー機能ま たは DSP サ
ブデザ イ ン用の Mathworks Simulink プ ロ ジ ェ ク ト フ ァ イ ル (SLX ま たは MDL) か ら ブ ロ ッ ク デザ イ ン (BD)
フ ァ イ ルを追加で き ます。
XCI フ ァ イ ルは、 IP の作成に使用 さ れ る プ ロ ジ ェ ク ト オプシ ョ ン、 カ ス タ マ イ ズ パ ラ メ ー タ ー、 ポー ト パ
ラ メ ー タ ーな ど の値を記録す る IP-XACT コ ン ポーネ ン ト イ ン ス タ ン ス の XML フ ァ イ ルです。
注記 : Vivado IP カ タ ロ グ を使用 し て XCI IP を追加する と 、Vivado IDE は自動的に HDL ソ ース な ど の生成 さ
れた タ ーゲ ッ ト をすべてプ ロ ジ ェ ク ト に イ ン ポー ト し ま す。 合成を実行す る と 、 その IP と 最上位デザ イ ン
が一緒に合成 さ れます。
°
[Add Directories] : フ ァ イ ル ブ ラ ウ ザーが開 き 、Vivado Design Suite の XCI フ ァ イ ル、XCO フ ァ イ ル、BD フ ァ
イ ルま たは MDL/SLX を含むデ ィ レ ク ト リ を選択で き ます。 デ ィ レ ク ト リ を選択す る と 、 そのデ ィ レ ク ト リ
お よ び下位デ ィ レ ク ト リ に含まれ る すべての XCI お よ び XCO フ ァ イ ルが IP リ ス ト に追加 さ れます。
°
[Remove Selected Files and Directories] : X ボ タ ンで表示 さ れ、 選択 し た フ ァ イ ルお よ びデ ィ レ ク ト リ を削除 し
ます。
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
注記 : HDL ソ ース と し てだけでな く 、 サー ド パーテ ィ か ら 合成済み NGC ま たは EDIF ネ ッ ト リ ス ト と し て提供
さ れてい る IP も あ り ます。 ネ ッ ト リ ス ト ベース の IP ソ ース を読み込むには、 図 2-3 の [Add Sources] ダ イ ア ロ グ
ボ ッ ク ス に こ れ ら の フ ァ イ ルを追加 し ます。 ま た、 第 3 章の 「IP ソ ース の操作」 に示す よ う に、 IP カ タ ロ グ を使
用す る と Vivado IDE 内のプ ロ ジ ェ ク ト にパ ラ メ ー タ ー指定可能な コ ア を読み込む こ と も で き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
13
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-4
図 2‐4 : New Project ウ ィ ザー ド : [Add Existing IP] ページ
5.
オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加する Synopsys デザ イ ン制約 (SDC) ま た XDC フ ァ イ ルを指定す る ための
フ ァ イ ル ブ ラ ウ ザーが開 き ます。
°
[Create File] : 新 し い最上位の XDC フ ァ イ ルが作成 さ れます。
°
[Remove] : 制約 リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れます。
°
[Up]/[Down] : 制約フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 コ マ ン ド は リ ス ト さ れ る 順序に依存 し 、 制約
の最後の コ マ ン ド がそれ よ り 前の コ マ ン ド の結果を上書 き し ます。
°
[Copy Constraints into Project] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
注記 : プ ロ ジ ェ ク ト に関連付け ら れた RTL ま たはネ ッ ト リ ス ト ソ ース フ ァ イ ル と 同 じ デ ィ レ ク ト リ の SDC ま た
は XDC フ ァ イ ルは、 プ ロ ジ ェ ク ト に追加 さ れ る 制約フ ァ イ ル と し て自動的に表示 さ れ ます。 こ れ ら の フ ァ イ ル
は必要に応 じ て削除で き ます。
X-Ref Target - Figure 2-5
図 2‐5 : New Project ウ ィ ザー ド : [Add Constraints] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
14
第 2 章 : プ ロ ジ ェ ク ト の操作
6.
[Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォーム (TDP) ボー ド
を選択 し 、 [Next] を ク リ ッ ク し ます。
°
[Parts] : 使用可能なデバ イ ス が リ ス ト さ れます。 I/O ピ ンのカ ウ ン ト やル ッ ク ア ッ プ テーブル (LUT) お よ び
フ リ ッ プ フ ロ ッ プ (FF) の数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ース に関す る 情報が表形式で
表示 さ れます。 こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 お よ び
温度な ど の フ ィ ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ま す。 [Search] フ ィ ール ド を使用 し て、
特定のデバ イ ス を検出す る こ と も で き ます。
注記 : Vivado Design Suite の イ ン ス ト ール プ ロ セ ス では、 Vivado ツールで必要 と さ れ る デ ィ ス ク 空間を削減
す る ため、 イ ン ス ト ールする ザ イ リ ン ク ス デバ イ ス を選択で き ます。 現在シ ス テ ムに イ ン ス ト ール さ れない
パーツ を タ ーゲ ッ ト にす る 必要があ る 場合は、 ツールを終了 し て該当す る 追加パーツ を イ ン ス ト ールす る 必
要があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ
セ ン ス』 (UG973) [参照 2] の 「その他のツールお よ びデバ イ ス の追加」 を参照 し て く だ さ い。
°
[Boards] : 使用可能な開発ボー ド 、 TDP ボー ド 、 ボー ド で使用 さ れ る ザ イ リ ン ク ス パーツ な ど が リ ス ト さ れ
ます。デバ イ ス リ ソ ース に関す る 情報が [Parts] と 同様の表形式で表示 さ れます。 リ ス ト は、[Vendor]、[Display
Name]、 [Board Rev] で フ ィ ル タ ーを かけて表示 さ せ る こ と も で き ます。 [Search] フ ィ ール ド を使用 し て、 特
定のボー ド タ イ プ を検出す る こ と も で き ます。
推奨 : Vivado Design Suite ボー ド フ ロ ーをサポー ト す る ボー ド を選択す る と 、 Vivado IP カ タ ロ グお よ び Vivado IP イ
ン テ グ レー タ ーの自動化 さ れた機能を利用で き ます。 た と えば、 選択 し たボー ド で使用可能な イ ン タ ーフ ェ イ ス をサ
ポー ト す る IP の I/O 制約を自動的に作成 さ せ る こ と がで き ます。 詳細は、 24 ページの 「Vivado Design Suite ボー ド フ
ロ ーの使用」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
15
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-6
図 2‐6 : New Project ウ ィ ザー ド : [Default Part] ページ
7.
[New Project Summary] ページでプ ロ ジ ェ ク ト に選択 さ れたオプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
[Finish] を ク リ ッ ク す る と 、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造が作成 さ れ、 プ ロ ジ ェ ク ト に対 し て ロ ーカルに設定
さ れてい る フ ァ イ ルがすべて コ ピー さ れ、 プ ロ ジ ェ ク ト フ ァ イ ルが書き 出 さ れます。 作成す る 必要のあ る デザ イ
ン ソ ース はすべて次の手順で定義 し て、 デ ィ ス ク に書き 込まれ る よ う にする 必要があ り ます。
8.
オプシ ョ ン : 手順 3 で [Create File] オプシ ョ ン を使用す る と 、 新 し い HDL モジ ュ ールを作成する ための [Define
Module] ダ イ ア ロ グ ボ ッ ク ス (図 2-7) が開 き ま す。 こ の ダ イ ア ロ グ ボ ッ ク ス で次の オ プ シ ョ ン を 使用 し て
Verilog、 Verilog ヘ ッ ダー、 SystemVerilog、 ま たは VHDL でモジ ュ ールま たはアーキ テ ク チ ャ を定義 し た ら 、 [OK]
を ク リ ッ ク し ます。
°
[Entity name/Module name] : VHDL コ ー ド のエン テ ィ テ ィ ま たは Verilog ま たは SystemVerilog コ ー ド のモ
ジ ュ ール名の名前を指定 し ます。
注記 : エン テ ィ テ ィ ま たはモジ ュ ール名はデフ ォ ル ト でその フ ァ イ ル名にな り ますが、 別の名前を付け る こ
と も で き ます。
°
[Architecture name] : RTL ソ ース フ ァ イ ルのアーキテ ク チ ャ を指定 し ます。デフ ォ ル ト では [Behavioral] です。
注記 : こ のオプシ ョ ンは、 VHDL コ ー ド の場合にのみ表示 さ れ、 Verilog ま たは SystemVerilog モジ ュ ールを
定義す る 場合には表示 さ れません。
°
[I/O Port Definitions] : モジ ュ ール定義に追加す る ポー ト を定義 し ます。
-
[Port Name] : RTL コ ー ド に記述 さ れ る ポー ト の名前を定義 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
16
第 2 章 : プ ロ ジ ェ ク ト の操作
-
[Direction] : ポー ト を入力、 出力、 双方向のいずれかに指定 し ます。
-
[Bus] : ポー ト がバス ポー ト か ど う かを指定 し ます。 次の [MSB] お よ び [LSB] オプシ ョ ン を使用 し て
ポー ト のバ ス幅を定義 し ます。
-
[MSB] : 最上位ビ ッ ト (MSB) の数を定義 し ます。 [LSB] フ ィ ール ド と 組み合わせて、 定義 さ れ る バ ス の
幅を指定 し ます。
-
[LSB] : 最下位ビ ッ ト (LSB) の数を定義 し ます。
注記 : ポー ト がバス ポー ト でない場合は、 MSB お よ び LSB は無視 さ れます。
X-Ref Target - Figure 2-7
図 2‐7 : [Define Module] ダ イ ア ログ ボ ッ ク ス
RTL ソ ース フ ァ イ ルが作成 さ れ、プ ロ ジ ェ ク ト に追加 さ れます。[Sources] ウ ィ ン ド ウ に新 し く 定義 し たモジ ュ ー
ルが リ ス ト さ れます。 こ れ ら の新 し い ソ ース フ ァ イ ルでは、 Verilog モジ ュ ールま たは VHDL エン テ ィ テ ィ が定
義 さ れますが、 フ ァ イ ルを編集 し て こ れ ら のブ ロ ッ ク の ロ ジ ッ ク ま たはアーキテ ク チ ャ を定義す る 必要があ り ま
す。 Vivado IDE テ キ ス ト エデ ィ タ ーで新 し い ソ ース フ ァ イ ルを編集す る には、 フ ァ イ ルを ダブル ク リ ッ ク す る
か、 右 ク リ ッ ク で [Open File] を ク リ ッ ク し ま す。 新規作成 し た フ ァ イ ルの編集方法につい ては、 66 ページ の
「 ソ ース フ ァ イ ルの編集」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
17
第 2 章 : プ ロ ジ ェ ク ト の操作
合成後プ ロ ジ ェ ク ト の作成
合成後プ ロ ジ ェ ク ト は、 合成済みネ ッ ト リ ス ト お よ びその制約を使用 し て開始 し ます。 こ の後、 デザ イ ン を解析、 フ
ロ アプ ラ ン、 イ ンプ リ メ ン ト で き ます。
注記 : 合成済みネ ッ ト リ ス ト を作成す る には、 XST ま たはサー ド パーテ ィ の合成ツールを使用で き ます。
重要 : EDIF お よ び NGC フ ァ イ ルを使用する 場合、 最上位セルの名前が フ ァ イ ル名 と 同 じ であ る 必要があ り ます。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [Post-Synthesis Project] を オンに し て、 [Next] を ク リ ッ ク し ます。
注記 : 必要であれば、 [Do not specify sources at this time] を オンに し ます。 こ れを オンにす る と 、 デザ イ ン ソ ース
を追加す る 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
3.
[Add Netlist Sources] ページ (図 2-8) で次のオプシ ョ ン を使用 し て、 読み込むネ ッ ト リ ス ト フ ァ イ ルを指定 し 、 最
上位モジ ュ ールを含むフ ァ イ ルを識別 し 、下位レベル モジ ュ ールのネ ッ ト リ ス ト を検索す る ためのデ ィ レ ク ト リ
を定義 し た ら 、 [Next] を ク リ ッ ク し ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加す る ネ ッ ト リ ス ト フ ァ イ ル (構造 Verilog、SystemVerilog、EDIF ま たは NGC)
ま たはデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルを選択 し ます。
注記 : フ ァ イ ルに最上位ネ ッ ト リ ス ト が含まれ る 場合は [Top] を オンに し ます。
°
[Add Directories] : デ ィ レ ク ト リ ブ ラ ウ ザーが起動 さ れ、 モジ ュ ールを検索す る デ ィ レ ク ト リ を選択で き ま
す。 指定 し たデ ィ レ ク ト リ にあ る 有効な ソ ース フ ァ イ ルがすべてプ ロ ジ ェ ク ト に追加 さ れます。
°
[Remove Selected Files and Directories] : X ボ タ ンで表示 さ れ、 選択 し た フ ァ イ ルお よ びデ ィ レ ク ト リ を削除 し
ます。
°
[Move Selected Files and Directories Up] : 上向 き 矢印のア イ コ ンは、 フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト の
上方向に移動 し ます。
°
[Move Selected Files and Directories Down] : 下向 き 矢印のア イ コ ンは、 フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト
の下方向に移動 し ます。
°
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。 [Add Directories] ボ タ ン を ク リ ッ ク し て ソ ース フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場
合は、 フ ァ イ ルが ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る 際にデ ィ レ ク ト リ 構造 も その ま ま保持 さ れ ます。
詳細は、 第 3 章の 「 リ モー ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照
し て く だ さ い。
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ の下位デ ィ レ ク ト リ に含まれ る
ネ ッ ト リ ス ト フ ァ イ ルを検索 し て追加 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
18
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-8
図 2‐8 : New Project ウ ィ ザー ド : [Add Netlist Sources] ページ
4.
オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加す る SDC ま た XDC フ ァ イ ルを指定す る ための フ ァ イ ル ブ ラ ウ ザーが開 き
ます。
°
[Create File] : 新 し い最上位の XDC フ ァ イ ルが作成 さ れます。
°
[Remove] : 制約 リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れます。
°
[Up]/[Down] : 制約フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 コ マ ン ド は リ ス ト さ れ る 順序に依存 し 、 制約
の最後の コ マ ン ド がそれ よ り 前の コ マ ン ド の結果を上書 き し ます。
°
[Copy Constraints into Project] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
注記 : プ ロ ジ ェ ク ト に関連付け ら れた RTL ま たはネ ッ ト リ ス ト ソ ース フ ァ イ ル と 同 じ デ ィ レ ク ト リ の SDC ま た
は XDC フ ァ イ ルは、 プ ロ ジ ェ ク ト に追加 さ れ る 制約フ ァ イ ル と し て自動的に表示 さ れます。
5.
[Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォーム (TDP) ボー ド
を選択 し 、 [Next] を ク リ ッ ク し ます。
°
°
6.
[Parts] : 使用可能なデバ イ ス が リ ス ト さ れます。 デバ イ ス リ ソ ース に関する 情報が、 表形式で表示 さ れます。
こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 お よ び温度な ど の フ ィ
ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ます。 [Search] フ ィ ール ド を使用 し て、 特定のデバ イ ス
を検出す る こ と も で き ます。
[Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツが リ ス ト さ れます。 I/O
ピ ン のカ ウ ン ト や LUT お よ びフ リ ッ プ フ ロ ッ プの数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ー ス
に関す る 情報が表形式で表示 さ れます。 リ ス ト は、 [Vendor]、 [Display Name]、 [Board Rev] で フ ィ ル タ ーをか
けて表示 さ せ る こ と も で き ます。 [Search] フ ィ ール ド を使用 し て、 特定のボー ド タ イ プ を検出す る こ と も で
き ます。
[New Project Summary] ページでプ ロ ジ ェ ク ト に選択 さ れたオプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
I/O プ ラ ン ニ ング プ ロ ジ ェ ク ト の作成
I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト は、 シ ス テ ム レベル デザ イ ンのデバ イ ス ピ ン配置を指定す る ために使用 し ます。 こ
の タ イ プのプ ロ ジ ェ ク ト は、 HDL ま たは合成済みネ ッ ト リ ス ト を完了す る 前に作成で き ま す。 た と えば、 シ ス テ ム
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
19
第 2 章 : プ ロ ジ ェ ク ト の操作
レベル ま たは PCB 設計者 と デザ イ ン情報を共有す る 目的な ど に使用で き ます。 I/O プ ラ ン ニ ン グの詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ ラ ン ニ ン グ』 (UG899) [参照 9] を参照 し て く だ さ い。
注記 : MIG IP の I/O プ ラ ン ニ ン グの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ ラ ン ニ ン
グ』 (UG899) [参照 9] を参照 し て く だ さ い。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [I/O Planning Project] をオンに し て、 [Next] を ク リ ッ ク し ます。
3.
オプシ ョ ン : [Import Ports] ダ イ ア ロ グ ボ ッ ク ス (図 2-9) で次のオプシ ョ ン を指定 し 、 I/O ポー ト 定義お よ び制約
を イ ン ポー ト す る ための フ ァ イ ルを選択 し た ら 、 [Next] を ク リ ッ ク し ます。
°
[Import CSV] : I/O 定義を含む CSV フ ァ イ ルを選択 し ます。 シ ミ ュ レーシ ョ ンの詳細については、 『Vivado
Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ ラ ン ニ ン グ』 (UG899) [参照 9] を参照 し て く だ さ い。
°
[Import XDC] : I/O ポー ト 関連の制約のみを含む XDC フ ァ イ ルを選択 し ます。
°
[Do not import I/O ports at this time] : 空のプ ロ ジ ェ ク ト を作成 し ます。I/O は後ほ ど作成ま たは イ ン ポー ト で き
ます。
注記 : RTL ヘ ッ ダー ま たは ソ ー ス フ ァ イ ル を使用 し てデザ イ ン の I/O ピ ン プ ラ ン ニ ン グ を実行す る には、
RTL プ ロ ジ ェ ク ト を使用 し ます。
X-Ref Target - Figure 2-9
図 2‐9 : New Project ウ ィ ザー ド : [Import Ports] ページ
4.
[Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォーム (TDP) ボー ド
を選択 し 、 [Next] を ク リ ッ ク し ます。
°
°
5.
[Parts] : 使用可能なデバ イ ス が リ ス ト さ れます。 デバ イ ス リ ソ ース に関する 情報が、 表形式で表示 さ れます。
こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 お よ び温度な ど の フ ィ
ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ます。 [Search] フ ィ ール ド を使用 し て、 特定のデバ イ ス
を検出す る こ と も で き ます。
[Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツが リ ス ト さ れます。 I/O
ピ ン のカ ウ ン ト や LUT お よ びフ リ ッ プ フ ロ ッ プの数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ー ス
に関す る 情報が表形式で表示 さ れます。 リ ス ト は、 [Vendor]、 [Display Name]、 [Board Rev] で フ ィ ル タ ーをか
けて表示 さ せ る こ と も で き ます。 [Search] フ ィ ール ド を使用 し て、 特定のボー ド タ イ プ を検出す る こ と も で
き ます。
[New Project Summary] ページでプ ロ ジ ェ ク ト を定義する ために選択 し たオプシ ョ ン を確認 し た ら 、 [Finish] を ク
リ ッ ク し ます。
外部プ ロ ジ ェ ク ト のイ ンポー ト
Vivado IDE 以外 (例 : Synopsys の Synplify、 XST、 ま たは ISE Design Suite の Project Navigator) で作成 し た既存の RTL
レベルのプ ロ ジ ェ ク ト フ ァ イ ルを イ ン ポー ト で き ます。 Vivado IDE では、 指定 し たプ ロ ジ ェ ク ト の ソ ース フ ァ イ ル
が検出 さ れ、 新規プ ロ ジ ェ ク ト へ自動的に追加 さ れます。 最上位モジ ュ ール、 タ ーゲ ッ ト デバ イ ス、 VHDL ラ イ ブ ラ
リ な ど の設定 も 既存プ ロ ジ ェ ク ト か ら イ ン ポー ト さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
20
第 2 章 : プ ロ ジ ェ ク ト の操作
注記 : XST ま たは ISE Design Suite プ ロ ジ ェ ク ト の イ ン ポー ト 方法については、 『Vivado Design Suite : ISE か ら Vivado
Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8] を参照 し て く だ さ い。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [Imported Project] を オンに し て、 [Next] を ク リ ッ ク し ます。
3.
[Import Project] ページ (図 2-10) で次のオプシ ョ ン を使用 し て、 イ ン ポー ト す る プ ロ ジ ェ ク ト フ ァ イ ルを指定 し た
ら 、 [Next] を ク リ ッ ク し ます。
°
[ISE] : 指定 し たザ イ リ ン ク ス ISE Design Suite プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は.xise) を イ ン ポー ト し ます。
°
[Synplify] : 指定 し た Synplify プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .prj を イ ン ポー ト し ます。
°
[XST] : 指定 し た XST プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .xst) を イ ン ポー ト し ます。
°
[Copy Sources into Project] :元の フ ァ イ ルを参照する のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
X-Ref Target - Figure 2-10
図 2‐10 : New Project ウ ィ ザー ド : [Import Project] ページ
4.
[New Project Summary] ページでプ ロ ジ ェ ク ト を定義す る オプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
注記 : プ ロ ジ ェ ク ト の タ ーゲ ッ ト パーツは、 イ ン ポー ト し たプ ロ ジ ェ ク ト のプ ロ ジ ェ ク ト 設定で定義 さ れます。
指定 し たプ ロ ジ ェ ク ト か ら RTL ソ ース フ ァ イ ル、 制約フ ァ イ ルが イ ン ポー ト さ れ、 指定 し たデ ィ レ ク ト リ にプ
ロ ジ ェ ク ト フ ァ イ ルが作成 さ れます。イ ン ポー ト プ ロ セ ス のサマ リ が イ ン ポー ト サマ リ レ ポー ト の ロ グ フ ァ イ
ルに記述 さ れ、 新規プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れます。 こ のサマ リ フ ァ イ ルでは、 プ ロ ジ ェ ク ト を作
成す る 際に使用 さ れた手順お よ びエ ラ ーや警告 メ ッ セージ を確認で き ます。
エ ンベデ ッ ド 評価ボー ド デザイ ン例の コ ン フ ィ ギ ュ レーシ ョ ン
次は、 エンベデ ッ ド 評価ボー ド デザ イ ン例を コ ン フ ィ ギ ュ レーシ ョ ンす る 方法を示 し てい ます。
1.
エンベデ ッ ド 評価ボー ド デザ イ ン例を コ ン フ ィ ギ ュ レーシ ョ ンする には、
2.
プ ロ ジ ェ ク ト 例を開 き ます。
プ ロ ジ ェ ク ト を作成する Tcl コ マ ン ド
次の Tcl コ マ ン ド は、 プ ロ ジ ェ ク ト の作成に使用で き ます。 ス ク リ プ ト 例については、 「Tcl ス ク リ プ ト を使用 し たプ
ロ ジ ェ ク ト の作成」 を参照 し て く だ さ い。
注記 : Tcl コ マ ン ド の詳細については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参
照す る か、 <command> -help を入力 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
21
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト を作成する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : create_project お よ び set_property
•
Tcl コ マ ン ド の例 (RTL プ ロ ジ ェ ク ト ) : create_project my_project C:/team/designs/my_project
-part xc7k325tffg676-2 set_property DESIGN_MODE RTL [current_fileset]
•
Tcl コ マ ン ド の例 (合成後プ ロ ジ ェ ク ト ) :
create_project my_IO_project C:/team/designs/my_IO_project -part xc7k325tffg676-2
set_property design_mode GateLvl [current_fileset]
•
Tcl コ マ ン ド の例 (I/O プ ラ ン ニ ン グ プ ロ ジ ェ ク ト ) :
create_file project_io C:/projects/project_io -part xc7vx485tffg1157-1
set_property design_mode PinPlanning [current_fileset]
プ ロ ジ ェ ク ト を イ ンポー ト する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : create_project お よ び import_xise set_property DESIGN_MODE RTL
[current_fileset]
•
Tcl コ マ ン ド の例 :
create_project project_import_ise C:/projects/project_import_ise
import_xise C:/projects/old/wave_gen_vhd_s6/wave_gen_vhd_s6.xise -copy_sources
デザイ ン ソ ース、 制約 フ ァ イル、 シ ミ ュ レーシ ョ ン ソ ース を追加する Tcl コ マ
ンド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : add_files ま たは import_files
•
Tcl コ マ ン ド の例 :
add_files top.v
import_files -fileset constrs_1 C:/projects/sources/timing.xdc
add_files -norecurse source_dir
import_files source_dir
注記 : add_files コ マ ン ド で、 現在のデ ィ レ ク ト リ か ら 追加する フ ァ イ ルを参照 し 、 import_files コ マ ン ド でプ
ロ ジ ェ ク ト に フ ァ イ ルを コ ピー し ます。
注意 : Tcl コ マ ン ド の read_xdc、 read_vhdl、 read_verilog、 read_ip、 お よ び read_edif は非プ ロ ジ ェ ク ト モー ド にのみ使
用で き ます。 詳細は、 第 3 章の 「非プ ロ ジ ェ ク ト モー ド での ソ ース の操作」 を参照 し て く だ さ い。
ヒ ン ト : PATH_MODE プ ロ パテ ィ は add_files Tcl コ マ ン ド と 一緒に使用 し 、 絶対パ ス を使用す る のか相対パ ス を使
用す る のか を指定 し ま す。 デフ ォ ル ト では、 相対パ ス が使用 さ れ ます。 詳細は、 『Vivado Design Suite プ ロ パテ ィ リ
フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 14] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
22
第 2 章 : プ ロ ジ ェ ク ト の操作
既存の IP ソ ース フ ァ イルを追加する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : add_files ま たは import_ip
•
Tcl コ マ ン ド の例 : import_ip C:/projects/sources/char_fifo/char_fifo.xci
注記 : add_files コ マ ン ド で、 現在のデ ィ レ ク ト リ か ら XCI フ ァ イ ルお よ び関連す る 出力 フ ァ イ ル を 参照 し 、
import_ip コ マ ン ド で、 プ ロ ジ ェ ク ト にその XCI フ ァ イ ルお よ び関連する 出力フ ァ イ ルを コ ピー し ます。
プ ロ ジ ェ ク ト パーツ を設定する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : create_project ま たは set_property
•
Tcl コ マ ン ド の例 :
create_project my_project C:/projects/my_project -part xc7k325tffg676-2
set_property PART xc7k70tfbg676-2 [current_project]
注記 : パーツは、 プ ロ ジ ェ ク ト の作成時 も し く は作成後に設定で き ます。
温度グ レー ド
XC デバ イ ス の I、 E 温度グ レー ド の選択は、 C 温度グ レー ド デバ イ ス を選択 し た場合 と 同 じ にな り ます。 方法は ISE
の Project Navigator と 類似 し てい ますが、 Project Navigator の場合は温度グ レー ド の選択肢があ り ません。 こ のため、
Project Navigator の場合は、 XC デバ イ ス を選択す る と 、 I、 E お よ び C 温度グ レー ド すべてがそれが存在す る 箇所に
あ る と 判断 さ れます。
PlanAhead お よ び Vivado ツールには温度グ レ ー ド に基づいてデバ イ ス を表示 ま たは フ ィ ル タ ーす る 機能が追加 さ れ
てい ますが、 I、 E お よ び C 温度グ レー ド パーツ を別々に表示す る 機能は 7 シ リ ーズ デバ イ ス フ ァ ミ リ も 含めて、 そ
れ以前のデバ イ ス ではあ り ません。
XC デバ イ ス で I、 E ま たは C 温度グ レー ド のいずれか を選択す る 場合は、 [Temp Grade] フ ィ ール ド を [Any] (デフ ォ
ル ト ) ま たは [C] に設定 し て く だ さ い。
XQ お よ び XA デバ イ ス を選択す る 場合、[Temp Grade] フ ィ ール ド で [I] を選択 し て I デバ イ ス グ レー ド を フ ィ ル タ ー
さ れ る よ う にす る 必要があ り ます。
XC デバ イ ス の場合、 こ の よ う に選択す る と 、 [Min Operation Temperature] お よ び [Max Operating Temperature] も C 温
度グ レー ド レーテ ィ ン グ を反映 し て 0 ~ 85 ℃ と 表示 さ れて し ま う と い う 欠点があ り ま す。 I 温度グ レー ド は 40 ~
100 ℃、 E 温度グ レー ド は 0 ~ 100 ℃ です。
7 シ リ ーズ デバ イ ス以降に Vivado で導入 さ れたデバ イ ス では、 I、 E お よ び C 温度グ レー ド パーツが別々に表示 さ れ
ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
23
第 2 章 : プ ロ ジ ェ ク ト の操作
Vivado Design Suite ボー ド フ ローの使用
Vivado Design Suite では、 ザ イ リ ン ク ス タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォーム ボー ド (TDP) ま たはボー ド リ ポジ ト
リ に追加 さ れた ユーザー指定のボー ド を使用 し て プ ロ ジ ェ ク ト を 作成で き ま す。 特定のボー ド を 選択す る 際には、
Vivado ツールで IP カ ス タ マ イ ズの一部 と し て、ま たは IP イ ン テ グ レー タ ー デザ イ ン用にその他の設計ア シ ス タ ン ス
を イ ネーブルにで き ます。
X-Ref Target - Figure 2-11
図 2‐11 : New Project ウ ィ ザー ド : [Default Part/Board] ページ
リ ポジ ト リ へのユーザー ボー ド の追加
Vivado Design Suite イ ン ス ト ールには、 ツールの一部 と し て配信 さ れ る TDP ボー ド のボー ド 定義フ ァ イ ルが含まれま
す。 Vivado Design Suite で使用で き る よ う にボー ド リ ポジ ト リ に追加す る には、 付録 A 「ボー ド イ ン タ ーフ ェ イ ス
フ ァ イ ル」 で説明す る ス キーマ を使用 し てユーザー自身のボー ド フ ァ イ ルを作成す る こ と も で き ます。
自身のボー ド フ ァ イ ルま たはサー ド パーテ ィ フ ァ イ ルを ボー ド リ ポジ ト リ に追加す る には、init.tcl フ ァ イ ルに、
ま たは Vivado Design Suite を開いた直後に次のパ ラ メ ー タ ーを定義 し ます。
set_param board.repoPaths [list “<path1>” “<path2>” “...”]
init.tcl フ ァ イ ルの詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] の 「Tcl での
ス ク リ プ ト 機能」 を参照 し て く だ さ い。
ヒ ン ト : Vivado Design Suite のボー ド リ ポジ ト リ であ る <Vivado_install_location>/data/boards は、 こ のパ ラ メ ー タ ーの
値に関係な く 常に読み出 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
24
第 2 章 : プ ロ ジ ェ ク ト の操作
ボー ド フ ローでの Vivado IP カ タ ログの使用
ボー ド フ ロ ーを サポー ト す る Vivado IP カ タ ロ グ か ら の IP を使用す る 場合、 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス に
[Board] タ ブが表示 さ れます (図 2-12)。 IP カ ス タ マ イ ズで使用する ボー ド イ ン タ ーフ ェ イ ス を選択で き ます。 選択 し
たボー ド パーツ でサポー ト さ れ る IP イ ン タ ーフ ェ イ ス に基づいて、IP コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンが変更 さ
れ、 I/O ロ ケーシ ョ ンお よ び I/O 規格な ど のボー ド 専用に生成 さ れた物理制約が イ ネーブルにな り ます。
X-Ref Target - Figure 2-12
図 2‐12 : [Customize IP] ダ イ ア ログ ボ ッ ク スの [Board] タ ブ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
25
第 2 章 : プ ロ ジ ェ ク ト の操作
ボー ド フ ローでの Vivado IP イ ン テグ レー タ ーの使用
オプシ ョ ンで、 Vivado IP イ ン テ グ レー タ ーを使用 し てブ ロ ッ ク デザ イ ンに IP を追加で き ます。 プ ロ ジ ェ ク ト のボー
ド を選択 し た ら 、[Board] ウ ィ ン ド ウ (図 2-13) が IP イ ン テ グ レー タ ーに表示 さ れ る よ う にな り 、選択 し たボー ド パー
ツ で使用可能な IP イ ン タ ーフ ェ イ スお よ びそれが使用 さ れ る イ ン タ ーフ ェ イ ス が表示 さ れます。
Vivado IP イ ン テ グ レー タ ーでは、 コ ン フ ィ ギ ュ レーシ ョ ン済みの IP が イ ン ス タ ン シエー ト さ れ、 I/O ロ ケーシ ョ ンお
よ び I/O 規格な ど の物理的なボー ド 制約のほか、 イ ンプ リ メ ン テーシ ョ ンお よ びデバ イ ス コ ン フ ィ ギ ュ レーシ ョ ンに
使用 さ れ る 関連パ ラ メ ー タ ーな ど が割 り 当て ら れます。
コ ン フ ィ ギ ュ レーシ ョ ンす る と 、 すべてのボー ド の物理制約が自動的にダ ウ ン ス ト リ ームの合成ツールお よ び イ ンプ
リ メ ン テーシ ョ ン ツールに渡 さ れます。ボー ド フ ロ ーの使用に関す る 詳細については、『Vivado Design Suite ユーザー
ガ イ ド :IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 13] の 「IP イ ン テ グ レー タ ーでのボー
ド フ ロ ーの使用」 を参照 し て く だ さ い。
X-Ref Target - Figure 2-13
図 2‐13 : Vivado IP イ ン テグレー タ ーの [Board Part Interfaces] ウ ィ ン ド ウ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
26
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト の管理
プ ロ ジ ェ ク ト を開 く
プ ロ ジ ェ ク ト を開 く と 、 前回プ ロ ジ ェ ク ト を閉 じ た と き の状態が復元 さ れ ま す。 プ ロ ジ ェ ク ト の状態 と は、 ソ ー ス
フ ァ イ ル順、 ソ ー ス フ ァ イ ルのデ ィ ス エーブル/ イ ネーブル、 ア ク テ ィ ブお よ び タ ーゲ ッ ト 制約フ ァ イ ル、 合成、 シ
ミ ュ レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ン run の ス テー ト な ど です。
プ ロ ジ ェ ク ト を開 く には、 次のいずれか を実行 し ます。
•
Getting Started ページの [Open Project] リ ン ク を ク リ ッ ク し ます。
•
[File] → [Open Project] を ク リ ッ ク し ます。
•
[Open Project] ツールバー ボ タ ン
•
Tcl コ ン ソ ールに open_project コ マ ン ド を入力 し ます。
を ク リ ッ ク し ます。
[Open Project] ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト フ ァ イ ル (.xpr) を選択 し ます。 [Open Project] ダ イ ア ロ グ ボ ッ ク
ス の [File Preview] に現在選択 さ れてい る フ ァ イ ルに関す る 情報が表示 さ れます。
注記 : ま たは、Windows エ ク ス プ ロ ー ラ ーで Vivado IDE プ ロ ジ ェ ク ト フ ァ イ ル (.xpr) を直接ダブル ク リ ッ ク し てプ ロ
ジ ェ ク ト を開 き ます。
プ ロ ジ ェ ク ト を開 く Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : open_project
•
Tcl コ マ ン ド の例 : open_project c:/projects/project1.xpr
複数のプ ロ ジ ェ ク ト を開 く
1 つのセ ッ シ ョ ンで複数のプ ロ ジ ェ ク ト を開 く には、 プ ロ ジ ェ ク ト が開いてい る 状態で 「プ ロ ジ ェ ク ト を開 く 」 のい
ずれかの方法を使用 し て別のプ ロ ジ ェ ク ト を開 き ま す。 Vivado IDE で現在のプ ロ ジ ェ ク ト を閉 じ る か ど う か尋ね る
メ ッ セージが表示 さ れます。 [No] を ク リ ッ ク し て開いてい る プ ロ ジ ェ ク ト を閉 じ ない よ う にする と 、 両方のプ ロ ジ ェ
ク ト が開 き ます。 各プ ロ ジ ェ ク ト に対 し て別の IDE ウ ィ ン ド ウ が開き ます。
複数プ ロ ジ ェ ク ト を同 じ Vivado IDE プ ロ セ ス か ら 開 く と 、 開いてい る すべてのプ ロ ジ ェ ク ト で使用 さ れた コ マ ン ド
が Tcl コ ン ソ ールへ書 き 込まれます。 ただ し 、 表示 さ れ る コ マ ン ド が ど のプ ロ ジ ェ ク ト で使用 さ れた も のかわか り に
く い こ と があ り ます。 ま た、 すべてのプ ロ ジ ェ ク ト に対 し て 1 つの vivado.jou と 1 つの vivado.log し か作成 さ
れません。
注記 : 複数のプ ロ ジ ェ ク ト を開いた場合、シ ス テ ム メ モ リ の要件に よ り 、パフ ォーマ ン ス が低下す る こ と があ り ます。
プ ロ ジ ェ ク ト の保存
プ ロ ジ ェ ク ト は自動的に保存 さ れます。 た と えば、 ソ ース設定、 フ ァ イ ルのプ ロ パテ ィ 、 run オプシ ョ ン な ど、 プ ロ
ジ ェ ク ト に変更を加え る と 、 プ ロ ジ ェ ク ト はデ ィ ス ク に自動的に保存 さ れます。
ヒ ン ト : ただ し 、 デザ イ ン制約への変更がプ ロ ジ ェ ク ト の一部 と し て自動的に保存 さ れ る こ と はあ り ま せん。 [Save
Constraints] ま たは [Save Constraints As] を使用 し て制約の変更をデ ィ ス ク に書き 込む必要があ り ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
27
第 2 章 : プ ロ ジ ェ ク ト の操作
別のデ ィ レ ク ト リ にプ ロ ジ ェ ク ト を保存す る には、 [File] → [Save Project As] を ク リ ッ ク し て く だ さ い。 こ れに よ り 、
プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造全体が新 し く 指定 さ れたデ ィ レ ク ト リ に コ ピー さ れ、 run の ス テー タ ス も 保持 さ れま
す。
プ ロ ジ ェ ク ト を保存する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : save_project_as
•
Tcl コ マ ン ド の例 : save_project_as new_project c:/projects/
プ ロ ジ ェ ク ト を閉 じ る
プ ロ ジ ェ ク ト を閉 じ る には、 [File] → [Close Project] を ク リ ッ ク し ます。 保存 さ れていない変更があ る 場合は、 それを
示す メ ッ セージが表示 さ れます。
プ ロ ジ ェ ク ト を閉 じ る Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
close_project
プ ロ ジ ェ ク ト のアー カ イ ブ
プ ロ ジ ェ ク ト アーカ イ ブ を作成 し て、 バ ッ ク ア ッ プ と し て保存 し た り 、 リ モー ト サ イ ト に送信 し た り で き ます。 プ
ロ ジ ェ ク ト を アーカ イ ブす る 際、 Vivado IDE では次が実行 さ れます。
•
デザ イ ン階層を解析 し ます。
•
ラ イ ブ ラ リ デ ィ レ ク ト リ か ら 必要な ソ ース フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル、 リ モー ト フ ァ イ ルを コ ピー し
ます。
•
制約を コ ピー し ます。
•
合成、 シ ミ ュ レーシ ョ ン、 お よ び イ ンプ リ メ ン テーシ ョ ンの実行結果を コ ピー し ます (オプシ ョ ン)。
•
プ ロ ジ ェ ク ト の ZIP フ ァ イ ルを作成 し ます。
プ ロ ジ ェ ク ト のアーカ イ ブ を作成す る には、 次の手順に従い ます。
1.
[File] → [Archive Project] を ク リ ッ ク し ます。
2.
[Archive Project] ダ イ ア ロ グ ボ ッ ク ス (図 2-14) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Archive name] : プ ロ ジ ェ ク ト アーカ イ ブ名を指定 し ます。
°
[Archive location] : プ ロ ジ ェ ク ト アーカ イ ブ フ ァ イ ルを保存す る デ ィ レ ク ト リ を指定 し ます。
°
°
[Include configuration settings] : デザ イ ンのデバ ッ グに役立つ Tcl 初期化コ マ ン ド を含む init.tcl フ ァ イ ル
を含みます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参照 し て
く だ さ い。
[Include run results] : プ ロ ジ ェ ク ト で実行 し た run の設定 と 結果を含め ます。 合成 run お よ び イ ンプ リ メ ン
テーシ ョ ン run の結果を含め る と 、 プ ロ ジ ェ ク ト アーカ イ ブの容量がかな り 増加 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
28
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-14
図 2‐14 : [Archive Project] ダ イ ア ログ ボ ッ ク ス
Vivado IDE でプ ロ ジ ェ ク ト アーカ イ ブが ZIP フ ァ イ ル形式で作成 さ れます。 こ の ZIP フ ァ イ ルには、必要な ソ ー
ス フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル、 run フ ァ イ ル (指定 し た場合のみ)、 お よ びアーカ イ ブ プ ロ セ ス を記述 し た
archive.log フ ァ イ ルが含まれます。 archive.log フ ァ イ ルでアーカ イ ブの作成プ ロ セ ス を確認で き ます。
プ ロ ジ ェ ク ト を圧縮する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : archive_project
•
Tcl コ マ ン ド の例 : archive_project -exclude_run_results proj3.zip
ソ ースの制御シ ス テム
[File] → [Write Project Tcl] を ク リ ッ ク す る と 、 現在のプ ロ ジ ェ ク ト を再作成する Tcl ス ク リ プ ト を生成で き ます。 生成
さ れ る ス ク リ プ ト には、 次を実行す る Tcl コ マ ン ド が含まれます。
•
プ ロ ジ ェ ク ト の作成
•
プ ロ ジ ェ ク ト タ イ プの設定
•
フ ァ イ ルセ ッ ト の作成
•
ソ ース フ ァ イ ルの追加ま たは イ ン ポー ト
•
run お よ び run プ ロ パテ ィ の定義
こ の Tcl ス ク リ プ ト お よ び さ ま ざ ま なデザ イ ン ソ ース は ソ ース制御シ ス テ ムに格納 し 、 フ ァ イ ル管理お よ びプ ロ ジ ェ
ク ト 圧縮を し ます。
注記 : ソ ース管理シ ス テ ムの詳細については、 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) [参照 15] を参照
し て く だ さ い。 IP お よ び ソ ース管理シ ス テ ムの使用については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し
た設計』 (UG896) [参照 11] を参照 し て く だ さ い。
ビデオ : ソ ー ス管理シ ス テ ム の使用方法については、 Vivado Design Suite ビデオ チ ュ ー ト リ アル : バージ ョ ン管理の
概要を参照 し て く だ さ い。
ソ ース管理シ ス テムを使用する ための Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
29
第 2 章 : プ ロ ジ ェ ク ト の操作
•
Tcl コ マ ン ド : write_project_tcl
•
Tcl コ マ ン ド の例 : write_project_tcl -all_properties C:/Data/project_wave.tcl
プ ロ ジ ェ ク ト サマ リ の使用
Vivado IDE には、 対話型のプ ロ ジ ェ ク ト サマ リ (図 2-15) が含まれ、 デザ イ ン コ マ ン ド が実行 さ れ、 デザ イ ン プ ロ セ
ス が実行 さ れ る と 随時ア ッ プデー ト さ れ ます。 こ れには、 プ ロ ジ ェ ク ト パーツ、 プ ロ ジ ェ ク ト ス テー タ ス、 合成お
よ び イ ンプ リ メ ン テーシ ョ ンの状態な ど のプ ロ ジ ェ ク ト お よ びデザ イ ン情報が含まれます。 ま た、 メ ッ セージ、 ロ グ、
レ ポー ト な ど を示す ウ ィ ン ド ウや [Project Settings] ダ イ ア ロ グ ボ ッ ク スへの リ ン ク な ど、 詳細な情報への リ ン ク も 含
まれます。 ス ク ロ ール バーを使用 し た り 、 [Collapse All] お よ び [Expand All] ボ タ ン を使用 し てデー タ カ テ ゴ リ の表示
/非表示を切 り 替え る こ と がで き ます。
プ ロ ジ ェ ク ト サマ リ には、 次のセ ク シ ョ ンが含まれます。
•
[Project Settings] : プ ロ ジ ェ ク ト 名、 製品フ ァ ミ リ 、 プ ロ ジ ェ ク ト パーツ、 ト ッ プ モジ ュ ール名が表示 さ れます。
•
[Board] : 製品名、 パーツ フ ァ ミ リ /ボー ド /バージ ョ ン番号を含むボー ド 名、 ボー ド に関する 詳細情報を含むボー
ド フ ァ イ ル、 ザ イ リ ン ク ス ウ ェ ブサ イ ト の製品ページへの リ ン ク 、 ボー ド に関す る 概要が表示 さ れます。
•
[Synthesis] お よ び [Implementation] : ア ク テ ィ ブ run の合成お よ び イ ンプ リ メ ン テーシ ョ ンの状態のサマ リ を表示
し ます。 タ ーゲ ッ ト パーツ、 run で使用 さ れた ス ト ラ テジ、 使用 さ れた ツール フ ロ ーお よ び制約セ ッ ト な ど が
表示 さ れます。 パーツ、 ス ト ラ テジ、 フ ロ ーの リ ン ク を ク リ ッ ク す る と 、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス
が開 き ます。 制約 リ ン ク を ク リ ッ ク す る と 、 [Source File Properties] ウ ィ ン ド ウ に [Constraint Set Properties] タ ブが
表示 さ れます。
注記 : 詳細は、 「プ ロ ジ ェ ク ト 設定」 お よ び第 3 章の 「制約の操作」 を参照 し て く だ さ い。
•
[DRC Violations] : イ ンプ リ メ ン テーシ ョ ン後にデザ イ ン ルール チ ェ ッ ク (DRC) に関する 情報が ま と め ら れま
す。
•
[Timing] : イ ンプ リ メ ン テーシ ョ ン後に タ イ ミ ン グ結果が ま と め ら れます。
•
[Utilization] : 合成ま たは イ ンプ リ メ ン テーシ ョ ンが終了 し た ら 、 プ ロ ジ ェ ク ト の使用量結果が表形式 と グ ラ フ形
式の両方で ま と め ら れます。
•
[Power] : イ ンプ リ メ ン テーシ ョ ン後に消費電力解析の結果が ま と め ら れます。
プ ロ ジ ェ ク ト サマ リ を開 く には、 次のいずれか を実行 し ます。
•
[Window] → [Project Summary] を ク リ ッ ク し ます。
•
ツールバーの [Project Summary] ボ タ ン
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
を ク リ ッ ク し ます。
japan.xilinx.com
30
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-15
図 2‐15 : [Project Summary] ウ ィ ン ド ウ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
31
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト 設定
プ ロ ジ ェ ク ト 設定は、 各プ ロ ジ ェ ク ト の必要に合わせて指定で き ます。 プ ロ ジ ェ ク ト 設定には、 最上位モジ ュ ールの
定義に関す る 一般的な設定、 お よ びシ ミ ュ レーシ ョ ン、 合成、 イ ンプ リ メ ン テーシ ョ ン、 IP な ど の設定が含まれます。
[Project Settings] ダ イ ア ロ グ ボ ッ ク ス を表示する には、 次のいずれか を実行 し ます。
•
[Tools] → [Project Settings] を ク リ ッ ク し ます。
•
ツールバーの [Project Settings] ボ タ ン
•
Flow Navigator の [Project Manager] で [Project Settings] を ク リ ッ ク す る か、 [Simulation Settings]、 [Synthesis
Settings]、 [Implementation Settings]、 [Bitstream Settings] のいずれか を ク リ ッ ク し ます。
•
プ ロ ジ ェ ク ト サマ リ で [Project Settings] ヘ ッ ダーの横にあ る Edit リ ン ク を ク リ ッ ク する か、 [Synthesis] ま たは
[Implementation ] セ ク シ ョ ンのいずれかで ス ト ラ テジ ま たはフ ロ ーを ク リ ッ ク し ます。
を ク リ ッ ク し ます。
[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の開 き 方に よ っ て、 最適な カ テ ゴ リ がデフ ォ ル ト で表示 さ れ る よ う にな っ てい
ます。 た と えば、 Flow Navigator で [Simulation Settings] を ク リ ッ ク し た場合、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス に
は [Simulation] カ テ ゴ リ が表示 さ れます。 次のセ ク シ ョ ンは、 各カ テ ゴ リ の詳細を示 し てい ます。
[General] ページ
[General] ページ (図 2-16) では、 プ ロ ジ ェ ク ト 名、 パー ツ、 タ ーゲ ッ ト 言語、 タ ーゲ ッ ト シ ミ ュ レ ー タ 、 最上位モ
ジ ュ ール名、 言語オプシ ョ ン を指定で き ます。
•
[Name] : プ ロ ジ ェ ク ト 名を指定 し ます。
•
[Project Device] : 合成お よ び イ ンプ リ メ ン テーシ ョ ン両方でデフ ォ ル ト と し て使用する タ ーゲ ッ ト デバ イ ス を指
定 し ます。 参照ボ タ ン を ク リ ッ ク す る と [Select Device] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 デバ イ ス を変更で き
ます。
注記 : 合成 run ま たは イ ンプ リ メ ン テーシ ョ ン run が複数あ る 場合は、[Run Properties] ウ ィ ン ド ウ か ら run 設定を
変更 し て特定 run で使用 さ れ る デバ イ ス を変更す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ
ド : Vivado IDE の使用』 (UG893) [参照 6] を参照 し て く だ さ い。
•
[Target Language] : Verilog ま たは VHDL のいずれかにデザ イ ンの タ ーゲ ッ ト 出力言語を指定 し ます。 指定 し た
タ ーゲ ッ ト 言語でデザ イ ンの RTL 出力フ ァ イ ルが生成 さ れます。 タ ーゲ ッ ト 言語で制御 さ れ る 出力の例は、 合
成、 シ ミ ュ レーシ ョ ン、 最上位 ラ ッ パー フ ァ イ ル、 テ ス ト ベンチ、 お よ び IP の イ ン ス タ ン シエーシ ョ ン テ ン
プ レー ト です。
•
[Default Library] : プ ロ ジ ェ ク ト のデフ ォ ル ト ラ イ ブ ラ リ を指定 し ます。 明確に ラ イ ブ ラ リ を指定 し ない限 り 、
すべての フ ァ イ ルは こ の ラ イ ブ ラ リ で コ ンパ イ ル さ れます。 ラ イ ブ ラ リ 名は選択す る か、 [Library] テ キ ス ト
フ ィ ール ド に新 し い ラ イ ブ ラ リ 名を入力 し て指定 し ます。
•
[Top Module Name] : デザ イ ンの最上位 RTL モジ ュ ール名を指定 し ます。 下位モジ ュ ール名を入力 し 、 特定のモ
ジ ュ ールに対 し て合成を実行す る こ と も で き ます。 参照ボ タ ン を ク リ ッ ク す る と 、 最上位モジ ュ ールが自動的
に検索 さ れ、 可能性のあ る 最上位モジ ュ ールの リ ス ト が表示 さ れます。
•
[Language Options] :
°
°
[Verilog Options] : 参照ボ タ ン を ク リ ッ ク し 、 [Verilog Options] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定
し ます。
-
[Verilog Include Files Search Paths] : Verilog ソ ース フ ァ イ ルの ‘include 文で参照 さ れ る フ ァ イ ルの検索パ
ス を指定 し ます。
-
[Defines] : プ ロ ジ ェ ク ト の Verilog マ ク ロ 定義を指定 し ます。
-
[Uppercase all identifiers] : すべての Verilog 識別子を大文字に設定 し ます。
[Generics/Parameters] : VHDL ではジ ェ ネ リ ッ ク が、 Verilog では定数値のパ ラ メ ー タ ー定義がサポー ト さ れま
す。 ど ち ら の方法で も 、 パ ラ メ ー タ ーを変更で き る ので、 さ ま ざ ま な状況で再利用可能です。 参照ボ タ ン を
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
32
第 2 章 : プ ロ ジ ェ ク ト の操作
ク リ ッ ク す る と 、 ジ ェ ネ リ ッ ク お よ びパ ラ メ ー タ ーの値を定義 し て、 ソ ース フ ァ イ ルで定義 さ れたデフ ォ ル
ト の値を上書 き で き ます。
°
[Top Library] : 最上位モジ ュ ールの ラ イ ブ ラ リ 名を指定 し ます。
°
[Loop Count] : 最大ループ反復値を指定 し ます。 デフ ォ ル ト は 1000 です。
注記 : [Loop Count] オプシ ョ ン は、 合成中ではな く エ ラ ボ レ ーシ ョ ン中に使用 さ れ ま す。 合成に対 し ては、
[Synthesis] ページの [More Options] フ ィ ール ド に 「-loop_iteration_limit」 と 入力 し ます。
X-Ref Target - Figure 2-16
図 2‐16 : [General] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
33
第 2 章 : プ ロ ジ ェ ク ト の操作
[Simulation] ページ
[Simulation] ページ (図 2-17) では、 シ ミ ュ レーシ ョ ン セ ッ ト 、 シ ミ ュ レーシ ョ ン最上位モジ ュ ール名、 コ ンパ イ ルお
よ びシ ミ ュ レーシ ョ ン オプシ ョ ン を指定で き ます。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下に
その説明が表示 さ れます。 [Simulation] ページの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レー
シ ョ ン』 (UG900) [参照 10] の 「シ ミ ュ レーシ ョ ン設定」 セ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 2-17
図 2‐17 : [Simulation] ページ
[Elaboration] ページ
第 4 章 「RTL デザ イ ンのエ ラ ボ レーシ ョ ン」 に示す よ う に、 エ ラ ボ レー ト さ れたデザ イ ン を開 く には、 次の図の よ う
に RTL デザ イ ンのエ ラ ボ レーシ ョ ン変更を イ ネーブルま たはデ ィ ス エーブルにす る 2 つの設定があ り ます。
[Elaboration] ページ を使用す る と 、 エ ラ ボ レー ト さ れたネ ッ ト リ ス ト ビ ュ ーに対する オプシ ョ ン を設定で き ます。 こ
のビ ューは、 Flow Navigator で [RTL Analysis] → [Open Elaborated Design] を ク リ ッ ク する と 表示 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
34
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-18
図 2‐18 : [Elaboration] ページ
•
[Link IP Module Options] : [Blackbox Model (stub file)] : ア ウ ト オブ コ ン テ キ ス ト 合成 さ れた IP すべてブ ラ ッ ク
ボ ッ ク ス と し て扱い ます。 [Netlist model] : ア ウ ト オブ コ ン テ キ ス ト 合成 さ れた IP の合成済みネ ッ ト リ ス ト を使
用 し ます。
•
[Timing Constraints Options] : [Load constraints] : すべてのア ク テ ィ ブ制約 ( タ イ ミ ン グお よ び物理) を エ ラ ボ レー ト
さ れたデザ イ ンに適用 し ます。
次の Tcl コ マ ン ド を ソ ース フ ァ イ ルセ ッ ト に定義する と 、 RTL エ ラ ボ レーシ ョ ン設定を イ ネーブルにで き ます。
set_property elab_link_dcps true [current_fileset]
set_property elab_load_timing_constraints true [current_fileset]
注記 : Use false to disable these settings.
[Synthesis] ページ
[Synthesis] ページ (図 2-19) では、 制約セ ッ ト 、 合成ス ト ラ テジお よ び合成オプシ ョ ン を指定で き ます。 オプシ ョ ンは
選択 し た合成ス ト ラ テジで定義 さ れますが、 こ れ ら は変更で き ます。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ
ク ス の一番下にその説明が表示 さ れ ます。 [Synthesis] ページの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』
(UG901) [参照 16] の 「シ ミ ュ レーシ ョ ン設定」 セ ク シ ョ ン を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
35
第 2 章 : プ ロ ジ ェ ク ト の操作
注記 : プ ロ ジ ェ ク ト に含まれ る IP は前 も っ て合成 し 、 合成 ラ ン タ イ ム を削減する こ と がで き ます。 こ のボ ト ム ア ッ プ
合成フ ロ ーの使用については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] を参照 し
て く だ さ い。
ヒ ン ト : tcl.pre お よ び tcl.post フ ァ イ ルを使用す る と 、Tcl ス ク リ プ ト を追加 し て合成前後に読み出 さ れ る よ う
にで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 3] を参照 し て
く だ さ い。
X-Ref Target - Figure 2-19
図 2‐19 : [Synthesis] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
36
第 2 章 : プ ロ ジ ェ ク ト の操作
[Implementation] ページ
[Implementation] ページ (図 2-20) では、制約セ ッ ト 、イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジお よ び イ ンプ リ メ ン テーシ ョ
ン オプシ ョ ン を指定で き ます。 オプシ ョ ンは選択 し た イ ン プ リ メ ン テーシ ョ ン ス ト ラ テ ジで定義 さ れ ますが、 こ れ
ら は変更で き ます。 た と えば、 消費電力お よ び物理合成な ど のオプシ ョ ンの段階を実行す る オプシ ョ ン を使用可能で
す。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れ ます。 [Implementation] ペー
ジの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テーシ ョ ン』 (UG904) [参照 17] の 「 イ ン プ リ メ ン
テーシ ョ ン ス ト ラ テジのカ ス タ マ イ ズ」 を参照 し て く だ さ い。
ヒ ン ト : Tcl ス ク リ プ ト を追加す る と 、tcl.pre お よ び tcl.post フ ァ イ ルで イ ンプ リ メ ン テーシ ョ ンの ど の段階の
前後にで も source コ マ ン ド で読み出す こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ
ト 機能の使用』 (UG894) [参照 3] を参照 し て く だ さ い。
X-Ref Target - Figure 2-20
図 2‐20 : [Implementation] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
37
第 2 章 : プ ロ ジ ェ ク ト の操作
[Bitstream] ページ
[Bitstream] ページ (図 2-21) では、 ビ ッ ト ス ト リ ーム を生成す る 前にオプシ ョ ン を定義で き ます。 オプシ ョ ン を ク リ ッ
ク す る と 、ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れます。[Bitstream] ページの詳細は、『Vivado Design Suite
ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 18] の 「ビ ッ ト ス ト リ ーム フ ァ イ ルの フ ォーマ ッ ト 設定
の変更」 セ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 2-21
図 2‐21 : [Bitstream] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
38
第 2 章 : プ ロ ジ ェ ク ト の操作
[IP] ページ
[IP] ページ (図 2-22) には、 次の タ ブが含まれます。
•
[Repository Manager] : IP リ ポジ ト リ リ ス ト に追加する デ ィ レ ク ト リ を指定 し ます。 IP は、 ユーザーがパ ッ ケー
ジす る か、 サー ド パーテ ィ か ら 取得で き ます。 [Add Repository] を ク リ ッ ク す る と 、 各 リ ポジ ト リ に含まれ る IP
が表示 さ れます。
•
[Packager] : ベン ダー、 ラ イ ブ ラ リ 、 お よ び分類を含めて、 新 し い IP をパ ッ ケージする 際のデフ ォ ル ト 値を設定
し ます。 こ の タ ブでは、 IP パ ッ ケージ ャ ーを開いた と き のデフ ォ ル ト ビヘ イ ビ ア を設定 し た り 、 自動的に フ ィ
ル タ ー さ れ る フ ァ イ ル拡張子を指定で き た り し ます。
注記 : 必要であれば、 IP パ ッ ケージ プ ロ セ ス中に IP をパ ッ ケージす る 際のデフ ォ ル ト 値を変更で き ます。
[IP] ページの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] の 「IP のプ ロ ジ ェ
ク ト 設定」 セ ク シ ョ ン を参照 し て く だ さ い。
[IP] ページお よ び Vivado IP カ タ ロ グは、 RTL プ ロ ジ ェ ク ト ま たは Getting Started ページか ら [Manage IP] リ ン ク を使
用 し た場合にのみ使用可能です。 [Manage IP] を使用す る 場合、 プ ロ ジ ェ ク ト を作成 し ない と 、 [IP] ページのサブセ ッ
ト は表示 さ れません。
X-Ref Target - Figure 2-22
図 2‐22 : [IP] ページ
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
39
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト 設定をする Tcl コ マ ン ド
次は、 プ ロ ジ ェ ク ト の さ ま ざ ま なプ ロ パテ ィ を設定す る T c l コ マ ン ド です。 例は、 そのプ ロ ジ ェ ク ト の タ ーゲ ッ
ト 言語プ ロ パテ ィ を設定す る 方法を示 し てい ます。
•
Tcl コ マ ン ド : set_property
•
Tcl コ マ ン ド の例 : set_property target_language Verilog [current_project]
推奨 : プ ロ ジ ェ ク ト 、合成ま たは イ ンプ リ メ ン テーシ ョ ン run のプ ロ パテ ィ を含む複数のプ ロ パテ ィ を設定で き ます。
プ ロ パテ ィ 名お よ び タ ーゲ ッ ト の詳細については、 Vivado IDE で操作を実行 し 、 Tcl コ ン ソ ールに表示 さ れ る 対応す
る Tcl コ マ ン ド を参照 し て く だ さ い。
Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成
Vivado IDE では、 Tcl ス ク リ プ ト を使用 し てプ ロ ジ ェ ク ト を作成する こ と も で き ます。 Vivado IDE で実行 し たほ と ん
ど の動作が Tcl コ マ ン ド で実行 さ れ ます。 Vivado IDE の Tcl コ ン ソ ールに表示 さ れ る Tcl コ マ ン ド は、 vivado.jou
お よ び vivado.log フ ァ イ ルに保存 さ れます。 vivado.jou フ ァ イ ルには コ マ ン ド だけが、 vivado.log フ ァ イ ル
には コ マ ン ド と 返 さ れた メ ッ セージがすべて含まれます。 こ れ ら の フ ァ イ ルを使用 し て、 ス ク リ プ ト を開発 し 、 プ ロ
ジ ェ ク ト モー ド で し ます。 vivado.jou お よ び ロ グ フ ァ イ ルの書 き 込ま れ る デ ィ レ ク ト リ については、 『Vivado Design
Suite ユーザー ガ イ ド : Vivado IDE の使用』 [参照 6] (UG893) の付録 A の出力フ ァ イ ルを参照 し て く だ さ い。
Tcl コ マ ン ド の詳細については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参照 し て
く だ さ い。
次は、 プ ロ ジ ェ ク ト を作成 し 、 さ ま ざ ま な ソ ース を追加 し 、 設定を コ ン フ ィ ギ ュ レーシ ョ ン し 、 合成お よ び イ ンプ リ
メ ン テーシ ョ ン run を開始 し 、 ビ ッ ト ス ト リ ーム を作成する ス ク リ プ ト 例です。
# Typical usage: vivado -mode tcl -source run_bft_project.tcl
# Create the project and directory structure
create_project -force project_bft_batch ./project_bft_batch -part xc7k70tfbg484-2
#
# Add various sources to the project
add_files {./Sources/hdl/FifoBuffer.v ./Sources/hdl/async_fifo.v \
./Sources/hdl/bft.vhdl}
add_files -fileset sim_1 ./Sources/hdl/bft_tb.v
add_files ./Sources/hdl/bftLib/
add_files -fileset constrs_1 ./Sources/bft_full.xdc
#
# Now import/copy the files into the project
import_files -force
#
# Set VHDL library property on some files
set_property library bftLib [get_files {*round_*.vhdl core_transform.vhdl \
bft_package.vhdl}]
#
# Update to set top and file compile order
update_compile_order -fileset sources_1
update_compile_order -fileset sim_1
#
# Launch Synthesis
launch_runs synth_1
wait_on_run synth_1
open_run synth_1 -name netlist_1
#
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
40
第 2 章 : プ ロ ジ ェ ク ト の操作
# Generate a timing and power reports and write to disk
# Can create custom reports as required
report_timing_summary -delay_type max -report_unconstrained -check_timing_verbose \
-max_paths 10 -input_pins -file syn_timing.rpt
report_power -file syn_power.rpt
#
# Launch Implementation
launch_runs impl_1 -to_step write_bitstream
wait_on_run impl_1
#
# Generate a timing and power reports and write to disk
# comment out the open_run for batch mode
open_run impl_1
report_timing_summary -delay_type min_max -report_unconstrained \
-check_timing_verbose -max_paths 10 -input_pins -file imp_timing.rpt
report_power -file imp_power.rpt
#
# Can open the graphical environment if visualization desired
# comment out the for batch mode
#start_gui
ヒ ン ト : Tcl ス ク リ プ ト の行はバ ッ ク ス ラ ッ シ ュ (\) を行の最後に追加 し て行が続 く こ と を示す と 改行で き ます。 バ ッ
ク ス ラ ッ シ ュ の後の行は、 前の行の一部 と し て処理 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
41
第 3章
ソ ース フ ァ イルの操作
概要
ソ ース フ ァ イ ルには、 デザ イ ン ソ ース、 ザ イ リ ン ク ス IP カ タ ロ グか ら 追加で き る IP ソ ース、 System Generator ツー
ルか ら 追加で き る デジ タ ル シ グナル プ ロ セ ッ シ ン グ (DSP) ソ ース、 Vivado Design Suite の IP イ ン テ グ レー タ ーで作
成 さ れ る IP サブシ ス テ ム (ブ ロ ッ ク デザ イ ン と も い う ) があ り ます。 さ ら に、 シ ミ ュ レーシ ョ ン フ ァ イ ルやデザ イ ン
の タ イ ミ ン グ要件を指定 し た り 、 デザ イ ン で使用 さ れ る ザ イ リ ン ク ス デバ イ ス リ ソ ース を定義す る 物理的制約を指
定す る 制約フ ァ イ ル も 、 ソ ース フ ァ イ ルに含まれます。 プ ロ ジ ェ ク ト モー ド の場合は、 Vivado® IDE、 ま たは Tcl コ
マ ン ド あ る いは ス ク リ プ ト を使用 し て こ れ ら の ソ ー ス フ ァ イ ルを作成お よ び追加で き ます。 ま た、 Vivado IDE でプ
ロ ジ ェ ク ト 内の ソ ース フ ァ イ ルを自動的に管理で き ます。 ソ ース フ ァ イ ルは現在のプ ロ ジ ェ ク ト の ロ ーカル デ ィ レ
ク ト リ に作成 し 、 そ こ で管理す る こ と がで き ます。 ま たは、 ラ イ ブ ラ リ や別のデ ィ レ ク ト リ か ら 参照す る こ と も で き
ます。 デザ イ ン フ ロ ーの任意段階で、 Verilog、 VHDL、 SystemVerilog の ソ ース フ ァ イ ルを追加で き ます。
注記 : Zynq® お よ び MicroBlaze™ を使用す る 際の ソ ー ス フ ァ イ ル管理の詳細については、 『Vivado Design Suite ユー
ザー ガ イ ド : エンベデ ッ ド ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 19] を参照 し て く だ さ い。
非プ ロ ジ ェ ク ト モー ド の場合、 こ れ ら の ソ ー ス フ ァ イ ルは Tcl コ マ ン ド か ス ク リ プ ト を使用 し て作成で き ま すが、
ソ ース フ ァ イ ルは手動で管理す る 必要があ り ます。 本章では、 主にプ ロ ジ ェ ク ト モー ド での ソ ース の作成お よ び管
理について説明 し ます。 非プ ロ ジ ェ ク ト モー ド での ソ ース の作成お よ び管理については、 「非プ ロ ジ ェ ク ト モー ド で
の ソ ース の操作」 を参照 し て く だ さ い。 デザ イ ン フ ロ ーのプ ロ ジ ェ ク ト モー ド お よ び非プ ロ ジ ェ ク ト モー ド の詳細
は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892) [参照 1] の 「プ ロ ジ ェ ク ト モー ド と 非プ
ロ ジ ェ ク ト モー ド 」 を参照 し て く だ さ い。
Vivado Design Suite に ソ ー ス フ ァ イ ルを追加す る 場合、 プ ロ ジ ェ ク ト モー ド であ っ て も 、 非プ ロ ジ ェ ク ト モー ド で
あ っ て も 、 フ ァ イ ルへの相対パ ス と 絶対パ ス の両方で管理で き ます。デザ イ ン を開 く と 、Vivado Design Suite はデフ ォ
ル ト で まずフ ァ イ ルお よ びデ ィ レ ク ト リ の検出に相対パ ス を適用 し ます。 フ ァ イ ルが検出 さ れない場合は絶対パ ス を
適用 し ます。 こ の機能は、 PATH_MODE プ ロ パテ ィ で管理 さ れ、 そのデフ ォ ル ト 値は RelativeFirst です。 こ れを変更
し たい場合は、 デザ イ ン ソ ース フ ァ イ ルの PATH_MODE プ ロ パテ ィ を変更 し ます。 PATH_MODE プ ロ パテ ィ の詳細
は、 『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 14] を参照 し て く だ さ い。
注記 : ソ ース の追加に関す る Tcl コ マ ン ド の詳細は、 第 2 章の 「デザ イ ン ソ ース、 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン
ソ ース を追加す る Tcl コ マ ン ド 」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
42
第 3 章 : ソ ース フ ァ イルの操作
デザイ ン ソ ースの作成 と 追加
Vivado IDE では、 HDL ま たはネ ッ ト リ ス ト フ ァ イ ルを含めてデザ イ ン ソ ース フ ァ イ ルを作成お よ び管理で き ます。
Vivado IDE でプ ロ ジ ェ ク ト が開いてい る 状態の [Sources] ウ ィ ン ド ウ には、 デザ イ ン ソ ース、 制約、 シ ミ ュ レーシ ョ
ン ソ ース が表示 さ れてい ます。 こ れ ら は、 現在のプ ロ ジ ェ ク ト を構成する フ ァ イ ルのセ ッ ト です。
X-Ref Target - Figure 3-1
図 3‐1 : [Sources] ウ ィ ン ド ウ
[Sources] ウ ィ ン ド ウ には、 プ ロ ジ ェ ク ト に関連付け ら れてい る ソ ース フ ァ イ ルを表示す る のに、 次の よ う な ビ ュ ー
があ り ます。
•
[Hierarchy] ビ ュ ーには、 デザ イ ン モジ ュ ールお よ び イ ン ス タ ン ス の階層、 お よ びそれ ら を含む ソ ース フ ァ イ ル
が表示 さ れます。 Vivado IDE は自動的にデザ イ ン階層の最上位を検出 し ますが、 必要であれば こ れを手動で変更
す る こ と も で き ます。
•
[IP Sources] には、IP コ ア、Vivado IP イ ン テ グ レー タ ーで追加 さ れたブ ロ ッ ク デザ イ ン、 ま たは System Generator
で追加 さ れた DSP モジ ュ ールで定義 さ れてい る すべての フ ァ イ ルが表示 さ れます。
•
[Libraries] ビ ュ ーには、 さ ま ざ ま な ラ イ ブ ラ リ 別に ソ ース が分類 さ れて表示 さ れます。
•
[Compile Order] ビ ュ ーでは、 コ ンパ イ ル さ れ る 順序で ソ ース フ ァ イ ルが表示 さ れ、 制約 も 処理 さ れ る 順序で表示
さ れます。 [Compile Order] ビ ュ ーでは、 合成、 イ ンプ リ メ ン テーシ ョ ン、 ま たはシ ミ ュ レーシ ョ ン で使用 さ れ る
処理順序が表示 さ れます。
ヒ ン ト : [Sources] ウ ィ ン ド ウ で使用 さ れ る ア イ コ ンについては、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の
使用』 (UG893) [参照 6] の 「[Sources] ウ ィ ン ド ウ」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
43
第 3 章 : ソ ース フ ァ イルの操作
新規 ソ ース フ ァ イルの作成
1.
新 し く デザ イ ン ソ ース フ ァ イ ルを作成 し 、 プ ロ ジ ェ ク ト に追加す る には、 [File] → [Add Sources] を ク リ ッ ク し ま
す。
注記 : ま たは、[Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し て [Add Sources] を選択す る か、Flow Navigator で [Add Sources]
を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create Design Sources] を選択 し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create Design Sources] ページで (図 3-2)、 + 記号を ク リ ッ ク し 、 [Create File] をサブ メ ニ ュ ー コ マ ン ド か ら
選択 し て、 新 し く ソ ース フ ァ イ ルを作成 し ます。
X-Ref Target - Figure 3-2
図 3‐2 : Add Sources ウ ィ ザー ド : [Add or Create Design Sources] ページ
4.
[Create Source File] ダ イ ア ロ グ ボ ッ ク ス (45 ページの図 3-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ま
す。
°
[File type] : Verilog フ ァ イ ル (.v)、 Verilog ヘ ッ ダー フ ァ イ ル (.vh)、 SystemVerilog フ ァ イ ル (.sv)、 VHDL フ ァ
イ ル (.vhdl ま たは .vhd) の中か ら フ ァ イ ル フ ォーマ ッ ト を 1 つ指定 し ます。
°
[File name] : 新 し い HDL ソ ース フ ァ イ ルの名前を指定 し ます。
°
[File location] : フ ァ イ ルを作成する デ ィ レ ク ト リ を指定 し ます。
フ ァ イ ルのプ レー ス ホルダーが ソ ー ス の リ ス ト に追加 さ れ、 [Sources] ウ ィ ン ド ウ に表示 さ れ ま す。 Add Sources
ウ ィ ザー ド で [Finish] を ク リ ッ ク す る ま で、 フ ァ イ ルは作成 さ れません。
ヒ ン ト : プ ロ ジ ェ ク ト に追加す る モジ ュ ールを複数定義する には、[Create File] を複数回 ク リ ッ ク し 作業を繰 り 返 し ま
す。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
44
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-3
図 3‐3 : [Create Source File] ダ イ ア ログ ボ ッ ク ス
5.
[Add Sources] ページ (図 3-4) で ソ ース フ ァ イ ルに最適な ラ イ ブ ラ リ を指定 し ます。
X-Ref Target - Figure 3-4
図 3‐4 : Add Sources ウ ィ ザー ド : [Add or Create Design Sources] ページ
デフ ォ ル ト で、 すべての HDL ソ ース フ ァ イ ルは xil_defaultlib ラ イ ブ ラ リ に追加 さ れます。 [Library] 列で、
既存の ラ イ ブ ラ リ 名を指定 し て参照す る か、 ま たは必要で あれば、 新 し い ラ イ ブ ラ リ 名を入力 し 、 ユーザーの
VHDL ラ イ ブ ラ リ を指定 し ます。
6.
[Finish] を ク リ ッ ク し て新規 ソ ース フ ァ イ ルを作成 し 、 それ ら をプ ロ ジ ェ ク ト に追加 し ます。
新 し い ソ ー ス フ ァ イ ルが作成 さ れ る と 、 Vivado IDE では、 モジ ュ ールやエ ン テ ィ テ ィ 宣言用にポー ト を定義す
る ための [Define Modules] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
7.
[Define Module] ダ イ ア ロ グ ボ ッ ク ス (図 3-5) で次のオプシ ョ ン を使用 し て Verilog、 Verilog ヘ ッ ダー、
SystemVerilog、 ま たは VHDL でモジ ュ ールま たはエン テ ィ テ ィ を定義 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
45
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-5
図 3‐5 : [Define Modules] ダ イ ア ログ ボ ッ ク ス
°
[New Source Files] : 複数フ ァ イ ルを作成 し た場合、 こ の フ ィ ール ド が表示 さ れます。 定義 し たいモジ ュ ール
の名前を ク リ ッ ク し ます。
°
[Entity name/Module name] : VHDL コ ー ド のエン テ ィ テ ィ ま たは Verilog ま たは SystemVerilog コ ー ド のモ
ジ ュ ール名の名前を指定 し ます。
注記 : デフ ォ ル ト ではフ ァ イ ル名にな り ますが、 変更で き ます。
°
[Architecture name] : VHDL ソ ース フ ァ イ ルのアーキ テ ク チ ャ を指定 し ます。 デフ ォ ル ト では [Behavioral] で
す。
注記 : Verilog ま たは SystemVerilog モジ ュ ールを定義す る 場合は、 こ のオプシ ョ ンは表示 さ れません。
°
[I/O Port Definitions] : モジ ュ ール定義に追加す る ポー ト を定義 し ます。
-
[Port Name] : RTL コ ー ド に記述 さ れ る ポー ト の名前を定義 し ます。
-
[Direction] : ポー ト を入力、 出力、 双方向のいずれかに指定 し ます。
-
[Bus] : ポー ト がバス ポー ト か ど う かを指定 し ます。 次の [MSB] お よ び [LSB] オプシ ョ ン を使用 し て
ポー ト のバ ス幅を定義 し ます。
-
[MSB] : 最上位ビ ッ ト (MSB) の数を定義 し ます。 [LSB] フ ィ ール ド と 組み合わせて、 定義 さ れ る バ ス の
幅を指定 し ます。
-
[LSB] : 最下位ビ ッ ト (LSB) の数を定義 し ます。
注記 : ポー ト がバス ポー ト でない場合は、 MSB お よ び LSB は無視 さ れます。
[Sources] ウ ィ ン ド ウ に新 し く 定義 し たモジ ュ ールが リ ス ト さ れ ます。 Vivado IDE テ キ ス ト エデ ィ タ ーで新 し い
ソ ース フ ァ イ ルを編集す る には、 フ ァ イ ルを ダブル ク リ ッ ク す る か、 右 ク リ ッ ク し て [Open File] を選択 し ます。
フ ァ イ ルの変更に関 し ては、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の 「テ
キ ス ト エデ ィ タ ー」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
46
第 3 章 : ソ ース フ ァ イルの操作
デザイ ン ソ ースの追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま た は、 Flow Navigator で [Add Sources] を ク リ ッ ク す る か、 [Sources] ウ ィ ン ド ウ を 右 ク リ ッ ク し 、 [Add
Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create Design Sources] を選択 し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create Design Sources] ページ (図 3-2) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加する フ ァ イ ルを選択する ための フ ァ イ ル ブ ラ ウ ザーが表示 さ れます。 RTL
プ ロ ジ ェ ク ト には、 HDL、 EDIF、 NGC、 BMM、 ELF、 DCP な ど の フ ァ イ ル タ イ プ を追加で き ます。
注記 : [Add Source Files] ダ イ ア ロ グ ボ ッ ク ス では、 各フ ァ イ ルま たはデ ィ レ ク ト リ がそれ と わか る よ う なア
イ コ ンで表示 さ れます。 小 さ い赤い四角は、 読み出 し 専用であ る こ と を示 し ます。
°
[Add Directories] : 選択 し たデ ィ レ ク ト リ に含まれ る すべての フ ァ イ ルを追加 し ます。 指定 し たデ ィ レ ク ト リ
にあ る 有効な ソ ース フ ァ イ ルがすべてプ ロ ジ ェ ク ト に追加 さ れます。
°
[Create File] : VHDL、 Verilog、 Verilog ヘ ッ ダー、 ま たは SystemVerilog フ ァ イ ルを作成す る [Create Source File]
ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
°
[Library] : RTL ラ イ ブ ラ リ を指定 し ます (1 つの フ ァ イ ル、 ま たは 1 つのデ ィ レ ク ト リ 内にあ る 複数の フ ァ イ
ルを指定)。 定義済みの ラ イ ブ ラ リ 名の中か ら 選択す る か、 新規 ラ イ ブ ラ リ 名を入力 し ます。
注記 : こ のオプシ ョ ンは、 VHDL フ ァ イ ルの場合のみ使用で き ます。 デフ ォ ル ト では、 HDL ソ ー ス フ ァ イ
ルは xil_defaultlib ラ イ ブ ラ リ に追加 さ れます。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し 、
参照で き ます。 Verilog お よ び SystemVerilog フ ァ イ ルの場合は、 xil_defaultlib の ま ま に し ておき ます。
°
°
[Delete] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
[Move Selected File Up] : フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト の上方向に移動 し ます。 こ の フ ァ イ ル順は、
合成やシ ミ ュ レーシ ョ ン な ど のダ ウ ン ス ト リ ーム プ ロ セ ス でのエ ラ ボ レーシ ョ ンや コ ンパ イ ルの順序に影
響 し ます。 47 ページの 「最上位モジ ュ ールの指定 と ソ ース フ ァ イ ルの順序の変更」 を参照 し て く だ さ い。
°
[Move Selected File Down] : フ ァ イ ルま たはデ ィ レ ク ト リ を リ ス ト の下方向に移動 し ます。
°
[Scan and Add RTL Include Files into Project] : 追加 し た RTL フ ァ イ ルを ス キ ャ ン し 、 参照 さ れた Verilog の
'include フ ァ イ ルを ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に イ ン ポー ト し ます。
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
注記 : [Add Directories] ボ タ ン を ク リ ッ ク し て ソ ー ス フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場合は、 フ ァ イ ル
が ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る 際にデ ィ レ ク ト リ 構造 も その ま ま保持 さ れます。詳細は、「 リ モー
ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
°
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ のサブデ ィ レ ク ト リ に含まれ る
ソ ース フ ァ イ ルをすべて追加 し ます。
最上位モ ジ ュ ールの指定 と ソ ース フ ァ イルの順序の変更
デフ ォ ル ト で、 Vivado Design Suite はデザ イ ン階層の最上位を自動的に認識 し 、 ま た、 プ ロ ジ ェ ク ト に追加 さ れてい
る ソ ース フ ァ イ ルのエ ラ ボ レーシ ョ ン、合成、シ ミ ュ レーシ ョ ンの順序を自動的に判断 し ます。 こ の設定は、[Sources]
ウ ィ ン ド ウ で右 ク リ ッ ク し て表示 さ れ る [Hierarchy Update] で変更で き ます。 詳細は、 『Vivado Design Suite ユーザー
ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の 「[Sources] ウ ィ ン ド ウ」 の 「Hierarchy Update」 を参照 し て く だ さ い。
デザ イ ン階層は、 [Sources] ウ ィ ン ド ウ の [Hierarchy] ビ ュ ーに表示 さ れます。 フ ァ イ ルの コ ンパ イ ル順序は、 [Sources]
ウ ィ ン ド ウ の [Compile Order] ビ ュ ーに表示 さ れてい る 順序にな り ます。
自動的に認識 さ れ る 最上位モジ ュ ールは、 デザ イ ン階層の最上位を手動で指定する と 変更で き ます。 最上位モジ ュ ー
ルを指定す る には、 [Sources] ウ ィ ン ド ウ の [Hierarchy] ビ ュ ーでモジ ュ ールを右 ク リ ッ ク し て [Set as Top] を ク リ ッ ク
し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
47
第 3 章 : ソ ース フ ァ イルの操作
注記 : 選択 し た最上位モジ ュ ールがデザ イ ン ソ ース フ ァ イ ルで見つか ら ず、 階層ア ッ プデー ト モー ド が自動に設定
さ れてい る 場合は、 選択 し た最上位モジ ュ ールは自動的に最適なモジ ュ ールに リ セ ッ ト さ れます。
最上位モ ジ ュ ール を 変更す る と 、 新 し く 設定 さ れた最上位モ ジ ュ ールの要件に基づい て、 [Sources] ウ ィ ン ド ウ の
[Hierarchy] お よ び [Compile Order] ビ ュ ー で フ ァ イ ル が並び替 え ら れ ま す。 [Sources] ウ ィ ン ド ウ を 右 ク リ ッ ク し
[Refresh Hierarchy] を選択す る と 、 ソ ース フ ァ イ ルの変更に基づいて フ ァ イ ルが自動的に並び替え ら れます。
[Sources] ウ ィ ン ド ウ を右 ク リ ッ ク し [Hierarchy Update] を選択す る と 、こ の コ ンパ イ ル順序を変更で き ます。[Hierarchy
Update] → [Automatic Update, Manual Compile Order] を ク リ ッ ク す る か、 ま たは [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し
[Hierarchy Update] → [No Update, Manual Compile Order] を ク リ ッ ク し て、 手動で コ ンパ イ ル順序を変更す る こ と がで
き ます。 手動モー ド の場合は、 ユーザーの要件にあわせて手動で フ ァ イ ル順を変更で き ます。 ソ ース フ ァ イ ルの順序
を手動で指定す る には、[Sources] ウ ィ ン ド ウ の [Compile Order] ビ ュ ーで フ ァ イ ルを ド ラ ッ グ し て適切な位置に移動 し
ます。 ま たは、 フ ァ イ ルを右 ク リ ッ ク し て [Move Up]、 [Move Down]、 [Move to Top] ま たは [Move to Bottom] を ク リ ッ
ク し て並び替え る こ と も で き ます。
すべての ソ ース の コ ンパ イ ルま たは評価順の リ ス ト を確認す る には、 Tcl コ ン ソ ールで report_compile_order コ
マ ン ド を使用 し ます。 こ の コ マ ン ド では、 合成、 イ ンプ リ メ ン テーシ ョ ンお よ びシ ミ ュ レーシ ョ ン での コ ンパ イ ル順
ま たは評価順で フ ァ イ ルが リ ス ト さ れます。 RTL の コ ンパ イ ル順は、 合成お よ びシ ミ ュ レーシ ョ ン用に リ ス ト さ れま
す。 制約の評価順は、 合成お よ びシ ミ ュ レーシ ョ ン用に リ ス ト さ れます。
ソ ース フ ァ イルのイ ネーブル/デ ィ ス エーブル
ソ ー ス フ ァ イ ルを追加 ま たは作成す る と 、 フ ァ イ ルは [Sources] ウ ィ ン ド ウ でデフ ォ ル ト で イ ネーブルにな り ま す。
ソ ース フ ァ イ ルは、 エ ラ ボ レーシ ョ ン、 合成、 ま たはシ ミ ュ レーシ ョ ン で使用 さ れない よ う デ ィ ス エーブルにで き ま
す。デザ イ ンの さ ま ざ ま な段階で ソ ース フ ァ イ ルの イ ネーブル/デ ィ ス エーブルを切 り 替え る こ と に よ り 、1 つのプ ロ
ジ ェ ク ト 内で さ ま ざ ま なデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を管理で き ます。
•
ソ ース フ ァ イ ルをデ ィ ス エーブルにする には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Disable File] を
ク リ ッ ク し ます。
•
ソ ース フ ァ イ ルを イ ネーブルにす る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Enable File] を ク
リ ッ ク し ます。
リ モー ト ソ ースの参照またはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への
ソ ースの コ ピー
ソ ース フ ァ イ ルは、 リ モー ト デ ィ レ ク ト リ か ら 参照す る か、 ロ ーカルのプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーで き ま
す。 リ モー ト フ ァ イ ルを参照す る 場合、 その参照 し てい る フ ァ イ ルが変更 さ れ る と 、 Vivado IDE が自動的に変更を
検出 し 、 開いてい る デザ イ ン を リ フ レ ッ シ ュ さ せる か、 ま たは最新の フ ァ イ ルで合成を実行す る か を選択す る ダ イ ア
ロ グ ボ ッ ク ス が表示 さ れます。
プ ロ ジ ェ ク ト を移動ま たはアーカ イ ブす る 場合は、 すべてのフ ァ イ ルがプ ロ ジ ェ ク ト 内に含まれ る よ う に、 リ モー ト
フ ァ イ ルをプ ロ ジ ェ ク ト に コ ピーす る こ と をお勧め し ます。 プ ロ ジ ェ ク ト に ソ ース を コ ピーする には、 次のいずれか
を実行 し ます。
•
[Add Sources] コ マ ン ド で ソ ース フ ァ イ ルをプ ロ ジ ェ ク ト に追加する 際に [Copy Sources into Project] を オンにす る
と 、 ソ ース フ ァ イ ルがプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー さ れます。
•
ソ ース フ ァ イ ルを最初 リ モー ト ソ ース と し て追加 し 、 後でプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る 場合は、
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し て [Copy File into Project] を ク リ ッ ク し て ソ ー ス フ ァ イ ルを個別
に コ ピーす る か、 ま たは [Copy All Files Into Project] を ク リ ッ ク し てすべての リ モー ト ソ ース フ ァ イ ルを コ ピー
し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
48
第 3 章 : ソ ース フ ァ イルの操作
ロー カル ソ ース フ ァ イルのア ッ プデー ト
リ モー ト ソ ース を参照 し てい る 場合、 その ソ ース に加え ら れた変更は Vivado IDE で自動的に検出 さ れ ます。 ソ ース
フ ァ イ ルがプ ロ ジ ェ ク ト に コ ピー さ れてい る 場合は、 元の フ ァ イ ルへの変更は検出 さ れません。 必要に応 じ て、 ロ ー
カル ソ ース フ ァ イ ルを手動でア ッ プデー ト す る 必要があ り ます。
ロ ーカル ソ ース フ ァ イ ルを ア ッ プデー ト す る には、 次のいずれかの方法を使用 し て く だ さ い。
•
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Replace File] を ク リ ッ ク し ます。
フ ァ イ ル ブ ラ ウ ザーに コ ピー元の ソ ース フ ァ イ ルが表示 さ れます。元のデ ィ レ ク ト リ が変更 さ れた場合は、デ ィ
レ ク ト リ を指定 し て フ ァ イ ルを選択す る 必要があ り ます。 [OK] を ク リ ッ ク し て元の ソ ース フ ァ イ ルを読み込み
直す と 、 ソ ース フ ァ イ ルへの変更を含めてプ ロ ジ ェ ク ト フ ァ イ ルがア ッ プデー ト さ れます。
注記 : 別の フ ァ イ ルを指定す る と 、 選択 し た フ ァ イ ルがその新 し い フ ァ イ ルに置 き 換え ら れます。 た と えば、 元
の フ ァ イ ル が File_1.v で、 File_2.v を 選択 し た 場合、 元 の File_1.v が プ ロ ジ ェ ク ト か ら 削除 さ れ、
File_2.v がプ ロ ジ ェ ク ト に コ ピー さ れます。
•
[Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し て [Add Sources] を ク リ ッ ク し 、 ア ッ プデー ト さ れた ソ ース フ ァ イ ルをプ ロ
ジ ェ ク ト に追加 し ます。
追加 し た フ ァ イ ルがプ ロ ジ ェ ク ト に イ ン ポー ト さ れます。 ただ し 、 同 じ 名前の ロ ーカル ソ ース フ ァ イ ルが既に
存在す る ので、 図 3-6 に示す [Import Source Conflicts] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 既存の フ ァ イ ルを上書 き
す る か、 新 し く 追加 し た フ ァ イ ルを読み込 ま ないでお く か を選択す る よ う 求め ら れ ます。 こ れは ウ ィ ザー ド で
[Copy Sources into Project] がオ ン にな っ てい る 場合にのみ表示 さ れ ます。 オ フ にな っ てい る 場合は、 同 じ 名前の
外部参照フ ァ イ ルの方がプ ロ ジ ェ ク ト に追加 さ れます。
X-Ref Target - Figure 3-6
図 3‐6 : [Import Source Conflicts ] ダ イ ア ロ グ ボ ッ ク ス
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
49
第 3 章 : ソ ース フ ァ イルの操作
IP ソ ースの操作
注記 : IP の追加、 パ ッ ケージ、 シ ミ ュ レーシ ョ ン、 ア ッ プグ レー ド な ど IP に関す る 詳細は、 『Vivado Design Suite ユー
ザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] を参照 し て く だ さ い。
Vivado IDE では、 RTL プ ロ ジ ェ ク ト で次の よ う な タ イ プの RTL プ ロ ジ ェ ク ト の IP コ ア を追加お よ び管理で き ます。
•
Vivado Design Suite XCI (Xilinx Core Instance) フ ァ イ ル
XCI フ ォーマ ッ ト の IP コ アは Vivado Design Suite のネ イ テ ィ ブ フ ァ イ ルで、 デザ イ ン ま たはプ ロ ジ ェ ク ト に追
加す る こ と がで き ます。 追加す る には、 ザ イ リ ン ク ス IP カ タ ロ グの IP コ ア を カ ス タ マ イ ズす る か、 ま たは [File]
→ [Add Sources] を ク リ ッ ク し て、 直接フ ァ イ ルを追加 し ます。 XCI フ ァ イ ルには、 IP をデザ イ ン に追加す る と
き に指定 ま たはカ ス タ マ イ ズす る 、 IP コ アの コ ン フ ィ ギ ュ レ ーシ ョ ンお よ び制約オプシ ョ ン が保存 さ れてい ま
す。
重要 : プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド で IP を使用す る 場合は、 合成 さ れた DCP フ ァ イ ルではな
く 、 常に XCI フ ァ イ ルをデザ イ ンに追加 し て く だ さ い。 XCI フ ァ イ ルを使用する こ と に よ り 、 ツールで必要 と な る IP
コ アの出力フ ァ イ ルが生成 さ れ、 デザ イ ン フ ロ ーを通 し て一貫 し て使用 さ れ る よ う にな り ます。
•
Vivado IP パ ッ ケージ ャ ーを使用 し てパ ッ ケージ し た ユーザー IP (XCI)
『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118) [参照 12] には、 ザ イ リ ン
ク ス IP カ タ ロ グで使用す る ために、 ユーザー定義の IP をパ ッ ケージする 方法を説明 し てい ます。 ユーザー IP の
リ ポジ ト リ は、IP_REPO_PATHS プ ロ パテ ィ を使用 し て カ タ ロ グに追加で き ます。 こ のプ ロ パテ ィ は、サー ド パー
テ ィ IP ま たはユーザー定義の IP を含むデ ィ レ ク ト リ へのパ ス を定義 し ます (複数のデ ィ レ ク ト リ も 定義可能)。
IP_REPO_PATHS プ ロ パテ ィ の詳細は、 『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 14]
を参照 し て く だ さ い。
•
CORE Generator™ IP コ ア (XCO)
CORE Generator ツールか ら の レ ガ シ IP は Vivado Design Suite でサポー ト さ れてい ま す。 こ れ ら の レ ガシ IP は、
デザ イ ン に イ ン ポー ト す る と き に ロ ッ ク さ れてお り 、 IP をデザ イ ン に イ ン プ リ メ ン ト す る の を サポー ト す る た
め、 NGC (ネ ッ ト リ ス ト ) フ ァ イ ルが必要にな り ます。 フ ァ イ ルがない場合は、 IP を XCI にア ッ プグ レー ド で き
る 選択肢があれば、 IP コ ア を右 ク リ ッ ク し [Upgrade IP] を ク リ ッ ク し ます。
•
サー ド パーテ ィ IP ネ ッ ト リ ス ト
サー ド パーテ ィ か ら IP が合成済み NGC ま た は EDIF ネ ッ ト リ ス ト と し て提供 さ れて い る ケー ス も あ り ま す。
[Add Sources] コ マ ン ド を使用 し て、 こ れ ら の フ ァ イ ルを階層デザ イ ン フ ァ イ ル と し てプ ロ ジ ェ ク ト ま たはデザ
イ ンに読み込む こ と がで き ます。 詳細は、 「デザ イ ン ソ ース の作成 と 追加」 を参照 し て く だ さ い。
IP カ タ ログか らの IP の追加
ヒ ン ト : デフ ォ ル ト では、 IP カ タ ロ グには、 現在のプ ロ ジ ェ ク ト の タ ーゲ ッ ト パーツ ( ま たはボー ド ) と 互換性のあ
る IP コ ア、 ま たはそれでサポー ト さ れてい る IP コ アのみが表示 さ れてい ます。 Vivado IP カ タ ロ グの [Hide] ツール
バー ボ タ ン
を ク リ ッ ク し て こ のデフ ォ ル ト 設定を オ フ に し 、 すべての IP コ ア を表示 さ せ る こ と がで き ます。
ザ イ リ ン ク ス IP カ タ ロ グで IP を選択 し 、 それをデザ イ ン用にカ ス タ マ イ ズす る こ と に よ り 、 デザ イ ン階層に IP コ ア
を追加で き ます。 カ ス タ マ イ ズの場合は、 IP コ アの機能パ ラ メ ー タ ーを変更 し 、 IP ソ ース フ ァ イ ルをデザ イ ン プ ロ
ジ ェ ク ト に追加 し ます。
1.
まず、 Vivado IDE の Flow Navigator で [IP Catalog] を ク リ ッ ク し ます。 次の よ う にカ タ ロ グが開 き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
50
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-7
図 3‐7 : IP カ タ ログ
IP カ タ ロ グに表示 さ れ る IP を フ ィ ル タ ー検索す る な ど、 カ タ ロ グの使用方法については、 『Vivado Design Suite
ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] の 「IP カ タ ロ グの使用」 を参照 し て く だ さ い。
次のいずれかの方法で、 IP カ タ ロ グか ら IP を選択 し 、 デザ イ ン で使用で き る よ う にカ ス タ マ イ ズ し ます。
°
IP カ タ ロ グで IP を選択 し 、 右 ク リ ッ ク し て [Customize IP] を ク リ ッ ク し ます。
°
IP を ダブル ク リ ッ ク し て、 その IP の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を開き ます。
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス には、 IP を カ ス タ マ イ ズす る ための さ ま ざ ま なパ ラ メ ー タ ーやオプシ ョ ンが
あ り ます。 こ のダ イ ア ロ グ ボ ッ ク ス は、 選択 し た IP に よ っ て異な り 、 パ ラ メ ー タ ーを指定す る タ ブが 1 つま た
は複数表示 さ れます。
指定 し た設定を確認 し 、 [OK] を ク リ ッ ク し て [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を閉 じ る と 、 IP モジ ュ ールの
HDL 定義を含む、 IP ソ ー ス フ ァ イ ルがデザ イ ン プ ロ ジ ェ ク ト に追加 さ れ、 [Sources] ウ ィ ン ド ウ の [IP Sources]
タ ブに表示 さ れ る よ う にな り ます。
デザ イ ンに IP を追加 し た ら 、 そのデザ イ ンで IP をサポー ト す る ために必要な フ ァ イ ルを生成す る 必要があ り ま
す。 イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 、 XDC 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン ソ ース な ど がそ う です。 こ
れ ら の フ ァ イ ルは、 ま と めて出力フ ァ イ ル と 呼ばれます。 詳細は、 53 ページの 「IP コ アの出力フ ァ イ ルの生成」
を参照 し て く だ さ い。
既存 IP フ ァ イルの追加
IP カ タ ロ グか ら IP を追加 し カ ス タ マ イ ズす る のではな く 、 XCI フ ァ イ ルを直接プ ロ ジ ェ ク ト ま たはデザ イ ンに追加
す る こ と がで き ます。 こ の方法は、 次の点で、 カ タ ロ グの IP を カ ス タ マ イ ズす る の と は異な り ます。
•
IP カ タ ロ グにあ る 同 じ IP ま たは同 じ よ う な IP の、古いバージ ョ ン ま たはフル カ ス タ マ イ ズ さ れたバージ ョ ンの
XCI フ ァ イ ルを追加す る こ と が可能です。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
51
第 3 章 : ソ ース フ ァ イルの操作
•
デザ イ ン フ ロ ーで IP をサポー ト す る ため、 XCI フ ァ イ ルに必要な フ ァ イ ルや出力フ ァ イ ルを含め る こ と が可能
です。 イ ンプ リ メ ン テーシ ョ ン ま で IP をサポー ト す る のに必要な、 イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト 、 シ
ミ ュ レーシ ョ ン フ ァ イ ル、 ネ ッ ト リ ス ト 、 デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) が、 そ う し た フ ァ イ ルです。 Vivado
Design Suite は、 XCI フ ァ イ ルがデザ イ ンに追加 さ れた と き に、 こ れ ら の フ ァ イ ルを追加 し ます。
•
IP がカ タ ロ グにあ る IP の古いバージ ョ ン であ る 場合は、 IP カ タ ロ グか ら 最新版の も のにア ッ プグ レー ド す る こ
と が可能です。
•
IP が古いバージ ョ ンで、 デザ イ ンの IP をサポー ト す る ために必要な出力フ ァ イ ルがあ る 場合は、 その状態で使
用す る こ と が可能で、 IP は こ れ以上カ ス タ マ イ ズ さ れない よ う に ロ ッ ク さ れます。
1.
既存の XCI フ ァ イ ルを直接デザ イ ン ま たはプ ロ ジ ェ ク ト に追加す る には、 [File] → [Add Sources] を ク リ ッ ク し ま
す。
注記 : ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク す る か、 ま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し
ます。
2.
Add Sources ウ ィ ザー ド で [Add Existing IP] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add Existing IP] ページ (図 3-8) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Files] : Vivado Design Suite 用の XCI フ ァ イ ルま たは XCO フ ァ イ ルを選択で き る フ ァ イ ル ブ ラ ウ ザーが
開 き ます。
°
[Add Directories] : 指定デ ィ レ ク ト リ を追加 し ます、指定デ ィ レ ク ト リ ま たはサブデ ィ レ ク ト リ にあ る XCI ま
たは XCO フ ァ イ ルをすべて追加 し ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Copy sources into project] : IP コ ア フ ァ イ ルをプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク ト で
は ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
X-Ref Target - Figure 3-8
図 3‐8 : Add Sources ウ ィ ザー ド : [Add Existing IP] ページ
追加 さ れた IP コ アは、 [Hierarchy]、 [Libraries]、 [Compile Order] ビ ュ ーのその他の ソ ース フ ァ イ ル と 一緒に、 [Sources]
ウ ィ ン ド ウ の [IP Sources] タ ブにそれぞれ表示 さ れます。 [Sources] ウ ィ ン ド ウ には コ ア を構成す る フ ァ イ ルが表示 さ
れ、 コ ア フ ァ イ ルを選択す る と [Source File Properties] ウ ィ ン ド ウ にプ ロ パテ ィ が表示 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
52
第 3 章 : ソ ース フ ァ イルの操作
XCI フ ァ イ ルに必要なサポー ト フ ァ イ ルが含ま れてい る 場合 (ま と めて出力フ ァ イ ル と い う )、 デザ イ ン ソ ース がデ
ザ イ ンに追加 さ れ る と 、 こ れ ら のフ ァ イ ルは追加 さ れます。 XCI に こ れ ら のフ ァ イ ルが含まれていない場合は、 その
デザ イ ン で IP をサポー ト す る ために必要な出力フ ァ イ ルを生成する 必要があ り ます。 イ ン ス タ ン シエーシ ョ ン テ ン
プ レー ト 、 XDC 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン ソ ース な ど がそ う です。 詳細は、 「IP コ アの出力フ ァ イ ルの生成」
を参照 し て く だ さ い。
IP コ アの出力 フ ァ イルの生成
IP コ アには、 デザ イ ン フ ロ ー全体で IP をサポー ト す る ために必要な フ ァ イ ルがあ り ます。 IP モジ ュ ールをデザ イ ン
に統合 さ せ る ための Verilog ま たは VHDL イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 、IP コ アの タ イ ミ ン グ制約や物理制
約を提供す る デザ イ ン制約フ ァ イ ル (XDC)、 デザ イ ン階層で IP を サポー ト す る ための、 合成 さ れたネ ッ ト リ ス ト や
デザ イ ン チ ェ ッ ク ポ イ ン ト な ど がそ う し た フ ァ イ ルです。 こ れ ら の フ ァ イ ルは、 ま と めて出力フ ァ イ ル と 呼ばれ ま
す。 こ れ ら の フ ァ イ ルには、 IP カ タ ロ グでパ ッ ケージ さ れた IP に含ま れてい る も の も あれば、 現在のデザ イ ン でカ
ス タ マ イ ズ さ れてい る IP 用に生成 さ れ る も の も あ り ます。
IP カ タ ロ グか ら の IP がカ ス タ マ イ ズ さ れてい る 場合は、53 ページの図 3-9 にあ る よ う に [Generate Output Products] ダ
イ ア ロ グ ボ ッ ク ス が開 き ます。 し か し 、 こ のダ イ ア ロ グ ボ ッ ク ス は、 [Sources] ウ ィ ン ド ウ で IP を右 ク リ ッ ク し て、
[Generate Output Products] コ マ ン ド を選択すれば、 いつで も 開 く こ と がで き ます。
X-Ref Target - Figure 3-9
図 3‐9 : IP 出力フ ァ イルの生成
デフ ォ ル ト では、 ア ウ ト オブ コ ン テ キ ス ト フ ロ ーを サポー ト す る IP に対 し ては、 合成済みチ ェ ッ ク ポ イ ン ト フ ァ
イ ルが自動的に生成 さ れ ま す。 し か し 、 次の図に示す よ う に、 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス の
[Out-ot-Context Settings] ボ タ ン を ク リ ッ ク し て、 選択 さ れてい る IP のチ ェ ッ ク ボ ッ ク ス をオ フ にする と 、 DCP フ ァ イ
ルは生成 さ れな く な り ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
53
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-10
図 3‐10 : [Out‐of‐Context Settings]
ア ウ ト オ ブ コ ン テ キ ス ト フ ロ ーの使用につい て は、 『Vivado Design Suite ユーザー ガ イ ド : IP を 使用 し た 設計』
(UG896) [参照 11] の 「ア ウ ト オブ コ ン テ キ ス ト フ ロ ー」 を参照 し て く だ さ い。
IP コ アで必要な出力フ ァ イ ルをデザ イ ン プ ロ ジ ェ ク ト に追加 し た ら 、 デザ イ ン階層に IP を イ ン ス タ ン シエー ト す る
必要があ り ます。 こ の と き 、 「デザ イ ンへの IP イ ン ス タ ン シエーシ ョ ン」 で説明 さ れてい る よ う に、 IP モジ ュ ールま
たはエン テ ィ テ ィ がデザ イ ンに統合 さ れます。
デザイ ンへの IP イ ン ス タ ン シ エーシ ョ ン
出力フ ァ イ ルを生成 し たか ど う かにかかわ ら ず、 IP を カ ス タ マ イ ズ し 、 デザ イ ン ま たはプ ロ ジ ェ ク ト にそれを追加す
る と き 、 イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト が作成 さ れ ます。 イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト は、 Verilog
ま たは VHDL の イ ン ス タ ン ス宣言を提供 し てい ます (.veo ま たは .vho)。 ユーザーは こ れを コ ピー し て RTL デザ イ ン
階層に貼 り 付け る こ と がで き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
54
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-11
図 3‐11 : イ ン ス タ ン シ エーシ ョ ン テ ン プ レー ト の編集
1.
Vivado IDE のテ キ ス ト エデ ィ タ ーで イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト で開 き 、 デザ イ ンの該当す る 信号名
に接続す る よ う 、 ポー ト 定義の信号名を変更 し ます。
2.
テ ンプ レー ト フ ァ イ ルで イ ン ス タ ン ス を選択 し 、 それを コ ピー し て、 該当す る ソ ース フ ァ イ ルに貼 り 付け ます。
3.
デザ イ ンに IP コ アの イ ン ス タ ン ス を複数作成す る には、 こ の手順を繰 り 返 し ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] の 「IP の イ ン ス タ ン シエーシ ョ
ン」 を参照 し て く だ さ い。
デザ イ ンに IP を イ ン ス タ ン シエー ト す る と 、 [Sources] ウ ィ ン ド ウ の [Hierarchy] タ ブにデザ イ ンに統合 さ れた IP コ ア
が表示 さ れます。 こ の後、 デザ イ ン全体の一部 と し て、 ま たはア ウ ト オブ コ ン テ キ ス ト フ ロ ーで個別に、 IP を合成
ま たはシ ミ ュ レー ト で き る よ う にな り ます。
IP イ ン テグ レー タ ーのソ ースの使用
Vivado Design Suite では、 RTL プ ロ ジ ェ ク ト ま たはデザ イ ンに IP サブシ ス テ ム デザ イ ン (.bd) を追加 し 、 管理す る こ
と がで き ます。 Vivado IP イ ン テ グ レー タ ーを使用す る と 、 IP サブシ ス テ ム ブ ロ ッ ク デザ イ ン を作成で き ます。 IP イ
ン テ グ レー タ ーでは、 Vivado IP カ タ ロ グか ら の複数の IP コ ア を イ ン ス タ ン シエー ト お よ び相互接続する こ と で、 複
雑なシ ス テ ム デザ イ ン を作成で き ます。デザ イ ンは、Vivado IDE 内の IP イ ン テ グ レー タ ーを使用 し て イ ン タ ラ ク テ ィ
ブに、 ま たは Tcl コ マ ン ド のプ ロ グ ラ ム で作成で き ま す。 IP イ ン テ グ レ ー タ ーの詳細は、 『Vivado Design Suite ユー
ザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 13] を参照 し て く だ さ い。
重要 : Vivado IP イ ン テ グ レー タ ー は、 XPS (Xilinx Platform Studio) に代わ る も ので、 Zynq®-7000 All Programmable デ
バ イ スや MicroBlaze™ プ ロ セ ッ サ を タ ーゲ ッ ト にする デザ イ ン な ど、 新 し いエンベデ ッ ド プ ロ セ ッ サ デザ イ ン用の
ツールです。 既存の XPS デザ イ ン を Vivado IP イ ン テ グ レ ー タ ーに移動 さ せ る には、 『Vivado Design Suite : ISE か ら
Vivado Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8]の 「XPS か ら IP イ ン テ グ レー タ ーへの移行」 を参照 し て く
だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
55
第 3 章 : ソ ース フ ァ イルの操作
新規ブ ロ ッ ク デザイ ンの作成
開いてい る RTL プ ロ ジ ェ ク ト でブ ロ ッ ク デザ イ ン を作成する こ と がで き ます。新 し く ブ ロ ッ ク デザ イ ン ソ ース を作
成 し 、 それを現在のプ ロ ジ ェ ク ト に自動的に追加す る には、 次の手順に し たがっ て く だ さ い。
1.
Flow Navigator で [IP Integrator] を ク リ ッ ク し ます。
2.
[Create Block Design] ク リ ッ ク し ます。
こ れで、 Vivado IP イ ン テ グ レー タ ーが開 き 、 ブ ロ ッ ク デザ イ ンに IP
を追加 し 接続で き る よ う にな り ます。 新規ブ ロ ッ ク デザ イ ンの作成
については、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー
タ ー を 使用 し た IP サ ブ シ ス テ ム の設計』 (UG994) [参照 13] の 「ブ
ロ ッ ク デザ イ ンの作成」 を参照 し て く だ さ い。
3.
新 し く 作成 し たブ ロ ッ ク デザ イ ン を保存する と 、 現在のプ ロ ジ ェ ク ト に自動的に追加 さ れます。
ま た、 現在のプ ロ ジ ェ ク ト 環境外でブ ロ ッ ク デザ イ ン を作成す る こ と も で き ます。 ブ ロ ッ ク デザ イ ン の リ ポジ
ト リ を作成 し て、 ブ ロ ッ ク デザ イ ン を再利用 し 、 いろいろ なプ ロ ジ ェ ク ト に追加する こ と がで き ます。 現在のプ
ロ ジ ェ ク ト 環境外でのブ ロ ッ ク デザ イ ンの作成については、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ
レー タ ーを使用 し た IP サブシ ス テ ム の設計』 (UG994) [参照 13] の 「プ ロ ジ ェ ク ト 外でのブ ロ ッ ク デザ イ ンの作
成」 を参照 し て く だ さ い。
注記 : MicroBlaze プ ロ セ ッ サを使用す る か、 ま たは Zynq デバ イ ス を タ ーゲ ッ ト に し て、 エンベデ ッ ド プ ロ セ ッ サ ブ
ロ ッ ク デザ イ ン を作成す る 場合は、『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デ
ザ イ ン』 (UG898) [参照 19]を参照 し て く だ さ い。
既存ブ ロ ッ ク デザイ ン ソ ースの追加
プ ロ ジ ェ ク ト 外で作成 さ れたブ ロ ッ ク デザ イ ン ソ ース で、 ブ ロ ッ ク デザ イ ンの リ ポジ ト リ に保存 さ れ る も のを追加
す る には、 [Add Sources] コ マ ン ド を使用 し ます。
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク す る か、 ま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し
ます。
2.
Add Sources ウ ィ ザー ド で [Add Existing Block Design Sources] をオンに し 、 [Next] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
56
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-12
図 3‐12 : Add Sources ウ ィ ザー ド : [Add Existing Block Design Sources] ページ
3.
[Add Existing Block Design Sources] ページ (図 3-12) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Files] : + 記号を ク リ ッ ク し 、[Add Files] を選択 し て、デザ イ ンに追加 し たい IP イ ン テ グ レー タ ー ブ ロ ッ
ク デザ イ ン (BD) を選択する フ ァ イ ル ブ ラ ウ ザーを開 き ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Move Selected File Up] : フ ァ イ ルを リ ス ト の上方向に移動 し ます。
°
[Move Selected File Down] : フ ァ イ ルを リ ス ト の下方向に移動 し ます。
°
[Copy sources into project] : ブ ロ ッ ク デザ イ ン フ ァ イ ルをプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ
ジ ェ ク ト では ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
57
第 3 章 : ソ ース フ ァ イルの操作
現在のプ ロ ジ ェ ク ト に既存ブ ロ ッ ク デザ イ ン を追加す る と き 、 ブ ロ ッ ク デザ イ ン で元々 タ ーゲ ッ ト に し ていた
パーツ と は別のザ イ リ ン ク ス パーツ を タ ーゲ ッ ト にで き る 場合があ り ます。 タ ーゲ ッ ト デバ イ ス を変更す る と 、
ブ ロ ッ ク デザ イ ン で使用 さ れてい る IP のすべてが ロ ッ ク さ れ、 図 3-13 にあ る よ う に IP を ア ッ プデー ト す る 必
要が出て き ます。
X-Ref Target - Figure 3-13
図 3‐13 : ブ ロ ッ ク デザイ ン で ロ ッ ク さ れた IP
重要 : IP が ロ ッ ク さ れ る と 、 ブ ロ ッ ク デザ イ ンに対 し 出力フ ァ イ ルを生成 し よ う と す る と 、 次の よ う な ク リ テ ィ カル
警告 メ ッ セージが表示 さ れます。
[BD 41-1336] One or more IPs are locked in this block design.Please run report_ip_status for more details and recommendations
on how to fix this issue. (1 つま たは複数の IP が zynq_1.bd デザ イ ンで ロ ッ ク さ れてい ます。 詳細は report_ip_status を実
行 し て、 推奨 さ れ る 修正方法に し たがっ て く だ さ い)
4.
IP お よ びブ ロ ッ ク デザ イ ン を ア ン ロ ッ ク す る には、[Sources] ウ ィ ン ド ウ の [IP Sources] タ ブでブ ロ ッ ク デザ イ ン
を右 ク リ ッ ク し 、 [Report IP Status] コ マ ン ド を選択 し ます。
ブ ロ ッ ク デザ イ ン を ア ン ロ ッ ク す る 必要のあ る IP の変更が IP ス テー タ ス レ ポー ト に表示 さ れます。
5.
こ の ウ ィ ン ド ウ で、 [Upgrade Selected] コ マ ン ド を使用 し 、 現在のプ ロ ジ ェ ク ト で使用 さ れてい る パーツ を タ ー
ゲ ッ ト す る ために、 ブ ロ ッ ク デザ イ ンで使用 さ れてい る IP を ア ッ プグ レー ド で き ます。
現在のプ ロ ジ ェ ク ト にブ ロ ッ ク デザ イ ン を追加す る と 、 デザ イ ン フ ロ ー全体で こ のブ ロ ッ ク デザ イ ン をサポー
ト す る ために、 Vivado Design Suite で必要 と さ れ る 出力フ ァ イ ルを生成す る 必要があ り ます。
ブ ロ ッ ク デザイ ンの出力 フ ァ イルの生成
ブ ロ ッ ク デザ イ ン を作成 し 終え、 デザ イ ン を検証 し た ら 、 デザ イ ン フ ロ ー全体でそのブ ロ ッ ク デザ イ ン をサポー ト
す る ため、 出力フ ァ イ ルを生成す る 必要があ り ます。 こ う し た出力フ ァ イ ルには、 Verilog ま たは VHDL イ ン ス タ ン
シエーシ ョ ン テ ンプ レー ト 、 ブ ロ ッ ク デザ イ ン を現在のプ ロ ジ ェ ク ト に統合 さ せる ための HDL ラ ッ パー フ ァ イ ル、
ブ ロ ッ ク デザ イ ンの タ イ ミ ン グ制約ま たは物理制約を提供す る デザ イ ン制約フ ァ イ ル (XDC)、 ブ ロ ッ ク デザ イ ン を
サポー ト す る ための合成 さ れたネ ッ ト リ ス ト ま たはデザ イ ン チ ェ ッ ク ポ イ ン ト があ り ます。
ブ ロ ッ ク デザ イ ンの出力フ ァ イ ルは現在のプ ロ ジ ェ ク ト の タ ーゲ ッ ト 言語で生成 さ れ ます。 ブ ロ ッ ク デザ イ ン で使
用 さ れてい る 特定 IP の ソ ース フ ァ イ ルを タ ーゲ ッ ト 言語で生成で き ない場合は、Tcl コ ン ソ ールに メ ッ セージが表示
さ れ、 出力フ ァ イ ルは、 使用可能な ま たはサポー ト さ れてい る 言語で生成 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
58
第 3 章 : ソ ース フ ァ イルの操作
1.
出力フ ァ イ ルを生成す る には、 ブ ロ ッ ク デザ イ ン を右 ク リ ッ ク し 、 [Generate Output Products] を選択す る か、 ま
たは Flow Navigator で [Generate Block Design] を選択 し ます。
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス は次の よ う に表示 さ れます。
X-Ref Target - Figure 3-14
図 3‐14 : 出力フ ァ イルの生成 ‐ ブ ロ ッ ク デザイ ン
出力フ ァ イ ルを生成す る と 、 ブ ロ ッ ク デザ イ ンの最上位ネ ッ ト リ ス ト も 生成 さ れます。 ネ ッ ト リ ス ト は、 現在のプ ロ
ジ ェ ク ト の タ ーゲ ッ ト 言語設定に基づいて VHDL ま たは Verilog のいずれかで生成 さ れます。
デフ ォ ル ト では、 ア ウ ト オブ コ ン テ キ ス ト フ ロ ーをサポー ト す る ブ ロ ッ ク デザ イ ンに対 し ては、 合成済みチ ェ ッ ク
ポ イ ン ト (DCP) フ ァ イ ルが自動的に生成 さ れ ます。 し か し 、 次の図に示す よ う に、 [Generate Output Products] ダ イ ア
ロ グ ボ ッ ク ス の [Out-ot-Context Settings] ボ タ ン を ク リ ッ ク し て、選択 さ れてい る ブ ロ ッ ク デザ イ ンのチ ェ ッ ク ボ ッ ク
ス を オ フ にす る と 、 DCP フ ァ イ ルは生成 さ れな く な り ます。
X-Ref Target - Figure 3-15
図 3‐15 : [Out‐of‐Context Settings] ‐ ブ ロ ッ ク デザイ ン
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
59
第 3 章 : ソ ース フ ァ イルの操作
ア ウ ト オブ コ ン テ キ ス ト フ ロ ーの使用については、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使
用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 13] の「ブ ロ ッ ク デザ イ ン を ア ウ ト オブ コ ン テ キ ス ト モジ ュ ール と し
て設定」 を参照 し て く だ さ い。
デザ イ ン プ ロ ジ ェ ク ト にブ ロ ッ ク デザ イ ンに必要な出力フ ァ イ ルを追加 し た ら 、 デザ イ ン階層にそのブ ロ ッ ク デザ
イ ン を イ ン ス タ ン シエー ト す る か、 ま たは現在のデザ イ ンの最上位にブ ロ ッ ク デザ イ ン を定義す る 必要があ り ます。
こ の と き 、「現在のプ ロ ジ ェ ク ト へのブ ロ ッ ク デザ イ ンの イ ン ス タ ン シエーシ ョ ン」 で説明 さ れてい る よ う に、ブ ロ ッ
ク デザ イ ン モジ ュ ールま たはエン テ ィ テ ィ がデザ イ ンに統合 さ れます。
現在のプ ロ ジ ェ ク ト へのブ ロ ッ ク デザイ ンのイ ン ス タ ン シ エー
ション
IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ンは、 HDL デザ イ ンの階層に イ ン ス タ ン シエー ト す る か、 ま たはデザ イ ン階
層の最上位に定義す る こ と がで き ます。
既存のデザ イ ン階層にブ ロ ッ ク デザ イ ン を統合す る には、 ブ ロ ッ ク デザ イ ン の HDL ラ ッ パーを変更 し ま す。 出力
フ ァ イ ルを生成す る と き 、ブ ロ ッ ク デザ イ ンの HDL ラ ッ パーま たは イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト が作成 さ
れ ま す。 60 ページ の図 3-16に示す よ う に、 HDL ラ ッ パーは、 ブ ロ ッ ク デザ イ ン の Verilog モ ジ ュ ール宣言 ま たは
VHDL エ ン テ ィ テ ィ 宣言を提供 し 、 ラ ッ パーにブ ロ ッ ク デザ イ ン モジ ュ ールの イ ン ス タ ン ス を作成 し ます。 必要に
応 じ て HDL ラ ッ パーで イ ン ス タ ン ス定義を変更す る こ と がで き 、 それをデザ イ ン階層に コ ピー し て張 り 付け る こ と
がで き ます。
X-Ref Target - Figure 3-16
図 3‐16 : ブ ロ ッ ク デザイ ン ラ ッ パーの変更
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
60
第 3 章 : ソ ース フ ァ イルの操作
ま た、 HDL ラ ッ パーは、 デザ イ ンの最上位にブ ロ ッ ク デザ イ ン を定義す る と き に も 使用す る こ と がで き ます。 詳細
は、『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 13]
の 「ブ ロ ッ ク デザ イ ンの最上位デザ イ ンへの統合」 を参照 し て く だ さ い。
DSP ソ ースの使用
System Generator はザ イ リ ン ク ス の DSP デザ イ ン ツールで、 RTL ソ ース フ ァ イ ル、 Simulink® お よ び MATLAB® の
ソ フ ト ウ ェ ア モデル、 お よ び DSP シ ス テ ムの C/C++ コ ン ポーネ ン ト を、 1 つのシ ミ ュ レーシ ョ ンお よ び イ ンプ リ メ
ン テーシ ョ ン環境に ま と め る こ と がで き ます。System Generator の使用方法については、『System Generator for DSP ユー
ザー ガ イ ド 』 (UG640) [参照 20] を参照 し て く だ さ い。
System Generator デザ イ ンはサブ デザ イ ン と し て、 大型の HDL デザ イ ンに組み込まれ る こ と が よ く あ り ます。 Vivado
IDE では、 既存の System Generator デザ イ ン モデル フ ァ イ ル (.slx ま たは .mdl) を DSP モジ ュ ール と し て、 デザ イ ン
全体に直接追加す る こ と がで き ます。 ま た、 Vivado IDE ツール内で新規 DSP モジ ュ ールを作成 し て、 ザ イ リ ン ク ス
System Generator を起動 し て、 その DSP デザ イ ン を完結 さ せ る こ と も で き ます。
Vivado Design Suite で DSP モジ ュ ールを IP コ ア と し てパ ッ ケージ し 、 IP カ タ ロ グに追加 し て、 50 ページの 「IP ソ ー
ス の操作」 で説明 し てい る よ う にサブモジ ュ ール と し てデザ イ ン階層の任意階層に統合 さ せる か、 ま たはデザ イ ンの
最上位に イ ン ポー ト す る よ う に し て く だ さ い。 こ う す る こ と で、 System Generator 内で開発お よ び管理 さ れ る IP ソ ー
ス と し て DSP モジ ュ ール を処理 し なが ら 、 Vivado IDE で FPGA デザ イ ン のプ ロ ジ ェ ク ト を管理で き ま す。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデルベース の DSP デザ イ ン』 (UG897) [参照 20]
の 「IP カ タ ロ グの コ ンパ イ ル」 を参照 し て く だ さ い。
既存 DSP モ ジ ュ ールの追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク す る か、 ま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し
ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create DSP Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create DSP Sources] ページ (図 3-17) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
61
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-17
図 3‐17 : Add Sources ウ ィ ザー ド : [Add or Create DSP Sources] ページ
°
[Add Sub-Design] : + 記号を ク リ ッ ク し 、 [Add Sub-Design] を選択 し て、 デザ イ ンに追加 し たい既存の System
Generator モデル フ ァ イ ルを選択す る フ ァ イ ル ブ ラ ウ ザーを開 き ます。
°
[Remove] : 選択 し た DSP ソ ース フ ァ イ ルを削除 し ます。
°
[Move Up] : 選択 し た ソ ース を リ ス ト の上方向に移動 し ます。
°
[Move Down] : 選択 し た ソ ース を リ ス ト の下方向に移動 し ます。
°
[Copy Sources into Project] : DSP モデル フ ァ イ ルをプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク
ト では ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
追加 さ れた DSP デザ イ ン ソ ースは、 [Sources] ウ ィ ン ド ウ の [Hierarchy]、 [Libraries]、 [Compile Order] ビ ュ ーのその他
の ソ ース フ ァ イ ル と 一緒に、 [IP Sources] タ ブにそれぞれ表示 さ れます。
現在のプ ロ ジ ェ ク ト での DSP モ ジ ュ ールの作成
1.
現在のプ ロ ジ ェ ク ト で新 し く DSP ソ ース フ ァ イ ルを作成す る には、 [File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク す る か、 ま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し
ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create DSP Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create DSP Sources] ページで (62 ページの図 3-17)、 + 記号を ク リ ッ ク し 、 [Create Sub-Design] を選択 し て、
System Generator を起動 し て、 新 し い DSP モジ ュ ールを定義 し ます。
[Create System Generator Source] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
62
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-18
図 3‐18 : [Create System Generator Source] ダ イ ア ログ ボ ッ ク ス
64 ページの図 3-19 で説明 さ れてい る よ う に、DSP デザ イ ン を設計する ため System Generator for DSP お よ び FPGA
デザ イ ン用の MathWorks モデルベース の Simulink® 設計環境を、 Vivado Design Suite は起動 し ます。 こ の ツール
の使用方法については、 『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデルベース の DSP
デザ イ ン』 (UG897) [参照 20] を参照 し て く だ さ い。
注記 : DSP ソ ー ス は Tcl コ マ ン ド の create_sysgen を使用 し て作成す る こ と も で き ま す。 こ の コ マ ン ド は新 し い
DSP サブモジ ュ ールを作成す る ために も 使用で き ます。 Vivado IDE は、 新規 SLX フ ァ イ ルを作成 し 、 それを サ
ブモジ ュ ール と し てプ ロ ジ ェ ク ト に追加 し ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』
(UG835) [参照 4] を参照 し て く だ さ い。
DSP モ ジ ュ ールの出力 フ ァ イルの生成
System Generator デザ イ ンが完了 し 、それを現在のデザ イ ン ま たはプ ロ ジ ェ ク ト に追加 し た ら 、デザ イ ン フ ロ ーで DSP
モジ ュ ールをサポー ト す る ために必要な出力フ ァ イ ルを生成す る こ と がで き ます。 必要な フ ァ イ ルには、 現在のデザ
イ ン の合成、 シ ミ ュ レーシ ョ ン、 イ ン プ リ メ ン テーシ ョ ン を サポー ト す る のに必要な DSP モジ ュ ールの さ ま ざ ま な
デザ イ ン エ レ メ ン ト が含まれてい ます。 こ れ ら の フ ァ イ ルには、 最上位モジ ュ ール定義、 HDL ラ ッ パー、 合成お よ
びシ ミ ュ レーシ ョ ン のネ ッ ト リ ス ト 、 XDC デザ イ ン制約、 その他のサポー ト 資料な ど があ り ます。 生成 さ れた ネ ッ
ト リ ス ト は現在のプ ロ ジ ェ ク ト の タ ーゲ ッ ト 言語で出力 さ れます。
1.
[Sources] ウ ィ ン ド ウ で DSP モジ ュ ールを右 ク リ ッ ク し て、 [Generate Output Products] を ク リ ッ ク し ます。
デザ イ ン フ ロ ーで DSP モジ ュ ールをサポー ト す る ために必要な さ ま ざ ま な出力フ ァ イ ルを生成す る ため、System
Generator for DSP お よ び FPGA デザ イ ン用の MathWorks のモデルベー ス Simulink® 環境を、 Vivado Design Suite
は起動 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
63
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-19
図 3‐19 : System Generator for DSP
Vivado Design Suite では DSP モジ ュ ールのボ ト ム ア ッ プのア ウ ト オブ コ ン テ キ ス ト 合成はサポー ト さ れてい ません。
こ れ ら は、 デザ イ ン全体のグ ロ ーバル合成の一部 と し て合成 さ れます。
デザ イ ン プ ロ ジ ェ ク ト に DSP モジ ュ ールに必要な出力フ ァ イ ルを追加 し た ら 、 デザ イ ン階層にその DSP モジ ュ ール
を イ ン ス タ ン シエー ト す る か、 ま たは現在のデザ イ ン の最上位に DSP モジ ュ ールを定義す る 必要があ り ます。 こ の
と き 、「現在のプ ロ ジ ェ ク ト への DSP モジ ュ ールの イ ン ス タ ン シエーシ ョ ン」 で説明 さ れてい る よ う に、DSP モジ ュ ー
ルま たはエン テ ィ テ ィ がデザ イ ンに統合 さ れます。
現在のプロジ ェ ク ト への DSP モジ ュールのイ ンス タ ンシエーシ ョ ン
DSP モジ ュ ールは、 HDL デザ イ ン の階層に イ ン ス タ ン シエー ト す る か、 ま たはデザ イ ン階層の最上位に定義す る こ
と がで き ます。 まずは、 DSP モジ ュ ールの HDL ラ ッ パーを作成す る と こ ろか ら 始め ます。
1.
[Sources] ウ ィ ン ド ウ で DSP モジ ュ ールを右 ク リ ッ ク し 、 [Create HDL Wrapper] を選択 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
64
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-20
図 3‐20 : HDL ラ ッ パーの作成
既存のデザ イ ン階層に DSP モジ ュ ールを統合す る には、 DSP モジ ュ ールの HDL ラ ッ パーを変更 し ます。 HDL ラ ッ
パーは、 DSP モジ ュ ールの Verilog モジ ュ ール宣言ま たは VHDL エン テ ィ テ ィ 宣言を提供 し 、 ラ ッ パーにモジ ュ ール
の イ ン ス タ ン ス を作成 し ます。
必要に応 じ て HDL ラ ッ パーで イ ン ス タ ン ス定義を変更 し 、 それをデザ イ ン階層に コ ピー し て貼 り 付け る こ と がで き
ます。 ま たは、 ラ ッ パーを使用 し て、 デザ イ ンの最上位に DSP モジ ュ ールを定義す る こ と がで き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
65
第 3 章 : ソ ース フ ァ イルの操作
ソ ース フ ァ イルの編集
Vivado IDE には、 RTL、 XDC、 Tcl お よ びその他のテ キ ス ト ソ ース を作成ま たは変更する ためのテ キ ス ト エデ ィ タ ー
があ り ます。 こ のテ キ ス ト エデ ィ タ ーは コ ン テ キ ス ト セ ン シテ ィ ブで、 Verilog、 VHDL、 XDC、 Tcl フ ァ イ ルを変更
す る こ と がで き ま す。 ま た、 キー ワ ー ド と コ ン ス ト ラ ク ト を区別す る ために色分け さ れてい ま す。 テ キ ス ト エデ ィ
タ ーに関 し ては、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の 「テ キ ス ト エデ ィ
タ ー」 を参照 し て く だ さ い。
同時に複数の フ ァ イ ルを開 く こ と がで き 、 各フ ァ イ ルの タ ブ を ク リ ッ ク し て表示 さ れ る フ ァ イ ルを切 り 替え る こ と が
で き ま す。 Vivado IDE では、 開いてい る フ ァ イ ルの タ ブで、 フ ァ イ ルが変更 さ れていて保存す る 必要の あ る も のに
は、 その フ ァ イ ル名にア ス タ リ ス ク (*) が表示 さ れます。 フ ァ イ ルを保存す る には、 次のいずれか を実行 し ます。
•
[File] → [Save] を ク リ ッ ク し ます。
•
Vivado IDE テ キ ス ト エデ ィ タ ーで右 ク リ ッ ク し [Save File] を ク リ ッ ク し ます。
•
Vivado IDE テ キ ス ト エデ ィ タ ーで [Save File] ツールバー ボ タ ン を ク リ ッ ク し ます。
•
ソ ース フ ァ イ ルを別のデ ィ レ ク ト リ に保存する には、 [Save As] を使用 し ます。
ヒ ン ト : フ ァ イ ルを閉 じ る と き に保存 し ていない変更があ る 場合は、 それを保存す る か ど う か を確認す る ダ イ ア ロ グ
ボ ッ ク ス が表示 さ れます。
検索/置換 コ マ ン ド の使用
デザ イ ン ソ ース フ ァ イ ルを編集す る と き は、特定オブジ ェ ク ト ま たはオブジ ェ ク ト の イ ン ス タ ン ス を検索す る 必要が
あ る 場合があ り ます。 開いてい る ソ ース フ ァ イ ル、 ま たは選択 し た複数の ソ ース フ ァ イ ルで文字列を検索す る には
[Find] お よ び [Find in Files]、文字列を置換す る には [Replace in Files] を使用す る こ と がで き ます。次の機能があ り ます。
•
検索条件 と し て、 検索文字列に ワ イ ル ド カー ド 文字 (*、 ?、 #、 +) や正規表現を含めて入力で き ます。
•
フ ィ ル タ ー オプシ ョ ン を使用 し て、 ソ ース フ ァ イ ル、 制約フ ァ イ ル、 レ ポー ト フ ァ イ ルを検索で き ます。
HDL 言語テ ン プ レー ト の使用
Vivado IDE には、 多 く の Verilog、 VHDL、 XDC 構造用のテ ン プ レー ト が含ま れてい ます。 テ ン プ レー ト を表示す る
には、 Vivado IDE テ キ ス ト エデ ィ タ ーのツールバーか ら [Language Templates] を ク リ ッ ク し ます。 [Templates] ウ ィ ン
ド ウ が Verilog、 VHDL、 XDC の フ ォ ルダー別に表示 さ れます。 テ ンプ レー ト を選択す る と 、 それが [Preview] エ リ ア
に開 き ます (67 ページの図 3-21)。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
66
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-21
図 3‐21 : 言語テ ン プ レー ト のプ レ ビ ュ ー
テ ンプ レー ト を選択す る と 、 テ キ ス ト エデ ィ タ ーの ツールバーの [Insert Template] ボ タ ンが使用で き る よ う にな り ま
す。 こ れを ク リ ッ ク す る と 、 選択 し たテ ンプ レー ト が編集す る フ ァ イ ルのカー ソ ルの位置に挿入 さ れます。 サポー ト
さ れてい る コ マ ン ド については、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の 「言
語テ ンプ レー ト ウ ィ ン ド ウ の使用」 を参照 し て く だ さ い。
ソ ース フ ァ イルへの ク ロ ス プ ローブ
Vivado IDE では、 次の ウ ィ ン ド ウ か ら RTL ソ ース フ ァ イ ルへ ク ロ ス プ ロ ーブで き ます。
•
[Schematic] ウ ィ ン ド ウ (エ ラ ボ レー ト 済み RTL、 合成、 ま たは イ ンプ リ メ ン テーシ ョ ン)
•
[Netlist] ウ ィ ン ド ウ (合成ま たは イ ンプ リ メ ン テーシ ョ ン後)
•
[Device] ウ ィ ン ド ウ ( イ ンプ リ メ ン テーシ ョ ン後)
ク ロ ス プ ロ ーブす る には、 こ れ ら の ウ ィ ン ド ウ でセルを右 ク リ ッ ク し 、 [Go To Definition] ま たは [Go To Source] を ク
リ ッ ク し ます。 RTL ソ ース が開 き 、 その イ ン ス タ ン ス の行がハ イ ラ イ ト さ れます (図 3-22)。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
67
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-22
図 3‐22 : エ ラ ボ レー ト さ れたネ ッ ト リ ス ト の RTL ソ ースへのク ロ ス プ ローブ
ソ ース フ ァ イルに ク ロ ス プ ローブする Tcl コ マ ン ド
FILE_NAME お よ び LINE_NUMBER プ ロ パテ ィ を使用す る と 、セルが RTL ソ ース の ど こ にあ る かに関す る 情報を取得
で き ます。 こ の後、 テ キ ス ト エデ ィ タ ーで RTL ソ ース を開いて、 該当す る 行番号の行を確認 し ます。 次は、 関連す
る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : get_cells
注記 : デフ ォ ル ト では、 Tcl コ マ ン ド の get_cells を使用する と 、 Tcl コ ン ソ ールお よ び ロ グ フ ァ イ ルに最初の 500
個の結果が表示 さ れ ま すが、 それを超え る と 結果は割愛 さ れ ます。 デフ ォ ル ト 設定の変更方法については、 『Vivado
Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] の 「オブジ ェ ク ト の リ ス ト の処理」 を参照 し て く だ
さ い。
•
Tcl コ マ ン ド の例 : 次の例では、 Tcl コ マ ン ド の get_cells を使用 し て、 セルの特定 イ ン ス タ ン ス を取得 し 、 そ
のセル オブジ ェ ク ト のプ ロ パテ ィ を検索 し て、 該当する フ ァ イ ル と 行を レ ポー ト し てい ます。
set cellName dac_spi_i0
set fileName [get_property FILE_NAME [get_cells $cellName]]
set lineNum [get_property LINE_NUMBER [get_cells $cellName]]
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
68
第 3 章 : ソ ース フ ァ イルの操作
puts “Cell:$cellName is instanced in file:$fileName \
at line number $lineNum”
その他のテキス ト エデ ィ タ ーの使用
X-Ref Target - Figure 3-23
図 3‐23 : [Vivado Options] ダ イ ア ログ ボ ッ ク ス : [General] ページ
Vivado IDE では、 次を実行す る と 別のテ キ ス ト エデ ィ タ ーを使用す る こ と も で き ます。
1.
[Tools] → [Options] を ク リ ッ ク し 、
2.
[Vivado Options] ダ イ ア ロ グ ボ ッ ク ス の [General] ページ (図 3-23) の [Text Editor] セ ク シ ョ ン ま で ス ク ロ ールダ ウ
ン し 、 ド ロ ッ プダ ウ ン リ ス ト か ら 別のテ キ ス ト エデ ィ タ ーを選択 し ます。
リ ス ト か ら テ キ ス ト エデ ィ タ ーを選択する と 、 実行フ ァ イ ル名が表示 さ れます。 こ の実行フ ァ イ ルへのパ スは、
ユーザーのパ ス に含まれてい る 必要があ り ます。 ユーザー環境にパス を追加す る 方法については、 Windows ま た
は Linux の資料を参照 し て く だ さ い。
ご 希望 の テ キ ス ト エ デ ィ タ ー が リ ス ト さ れ て い な い 場合は、 [Custom Editor] を 選択 し ま す。 [Custom Editor
Definition] ダ イ ア ロ グ ボ ッ ク ス (70 ページの図 3-24) にそのテ キ ス ト エデ ィ タ ーを実行す る 実行フ ァ イ ルの名前
ま たはデ ィ レ ク ト リ と コ マ ン ド ラ イ ン構文を入力 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
69
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-24
図 3‐24 : カ ス タ ム エデ ィ タ ーの設定
ヒ ン ト : 別のテ キ ス ト エデ ィ タ ーを使用す る 場合は、 ク ロ ス プ ロ ーブは同 じ よ う には動作 し ません。 フ ァ イ ルは外部
エデ ィ タ ーで開 き ますが、 自動的にその行がハ イ ラ イ ト 表示 さ れ る こ と はあ り ません。
シ ミ ュ レーシ ョ ン ソ ースの操作
Vivado IDE では、 RTL プ ロ ジ ェ ク ト の ビヘ イ ビ アー シ ミ ュ レーシ ョ ン用に、 シ ミ ュ レーシ ョ ン ソ ース を追加で き ま
す。 シ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルには、 シ ミ ュ レーシ ョ ンの ス テ ィ ミ ュ ラ ス と し て使用す る HDL ベース のテ ス
ト ベン チ フ ァ イ ルが含 ま れ ま す。 シ ミ ュ レ ーシ ョ ン ソ ー ス は、 Vivado シ ミ ュ レ ー タ での ビヘ イ ビ アー シ ミ ュ レ ー
シ ョ ンに使用 さ れます。
シ ミ ュ レーシ ョ ン ソ ー ス フ ァ イ ルはシ ミ ュ レーシ ョ ン フ ァ イ ル セ ッ ト に格納 さ れ、 [Sources] ウ ィ ン ド ウ に フ ォ ル
ダー と し て表示 さ れ ます。 リ モー ト の も の を参照す る か、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れてい る も
の を使用で き ます。 シ ミ ュ レーシ ョ ン セ ッ ト を使用す る と 、 シ ミ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン ご と に異な
る ソ ース を定義で き ます。 た と えば、 1 つのシ ミ ュ レーシ ョ ン ソ ース に 1 つのテ ス ト ベンチを使用 し て ビヘ イ ビ アー
シ ミ ュ レーシ ョ ン用の ス テ ィ ミ ュ ラ ス を含め、別のシ ミ ュ レーシ ョ ン ソ ース には別のテ ス ト ベンチを使用す る こ と が
で き ます。シ ミ ュ レーシ ョ ン ソ ース をプ ロ ジ ェ ク ト に追加す る 際、フ ァ イ ルを追加す る シ ミ ュ レーシ ョ ン ソ ース セ ッ
ト を指定で き ます。
注記 : 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 10]の 「シ ミ ュ レー
シ ョ ン ソ ース フ ァ イ ルの追加ま たは作成」 を参照 し て く だ さ い。
シ ミ ュ レーシ ョ ン ソ ース フ ァ イルの追加 と 作成
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク す る か、 ま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し
ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create Simulation Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
°
[Add or Create Simulation Sources] ページ (図 3-25) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
70
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-25
図 3‐25 : Add Sources ウ ィ ザー ド : [Add or Create Simulation Sources] ページ
°
[Specify Simulation Set] : テ ス ト ベンチ フ ァ イ ルを含め る シ ミ ュ レーシ ョ ン セ ッ ト の名前お よ びデ ィ レ ク ト
リ を入力 し ま す。 ド ロ ッ プダ ウ ン リ ス ト か ら [Create Simulation Set] を選択す る と 、 新規シ ミ ュ レ ーシ ョ ン
セ ッ ト を定義で き ます。
°
[Add Files] : + 記号を ク リ ッ ク し て ド ロ ッ プダ ウ ン メ ニ ュ ーか ら [Add Files] を選択 し て、 フ ァ イ ル ブ ラ ウ
ザーを開 き 、 プ ロ ジ ェ ク ト に追加 し たいシ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを選択 し ます。
°
[Add Directories] : 選択 し たデ ィ レ ク ト リ に含まれ る すべてのシ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを追加 し ま
す。 指定 し たデ ィ レ ク ト リ にあ る 有効な ソ ース フ ァ イ ルがすべてプ ロ ジ ェ ク ト に追加 さ れます。
°
[Create File] : シ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを作成する [Create Source File] ダ イ ア ロ グ ボ ッ ク ス が開 き
ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Move Selected File Up] : フ ァ イ ルを リ ス ト の上方向に移動 し ます。
°
[Move Selected File Down] : フ ァ イ ルを リ ス ト の下方向に移動 し ます。
°
[Library] : フ ァ イ ルま たはデ ィ レ ク ト リ の ラ イ ブ ラ リ を指定 し ます。 定義済みの ラ イ ブ ラ リ 名か ら 選択す る
か、 新規 ラ イ ブ ラ リ 名を入力 し ます。
注記 : こ のオプシ ョ ンは、 VHDL フ ァ イ ルの場合のみ使用で き ます。 デフ ォ ル ト では、 HDL ソ ース フ ァ イ
ルは xil_defaultlib ラ イ ブ ラ リ に追加 さ れます。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し 、
参照で き ます。 Verilog お よ び SystemVerilog フ ァ イ ルの場合は、 xil_defaultlib の ま ま に し ておき ます。
°
[Scan and Add RTL Include Files into Project] : 追加 し た RTL フ ァ イ ルを ス キ ャ ン し 、 参照 さ れ る イ ン ク ルー ド
フ ァ イ ルをすべて追加 し ます。
°
[Copy Sources into Project] : ソ ース フ ァ イ ルを プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク ト で
は ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
注記 : [Add Directories] ボ タ ン を ク リ ッ ク し て ソ ー ス フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場合は、 フ ァ イ ル
が ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る 際にデ ィ レ ク ト リ 構造 も その ま ま保持 さ れます。詳細は、「 リ モー
ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
71
第 3 章 : ソ ース フ ァ イルの操作
°
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ のサブデ ィ レ ク ト リ に含まれ る
ソ ース フ ァ イ ルをすべて追加 し ます。
°
[Include all design sources for simulation] : sources_1 フ ァ イ ルセ ッ ト か ら のデザ イ ン ソ ース フ ァ イ ルをすべ
てシ ミ ュ レーシ ョ ン フ ァ イ ルセ ッ ト に コ ピー し ます。
制約の操作
Vivado IDE では、 Xilinx® Design Constraint (XDC) お よ び Synopsys Design Constraint (SDC) フ ァ イ ル形式がサポー ト さ
れ ま す。 SDC 形式では タ イ ミ ン グ制約、 XDC 形式は タ イ ミ ン グお よ び物理制約の両方が指定 さ れ ま す。 制約には、
配置、 タ イ ミ ン グ、 お よ び I/O に関す る 指示があ り ます。 制約は、 RTL 解析、 合成、 イ ンプ リ メ ン テーシ ョ ン を含め
たデザ イ ン フ ロ ーの さ ま ざ ま な段階中に作成で き ます。制約フ ァ イ ル、制約セ ッ ト 、制約の タ イ プについては、『Vivado
Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] を参照 し て く だ さ い。
Vivado Design Suite を使用す る と 、 プ ロ ジ ェ ク ト で制約を柔軟に定義お よ び作成で き ます。 1 つの XDC フ ァ イ ルを使
用 し てデザ イ ンで使用 さ れ る すべての制約を追加お よ び管理す る か、 ま たは制約を複数の XDC フ ァ イ ルに分類 し て
管理で き ます。 複数の制約セ ッ ト を作成 し て、 さ ま ざ ま な制約を試 し た り 、 複数のバージ ョ ンの制約を保存 し た り す
る こ と も 可能です。 各制約セ ッ ト には、 1 つま たはそれ以上の制約フ ァ イ ルを含め る こ と がで き ます。
ま た、 Vivado Design Suite では、 Tcl ス ク リ プ ト で制約を定義す る こ と も 可能です。 ス ク リ プ ト は Tcl シ ェ ルま たは Tcl
コ ン ソ ールで実行す る か、 ま たは、 デザ イ ンの制約セ ッ ト に追加 し ます。 Tcl ス ク リ プ ト で制約を定義す る と 、 制約
適用範囲指定や定義に、 標準 Tcl コ マ ン ド を使用す る こ と がで き ます。 し か し 、 こ の方法だ と 、 デザ イ ン制約への変
更を元の Tcl ス ク リ プ ト に保存す る こ と がで き ないな ど、 制限 さ れて し ま う こ と も あ り ます。
注記 : Tcl ス ク リ プ ト の使用については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] の「XDC
制約の概要」 を参照 し て く だ さ い。
1 つの制約セ ッ ト を複数のデザ イ ン で使用で き ま す。 ただ し 、 こ の場合は変更の管理に注意を払 う 必要があ り ます。
複数のデザ イ ンが開いていて、 保存 さ れていない変更があ る 場合、 ど の制約フ ァ イ ルを保存す る か を選択す る ダ イ ア
ロ グ ボ ッ ク ス が表示 さ れます。
注意 : 制約フ ァ イ ルを保存す る 際は、 保存 し ていないデザ イ ンの保存 し ていない制約定義を上書 き し ない よ う に注意
し て く だ さ い。
イ ンプ リ メ ン ト 済みデザ イ ンには、 イ ンプ リ メ ン テーシ ョ ン run の実行中に使用 さ れた制約セ ッ ト の スナ ッ プシ ョ ッ
ト が保存 さ れます。 こ の制約セ ッ ト の名前は、 開いてい る プ ロ ジ ェ ク ト のア ク テ ィ ブ制約セ ッ ト と 同 じ 名前であ る こ
と も あ り ます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く 際、 イ ンプ リ メ ン テーシ ョ ン run か ら 読み込まれた制約セ ッ ト が
プ ロ ジ ェ ク ト メ モ リ に現在あ る 制約セ ッ ト よ り 古い場合があ り 、デザ イ ン を保存 し た と き に新 し く 定義 さ れた制約が
失われ る 可能性があ り ま す。 通常は Vivado IDE で こ れ ら の リ ビ ジ ョ ン が管理 さ れ、 随時適切な処置を と る よ う メ ッ
セージが表示 さ れます。 し か し 、 メ モ リ にあ る 現在の制約セ ッ ト と 、 イ ンプ リ メ ン ト 済みデザ イ ンに関連付け ら れて
い る 制約 と の間に競合がお き る 可能性 も あ る ので、 注意 し て く だ さ い。
Vivado IDE では、 次の ウ ィ ン ド ウ を使用 し て制約を作成お よ び変更で き ます。
•
[Timing Constraints] ウ ィ ン ド ウ : プ ロ ジ ェ ク ト の XDC フ ァ イ ル タ イ ミ ン グ制約がすべて表で表示 さ れます。既存
の制約は イ ン タ ラ ク テ ィ ブに編集 し て、 ソ ース フ ァ イ ルに保存 し 戻す こ と がで き る ほか、 新規に制約を作成す る
こ と も で き ます。
•
[Device Constraints] ウ ィ ン ド ウ : 表示 さ れたバン ク で さ ま ざ ま な SelectIO™ イ ン タ ーフ ェ イ ス を設定で き ます。
•
[Physical Constraints] ウ ィ ン ド ウ : Pblock を作成お よ び管理で き ます。
ヒ ン ト : 合成済みデザ イ ンで [Tools] → [Timing] → [Constraints Wizard] を ク リ ッ ク す る と 、ザ イ リ ン ク ス の推奨す る 設
計手法に基づいた最上位 XDC フ ァ イ ルが作成 さ れ ます。 ウ ィ ザー ド に従っ て、 ク ロ ッ ク を指定 し 、 入力お よ び出力
制約を設定 し 、 ク ロ ッ ク 乗せ替えの ク ロ ッ ク グループに適切に制約を付け ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
72
第 3 章 : ソ ース フ ァ イルの操作
ビデオ : タ イ ミ ン グ制約ウ ィ ザー ド の概要については、 『Vivado Design Suite ビデオ チ ュ ー ト リ アル : タ イ ミ ン グ制約
ウ ィ ザー ド の使用』 を参照 し て く だ さ い。
制約 フ ァ イルの追加 と 作成
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま た は、 Flow Navigator で [Add Sources] を ク リ ッ ク す る か、 [Sources] ウ ィ ン ド ウ を 右 ク リ ッ ク し 、 [Add
Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド で [Add or Create Constraints] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create Constraints] ページ (図 3-26) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
X-Ref Target - Figure 3-26
図 3‐26 : Add Sources ウ ィ ザー ド : [Add or Create Constraints] ページ
°
[Specify Constraint Set] : 制約フ ァ イ ルを追加す る 制約セ ッ ト を選択 し ます。 デフ ォ ル ト では現在ア ク テ ィ ブ
な制約セ ッ ト が選択 さ れてい ますが、 別の制約セ ッ ト を指定 し た り 、 ド ロ ッ プダ ウ ン メ ニ ュ ーを使用 し て新
し い制約セ ッ ト を作成す る こ と も で き ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加す る XDC、 SDC、 ま たは Tcl ス ク リ プ ト フ ァ イ ルを指定 し ます。
°
[Create File] : 新 し い最上位の XDC が作成 さ れます。
°
[Remove] : 制約フ ァ イ ルの リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れます。
°
[Up]/[Down] : 制約フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 XDC、 SDC、 ま たは Tcl フ ァ イ ルには、 タ イ
ミ ン グお よ び物理制約を設定 し す る コ マ ン ド が含まれてお り 、 実行順序が決ま っ てい ます。 制約セ ッ ト にあ
る 複数の フ ァ イ ルは、 リ ス ト の最初にあ る も のか ら 順番に読み出 さ れ、 処理 さ れます。
重要 : 制約は、 制約セ ッ ト に リ ス ト さ れてい る 順序で読み出 さ れます。 同 じ 制約が 1 つの制約フ ァ イ ルで複数回定義
さ れてい る 場合、 ま たは複数の フ ァ イ ルで定義 さ れてい る 場合、 その制約の最終定義が優先 さ れます。
°
[Copy Constraints into Project] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
73
第 3 章 : ソ ース フ ァ イルの操作
タ ーゲ ッ ト XDC フ ァ イルの設定
デザ イ ン、 制約を変更す る と 、 変更 さ れた制約は、 それが定義 さ れてい る XDC フ ァ イ ルに ま た書 き 込まれ ます。 新
し く 作成 し た制約は、 その制約を保存す る と き に、 タ ーゲ ッ ト XDC フ ァ イ ル と し て指定 さ れてい る XDC フ ァ イ ルに
書 き 込まれ ます。 デフ ォ ル ト では、 新 し い制約セ ッ ト には タ ーゲ ッ ト XDC フ ァ イ ルはあ り ません。 新 し く 制約を作
成す る 場合は、 制約を保存す る 際に タ ーゲ ッ ト XDC フ ァ イ ルを設定する 必要があ り ます。
ヒ ン ト : 既存の制約を修正 し た場合は、 タ ーゲ ッ ト XDC ではな く 、 元の XDC フ ァ イ ルに書き 込まれます。
制約を保存す る 必要があ る 場合は、[Save Constraints] ツールバー ボ タ ン
が使用可能にな り ます。[Save Constraints]
ツールバー ボ タ ン を ク リ ッ ク す る と 、[Save Constraints File] ダ イ ア ロ グ ボ ッ ク ス (図 3-27) が表示 さ れ、 ア ク テ ィ ブな
制約セ ッ ト で既存 XDC フ ァ イ ルを選択す る か、 ま たは新規フ ァ イ ルを作成 し てそのア ク テ ィ ブ制約セ ッ ト に追加で
き ます。
X-Ref Target - Figure 3-27
図 3‐27 : [Save Target Constraints File] ダ イ ア ログ ボ ッ ク ス
XDC フ ァ イ ルが タ ーゲ ッ ト と し て設定 さ れ る と 、 [Sources] ウ ィ ン ド ウ の フ ァ イ ル名の横に 「(target)」 と 表示 さ れ ま
す (図 3-28)。 タ ーゲ ッ ト XDC フ ァ イ ルは、 [Souces] ウ ィ ン ド ウ を右 ク リ ッ ク し て [Set as Target Constraint File] を ク
リ ッ ク し ていつで も 変更で き ます。
X-Ref Target - Figure 3-28
図 3‐28 : [Sources] ウ ィ ン ド ウの タ ーゲ ッ ト XDC フ ァ イル
元の XDC フ ァ イルの参照または フ ァ イルの コ ピー
ほかの ソ ース フ ァ イ ル と 同様、 XDC フ ァ イ ル も リ モー ト にあ る も の参照す る か、 ロ ーカルのプ ロ ジ ェ ク ト に コ ピー
で き ます。プ ロ ジ ェ ク ト が リ モー ト フ ァ イ ルを参照 し てい る 場合、参照 さ れてい る ソ ース フ ァ イ ルへの変更を Vivado
IDE が自動的に検出 し 、 最新の フ ァ イ ルをデザ イ ンに読み込む よ う メ ッ セージが表示 さ れます。
プ ロ ジ ェ ク ト に制約を コ ピーす る には、 次のいずれかを実行 し ます。
•
[Add Sources] コ マ ン ド で制約フ ァ イ ルをプ ロ ジ ェ ク ト に追加す る 際に [Copy Constraints into Project] を オンにす
る と 、 制約フ ァ イ ルがプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
74
第 3 章 : ソ ース フ ァ イルの操作
•
制約フ ァ イ ルを最初 リ モー ト ソ ース と し て追加 し 、 後でプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る 場合は、
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し て [Copy File into Project] を ク リ ッ ク し て ソ ース フ ァ イ ルを個別
に コ ピーす る か、 ま たは [Copy All Files Into Project] を ク リ ッ ク し てすべての リ モー ト ソ ース フ ァ イ ルを コ ピー
し ます。
注記 : 詳細は、「 リ モー ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
制約セ ッ ト の使用
制約セ ッ ト と は、 1 つま たは複数の制約フ ァ イ ルで、 それぞれ個別に管理 さ れ、 解析お よ び イ ンプ リ メ ン テーシ ョ ン
用に、 イ ン メ モ リ デザ イ ンに連結 さ れ る も のを いい ます。 制約セ ッ ト では、 デザ イ ン プ ロ セ ス のあ る 時点ま たは特
定の条件下で使用 さ れ る 制約フ ァ イ ルが定義 さ れます。 複数の制約セ ッ ト を定義する こ と に よ り 、 フ ロ アプ ラ ンや タ
イ ミ ン グの問題を解決す る ために異な る 制約を試す こ と がで き ます。
XDC フ ァ イ ルは、 合成 と イ ン プ リ メ ン テーシ ョ ン のいずれか、 ま たは両方で使用 さ れ ます。 デフ ォ ル ト では、 制約
フ ァ イ ルの USED_IN プ ロ パテ ィ で定義 さ れてい る よ う に、すべての XDC フ ァ イ ルが、合成お よ び イ ンプ リ メ ン テー
シ ョ ンの両方で使用 さ れ る よ う に設定 さ れます。 USED_IN プ ロ パテ ィ を変更する には、 [Sources] ウ ィ ン ド ウ で XDC
フ ァ イ ルを選択 し 、 [Source File Properties] ウ ィ ン ド ウ の [General] タ ブで該当す る チ ェ ッ ク ボ ッ ク ス を ク リ ッ ク し て、
オ ン/オ フ を切 り 替え ま す (76 ページの図 3-29)。 USED_IN プ ロ パテ ィ の詳細は、 『Vivado Design Suite プ ロ パテ ィ リ
フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 14] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
75
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-29
図 3‐29 : XDC フ ァ イルの USED_IN プ ロパテ ィ
制約セ ッ ト の作成 と 編集
1.
[Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し 、 [Edit Constraint Sets] を ク リ ッ ク し ます。
2.
[Edit Constraint Set] ダ イ ア ロ グ ボ ッ ク ス で次のいずれか を実行 し ます。
°
°
制約セ ッ ト を編集す る 場合は、[Specify Constraint Set] フ ィ ール ド の隣の ド ロ ッ プダ ウ ン メ ニ ュ ーを ク リ ッ ク
し 、 制約セ ッ ト を選択 し ます。
制約セ ッ ト を作成す る 場合は、[Specify Constraint Set] フ ィ ール ド の隣の ド ロ ッ プダ ウ ン メ ニ ュ ーを ク リ ッ ク
し 、 [Create Constraint Set] を選択 し ま す。 [Create Constraint Set Name] ダ イ ア ロ グ ボ ッ ク ス (図 3-30) で制約
セ ッ ト の名前を入力 し 、 [OK] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
76
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-30
図 3‐30 : [Create Constraint Set Name] ダ イ ア ロ グ ボ ッ ク ス
3.
[Edit Constraint Set] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定 し 、 [OK] を ク リ ッ ク し ます。
°
[Add Files] : 制約セ ッ ト に追加す る XDC ま たは SDC フ ァ イ ルを指定 し ます。
°
[Create File] : 制約セ ッ ト に追加す る 新 し い XDC フ ァ イ ルの名前 と デ ィ レ ク ト リ を指定 し ます。
°
[Remove] : 制約フ ァ イ ルの リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れます。
注記 : [OK] ボ タ ン を使用す る と 、 ま だ制約セ ッ ト に追加 さ れていない フ ァ イ ルのみを削除で き ます。 既に制
約セ ッ ト に追加 さ れた フ ァ イ ルを削除す る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Remove
File from Project] を ク リ ッ ク し ます。
°
°
[Up]/[Down] : XDC お よ び SDC フ ァ イ ルを リ ス ト の上下方向に移動 し ます。XDC お よ び SDC フ ァ イ ルには、
タ イ ミ ン グお よ び物理制約を設定 し 、 記述順序に依存する コ マ ン ド が含まれます。 制約セ ッ ト に複数の制約
フ ァ イ ルが含ま れ る 場合、 [Sources] ウ ィ ン ド ウ に表示 さ れ る 順序で フ ァ イ ルが処理 さ れます。 最初に リ ス ト
さ れてい る フ ァ イ ルが最初に処理 さ れます。 複数の制約フ ァ イ ルに同 じ 制約が含まれてい る 場合、 後に処理
さ れた フ ァ イ ルの制約定義が使用 さ れます。
[Copy Constraints into Project] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
ア ク テ ィ ブ制約セ ッ ト の定義
複数の制約セ ッ ト が存在す る 場合、 ア ク テ ィ ブ制約セ ッ ト を指定す る 必要があ り ます。 デフ ォ ル ト では、 合成ま たは
イ ンプ リ メ ン テーシ ョ ン run を開始 し た と き 、 ま たはエ ラ ボ レー ト 済み、 合成済み、 ま たは イ ンプ リ メ ン テーシ ョ ン
済みデザ イ ン を開いた と き に、 ア ク テ ィ ブな制約セ ッ ト が使用 さ れます。
制約セ ッ ト を ア ク テ ィ ブに設定す る には、 [Sources] ウ ィ ン ド ウ で制約セ ッ ト を右 ク リ ッ ク し 、 [Make active] を ク リ ッ
ク し ます。 [Sources] ウ ィ ン ド ウ のア ク テ ィ ブ制約セ ッ ト の横に太字で 「(active)」 と 表示 さ れます (図 3-31)。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
77
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-31
図 3‐31 : ア ク テ ィ ブ制約セ ッ ト
[Save Constraints As] コ マ ン ド を使用 し た制約セ ッ ト の作成
デザ イ ン フ ロ ーの任意時に、[Save Constraints As] コ マ ン ド を使用 し て ア ク テ ィ ブな制約セ ッ ト を コ ピーす る こ と も で
き ます。 制約フ ァ イ ルにいろいろ と 変更を加えた り 、 別の制約を使用 し てみ る には、 そ う し た変更を新 し い制約セ ッ
ト と し て保存す る と 便利です。
[File] → [Save Constraints As] を ク リ ッ ク し 、 [Save Design As] ダ イ ア ロ グ ボ ッ ク ス (78 ページの図 3-32) を開き 、 すべ
ての制約を保存す る 新 し い制約セ ッ ト 名を入力 し ます。
X-Ref Target - Figure 3-32
図 3‐32 : [Save Constraints As] ダ イ ア ログ ボ ッ ク ス
[Save Constraints As] コ マ ン ド を使用す る と 、 次の処理が実行 さ れます。
•
新 し い制約セ ッ ト が作成 さ れます。
•
ア ク テ ィ ブ制約フ ァ イ ルが ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ の新 し い制約セ ッ ト に コ ピー さ れます。
•
制約への変更は コ ピー さ れた制約フ ァ イ ルに記述 さ れ、 元の XDC フ ァ イ ルは変更 さ れません。
•
[Save Design As] ダ イ ア ロ グ ボ ッ ク ス には、 新 し い制約セ ッ ト を ア ク テ ィ ブにす る オプシ ョ ンがあ り ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
78
第 3 章 : ソ ース フ ァ イルの操作
制約のエ ク スポー ト
Vivado IDE で制約フ ァ イ ルを作成 し 、 ス ク リ プ ト デザ イ ン フ ロ ーで使用 し たほ う が よ いケース も あ り ます。 イ ン メ
モ リ デザ イ ンに適用 さ れてい る すべての制約を 1 つの フ ァ イ ルにエ ク ス ポー ト する には、 [File] → [Export] → [Export
Constraints] を ク リ ッ ク し ます。
I/O ポー ト お よ びバン ク の I/O 規格制約 (ユーザー指定値お よ び Vivado IDE で自動的に割 り 当て ら れたデフ ォ ル ト 値
の両方) を XDC フ ァ イ ルにエ ク ス ポー ト す る には、 [File] → [Export] → [Export I/O Ports] を ク リ ッ ク し 、 XDC フ ァ イ
ルを生成 し ます。
制約 フ ァ イルのイ ネーブル/デ ィ ス エーブル
制約フ ァ イ ルを追加ま たは作成す る と 、 [Sources] ウ ィ ン ド ウ でデフ ォ ル ト で イ ネーブルにな り ます。 制約フ ァ イ ルを
デ ィ ス エーブルにす る と 、エ ラ ボ レーシ ョ ン、合成、 ま たは イ ンプ リ メ ン テーシ ョ ンで使用 さ れない よ う にで き ます。
•
制約フ ァ イ ルをデ ィ ス エーブルにす る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Disable File] を ク
リ ッ ク し ます。
•
ソ ース フ ァ イ ルを イ ネーブルにす る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Enable File] を ク
リ ッ ク し ます。
制約評価順の変更
関連す る 制約セ ッ ト 内ではユーザー制約の順序を変更で き ます。 順序を変更す る には、 [Sources] ウ ィ ン ド ウ で XDC
フ ァ イ ルを ド ラ ッ グ ア ン ド ド ロ ッ プ し ます。
Vivado IDE で処理 さ れ る すべての XDC フ ァ イ ルの順序を取得す る には、Tcl コ ン ソ ールに report_compile_order
-constraints コ マ ン ド を入力 し ます。 こ れに よ り 、 ユーザー制約お よ び IP を含むデザ イ ンのすべての制約が リ ス
ト さ れます。
注記 : 制約の順序を変更す る 方法については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] を
参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
79
第 3 章 : ソ ース フ ァ イルの操作
非プ ロ ジ ェ ク ト モー ド でのソ ースの操作
非プ ロ ジ ェ ク ト モー ド の場合、 ソ ース フ ァ イ ルが自動的に管理 さ れ る プ ロ ジ ェ ク ト モー ド と 異な り 、 ソ ース フ ァ イ
ルはユーザーが管理す る 必要があ り ます。 Tcl コ マ ン ド を使用す る と 、 ネ ッ ト リ ス ト 、 ビ ッ ト ス ト リ ーム、 レ ポー ト
フ ァ イ ルな ど、 処理す る フ ァ イ ルお よ び生成す る 出力フ ァ イ ルを指定で き ます。 表 3-1 は、 よ く 使用 さ れ る プ ロ ジ ェ
ク ト モー ド の コ マ ン ド と それに対す る 非プ ロ ジ ェ ク ト モー ド の コ マ ン ド を リ ス ト し てい ます。 デザ イ ン フ ロ ーのプ
ロ ジ ェ ク ト モー ド お よ び非プ ロ ジ ェ ク ト モー ド の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの
概要』 (UG892) [参照 1]の 「プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド 」 を参照 し て く だ さ い。 Tcl コ マ ン ド の詳細
については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参照 し て く だ さ い。
注記 : 非プ ロ ジ ェ ク ト モー ド の場合、 フ ァ イ ルは Tcl ス ク リ プ ト の read_* コ マ ン ド の リ ス ト 順に コ ンパ イ ル さ れま
す。
注記 : 現在の イ ン ス ト ールで新 し いパーツ を選択す る には、 現在のプ ロ ジ ェ ク ト を閉 じ て、 パーツ を追加す る ために
現在の イ ン ス ト ールを ア ッ プグ レー ド し て く だ さ い。
表 3‐1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の コ マ ン ド
操作
デザ イ ン ソ ース の読み込み
プ ロ ジ ェ ク ト モー ド の コ マ ン ド
add_files
import_files
非プ ロ ジ ェ ク ト モー ド の コ マ ン ド
read_<file_type>
(例 :read_verilog、 read_vhdl、
read_xdc、 read_edif、 read_ip)
注記 : 非プ ロ ジ ェ ク ト モー ド の場合、
read_edif コ マ ン ド を使用す る と NGC
フ ァ イ ルを イ ン ポー ト で き ます。
合成の実行
launch_runs synth_1
synth_design
イ ンプ リ メ ン テーシ ョ ンの
実行
launch_runs impl_1
opt_design
place_design
phys_opt_design
route_design
launch_runs impl_1 -to_step
write_bitstream
write_bitstream <file_name>
report_timing
report_timing_summary
report_drc
report_clock_interaction
report_utlization
report_route_status
プ ロ ジ ェ ク ト モー ド と 同 じ
レ ポー ト の生成
注記 : プ ロ ジ ェ ク ト モー ド では、 多 く の レ
ポー ト が自動的に生成 さ れます。 すべての
レ ポー ト を リ ス ト す る には、 help
report_* を入力 し ます。
シ ミ ュ レーシ ョ ンの実行
launch_xsim
xsim
注記 : こ の コ マ ン ド は、 Vivado IDE 外で
Vivado シ ミ ュ レーシ ョ ン を起動 し ます。
デザ イ ン チ ェ ッ ク ポ イ ン ト の
書き出し
write_checkpoint
<file_name>.dcp
プ ロ ジ ェ ク ト モー ド と 同 じ
注記 : プ ロ ジ ェ ク ト モー ド の場合、 DCP
フ ァ イ ルは イ ンプ リ メ ン テーシ ョ ンの段階
ご と に自動的に作成 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
80
第 3 章 : ソ ース フ ァ イルの操作
次は、 さ ま ざ ま な ソ ース フ ァ イ ルを読み込む非プ ロ ジ ェ ク ト モー ド の ス ク リ プ ト 例です。
# create_bft_batch.tcl
# bft sample design
# A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow
#
# NOTE:typical usage would be "vivado -mode tcl -source create_bft_batch.tcl"
#
# STEP#0: define output directory area.
#
set outputDir ./Tutorial_Created_Data/bft_output
file mkdir $outputDir
#
# STEP#1: setup design sources and constraints
#
read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ]
read_vhdl ./Sources/hdl/bft.vhdl
read_verilog [ glob ./Sources/hdl/*.v ]
read_xdc ./Sources/bft_full.xdc
#
# STEP#2: run synthesis, report utilization and timing estimates, write checkpoint
design
#
synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt
write_checkpoint -force $outputDir/post_synth
report_timing_summary -file $outputDir/post_synth_timing_summary.rpt
report_power -file $outputDir/post_synth_power.rpt
#
# STEP#3: run placement and logic optimzation, report utilization and timing
estimates, write checkpoint design
#
opt_design
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place
report_timing_summary -file $outputDir/post_place_timing_summary.rpt
#
# STEP#4: run router, report actual utilization and timing, write checkpoint design,
run drc, write verilog and xdc out
#
route_design
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt
report_timing -sort_by group -max_paths 100 -path_type summary -file
$outputDir/post_route_timing.rpt
report_clock_utilization -file $outputDir/clock_util.rpt
report_utilization -file $outputDir/post_route_util.rpt
report_power -file $outputDir/post_route_power.rpt
report_drc -file $outputDir/post_imp_drc.rpt
write_verilog -force $outputDir/bft_impl_netlist.v
write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc
#
# STEP#5: generate a bitstream
#
write_bitstream -force $outputDir/bft.bit
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
81
第 4章
RTL デザイ ンのエ ラ ボレーシ ョ ン
概要
Vivado® Design Suite では、 プ ロ ジ ェ ク ト に追加 さ れた、 ま たは非プ ロ ジ ェ ク ト モー ド で メ モ リ に読み込まれた、 ソ ー
ス フ ァ イ ルお よ びデザ イ ン制約で表 さ れたデザ イ ン を 3 通 り の方法で確認で き ます。 エ ラ ボ レー ト さ れた RTL デザ
イ ン、 合成後のデザ イ ン、 配置配線後のデザ イ ンがその 3 つです。
最上位デザ イ ンの RTL エ ラ ボ レーシ ョ ン では、 RTL リ ン ト チ ェ ッ ク の実行、 高位最適化の実行、 RTL への ロ ジ ッ ク
の自動推論、 デザ イ ン デー タ 構造の構築が行われ、 ま たオプシ ョ ンでデザ イ ン制約が適用 さ れます。 デフ ォ ル ト のア
ウ ト オブ コ ン テ キ ス ト デザ イ ン フ ロ ーでは、 IP コ ア、 ブ ロ ッ ク デザ イ ン、 DSP モジ ュ ール、 ま たは階層ブ ロ ッ ク
を含んだ、 合成 さ れたデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) をエ ラ ボ レー ト さ れたデザ イ ンに含め る こ と も で き ます。
ヒ ン ト : エ ラ ボ レー ト さ れたデザ イ ン に OOC モジ ュ ールを含め る 場合、 Vivavo ツールがデザ イ ン で更新 さ れていな
い モ ジ ュ ール を 合成す る た め、 エ ラ ボ レ ー シ ョ ン プ ロ セ ス に時間がか る 可能性が あ り ま す。 こ の機能は [Project
Settings] ダ イ ア ロ グ ボ ッ ク ス の [Elaboration] タ ブ で オ ン/ オ フ の 切 り 替 え が で き ま す。 詳 細 は、 34 ペー ジ の
「[Elaboration] ページ」 を参照 し て く だ さ い。
Vivado Design Suite には、 RTL デザ イ ンの解析機能が多 く 含まれます。 た と えば、 次の よ う な機能があ り ます。
•
[Schematic] お よ び [Hierarchy] ウ ィ ン ド ウ を使用 し たデザ イ ン詳細の視覚化
•
ウ ィ ン ド ウ間の ク ロ ス プ ロ ーブ
•
デザ イ ン ルール チ ェ ッ ク (DRC) の実行
•
メ ッ セージのチ ェ ッ ク
•
[Find] コ マ ン ド を使用 し た生成 さ れた RTL ネ ッ ト リ ス ト の検索
•
RTL レベルでの制約の作成お よ び適用
注記 : こ の段階では タ イ ミ ン グ解析は実行で き ません。
プロジ ェ ク ト モー ド でのデザイ ンのエ ラボレーシ ョ ン
プ ロ ジ ェ ク ト で イ ネーブルにな っ てい る RTL ソ ース フ ァ イ ルは、 合成中に自動的にエ ラ ボ レー ト さ れます。 ソ ース
フ ァ イ ルは、制約の適用お よ び RTL ネ ッ ト リ ス ト 確認のために手動でエ ラ ボ レー ト す る こ と も で き ます。エ ラ ボ レー
シ ョ ンお よ び コ ンパ イ ルに関す る メ ッ セージは、 [Messages] ウ ィ ン ド ウ に表示 さ れます。 エ ラ ボ レーシ ョ ンに使用 さ
れ る HDL 言語 は、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [General] ペー ジ で 選択 で き ま す。 詳細は、 第 2 章 の
「[General] ページ」 を参照 し て く だ さ い。
エ ラ ボ レーシ ョ ン結果は、 デザ イ ン と 一緒には保存 さ れません。 エ ラ ボ レー ト さ れたデザ イ ン を開 く たびに、 エ ラ ボ
レーシ ョ ンが再実行 さ れます。 ただ し 、 エ ラ ボ レー ト さ れたデザ イ ンで作成 さ れた制約は保存する こ と がで き ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
82
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
デザ イ ン ソ ース フ ァ イ ルを プ ロ ジ ェ ク ト に イ ン ポー ト し た ら 、 次のいずれかの コ マ ン ド を使用 し てデザ イ ン を エ ラ
ボ レー ト し て開 き ます。
•
[Flow] → [Open Elaborated Design] を ク リ ッ ク し ます。
•
Flow Navigator の [RTL Analysis] セ ク シ ョ ンで [Open Elaborated Design] を ク リ ッ ク する と 、エ ラ ボ レー ト 済みネ ッ
ト リ ス ト 、 ア ク テ ィ ブな制約セ ッ ト お よ び タ ーゲ ッ ト デバ イ ス が メ モ リ に読み込まれます。
エ ラ ボ レー ト す る デザ イ ン名を指定す る には、 次のいずれかの方法を使用 し ます。
•
[Flow] → [New Elaborated Design] を ク リ ッ ク し ます。
•
Flow Navigator の [RTL Analysis] 右 ク リ ッ ク メ ニ ュ ーか ら [New Elaborated Design] を ク リ ッ ク し ます。
デザ イ ン ソ ース にア ウ ト オブ コ ン テ キ ス ト モジ ュ ール、 IP コ ア、 ブ ロ ッ ク デザ イ ン、 DSP モジ ュ ールがあ る 場合
は、 83 ページの図 4-1にあ る メ ッ セージが、 エ ラ ボ レー ト さ れたデザ イ ン を開いた と き に表示 さ れ る 可能性があ り ま
す。 こ の メ ッ セージは、 [Elaboration Settings] ダ イ ア ロ グ ボ ッ ク ス の [Link IP from OOC runs] お よ び [Load constraints]
オプシ ョ ン を選択 し てい る 場合、 エ ラ ボ レー ト さ れたデザ イ ン を開 く のに時間がかか る 可能性があ る こ と を知 ら せて
い ます。 エ ラ ボ レーシ ョ ン を ス ピー ド ア ッ プ さ せ る には、 こ れ ら オプシ ョ ン を オ フ に し て く だ さ い。 詳細は、 34 ペー
ジの 「[Elaboration] ページ」 を参照 し て く だ さ い。
X-Ref Target - Figure 4-1
図 4‐1 : エ ラ ボ レー ト さ れたデザイ ンに関する メ ッ セージ
エ ラ ボ レー ト さ れたデザ イ ン を開 く と 、 RTL ソ ース フ ァ イ ルがチ ェ ッ ク お よ び コ ンパ イ ル さ れ、 最上位回路図が生
成 さ れ、 デフ ォ ル ト の ビ ュ ー レ イ ア ウ ト でデザ イ ン が表示 さ れ ま す。 図 4-2 は、 エ ラ ボ レ ー ト さ れたデザ イ ン のデ
フ ォ ル ト ビ ュ ー レ イ ア ウ ト の [RTL Schematic] ウ ィ ン ド ウ を示 し てい ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
83
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
X-Ref Target - Figure 4-2
図 4‐2 : [RTL Schematic] ウ ィ ン ド ウのエ ラ ボレー ト さ れたデザイ ン
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
84
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
ほ と ん ど の場合、 Vivado IDE で自動的に最上位モジ ュ ールが検出 さ れます。 候補が複数あ る 場合は、 その中か ら 選ぶ
よ う に、 メ ッ セージが表示 さ れ ます。 最上位モジ ュ ールは、 [Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し [Set as Top] コ マ ン
ド を使用 し て手動で定義す る こ と も で き ます。
注記 : [Sources] ウ ィ ン ド ウ の [Hierarchy] タ ブでは、 最上位モジ ュ ールが
ア イ コ ンで表示 さ れます。
プ ロ ジ ェ ク ト モー ド でのデザイ ン エ ラ ボレーシ ョ ンに使用する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : synth_design -rtl -name <project_name>
•
Tcl コ マ ン ド の例 : synth_design -rtl -name rtl_1
エ ラ ボレーシ ョ ン メ ッ セージの表示
[Messages] ウ ィ ン ド ウ に コ ンパ イ ル結果が表示 さ れ、 RTL ソ ース フ ァ イ ルに問題があ る 場合は [Elaborated Design] セ
ク シ ョ ンの下に表示 さ れます (図 4-3)。
[Messages] ウ ィ ン ド ウ で フ ィ ル タ ー機能を利用 し て、 RTL エ ラ ボ レーシ ョ ンの結果か ら メ ッ セージ を タ イ プ別に表示
す る こ と がで き ま す。 [Messages] ウ ィ ン ド ウ の上部にあ る チ ェ ッ ク ボ ッ ク ス のオ ン/オ フ を切 り 替え、 エ ラ ー、 ク リ
テ ィ カル警告、 警告、 情報 メ ッ セージ を表示/非表示に し ます。
[Messages] ウ ィ ン ド ウ でエ ラ ーま たは警告 メ ッ セージ を選択す る と 、 該当す る RTL ソ ース フ ァ イ ルが Vivado IDE テ
キ ス ト エデ ィ タ ーに読み込まれ、 問題の ソ ース コー ド がハ イ ラ イ ト さ れます。
X-Ref Target - Figure 4-3
図 4‐3 : エ ラ ボ レー ト さ れたデザイ ンの メ ッ セージ
RTL ロ ジ ッ ク 階層の解析
Vivado IDE には、 デザ イ ンの ロ ジ ッ ク 階層を表示する 複数のビ ュ ーがあ り ます。
•
[RTL Netlist] ウ ィ ン ド ウ : 展開可能な ロ ジ ッ ク ツ リ ーを表示 し ます。
•
[RTL Hierarchy] ウ ィ ン ド ウ : ロ ジ ッ ク 階層を グ ラ フ ィ カルに表示 し ます。
•
[RTL Schematic] ウ ィ ン ド ウ : 回路図表示で ロ ジ ッ ク お よ び階層を調べる のに使用 し ます。
デフ ォ ル ト では Flow Navigator で [Elaborated Design] を ク リ ッ ク し てデザ イ ン を エ ラ ボ レー ト す る と 、[RTL Schematic]
ウ ィ ン ド ウ にデザ イ ン全体が表示 さ れます。 1 つの ウ ィ ン ド ウ で選択 し たオブジ ェ ク ト はほかの ウ ィ ン ド ウ で も 選択
さ れ、 ロ ジ ッ ク デザ イ ン を解析 し やす く な っ てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の
使用』 (UG893) [参照 6] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
85
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
エ ラ ボレー ト さ れたデザイ ン回路図の解析
[RTL Netlist] ウ ィ ン ド ウ で任意の ロ ジ ッ ク 階層 を選択 し 、 [RTL Schematic] ウ ィ ン ド ウ で表示で き ま す。 選択 し た ロ
ジ ッ ク の [RTL Schematic] ウ ィ ン ド ウ を開 く には、 次のいずれかを実行 し ます。
•
[Tools] → [Schematic] を ク リ ッ ク し ます。
•
[RTL Netlist] ウ ィ ン ド ウ で右 ク リ ッ ク し [Schematic] を ク リ ッ ク し ます。
RTL 回路図の移動、拡張、確認に関 し ては 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6]
の 「[Schematic] ウ ィ ン ド ウ」 を参照 し て く だ さ い。
ま た、 [Find] コ マ ン ド の さ ま ざ ま な フ ィ ル タ ー機能を使用 し 、 エ ラ ボ レー ト さ れたデザ イ ンで ロ ジ ッ ク オブジ ェ ク ト
を検索で き ます。 詳細は 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の 「デザ イ ン ま
たはデバ イ ス オブジ ェ ク ト の検索」 を参照 し て く だ さ い。
[RTL Hierarchy] ウ ィ ン ド ウの使用
Vivado IDE には、デザ イ ンの階層を表示す る のに便利な [RTL Hierarchy] ウ ィ ン ド ウ が含まれます。選択 し た ロ ジ ッ ク
の [RTL Hierarchy] ウ ィ ン ド ウ を開 く には、 次のいずれか を実行 し ます。
•
[Tools] → [Show Hierarchy] を ク リ ッ ク し ます。
•
[RTL Netlist] ま たは [Schematic] ウ ィ ン ド ウ で右 ク リ ッ ク し [Show Hierarchy] を ク リ ッ ク し ます。
こ れ ら の ウ ィ ン ド ウ では、 ク ロ ス プ ロ ーブがサポー ト さ れてい ます。 [RTL Netlist] ま たは [Schematic] ウ ィ ン ド ウ で ロ
ジ ッ ク を選択す る と 、 それが [RTL Hierarchy] ウ ィ ン ド ウ でハ イ ラ イ ト さ れます。
RTL ソ ース フ ァ イルの解析
[RTL Netlist] ま たは [Schematic] ウ ィ ン ド ウ で ロ ジ ッ ク エ レ メ ン ト を選択 し 、イ ン ス タ ン シエー ト さ れてい る RTL ソ ー
ス フ ァ イ ルでそのオブジ ェ ク ト の イ ン ス タ ン シエーシ ョ ン を開 く こ と がで き る ほか、 RTL フ ァ イ ルの ロ ジ ッ ク の定
義を開 く こ と がで き ます。
選択 し た ロ ジ ッ ク の イ ン ス タ ン シ エーシ ョ ン ま たは定義を RTL ソ ー ス フ ァ イ ルで開 く には、 オブ ジ ェ ク ト を右 ク
リ ッ ク し て [Go To Instantiation] ま たは [Go To Definition] を ク リ ッ ク し ます。 ソ ース フ ァ イ ルが開 き 、 該当す る イ ン ス
タ ン ス がハ イ ラ イ ト さ れます。
DRC の実行
こ のセ ク シ ョ ン では、 Vivado IDE でデザ イ ン ルール チ ェ ッ ク (DRC) のルールを選択 し て DRC 違反を解析す る 方法
について説明 し ます。 Tcl コ マ ン ド を使用 し た DRC の実行については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン
ス ガ イ ド 』 (UG835) [参照 4] を参照 し て く だ さ い。カ ス タ ム DRC の作成については、『Vivado Design Suite ユーザー ガ
イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 3] を参照 し て く だ さ い。
推奨 : RTL DRC を実行す る と 、 合成前のエ ラ ボ レーシ ョ ン段階で早期にデザ イ ンの問題を発見で き る ので、 設計全体
の時間を節約す る こ と がで き ます。
DRC ルールの選択
1.
エ ラ ボ レー ト 済みのデザ イ ン を開いて、 [Tools] → [Report DRC] を ク リ ッ ク し ます。
注記 : ま た は、 Flow Navigator の [Report DRC] を ク リ ッ ク す る か、 Tcl コ ン ソ ール に 「report_drc -name
<results_name>」 と 入力 し ます。
2.
[Report DRC] ダ イ ア ロ グ ボ ッ ク ス (図 4-4) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
86
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
°
°
°
[Results name] : DRC 結果の名前を指定 し ます。 こ こ で指定 し た名前が [DRC] ウ ィ ン ド ウ の タ ブに表示 さ れ
ま す。 わか り やすい名前に し てお く と 、 デバ ッ グ中に [DRC] ウ ィ ン ド ウ で特定 run が識別 し やす く な り ま
す。 デフ ォ ル ト では、 入力 し た名前が出力フ ァ イ ル名にな り ます。
[Output file] : DRC 結果を フ ァ イ ルに保存する 際の フ ァ イ ルの名前を入力で き ます (オプシ ョ ン)。 デフ ォ ル
ト 以外のパ ス を選択す る 場合は、 参照ボ タ ン を使用 し て く だ さ い。
[Rule deck] : デザ イ ンで実行す る ルール デ ッ ク を指定 し ます。 ルール デ ッ ク はデザ イ ン ルール チ ェ ッ ク を
ま と めた も ので、 合成後や イ ンプ リ メ ン テーシ ョ ン な ど、 FPGA デザ イ ン フ ロ ーの さ ま ざ ま な段階で実行 さ
れます。
-
[default] : ザ イ リ ン ク ス の推奨す る チ ェ ッ ク のデフ ォ ル ト セ ッ ト を実行 し ます。
-
[bitstream_checks] : ビ ッ ト ス ト リ ーム生成に関す る チ ェ ッ ク を実行 し ます。
-
[methodology_checks] : エ ラ ボ レー ト さ れたデザ イ ン を開いた と き に XDC フ ァ イ ル と RTL フ ァ イ ルの
チ ェ ッ ク を実行 し ます。
-
[opt_checks] : ロ ジ ッ ク 最適化に関す る チ ェ ッ ク を実行 し ます。
-
[placer_checks] :配置に関す る チ ェ ッ ク を実行 し ます。
-
[router_checks] : 配線に関す る チ ェ ッ ク を実行 し ます。
-
[timing_checks] : タ イ ミ ン グ制約に関す る チ ェ ッ ク を実行 し ます。
注記 : timing_checks ルール デ ッ ク はエ ラ ボ レー ト さ れたデザ イ ンではサポー ト さ れません。
°
[Rules to Check] : ルール デ ッ ク を指定 し た ら 、 必要に応 じ て実行する ルールを変更 し ます。
X-Ref Target - Figure 4-4
図 4‐4 : [Report DRC] ダ イ ア ログ ボ ッ ク ス
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
87
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
DRC 違反の解析
DRC で違反が検出 さ れた場合、 図 4-5 に示す [DRC] ウ ィ ン ド ウ が表示 さ れ ます。 [DRC] ウ ィ ン ド ウ には、 検出 さ れ
たルール違反が [Run DRC] ダ イ ア ロ グ ボ ッ ク ス で定義 さ れた違反カ テ ゴ リ 別に表示 さ れます。
X-Ref Target - Figure 4-5
図 4‐5 : エ ラ ボレー ト さ れたデザイ ンの DRC 違反を示す [DRC] ウ ィ ン ド ウ
ルール違反はその重要度に よ っ て分類 さ れてお り 、 次の よ う に色分け表示 さ れます。
•
ア ド バ イ ザ リ : デザ イ ン プ ロ セ ス に関す る 一般的な ス テー タ スお よ びフ ィ ー ド バ ッ ク を示 し ます。
•
警告 : 制約ま たは仕様が意図どお り に適用 さ れていないために、 最適なデザ イ ン結果にな ら ない可能性を示 し ま
す。
•
ク リ テ ィ カル警告 : ユーザー入力ま たは制約で適用 さ れていない も のがあ っ た り 、 適切 と はいえ ない方法で適用
さ れてい る も のがあ る こ と を知 ら せます。 こ れ ら の問題を見直 し 変更す る こ と をお勧め し ます。
注記 : ク リ テ ィ カル警告は、 ビ ッ ト ス ト リ ーム生成時にはエ ラ ーにな り ます。
•
エ ラ ー : デザ イ ン結果が使用で き ない状態であ り 、 ユーザーが対処 し ない と 回避で き ない問題があ る こ と を知 ら
せます。 デザ イ ン フ ロ ーは停止 し ます。
ヒ ン ト : 警告お よ び情報 メ ッ セージ を 非表示に し 、 エ ラ ーのみ を 表示す る には、 ツ ールバーの [Hide Warnings and
Informational Messages] ボ タ ン
を ク リ ッ ク し ます。
DRC 違反は個別に リ ス ト で き る ほか、 ルール別に分類す る こ と がで き ま す。 表示を変更す る には、 [Group By Rule]
ツールバー ボ タ ン
を ク リ ッ ク し ます。 違反が個別に リ ス ト さ れ る 場合は、 [Severity] 列のヘ ッ ダーを ク リ ッ ク す
る と 、 違反の重要度別に並べ替え る こ と がで き ます。 列は、 次の よ う に分類で き ます。
•
列ヘ ッ ダーを ク リ ッ ク す る と 、 昇順にデー タ が並べ替え ら れます。
•
列ヘ ッ ダーを も う 一度 ク リ ッ ク す る と 、 降順にデー タ が並べ替え ら れます。
注記 : 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] を参照 し て く だ さ い。
[DRC] ウ ィ ン ド ウ で違反 メ ッ セージ を ク リ ッ ク する と 、その違反に関連す る オブジ ェ ク ト が [Netlist] や [Schematic] な
ど、 別の開いてい る ウ ィ ン ド ウ で も 選択 さ れます。 こ れに よ り 、 特定の違反に関す る デザ イ ン エ レ メ ン ト をすばや く
見つけて、 確認す る こ と がで き ます。
違反プ ロ パテ ィ は [Violation Properties] ウ ィ ン ド ウ (図 4-6) にデフ ォ ル ト で表示 さ れます。 ま た、 [DRC] ウ ィ ン ド ウ で
右 ク リ ッ ク し [Violation Properties] を ク リ ッ ク し て、 [Violation Properties] ウ ィ ン ド ウ を開 く こ と も で き ます。 こ の ウ ィ
ン ド ウ には、 DRC ルール違反の概要 ([General] タ ブ) と 、 違反 し てい る デザ イ ン エ レ メ ン ト の詳細 ([Details] タ ブ) が
表示 さ れ ます。 [Details] タ ブには、 DRC に違反 し てい る 特定のデザ イ ン オブジ ェ ク ト への リ ン ク があ り ま す。 リ ン
ク を ク リ ッ ク す る と 、 そのデザ イ ン オブジ ェ ク ト が [RTL Netlist] ウ ィ ン ド ウ、 [Device] ウ ィ ン ド ウ、 [Schematic] ウ ィ
ン ド ウ、 お よ び ソ ース RTL フ ァ イ ルで選択 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
88
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
X-Ref Target - Figure 4-6
図 4‐6 : [Violation Properties] ウ ィ ン ド ウ
RTL DRC を実行する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : report_drc
•
Tcl コ マ ン ド の例 : report_drc -name drc_1
注記 : デフ ォ ル ト では、 テ キ ス ト ベース の レ ポー ト が出力 さ れます。 -name オプシ ョ ン を使用する と 、 その レ ポー ト
用に イ ン タ ラ ク テ ィ ブな タ ブ を作成で き ます。
非プ ロ ジ ェ ク ト モー ド でのデザイ ンのエ ラ ボレー
ション
非プ ロ ジ ェ ク ト モー ド では、 RTL のエ ラ ボ レーシ ョ ン を実行で き ます。 RTL へ ク ロ ス プ ロ ーブ し 直 し て、 DRC を実
行す る こ と も で き ます。 ク ロ ス プ ロ ーブには、 Tcl コ マ ン ド の start_gui を使用 し て Vivado IDE を起動す る 必要が
あ り ます。 DRC は、 Vivado IDE を起動 し て も し な く て も 、 実行で き ます。
次は、 さ ま ざ ま な フ ァ イ ルを読み込んで、 Tcl コ マ ン ド の synth_design を -rtl オプシ ョ ン と 共に使用 し て RTL
を エ ラ ボ レー ト す る ス ク リ プ ト です。 こ の ス ク リ プ ト では、 Vivado IDE も 起動す る ので、 回路図ま たはネ ッ ト リ ス ト
か ら RTL ソ ース に ク ロ ス プ ロ ーブで き ます。
注記 : 非プ ロ ジ ェ ク ト モー ド で Vivado IDE を起動す る 場合は、 Flow Navigator はあ り ませんので、 [Tools] メ ニ ュ ーか
Tcl コ ン ソ ールを使用 し て タ ス ク を実行す る 必要があ り ます。
# create_bft_batch.tcl
# bft sample design
# A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow
#
# NOTE:typical usage would be "vivado -mode tcl -source create_bft_batch.tcl"
#
# STEP#0: define output directory area.
#
set outputDir ./Tutorial_Created_Data/bft_output
file mkdir $outputDir
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
89
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
#
# STEP#1: setup design sources and constraints
#
read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ]
read_vhdl ./Sources/hdl/bft.vhdl
read_verilog [ glob ./Sources/hdl/*.v ]
read_xdc ./Sources/bft_full.xdc
#
# STEP #2 Elaborate the RTL and start the GUI for interaction
#
synth_design -top bft -part xc7k70tfbg484-2 -rtl
start_gui
# Use stop_gui to quit the GUI and return back to the Vivado IDE Tcl command line
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
90
第 5章
デザイ ンのデバ ッ グ
概要
FPGA デザ イ ンのデバ ッ グは複数の手順の繰 り 返 し プ ロ セ ス です。 ほ と ん ど の複雑な問題 と 同様、 1 度にデザ イ ン 全
体を処理す る のではな く 、 FPGA デザ イ ンのデバ ッ グ プ ロ セ ス を小 さ く 分け、 小 さ いセ ク シ ョ ン ご と に 1 つずつ処理
し てい く のが最適な方法です。 問題のなか っ たデザ イ ン例 と デバ ッ グ方法をデザ イ ン フ ロ ーを通 し て繰 り 返 し 使用
し 、 1 つずつモジ ュ ールを追加 し ていっ て、 デザ イ ン全体で う ま く 動作する か ど う かその都度確認 し ます。 こ のデザ
イ ンお よ びデバ ッ グ手法は、 次のデザ イ ン フ ロ ー段階の ど の組み合わせでで も 使用で き ます。
•
RTL レベルのデザ イ ン シ ミ ュ レーシ ョ ン
•
イ ン シ ス テ ム デバ ッ グ
Set up Debug ウ ィ ザー ド ま たは Tcl コ マ ン ド を使用す る と 、 デバ ッ グ コ ア を作成、 接続 し 、 合成済みデザ イ ン ネ ッ ト
リ ス ト に挿入で き ます。 デバ ッ グの詳細については、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ
グ』 (UG908) [参照 18] を参照 し て く だ さ い。
RTL レ ベルのデザイ ン シ ミ ュ レーシ ョ ン
シ ミ ュ レーシ ョ ン検証プ ロ セ ス中は、 デザ イ ン を機能的にデバ ッ グで き ます。 Vivado® シ ミ ュ レー タ には、 完全なデ
ザ イ ン シ ミ ュ レーシ ョ ン機能が含まれます。 Vivado シ ミ ュ レー タ を使用する と 、 デザ イ ンの RTL シ ミ ュ レーシ ョ ン
を実行で き ます。 RTL レベル シ ミ ュ レーシ ョ ン環境でデザ イ ン をデバ ッ グす る 利点には、 デザ イ ン全体を視覚化で
き る 点やデザ イ ンお よ びデバ ッ グ サ イ ク ルを素早 く 繰 り 返す こ と がで き る 点な ど があ り ます。シ ミ ュ レーシ ョ ンの設
定お よ び起動方法については、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 10]
を参照 し て く だ さ い。
イ ン シ ス テム デバ ッ グ
Vivado IDE には、 イ ンプ リ メ ン テーシ ョ ン後の FPGA デザ イ ン を イ ン シ ス テ ム でデバ ッ グで き る ロ ジ ッ ク 解析機能 も
あ り ます。 イ ン シ ス テ ム デバ ッ グの利点は、 実際のシ ス テ ム環境でシ ス テ ム速度で イ ンプ リ メ ン ト 後の タ イ ミ ン グの
正確なデザ イ ン をデバ ッ グで き る 点にあ り ます。 イ ン シ ス テ ム デバ ッ グでは、 デザ イ ンのサ イ ズお よ び複雑 さ に よ っ
て、 シ ミ ュ レーシ ョ ン モデルを使用 し た場合 と 比べてデバ ッ グ信号の表示精度が落ちた り 、 潜在的にデザ イ ン、 イ ン
プ リ メ ン テーシ ョ ン、 デバ ッ グの繰 り 返 し が長 く な る こ と があ り ます。
Vivado IDE には、 デザ イ ン をデバ ッ グす る 方法が複数あ り ます。 必要に応 じ て、 こ れ ら の方法のいずれか を使用 し て
デザ イ ン をデバ ッ グで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
[参照 18] を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
91
付録 A
ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
概要
ザ イ リ ン ク ス デバ イ ス を使用 し た、 ま たは含めた シ ス テ ム レベルのボー ド に関す る 情報を定義す る ため、 ボー ド イ
ン タ ーフ ェ イ ス フ ァ イ ルは XML フ ォーマ ッ ト を使用 し ます。 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルに含め ら れ る 情報
は、 ザ イ リ ン ク ス デバ イ ス と ボー ド を接続 し やす く し 、 ま た その接続 を検証す る ため、 Vivado Design Suite お よ び
Vivado IP イ ン テ グ レー タ ーで使用 さ れます。 こ の章では、 ボー ド フ ァ イ ルのセ ク シ ョ ンお よ びその使用方法につい
て説明 し ます。
こ の付録の中の例では、 ボー ド フ ァ イ ルの詳細を示すために、 ザ イ リ ン ク ス Kintex®-7 KC705 評価ボー ド を用いてい
ます。 こ の評価ボー ド は、 Vivado Design Suite の イ ン ス ト ール デ ィ レ ク ト リ の次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/boards/board_files/kc705/<board_version>
<install_dir> は Vivado Design Suite が イ ン ス ト ール さ れてい る デ ィ レ ク ト リ を指 し 、 <version> は ソ フ ト ウ ェ ア バー
ジ ョ ン、 <board_version> はボー ド の最新バージ ョ ン を指 し てい ます。
ヒ ン ト : 新 し いボー ド フ ァ イ ルを作成す る には、XML エデ ィ タ ーま たはテ キ ス ト エデ ィ タ ーを使用 し て、イ ン ス ト ー
ル デ ィ レ ク ト リ にあ る 既存の Vivado® Design Suite ボー ド フ ァ イ ルを変更す る のが一番簡単です。
ボー ド フ ァ イ ルでは、 ボー ド の定義に標準 XML エ レ メ ン ト が使用 さ れ ま す。 ボー ド のエ レ メ ン ト を定義す る ため
XML タ グ を使用 し 、 開 き タ グ と 閉 じ タ グの両方を記述す る 必要があ り ます。
<board>
</board>
次の よ う に、 エ レ メ ン ト の階層を定義す る には、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルのエ レ メ ン ト に、 下位エ レ メ ン
ト 、 ま たはネ ス ト さ れたエ レ メ ン ト を使用す る こ と がで き ます。
<board>
<component>
<pins>
</pins>
</component>
</board>
中に何 も ないエ レ メ ン ト 、 ま たはネ ス ト さ れたエ レ メ ン ト がないエ レ メ ン ト は、 閉 じ タ グ を使用せずに、 別の構文を
使用 し て閉 じ る こ と がで き ます。 こ う し たエ レ メ ン ト には次の構文が使用 さ れます。
<net index="17" typical_delay="6" min_delay="4" max_delay="8"/>
タ グの終わ り に含ま れ る ス ラ ッ シ ュ (/) は、 行の終わ り を示 し ます。 KC705 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルの例に
も 、 こ の構文が時々使用 さ れてい ます。
タ グで定義 さ れ る ボー ド エ レ メ ン ト には、 次の よ う に属性を設定する こ と も で き ます。
<board name=”XYZ” version=”1.2”>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
92
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
属性値は 「name="KC705"」 の よ う に、 引用符で囲む必要があ り ます。
重要 : XML では大文字/小文字が区別 さ れ る ので、 タ グ も 属性 も 仕様どお り に入力 し て く だ さ い。
XML 規格お よ びルールに関 し ては、 http://www.w3.org/XML/ な ど を参考に し て く だ さ い。
ボー ド フ ローの理解
Vivado Design Suite では、 TDP (Xilinx Target Design Platform) ボー ド 、 ま たは、 ボー ド の リ ポジ ト リ に既に追加 さ れて
い る 、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル フ ォーマ ッ ト で定義 さ れてい る ボー ド を使用 し て、 ボー ド を作成で き ます。
特定のボー ド を選択す る 場合、 Vivado デザ イ ン ツールの追加機能が使用で き る よ う にな り 、 IP カ ス タ マ イ ズ機能の
一部であ る デザ イ ナー ア シ ス タ ン ス、IP イ ン テ グ レー タ ー デザ イ ン を作成する 機能な ど が利用で き ます。 こ の フ ロ ー
の詳細は、 第 2 章の 「プ ロ ジ ェ ク ト の操作」 を参照 し て く だ さ い。
ボー ド フ ローのエ レ メ ン ト
Vivado Design Suite ボー ド フ ロ ーで使用 さ れ る フ ァ イ ルには次の も のがあ り ます。
•
ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル : こ の付録で説明 さ れてい る フ ァ イ ルで、 board.xml と い う 名前を付け る 必
要があ り ます。 ザ イ リ ン ク ス デバ イ ス をは じ め と す る シ ス テ ム レベルのボー ド で使用 さ れてい る コ ン ポーネ ン ト
を リ ス ト 、 こ れ ら の コ ン ポーネ ン ト でサポー ト さ れてい る 動作モー ド を定義、 こ れ ら の コ ン ポーネ ン ト に よ り イ
ンプ リ メ ン ト さ れ る 信号 イ ン タ ーフ ェ イ ス を リ ス ト 、デザ イ ン プ ロ ジ ェ ク ト に こ れ ら の イ ン タ ーフ ェ イ ス を イ ン
プ リ メ ン ト す る ための優先 IP を リ ス ト 、 そ し て、 ザ イ リ ン ク ス デバ イ ス の物理ポー ト お よ び コ ン ポーネ ン ト に、
イ ン タ ーフ ェ イ ス で定義 さ れてい る 論理ポー ト を マ ッ プ し ます。
ザ イ リ ン ク ス標準ボー ド 定義は、 Vivado Design Suite の イ ン ス ト ール デ ィ レ ク ト リ の次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/boards/board_files
<install_dir> は Vivado Design Suite が イ ン ス ト ール さ れて い る デ ィ レ ク ト リ を指 し 、 <version> は ソ フ ト ウ ェ ア
バージ ョ ン を指 し てい ます。
ザ イ リ ン ク ス標準ボー ド 定義フ ァ イ ルを、 カ ス タ マ イ ズのための手始め と し て使用 し 、 ユーザー定義のボー ド イ
ン タ ーフ ェ イ ス フ ァ イ ルを作成す る こ と がで き ます。 Vivado ツールを起動する と き に、 次のパ ラ メ ー タ ーを設定
し て、 Vivado Design Suite で使用す る ため、 ユーザー定義ま たはサー ド パーテ ィ のボー ド イ ン タ ーフ ェ イ ス フ ァ
イ ルを ボー ド リ ポジ ト リ に追加で き ます。
set_param board.repoPaths [list “<path1>” “<path2>” “...”]
<path> には、 board.xml で参照 さ れ る part0_pins.xml や preset.xml な ど、 1 つま たは複数のボー ド イ ン
タ ーフ ェ イ ス フ ァ イ ルを含むデ ィ レ ク ト リ へのパ ス を指定 し ます。 こ のパ ス には、 それぞれにボー ド イ ン タ ー
フ ェ イ ス フ ァ イ ルが保存 さ れてい る サブデ ィ レ ク ト リ を含むデ ィ レ ク ト リ を指定する こ と も で き ます。次に例を
示 し ます。
set_param board.repoPaths [list "C:/Data/usrBrds" "C:/Data/othrBrds"]
ヒ ン ト : Vivado Design Suite を起動 し た後に、 init.tcl フ ァ イ ルで board.RepoPaths パ ラ メ ー タ ーを設定す る 必要が
あ り ます。 init.tcl フ ァ イ ルの詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] の
「Tcl での ス ク リ プ ト 機能」 を参照 し て く だ さ い。
•
ピ ン フ ァ イ ル : ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルの <port_map> にあ る 、 ザ イ リ ン ク ス デバ イ ス の コ ン ポーネ ン
ト ピ ン名を、 デバ イ ス パ ッ ケージの物理ピ ン ロ ケーシ ョ ンにマ ッ プ し ます。 こ れに よ り 、 ザ イ リ ン ク ス デバ イ
ス に入っ て く る 信号の I/O をパ ッ ケージ さ れてい る パーツ の ピ ン に割 り 当てやす く な り ま す。 こ の フ ァ イ ルは、
ボー ド リ ポジ ト リ にあ り 、ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル と 同 じ フ ォ ルダーま たはデ ィ レ ク ト リ にあ り ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
93
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
•
プ リ セ ッ ト フ ァ イ ル : デザ イ ン プ ロ ジ ェ ク ト でバ ス イ ン タ ーフ ェ イ ス を イ ンプ リ メ ン ト す る のに使用 さ れ る IP
に対 し て あ ら か じ め定義 さ れて い る IP コ ン フ ィ ギ ュ レ ーシ ョ ン オプ シ ョ ン が リ ス ト さ れて い ま す。 こ のプ リ
セ ッ ト フ ァ イ ルは、 IP カ タ ロ グの IP を カ ス タ マ イ ズ し 、 デザ イ ンに追加する と き に、 Vivado Design Suite に よ っ
て使用 さ れます。 こ の フ ァ イ ルは、 ボー ド リ ポジ ト リ にあ り 、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ル と 同 じ フ ォ ル
ダーま たはデ ィ レ ク ト リ にあ り ます。
•
イ ン タ ーフ ェ イ ス フ ァ イ ル : イ ン タ ーフ ェ イ ス フ ァ イ ルを構成す る 信号の論理ポー ト お よ び属性を定義 し ます。
バス イ ン タ ーフ ェ イ ス は、 一般的な機能を共有す る 信号のグループです。 イ ン タ ーフ ェ イ ス定義に よ り 、 Vivado
IP イ ン テ グ レー タ ーのブ ロ ッ ク 図にあ る IP 間の接続を簡単に定義す る ため、 機能が同 じ 信号を ま と め る こ と が
で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド :IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ム の設
計』 (UG994) の[参照 13] の 「バ ス イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。
ザ イ リ ン ク ス標準 イ ン タ ーフ ェ イ ス定義は、 Vivado Design Suite の イ ン ス ト ール デ ィ レ ク ト リ の次の場所にあ り
ます。
<install_dir>/Vivado/<version>/data/ip/interfaces
ま た、 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成 と パ ッ ケージ』 (UG1118) [参照 12] の 「新規 イ ン
タ ーフ ェ イ ス定義の作成」 で説明 さ れてい る よ う に、Vivado IP パ ッ ケージ ャ ーを使用 し て カ ス タ ム イ ン タ ーフ ェ
イ ス を定義す る こ と も で き ます。
•
IP フ ァ イ ル : IP 定義は、 IP-XACT 規格に基づいた XML フ ァ イ ル component.xml に保存 さ れてい ます。 こ の
フ ァ イ ルには、 シ ス テ ム レベル ボー ド に よ り イ ンプ リ メ ン ト さ れてい る イ ン タ ーフ ェ イ ス に接続可能な、 IP コ ア
の論理ポー ト お よ びバス イ ン タ ーフ ェ イ ス が リ ス ト さ れてい ます。
ザ イ リ ン ク ス IP 定義は、 Vivado Design Suite の イ ン ス ト ール デ ィ レ ク ト リ の次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/ip/interfaces
ボー ド イ ン タ ー フ ェ イ ス フ ァ イルの定義
ボー ド
<board> タ グはボー ド フ ァ イ ルのルー ト です。 ボー ド に関す る 基本情報を設定す る 属性が含まれてい ます。
<board schema_version="2.0" vendor="xilinx.com" name="kc705" display_name="Kintex-7
KC705 Evaluation Platform" url="www.xilinx.com/kc705" preset_file="preset.xml"
board_image="kc705_board.jpeg">
<file_version>1.2</file_version>
<description>Kintex-7 KC705 Evaluation Platform</description>
<board> タ グの属性お よ びその使用方法は次の よ う にな っ てい ます。
表 A‐1 : <board> の属性お よび タ グ
タグ
使用法
例 (KC705)
schema_version=
ボー ド フ ァ イ ルの ス キーマ バージ ョ ン
です。 ス キーマの最新バージ ョ ン は 2.0
です。
schema_version="2.0"
vendor=
ボー ド プ ロ バ イ ダーの ウ ェ ブ ア ド レ ス
です。
vendor="xilinx.com"
name=
ボー ド を 選択す る た めの キ ー と な る 短
い名前です。 こ の章で後述 さ れ る ボー ド
の説明 と は異な り ます。
ame="kc705"
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
94
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐1 : <board> の属性お よび タ グ
使用法
例 (KC705)
display_name=
タグ
Vivado IDE で ボー ド を 選択す る ダ イ ア
ロ グ ボ ッ ク ス に表示 さ れ る ボー ド リ ス
ト の [Display Name] 列に表示 さ れ る 名前
です。
display_name="Kintex-7 KC705 Evaluation
Platform"
url=
ボー ド 情報が記載 さ れて い る ウ ェ ブ ア
ド レ ス です。
url="www.xilinx.com/kc705"
preset_file=
プ リ セ ッ ト フ ァ イ ル名です。こ の フ ァ イ preset_file="preset.xml"
ルには各 イ ン タ ー フ ェ イ ス のすべて の
プ リ セ ッ ト 値 が リ ス ト さ れ て い ま す。
preset_file に関 し ては、 108 ページの 「プ
リ セ ッ ト フ ァ イ ルについて」 を参照 し て
く だ さ い。
board_image=
Vivado IDE の [Project Summary] ウ ィ ン
ド ウ に ボー ド を 表示す る と き に使用 さ
れ る JPG フ ァ イ ルを指定 し ます。
kc705_board.jpeg
<file_version>
「version.revison 」 と い う 形式でボー ド イ
ン タ ー フ ェ イ ス フ ァ イ ルのバージ ョ ン
を指定 し ます。 <file_version>は、 現在の
ボー ド フ ァ イ ルに変更を加え る たびに
値が大 き く な っ てい く はずです。
• マ イ ナーな変更の場合は、 リ ビ ジ ョ ン
を ア ッ プデー ト し て く だ さ い。
• 大 き な変更の場合は、 バー ジ ョ ン を
ア ッ プデー ト し て く だ さ い、
1.2
<description>
フ ァ イ ルで定義 さ れ て い る ボー ド の概
要です。
Kintex-7 KC705 Evaluation Platform
次の属性お よ び タ グは、 <board> で schema_version、 vendor、 name、 display_name、 <file_version>、 お よ び
<compatible_board_revisions> を定義す る と き に必須の も のです。
ヒ ン ト : preset_file= 属性は オ プ シ ョ ン ですが、 ジ ェ ネ リ ッ ク プ リ セ ッ ト を サ ポ ー ト す る の に必要です。 詳細は、
108 ページの 「プ リ セ ッ ト フ ァ イ ルについて」 を参照 し て く だ さ い。
ボー ド フ ァ イルの第 1 レ ベルの タ グ
次の表には、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルの <board> タ グにネ ス ト 可能な、 第 1 レベルの タ グが リ ス ト さ れてい
ます。
表 A‐2 : 第 1 レ ベルの タ グ
タグ
使用方法/説明
<compatible_board_revisions>
指定のボー ド フ ァ イ ルの対象 と な る ボー ド のすべての リ ビ ジ ョ ン が リ ス ト
さ れ ます。 詳細は、 96 ページの 「互換性のあ る ボー ド リ ビ ジ ョ ン」 を参照
し て く だ さ い。
<parameters>
ボー ド の機能 ま たはプ ロ パテ ィ を定義 し ま す。 詳細は、 96 ページの 「パ ラ
メ ー タ ー」 を参照 し て く だ さ い。
<jumpers>
ボー ド で検出 さ れ る ジ ャ ンパーを定義 し ます。 詳細は、 97 ページの 「ジ ャ ン
パー」 を参照 し て く だ さ い。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
95
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐2 : 第 1 レ ベルの タ グ
タグ
使用方法/説明
<components>
ボー ド に あ る さ ま ざ ま な コ ン ポーネ ン ト を定義 し ま す。 コ ン ポーネ ン ト に
は、 FPGA デバ イ ス、 DDR、 QSPI フ ラ ッ シ ュ 、 FMC な ど が含まれます。 詳
細は、 97 ページの 「 コ ン ポーネ ン ト 」 を参照 し て く だ さ い。
<jtag_chains>
ボー ド には複数の JTAG チ ェ ーン を指定で き ます。 各チ ェ ーンには、 Vivado
ハー ド ウ ェ ア ツールで検出可能な複数の コ ン ポーネ ン ト を含め る こ と がで
き ます。 こ の <jtag_chains> タ グは JTAG チ ェ ーンの各コ ン ポーネ ン ト の位置
を指定 し ます。詳細は、106 ページの 「JTAG チ ェーン」 を参照 し て く だ さ い。
<connections>
コ ン ポーネ ン ト 間の接続、 た と えば part0(FPGA) と LED 間の接続を記述 し
ます。 詳細は、 106 ページの 「接続」 を参照 し て く だ さ い。 .
互換性のあ るボー ド リ ビ ジ ョ ン
こ の タ ブは、 現在のボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルの対象 と な る ボー ド の互換性のあ る リ ビ ジ ョ ン を リ ス ト し ま
す。 物理的なボー ド に変更が発生す る と 、 ボー ド フ ァ イ ル も 変更にな る 可能性があ り 、 新 し いボー ド の <file_version>
にな り ます。 し か し 、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルへの リ ビ ジ ョ ンがあ っ て も 、 それにあわせて物理的なボー ド
の リ ビ ジ ョ ンが必要にな る と は限 り ません。 物理的なボー ド への リ ビ ジ ョ ンには、 ア ッ プデー ト さ れたボー ド フ ァ イ
ルを必要 と し ない変更があ り ます。 こ のため、 1 つのボー ド フ ァ イ ルが物理的なボー ド の複数の リ ビ ジ ョ ン をサポー
ト す る こ と が可能です。
ヒ ン ト : ボー ド への リ ビ ジ ョ ンは、 ボー ド フ ァ イ ルへの リ ビ ジ ョ ン を伴わずに、 加え る こ と が可能です。 そのため、
1 つのボー ド フ ァ イ ルを、 複数のボー ド リ ビ ジ ョ ン を定義す る のに使用す る こ と がで き ます。
<compatible_board_revisions> タ グには、 サポー ト さ れ る ボー ド リ ビ ジ ョ ン を リ ス ト す る <revision> タ グ を 1 つ以上含
め る こ と がで き ます。
<revision id=”0”>1.1</revision>
<revision> タ グには、 <compatible_board_revisions > タ グに リ ス ト さ れてい る 各 リ ビ ジ ョ ンの イ ンデ ッ ク ス ID が含まれ
てい ます。 次の例では、 ID が 0 にな っ ていて、 「1.1」 と い う のは、 ボー ド のサポー ト さ れてい る リ ビ ジ ョ ンです。
<compatible_board_revisions>
<revision id="0">1.1</revision>
</compatible_board_revisions>
パラ メ ー タ ー
<parameters> タ グは、 ボー ド の さ ま ざ ま なパ ラ メ ー タ ーを リ ス ト す る のに使用 し ます。 こ の中で、 ボー ド の さ ま ざ ま
な機能やプ ロ パテ ィ を定義す る <parameter> タ グ を 1 つま たは複数ネ ス ト さ せる こ と がで き ます。
各 <parameter> には、 表 A-3で定義 さ れてい る 複数の属性が含まれます。
<parameters>
<parameter name="heat_sink_type" value="medium" value_type="string"/>
<parameter name="heat_sink_temperature" value_type="range" value_min="20.0"
value_max="30.0"/>
</parameters>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
96
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐3 : パラ メ ー タ ーの属性
タグ
使用方法/説明
例 (KC705)
name=
接続 さ れてい る IP コ ア を コ ン フ ィ ギ ュ
レ ー ト す る た めに使用 さ れ る イ ン タ ー
フ ェ イ ス パ ラ メ ー タ ーの名前です。
name=”heat_sink_temperature”
value_type=
string ま たは range のパ ラ メ ー タ ー タ イ
プ を設定 し ます。
value_type=”range”
value=
string タ イ プのパ ラ メ ー タ ーの値を定義
し ます。
value=“medium”
value_min=/value_max=
range タ イ プのパ ラ メ ー タ ーの最小値お
よ び最大値を設定 し ます。
value_min="20.0"
value_max="30.0"
ジ ャ ンパー
<jumpers> セ ク シ ョ ン には、 ボー ド に あ る ジ ャ ン パーがすべ て リ ス ト さ れ ま す。 こ れ ら の ジ ャ ン パーは ボー ド の
<components> ま たは <interfaces> に影響す る 可能性があ り ます。 <jumpers> タ グには複数の <jumper> タ グが含ま れま
す。
ヒ ン ト : ボー ド の ス イ ッ チ も <jumpers> タ グ を使用 し て定義 さ れ る こ と に留意 し て く だ さ い。
<jumpers>
<jumper name="SW13_M0" default_value="false">
<description>Impacts connection between flash_qspi and flash_bpi.If
value=true, flash_qspi will be enabled</description>
</jumper>
<jumper name="SW13_M1" default_value="true">
<description>Impacts connection between flash_qspi and flash_bpi.If
value=true, flash_bpi will be enabled</description>
</jumper>
</jumpers>
<jumper> タ グの属性お よ び タ グ を次に説明 し ます。
表 A‐4 : <jumper> の属性および タ グ
タグ
使用方法/説明
例 (KC705)
name=
ボー ド の ジ ャ ン パー ま た は ス イ ッ チの
名前です。
name=”SW13_M0”
default_value=
ジ ャ ン パー ま た は ス イ ッ チのデ フ ォ ル
ト 値です。
default_value=”false”
<description>
指定 ジ ャ ン パーが ボー ド の接続に ど の
よ う に イ ン パ ク ト を 与 え る か の説明で
す。
<description>Impacts connection between
flash_qspi and flash_bpi.If value=true,
flash_qspi will be enabled.</description>
コ ンポーネ ン ト
重要 : <component> セ ク シ ョ ンはボー ド フ ァ イ ルの非常に重要な部分にな り ます。 ボー ド 上の コ ン ポーネ ン ト を定義
す る だけでな く 、 コ ン ポーネ ン ト の動作モー ド 、 それ ら の動作モー ド を イ ネーブルにす る ために必要な設定を定義す
る か ら です。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
97
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
こ のセ ク シ ョ ンには、 ボー ド 上にあ る すべての コ ン ポーネ ン ト が リ ス ト さ れてい る だけでな く 、 パーツ名、 コ ン ポー
ネ ン ト タ イ プ、 ベン ダーな ど の詳細 も リ ス ト さ れてい ます。 コ ン ポーネ ン ト には、 ザ イ リ ン ク ス FPGA、 DDR3、 Quad
SPI フ ラ ッ シ ュ 、 イ ーサネ ッ ト PHY、 LED、 DIP ス イ ッ チな ど があ り ます。 <component> セ ク シ ョ ンには、 1 つま たは
複数の <component> タ グが含まれます。
<components>
<component name="part0" display_name="Kintex-7 KC705 Evaluation Platform"
type="fpga" part_name="xc7k325tffg900-2" pin_map_file="part0_pins.xml"
vendor="xilinx" spec_url="www.xilinx.com/kc705">
<description>FPGA part on the board</description>
</component>
<component name="ddr3_sdram" display_name="DDR3 SDRAM" type="chip" sub_type="ddr3"
major_group="External Memory" part_name="MT8JTF12864HZ-1G6G1" vendor="Micron"
spec_url="www.micron.com/memory">
<description>1 GB DDR3 memory SODIMM </description>
</component>
</components>
KC705 ボー ド フ ァ イ ルでは、 最初に宣言 さ れてい る コ ン ポーネ ン ト は 「part0」 で、 こ れはザ イ リ ン ク ス FPGA デバ イ
ス です。 ボー ド 上のザ イ リ ン ク ス FPGA は、 「fpga」 タ イ プの コ ン ポーネ ン ト と し て リ ス ト さ れてい ま すが、 「part0」
か ら 始ま っ て順番に名前が付け ら れてい き ます。 追加の <component> エ レ メ ン ト は、 ボー ド 上のほかの コ ン ポーネ ン
ト を定義 し 、 ま た、 ザ イ リ ン ク ス デバ イ ス か ら ボー ド コ ン ポーネ ン ト に接続す る のに必要な イ ン タ ーフ ェ イ ス を定義
し ます。
<component> タ グの属性お よ び タ グは次の表で説明 さ れてい ます。
表 A‐5 : <component> の属性お よび タ グ
タグ
使用方法/説明
例 (KC705)
name=
コ ン ポーネ ン ト の名前です。
name="part0"
display_name=
Vivado IP イ ン テ グ レー タ ーの [Board] タ
ブに表示 さ れ る 名前です。
display_name="Kintex-7 KC705 Evaluation
Platform"
type=
パーツ タ イ プです。
“fpga” - ボー ド 上のザ イ リ ン ク ス FPGA
パーツ を指定 し ます。
“chip” - ボー ド 上にチ ッ プ を持つすべて
の コ ン ポーネ ン ト (FPGA ま たは FMC コ
ネ ク タ を除 く ) を定義 し ます。
ddr3_sdram、 linear_flash な ど がその例で
す。
“connector” - FPGA メ ザニ ン カー ド
(FMC) コ ネ ク タ を定義 し ます。
type="fpga"
sub_type=
コ ン ポーネ ン ト のサブ タ イ プです。
sub_type="ethernet"
major_group=
コ ン ポーネ ン ト がその一部に含まれてい
る メ ジ ャ ー グループ。 Vivado IP イ ン テ
グ レー タ ーの [Board] タ ブでは、 こ の
major_group の設定に従っ てボー ド の コ
ン ポーネ ン ト が ま と め ら れてい ます。 詳
細は、 99 ページの図 A-1 を参照 し て く
だ さ い。
major_group="ethernet"
part_name=
パー ト ID です。
part_name="xc7k325tffg900-2"
注記 : type=fpga の場合、 パーツ名はザ イ リ ン
ク ス でサポー ト さ れてい る 有効なパーツ であ
る 必要があ り ます。 そ う でない と 、 ボー ド
フ ァ イ ルは Vivado Design Suite には読み込ま
れません。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
98
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐5 : <component> の属性お よび タ グ
タグ
使用方法/説明
例 (KC705)
pin_map_file=
各ピ ンの制約が記述 さ れてい る フ ァ イ ル
です。 詳細は、 105 ページの 「ピ ン マ ッ
プ」 を参照 し て く だ さ い。
pin_map_file="part0_pins.xml"
vendor=
パーツのベン ダーです。
vendor="xilinx"
spec_url=
デバ イ ス仕様ま たはパーツ関連情報の
URL です。
spec_url="www.xilinx.com/kc705"
<description>
コ ン ポーネ ン ト の概要を記述 し ます。
<description> FPGA device on the
board.</description>
<parameters>
パ ラ メ ー タ ー名 と 値の組み合わせを リ ス
ト し ます。
詳細や例については、 「パ ラ メ ー タ ー」 を
参照 し て く だ さ い。
<pins>
コ ン ポーネ ン ト の ピ ン を リ ス ト し ます。
詳細や例については、 「ピ ン」 を参照 し て
く だ さ い。
<component_modes>
定義 さ れた <component> のモー ド 。
詳細や例については、 100 ページの 「コ ン
ポーネ ン ト モー ド 」 を参照 し て く だ さ い。
<interfaces>
指定 さ れた コ ン ポーネ ン ト に よ っ て イ ン
プ リ メ ン ト さ れた イ ン タ ーフ ェ イ ス を定
義 し ます。
詳細や例については、 102 ページの 「 イ ン
タ ーフ ェ イ ス」 を参照 し て く だ さ い。
99 ページの図 A-1にあ る よ う に、 ボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルで定義 さ れてい る <components> は、 Vivado IP イ
ン テ グ レー タ ーの [Board] タ ブに リ ス ト さ れてい ます。 コ ン ポーネ ン ト は <component> エ レ メ ン ト の major_group= 属
性にあわせて グループに ま と め ら れ、 display_name= が表示 さ れます。
X-Ref Target - Figure A-1
図 A‐1 : IP イ ン テグ レー タ ーの [Board] タ ブ
[Board] タ ブで コ ン ポーネ ン ト を ダブル ク リ ッ ク す る と 、 Vivado IP イ ン テ グ レー タ ーに [Connect Board Component] ダ
イ ア ロ グ ボ ッ ク ス が開 き ます。 ボー ド 上の コ ン ポーネ ン ト に接続す る ために必要な信号 イ ン タ ーフ ェ イ ス を イ ンプ リ
メ ン ト す る ため、 ブ ロ ッ ク 図のデザ イ ン キ ャ ンバ ス に追加 し たい優先 IP を選択 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
99
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
パラ メ ー タ ー
<component> のパ ラ メ ー タ ーは、 ク ロ ッ ク コ ン ポーネ ン ト の ク ロ ッ ク 周波数な ど、 コ ン ポーネ ン ト の詳細を指定す る
ために使用 し ます。 <parameters> セ ク シ ョ ンには、 1つま たは複数の <parameter> タ グ を ネ ス ト さ せ る こ と がで き ます。
各 <parameter> には、 name と value 属性のペアがあ り ます。
<parameters>
<parameter name="frequency" value="200000000" /parameter>
</parameters>
重要 : <board> オブジ ェ ク ト の <parameters> には、<component> オブジ ェ ク ト の <parameters> と は異な る 属性があ り ま
す。
ピン
<pins> セ ク シ ョ ンには、 定義 さ れてい る <component> のすべての ピ ンだけでな く 、 こ れ ら の ピ ンに関連付け ら れてい
る プ ロ パテ ィ が リ ス ト さ れます。<pins> セ ク シ ョ ンには、1つま たは複数の <pin> タ グ を ネ ス ト さ せる こ と がで き ます。
同 じ プ ロ パテ ィ を <component pin_map_file=””> 属性を使用 し て定義す る こ と がで き ます。 し か し 、 <pins> セ ク シ ョ ン
で定義 さ れたプ ロ パテ ィ 値は、 pin_map_file= で定義 さ れたプ ロ パテ ィ 値 よ り も 優先 さ れます。
ヒ ン ト : <pins> セ ク シ ョ ン を使用 し て <component> のすべての ピ ン を定義する と 、pin_map_file を使用す る 必要はあ り
ません。
<pins> セ ク シ ョ ンでは、pin_map_file で定義 さ れてい る 一般的な ピ ン プ ロ パテ ィ を、特定の状況での特定のプ ロ パテ ィ
値を定義 し て、 上書 き す る こ と がで き ます。 た と えば、 IOSTANDARD な ど異な る プ ロ パテ ィ が設定 さ れてい る ピ ン
が、 ス イ ッ チ ま た は ジ ャ ン パー を 介 し て FPGA ( ま た はほ か の コ ン ポーネ ン ト ) の同 じ ピ ン を 共有 し て い る 場合、
pin_map_file で定義 さ れてい る ピ ン プ ロ パテ ィ を上書き する ため、 同 じ ピ ンの ピ ン プ ロ パテ ィ を<pins> セ ク シ ョ ン で
定義す る こ と がで き ます。
<pins>
<pin index="0" name="rs232_uart_USB_TX" iostandard="LVCMOS25"/>
<pin index="1" name="rs232_uart_USB_RX" iostandard="LVCMOS25"/>
</pins>
コ ンポーネ ン ト モー ド
<component_modes> セ ク シ ョ ンは、 コ ン ポーネ ン ト が使用 さ れ る モー ド を記述 し ます。 <component_modes> セ ク シ ョ
ンには、 1つま たは複数の <component_mode> タ グ を ネ ス ト さ せ る こ と がで き ます。 各 コ ン ポーネ ン ト モー ド には、 関
連付け ら れてい る イ ン タ ーフ ェ イ ス、 IP、 依存関係な ど の詳細が含め ら れます。
<component name="phy_onboard" display_name="Onboard PHY" type="chip"
sub_type="ethernet" major_group="Ethernet Configurations"
part_name="M88E1111_BAB1C000" vendor="Marvell" spec_url="www.marvell.com">
<description>PHY on the board</description>
<parameters>
<parameter name="devicetree_vendor" value="marvell"/>
</parameters>
<component_modes>
<component_mode name="mii" display_name="MII mode">
<description>To enable this mode jumpers need to be {J29_P1_P2 true}
{J30_P1_P2 true} {J64 false}</description>
<interfaces>
<interface name="mii" order="0"/>
<interface name="mdio_io" order="1" optional="true"/>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
100
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
<interface name="phy_reset_out" order="2" optional="true"/>
</interfaces>
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="axi_ethernet"
order="0"/>
</preferred_ips>
</component_mode>
<component_mode name="gmii" display_name="GMII mode">
<description>To enable this mode jumpers need to be {J29_P1_P2 true}
{J30_P1_P2 true} {J64 false}</description>
<interfaces>
<interface name="gmii"/>
<interface name="mdio_io"/>
<interface name="phy_reset_out" optional="true"/>
</interfaces>
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="axi_ethernet"
order="0"/>
</preferred_ips>
</component_mode>
</component>
コ ン ポーネ ン ト のモー ド が [Board] タ ブで選択 さ れ る と 、 そのモー ド に リ ス ト さ れてい る イ ン タ フ ェ イ ス がすべて自
動的に IP イ ン テ グ レー タ ーに追加 さ れます。 モー ド 内の イ ン タ ーフ ェ イ ス の順序は、 イ ン タ ーフ ェ イ ス の接続順序を
定義 し ます。 順序が何 も 指定 さ れていない場合は、 イ ン タ ーフ ェ イ スは リ ス ト にあ る 順序で IP イ ン テ グ レー タ ーに追
加 さ れます。
<component_mode> の下に リ ス ト さ れてい る <interfaces> には、 Vivado IP イ ン テ グ レー タ ーの [Board] タ ブで イ ン タ ー
フ ェ イ ス を 接 続 す る と き に、 IP を フ ィ ル タ リ ン グ す る と き に optional= 属性 が 役立 ち ま す。 デ フ ォ ル ト 値 は
optional=false で、 つま り 、 使用 し てい る モー ド に対 し て、 こ の イ ン タ ーフ ェ イ ス が IP に リ ス ト さ れてい る 必要があ り
ます。 optional=true の場合は、 指定モー ド では こ の イ ン タ ーフ ェ イ スは必須ではあ り ません。 optional=true の と き 、 必
須 イ ン タ ーフ ェ イ ス はあ る が、 オプシ ョ ンの イ ン タ ーフ ェ イ ス はない IP も 、 使用 さ れてい る コ ン ポーネ ン ト モー ド
で使用す る ために リ ス ト さ れます。
<interfaces>
<interface name="mii" order="0"/>
<interface name="mdio_io" order="1" optional="true"/>
<interface name="phy_reset_out" order="2" optional="true"/>
</interfaces>
ヒ ン ト : <component_modes> にあ る 優先 IP は、 個々の <interfaces> にあ る も の よ り も 優先 さ れます。
<enablement_dependencies> には、 特定の <component_mode> を イ ネーブルにす る のに必要な ジ ャ ンパー設定が リ ス ト
さ れ ま す。 選択 さ れた コ ン ポーネ ン ト モー ド に基づいて ボー ド で使用す る ジ ャ ンパー設定に関す る 情報は、 Vivado
Design Suite にあ り ます。
<enablement_dependencies>
<jumpers>
<jumper name="J29_P1_P2">true</jumper>
<jumper name="J30_P1_P2">true</jumper>
<jumper name="J64">false</jumper>
</jumpers>
</enablement_dependencies>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
101
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
イ ン ターフ ェ イス
重要 : イ ン タ ーフ ェ イ ス は type=”fpga” に設定 さ れてい る <component> 内でのみ定義で き ます。
イ ン タ ーフ ェ イ ス セ ク シ ョ ン には、 <component> で利用可能な物理的な イ ン タ ーフ ェ イ ス がすべて リ ス ト さ れ ます。
<interfaces> セ ク シ ョ ンには、 1つま たは複数の <interface> タ グ を ネ ス ト さ せ る こ と がで き ます。 イ ン タ ーフ ェ イ ス は、
<port_map> タ グ を使用 し て複数のポー ト に よ っ て定義 さ れ ます。 イ ン タ ーフ ェ イ ス は type=”fpga” に設定 さ れてい る
<component> 内でのみ定義で き ます。 詳細は、 103 ページの 「ポー ト マ ッ プ」 を参照 し て く だ さ い。
次は、 KC705 ボー ド 定義フ ァ イ ルか ら の dip_switches_4bits イ ン タ ーフ ェ イ ス定義の一部例です。
<interfaces>
<interface mode="master" name="dip_switches_4bits"
type="xilinx.com:interface:gpio_rtl:1.0" of_component="dip_switches">
<description>4-position user DIP Switch</description>
<preferred_ips>
<preferred_ip vendor="xilinx.com" library="ip" name="axi_gpio" order="0"/>
</preferred_ips>
<port_maps>
<port_map logical_port="TRI_I" physical_port="dip_switches_tri_i" dir="in"
left="3" right="0">
<pin_maps>
<pin_map port_index="0" component_pin="GPIO_DIP_SW0"/>
<pin_map port_index="1" component_pin="GPIO_DIP_SW1"/>
<pin_map port_index="2" component_pin="GPIO_DIP_SW2"/>
<pin_map port_index="3" component_pin="GPIO_DIP_SW3"/>
</pin_maps>
</port_map>
</port_maps>
</interface>
<interface …>
...
...
</interface>
</interfaces>
イン ターフ ェ イス
重要 : イ ン タ ーフ ェ イ ス名は、 すべて小文字で定義す る 必要があ り ます。
次は、 <interface> の属性お よ び タ グ を説明 し てい ます。
表 A‐6 : <interface > の属性および タ グ
タグ
使用方法/説明
例 (KC705)
mode=
イ ン タ ー フ ェ イ ス の論理方向 を 示 し ま す。 master
通常は 「master」 と 設定 さ れますが、 ク ロ ッ
ク や リ セ ッ ト な ど、 論 理 方 向 が 信 号 が
FPGA に入力 さ れ る 場合は、 「slave」 にな り
ます。
name=
ボー ド フ ァ イ ルで イ ン タ ーフ ェ イ ス定義を dip_switches_4bits
識別す る 名前です。 こ の名前は、 接続自動
化に も 使用 さ れ、 ま た、 ブ ロ ッ ク 図では接
続 さ れてい る ポー ト に表示 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
102
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐6 : <interface > の属性および タ グ
タグ
使用方法/説明
例 (KC705)
type=
Vivado Design Suite でサポー ト さ れてい る
イ ン タ ーフ ェ イ ス タ イ プの標準セ ッ ト か
ら 、 イ ン タ ーフ ェ イ ス タ イ プ を指定 し ま
す。
こ れ ら の標準バ ス イ ン タ ーフ ェ イ ス はザ イ
リ ン ク ス IP コ アで定義 さ れてお り 、 IP ま
たはブ ロ ッ ク デザ イ ン を ボー ド に簡単に接
続で き る よ う にな っ てい ます。
利用可能なバ ス イ ン タ ーフ ェ イ ス タ イ プ
の リ ス ト は、 Vivado Design Suite の イ ン ス
ト ール デ ィ レ ク ト リ にあ り ます。
<install_location>/Vivado/
<version>/data/ip/interfaces
xilinx.com:interface:gpio_rtl:1.0
of_component=
<components> セ ク シ ョ ンか ら の関連コ ン
ポーネ ン ト を指定 し ます。
dip_switches
<description>
イ ン タ ーフ ェ イ ス の概要です。
4-position user DIP Switch
<preferred_ip>
VLNV (ま たは VLN) フ ォーマ ッ ト で接続す vendor="xilinx.com" library="ip"
name="axi_gpio" order="0"
る 優先 IP の リ ス ト 。
注記 : Vivado ツールが最新版の IP を使用 よ う に
な っ てい る ため、 IP のバージ ョ ン を指定す る 必
要はあ り ません。
order=
イ ン タ ーフ ェ イ ス の preferred_ip の優
先順位を指定 し ます。 優先順位は 0 か ら 始
ま り 、 カ ウ ン ト ダ ウ ン さ れてい き ますが、
一番高い優先順位は 0 です。
0
preset_proc=
指定 さ れた イ ン タ ーフ ェ イ ス を イ ンプ リ メ
ン ト す る IP に対 し 、 あ ら か じ め定義 さ れ
てい る コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン
を指定 し ます。 詳細は、 108 ページの 「プ
リ セ ッ ト フ ァ イ ルについて」 を参照 し て く
だ さ い。
preset_proc="emc_preset"
<port_map>
イ ン タ ーフ ェ イ ス の論理ピ ン を、 ザ イ リ ン
ク ス デバ イ ス の物理ピ ンにマ ッ プ し ます。
詳細や例については、 103 ページの
「ポー ト マ ッ プ」 を参照 し て く だ さ い。
ポー ト マ ッ プ
各 イ ン タ ーフ ェ イ ス は個々のポー ト マ ッ プに さ ら に分け ら れてい ます。こ れ ら のポー ト マ ッ プは論理ポー ト のマ ッ プ
で、 イ ン タ ーフ ェ イ ス では、 ザ イ リ ン ク ス デバ イ ス の物理的なパ ッ ケージ ピ ンに関連づけ ら れてい る 物理的なポー ト
を使用 し て定義 さ れてい ます。
<port_map logical_port="TRI_I" physical_port="dip_switches_tri_i" dir="in" left="3"
right="0">
<pin_maps>
<pin_map port_index="0" component_pin="GPIO_DIP_SW0"/>
<pin_map port_index="1" component_pin="GPIO_DIP_SW1"/>
<pin_map port_index="2" component_pin="GPIO_DIP_SW2"/>
<pin_map port_index="3" component_pin="GPIO_DIP_SW3"/>
</pin_maps>
</port_map>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
103
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐7 : <port_map> の属性および タ グ
タグ
使用方法/説明
例 (KC705)
logical_port=
バ ス イ ン タ ー フ ェ イ ス 定義 で の 論理 TRI_I
ポー ト 名です。 あ ら か じ め定義 さ れてい
る イ ン タ ー フ ェ イ ス は、 Vivado Design
Suite の イ ン ス ト ール デ ィ レ ク ト リ にあ
り ま す。 た と えば、 GPIO イ ン タ ーフ ェ
イ ス の 定 義 は こ ち ら に あ り ま す。
<install_location>\Vivado\
<version>\data\ip\interfaces\
gpio_v1_0
physical_port=
後に続 く セ ク シ ョ ン で、ボー ド イ ン タ ー
フ ェ イ ス に定義 さ れ て い る ポー ト 名へ
のマ ッ ピ ン グです。
physical_port can be a std_logic or
std_logic_vector.
dip_switches_tri_i
dir=
各ポー ト には方向があ り ます。 使用で き
る 値は in、 out、 inout です。
in
left=
ポー ト の イ ンデ ッ ク ス の左の値です。 た
と えば、 4 ビ ッ ト バ ス ポー ト [3:0] の場
合は、 3 が こ の値にな り ます。
3
right=
ポー ト の イ ンデ ッ ク ス の右の値です。 た
と えば、 4 ビ ッ ト バ ス ポー ト [3:0] の場
合は、 0 が こ の値にな り ます。
0
<pin_maps>
ザ イ リ ン ク ス デバ イ ス の物理ポー ト を、 詳細や例については、 105 ページの 「ピ
パ ッ ケ ージ さ れ た パー ツ の指定 ピ ン に ン マ ッ プ」 を参照 し て く だ さ い。
マ ッ プ し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
104
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
ピン マ ッ プ
<pin_maps> セ ク シ ョ ンでは、 各物理ポー ト が 1 つま たは複数の ピ ンに分け ら れてい ます。 ピ ン マ ッ プでの ピ ン数は、
マ ッ プ さ れてい る ポー ト の幅に よ っ て決ま り ます。 ピ ンは、 その ピ ンが定義 さ れてい る イ ン タ ーフ ェ イ ス の物理ポー
ト で共有可能です。
各 <pin_map> には、 バ ス ポー ト の イ ンデ ッ ク ス にマ ッ プす る port_index 属性、 そ し てザ イ リ ン ク ス デバ イ ス のパ ッ
ケージ ピ ンにマ ッ プす る component_pin 属性があ り ます。 こ れ ら は次の よ う に定義 さ れます。
表 A‐8 : <pin_map> の属性
タグ
使用方法/説明
例 (KC705)
port_index=
<port_map> で定義 さ れてい る バ ス ポー
ト の イ ンデ ッ ク ス を示 し ます。 こ れは、
ポー ト 幅で定義 さ れてい る 範囲内の数
値にな り ます。
3
component_pin=
ザ イ リ ン ク ス デバ イ ス の コ ン ポーネ ン
ト ピ ン名です。 こ の名前は、 タ イ プが
FPGA の <component> の
part0_pins.xml フ ァ イ ルにあ る
name= で指定 さ れてい る 名前にマ ッ プ
し ます。 part0_pins.xml は、 ボー ド
イ ン タ ーフ ェ イ ス フ ァ イ ル と 同 じ フ ォ
ルダーにあ り ます。
GPIO_DIP_SW0
一般的には part0_pins.xml と い う 名前が付け ら れてい る ピ ン マ ッ プ フ ァ イ ルには、 ザ イ リ ン ク ス デバ イ ス の ピ
ン 名、 ま た は FPGA タ イ プ の <component> の ピ ン 名 が リ ス ト さ れ て い て、 こ れ ら の コ ン ポ ー ネ ン ト ピ ン の
IOSTANDARD お よ びパ ッ ケージ ピ ン ロ ケーシ ョ ンが定義 さ れてい ます。 ピ ン マ ッ プ フ ァ イ ルで定義 さ れてい る ピ
ンの フ ォーマ ッ ト は次の よ う にな り ます。
<part_info part_name="xc7k325tffg900-2">
<pins>
<pin index="0"
<pin index="1"
<pin index="2"
<pin index="3"
</pins>
name="GPIO_DIP_SW0"
name="GPIO_DIP_SW1"
name="GPIO_DIP_SW2"
name="GPIO_DIP_SW3"
iostandard="LVCMOS25"
iostandard="LVCMOS25"
iostandard="LVCMOS25"
iostandard="LVCMOS25"
loc="Y29"/>
loc="W29"/>
loc="AA28"/>
loc="Y28"/>
ピ ン マ ッ プ フ ァ イ ルでは、 ザ イ リ ン ク ス デバ イ ス の <pins> のそれぞれに対 し て、 I/O 関連の制約を定義す る ために、
次の属性が使用 さ れます。
表 A‐9 : ピ ン マ ッ プ フ ァ イルの属性
タグ
使用方法/説明
例 (KC705)
index=
ピ ン マ ッ プ フ ァ イ ルの <pin> オブジ ェ
ク ト に割 り 当て ら れ る イ ンデ ッ ク ス。
0
name=
ザ イ リ ン ク ス デバ イ ス の コ ン ポーネ ン
ト ピ ン名で、 ボー ド イ ン タ ーフ ェ イ ス
フ ァ イ ルで使用 さ れます。
GPIO_DIP_SW2
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
105
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐9 : ピ ン マ ッ プ フ ァ イルの属性
タグ
使用方法/説明
例 (KC705)
iostandard=
ザ イ リ ン ク ス デバ イ ス に対 し て有効な
IOSTANDARD で、 ボー ド 設計者に よ り
定義 さ れます。特定の コ ン ポーネ ン ト ピ
ンに対 し て Vivado Design Suite でサポー
ト さ れてい る IOSTANRADRD が有効値
です。
LVCMOS25
loc=
ザ イ リ ン ク ス デバ イ ス パ ッ ケージの ピ
ン ロ ケーシ ョ ンです。
Y29
JTAG チ ェ ーン
定義 さ れてい る ボー ド で使用可能な JTAG チ ェーンが こ こ には リ ス ト さ れます。<jtag_chain> の下にそれそれのチ ェー
ン名、 お よ びチ ェーン内の コ ン ポーネ ン ト の名前お よ び位置を定義す る <position> タ グが リ ス ト さ れます。
<jtag_chains>
<jtag_chain name="chain1">
<position name="0" component="part0"/>
</jtag_chain>
</jtag_chains>
<jtag_chain> タ グでは、 name= 属性を使用 し てチ ェ ーン名を指定 し ます。
<position> タ グには、 <jtag_chain> 内の各 コ ン ポーネ ン ト が リ ス ト さ れい ます。 詳細は次の表を参照 し て く だ さ い。
表 A‐10 : <position> 属性
タグ
使用方法/説明
例 (KC705)
name=
JTAG チ ェ ーンの コ ン ポーネ ン ト シーケ
ン ス を示 し ます。
0
component=
ボー ド の コ ン ポーネ ン ト を示 し ます。
Part0
接続
<connections> セ ク シ ョ ン では、 コ ン ポーネ ン ト 間の接続が定義 さ れ ます。 <connection> タ グは、 1 つの接続に関連付
け ら れてい る 2 つの コ ン ポーネ ン ト を識別 し ます。 <connection_map> タ グは、 その 2 つの コ ン ポーネ ン ト のバ ス接続
を記述 し ます。 2 つの コ ン ポーネ ン ト の ど ち ら かが FPGA タ イ プの <component> に指定 さ れてい る 場合、 <connection>
で定義 さ れてい る 詳細が Vivado Design Suite で使用 さ れ、 part0_pins.xml にあ る 対応する 制約が検索 さ れます。
<connections>
<connection name="part0_dip" component1="part0" component2="dip_switches">
<connection_map name="part0_dip_1" typical_delay="5" c1_st_index="0"
c1_end_index="3" c2_st_index="0" c2_end_index="3"/>
</connection>
</connections>
<connection> には次の属性があ り ます。
表 A‐11 : <connection> 属性
タグ
name=
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
使用方法/説明
接続の名前です。
japan.xilinx.com
例 (KC705)
part0_dip
106
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
表 A‐11 : <connection> 属性
タグ
使用方法/説明
例 (KC705)
component1=
接続の最初の コ ン ポーネ ン ト です。
part0
component2=
接続の 2 番目の コ ン ポーネ ン ト です。
dip_switches
<connection_map> には次の属性があ り ます。
表 A‐12 : <connection> 属性
タグ
使用方法/説明
例 (KC705)
typical_delay=
コ ン ポーネ ン ト 間の接続での遅延です。
5
c1_st_index=
component1 の 接続 の 開始 ピ ン の <pin> 0
イ ンデ ッ ク ス です。
注記 : component1 が FPGA の場合、 こ の イ ン
デ ッ ク ス は part0_pins.xml か ら の値にな
り ます。
c1_end_index=
component1 の 接続 の 終点 ピ ン の <pin> 3
イ ンデ ッ ク ス です。
c2_st_index=
component2 の 開始 ピ ン の <pin> イ ン
デ ッ ク ス です。
c2_end_index=
component2 の 接続 の 終点 ピ ン の <pin> 3
イ ンデ ッ ク ス です。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
0
107
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
プ リ セ ッ ト フ ァ イルについて
プ リ セ ッ ト フ ァ イ ルは、 特定の コ ン フ ィ ギ ュ レーシ ョ ン で IP コ ア を カ ス タ マ イ ズす る と き に役立ち ます。 Vivado IP
イ ン テ グ レー タ ーの [Board] タ ブで、 [linear_flach] ま たは [ddr3_adram] イ ン タ ーフ ェ イ ス が選択 さ れてい る 場合、 PS7、
axi_emc、 DDR3_SDRAM の MIG は、 こ のプ リ セ ッ ト フ ァ イ ル機能を使用 し ます。
プ リ セ ッ ト フ ァ イ ルは XML フ ォーマ ッ ト です。 プ リ セ ッ ト フ ァ イ ルは特定のボー ド イ ン タ ーフ ェ イ ス フ ァ イ ルに
対 し て定義 さ れてお り 、 複数の IP にプ リ セ ッ ト 値を適用す る のに使用す る こ と がで き ます。
<ip_presets schema="1.0">
<ip_preset preset_proc_name="emc_preset">
<ip vendor="xilinx.com" library="ip" name="axi_emc" version="3.0">
<user_parameters>
<user_parameter name="CONFIG.C_INCLUDE_DATAWIDTH_MATCHING_0" value="1"/>
<user_parameter name="CONFIG.C_MAX_MEM_WIDTH" value="16"/>
<user_parameter name="CONFIG.C_MEM0_TYPE" value="2"/>
<user_parameter name="CONFIG.C_MEM0_WIDTH" value="16"/>
<user_parameter name="CONFIG.C_TAVDV_PS_MEM_0" value="130000"/>
<user_parameter name="CONFIG.C_TCEDV_PS_MEM_0" value="130000"/>
<user_parameter name="CONFIG.C_TWPH_PS_MEM_0" value="12000"/>
<user_parameter name="CONFIG.C_TWP_PS_MEM_0" value="70000"/>
<user_parameter name="CONFIG.C_WR_REC_TIME_MEM_0" value="100000"/>
</user_parameters>
</ip>
</ip_preset>
<ip_preset preset_proc_name="ddr3_sdram_preset">
<ip vendor="xilinx.com" library="ip" name="mig_7series">
<user_parameters>
<user_parameter name="CONFIG.XML_INPUT_FILE" value="mig.prj"
value_type="file"/>
</user_parameters>
</ip>
</ip_preset>
</ip_presets>
IP_Presets
<ip_presets> は プ リ セ ッ ト フ ァ イ ル の ル ー ト で、 1 つ ま た は 複数 の IP コ ア の プ リ セ ッ ト 値 を 定義 し ま す。
<ip_presets> には 1 つま たは複数の <ip_preset> タ グ を ネ ス ト さ せ る こ と がで き ます。
<ip_presets schema="1.0">
表 A‐13 : <ip_presets> 属性
タグ
schema=
使用方法/説明
例 (KC705)
プ リ セ ッ ト フ ァ イ ル の ス キ ー マ バー 1.0
ジ ョ ンです。 ス キーマの現在のバージ ョ
ンは 1.0 です。
IP_Preset
<ip_preset> セ ク シ ョ ンは、 特定の IP コ アに提供 さ れ る プ リ セ ッ ト コ ン フ ィ ギ ュ レーシ ョ ン を定義 し ます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
108
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
<ip_preset preset_proc_name="emc_preset">
表 A‐14 : <ip_preset> 属性
タグ
preset_proc_name=
使用方法/説明
定義 さ れて い る プ リ セ ッ ト プ ロ セ ス の
名前です。 こ こ で使用 さ れ る 名前は、 こ
のプ リ セ ッ ト プ ロ セ ス を イ ン プ リ メ ン
ト す る イ ン タ ー フ ェ イ ス のボー ド イ ン
タ ー フ ェ イ ス フ ァ イ ルで も 指定 さ れ ま
す。
例 (KC705)
emc_preset
IP
<ip_preset> 内で、 <ip> はプ リ セ ッ ト 値が適用 さ れ る IP を定義 し ます。
<ip vendor="xilinx.com" library="ip" name="axi_emc" version="3.0">
表 A‐15 : <ip> 属性
タグ
使用方法/説明
例 (KC705)
vendor=
ボー ド 提供会社の ウ ェ ブ サ イ ト の ア ド
レ ス です。
xilinx.com
library=
コ アに使用 さ れてい る ラ イ ブ ラ リ です。
ip
name=
IP コ アの名前です。
axi_emc
version=
IP のバージ ョ ンです。
3.0
ユーザー パラ メ ー タ ー
<ip> セ ク シ ョ ン内の <user_parameters> お よ び <user_parameter> タ グは、 指定 IP コ アに適用す る さ ま ざ ま な コ ン フ ィ
ギ ュ レーシ ョ ン プ リ セ ッ ト 値を定義 し ます。
<user_parameters>
<user_parameter name="CONFIG.C_INCLUDE_DATAWIDTH_MATCHING_0" value="1"/>
<user_parameter name="CONFIG.C_MAX_MEM_WIDTH" value="16"/>
<user_parameter name="CONFIG.C_MEM0_TYPE" value="2"/>
</user_parameter>
表 A‐16 : <user_parameter> 属性
タグ
使用方法/説明
例 (KC705)
name=
IP コ ア の あ ら か じ め コ ン フ ィ ギ ュ レ ー
ト さ れてい る プ ロ パテ ィ 名です。
CONFIG.C_WR_REC_TIME_MEM_0
value=
プ ロ パテ ィ のプ リ セ ッ ト 値です。
100000
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
109
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
その他のフ ァ イルおよび特別な注意事項
MIG 7 Series サポー ト
ザ イ リ ン ク ス 7 シ リ ーズ デバ イ ス の MIG には特別な処理が必要にな り ます。ボー ド サポー ト エ リ アに PRJ フ ァ イ ル
を追加す る 前に、 ボー ド 上で MIG コ ン フ ィ ギ ュ レーシ ョ ンのテ ス ト を実施す る 必要があ り ます。
PS7 プ リ セ ッ ト
PS7 IP コ ア の プ リ セ ッ ト コ ン フ ィ ギ ュ レ ー シ ョ ン の 指 定 は、 カ タ ロ グ の ほ か の サ ポ ー ト IP と 同 じ で す。
<user_parameters> で、 あ ら か じ め コ ンパ イ ル さ れてい る プ ロ パテ ィ お よ びその値をプ リ セ ッ ト フ ァ イ ルで指定 し てお
く 必要があ り ます。
<ip_preset preset_proc_name="ps7_preset">
<ip vendor="xilinx.com" library="ip" name="processing_system7" version="*">
<user_parameters>
<user_parameter name="CONFIG.preset" value="ZC702"/>
<user_parameter name="CONFIG.PCW_CAN0_PERIPHERAL_ENABLE" value="0"/>
</user_parameters>
</ip>
</ip_preset>
ト ラ イ ス テー ト ポー ト を使用 し た IP バス イ ン タ ー フ ェ イ ス
IP バ ス イ ン タ ーフ ェ イ スは、 ト ラ イ ス テー ト ポー ト に 3 つの信号 (I、 O、 T) を使用 し ます。 IP コ ン フ ィ ギ ュ レーシ ョ
ンに基づいて、 3 つの信号の う ち 1 つ、 あ る はそのすべての信号が、 ト ラ イ ス テー ト バ ッ フ ァ ーを介 し てシ ン グル外
部ポー ト と し て使用 さ れます。
イ ン タ ーフ ェ イ ス の、 論理か ら 物理へのポー ト マ ッ ピ ン グ を行 う <port_map> セ ク シ ョ ンで、 GPIO の場合は使用 さ
れてい る 信号のみを定義す る 必要があ り ますが、 I/O の場合は 3 つのすべての信号を物理ポー ト にマ ッ プす る 必要が
あ り ます。
例
<interface mode="master" name="dip_switches_4bits"
type="xilinx.com:interface:gpio_rtl:1.0">
<port_maps>
<port_map logical_port="TRI_I" physical_port="dip_switches_tri_i"/>
</port_maps>
</interface>
<interface mode="master" name="iic_main" type="xilinx.com:interface:iic_rtl:1.0">
<port_maps>
<port_map logical_port="SDA_I" physical_port="iic_main_sda_i"/>
<port_map logical_port="SDA_O" physical_port="iic_main_sda_o"/>
<port_map logical_port="SDA_T" physical_port="iic_main_sda_t"/>
<port_map logical_port="SCL_I" physical_port="iic_main_scl_i"/>
<port_map logical_port="SCL_O" physical_port="iic_main_scl_o"/>
<port_map logical_port="SCL_T" physical_port="iic_main_scl_t"/>
</port_maps>
</interface>
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
110
付録 A : ボー ド イ ン タ ー フ ェ イ ス フ ァ イル
イ ーサネ ッ ト ク ロ ッ ク 処理
普通の ク ロ ッ ク と イ ーサネ ッ ト ク ロ ッ ク を区別す る ため、イ ン タ ーフ ェ イ ス パ ラ メ ー タ ー TYPE が ス キーマで定義 さ
れ ます。 こ のパ ラ メ ー タ ーは、 ボー ド イ ン タ ーフ ェ イ ス に該当す る IP を検索す る と き の追加フ ィ ル タ ーの役割を果
た し ます。 TYPE パ ラ メ ー タ ーの値は、 ボー ド イ ン タ ーフ ェ イ スお よ び IP イ ン タ ーフ ェ イ ス で同 じ であ る 必要があ り
ます。
た と えば、KC705 ボー ド の sgmii_mgt_clk イ ン タ ーフ ェ イ ス には、値が ETH_MGT_CLK と 定義 さ れてい る TYPE パ
ラ メ ー タ ーが あ り ま す。 同様に、 IP の component.xml フ ァ イ ルに も 、 イ ン タ ー フ ェ イ ス パ ラ メ ー タ ーが TYPE
=ETH_MGT_CLK と 設定 さ れてい ます。
例 と し て <vivado_install_dir>/data/ip/xilinx/gig_ethernet_pcs_pma_v15_0/component.xml を参照 し て く だ さ い。
GT ロ ケーシ ョ ン制約
GT ロ ケーシ ョ ン制約を生成す る 場合、 イ ーサネ ッ ト 関連の イ ン タ ーフ ェ イ ス のボー ド イ ン タ ーフ ェ イ ス に GT_LOC
パ ラ メ ー タ ーがあ り ます。 た と えば、 KC705 ボー ド の sgmii イ ン タ ーフ ェ イ ス には GT_LOC=
GTXE2_CHANNEL_X0Y9 と 設定 さ れてい ます。 こ こ では、 イ ーサネ ッ ト IP は、 こ のパ ラ メ ー タ ーがボー ド イ ン
タ ーフ ェ イ ス にない場合、 LVDS モー ド で実行 し てい る も の と 仮定する ので、 IP カ ス タ マ イ ズに よ り 、 GT ロ ケー
シ ョ ン制約 (GT_LOC) ではな く 、 ピ ン ロ ケーシ ョ ン制約 (LOC) が生成 さ れます。
シス テム レ ベルのデザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
111
付録 B
その他のソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照
し て く だ さ い。
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ
ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。
参考資料
1.
『Vivado® Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892)
2.
『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973)
3.
『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894)
4.
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
5.
『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888)
6.
『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893)
7.
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
8.
『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911)
9.
『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899)
10. 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
11. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
12. 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1118)
13. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
14. 『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912)
15. 『UltraFast™ 設計手法 (Vivado Design Suite 用)』 (UG949)
16. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901)
17. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904)
18. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
シス テム レ ベル デザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
112
付録 B : その他のソ ースおよび法的通知
19. 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン (UG898)
20. 『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデル ベース の DSP デザ イ ン』 (UG897)
21. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado バージ ョ ン管理の概要
22. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado タ イ ミ ン グ制約ウ ィ ザー ド の使用
23. Vivado Design Suite ビデオ チ ュ ー ト リ アル
24. Vivado Design Suite 資料
ト レーニ ング リ ソ ース
ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを
提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
1.
Vivado Design Suite 入門ワ ー ク シ ョ ッ プ ト レーニ ン グ コ ース
2.
Vivado デザ イ ン ツール フ ロ ー
3.
Vivado での FPGA 設計導入
シス テム レ ベル デザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
113
付録 B : その他のソ ースおよび法的通知
法的通知
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent
permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND
CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort,
including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection
with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage
(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such
damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any
errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute,
or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty,
please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support
terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application
requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s
Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.
© Copyright 2012-2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands
included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2015.2) 2015 年 7 月 1 日
japan.xilinx.com
114