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

Vivado Design Suite
ユーザー ガ イ ド
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先しま
す。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の
上、最新情報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2014 年 10 月 9 日
2014.3
目次を ア ッ プデー ト 、 7 ページ目の注記を削除
2014 年 10 月 1 日
2014.3
第 2 章 「プ ロ ジ ェ ク ト の操作」 お よ び 第 3 章 「 ソ ース フ ァ イ ルの操作」 の図 と 内容を ア ッ プ
デー ト
2014 年 4 月 2 日
2014.1
第 2 章 「プ ロ ジ ェ ク ト の操作」 : 「Vivado Design Suite ボー ド フ ロ ーの使用」 を追加、 「 ソ ース
の制御シ ス テ ム」 に 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) お よ び 「Vivado Design
Suite ビデオ チ ュ ー ト リ アル : b あージ ョ ン管理の概要」 への リ ン ク を追加、「[General] ページ」
を ア ッ プデー ト
第 3 章 「 ソ ース フ ァ イ ルの操作」 : Tcl コ マ ン ド の get_files お よ び read_edif に関する 情
報を追加、 [Sources] ビ ュ ーのア イ コ ン情報を削除、 「制約の操作」 に タ イ ミ ン グ制約 ウ ィ ザー
ド に関す る 情報を追加、 「IP ソ ース の操作」 の XCI フ ァ イ ル情報を ア ッ プデー ト 、 XPS のの情
報 を ア ッ プデー ト 、 「IP イ ン テ グ レ ー タ ーの ソ ー ス の操作」 の[Mismatched Parts] ダ イ ア ロ グ
ボ ッ ク スへの参照を削除、 エンベデ ッ ド ソ ース に関する セ ク シ ョ ン を削除、 「非プ ロ ジ ェ ク ト
モー ド での ソ ース の操作」 を ア ッ プデー ト 、 章全体の構成を変更
第 4 章 「RTL デザ イ ン のエ ラ ボ レ ーシ ョ ン」 : 「DRC ルールの選択」 に timing_checks ルール
デ ッ ク がエ ラ ボ レー ト 済みデザ イ ンではサポー ト さ れない こ と を示す注記を追加 し 、 「DRC 違
反の解析」 を ア ッ プデー ト
図 2-2、図 2-3、図 2-4、図 2-10、図 2-15、図 2-16、図 2-17、図 3-1、図 3-2、図 3-6、図 3-13、図 3-14、
図 3-15、 図 3-16、 図 3-21、 図 4-1、 図 4-3、 図 4-4、 お よ び 図 4-5 を ア ッ プデー ト
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
改訂内容
japan.xilinx.com
2
目次
第 1 章 : 概要
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Vivado Design Suite の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
第 2 章 : プ ロ ジ ェ ク ト の操作
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
プロジェ ク ト タ イプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
プ ロ ジ ェ ク ト の管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
プ ロ ジ ェ ク ト サマ リ の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
プ ロ ジ ェ ク ト 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
第 3 章 : ソ ース フ ァ イルの操作
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
制約の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ミ ュ レーシ ョ ン ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP イ ン テ グ レー タ ーの ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DSP ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ ース フ ァ イ ルの編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
非プ ロ ジ ェ ク ト モー ド での ソ ース の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
39
45
52
54
56
57
60
65
第 4 章 : RTL デザイ ンのエ ラ ボ レーシ ョ ン
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
非プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
第 5 章 : デザイ ンのデバ ッ グ
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
RTL レベルのデザ イ ン シ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
イ ン シ ス テ ム デバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
付録 A : その他のソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
77
77
77
78
3
第 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] を
参照 し て く だ さ い。
注記 : イ ン ス ト ール、ラ イ セ ン スお よ び リ リ ース情報については、『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー
ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973)[参照 2] を参照 し て く だ さ い。
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
ツールでの Tcl の使用方法の詳細については、『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888)
[参照 5] を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
4
第 1 章 : 概要
Vivado Design Suite Tcl シ ェ ルの起動
Linux コ マ ン ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し て、Vivado Design Suite Tcl
シ ェ ルを起動 し ます。
vivado -mode tcl
注記 : Windows の場合、[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2014.x] → [Vivado 2014.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 IDE は作業デ ィ レ ク ト リ か ら 起動 し て く だ さ い。 こ れに よ り 、 起動デ ィ レ ク ト リ に書 き 込 ま れ る プ ロ
ジ ェ ク ト フ ァ イ ル、 ロ グ フ ァ イ ル、 ジ ャ ーナル フ ァ イ ルが見つけやす く な り ます。
Windows での Vivado IDE の起動
[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2014.x] → [Vivado 2014.x] を ク リ ッ ク し ます。
注記 : ま たは、 デス ク ト ッ プの Vivado IDE のシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。
X-Ref Target - Figure 1-1
図 1‐1 : Vivado IDE デス ク ト ッ プ ア イ コ ン
ヒ ン ト : 作業ホルダーは、 Vivado IDE のシ ョ ー ト カ ッ ト ア イ コ ン を右 ク リ ッ ク し て [プ ロ パテ ィ ] を ク リ ッ ク す る と
ア ッ プデー ト で き ます。こ れに よ り 、起動デ ィ レ ク ト リ に書 き 込ま れ る プ ロ ジ ェ ク ト フ ァ イ ル、ロ グ フ ァ イ ル、ジ ャ ー
ナル フ ァ イ ルが見つけやす く な り ま す。 ロ グ フ ァ イ ル と ジ ャ ーナル フ ァ イ ルのデフ ォ ル ト デ ィ レ ク ト リ について
は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] の付録 A の出力フ ァ イ ルを参照 し て
く だ さ い。
Windows ま たは Linux の コ マ ン ド ラ イ ンか ら の Vivado IDE の起動
Linux ま たは Windows コ マ ン ド ラ イ ンか ら Vivado Design Suite を起動す る には、まずツールが ロ ーカル マシ ン で実行
さ れ る よ う に設定す る 必要が あ り ま す。 settings64.bat ま たは settings32.bat を使用 し て Vivado ツール を
PATH に追加 し 、 XILINX_VIVADO 環境変数が ソ フ ト ウ ェ ア イ ン ス ト ール デ ィ レ ク ト リ を指定す る よ う に定義 し ま
す。
ツールを設定 し た ら 、 コ マ ン ド プ ロ ンプ ト に次の コ マ ン ド を入力 し ます。
vivado
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
5
第 1 章 : 概要
注記 : こ の コ マ ン ド を入力す る と 、 自動的に vivado -mode gui が実行 さ れ、 Vivado IDE が起動 さ れます。 ヘルプ
が必要な場合は、 「vivado -help」 と 入力 し ます。
Vivado Design Suite の Tcl シ ェ ルか らの Vivado IDE の起動
Vivado Design Suite が Tcl モー ド で実行 さ れてい る 場合は、次の コ マ ン ド を Tcl コ マ ン ド プ ロ ンプ ト に入力 し て、Vivado
IDE を起動 し ます。
start_gui
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
6
第 2章
プ ロ ジ ェ ク ト の操作
概要
プ ロ ジ ェ ク ト モー ド で操作す る 場合は、 さ ま ざ ま なプ ロ ジ ェ ク ト タ イ プ を使用 し てデザ イ ン を入力で き ます。 本章
では、 各プ ロ ジ ェ ク ト タ イ プ と そのプ ロ ジ ェ ク ト の作成お よ び管理方法について説明 し ま す。 ま た、 プ ロ ジ ェ ク ト
サマ リ 、 プ ロ ジ ェ ク ト 設定のほか、 Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成方法について も 説明 し ます。
プロジ ェ ク ト タ イプ
Vivado® Design Suite を使用す る と 、 次のプ ロ ジ ェ ク ト タ イ プ を作成で き ます。 各プ ロ ジ ェ ク ト タ イ プの入力 ソ ース
タ イ プは異な り ます。
•
レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) プ ロ ジ ェ ク ト
•
合成後のプ ロ ジ ェ ク ト
•
I/O プ ラ ニ ン グ プ ロ ジ ェ ク ト
•
イ ン ポー ト プ ロ ジ ェ ク ト
注記 : プ ロ ジ ェ ク ト は、 作成後は別のプ ロ ジ ェ ク ト タ イ プに変更で き ません。 例外は I/O プ ラ ニ ン グプ ロ ジ ェ ク ト の
みで、 こ のプ ロ ジ ェ ク ト は RTL プ ロ ジ ェ ク ト の基礎 と し て使用す る こ と がで き ます。
RTL プ ロ ジ ェ ク ト
Vivado IDE を使用す る と 、 RTL の作成か ら ビ ッ ト ス ト リ ーム の生成ま で、 デザ イ ン フ ロ ー全体を管理で き ます。 追
加で き る ソ ース は、 RTL ソ ース フ ァ イ ル、 ザ イ リ ン ク ス IP カ タ ロ グか ら の IP、 階層モジ ュ ール用の EDIF ネ ッ ト リ
ス ト 、 Vivado IP イ ン テ グ レー タ ーで作成 さ れたブ ロ ッ ク デザ イ ン、 デジ タ ル信号処理 (DSP) ソ ース です。 IP には、
Vivado ツールで生成 さ れた XCI フ ァ イ ル、 CORE Generator™ ツールで生成 さ れた レ ガシ XCO フ ァ イ ル、 お よ び コ ン
パ イ ル済みの EDIF ま たは NGC 形式の IP ネ ッ ト リ ス ト を含め る こ と がで き ます。
注記 : ISE の IP は、 7 シ リ ーズ デバ イ ス でのみサポー ト さ れます。 ISE フ ォーマ ッ ト IP (.ngc) は UltraScale デザ イ ン
ではサポー ト さ れな く な っ てい ます。 こ う いっ た IP は、 UltraScale デザ イ ン を開始す る 前にネ イ テ ィ ブ Vivado 形式に
移行 し てお く 必要があ り ます。
RTL をエ ラ ボ レー ト し て解析 し 、 構文が正 し い こ と を確認 し た ら 、 さ ま ざ ま な合成や イ ンプ リ メ ン テーシ ョ ン run を
実行お よ び管理 し 、 デザ イ ン と 実行結果を解析で き ます。 ま た、 タ イ ミ ン グ ク ロ ージ ャ ーを達成する ため、 さ ま ざ ま
な制約や イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジ を試す こ と も で き ます。
合成後のプ ロ ジ ェ ク ト
合成後のネ ッ ト リ ス ト を使用 し てプ ロ ジ ェ ク ト を作成す る こ と がで き ます。 ネ ッ ト リ ス ト は、 Vivado IDE、 XST、 サ
ポー ト さ れて い る サー ド パーテ ィ の合成 ツ ール を 使用 し て作成で き ま す。 Vivado IDE には、 EDIF、 NGC、 構造型
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
7
第 2 章 : プ ロ ジ ェ ク ト の操作
SystemVerilog、 構造型 Verilog 形式のネ ッ ト リ ス ト 、 Vivado デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルを イ ン ポー ト
で き ます。 ネ ッ ト リ ス ト は、 1 つの フ ァ イ ルに ま と め ら れてい る か、 複数のモジ ュ ール レベルのネ ッ ト リ ス ト か ら 構
成 さ れ る 階層構造にな っ てい ます。
ロ ジ ッ ク ネ ッ ト リ ス ト を解析お よ びシ ミ ュ レーシ ョ ン し 、 さ ま ざ ま な イ ンプ リ メ ン テーシ ョ ン run を実行お よ び管理
し 、 配置配線済みのデザ イ ンの結果を解析で き ます。 ま た、 さ ま ざ ま な制約や イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジ を
試す こ と も で き ます。
注記 : ISE の IP は、 7 シ リ ーズ デバ イ ス でのみサポー ト さ れます。 ISE フ ォーマ ッ ト の IP (.ngc) は UltraScale デザ イ
ンではサポー ト さ れな く な っ てい ます。 こ う いっ た IP は、 UltraScale デザ イ ン を開始す る 前にネ イ テ ィ ブ Vivado 形式
に移行 し てお く 必要があ り ます。
注記 : エ ンベデ ッ ド タ イ ミ ン グ制約を含む NGC ま たは EDIF フ ァ イ ルを イ ン ポー ト す る と 、 その制約は使用 さ れ ま
せん。 ザ イ リ ン ク ス® デザ イ ン制約 (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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
8
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト の作成
New Project ウ ィ ザー ド では、 プ ロ ジ ェ ク ト 名お よ びデ ィ レ ク ト リ の指定、 プ ロ ジ ェ ク ト への ソ ース フ ァ イ ル と 制約
フ ァ イ ルの追加、 タ ーゲ ッ ト デバ イ ス の選択を ウ ィ ザー ド に従っ て実行で き ます。
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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
9
第 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] を オンに し ます。 こ れを オンにす る と 、 デザ イ ン ソ ース
を追加す る 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
10
第 2 章 : プ ロ ジ ェ ク ト の操作
3.
[Add Sources] ページ (図 2-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
11
第 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 リ ス ト に追加 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
12
第 2 章 : プ ロ ジ ェ ク ト の操作
°
[Remove Selected Files and Directories] : X ボ タ ンで表示 さ れ、 選択 し た フ ァ イ ルお よ びデ ィ レ ク ト リ を削除 し
ます。
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
注記 : HDL ソ ース と し てだけでな く 、 サー ド パーテ ィ か ら 合成済み NGC ま たは EDIF ネ ッ ト リ ス ト と し て提供
さ れてい る IP も あ り ます。 ネ ッ ト リ ス ト ベース の IP ソ ース を読み込むには、 図 2-3 の [Add Sources] ダ イ ア ロ
グ ボ ッ ク ス に こ れ ら のフ ァ イ ルを追加 し ます。 ま た、 第 3 章の 「IP ソ ース の操作」 に示す よ う に、 IP カ タ ロ グ を
使用す る と Vivado IDE 内のプ ロ ジ ェ ク ト にパ ラ メ ー タ ー指定可能な コ ア を読み込む こ と も で き ます。
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 フ ァ イ ルは、 プ ロ ジ ェ ク ト に追加 さ れ る 制約フ ァ イ ル と し て自動的に表示 さ れ ます。 こ れ ら の フ ァ イ ル
は必要に応 じ て削除で き ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
13
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-5
図 2‐5 : New Project ウ ィ ザー ド : [Add Constraints] ページ
6.
[Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォーム (TDP) ボー ド
を選択 し 、 [Next] を ク リ ッ ク し ます。
°
[Parts] : 使用可能なデバ イ ス が リ ス ト さ れます。 I/O ピ ンのカ ウ ン ト やル ッ ク ア ッ プ テーブル (LUT) お よ び
フ リ ッ プ フ ロ ッ プ (FF) の数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ース に関す る 情報が表形式で
表示 さ れます。 こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 お よ び
温度な ど の フ ィ ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ま す。 [Search] フ ィ ール ド を使用 し て、
特定のデバ イ ス を検出す る こ と も で き ます。
ヒ ン ト : パーツ を選択す る と 、サポー ト さ れ る IP のみがデフ ォ ル ト で Vivado IP カ タ ロ グに表示 さ れます。こ のデフ ォ
ル ト 設定は、 Vivado IP カ タ ロ グで [Hide] ツールバー ボ タ ン
を オ フ にす る こ と で変更で き ます。
°
[Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツ が リ ス ト さ れます。 デバ
イ ス リ ソ ース に関す る 情報が [Parts] と 同様の表形式で表示 さ れます。 リ ス ト は、 [Vendor]、 [Display Name]、
[Board Rev] で フ ィ ル タ ーを かけて表示 さ せ る こ と も で き ます。 [Search] フ ィ ール ド を使用 し て、 特定のボー
ド タ イ プ を検出す る こ と も で き ます。
推奨 : Vivado Design Suite ボー ド フ ロ ーをサポー ト す る ボー ド を選択す る と 、 Vivado IP カ タ ロ グお よ び Vivado IP イ
ン テ グ レー タ ーの自動化 さ れた機能を利用で き ます。 た と えば、 選択 し たボー ド で使用可能な イ ン タ ーフ ェ イ ス をサ
ポー ト す る IP の I/O 制約を自動的に作成 さ せ る こ と がで き ます。 詳細は、 「Vivado Design Suite ボー ド フ ロ ーの使用」
を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
14
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-6
図 2‐6 : New Project ウ ィ ザー ド : [Default Part] ページ
7.
[New Project Summary] ページでプ ロ ジ ェ ク ト に選択 さ れたオプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
[Finish] を ク リ ッ ク す る と 、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造が作成 さ れ、 プ ロ ジ ェ ク ト に対 し て ロ ーカルに設定
さ れてい る フ ァ イ ルがすべて コ ピー さ れ、 プ ロ ジ ェ ク ト フ ァ イ ルが書き 出 さ れます。 作成す る 必要のあ る デザ イ
ン ソ ース はすべて次の手順で定義 し て、 デ ィ ス ク に書き 込まれ る よ う にする 必要があ り ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
15
第 2 章 : プ ロ ジ ェ ク ト の操作
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 コ ー ド に記述 さ れ る ポー ト の名前を定義 し ます。
-
[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 テ キ ス ト エデ ィ タ ーで新 し い ソ ース フ ァ イ ルを編集す る には、 フ ァ イ ルを ダブル ク リ ッ ク す る
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
16
第 2 章 : プ ロ ジ ェ ク ト の操作
か、 [Open File] ポ ッ プア ッ プ メ ニ ュ ーを ク リ ッ ク し ます。 新規作成 し た フ ァ イ ルの編集方法については、 第 3 章
の 「テ キ ス ト エデ ィ タ ーの使用」 を参照 し て く だ さ い。
Vivado Design Suite ボー ド フ ローの使用
Vivado Design Suite ボー ド フ ロ ーをサポー ト す る 評価ボー ド を 「RTL プ ロ ジ ェ ク ト の作成」 の手順 6 に示す方法で選
択 し た場合、 一部のデザ イ ン フ ロ ー と IP コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンが自動的に設定 さ れます。
ボー ド フ ローでの Vivado IP カ タ ログの使用
ボー ド フ ロ ーを サポー ト す る Vivado IP カ タ ロ グ か ら の IP を使用す る 場合、 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス に
[Board] タ ブが表示 さ れ ます (図 2-8)。 オプシ ョ ン で [Generate Board-Based I/O Constraints] を オ ンにで き ます。 選択 し
たボー ド パーツ でサポー ト さ れ る IP イ ン タ ーフ ェ イ ス に基づいて、IP コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンが変更 さ
れ、 I/O ロ ケーシ ョ ンお よ び I/O 規格な ど のボー ド 専用に生成 さ れた物理制約が イ ネーブルにな り ます。 ボー ド に関
す る IP の設定については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] を参照 し て
く だ さ い。
X-Ref Target - Figure 2-8
図 2‐8 : [Customize IP] ダ イ ア ログ ボ ッ ク スの [Board] タ ブ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
17
第 2 章 : プ ロ ジ ェ ク ト の操作
ボー ド フ ローでの Vivado IP イ ン テグ レー タ ーの使用
オプシ ョ ンで、 Vivado IP イ ン テ グ レー タ ーを使用 し てブ ロ ッ ク デザ イ ンに IP を追加で き ます。 プ ロ ジ ェ ク ト のボー
ド を選択 し た ら 、 [Board Part Interfaces] ウ ィ ン ド ウ (図 2-9) が IP イ ン テ グ レー タ ーに表示 さ れ る よ う にな り 、 選択 し
たボー ド パーツ の IP イ ン タ ーフ ェ イ ス が表示 さ れます。 Vivado IP イ ン テ グ レー タ ーでは、 コ ン フ ィ ギ ュ レーシ ョ ン
済みの IP が イ ン ス タ ン シエー ト さ れ、 I/O ロ ケーシ ョ ンお よ び I/O 規格な ど の物理的なボー ド 制約のほか、 イ ンプ リ
メ ン テーシ ョ ンお よ びデバ イ ス コ ン フ ィ ギ ュ レ ーシ ョ ン に使用 さ れ る 関連パ ラ メ ー タ ーな ど が割 り 当て ら れ ま す。
[Board Part Interfaces] ウ ィ ン ド ウ には、ブ ロ ッ ク デザ イ ンの IP で使用 さ れ る ボー ド パーツ で使用可能な イ ン タ ーフ ェ
イ ス が記録 さ れます。
コ ン フ ィ ギ ュ レーシ ョ ンす る と 、 すべてのボー ド の物理制約が自動的にダ ウ ン ス ト リ ームの合成ツールお よ び イ ンプ
リ メ ン テーシ ョ ン ツールに渡 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用
し た IP サブシ ス テ ムの設計』 (UG994) [参照 12] を参照 し て く だ さ い。
X-Ref Target - Figure 2-9
図 2‐9 : Vivado IP イ ン テグ レー タ ーの [Board Part Interfaces] ウ ィ ン ド ウ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
18
第 2 章 : プ ロ ジ ェ ク ト の操作
合成後プ ロ ジ ェ ク ト の作成
合成後プ ロ ジ ェ ク ト は、 合成済みネ ッ ト リ ス ト お よ びその制約を使用 し て開始 し ます。 こ の後、 デザ イ ン を解析、 フ
ロ アプ ラ ン、 イ ンプ リ メ ン ト で き ます。
注記 : 合成済みネ ッ ト リ ス ト を作成す る には、 XST ま たはサー ド パーテ ィ の合成ツールを使用で き ます。
重要 : EDIF お よ び NGC フ ァ イ ルを使用する 場合、 最上位セルの名前が フ ァ イ ル名 と 同 じ であ る 必要があ り ます。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [Post-Synthesis Project] を オンに し て、 [Next] を ク リ ッ ク し ます。
注記 : 必要であれば、 [Do not specify sources at this time] を オンに し ます。 こ れを オンにす る と 、 デザ イ ン ソ ース
を追加す る 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
3.
[Add Netlist Sources] ページ (図 2-10) で次のオプシ ョ ン を使用 し て、読み込むネ ッ ト リ ス ト フ ァ イ ルを指定 し 、最
上位モジ ュ ールを含むフ ァ イ ルを識別 し 、下位レベル モジ ュ ールのネ ッ ト リ ス ト を検索す る ためのデ ィ レ ク ト リ
を定義 し た ら 、 [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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
19
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-10
図 2‐10 : 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 ま たは合成済みネ ッ ト リ ス ト を完了す る 前に作成で き ます。 た と えば、 シ ス テ ム レ
ベルま たは PCB 設計者 と デザ イ ン情報を共有す る 目的な ど に使用で き ます。I/O プ ラ ニ ン グの詳細は、『Vivado Design
Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ ラ ニ ン グ』 (UG899) [参照 9] を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
20
第 2 章 : プ ロ ジ ェ ク ト の操作
注記 : MIG IPRTL ベース の I/O プ ラ ニ ン グの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク のプ
ラ ニ ン グ』 (UG899) [参照 9] を参照 し て く だ さ い。
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [I/O Planning Project] をオンに し て、 [Next] を ク リ ッ ク し ます。
3.
オプシ ョ ン : [Import Ports] ダ イ ア ロ グ ボ ッ ク ス (図 2-11) で次のオプシ ョ ン を指定 し 、 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-11
図 2‐11 : 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 ラ イ ブ ラ
リ な ど の設定 も 既存プ ロ ジ ェ ク ト か ら イ ン ポー ト さ れます。
注記 : XST ま たは ISE Design Suite プ ロ ジ ェ ク ト の イ ン ポー ト 方法については、 『Vivado Design Suite : ISE か ら Vivado
Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8] を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
21
第 2 章 : プ ロ ジ ェ ク ト の操作
1.
「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2.
[Project Type] ページで [Imported Project] を オンに し て、 [Next] を ク リ ッ ク し ます。
3.
[Import Project] ページ (図 2-12) で次のオプシ ョ ン を使用 し て、 イ ン ポー ト す る プ ロ ジ ェ ク ト フ ァ イ ルを指定 し た
ら 、 [Next] を ク リ ッ ク し ます。
°
[ISE] : 指定 し たザ イ リ ン ク ス ISE Design Suite プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は.xise) を イ ン ポー ト し ます。
°
[Synplify] : 指定 し た Synplify プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .prj を イ ン ポー ト し ます。
°
[XST] : 指定 し た XST プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .xst) を イ ン ポー ト し ます。
°
[Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
X-Ref Target - Figure 2-12
図 2‐12 : New Project ウ ィ ザー ド : [Import Project] ページ
4.
[New Project Summary] ページでプ ロ ジ ェ ク ト を定義す る オプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
注記 : プ ロ ジ ェ ク ト の タ ーゲ ッ ト パーツは、 イ ン ポー ト し たプ ロ ジ ェ ク ト のプ ロ ジ ェ ク ト 設定で定義 さ れます。
指定 し たプ ロ ジ ェ ク ト か ら RTL ソ ース フ ァ イ ル、 制約フ ァ イ ルが イ ン ポー ト さ れ、 指定 し たデ ィ レ ク ト リ にプ
ロ ジ ェ ク ト フ ァ イ ルが作成 さ れます。イ ン ポー ト プ ロ セ ス のサマ リ が イ ン ポー ト サマ リ レ ポー ト の ロ グ フ ァ イ
ルに記述 さ れ、 新規プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れます。 こ のサマ リ フ ァ イ ルでは、 プ ロ ジ ェ ク ト を作
成す る 際に使用 さ れた手順お よ びエ ラ ーや警告 メ ッ セージ を確認で き ます。
プ ロ ジ ェ ク ト を作成する Tcl コ マ ン ド
次の Tcl コ マ ン ド は、 プ ロ ジ ェ ク ト の作成に使用で き ます。 ス ク リ プ ト 例については、 「Tcl ス ク リ プ ト を使用 し たプ
ロ ジ ェ ク ト の作成」 を参照 し て く だ さ い。
注記 : Tcl コ マ ン ド の詳細については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参
照す る か、 <command> -help を入力 し て く だ さ い。
プ ロ ジ ェ ク ト を作成する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド :
create_project お よ び set_property
•
Tcl コ マ ン ド の例 (RTL プ ロ ジ ェ ク ト ) :
create_project
my_project
C:/team/designs/my_project
set_property DESIGN_MODE RTL [current_fileset]
•
-part
xc7k325tffg676-2
Tcl コ マ ン ド の例 (合成後プ ロ ジ ェ ク ト ) :
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
22
第 2 章 : プ ロ ジ ェ ク ト の操作
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) [参照 13] を参照 し て く だ さ い。
既存の IP ソ ース フ ァ イルを追加する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : add_files ま たは import_ip
•
Tcl コ マ ン ド の例 : import_ip C:/projects/sources/char_fifo/char_fifo.xci
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
23
第 2 章 : プ ロ ジ ェ ク ト の操作
注記 : 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 温度グ レー ド パーツが別々に表示 さ れ
ます。
プ ロ ジ ェ ク ト の管理
プ ロ ジ ェ ク ト を開 く
プ ロ ジ ェ ク ト を開 く と 、 前回プ ロ ジ ェ ク ト を閉 じ た と き の状態が復元 さ れ ま す。 プ ロ ジ ェ ク ト の状態 と は、 ソ ー ス
フ ァ イ ル順、 ソ ー ス フ ァ イ ルのデ ィ ス エーブル/ イ ネーブル、 ア ク テ ィ ブお よ び タ ーゲ ッ ト 制約フ ァ イ ル、 合成、 シ
ミ ュ レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ン run の ス テー ト な ど です。
プ ロ ジ ェ ク ト を開 く には、 次のいずれか を実行 し ます。
•
Getting Started ページの [Open Project] リ ン ク を ク リ ッ ク し ます。
•
[File] → [Open Project] を ク リ ッ ク し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
24
第 2 章 : プ ロ ジ ェ ク ト の操作
•
[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] を使用 し て制約の変更をデ ィ ス ク に書き 込む必要があ り ます。
別のデ ィ レ ク ト リ にプ ロ ジ ェ ク ト を保存す る には、 [File] → [Save Project As] を ク リ ッ ク し て く だ さ い。 こ れに よ り 、
プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造全体が新 し く 指定 さ れたデ ィ レ ク ト リ に コ ピー さ れ、 run の ス テー タ ス も 保持 さ れま
す。
プ ロ ジ ェ ク ト を保存する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : save_project_as
•
Tcl コ マ ン ド の例 : save_project_as new_project c:/projects/
プ ロ ジ ェ ク ト を閉 じ る
プ ロ ジ ェ ク ト を閉 じ る には、 [File] → [Close Project] を ク リ ッ ク し ます。 保存 さ れていない変更があ る 場合は、 それを
示す メ ッ セージが表示 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
25
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト を閉 じ る Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。 close_project
プ ロ ジ ェ ク ト のアー カ イ ブ
プ ロ ジ ェ ク ト アーカ イ ブ を作成 し て、 バ ッ ク ア ッ プ と し て保存 し た り 、 リ モー ト サ イ ト に送信 し た り で き ます。 プ
ロ ジ ェ ク ト を アーカ イ ブす る 際、 Vivado IDE では次が実行 さ れます。
•
デザ イ ン階層を解析 し ます。
•
ラ イ ブ ラ リ デ ィ レ ク ト リ か ら 必要な ソ ース フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル、 リ モー ト フ ァ イ ルを コ ピー し ま
す。
•
制約を コ ピー し ます。
•
合成、 シ ミ ュ レーシ ョ ン、 お よ び イ ンプ リ メ ン テーシ ョ ンの実行結果を コ ピー し ます (オプシ ョ ン)。
•
プ ロ ジ ェ ク ト の ZIP フ ァ イ ルを作成 し ます。
プ ロ ジ ェ ク ト のアーカ イ ブ を作成す る には、 次の手順に従い ます。
1.
[File] → [Archive Project] を ク リ ッ ク し ます。
2.
[Archive Project] ダ イ ア ロ グ ボ ッ ク ス (図 2-13) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[Archive name] : プ ロ ジ ェ ク ト アーカ イ ブ名を指定 し ます。
°
[Archive location] : プ ロ ジ ェ ク ト アーカ イ ブ フ ァ イ ルを保存す る デ ィ レ ク ト リ を指定 し ます。
°
°
[Include configuration settings] : デザ イ ンのデバ ッ グに役立つ Tcl 初期化コ マ ン ド を含む init.tcl フ ァ イ ル
を含みます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参照 し て
く だ さ い。
[Include run results] : プ ロ ジ ェ ク ト で実行 し た run の設定 と 結果を含め ます。 合成 run お よ び イ ンプ リ メ ン
テーシ ョ ン run の結果を含め る と 、 プ ロ ジ ェ ク ト アーカ イ ブの容量がかな り 増加 し ます。
X-Ref Target - Figure 2-13
図 2‐13 : [Archive Project] ダ イ ア ログ ボ ッ ク ス
Vivado IDE でプ ロ ジ ェ ク ト アーカ イ ブが ZIP フ ァ イ ル形式で作成 さ れます。 こ の ZIP フ ァ イ ルには、必要な ソ ー
ス フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル、 run フ ァ イ ル (指定 し た場合のみ)、 お よ びアーカ イ ブ プ ロ セ ス を記述 し た
archive.log フ ァ イ ルが含まれます。 archive.log フ ァ イ ルでアーカ イ ブの作成プ ロ セ ス を確認で き ます。
プ ロ ジ ェ ク ト を圧縮する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
26
第 2 章 : プ ロ ジ ェ ク ト の操作
•
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) [参照 14] を参照
し て く だ さ い。 IP お よ び ソ ース管理シ ス テ ムの使用については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し
た設計』 (UG896) [参照 11] を参照 し て く だ さ い。
ビデオ : ソ ー ス管理シ ス テ ム の使用方法については、 Vivado Design Suite ビデオ チ ュ ー ト リ アル : バージ ョ ン管理の
概要を参照 し て く だ さ い。
ソ ース管理シ ス テムを使用する ための Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : write_project_tcl
•
Tcl コ マ ン ド の例 : write_project_tcl -all_properties C:/Data/project_wave.tcl
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
27
第 2 章 : プ ロ ジ ェ ク ト の操作
プ ロ ジ ェ ク ト サマ リ の使用
Vivado IDE には、 対話型のプ ロ ジ ェ ク ト サマ リ (図 2-14) が含まれ、 デザ イ ン コ マ ン ド が実行 さ れ、 デザ イ ン プ ロ セ
ス が実行 さ れ る と 随時ア ッ プデー ト さ れ ます。 こ れには、 プ ロ ジ ェ ク ト パーツ、 プ ロ ジ ェ ク ト ス テー タ ス、 合成お
よ び イ ンプ リ メ ン テーシ ョ ンの状態な ど のプ ロ ジ ェ ク ト お よ びデザ イ ン情報が含まれます。 ま た、 メ ッ セージ、 ロ グ、
レ ポー ト な ど を示す ウ ィ ン ド ウや [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 (v2014.3) 2014 年 10 月 9 日
を ク リ ッ ク し ます。
japan.xilinx.com
28
第 2 章 : プ ロ ジ ェ ク ト の操作
X-Ref Target - Figure 2-14
図 2‐14 : [Project Summary] ウ ィ ン ド ウ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
29
第 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-15) では、 プ ロ ジ ェ ク ト 名、 パー ツ、 タ ーゲ ッ ト 言語、 タ ーゲ ッ ト シ ミ ュ レ ー タ 、 最上位モ
ジ ュ ール名、 言語オプシ ョ ン を指定で き ます。
•
[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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
30
第 2 章 : プ ロ ジ ェ ク ト の操作
ク リ ッ ク す る と 、 ジ ェ ネ リ ッ ク お よ びパ ラ メ ー タ ーの値を定義 し て、 ソ ース フ ァ イ ルで定義 さ れたデフ ォ ル
ト の値を上書 き で き ます。
°
[Top Library] : 最上位モジ ュ ールの ラ イ ブ ラ リ 名を指定 し ます。
°
[Loop Count] : 最大ループ反復値を指定 し ます。 デフ ォ ル ト は 1000 です。
注記 : [Loop Count] オプシ ョ ン は、 合成中ではな く エ ラ ボ レ ーシ ョ ン中に使用 さ れ ま す。 合成に対 し ては、
[Synthesis] ページの [More Options] フ ィ ール ド に 「-loop_iteration_limit」 と 入力 し ます。
X-Ref Target - Figure 2-15
図 2‐15 : [General] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
31
第 2 章 : プ ロ ジ ェ ク ト の操作
[Simulation] ページ
[Simulation] ページ (図 2-16) では、 シ ミ ュ レーシ ョ ン セ ッ ト 、 シ ミ ュ レーシ ョ ン最上位モジ ュ ール名、 コ ンパ イ ルお
よ びシ ミ ュ レーシ ョ ン オプシ ョ ン を指定で き ます。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下に
その説明が表示 さ れます。 [Simulation] ページの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レー
シ ョ ン』 (UG900) [参照 10] の 「シ ミ ュ レーシ ョ ン設定」 セ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 2-16
図 2‐16 : [Simulation] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
32
第 2 章 : プ ロ ジ ェ ク ト の操作
[Synthesis] ページ
[Synthesis] ページ (図 2-17) では、 制約セ ッ ト 、 合成ス ト ラ テジお よ び合成オプシ ョ ン を指定で き ます。 オプシ ョ ンは
選択 し た合成ス ト ラ テジで定義 さ れますが、 こ れ ら は変更で き ます。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ
ク ス の一番下にその説明が表示 さ れ ます。 [Synthesis] ページの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』
(UG901) [参照 15] の 「シ ミ ュ レーシ ョ ン設定」 セ ク シ ョ ン を参照 し て く だ さ い。
注記 : プ ロ ジ ェ ク ト に含まれ る IP は前 も っ て合成 し 、 合成 ラ ン タ イ ム を削減する こ と がで き ます。 こ のボ ト ム ア ッ プ
合成フ ロ ーの使用については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] を参照 し
て く だ さ い。
ヒ ン ト : tcl.pre お よ び tcl.post フ ァ イ ルを使用す る と 、Tcl ス ク リ プ ト を追加 し て合成前後に読み出 さ れ る よ う
にで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 3] を参照 し て
く だ さ い。
X-Ref Target - Figure 2-17
図 2‐17 : [Synthesis] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
33
第 2 章 : プ ロ ジ ェ ク ト の操作
[Implementation] ページ
[Implementation] ページ (図 2-18) では、制約セ ッ ト 、イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジお よ び イ ンプ リ メ ン テーシ ョ
ン オプシ ョ ン を指定で き ます。 オプシ ョ ンは選択 し た イ ン プ リ メ ン テーシ ョ ン ス ト ラ テ ジで定義 さ れ ますが、 こ れ
ら は変更で き ます。 た と えば、 消費電力お よ び物理合成な ど のオプシ ョ ンの段階を実行す る オプシ ョ ン を使用可能で
す。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れ ます。 [Implementation] ペー
ジの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テーシ ョ ン』 (UG904) [参照 16] の 「 イ ン プ リ メ ン
テーシ ョ ン ス ト ラ テジのカ ス タ マ イ ズ」 を参照 し て く だ さ い。
ヒ ン ト : Tcl ス ク リ プ ト を追加す る と 、tcl.pre お よ び tcl.post フ ァ イ ルで イ ンプ リ メ ン テーシ ョ ンの ど の段階の
前後にで も source コ マ ン ド で読み出す こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ
ト 機能の使用』 (UG894) [参照 3] を参照 し て く だ さ い。
X-Ref Target - Figure 2-18
図 2‐18 : [Implementation] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
34
第 2 章 : プ ロ ジ ェ ク ト の操作
[Bitstream] ページ
[Bitstream] ページ (図 2-19) では、 ビ ッ ト ス ト リ ーム を生成す る 前にオプシ ョ ン を定義で き ます。 オプシ ョ ン を ク リ ッ
ク す る と 、ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れます。[Bitstream] ページの詳細は、『Vivado Design Suite
ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 17] の 「ビ ッ ト ス ト リ ーム フ ァ イ ルの フ ォーマ ッ ト 設定
の変更」 セ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 2-19
図 2‐19 : [Bitstream] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
35
第 2 章 : プ ロ ジ ェ ク ト の操作
[IP] ページ
[IP] ページ (図 2-20) には、 次の タ ブが含まれます。
•
[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-20
図 2‐20 : [IP] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
36
第 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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
37
第 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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
38
第 3章
ソ ース フ ァ イルの操作
概要
ソ ース フ ァ イ ルにはプ ロ ジ ェ ク ト ソ ース、 デザ イ ン ソ ース、 制約 ソ ース、 シ ミ ュ レーシ ョ ン ソ ース、 IP ソ ース、 デ
ジ タ ル信号処理 (DSP) ソ ース、 IP サブシ ス テ ム (ブ ロ ッ ク デザ イ ン) な ど が含まれます。 プ ロ ジ ェ ク ト モー ド の場合
は、 Vivado® IDE ま たは Tcl コ マ ン ド か ス ク リ プ ト を使用 し て こ れ ら の ソ ース フ ァ イ ルを作成で き ます。 Vivado IDE
では、 自動的に ソ ース フ ァ イ ルが管理 さ れます。 プ ロ ジ ェ ク ト に対 し て ロ ーカルにあ る フ ァ イ ルか、 リ モー ト にあ っ
て ラ イ ブ ラ リ か ら 参照 し てい る ソ ース フ ァ イ ルを作成お よ び管理で き ます。Verilog お よ び VHDL ソ ース フ ァ イ ルは、
デザ イ ン フ ロ ーの ど の段階で も プ ロ ジ ェ ク ト に追加で き ます。 ま た、 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン ソ ース、 IP
サブシ ス テ ム、 DSP ソ ー ス も 作成 し た り 、 デザ イ ン に追加 し た り で き る ほか、 既存 IP を追加 し た り で き ます。 非プ
ロ ジ ェ ク ト モー ド の場合、 こ れ ら の ソ ース フ ァ イ ルは Tcl コ マ ン ド か ス ク リ プ ト を使用 し て作成で き ますが、 ソ ース
フ ァ イ ルは手動で管理す る 必要があ り ます。 本章では、 主にプ ロ ジ ェ ク ト モー ド での ソ ース の作成お よ び管理につい
て説明 し ます。 非プ ロ ジ ェ ク ト モー ド での ソ ース の作成お よ び管理については、 「非プ ロ ジ ェ ク ト モー ド での ソ ース
の操作」 を参照 し て く だ さ い。
注記 : Zynq® お よ び MicroBlaze™ を使用す る 際の ソ ー ス フ ァ イ ル管理の詳細については、 『Vivado Design Suite ユー
ザー ガ イ ド : エンベデ ッ ド ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 18] を参照 し て く だ さ い。
注記 : ソ ース の追加に関す る Tcl コ マ ン ド の詳細は、 第 2 章の 「デザ イ ン ソ ース、 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン
ソ ース を追加す る Tcl コ マ ン ド 」 を参照 し て く だ さ い。 Tcl コ マ ン ド の詳細については、 『Vivado Design Suite Tcl コ マ
ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 4] を参照する か、 <command> -help を入力 し て く だ さ い。
デザイ ン ソ ースの操作
Vivado IDE では、 HDL ま たはネ ッ ト リ ス ト フ ァ イ ルを含めてデザ イ ン ソ ース フ ァ イ ルを作成お よ び管理で き ます。
注記 : デフ ォ ル ト では、 Tcl コ マ ン ド の get_* で Tcl コ ン ソ ール と ロ グ フ ァ イ ルの最初の 500 結果以降の戻 り 値が切
り 捨て ら れます。 デフ ォ ル ト 設定を変更す る 方法 も 含めた詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ
イ ド 』 (UG835) [参照 4] を参照 し て く だ さ い。
ヒ ン ト : [Sources] ウ ィ ン ド ウ使用 さ れ る ア イ コ ンについて、『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』
(UG893) [参照 6] を参照 し て く だ さ い。
デザイ ン ソ ースの作成 と 追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 Flow Navigator で [Add Sources] を ク リ ッ ク す る か、 [Sources] ウ ィ ン ド ウ のポ ッ プア ッ プ メ ニ ュ ー
か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add or Create Design Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
39
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-1
図 3‐1 : Add Sources ウ ィ ザー ド
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] ダ イ ア ロ グ ボ ッ ク ス (図 3-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
[File type] : Verilog フ ァ イ ル (.v)、 Verilog ヘ ッ ダー フ ァ イ ル (.vh)、 SystemVerilog フ ァ イ ル (.sv)、 VHDL フ ァ
イ ル (.vhdl) な ど のフ ァ イ ル形式のいずれか を指定 し ます。
°
[File name] : 新 し い HDL ソ ース フ ァ イ ルの名前を指定 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
40
第 3 章 : ソ ース フ ァ イルの操作
°
[File location] : フ ァ イ ルを作成する デ ィ レ ク ト リ を指定 し ます。
注記 : フ ァ イ ルのプ レース ホルダーが ソ ース の リ ス ト に追加 さ れ ます。 フ ァ イ ルは [Finish] を ク リ ッ ク す る と 作
成 さ れます。
X-Ref Target - Figure 3-3
図 3‐3 : [Create Source File] ダ イ ア ログ ボ ッ ク ス
ヒ ン ト : [Create File] を何度か ク リ ッ ク し て、 プ ロ ジ ェ ク ト に追加す る 複数のモジ ュ ールを定義 し ます。
5.
[Add Sources] ページ (図 3-2) で ソ ース フ ァ イ ルに最適な ラ イ ブ ラ リ を指定 し ます。
注記 : デフ ォ ル ト では、 HDL ソ ース フ ァ イ ルは xil_defaultLib ラ イ ブ ラ リ に追加 さ れます。 必要に応 じ て、
ユーザー VHDL ラ イ ブ ラ リ を作成 し 、 参照で き ます。
6.
[Finish] を ク リ ッ ク し て新規 ソ ース フ ァ イ ルを作成 し 、 それ ら をプ ロ ジ ェ ク ト に追加 し ます。
新規 ソ ース フ ァ イ ルを作成 し た ら 、 Vivado IDE テ キ ス ト エデ ィ タ ーの よ う なテ キ ス ト エデ ィ タ ーで空の フ ァ イ
ルを開いて、 その フ ァ イ ルの内容を定義 し ます。 Vivado IDE では、 モジ ュ ールやエン テ ィ テ ィ 宣言用にポー ト を
定義す る ための [Define Modules] ダ イ ア ロ グ ボ ッ ク ス が開き ます。
7.
オプシ ョ ン : [Define Module] ダ イ ア ロ グ ボ ッ ク ス (図 3-4) で次のオプシ ョ ン を使用 し て Verilog、Verilog ヘ ッ ダー、
SystemVerilog、 ま たは VHDL でモジ ュ ールま たはアーキ テ ク チ ャ を定義 し た ら 、 [OK] を ク リ ッ ク し ます。
°
[New Source Files] : 複数フ ァ イ ルを作成 し た ら 、 定義する モジ ュ ールの名前を ク リ ッ ク し ます。
注記 : こ の フ ィ ール ド は複数フ ァ イ ルを作成 し た場合にのみ表示 さ れます。
°
[Entity name/Module name] : VHDL コ ー ド のエン テ ィ テ ィ ま たは Verilog ま たは SystemVerilog コ ー ド のモ
ジ ュ ール名の名前を指定 し ます。
注記 : エン テ ィ テ ィ ま たはモジ ュ ール名はデフ ォ ル ト でその フ ァ イ ル名にな り ますが、 別の名前を付け る こ
と も で き ます。
°
[Architecture name] : RTL ソ ース フ ァ イ ルのアーキテ ク チ ャ を指定 し ます。デフ ォ ル ト では [Behavioral] です。
注記 : こ のオプシ ョ ンは、 VHDL コ ー ド の場合にのみ表示 さ れ、 Verilog ま たは SystemVerilog モジ ュ ールを
定義す る 場合には表示 さ れません。
°
[I/O Port Definitions] : モジ ュ ール定義に追加す る ポー ト を定義 し ます。
-
[Port Name] : RTL コ ー ド に記述 さ れ る ポー ト の名前を定義 し ます。
-
[Direction] : ポー ト を入力、 出力、 双方向のいずれかに指定 し ます。
-
[Bus] : ポー ト がバス ポー ト か ど う かを指定 し ます。 次の [MSB] お よ び [LSB] オプシ ョ ン を使用 し て
ポー ト のバ ス幅を定義 し ます。
-
[MSB] : 最上位ビ ッ ト (MSB) の数を定義 し ます。 [LSB] フ ィ ール ド と 組み合わせて、 定義 さ れ る バ ス の
幅を指定 し ます。
-
[LSB] : 最下位ビ ッ ト (LSB) の数を定義 し ます。
注記 : ポー ト がバス ポー ト でない場合は、 MSB お よ び LSB は無視 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
41
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-4
図 3‐4 : [Define Module] ダ イ ア ログ ボ ッ ク ス
[Sources] ウ ィ ン ド ウ に新 し く 定義 し たモジ ュ ールが リ ス ト さ れ ます。 Vivado IDE テ キ ス ト エデ ィ タ ーで新 し い
ソ ース フ ァ イ ルを編集す る には、 フ ァ イ ルを ダブル ク リ ッ ク する か、[Open File] ポ ッ プア ッ プ メ ニ ュ ーを ク リ ッ
ク し ます。 新規作成 し た フ ァ イ ルの編集方法については、 第 3 章の 「テ キ ス ト エデ ィ タ ーの使用」 を参照 し て く
だ さ い。
デザイ ン ソ ースの追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 Flow Navigator で [Add Sources] を ク リ ッ ク す る か、 [Sources] ウ ィ ン ド ウ のポ ッ プア ッ プ メ ニ ュ ー
か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [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 ラ イ ブ ラ リ を指定 し ます。 定義済みの ラ イ ブ ラ リ 名か ら 選択
す る か、 新規 ラ イ ブ ラ リ 名を入力 し ます。
注記 : こ のオプシ ョ ンは、 VHDL フ ァ イ ルの場合のみ使用で き ます。 デフ ォ ル ト では、 HDL ソ ー ス フ ァ イ
ルは work ラ イ ブ ラ リ に追加 さ れ ま す。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し 、 参照で き ま
す。 Verilog お よ び SystemVerilog フ ァ イ ルの場合は、 work の ま ま に し ておいて く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
42
第 3 章 : ソ ース フ ァ イルの操作
°
°
[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] ボ タ ン を ク リ ッ ク し て ソ ー ス フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場合は、 フ ァ イ ル
が ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る 際にデ ィ レ ク ト リ 構造 も その ま ま保持 さ れます。詳細は、「 リ モー
ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
°
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ のサブデ ィ レ ク ト リ に含まれ る
ソ ース フ ァ イ ルをすべて追加 し ます。
最上位モ ジ ュ ールの指定 と ソ ース フ ァ イルの順序の変更
Vivado Design Suite では、 デザ イ ン階層の最上位お よ びプ ロ ジ ェ ク ト に追加 さ れ る フ ァ イ ルのエ ラ ボ レーシ ョ ン、 合
成、 シ ミ ュ レーシ ョ ンの順序が自動的に判断 さ れます。 デザ イ ン階層は、 [Sources] ウ ィ ン ド ウ の [Hierarchy] ウ ィ ン ド
ウ に表示 さ れます。 フ ァ イ ルの順序は、[Sources] ウ ィ ン ド ウ の [Compile Order] ビ ュ ーに表示 さ れてい る 順序にな り ま
す。
最上位モジ ュ ールの自動指定は、 デザ イ ン階層の最上位を手動で指定する と 上書き で き ます。 最上位モジ ュ ールを指
定す る には、[Sources] ウ ィ ン ド ウ の [Hierarchy] ビ ュ ーでモジ ュ ールを右 ク リ ッ ク し て [Set as Top] を ク リ ッ ク し ます。
注記 : 選択 し た最上位モジ ュ ールがデザ イ ン ソ ース フ ァ イ ルで見つか ら ず、 階層ア ッ プデー ト モー ド が automatic に
設定 さ れてい る 場合は、 選択 し た最上位モジ ュ ールは自動的に最適なモジ ュ ールに リ セ ッ ト さ れます。
最上位モジ ュ ールを変更す る と 、 新 し い最上位モジ ュ ールの要件に基づいて、 [Sources] ウ ィ ン ド ウ の [Hierarchy] お よ
び [Compile Order] ビ ュ ーで フ ァ イ ルが並び替え ら れます。[Sources] ウ ィ ン ド ウ のポ ッ プア ッ プ メ ニ ュ ーか ら [Refresh
Hierarchy] を使用す る と 、 ソ ース フ ァ イ ルの変更に基づいて フ ァ イ ルが自動的に並び替え ら れます。
[Sources] ウ ィ ン ド ウ のポ ッ プア ッ プ メ ニ ュ ーか ら [Hierarchy Update] を使用す る と 、 こ の コ ンパ イ ル順序の自動指定
を上書 き で き ます。 手動モー ド の場合は、 ユーザーの要件に従っ て手動で フ ァ イ ル順を変更で き ます。 ソ ース フ ァ イ
ルの順序を手動で指定す る には、[Sources] ウ ィ ン ド ウ の [Compile Order] ビ ュ ーで フ ァ イ ルを ド ラ ッ グ し て適切な位置
に移動 し ます。 ま たは、 フ ァ イ ルを右 ク リ ッ ク し て [Move Up]、 [Move Down]、 [Move to Top] ま たは [Move to Bottom]
を ク リ ッ ク し て並び替え る こ と も で き ます。
すべての ソ ース の コ ンパ イ ルま たは評価順の リ ス ト を確認す る には、 Tcl コ ン ソ ールで report_compile_order コ
マ ン ド を使用 し ます。 こ の コ マ ン ド では、 合成、 イ ンプ リ メ ン テーシ ョ ンお よ びシ ミ ュ レーシ ョ ン で コ ンパ イ ルま た
は評価 さ れ る 順序で フ ァ イ ルが リ ス ト さ れます。 RTL の コ ンパ イ ル順は、 合成お よ びシ ミ ュ レーシ ョ ン用に リ ス ト さ
れます。 制約の評価順序は、 合成お よ びシ ミ ュ レーシ ョ ン用に リ ス ト さ れます。
注記 : [Sources] ウ ィ ン ド ウ の詳細は、『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] を参
照 し て く だ さ い。
ソ ース フ ァ イルのイ ネーブル/デ ィ ス エーブル
ソ ース フ ァ イ ルを追加ま たは作成す る と 、 [Sources] ウ ィ ン ド ウ でデフ ォ ル ト で イ ネーブルにな り ます。 ソ ース フ ァ
イ ルは、 エ ラ ボ レーシ ョ ン、 合成、 ま たはシ ミ ュ レーシ ョ ンで使用 さ れない よ う デ ィ ス エーブルにで き ます。 デザ イ
ンの さ ま ざ ま な段階で ソ ース フ ァ イ ルを イ ネーブルお よ びデ ィ ス エーブルする こ と で、 1 つのプ ロ ジ ェ ク ト 内で さ ま
ざ ま なデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を管理で き ます。
•
ソ ース フ ァ イ ルをデ ィ ス エーブルにする には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Disable File] を
ク リ ッ ク し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
43
第 3 章 : ソ ース フ ァ イルの操作
•
ソ ース フ ァ イ ルを イ ネーブルにす る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し 、 [Enable File] を ク
リ ッ ク し ます。
リ モー ト ソ ースの参照またはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への
ソ ースの コ ピー
ソ ース フ ァ イ ルは、 リ モー ト ロ ケーシ ョ ンか ら 参照す る か、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーで き ます。 リ モー
ト フ ァ イ ルを追加 し た場合、 最新の フ ァ イ ルが自動的に検出 さ れ、 開いてい る デザ イ ン を更新す る か ([Refresh your
open Designs])、 ア ッ プデー ト さ れた フ ァ イ ルを使用 し て合成を実行す る か ([Synthesize with the latest updates]) を選択
す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 プ ロ ジ ェ ク ト を移動ま たはアーカ イ ブする 可能性があ る 場合は、 すべての
フ ァ イ ルがプ ロ ジ ェ ク ト 内に含まれ る よ う に、 フ ァ イ ルを プ ロ ジ ェ ク ト に コ ピーす る こ と をお勧め し ます。
注記 : プ ロ ジ ェ ク ト に フ ァ イ ルを コ ピーす る と 、 プ ロ ジ ェ ク ト を別のシ ス テ ムに移行 し やす く な り ますが、 元の フ ァ
イ ルへの変更は Vivado IDE では自動的には検出 さ れ ま せん。 元の フ ァ イ ルを変更 し た と き に コ ピー し た フ ァ イ ル も
ア ッ プデー ト す る には、 フ ァ イ ルを削除 し て追加 し 直すか、[Sources] ウ ィ ン ド ウ の [Replace File] コ マ ン ド を使用 し て
フ ァ イ ルを置 き 換え る 必要があ り ます。
プ ロ ジ ェ ク ト に ソ ース を コ ピーす る には、 次のいずれかを実行 し ます。
•
[Add Sources] コ マ ン ド で ソ ース フ ァ イ ルをプ ロ ジ ェ ク ト に追加する 際に [Copy Sources into Project] を オンにす る
と 、 ソ ース フ ァ イ ルがプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー さ れます。
•
ソ ース フ ァ イ ルを最初 リ モー ト ソ ース と し て追加 し 、 後でプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る 場合は、
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し て [Copy File into Project] を ク リ ッ ク し て ソ ー ス フ ァ イ ルを個別
に コ ピーす る か、 ま たは [Copy All Files Into Project] を ク リ ッ ク し てすべての リ モー ト ソ ース フ ァ イ ルを コ ピー
し ます。
ロー カル ソ ース フ ァ イルのア ッ プデー ト
リ モー ト ソ ー ス を参照す る と 、 その ア ッ プデー ト は Vivado IDE で自動的に検出 さ れ ま す。 ソ ー ス フ ァ イ ルがプ ロ
ジ ェ ク ト に コ ピー さ れてい る 場合は、元の フ ァ イ ルへの変更は検出 さ れません。必要に応 じ て、 ロ ーカル ソ ース フ ァ
イ ルを手動でア ッ プデー ト す る 必要があ り ます。
ロ ーカル ソ ース フ ァ イ ルを ア ッ プデー ト す る には、 次のいずれかの方法を使用 し て く だ さ い。
•
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを選択 し 、 ポ ッ プア ッ プ メ ニ ュ ーか ら [Replace File] を ク リ ッ ク し ます。
フ ァ イ ル ブ ラ ウ ザーに コ ピー元の ソ ース フ ァ イ ルが表示 さ れます。元のデ ィ レ ク ト リ が変更 さ れた場合は、デ ィ
レ ク ト リ を指定 し て フ ァ イ ルを選択す る 必要があ り ます。 [OK] を ク リ ッ ク し て元の ソ ース フ ァ イ ルを読み込み
す と 、 ソ ース フ ァ イ ルへの変更を含めてプ ロ ジ ェ ク ト フ ァ イ ルがア ッ プデー ト さ れます。
注記 : 別の フ ァ イ ルを指定す る と 、 選択 し た フ ァ イ ルがその新 し い フ ァ イ ルに置 き 換え ら れます。 た と えば、 元
の フ ァ イ ル が File_1.v で、 File_2.v を 選択 し た 場合、 元 の File_1.v が プ ロ ジ ェ ク ト か ら 削除 さ れ、
File_2.v がプ ロ ジ ェ ク ト に コ ピー さ れます。
•
[Sources] ウ ィ ン ド ウ で右 ク リ ッ ク し て [Add Sources] を ク リ ッ ク し 、 ア ッ プデー ト さ れた ソ ース フ ァ イ ルをプ ロ
ジ ェ ク ト に追加 し ます。
追加 し た フ ァ イ ルがプ ロ ジ ェ ク ト に イ ン ポー ト さ れます。 ただ し 、 同 じ 名前の ロ ーカル ソ ース フ ァ イ ルが既に
存在す る ので、 図 3-5 に示す [Import Source Conflicts] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 既存の フ ァ イ ルを上書 き
す る か、 新 し く 追加 し た フ ァ イ ルを読み込 ま ないか を選択す る よ う 求め ら れ ま す。 こ れは ウ ィ ザー ド で [Copy
Sources into Project] がオ ン にな っ てい る 場合にのみ表示 さ れ ます。 こ れ以外の場合、 同 じ 名前の外部参照フ ァ イ
ルの方がプ ロ ジ ェ ク ト に追加 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
44
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-5
図 3‐5 : [Import Source Conflicts ] ダ イ ア ロ グ ボ ッ ク ス
制約の操作
Vivado IDE では、 Xilinx® Design Constraint (XDC) お よ び Synopsys Design Constraint (SDC) フ ァ イ ル形式がサポー ト さ
れ ま す。 SDC 形式では タ イ ミ ン グ制約、 XDC 形式は タ イ ミ ン グお よ び物理制約の両方が指定 さ れ ま す。 制約には、
配置、 タ イ ミ ン グ、 お よ び I/O に関す る 指示があ り ます。 制約は、 RTL 解析、 合成、 イ ンプ リ メ ン テーシ ョ ン を含め
たデザ イ ン フ ロ ーの さ ま ざ ま な段階中に作成で き ます。
Vivado IDE を使用す る と 、 プ ロ ジ ェ ク ト で制約を柔軟に定義お よ び作成で き ます。 1 つの XDC フ ァ イ ルを使用 し て
デザ イ ンで使用 さ れ る すべての制約を追加お よ び管理す る か、 ま たは制約を複数の XDC フ ァ イ ルに分類 し て管理で
き ます。 複数の制約セ ッ ト を作成 し て、 さ ま ざ ま な制約を試 し た り 、 複数のバージ ョ ンの制約を保存 し た り す る こ と
も 可能です。 各制約セ ッ ト には、 1 つま たはそれ以上の制約フ ァ イ ルを含め る こ と がで き ます。
1 つの制約セ ッ ト を複数のデザ イ ン で使用で き ま す。 ただ し 、 こ の場合は変更の管理に注意を払 う 必要があ り ます。
複数のデザ イ ンに保存 さ れていない変更があ る 場合、ど の制約フ ァ イ ルを保存する か を選択する ダ イ ア ロ グ ボ ッ ク ス
が表示 さ れます。 詳細は、 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) [参照 19] を参照 し て く だ さ い。
注意 : 制約フ ァ イ ルを保存す る 際は、 保存 し ていないデザ イ ンの保存 し ていない制約定義を上書 き し ない よ う に注意
し て く だ さ い。
イ ンプ リ メ ン ト 済みデザ イ ンには、 イ ンプ リ メ ン テーシ ョ ン run の実行中に使用 さ れた制約セ ッ ト の スナ ッ プシ ョ ッ
ト が保存 さ れます。 こ の制約セ ッ ト の名前は、 開いてい る プ ロ ジ ェ ク ト のア ク テ ィ ブ制約セ ッ ト と 同 じ 名前の こ と も
あ り ます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く 際、 イ ンプ リ メ ン テーシ ョ ン run か ら 読み込まれた制約セ ッ ト がプ ロ
ジ ェ ク ト メ モ リ に現在あ る 制約セ ッ ト よ り 古い場合があ り 、デザ イ ン を保存 し た と き に新 し く 定義 さ れた制約が失わ
れ る 可能性があ り ま す。 通常は Vivado IDE で こ れ ら の リ ビ ジ ョ ン の問題が管理 さ れ、 必要に応 じ て適切な処置を と
る よ う メ ッ セージが表示 さ れますが、 メ モ リ にあ る 現在の制約セ ッ ト と イ ンプ リ メ ン ト 済みデザ イ ンに関連付け ら れ
てい る 制約 と の間に競合があ る 可能性があ る こ と を念頭に置いて く だ さ い。
Vivado IDE では、 次の ウ ィ ン ド ウ を使用 し て制約を作成お よ び変更で き ます。
•
[Timing Constraints] ウ ィ ン ド ウ : プ ロ ジ ェ ク ト の XDC フ ァ イ ル タ イ ミ ン グ制約がすべて表で表示 さ れます。既存
の制約は イ ン タ ラ ク テ ィ ブに編集 し て、 ソ ース フ ァ イ ルに保存 し 戻す こ と がで き る ほか、 新規に制約を作成す る
こ と も で き ます。
•
[Device Constraints] ウ ィ ン ド ウ : 表示 さ れたバン ク で さ ま ざ ま な SelectIO™ イ ン タ ーフ ェ イ ス を設定で き ます。
•
[Physical Constraints] ウ ィ ン ド ウ : Pblock を作成お よ び管理で き ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
45
第 3 章 : ソ ース フ ァ イルの操作
ヒ ン ト : 合成済みデザ イ ンで [Tools] → [Timing] → [Constraints Wizard] を ク リ ッ ク す る と 、ザ イ リ ン ク ス の推奨す る 設
計手法に基づいた最上位 XDC フ ァ イ ルが作成 さ れ ます。 ウ ィ ザー ド に従っ て、 ク ロ ッ ク を指定 し 、 入力お よ び出力
制約を設定 し 、 ク ロ ッ ク 乗せ替えの ク ロ ッ ク グループに適切に制約を付け ます。
ビデオ : タ イ ミ ン グ制約 ウ ィ ザー ド の概要については、 Vivado Design Suite ビデオ チ ュ ー ト リ アル : タ イ ミ ン グ制約
ウ ィ ザー ド の使用を参照 し て く だ さ い。
注記 : 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] を参照 し て く だ さ い。
制約 フ ァ イルの追加 と 作成
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 Flow Navigator で [Add Sources] を ク リ ッ ク す る か、 [Sources] ウ ィ ン ド ウ のポ ッ プア ッ プ メ ニ ュ ー
か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add or Create Constraints] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create Constraints] ページ (図 3-6) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
°
[Specify Constraint Set] :制約フ ァ イ ルを追加す る 制約セ ッ ト を選択 し ます。デフ ォ ル ト では現在ア ク テ ィ ブな
制約セ ッ ト が選択 さ れてい ますが、 別の制約セ ッ ト を指定 し た り 、 ド ロ ッ プダ ウ ン メ ニ ュ ーを使用 し て新 し
い制約セ ッ ト を作成す る こ と も で き ます。
[Add Files] : プ ロ ジ ェ ク ト に追加す る XDC、 SDC、 ま たは Tcl フ ァ イ ルを指定 し ます。
注記 : Tcl ス ク リ プ ト の詳細については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7]
を参照 し て く だ さ い。
°
[Create File] : 新 し い最上位の XDC が作成 さ れます。
°
[Remove] : 制約フ ァ イ ルの リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れます。
°
°
[Up]/[Down] : XDC、 SDC、 ま たは Tcl フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 XDC、 SDC、 ま たは Tcl
フ ァ イ ルには、 タ イ ミ ン グお よ び物理制約を設定 し 、 記述順序に依存す る コ マ ン ド が含まれます。 制約セ ッ
ト に複数の制約フ ァ イ ルが含 ま れ る 場合、 [Sources] ウ ィ ン ド ウ に表示 さ れ る 順序で フ ァ イ ルが処理 さ れ ま
す。 最初に リ ス ト さ れてい る フ ァ イ ルが最初に処理 さ れます。 複数の制約フ ァ イ ルに同 じ 制約が含まれてい
る 場合、 後に処理 さ れた フ ァ イ ルの制約定義が使用 さ れます。
[Copy Constraints into Project] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
46
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-6
図 3‐6 : Add Sources ウ ィ ザー ド : [Add or Create Constraints] ページ
タ ーゲ ッ ト XDC フ ァ イルの設定
Vivado IDE では、 制約を保存す る と 、 新 し く 作成 さ れた制約が XDC フ ァ イ ルに書 き 込まれ、 タ ーゲ ッ ト XDC フ ァ イ
ル と し て認識 さ れます。 デフ ォ ル ト では、 新 し い制約セ ッ ト には タ ーゲ ッ ト XDC フ ァ イ ルはあ り ません。 新 し く 制
約を作成す る 場合は、 制約を保存す る 際に タ ーゲ ッ ト XDC フ ァ イ ルを設定す る 必要があ り ます。 制約を保存す る 必
要があ る 場合は、 [Save Constraints] ツールバー ボ タ ン
がオンにな り ます。
[Save Constraints] ツールバー ボ タ ン を ク リ ッ ク す る と 、 [Save Constraints File] ダ イ ア ロ グ ボ ッ ク ス (図 3-7) が表示 さ
れ、 ア ク テ ィ ブ制約セ ッ ト か ら 既存 XDC フ ァ イ ルを選択す る か、 新規フ ァ イ ルを作成 し て ア ク テ ィ ブ制約セ ッ ト に
追加で き ます。
X-Ref Target - Figure 3-7
図 3‐7 : [Save Target Constraints File] ダ イ ア ログ ボ ッ ク ス
XDC フ ァ イ ルが タ ーゲ ッ ト と し て設定 さ れ る と 、 [Sources] ウ ィ ン ド ウ の フ ァ イ ル名の横に (target) と 表示 さ れます
(図 3-8)。 タ ーゲ ッ ト XDC フ ァ イ ルは、 [Souces] ウ ィ ン ド ウ を右 ク リ ッ ク し て [Set as Target Constraint File] を ク リ ッ ク
し ていつで も 変更で き ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
47
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-8
図 3‐8 : [Sources] ウ ィ ン ド ウの タ ーゲ ッ ト XDC フ ァ イル
注記 : [Timing Constraints] ウ ィ ン ド ウ で変更 し た既存の制約は、 タ ーゲ ッ ト XDC ではな く 、 その制約が記述 さ れてい
た元の XDC フ ァ イ ルに書 き 込まれます。
元の XDC フ ァ イルの参照または フ ァ イルの コ ピー
ほかの ソ ース フ ァ イ ル と 同様、 XDC フ ァ イ ル も リ モー ト にあ る も の参照す る か、 ロ ーカルのプ ロ ジ ェ ク ト に コ ピー
で き ます。 リ モー ト フ ァ イ ルを追加 し た場合、 最新の フ ァ イ ル バージ ョ ンが自動的に検出 さ れ、 最新の フ ァ イ ルを
使用 し てデザ イ ン を更新す る よ う メ ッ セージが表示 さ れます。
プ ロ ジ ェ ク ト に制約を コ ピーす る には、 次のいずれかを実行 し ます。
•
[Add Sources] コ マ ン ド で制約フ ァ イ ルをプ ロ ジ ェ ク ト に追加す る 際に [Copy Constraints into Project] を オンにす
る と 、 制約フ ァ イ ルがプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー さ れます。
•
制約フ ァ イ ルを最初 リ モー ト ソ ース と し て追加 し 、 後でプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る 場合は、
[Sources] ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し て [Copy File into Project] を ク リ ッ ク し て ソ ース フ ァ イ ルを個別
に コ ピーす る か、 ま たは [Copy All Files Into Project] を ク リ ッ ク し てすべての リ モー ト ソ ース フ ァ イ ルを コ ピー
し ます。
注記 : 詳細は、「 リ モー ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
制約セ ッ ト の使用
制約セ ッ ト と は、 個別に管理 さ れてい る 1 つま たは複数の制約フ ァ イ ルで、 解析お よ び イ ンプ リ メ ン テーシ ョ ン では
1 つの XDC フ ァ イ ルに連結 さ れます。 制約セ ッ ト では、 デザ イ ン プ ロ セ ス のあ る 時点ま たは特定の条件化で使用 さ
れ る 制約フ ァ イ ルが定義 さ れます。 複数の制約セ ッ ト を定義する こ と に よ り 、 フ ロ アプ ラ ンや タ イ ミ ン グの問題を解
決す る ために異な る 制約を試す こ と がで き ます。
XDC フ ァ イ ルは、 合成 と イ ン プ リ メ ン テーシ ョ ン のいずれか、 ま たは両方で使用 さ れ ます。 デフ ォ ル ト では、 すべ
ての XDC フ ァ イ ルが合成 と イ ンプ リ メ ン テーシ ョ ンの両方で使用 さ れ る よ う に設定 さ れてい ます。 XDC フ ァ イ ルの
[Used In] 設定を変更す る には、 [Sources] ウ ィ ン ド ウ で フ ァ イ ルを選択 し 、 [Source File Properties] ウ ィ ン ド ウ の [Used
In] フ ィ ール ド でオン/オ フ を切 り 替え ます (図 3-9)。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
48
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-9
図 3‐9 : 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-10) で制約
セ ッ ト の名前を入力 し 、 [OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 3-10
図 3‐10 : [Create Constraint Set Name] ダ イ ア ロ グ ボ ッ ク ス
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
49
第 3 章 : ソ ース フ ァ イルの操作
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] : 元の フ ァ イ ルを参照する のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。
[Save Constraints As] コ マ ン ド を使用 し た制約セ ッ ト の作成
設計お よ び解析プ ロ セ ス で制約に加えた変更を新 し い制約セ ッ ト を作成 し て保存で き ます。 制約は複数の方法で変更
で き る ので、 変更を新 し い制約セ ッ ト と し て保存する と 便利です。 [File] → [Save Constraints As] を ク リ ッ ク し 、 [Save
Design As] ダ イ ア ロ グ ボ ッ ク ス (図 3-11) を開き 、 すべての制約を保存する 新 し い制約セ ッ ト 名を入力 し ます。
X-Ref Target - Figure 3-11
図 3‐11 : [Save Constraints As] ダ イ ア ログ ボ ッ ク ス
[Save Constraints As] コ マ ン ド を使用す る と 、 次の処理が実行 さ れます。
•
新 し い制約セ ッ ト が作成 さ れます。
•
ア ク テ ィ ブ制約フ ァ イ ルが ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ の新 し い制約セ ッ ト に コ ピー さ れます。
•
制約への変更は コ ピー さ れた制約フ ァ イ ルに記述 さ れ、 元の XDC フ ァ イ ルは変更 さ れません。
•
[Save Design As] ダ イ ア ロ グ ボ ッ ク ス には、 新 し い制約セ ッ ト を ア ク テ ィ ブにす る オプシ ョ ンがあ り ます。
ア ク テ ィ ブ制約セ ッ ト の定義
複数の制約セ ッ ト が存在す る 場合、 ア ク テ ィ ブ制約セ ッ ト を指定す る 必要があ り ます。 デフ ォ ル ト では、 合成ま たは
イ ンプ リ メ ン テーシ ョ ン run を開始 し た と き 、 ま たはエ ラ ボ レー ト 済み、 合成済み、 ま たは イ ンプ リ メ ン テーシ ョ ン
済みデザ イ ン を開いた と き に、 ア ク テ ィ ブな制約セ ッ ト が使用 さ れます。
制約セ ッ ト を ア ク テ ィ ブに設定す る には、 [Sources] ウ ィ ン ド ウ で制約セ ッ ト を右 ク リ ッ ク し 、 [Make active] を ク リ ッ
ク し ます。 [Sources] ウ ィ ン ド ウ のア ク テ ィ ブ制約セ ッ ト の横に太字で (active) と 表示 さ れます (図 3-12)。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
50
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-12
図 3‐12 : ア ク テ ィ ブ制約セ ッ ト
制約のエ ク スポー ト
Vivado IDE で制約フ ァ イ ルを作成 し 、 コ マ ン ド ラ イ ン デザ イ ン フ ロ ーでの ス ク リ プ ト に使用す る こ と も で き ます。
コ マ ン ド ラ イ ン フ ロ ー用に制約を エ ク ス ポー ト す る には、[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] を
参照 し て く だ さ い。
UCF 制約の変換
Vivado IDE でサポー ト さ れ る のは、 XDC お よ び SDC フ ァ イ ルのみで、 ユーザー制約フ ァ イ ル (UCF) はサポー ト さ れ
ません。 次のいずれかの方法を使用す る と 、 UCF 制約を XDC 制約に変換で き ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
51
第 3 章 : ソ ース フ ァ イルの操作
•
PlanAhead™ ツールでデザ イ ン を開 き ます。 Tcl コ ン ソ ールに 「write_xdc <filename>.xdc」 と 入力 し ます。
注記 : write_xdc コ マ ン ド は、 フ ァ イ ル コ ンバー タ ーではあ り ません。 デザ イ ンに適用す る こ と がで き た制約
を XDC フ ァ イ ル と し て記述す る コ マ ン ド です。こ の変換は単に XDC ベース の制約へ移行す る 際の開始点 と し て
使用す る こ と を目的 と し てい ます。
推奨 : こ の方法は、 物理制約を変換す る 場合にのみ推奨 さ れます。 タ イ ミ ン グ制約、 特に タ イ ミ ン グ例外制約を変換
す る のには推奨 さ れません。
•
UCF 制約を手動で XDC に変換 し ます。
推奨 : こ の方法は、 特に タ イ ミ ン グ制約お よ び タ イ ミ ン グ例外制約な ど の UCF 制約を変換す る のに推奨 さ れ ま す。
UCF と XDC 制約の構造が異な る ため、 自動変換はあ ま り う ま く い き ません。 た と えば、 UCF は制約のネ ッ ト を タ ー
ゲ ッ ト にす る のに対 し 、 XDC ではセル、 ポー ト 、 ま たはピ ン を タ ーゲ ッ ト に し ます。
注記 : 詳細は、『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8] ま たは 『Vivado
Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 7] を参照 し て く だ さ い。
シ ミ ュ レーシ ョ ン ソ ースの操作
Vivado IDE では、 RTL プ ロ ジ ェ ク ト の ビヘ イ ビ ア シ ミ ュ レーシ ョ ン用に、 シ ミ ュ レーシ ョ ン ソ ース を追加で き ます。
シ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルには、 シ ミ ュ レーシ ョ ンの ス テ ィ ミ ュ ラ ス と し て使用す る HDL ベース のテ ス ト ベ
ンチ フ ァ イ ルが含まれます。 シ ミ ュ レーシ ョ ン ソ ース は、 Vivado シ ミ ュ レー タ でのビヘ イ ビ アー シ ミ ュ レーシ ョ ン
に使用 さ れます。
シ ミ ュ レーシ ョ ン ソ ー ス フ ァ イ ルはシ ミ ュ レーシ ョ ン フ ァ イ ル セ ッ ト に格納 さ れ、 [Sources] ウ ィ ン ド ウ に フ ォ ル
ダー と し て表示 さ れ ます。 リ モー ト の も の を参照す る か、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れてい る も
の を使用で き ます。 シ ミ ュ レーシ ョ ン セ ッ ト を使用す る と 、 シ ミ ュ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ン ご と に異な
る ソ ース を定義で き ます。 た と えば、 1 つのシ ミ ュ レーシ ョ ン ソ ース に 1 つのテ ス ト ベンチを使用 し て ビヘ イ ビ ア シ
ミ ュ レーシ ョ ン用の ス テ ィ ミ ュ ラ ス を含め、別のシ ミ ュ レーシ ョ ン ソ ース には別のテ ス ト ベンチを使用す る こ と がで
き ます。 シ ミ ュ レーシ ョ ン ソ ース をプ ロ ジ ェ ク ト に追加す る 際、 フ ァ イ ルを追加す る シ ミ ュ レーシ ョ ン ソ ース セ ッ
ト を指定で き ます。
注記 : 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 10] を参照 し て く だ
さ い。
シ ミ ュ レーシ ョ ン ソ ース フ ァ イルの追加 と 作成
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 ポ ッ プア ッ プ メ ニ ュ ーま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add or Create Simulation Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create Simulation Sources] ページ (図 3-13) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Specify Simulation Set] : テ ス ト ベンチ フ ァ イ ルを含め る シ ミ ュ レーシ ョ ン セ ッ ト の名前お よ びデ ィ レ ク ト
リ を入力 し ま す。 ド ロ ッ プダ ウ ン リ ス ト か ら [Create Simulation Set] を選択す る と 、 新規シ ミ ュ レ ーシ ョ ン
セ ッ ト を定義で き ます。
°
[Add Files] : プ ロ ジ ェ ク ト に追加す る シ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを選択する ための フ ァ イ ル ブ ラ ウ
ザーが表示 さ れます。
°
[Add Directories] : 選択 し たデ ィ レ ク ト リ に含まれ る すべてのシ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを追加 し ま
す。 指定 し たデ ィ レ ク ト リ にあ る 有効な ソ ース フ ァ イ ルがすべてプ ロ ジ ェ ク ト に追加 さ れます。
°
[Library] : フ ァ イ ルま たはデ ィ レ ク ト リ の ラ イ ブ ラ リ を指定 し ます。 定義済みの ラ イ ブ ラ リ 名か ら 選択す る
か、 新規 ラ イ ブ ラ リ 名を入力 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
52
第 3 章 : ソ ース フ ァ イルの操作
注記 : こ のオプシ ョ ンは、 VHDL フ ァ イ ルの場合のみ使用で き ます。 デフ ォ ル ト では、 HDL ソ ー ス フ ァ イ
ルは work ラ イ ブ ラ リ に追加 さ れ ま す。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し 、 参照で き ま
す。 Verilog お よ び SystemVerilog フ ァ イ ルの場合は、 work の ま ま に し ておいて く だ さ い。
°
[Create File] : シ ミ ュ レーシ ョ ン ソ ース フ ァ イ ルを作成する [Create Source File] ダ イ ア ロ グ ボ ッ ク ス が開 き
ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Move Selected File Up] : フ ァ イ ルを リ ス ト の上方向に移動 し ます。
°
[Move Selected File Down] : フ ァ イ ルを リ ス ト の下方向に移動 し ます。
°
[Scan and Add RTL Include Files into Project] : 追加 し た RTL フ ァ イ ルを ス キ ャ ン し 、 参照 さ れ る イ ン ク ルー ド
フ ァ イ ルをすべて追加 し ます。
°
[Copy Sources into Project] : ソ ース フ ァ イ ルを プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク ト で
は ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
注記 : [Add Directories] ボ タ ン を ク リ ッ ク し て ソ ー ス フ ァ イ ルのデ ィ レ ク ト リ を追加 し た場合は、 フ ァ イ ル
が ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る 際にデ ィ レ ク ト リ 構造 も その ま ま保持 さ れます。詳細は、「 リ モー
ト ソ ース の参照ま たはプ ロ ジ ェ ク ト デ ィ レ ク ト リ への ソ ース の コ ピー」 を参照 し て く だ さ い。
°
[Add Sources from Subdirectories] : [Add Directories] で指定 し たデ ィ レ ク ト リ のサブデ ィ レ ク ト リ に含まれ る
ソ ース フ ァ イ ルをすべて追加 し ます。
°
[Include all design sources for simulation] :sources_1 フ ァ イ ルセ ッ ト か ら のデザ イ ン ソ ース フ ァ イ ルをすべ
てシ ミ ュ レーシ ョ ン フ ァ イ ルセ ッ ト に コ ピー し ます。
X-Ref Target - Figure 3-13
図 3‐13 : Add Sources ウ ィ ザー ド : [Add or Create Simulation Sources] ページ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
53
第 3 章 : ソ ース フ ァ イルの操作
IP ソ ースの操作
Vivado IDE では、 RTL プ ロ ジ ェ ク ト で次の よ う な タ イ プの RTL プ ロ ジ ェ ク ト の IP コ ア を追加お よ び管理で き ます。
•
Vivado Design Suite Xilinx Core Instance files (XCI)
デフ ォ ル ト では、独立 し た ア ウ ト オブ コ ン テ キ ス ト フ ロ ーをサポー ト する IP の合成済みチ ェ ッ ク ポ イ ン ト フ ァ
イ ルが自動的に生成 さ れ ま す。 出力フ ァ イ ルを作成す る 際には、 DCP フ ァ イ ルの生成を オ フ にで き ま す。 詳細
は、『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] お よ び『UltraFast 設計手法 (Vivado
Design Suite 用)』 (UG949) [参照 19] を参照 し て く だ さ い。
[Set module as Out-of-Context] を使用する と 、 XDC 制約を ク エ リ ーす る こ と も で き ます。 詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 15] の 「ア ウ ト オブ コ ン テ キ ス ト (OOC)」 セ ク シ ョ ン を参照 し て く
だ さ い。
重要 : プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド で IP を使用する 場合は、 DCP フ ァ イ ルではな く 、 XCI フ ァ
イ ルを常に使用 し て く だ さ い。 こ う す る こ と で、 IP 出力フ ァ イ ルがすべてのデザ イ ン フ ロ ー段階で一貫 し て使用 さ
れ る よ う にな り ます。 IP が ス タ ン ド ア ロ ン (Out-of-Context) で合成 さ れ、 既に関連す る DCP フ ァ イ ルがあ る 場合は、
その DCP フ ァ イ ルが自動的に使用 さ れ、 IP が合成 し 直 さ れ る こ と はあ り ません。
•
Vivado IP パ ッ ケージ ャ ーを使用 し たユーザーのパ ッ ク し た IP (XCI)
•
CORE Generator™ コ ア (XCO)
XCO フ ァ イ ルを追加す る 際に IP コ アの既存ス テー ト を維持す る には、 それに対応す る NGC フ ァ イ ルがデ ィ レ
ク ト リ にない と 、 イ ン プ リ メ ン テーシ ョ ン が問題な く 実行 さ れ ま せん。 フ ァ イ ルがない場合は、 IP のア ッ プ グ
レー ド があれば、 IP コ ア を右 ク リ ッ ク し [Upgrade IP] を ク リ ッ ク し ます。
•
サー ド パーテ ィ IP
サー ド パーテ ィ か ら 合成済み NGC ま たは EDIF ネ ッ ト リ ス ト と し て提供 さ れてい る IP も あ り ます。[Add Sources]
コ マ ン ド を使用す る と 、 こ れ ら の フ ァ イ ルをデザ イ ンに読み込む こ と がで き ます。 詳細は、 「デザ イ ン ソ ース の
操作」 を参照 し て く だ さ い。
注記 : IP の追加、 パ ッ ケージ、 シ ミ ュ レーシ ョ ン、 ア ッ プグ レー ド な ど IP に関す る 詳細は、 『Vivado Design Suite ユー
ザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 11] を参照 し て く だ さ い。
既存 IP の追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 ポ ッ プア ッ プ メ ニ ュ ーま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add Existing IP] を オンに し 、 [Next] を ク リ ッ ク し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
54
第 3 章 : ソ ース フ ァ イルの操作
3.
[Add Existing IP] ページ (図 3-14) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Files] : Vivado Design Suite 用の XCI フ ァ イ ルま たは XCO フ ァ イ ルを選択で き る フ ァ イ ル ブ ラ ウ ザーが
開 き ます。
°
[Add Directories] : 指定 し たデ ィ レ ク ト リ ま たは下位デ ィ レ ク ト リ か ら XCI ま たは XCO フ ァ イ ルを選択で き
る デ ィ レ ク ト リ ブ ラ ウ ザーが開 き ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Copy Sources into Project] : IP コ ア フ ァ イ ルをプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク ト で
は ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
X-Ref Target - Figure 3-14
図 3‐14 : Add Sources ウ ィ ザー ド : [Add Existing IP] ページ
追加 さ れた IP コ アは、 [Hierarchy]、 [Libraries]、 [Compile Order] ビ ュ ーのその他の ソ ース フ ァ イ ル と 一緒に、 [Sources]
ウ ィ ン ド ウ の [IP Sources] ビ ュ ーにそれぞれ表示 さ れ ます。 [Sources] ウ ィ ン ド ウ には コ ア を構成す る フ ァ イ ルが表示
さ れ、 コ ア を選択す る と [Source File Properties] ウ ィ ン ド ウ にプ ロ パテ ィ が表示 さ れます。
注記 : IP コ アの EDIF、 Verilog、 SystemVerilog ネ ッ ト リ ス ト ま たは NGC フ ァ イ ルは、 RTL ま たはネ ッ ト リ ス ト ベー
ス のプ ロ ジ ェ ク ト に追加す る こ と も で き ます。 詳細は、 第 2 章の 「合成後プ ロ ジ ェ ク ト の作成」 を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
55
第 3 章 : ソ ース フ ァ イルの操作
IP イ ン テグ レー タ ーのソ ースの操作
Vivado IDE では、 RTL プ ロ ジ ェ ク ト で IP サブシ ス テ ム デザ イ ン (拡張子は .bd) を追加お よ び管理で き ます。 Vivado
IP イ ン テ グ レー タ ーを使用す る と 、 IP サブシ ス テ ム デザ イ ン を作成で き ます。 IP イ ン テ グ レー タ ーでは、 Vivado IP
カ タ ロ グか ら の複数の IP コ ア を イ ン ス タ ン シエー ト お よ び相互接続す る こ と で、 複雑なシ ス テ ム デザ イ ン を作成で
き ます。 デザ イ ンは、 Vivado IDE 内の IP イ ン テ グ レー タ ーを使用 し て イ ン タ ラ ク テ ィ ブに、 ま たは Tcl コ マ ン ド のプ
ロ グ ラ ム で作成で き ます。 IP イ ン テ グ レー タ ーの使用方法については、 『Vivado Design Suite ユーザー ガ イ ド : IP イ
ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 12] お よ び 『UltraFast 設計手法 (Vivado Design Suite
用)』 (UG949) [参照 19] を参照 し て く だ さ い。
注記 : Vivado IP イ ン テ グ レー タ ーには、 Vivado IP カ タ ロ グで使用可能な IP の一部が提供 さ れてい ます。
重要 : Vivado IP イ ン テ グ レー タ ー は、 Zynq®-7000 All Programmable デバ イ スお よ び MicroBlaze™ プ ロ セ ッ サを タ ー
ゲ ッ ト にす る デザ イ ン を含めた エ ンベデ ッ ド プ ロ セ ッ サ デザ イ ン用の Xilinx Platform Studio (XPS) に代わ る も ので
す。 XPS は Vivado Design Suite と は統合 さ れな く な り ま し たが、 XPS で制約な し に作成 さ れた DCP お よ び NGC フ ァ
イ ルは Vivado Design Suite の ソ ース フ ァ イ ル と し てサポー ト さ れます。
ヒ ン ト : Zynq デバ イ ス を タ ーゲ ッ ト にす る 既存の XPS プ ロ ジ ェ ク ト の場合は、 『Vivado Design Suite : ISE か ら Vivado
Design Suite への移行手法ガ イ ド 』 (UG911) [参照 8] に示す方法でデザ イ ン を Vivado IP イ ン テ グ レー タ ー に移行す る
必要があ り ます。
ブ ロ ッ ク デザイ ン ソ ース を作成または開 く
プ ロ ジ ェ ク ト に追加 さ れたブ ロ ッ ク デザ イ ン ソ ース を作成ま たは開 く には、 次の手順に従っ て く だ さ い。
1.
Flow Navigator で [IP Integrator] を ク リ ッ ク し ます。
2.
[Create Block Design] ク リ ッ ク し ます。
ブ ロ ッ ク デザイ ン ソ ースの追加
プ ロ ジ ェ ク ト 外に作成 さ れたブ ロ ッ ク デザ イ ン ソ ース を追加す る には、 次の手順に従っ て く だ さ い。
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 ポ ッ プア ッ プ メ ニ ュ ーま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add Existing Block Design Sources] をオンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add Existing Block Design Sources] ページ (図 3-15) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Files] : デザ イ ンに追加す る IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン (BD) フ ァ イ ルを選択で き る フ ァ イ
ル ブ ラ ウ ザーが開 き ます。
°
[Remove] : 選択 し た ソ ース フ ァ イ ルを削除 し ます。
°
[Move Selected File Up] : フ ァ イ ルを リ ス ト の上方向に移動 し ます。
°
[Move Selected File Down] : フ ァ イ ルを リ ス ト の下方向に移動 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
56
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-15
図 3‐15 : Add Sources ウ ィ ザー ド : [Add Existing Block Designs] ページ
注記 : Zynq デバ イ ス ま たは MicroBlaze プ ロ セ ッ サを タ ーゲ ッ ト にす る デザ イ ンに ELF フ ァ イ ルを関連付け る 方法に
ついては、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [
参照 12] を参照 し て く だ さ い。
DSP ソ ースの操作
Vivado IDE ツールでは、 既存のザ イ リ ン ク ス System Generator デザ イ ン モデル フ ァ イ ル (.mdl) を DSP モジ ュ ール と
し て イ ン ポー ト で き ま す。 こ のモデルは下位モジ ュ ール と し て階層レ ベルに追加、 ま たはデザ イ ン の最上位に イ ン
ポー ト で き ます。 Vivado IDE ツール内か ら 新規 DSP モジ ュ ールを定義 し て、 ザ イ リ ン ク ス System Generator でデザ イ
ン を完了 さ せ る こ と も で き ます。
System Generator はザ イ リ ン ク ス の DSP デザ イ ン ツールで、 RTL ソ ース フ ァ イ ル、 Simulink® お よ び MATLAB® ソ
フ ト ウ ェ ア モデル、 お よ び DSP シ ス テ ム の C/C++ コ ン ポーネ ン ト を 1 つのシ ミ ュ レ ーシ ョ ンお よ び イ ン プ リ メ ン
テーシ ョ ン環境に ま と め る こ と がで き ます。
System Generator デザ イ ンは、 よ く 大容量 HDL デザ イ ンに組み込ま れ ます。 System Generator では ス タ ン ド ア ロ ン の
FPGA デザ イ ンの作成お よ び イ ンプ リ メ ン テーシ ョ ンがサポー ト さ れますが、 Vivado IDE ツールでプ ロ ジ ェ ク ト を開
始 し て、 System Generator を使用 し てプ ロ ジ ェ ク ト の DSP モジ ュ ールを開発す る こ と をお勧め し ます。 こ う す る こ と
で、 Vivado IDE ツールで FPGA デザ イ ンのプ ロ ジ ェ ク ト を管理で き ます。 まず、 DSP モジ ュ ールを System Generator
内で開発お よ び管理 し ておいてか ら 、 Vivado IDE で 1 つの ソ ース フ ァ イ ル と し て処理 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
57
第 3 章 : ソ ース フ ァ イルの操作
DSP モ ジ ュ ールの追加
1.
[File] → [Add Sources] を ク リ ッ ク し ます。
注記 : ま たは、 ポ ッ プア ッ プ メ ニ ュ ーま たは Flow Navigator か ら [Add Sources] を ク リ ッ ク し ます。
2.
Add Sources ウ ィ ザー ド (図 3-1) で [Add or Create DSP Sources] を オンに し 、 [Next] を ク リ ッ ク し ます。
3.
[Add or Create DSP Sources] ページ (図 3-16) で次のオプシ ョ ン を設定 し 、 [Finish] を ク リ ッ ク し ます。
°
[Add Sub-Design] : プ ロ ジ ェ ク ト に追加す る 既存の System Generator モデル フ ァ イ ル (MDL) を指定す る ため
の フ ァ イ ル ブ ラ ウ ザーが開 き ます。
°
[Create Sub-Design] : System Generator が起動す る ので、 プ ロ ジ ェ ク ト に追加す る 新 し い DSP モジ ュ ールを定
義で き ます。
°
[Remove] : 選択 し た DSP ソ ース フ ァ イ ルを削除 し ます。
°
[Move Up] : 選択 し た ソ ース を リ ス ト の上方向に移動 し ます。
°
[Move Down] : 選択 し た ソ ース を リ ス ト の下方向に移動 し ます。
°
[Copy Sources into Project] : DSP モデル フ ァ イ ルをプ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピー し ます。 プ ロ ジ ェ ク
ト では ロ ーカルに コ ピー さ れたバージ ョ ンが使用 さ れます。
X-Ref Target - Figure 3-16
図 3‐16 : Add Sources ウ ィ ザー ド : [Add or Create DSP Sources] ページ
4.
[Create Sub-Design] を選択す る と 、 System Generator お よ び MATLAB で DSP ソ ース の作成お よ び管理が開始 さ れ
ます (図 3-17)。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
58
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-17
図 3‐17 : System Generator
追加 さ れ た DSP ソ ー ス が [Sources] ウ ィ ン ド ウ の [IP Sources] ビ ュ ー に そ れ ぞ れ表示 さ れ ま す。 DSP ソ ー ス は、
[Hierarchy]、 [Libraries]、 [Compile Order] ビ ュ ーのその他の ソ ース フ ァ イ ル と 一緒に表示 さ れます。 [Sources] ウ ィ ン ド
ウ で DSP モジ ュ ールを選択す る と 、 それに関連す る フ ァ イ ルが表示 さ れ、 [Source File Properties] ウ ィ ン ド ウ にはその
プ ロ パテ ィ が表示 さ れます。
注記 : DSP ソ ース は Tcl コ マ ン ド の create_sysgen を使用 し て も 追加で き ます。 こ の コ マ ン ド は新 し い DSP 下位モ
ジ ュ ールを作成すために も 使用で き ます。 Vivado IDE では、 新規 MDL フ ァ イ ルを作成 し 、 それを下位モジ ュ ール と
し てプ ロ ジ ェ ク ト に追加 し ます。
タ ーゲ ッ ト の生成
System Generator デザ イ ンが終了 し た ら 、[Sources] ウ ィ ン ド ウ の DSP モジ ュ ールのポ ッ プア ッ プ メ ニ ュ ーを使用 し て
FPGA タ ーゲ ッ ト フ ァ イ ルを生成で き ます。 こ れ ら の コ マ ン ド は、 DSP ソ ース を [Sources] ウ ィ ン ド ウ で選択す る と
使用で き る よ う にな り ます (図 3-18)。
X-Ref Target - Figure 3-18
図 3‐18 : [Sources] ウ ィ ン ド ウの DSP ソ ース
タ ーゲ ッ ト と は、 現在のデザ イ ン の合成、 シ ミ ュ レ ーシ ョ ン、 イ ン プ リ メ ン テーシ ョ ン を サポー ト す る のに必要な
DSP モジ ュ ールの さ ま ざ ま なデザ イ ン エ レ メ ン ト の こ と です。 こ れには、 最上位モジ ュ ールの定義、 イ ン ス タ ン シ
エーシ ョ ン テ ンプ レー ト 、 合成済みネ ッ ト リ ス ト 、 その他の関連資料が含まれます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
59
第 3 章 : ソ ース フ ァ イルの操作
[Sources] ウ ィ ン ド ウ で DSP ソ ース を選択す る と 、 次のポ ッ プア ッ プ メ ニ ュ ーが表示 さ れます。
•
[Create Top HDL] : DSP モジ ュ ールの最上位 ラ ッ パー フ ァ イ ルを作成 し 、 プ ロ ジ ェ ク ト に追加 し ます。 こ の コ マ
ン ド は、 System Generator デザ イ ンが現在のプ ロ ジ ェ ク ト の最上位の場合に使用 し ます。
•
[View Instantiation Template] : DSP モジ ュ ールを RTL デザ イ ンに イ ン ス タ ン シエー ト す る ために使用す る イ ン ス
タ ン シエーシ ョ ン テ ンプ レー ト を作成 し ます。 イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト は別の RTL フ ァ イ ルに コ
ピー し て貼 り 付け る と 、 その階層で DSP モジ ュ ールの イ ン ス タ ン ス を作成で き ます。
•
[Create Testbench] : Simulink シ ミ ュ レーシ ョ ンか ら 抽出 し たテ ス ト ベ ク タ ー フ ァ イ ルが System Generator で書 き
出 さ れ、 シ ミ ュ レーシ ョ ン用の HDL テ ス ト ベンチ と ス ク リ プ ト フ ァ イ ルが生成 さ れます。 テ ス ト ベンチは、 シ
ミ ュ レーシ ョ ン セ ッ ト の [Sources] ウ ィ ン ド ウ に追加 さ れます。
•
[Generate] : System Generator モデルか ら 合成、 イ ンプ リ メ ン テーシ ョ ン、 お よ びシ ミ ュ レーシ ョ ンの タ ーゲ ッ ト
デー タ が生成 さ れます。 こ れに よ り 、System Generator お よ び MATLAB が起動 し 、必要なデー タ が作成 さ れます。
•
[Reset] : 現在のプ ロ ジ ェ ク ト お よ び ロ ーカルのプ ロ ジ ェ ク ト レ ポジ ト リ か ら 指定 し た タ ーゲ ッ ト デー タ が削除
さ れます。 タ ーゲ ッ ト デー タ は、 必要に応 じ て再生成で き ます。
ソ ース フ ァ イルの編集
Vivado IDE には、 RTL、 XDC、 Tcl お よ びその他のテ キ ス ト ソ ース を作成ま たは変更する ためのテ キ ス ト エデ ィ タ ー
が含まれます。 こ のテ キ ス ト エデ ィ タ ーには、 構文認識機能があ る ので、 RTL、 XDC、 Tcl のキーワー ド が認識 さ れ
て色分け さ れます。 同時に複数の フ ァ イ ルを開 く こ と がで き 、 各フ ァ イ ルの タ ブ を ク リ ッ ク す る と 、 開いてい る フ ァ
イ ルを表示で き ます。
フ ァ イ ルを変更 し て保存 し ていない場合は、 タ ブの フ ァ イ ル名の横にア ス タ リ ス ク (*) が表示 さ れます。 フ ァ イ ルを
保存す る には、 次のいずれか を実行 し ます。
•
[File] → [Save File] を ク リ ッ ク し ます。
•
Vivado IDE テ キ ス ト エデ ィ タ ーでポ ッ プア ッ プ メ ニ ュ ーか ら [Save File] を ク リ ッ ク し ます。
•
Vivado IDE テ キ ス ト エデ ィ タ ーで [Save File] ツールバー ボ タ ン を ク リ ッ ク し ます。
フ ァ イ ルを閉 じ る と き に保存 し ていない変更があ る 場合は、変更を保存する か ど う か を確認する ダ イ ア ロ グ ボ ッ ク ス
が表示 さ れます。 ソ ース フ ァ イ ルは、 [Save As] コ マ ン ド で新 し いデ ィ レ ク ト リ に保存す る こ と も で き ます。
注記 : Vivado IDE テ キ ス ト エデ ィ タ ーの詳細は、『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [
参照 6] を参照 し て く だ さ い。
テキス ト エデ ィ タ ーの使用
Vivado IDE のテ キ ス ト エデ ィ タ ーは、 [Schematic]、 [Messages]、 [RTL Netlist]、 [Hierarchy] な ど のその他ビ ュ ー と ク ロ
ス プ ロ ーブで き ます。
テ キ ス ト エデ ィ タ ーのツールバーには、 次の よ う なボ タ ンが含まれます。
•
[Save] : 開いた フ ァ イ ルに現在の変更を保存 し ます。
•
[Undo] : 開いてい る フ ァ イ ルで実行 し た最後の変更を取 り 消 し ます。
•
[Redo] : 開いてい る フ ァ イ ルで実行 し た最後の変更をや り 直 し ます。
•
[Cut] : 選択 し たセ ク シ ョ ン を切 り 取っ て、 ク リ ッ プボー ド に貼 り 付け ます。
•
[Copy] : 選択 し たセ ク シ ョ ン を コ ピー し て、 ク リ ッ プボー ド に貼 り 付け ます。
•
[Paste] : ク リ ッ プボー ド の内容を指定 し た位置に貼 り 付け ます。
•
[Delete] : 選択 し たセ ク シ ョ ン を削除 し ます。 削除 し たセ ク シ ョ ンは、 ク リ ッ プボー ド には コ ピー さ れません。
•
[Toggle Line Comments] : 選択 し た行の開始に適切な コ メ ン ト 文字を入力 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
60
第 3 章 : ソ ース フ ァ イルの操作
•
[Toggle Column Selection] : テ キ ス ト エデ ィ タ ーが列選択モー ド にな り 、 列を切 り 取 り 、 コ ピー、 削除、 貼 り 付け
る こ と がで き ます。
•
[Find] : テ キ ス ト エデ ィ タ ーの一番下に検索バーを表示 し 、 フ ァ イ ルの検索がで き る よ う にな り ます。
•
[Find in Files] : プ ロ ジ ェ ク ト 全体で フ ァ イ ルを検索す る ための [Find in Files] ウ ィ ン ド ウ を表示 し ます。
•
[Language Templates] : [Language Templates] ビ ュ ーを表示 し ます。 多 く の よ く あ る デザ イ ン/制約構造用の Verilog、
VHDL、 Tcl、 XDC のテ ンプ レー ト が使用で き ます。
•
[Insert Template] : 選択 し たテ ンプ レー ト を テ キ ス ト フ ァ イ ルのカー ソ ルの位置に挿入 し ます。 こ の コ マ ン ド は、
テ ンプ レー ト を選択 し てい る 場合にのみ使用で き ます。
•
[Move Caret to Document Start] : カー ソ ルを編集す る 文書の開始箇所ま で移動 し ます。
•
[Move Caret to Document End] : カー ソ ルを編集す る 文書の終了箇所ま で移動 し ます。
テ ン プ レー ト の使用
Vivado IDE には、 多 く の Verilog、 VHDL、 XDC 構造用のテ ン プ レー ト が含ま れてい ます。 テ ン プ レー ト を表示す る
には、 Vivado IDE テ キ ス ト エデ ィ タ ーのツールバーか ら [Language Templates] を ク リ ッ ク し ます。 [Templates] ウ ィ ン
ド ウ が Verilog、 VHDL、 XDC の フ ォ ルダー別に表示 さ れます。 テ ンプ レー ト を選択す る と 、 それが [Preview] エ リ ア
に開 き ます (図 3-19)。
注記 : [Window] → [Language Templates] を ク リ ッ ク し て [Templates] タ ブ を表示す る よ う にす る 必要のあ る こ と も あ り
ます。
X-Ref Target - Figure 3-19
図 3‐19 : 言語テ ン プ レー ト のプ レ ビ ュ ー
テ ンプ レー ト を選択す る と 、 テ キ ス ト エデ ィ タ ーの ツールバーの [Insert Template] ボ タ ンが使用で き る よ う にな り ま
す。 こ れを ク リ ッ ク す る と 、 選択 し た テ ンプ レー ト が編集す る フ ァ イ ルのカー ソ ルの位置に挿入 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
61
第 3 章 : ソ ース フ ァ イルの操作
検索/置換 コ マ ン ド の使用
[Find] お よ び [Find in Files] コ マ ン ド を使用す る と 、開いてい る ソ ース フ ァ イ ルま たは選択 し た フ ァ イ ル内で文字列を
検索で き ます。 次の操作を実行で き ます。
•
検索条件 と し て、 ワ イ ル ド カー ド (*) を含む任意のテ キ ス ト 文字列を入力で き ます。
•
フ ィ ル タ ー オプシ ョ ン を使用 し て、 ソ ース フ ァ イ ル、 制約フ ァ イ ル、 レ ポー ト フ ァ イ ルを検索で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] を参照 し て く だ さ い。
ソ ース フ ァ イルへの ク ロ ス プ ローブ
Vivado IDE では、 次の ウ ィ ン ド ウ か ら RTL ソ ース フ ァ イ ルへ ク ロ ス プ ロ ーブで き ます。
•
[Schematic] ウ ィ ン ド ウ (エ ラ ボ レー ト 済み RTL、 合成、 ま たは イ ンプ リ メ ン テーシ ョ ン)
•
[Netlist] ウ ィ ン ド ウ (合成ま たは イ ンプ リ メ ン テーシ ョ ン後)
•
[Device] ウ ィ ン ド ウ ( イ ンプ リ メ ン テーシ ョ ン後)
ク ロ ス プ ロ ー ブ す る に は、 こ れ ら の ウ ィ ン ド ウ か ら セ ル を 右 ク リ ッ ク し 、 ポ ッ プ ア ッ プ メ ニ ュ ー か ら [Go To
Definition] ま たは [Go To Source] を ク リ ッ ク し ます。 RTL ソ ース が開 き 、 その イ ン ス タ ン ス の行がハ イ ラ イ ト さ れま
す (図 3-20)。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
62
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-20
図 3‐20 : RTL ソ ースへのク ロ ス プ ローブ
ソ ース フ ァ イルに ク ロ ス プ ローブする Tcl コ マ ン ド
FILE_NAME お よ び LINE_NUMBER プ ロ パテ ィ を使用す る と 、セルが RTL ソ ース の ど こ にあ る かに関す る 情報を取得
で き ます。 こ の後、 テ キ ス ト エデ ィ タ ーで RTL ソ ース を開いて、 該当す る 行番号の行を確認 し ます。 次は、 関連す
る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : get_cells
•
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]]
puts “Cell:$cellName is instanced in file:$fileName at line number $lineNum”
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
63
第 3 章 : ソ ース フ ァ イルの操作
その他のテキス ト エデ ィ タ ーの使用
X-Ref Target - Figure 3-21
図 3‐21 : [Vivado Options] ダ イ ア ロ グ ボ ッ ク ス : [General] ページ
Vivado IDE では、 次を実行す る と 別のテ キ ス ト エデ ィ タ ーを使用す る こ と も で き ます。
1.
[Tools] → [Options] を ク リ ッ ク し 、
2.
[Vivado Options] ダ イ ア ロ グ ボ ッ ク ス の [General] ページ (図 3-21) の [Text Editor] セ ク シ ョ ン ま で ス ク ロ ールダ ウ
ン し 、 ド ロ ッ プダ ウ ン リ ス ト か ら 別のテ キ ス ト エデ ィ タ ーを選択 し ます。
リ ス ト か ら テ キ ス ト エデ ィ タ ーを選択する と 、 実行フ ァ イ ル名が表示 さ れます。 こ の実行フ ァ イ ルへのパ スは、
ユーザーのパ ス に含まれてい る 必要があ り ます。 ユーザー環境にパス を追加す る 方法については、 Windows ま た
は Linux の資料を参照 し て く だ さ い。
ご 希望 の テ キ ス ト エ デ ィ タ ー が リ ス ト さ れ て い な い 場合は、 [Custom Editor] を 選択 し ま す。 [Custom Editor
Definition] ダ イ ア ロ グ ボ ッ ク ス (図 3-22) にそのテ キ ス ト エデ ィ タ ーを実行す る 実行フ ァ イ ルの名前ま たはデ ィ
レ ク ト リ と コ マ ン ド ラ イ ン構文を入力 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
64
第 3 章 : ソ ース フ ァ イルの操作
X-Ref Target - Figure 3-22
図 3‐22 : カ ス タ ム エデ ィ タ ーの設定
注記 : 別のテ キ ス ト エデ ィ タ ーを使用す る 場合は、 ク ロ ス プ ロ ーブは同 じ よ う には動作 し ません。 フ ァ イ ルは外部エ
デ ィ タ ーで開 き ますが、 自動的にその行がハ イ ラ イ ト 表示 さ れ る こ と はあ り ません。
非プ ロ ジ ェ ク ト モー ド でのソ ースの操作
非プ ロ ジ ェ ク ト モー ド の場合、 ソ ース フ ァ イ ルが自動的に管理 さ れ る プ ロ ジ ェ ク ト モー ド と 異な り 、 ソ ース フ ァ イ
ルはユーザーが管理す る 必要があ り ます。 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
write_bitstream
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
-to_step
write_bitstream <file_name>
65
第 3 章 : ソ ース フ ァ イルの操作
表 3‐1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の コ マ ン ド (続き)
操作
レ ポー ト の生成
プ ロ ジ ェ ク ト モー ド の コ マ ン ド
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 フ ァ
イ ルは イ ン プ リ メ ン テ ー シ ョ ン の段階 ご と
に自動的に作成 さ れます。
次は、 さ ま ざ ま な ソ ース フ ァ イ ルを読み込む非プ ロ ジ ェ ク ト モー ド の ス ク リ プ ト 例です。
# 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
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
66
第 3 章 : ソ ース フ ァ イルの操作
#
# 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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
67
第 4章
RTL デザイ ンのエ ラ ボレーシ ョ ン
概要
Vivado® IDE には、 RTL デザ イ ンの解析機能が多 く 含まれます。 た と えば、 次を実行で き ます。
•
[Schematic] お よ び [Hierarchy] ウ ィ ン ド ウ を使用 し たデザ イ ン詳細の視覚化
•
ウ ィ ン ド ウ間の ク ロ ス プ ロ ーブ
•
デザ イ ン ルール チ ェ ッ ク (DRC) の実行
•
メ ッ セージのチ ェ ッ ク
•
[Find] コ マ ン ド を使用 し た生成 さ れた RTL ネ ッ ト リ ス ト の検索
•
RTL レベルでの制約の作成お よ び適用
注記 : こ の段階では タ イ ミ ン グ解析は実行で き ません。
プロジ ェ ク ト モー ド でのデザイ ンのエ ラボレーシ ョ ン
プ ロ ジ ェ ク ト で イ ネーブルにな っ てい る RTL ソ ース フ ァ イ ルは、 合成中に自動的にエ ラ ボ レー ト さ れます。 ソ ース
フ ァ イ ルは、 制約の開発お よ び RTL ネ ッ ト リ ス ト エ ラ ボ レ ーシ ョ ン用に手動でエ ラ ボ レー ト す る こ と も で き ま す。
エ ラ ボ レーシ ョ ンお よ び コ ンパ イ ルに関す る メ ッ セージは、 [Messages] ウ ィ ン ド ウ に表示 さ れます。 エ ラ ボ レーシ ョ
ンに使用 さ れ る HDL 言語は、[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [General] ページで選択で き ます。詳細は、第 2 章
の 「[General] ページ」 を参照 し て く だ さ い。
エ ラ ボ レ ーシ ョ ン結果は、 デザ イ ン と 一緒には保存 さ れ ま せん。 エ ラ ボ レ ー ト 済みデザ イ ン を開 く たびに、 エ ラ ボ
レーシ ョ ンが再実行 さ れます。 エ ラ ボ レー ト 済みデザ イ ン を合成す る と 、 合成済みデザ イ ン と し て保存 さ れます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
68
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
デザ イ ン ソ ース フ ァ イ ルを プ ロ ジ ェ ク ト に イ ン ポー ト し た ら 、 次のいずれかの コ マ ン ド を使用 し てデザ イ ン を エ ラ
ボ レー ト し て開 き ます。
•
[Flow] → [Open Elaborated Design] を ク リ ッ ク し ます。
•
Flow Navigator の [RTL Analysis] セ ク シ ョ ンで [Open Elaborated Design] を ク リ ッ ク する と 、エ ラ ボ レー ト 済みネ ッ
ト リ ス ト 、 ア ク テ ィ ブな制約セ ッ ト お よ び タ ーゲ ッ ト デバ イ ス が メ モ リ に読み込まれます。
エ ラ ボ レー ト す る デザ イ ン名を指定す る には、 次のいずれかの方法を使用 し ます。
•
[Flow] → [New Elaborated Design] を ク リ ッ ク し ます。
•
Flow Navigator の [RTL Analysis] ポ ッ プア ッ プ メ ニ ュ ーか ら [New Elaborated Design] を ク リ ッ ク し ます。
エ ラ ボ レー ト 済みデザ イ ン を開 く と 、 RTL ソ ース フ ァ イ ルがエ ラ ボ レー ト さ れ、 最上位回路図表示が生成 さ れ、 デ
フ ォ ル ト のビ ュ ー レ イ ア ウ ト でデザ イ ンが表示 さ れます。図 4-1 は、エ ラ ボ レー ト 済みデザ イ ンのデフ ォ ル ト ビ ュ ー
レ イ ア ウ ト の [RTL Schematic] ウ ィ ン ド ウ を示 し てい ます。
X-Ref Target - Figure 4-1
図 4‐1 : [RTL Schematic] ウ ィ ン ド ウのエ ラ ボレー ト 済みデザイ ン
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
69
第 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-2)。
RTL エ ラ ボ レーシ ョ ンの結果か ら は、 エ ラ ー、 警告、 情報 メ ッ セージの表示/非表示を制御で き ます。 [Messages] ウ ィ
ン ド ウ の上部にあ る チ ェ ッ ク ボ ッ ク ス のオ ン/オ フ を切 り 替え、 エ ラ ー、 ク リ テ ィ カル警告、 警告、 情報 メ ッ セージ
を表示/非表示に し ます。
[Messages] ウ ィ ン ド ウ でエ ラ ーま たは警告 メ ッ セージ を選択す る と 、 該当す る RTL ソ ース フ ァ イ ルが Vivado IDE テ
キ ス ト エデ ィ タ ーに読み込まれ、 問題の ソ ース コー ド がハ イ ラ イ ト さ れます。
X-Ref Target - Figure 4-2
図 4‐2 : エ ラ ボ レー ト さ れたデザイ ンの メ ッ セージ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
70
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
RTL ロ ジ ッ ク 階層の解析
Vivado IDE には、 デザ イ ンの ロ ジ ッ ク 階層を表示する 複数のビ ュ ーがあ り ます。
•
[RTL Netlist] ウ ィ ン ド ウ : 展開可能な ロ ジ ッ ク ツ リ ーを表示 し ます。
•
[RTL Hierarchy] ウ ィ ン ド ウ : ロ ジ ッ ク 階層を グ ラ フ ィ カルに表示 し ます。
•
[RTL Schematic] ウ ィ ン ド ウ : 回路図表示で ロ ジ ッ ク お よ び階層を調べる のに使用 し ます。
デフ ォ ル ト では Flow Navigator で [Elaborate Design] を ク リ ッ ク し てデザ イ ン をエ ラ ボ レー ト する と 、 [RTL Schematic]
ウ ィ ン ド ウ にデザ イ ン全体が表示 さ れます。 1 つの ウ ィ ン ド ウ選択 し たオブジ ェ ク ト はほかの ウ ィ ン ド ウ で も 選択 さ
れ、 ロ ジ ッ ク デザ イ ン を解析 し やす く な っ てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の
使用』 (UG893) [参照 6] を参照 し て く だ さ い。
エ ラ ボレー ト 済みデザイ ン回路図の解析
[RTL Netlist] ウ ィ ン ド ウ で任意の ロ ジ ッ ク 階層 を選択 し 、 [RTL Schematic] ウ ィ ン ド ウ で表示で き ま す。 選択 し た ロ
ジ ッ ク の [RTL Schematic] ウ ィ ン ド ウ を開 く には、 次のいずれかを実行 し ます。
•
[Tools] → [Schematic] を ク リ ッ ク し ます。
•
[RTL Netlist] ウ ィ ン ド ウ でポ ッ プア ッ プ メ ニ ュ ーか ら [Schematic] を ク リ ッ ク し ます。
[RTL Schematic] ウ ィ ン ド ウ での操作の詳細は、『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参
照 6] を参照 し て く だ さ い。
注記 : デザ イ ンがエ ラ ボ レー ト さ れた ら 、 [Find] コ マ ン ド を使用 し て ロ ジ ッ ク オブジ ェ ク ト を検索で き ます。
[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] を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
71
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
推奨 : RTL DRC を実行す る と 、 合成前のエ ラ ボ レーシ ョ ン段階で早期にデザ イ ンの問題を発見で き る ので、 設計全体
の時間を節約す る こ と がで き ます。
DRC ルールの選択
1.
エ ラ ボ レー ト 済みのデザ イ ン を開いて、 [Tools] → [Report DRC] を ク リ ッ ク し ます。
注記 : ま た は、 Flow Navigator の [Report DRC] を ク リ ッ ク す る か、 Tcl コ ン ソ ール に 「report_drc -name
<results_name>」 と 入力 し ます。
2.
[Report DRC] ダ イ ア ロ グ ボ ッ ク ス (図 4-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
°
°
°
[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] : ルール デ ッ ク を指定 し た ら 、 必要に応 じ て実行する ルールを変更 し ます。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
72
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
X-Ref Target - Figure 4-3
図 4‐3 : [Report DRC] ダ イ ア ログ ボ ッ ク ス
DRC 違反の解析
DRC で違反が検出 さ れた場合、 図 4-4 に示す [DRC] ウ ィ ン ド ウ が表示 さ れ ます。 [DRC] ウ ィ ン ド ウ には、 検出 さ れ
たルール違反が [Run DRC] ダ イ ア ロ グ ボ ッ ク ス で定義 さ れた違反カ テ ゴ リ 別に表示 さ れます。
X-Ref Target - Figure 4-4
図 4‐4 : エ ラ ボレー ト さ れたデザイ ンの DRC 違反を示す [DRC] ウ ィ ン ド ウ
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
73
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
ルール違反はその重要度に よ っ て も 分類 さ れてお り 、 次の よ う に色分け表示 さ れます。
•
ア ド バ イ ザ リ : デザ イ ン プ ロ セ ス に関す る 一般的な ス テー タ スお よ びフ ィ ー ド バ ッ ク を示 し ます。
•
警告 : 制約ま たは仕様が意図どお り に適用 さ れていないために、 最適なデザ イ ン結果にな ら ない可能性を示 し ま
す。
•
ク リ テ ィ カル警告 : ユーザー入力ま たは制約に適用 さ れない も のがあ っ た り 、 適切な方法に従っ ていない も のが
あ る こ と を示 し ます。 こ れ ら の問題を確認 し 、 変更す る こ と をお勧め し ます。
注記 : ク リ テ ィ カル警告は、 ビ ッ ト ス ト リ ーム生成時にはエ ラ ーにな り ます。
•
エ ラ ー : デザ イ ン結果が使用で き ない状態にな り 、 ユーザーが対処 し ない と 回避 さ れない問題を示 し ます。 デザ
イ ン フ ロ ーは停止 し ます。
ヒ ン ト : 警告お よ び情報 メ ッ セージ を 非表示に し 、 エ ラ ーのみ を 表示す る には、 ツ ールバーの [Hide Warnings and
Informational Messages] ボ タ ン
を ク リ ッ ク し ます。
DRC 違反は個別に リ ス ト で き る ほか、 ルールに よ っ て分類す る こ と がで き ま す。 表示を 変更す る には、 [Group By
Rule] ツールバー ボ タ ン
を ク リ ッ ク し ます。 違反が個別に リ ス ト さ れ る 場合は、 [Severity] 列のヘ ッ ダーを ク リ ッ
ク す る と 、 違反の重要度別に並べ替え る こ と がで き ます。 列は、 次の よ う に分類で き ます。
•
列ヘ ッ ダーを ク リ ッ ク す る と 、 その列の昇順にデー タ が並べ替え ら れます。
•
列ヘ ッ ダーを も う 一度 ク リ ッ ク す る と 、 その列の降順にデー タ が並べ替え ら れます。
注記 : 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 6] を参照 し て く だ さ い。
[DRC] ウ ィ ン ド ウ で違反 メ ッ セージ を ク リ ッ ク する と 、その違反に関連す る オブジ ェ ク ト が [Netlist] や [Schematic] な
ど の開いた ウ ィ ン ド ウ で選択 さ れます。 こ れに よ り 、 特定の違反に関す る デザ イ ン エ レ メ ン ト を素早 く 見つけて、 確
認す る こ と がで き ます。
違反プ ロ パテ ィ は [Violation Properties] ウ ィ ン ド ウ (図 4-5) にデフ ォ ル ト で表示 さ れます。 [DRC] ウ ィ ン ド ウ でポ ッ プ
ア ッ プ メ ニ ュ ーか ら [Violation Properties] を ク リ ッ ク し て も 、 [Violation Properties] ウ ィ ン ド ウ を開 く こ と がで き ます。
こ の ウ ィ ン ド ウ には、 DRC ルール違反の概要 ([General] タ ブ) と 、 違反 し てい る デザ イ ン エ レ メ ン ト の詳細 ([Details]
タ ブ) が表示 さ れます。 [Details] タ ブには、 DRC に違反 し てい る 特定のデザ イ ン オブジ ェ ク ト への リ ン ク が含まれま
す。リ ン ク を ク リ ッ ク す る と 、そのデザ イ ン オブジ ェ ク ト が [RTL Netlist] ウ ィ ン ド ウ、[Device] ウ ィ ン ド ウ、[Schematic]
ウ ィ ン ド ウ、 お よ び ソ ース RTL フ ァ イ ルで選択 さ れます。
X-Ref Target - Figure 4-5
図 4‐5 : [Violation Properties] ウ ィ ン ド ウ
RTL DRC を実行する Tcl コ マ ン ド
次は、 関連す る Tcl コ マ ン ド です。
•
Tcl コ マ ン ド : report_drc
•
Tcl コ マ ン ド の例 : report_drc -name drc_1
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
74
第 4 章 : RTL デザイ ンのエ ラ ボレーシ ョ ン
注記 : デフ ォ ル ト では、 テ キ ス ト ベース の レ ポー ト が出力 さ れます。 -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
#
# 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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
75
第 5章
デザイ ンのデバ ッ グ
概要
FPGA デザ イ ンのデバ ッ グは複数の手順の繰 り 返 し プ ロ セ ス です。 ほ と ん ど の複雑な問題 と 同様、 1 度にデザ イ ン 全
体を処理す る のではな く 、 FPGA デザ イ ンのデバ ッ グ プ ロ セ ス を小 さ く 分け、 小 さ いセ ク シ ョ ン ご と に 1 つずつ処理
し てい く のが最適な方法です。 問題のなか っ たデザ イ ン例 と デバ ッ グ方法をデザ イ ン フ ロ ーを通 し て繰 り 返 し 使用
し 、 1 つずつモジ ュ ールを追加 し ていっ て、 デザ イ ン全体で う ま く 動作する か ど う かその都度確認 し ます。 こ のデザ
イ ンお よ びデバ ッ グ手法は、 次のデザ イ ン フ ロ ー段階の ど の組み合わせでで も 使用で き ます。
•
RTL レベルのデザ イ ン シ ミ ュ レーシ ョ ン
•
イ ン シ ス テ ム デバ ッ グ
Set up Debug ウ ィ ザー ド ま たは Tcl コ マ ン ド を使用す る と 、 デバ ッ グ コ ア を作成、 接続 し 、 合成済みデザ イ ン ネ ッ ト
リ ス ト に挿入で き ます。 デバ ッ グの詳細については、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ
グ』 (UG908) [参照 17] を参照 し て く だ さ い。
RTL レ ベルのデザイ ン シ ミ ュ レーシ ョ ン
シ ミ ュ レーシ ョ ン検証プ ロ セ ス中は、 デザ イ ン を機能的にデバ ッ グで き ます。 Vivado® シ ミ ュ レー タ には、 完全なデ
ザ イ ン シ ミ ュ レーシ ョ ン機能が含まれます。 Vivado シ ミ ュ レー タ を使用する と 、 デザ イ ンの RTL シ ミ ュ レーシ ョ ン
を実行で き ます。 RTL レベル シ ミ ュ レーシ ョ ン環境でデザ イ ン をデバ ッ グす る 利点には、 デザ イ ン全体を視覚化で
き る 点やデザ イ ンお よ びデバ ッ グ サ イ ク ルを素早 く 繰 り 返す こ と がで き る 点な ど があ り ます。シ ミ ュ レーシ ョ ンの設
定お よ び起動方法については、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 10]
を参照 し て く だ さ い。
イ ン シ ス テム デバ ッ グ
Vivado IDE には、 イ ンプ リ メ ン テーシ ョ ン後の FPGA デザ イ ン を イ ン シ ス テ ム でデバ ッ グで き る ロ ジ ッ ク 解析機能 も
あ り ます。 イ ン シ ス テ ム デバ ッ グの利点は、 実際のシ ス テ ム環境でシ ス テ ム速度で イ ンプ リ メ ン ト 後の タ イ ミ ン グの
正確なデザ イ ン をデバ ッ グで き る 点にあ り ます。 イ ン シ ス テ ム デバ ッ グでは、 デザ イ ンのサ イ ズお よ び複雑 さ に よ っ
て、 シ ミ ュ レーシ ョ ン モデルを使用 し た場合 と 比べてデバ ッ グ信号の表示精度が落ちた り 、 潜在的にデザ イ ン、 イ ン
プ リ メ ン テーシ ョ ン、 デバ ッ グの繰 り 返 し が長 く な る こ と があ り ます。
Vivado IDE には、 デザ イ ン をデバ ッ グす る 方法が複数あ り ます。 必要に応 じ て、 こ れ ら の方法のいずれか を使用 し て
デザ イ ン をデバ ッ グで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [
参照 17] を参照 し て く だ さ い。
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
76
付録 A
その他のソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照
し て く だ さ い。
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 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 イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
13. 『Vivado Design Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912)
14. 『UltraFast™ 設計手法 (Vivado Design Suite 用)』 (UG949)
15. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901)
16. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904)
17. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
18. Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG898)
シス テム レ ベル デザイ ン入力
UG895 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
77
付録 A : その他のソ ースおよび法的通知
19. 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949)
20. Vivado Design Suite ビデオ チ ュ ー ト リ アル : バージ ョ ン管理シ ス テ ムの概要
21. Vivado Design Suite ビデオ チ ュ ー ト リ アル : タ イ ミ ン グ制約ウ ィ ザー ド の使用
22. Vivado Design Suite ビデオ チ ュ ー ト リ アル
23. Vivado Design Suite 資料
法的通知
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum 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-2014 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 (v2014.3) 2014 年 10 月 9 日
japan.xilinx.com
78