Vivado Design Suite
ユーザー
ガ イ ド
シ ス テム
レベル デザイ ン入力
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 the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; 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 Critical
Applications:http://www.xilinx.com/warranty.htm#critapps.
© Copyright 2012 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.
本資料は英語版 (v2012.2) を翻訳し た も ので、 内容に相違が生じ る 場合には原文を優先し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け てお り ません。 あ ら か じ めご了承 く だ さ い。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2012 年 7 月 25 日 2012.2 初版改訂履歴 . . . 2
第
1
章
:
は じ めに
概要 . . . 5第
2
章
:
プ ロ ジ ェ ク ト の操作
概要 . . . 6 プ ロ ジ ェ ク ト タ イ プ. . . 6 プ ロ ジ ェ ク ト の作成 . . . 7 プ ロ ジ ェ ク ト の管理 . . . 18 プ ロ ジ ェ ク ト サマ リ の使用 . . . 19 プ ロ ジ ェ ク ト 設定 . . . 20 Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成 . . . 27第
3
章
:
ソ ース
フ ァ イルの操作
概要 . . . 29 プ ロ ジ ェ ク ト モー ド での ソ ース の操作 . . . 29 非プ ロ ジ ェ ク ト モー ド での ソ ース の操作. . . 64第
4
章
: RTL
デザイ ンのエ ラ ボ レ ーシ ョ ン
概要 . . . 66 プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン. . . 66 非プ ロ ジ ェ ク ト モー ド でのデザ イ ンのエ ラ ボ レーシ ョ ン. . . 72第
5
章
:
デバ ッ グ情報の挿入 と 設定
概要 . . . 73 RTL レベルのデザ イ ンシ ミ ュ レーシ ョ ン. . . 73 イ ン シ ス テ ムデバ ッ グ . . . 73付録
A :
その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . 77 ソ リ ュ ーシ ョ ンセン タ ー . . . 77 リ フ ァ レ ン ス. . . 77目次
第 1 章
は じ めに
概要
Vivado™ Design Suite では、レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) を作成す る と ビ ッ ト ス ト リ ーム ま で生成で き ます。 シ ス テ ム レベル デザ イ ン入力には、 プ ロ ジ ェ ク ト の作成、 ソ ース フ ァ イ ルの作成およ び追加、 RTL デザ イ ンのエ ラ ボ レー ト 、 デバ ッ グ情報の挿入お よ び コ ン フ ィ ギ ュ レーシ ョ ン な ど、 デザ イ ンの設定が含まれます。 デザ イ ンはグ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) であ る Vivado IDE (Integrated Design Environment) ま たは Tcl コ マン ド /ス ク
リ プ ト を使用 し て入力で き ます。
本書では、 Vivado Design Suite のデザ イ ン フ ロ ー モー ド の 「プ ロ ジ ェ ク ト モー ド 」 と 「非プ ロ ジ ェ ク ト モー ド 」 の 両方のデザ イ ン入力方法について説明 し ます。 通常、 プ ロ ジ ェ ク ト モー ド は Vivado IDE で使用 し ます。 こ のモー ド の場合、 プ ロ ジ ェ ク ト を Vivado IDE で作成する と 、 デザ イ ンの ス テー ト が自動的に保存 さ れ、 レ ポー ト お よ び メ ッ セージが作成 さ れ、 ソ ース フ ァ イ ルが管理 さ れます。 通常、 非プ ロ ジ ェ ク ト モー ド は Tcl コ マン ド ま たは ス ク リ プ ト か ら 実行 し ます。 こ のモー ド の場合、 ユーザーがデザ イ ン フ ロ ーを完全に制御 し、 Vivado ツールで自動的に ソ ース フ ァ イ ルが管理 さ れた り 、デザ イ ン ス テー ト がレ ポー ト さ れた り し ません。デザ イ ン フ ロ ーに関する詳細は、『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ーの概要』 (UG892) を参照 し て く だ さ い。
プ ロ ジ ェ ク ト の操作
概要
プ ロ ジ ェ ク ト モー ド で操作する場合は、 さ ま ざ ま なプ ロ ジ ェ ク ト タ イ プを使用し てデザ イ ン を入力で き ます。 本章 では、 各プ ロ ジ ェ ク ト タ イ プ と そのプ ロ ジ ェ ク ト の作成お よ び管理方法について説明 し ます。 ま た、 プ ロ ジ ェ ク ト サマ リ 、 プ ロ ジ ェ ク ト 設定のほか、 Tcl ス ク リ プ ト を使用し たプ ロ ジ ェ ク ト の作成方法について も 説明し ます。プ ロ ジ ェ ク ト タ イ プ
Vivado™ IDE を使用す る と 、 次のプ ロ ジ ェ ク ト タ イ プ を作成で き ます。 各プ ロ ジ ェ ク ト タ イ プの入力 ソ ー ス タ イ プ は異な り ます。 • レ ジ ス タ ト ラ ン ス フ ァ ー レベル (RTL) のプ ロ ジ ェ ク ト • 合成後のプ ロ ジ ェ ク ト • I/O 配置プ ロ ジ ェ ク ト • イ ンポー ト プ ロ ジ ェ ク ト 注記 : プ ロ ジ ェ ク ト は、 作成後は別のプ ロ ジ ェ ク ト タ イ プに変更で き ません。 例外は I/O 配置プ ロ ジ ェ ク ト のみで、 こ のプ ロ ジ ェ ク ト は RTL プ ロ ジ ェ ク ト の基礎 と し て使用する こ と がで き ます。RTL プ ロ ジ ェ ク ト
Vivado IDE を使用す る と 、 RTL の作成か ら ビ ッ ト ス ト リ ーム の生成ま で、 デザ イ ン フ ロ ー全体を管理で き ま す。 ユー ザーは、 RTL ソ ース フ ァ イ ルのほか、 デザ イ ン ブ ロ ッ ク には EDIF ネ ッ ト リ ス ト を追加で き る ほか、 IP を追加で き ます。 IP には、 Vivado ツールで生成 さ れた XCI フ ァ イ ル、 CORE Generator™ ツールで生成 さ れた XCO フ ァ イ ル、 お よ びコ ンパ イ ル済みの NGC/NGO 形式の IP ネ ッ ト リ ス ト を含め る こ と がで き ます。RTL を エ ラ ボ レー ト し て解析 し 、 構文が正 し い こ と を確認 し た ら 、 さ ま ざ ま な合成や イ ン プ リ メ ン テーシ ョ ン run を 実行お よ び管理 し 、 デザ イ ン と 実行結果を解析で き ます。 ま た、 さ ま ざ ま な制約や イ ンプ リ メ ン テーシ ョ ン ス ト ラ テ ジ を試す こ と も で き ます。
合成後のプ ロ ジ ェ ク ト
Xilinx® Synthesis Technology (XST) やサポー ト さ れてい る サー ド パーテ ィ の合成ツールを使用 し て Vivado IDE 環境外 で合成 さ れ た デザ イ ン か ら 、 プ ロ ジ ェ ク ト を 作成す る こ と も で き ま す。 Vivado IDE に は、 EDIF、 NGC、 構造型 SystemVerilog、 Verilog 形式のネ ッ ト リ ス ト を イ ン ポー ト で き ま す。 ネ ッ ト リ ス ト は、 1 つの フ ァ イ ルに ま と め ら れて い る か、 複数のモジ ュ ール レベルのネ ッ ト リ ス ト か ら 構成 さ れ る階層構造にな っ てい ます。
ロ ジ ッ ク ネ ッ ト リ ス ト を解析 し、 さ ま ざ ま な イ ンプ リ メ ン テーシ ョ ン run を実行およ び管理 し、 デザ イ ン と 実行結果 を解析で き ます。 ま た、 さ ま ざ ま な制約や イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジ を試す こ と も で き ます。
プ ロ ジ ェ ク ト の作成
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) を参照 し て く だ さ い。
イ ンポー ト プ ロ ジ ェ ク ト
Synopsys Synplify、 XST、 ま たは ISE® Design Suite プ ロ ジ ェ ク ト か ら のデー タ は、 Vivado ツールの RTL プ ロ ジ ェ ク ト
に移行で き ます。 プ ロ ジ ェ ク ト の ソ ー ス フ ァ イ ルおよ び コ ンパ イ ル順は イ ン ポー ト さ れ ますが、 イ ン プ リ メ ン テー シ ョ ン結果お よ びプ ロ ジ ェ ク ト 設定は イ ンポー ト さ れません。
プ ロ ジ ェ ク ト の作成
New Project ウ ィ ザー ド では、 プ ロ ジ ェ ク ト 名お よ びデ ィ レ ク ト リ の指定、 プ ロ ジ ェ ク ト への ソ ー ス フ ァ イ ル と 制約 フ ァ イ ルの追加、 タ ーゲ ッ ト デバ イ ス の選択を ウ ィ ザー ド に従っ て実行で き ます。
1. Vivado IDE で [File] → [New Project] を ク リ ッ ク し ます。
注記 : ま たは、 [New Project] ツールバー ボ タ ン を ク リ ッ ク し ます。 ま たは、 Getting Started ページで [Create
a New Project] の リ ン ク を ク リ ッ ク し ま す。
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
プ ロ ジ ェ ク ト の作成 4. [Project Type] ページ (図 2-2) でプ ロ ジ ェ ク ト タ イ プ を指定 し 、プ ロ ジ ェ ク ト に関連付け る ソ ー ス フ ァ イ ルの タ イ プを決め ます。 5. 作成する プ ロ ジ ェ ク ト タ イ プに応 じ て、 次のセ ク シ ョ ンのいずれかの説明を参照し て く だ さ い。 ウ ィ ザー ド の残 り のページで、 プ ロ ジ ェ ク ト に最適な ソ ース を追加 し てい き ます。 ° 「RTL プ ロ ジ ェ ク ト の作成」 ° 「合成後プ ロ ジ ェ ク ト の作成」 ° 「I/O ピ ン配置プ ロ ジ ェ ク ト の作成」 ° 「外部プ ロ ジ ェ ク ト の イ ン ポー ト 」
RTL プ ロ ジ ェ ク ト の作成
RTL ソ ー ス フ ァ イ ル を 指定 し て プ ロ ジ ェ ク ト を 作成す る と 、 RTL ソ ー ス フ ァ イ ル を 合成お よ び イ ン プ リ メ ン テー シ ョ ンだけでな く 、 RTL コー ド 開発およ び解析で も 使用で き ます。 RTL の開発およ び解析の詳細は、第 4 章 「RTL デ ザ イ ンのエ ラ ボ レーシ ョ ン」 を参照 し て く だ さ い。 1. 「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。2. [Project Type] ページで [RTL Project] を オ ン に し て、 [Next] を ク リ ッ ク し ます。
注記 : 必要であれば、 [Do not specify sources at this time] をオンに し ます。 こ れをオンにする と 、 デザ イ ン ソ ース を追加する 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
X-Ref Target - Figure 2-2
3. [Add Sources] ページ (図 2-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
° [Add Files] : プ ロ ジ ェ ク ト に追加す る フ ァ イ ルを選択す る ための フ ァ イ ル ブ ラ ウ ザーが表示 さ れ ます。 RTL
プ ロ ジ ェ ク ト には、 HDL、 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 ソ ース フ ァ イ ルは work ラ イ ブ ラ リ に追加 さ れ ます。 必要に応 じ て、 ユーザー VHDL ラ イ ブ ラ リ を作成 し、 参照で き ま す。 Verilog および SystemVerilog フ ァ イ ルの場合は、 work のま ま に し ておいて く だ さ い。
° [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
フ ァ イ ルはデフ ォ ル ト で指定 し た タ ーゲ ッ ト 言語にな り ま す。 指定 し た タ ーゲ ッ ト 言語でデザ イ ン の出力 フ ァ イ ルが生成 さ れます。
プ ロ ジ ェ ク ト の作成
4. オプシ ョ ン : [Add Existing IP] ページ (図 2-4) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
° [Add Files] : Vivado Design Suite に含 ま れ る Xilinx Core Instance (XCI) ま たは CORE Generator コ ア (XCO) フ ァ
イ ルを選択で き る フ ァ イ ル ブ ラ ウ ザーが開き ます。
XCI フ ァ イ ルは IP-XACT コ ン ポーネ ン ト イ ン ス タ ン ス XML フ ァ イ ルで、 IP を作成す る のに使用 さ れたプ ロ ジ ェ ク ト オプシ ョ ン、 カ ス タ マ イ ズ パ ラ メ ー タ ー、 ポー ト パ ラ メ ー タ ーな ど の値が記録 さ れてい ます。 Vivado IP カ タ ロ グ のほ と ん ど の IP が IEEE Std 1685-2009 に基づいた IP-XACT 規格フ ォ ーマ ッ ト を使用 し ま す。
注記 : IP カ タ ロ グで作成し た XCI IP を追加する と 、 RTL フ ァ イ ルが Vivado IDE プ ロ ジ ェ ク ト に イ ンポー ト さ れます。 合成を実行す る と 、 IP およ び最上位デザ イ ンが同時に合成 さ れます。 IP に対し て既に合成が実行 さ れてい る 場合は、 IP デ ィ レ ク ト リ のネ ッ ト リ ス ト が最上位合成 run で使用 さ れます。
° [Copy Sources into Project] : 元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
注記 : サー ド パーテ ィ か ら 合成済み NGC ま たは EDIF ネ ッ ト リ ス ト と し て提供 さ れてい る IP も あ り ます。 こ れ ら の フ ァ イ ルをデザ イ ンに読み込むには、 [Add Sources] コ マ ン ド を ク リ ッ ク し 、 [Add or Create Design Sources] を
オ ン に し て フ ァ イ ル を 読み込み ま す。第 3 章の 「IP ソ ー ス の操作」 に示す よ う に、 IP カ タ ロ グ を 使用す る と
Vivado IDE 内のプ ロ ジ ェ ク ト にパ ラ メ ー タ ー指定可能な コ ア を読み込む こ と も で き ま す。 X-Ref Target - Figure 2-3
5. オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ま す。
° [Add Files] : プ ロ ジ ェ ク ト に追加す る Synopsys デザ イ ン制約 (SDC) ま たはザ イ リ ン ク ス デザ イ ン制約
(XDC) フ ァ イ ルを指定す る ための フ ァ イ ル ブ ラ ウ ザーが開 き ます。
° [Create File] : 新 し い最上位の XDC が作成 さ れ ます。
° [Remove] : 制約 リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れ ます。
° [Up]/[Down] : 制約フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 コ マ ン ド は リ ス ト さ れ る 順序に依存 し 、 制約
の最後の コ マ ン ド がそれ よ り 前の コ マ ン ド の結果を上書き し ます。
° [Copy Constraints into Project] : 元の フ ァ イ ルを参照す る のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。 注記 : プ ロ ジ ェ ク ト に関連付け ら れた RTL ま たはネ ッ ト リ ス ト ソ ース フ ァ イ ル と 同じ デ ィ レ ク ト リ の SDC ま た は XDC フ ァ イ ルは、 プ ロ ジ ェ ク ト に追加 さ れ る制約フ ァ イ ル と し て自動的に表示 さ れます。 6. [Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォ ーム (TDP) ボー ド を選択 し 、 [Next] を ク リ ッ ク し ます。 ° [Parts] : 使用可能なデバ イ ス が リ ス ト さ れ ま す。 デバ イ ス リ ソ ー ス に関す る 情報が、 表形式で表示 さ れ ます。 こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 およ び温度な どのフ ィ ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ます。
X-Ref Target - Figure 2-4
図 2-4 : New Project ウ ィ ザー ド : [Add Existing IP] ページ
X-Ref Target - Figure 2-5
プ ロ ジ ェ ク ト の作成 ° [Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツ が リ ス ト さ れ ます。 I/O ピ ン の カ ウ ン ト やル ッ ク ア ッ プ テーブル (LUT) お よ びフ リ ッ プ フ ロ ッ プ (FF) の数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ー ス に関す る 情報が表形式で表示 さ れ ま す。 リ ス ト は、 フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド で フ ィ ル タ ーをかけて表示 さ せる こ と も で き ます。 ° [Search] : 指定 し た検索条件に合 う デバ イ ス のみが リ ス ト で き ま す。
7. [New Project Summary] ページでプ ロ ジ ェ ク ト に選択 さ れたオプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-6
8. [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 は無視 さ れます。 RTL ソ ー ス フ ァ イ ルが作成 さ れ、 プ ロ ジ ェ ク ト に追加 さ れ ま す。 [Sources] ビ ュ ーに新 し く 定義 し たモジ ュ ール が リ ス ト さ れ ます。 Vivado IDE テ キ ス ト エデ ィ タ ーで新し い ソ ース フ ァ イ ルを編集する には、 フ ァ イ ルを ダブ ル ク リ ッ ク する か、 [Open File] ポ ッ プア ッ プ メ ニ ューを ク リ ッ ク し ます。 新規作成し た フ ァ イ ルの編集方法につ いては、第 3 章の 「テ キ ス ト エデ ィ タ ーの使用」 を参照 し て く だ さ い。
合成後プ ロ ジ ェ ク ト の作成
合成後プ ロ ジ ェ ク ト は、 合成済みネ ッ ト リ ス ト お よ びその制約を使用 し て開始 し ます。 こ の後、 デザ イ ン を解析、 フ ロ アプ ラ ン、 イ ンプ リ メ ン ト で き ます。X-Ref Target - Figure 2-7
プ ロ ジ ェ ク ト の作成
1. 「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2. [Project Type] ページで [Post-Synthesis Project] をオ ン に し て、 [Next] を ク リ ッ ク し ます。
注記 : 必要であれば、 [Do not specify sources at this time] をオンに し ます。 こ れをオンにする と 、 デザ イ ン ソ ース を追加する 手順を飛ば し て、 タ ーゲ ッ ト パーツ を選択 し てプ ロ ジ ェ ク ト を作成で き ます。
3. [Add Netlist Sources] ページ (図 2-8) で次のオプシ ョ ン を使用 し て、 読み込むネ ッ ト リ ス ト フ ァ イ ルを指定 し 、 最
上位モジ ュ ールを含むフ ァ イ ルを識別 し 、下位レベル モジ ュールのネ ッ ト リ ス ト を検索する ためのデ ィ レ ク ト リ を定義 し た ら 、 [Next] を ク リ ッ ク し ます。
° [Add Files] : プ ロ ジ ェ ク ト に追加す る ネ ッ ト リ ス ト フ ァ イ ル (Verilog、 SystemVerilog、 EDIF ま たは NGC) を
選択 し ます。
注記 : フ ァ イ ルに最上位ネ ッ ト リ ス ト が含まれる場合は [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] で指定 し たデ ィ レ ク ト リ の下位デ ィ レ ク ト リ に含 ま れ る
ネ ッ ト リ ス ト フ ァ イ ルを検索 し て追加 し ます。
4. オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ま す。
° [Add Files] : プ ロ ジ ェ ク ト に追加す る Synopsys デザ イ ン制約 (SDC) ま たはザ イ リ ン ク ス デザ イ ン制約
(XDC) フ ァ イ ルを指定す る ための フ ァ イ ル ブ ラ ウ ザーが開 き ます。
° [Create File] : 新 し い最上位の XDC が作成 さ れ ます。
° [Remove] : 制約 リ ス ト か ら 選択 し た フ ァ イ ルが削除 さ れ ます。
X-Ref Target - Figure 2-8
° [Up]/[Down] : 制約フ ァ イ ルを リ ス ト の上下方向に移動 し ます。 コ マ ン ド は リ ス ト さ れ る 順序に依存 し 、 制約
の最後の コ マ ン ド がそれ よ り 前の コ マ ン ド の結果を上書き し ます。
° [Copy Constraints into Project] : 元の フ ァ イ ルを参照す る のではな く 、 ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に
制約フ ァ イ ルを コ ピー し ます。 注記 : プ ロ ジ ェ ク ト に関連付け ら れた RTL ま たはネ ッ ト リ ス ト ソ ース フ ァ イ ル と 同じ デ ィ レ ク ト リ の SDC ま た は XDC フ ァ イ ルは、 プ ロ ジ ェ ク ト に追加 さ れ る制約フ ァ イ ル と し て自動的に表示 さ れます。 5. [Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォ ーム (TDP) ボー ド を選択 し 、 [Next] を ク リ ッ ク し ます。 ° [Parts] : 使用可能なデバ イ ス が リ ス ト さ れ ま す。 デバ イ ス リ ソ ー ス に関す る 情報が、 表形式で表示 さ れ ます。 こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 およ び温度な どのフ ィ ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ます。 ° [Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツ が リ ス ト さ れ ます。 I/O ピ ン の カ ウ ン ト やル ッ ク ア ッ プ テーブル (LUT) お よ びフ リ ッ プ フ ロ ッ プ (FF) の数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ー ス に関す る 情報が表形式で表示 さ れ ま す。 リ ス ト は、 フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド で フ ィ ル タ ーをかけて表示 さ せる こ と も で き ます。 ° [Search] : 指定 し た検索条件に合 う デバ イ ス のみが リ ス ト で き ま す。
6. [New Project Summary] ページでプ ロ ジ ェ ク ト に選択 さ れたオプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
I/O ピ ン配置プ ロ ジ ェ ク ト の作成
I/O ピ ン配置プ ロ ジ ェ ク ト は、 シ ス テ ム レベル デザ イ ン のデバ イ ス ピ ン配置を指定す る ために使用 し ま す。 こ の タ イ プのプ ロ ジ ェ ク ト は、 HDL ま たは合成済みネ ッ ト リ ス ト を完了する 前に作成で き ます。 た と えば、 シ ス テ ム レベ ル ま たは PCB 設計者 と デザ イ ン情報を共有す る 目的な ど に使用で き ま す。 I/O 配置の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O およ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。
1. 「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2. [Project Type] ページで [I/O Planning Project] を オ ン に し て、 [Next] を ク リ ッ ク し ます。
3. オプシ ョ ン : [Import Ports] ダ イ ア ロ グ ボ ッ ク ス (図 2-9) で次のオプシ ョ ン を指定 し 、 I/O ポー ト 定義お よ び制約
を イ ンポー ト する ための フ ァ イ ルを選択 し た ら 、 [Next] を ク リ ッ ク し ます。
° [Import CSV] : I/O 定義を含む CSV フ ァ イ ルを選択 し ます。 CSV フ ァ イ ルに関す る 詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。
° [Import XDC] : I/O ポー ト 関連の制約のみを含む XDC フ ァ イ ルを選択 し ま す。
° [Do not import I/O ports at this time] : 空のプ ロ ジ ェ ク ト を作成 し ま す。I/O は後ほ ど作成 ま たは イ ン ポー ト で き
ます。
注記 : RTL ヘ ッ ダーま たは ソ ース フ ァ イ ルを使用 し てデザ イ ンの I/O ピ ン配置を実行す る には、 RTL プ ロ ジ ェ ク ト を使用 し ます。
X-Ref Target - Figure 2-9
プ ロ ジ ェ ク ト の作成 4. [Default Part] ページ (図 2-6) でザ イ リ ン ク ス パーツ ま たは タ ーゲ ッ ト デザ イ ン プ ラ ッ ト フ ォ ーム (TDP) ボー ド を選択 し 、 [Next] を ク リ ッ ク し ます。 ° [Parts] : 使用可能なデバ イ ス が リ ス ト さ れ ま す。 デバ イ ス リ ソ ー ス に関す る 情報が、 表形式で表示 さ れ ます。 こ の リ ス ト では、 製品、 フ ァ ミ リ 、 サブ フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド 、 およ び温度な どのフ ィ ル タ ーを使用 し て、 デバ イ ス を絞 り 込む こ と がで き ます。 ° [Boards] : 使用可能な TDP ボー ド と 、 そのボー ド で使用 さ れ る ザ イ リ ン ク ス パーツ が リ ス ト さ れ ます。 I/O ピ ン の カ ウ ン ト やル ッ ク ア ッ プ テーブル (LUT) お よ びフ リ ッ プ フ ロ ッ プ (FF) の数、 使用可能なブ ロ ッ ク RAM な ど のデバ イ ス リ ソ ー ス に関す る 情報が表形式で表示 さ れ ま す。 リ ス ト は、 フ ァ ミ リ 、 パ ッ ケージ、 ス ピー ド グ レー ド で フ ィ ル タ ーをかけて表示 さ せる こ と も で き ます。 ° [Search] : 指定 し た検索条件に合 う デバ イ ス のみが リ ス ト で き ま す。
5. [New Project Summary] ページでプ ロ ジ ェ ク ト を定義す る ために選択 し たオプシ ョ ン を確認 し た ら 、 [Finish] を ク
リ ッ ク し ます。
外部プ ロ ジ ェ ク ト のイ ンポー ト
Vivado IDE 以外 (例 : Synopsys の Synplify、 XST、 ま たは ISE Design Suite の Project Navigator) で作成 し た既存の RTL レベルのプ ロ ジ ェ ク ト フ ァ イ ルを イ ン ポー ト で き ます。 Vivado IDE では、 指定 し たプ ロ ジ ェ ク ト の ソ ース フ ァ イ ル が検出 さ れ、 新規プ ロ ジ ェ ク ト へ自動的に追加 さ れます。 最上位モジ ュ ール、 タ ーゲ ッ ト デバ イ ス、 VHDL ラ イ ブ ラ
リ な ど の設定 も 既存プ ロ ジ ェ ク ト か ら イ ンポー ト さ れます。
1. 「プ ロ ジ ェ ク ト の作成」 の手順に従っ てプ ロ ジ ェ ク ト を作成 し ます。
2. [Project Type] ページで [Imported Project] を オ ンに し て、 [Next] を ク リ ッ ク し ま す。
3. [Import Project] ページ (図 2-10) で次のオプシ ョ ン を使用 し て、 イ ン ポー ト す る プ ロ ジ ェ ク ト フ ァ イ ルを指定 し た
ら 、 [Next] を ク リ ッ ク し ます。
° [ISE] : 指定 し たザ イ リ ン ク ス ISE Design Suite プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は.xise) を イ ン ポー ト し ます。
° [Synplify] : 指定 し た Synplify プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .prj を イ ン ポー ト し ます。
° [XST] : 指定 し た XST プ ロ ジ ェ ク ト フ ァ イ ル (拡張子は .xst) を イ ン ポー ト し ます。
° [Copy Sources into Project] :元の フ ァ イ ルを参照す る のではな く 、ロ ーカル プ ロ ジ ェ ク ト デ ィ レ ク ト リ に フ ァ
イ ルを コ ピー し ます。
4. [New Project Summary] ページでプ ロ ジ ェ ク ト を定義す る オプシ ョ ン を確認 し た ら 、 [Finish] を ク リ ッ ク し ます。
指定 し たプ ロ ジ ェ ク ト か ら RTL ソ ース フ ァ イ ル、 制約フ ァ イ ルが イ ン ポー ト さ れ、 指定 し たデ ィ レ ク ト リ にプ ロ ジ ェ ク ト フ ァ イ ルが作成 さ れます。イ ン ポー ト プ ロ セ ス のサマ リ が イ ン ポー ト サマ リ レ ポー ト の ロ グ フ ァ イ ルに記述 さ れ、 新規プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れ ます。 こ のサマ リ フ ァ イ ルでは、 プ ロ ジ ェ ク ト を作 成する 際に使用 さ れた手順お よ びエ ラ ーや警告 メ ッ セージ を確認で き ます。
X-Ref Target - Figure 2-10
プ ロ ジ ェ ク ト の管理
プ ロ ジ ェ ク ト を開 く
プ ロ ジ ェ ク ト を開 く と 、 前回プ ロ ジ ェ ク ト を閉 じ た と き の状態が復元 さ れ ま す。 プ ロ ジ ェ ク ト の状態 と は、 ソ ー ス フ ァ イ ル順、 ソ ース フ ァ イ ルのデ ィ ス エーブル/ イ ネーブル、 ア ク テ ィ ブお よ び タ ーゲ ッ ト 制約フ ァ イ ル、 合成、 シ ミ ュ レーシ ョ ン、 イ ンプ リ メ ン テーシ ョ ン run の ス テー ト な どです。 プ ロ ジ ェ ク ト を開 く には、 次のいずれかを実行 し ます。• Getting Started ページの [Open Recent Project] ま たは [Open Project] リ ン ク を ク リ ッ ク し ます。
• [File] → [Open Project] を ク リ ッ ク し ます。
• [Open Project] ツールバー ボ タ ン を ク リ ッ ク し ます。
• Tcl コ ン ソ ールに open_project コ マ ン ド を入力 し ま す。
[Open Project] ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト フ ァ イ ル (.xpr) を選択 し ま す。 [Open Project] ダ イ ア ロ グ ボ ッ ク ス の [File Preview] に現在選択 さ れてい る フ ァ イ ルに関する 情報が表示 さ れます。
注記 : ま たは、Windows エ ク ス プ ロー ラ ーで Vivado IDE プ ロ ジ ェ ク ト フ ァ イ ル (.xpr) を直接ダブル ク リ ッ ク し てプ ロ ジ ェ ク ト を開き ます。
複数のプ ロ ジ ェ ク ト を開 く
1 つのセ ッ シ ョ ン で複数のプ ロ ジ ェ ク ト を開 く には、 プ ロ ジ ェ ク ト が開いてい る 状態で 「プ ロ ジ ェ ク ト を開 く 」 のい ずれかの方法を使用 し て別のプ ロ ジ ェ ク ト を開 き ます。 Vivado IDE で現在のプ ロ ジ ェ ク ト を閉 じ る か ど う か尋ね る メ ッ セージが表示 さ れます。 [No] を ク リ ッ ク し て開いてい る プ ロ ジ ェ ク ト を閉 じ ない よ う にする と 、 両方のプ ロ ジ ェ ク ト が開き ます。 各プ ロ ジ ェ ク ト に対 し てそれぞれ メ イ ン ウ ィ ン ド ウ が開き ます。 複数プ ロ ジ ェ ク ト を同 じ Vivado IDE プ ロ セ ス か ら 開 く と 、 開いてい る すべてのプ ロ ジ ェ ク ト で使用 さ れた コ マ ン ド が Tcl コ ン ソ ールへ書き込まれます。 ただ し 、 表示 さ れ る コ マン ド がどのプ ロ ジ ェ ク ト で使用 さ れた も のかわか り に く い こ と があ り ます。 ま た、 すべてのプ ロ ジ ェ ク ト に対 し て 1 つの vivado.jou と 1 つの vivado.log し か作成 さ れません。 注記 : 複数のプ ロ ジ ェ ク ト を開いた場合、シ ス テ ム メ モ リ の要件に よ り 、パフ ォーマン ス が低下する こ と があ り ます。プ ロ ジ ェ ク ト の保存
プ ロ ジ ェ ク ト は自動的に保存 さ れます。 た と えば、 ソ ース設定、 フ ァ イ ルのプ ロ パテ ィ 、 run オプシ ョ ン な ど、 プ ロ ジ ェ ク ト に変更を加え る と 、 プ ロ ジ ェ ク ト はデ ィ ス ク に自動的に保存 さ れます。 別のデ ィ レ ク ト リ に保存する には、 次のいずれかを実行 し て く だ さ い。 こ れに よ り 、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造 全体が新 し く 指定 さ れたデ ィ レ ク ト リ に コ ピー さ れ、 run の ス テータ ス も 保持 さ れます。• [File] → [Save Project As] を ク リ ッ ク し ます。
• Tcl コ ン ソ ールに save_project_as コ マ ン ド を入力 し ます。
プ ロ ジ ェ ク ト を閉 じ る
プ ロ ジ ェ ク ト を閉 じ る には、 次のいずれかを実行 し ます。 保存 さ れていない変更があ る 場合は、 それを示す メ ッ セー ジが表示 さ れます。
プ ロ ジ ェ ク ト サマ リ の使用 • Tcl コ ン ソ ールに close_project コ マ ン ド を入力 し ま す。
プ ロ ジ ェ ク ト のアー カ イ ブ
プ ロ ジ ェ ク ト アーカ イ ブ を作成 し て、 バ ッ ク ア ッ プ と し て保存 し た り 、 リ モー ト サ イ ト に送信 し た り で き ます。 プ ロ ジ ェ ク ト を アーカ イ ブする 際、 Vivado IDE では次が実行 さ れます。 • デザ イ ン階層を解析 し ます。 • ラ イ ブ ラ リ デ ィ レ ク ト リ か ら必要な ソース フ ァ イル、 イ ン クルー ド フ ァ イル、 リ モー ト フ ァ イルを コ ピーし ます。 • 制約を コ ピー し ます。 • 合成、 シ ミ ュ レーシ ョ ン、 お よ び イ ンプ リ メ ン テーシ ョ ンの実行結果を コ ピー し ます (オプシ ョ ン)。 • プ ロ ジ ェ ク ト の ZIP フ ァ イ ルを作成 し ます。 プ ロ ジ ェ ク ト のアーカ イ ブを作成する には、 次の手順に従い ます。1. [File] → [Archive Project] を ク リ ッ ク し ます。
2. [Archive Project] ダ イ ア ロ グ ボ ッ ク ス (図 2-11) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ます。
° [Archive name] : プ ロ ジ ェ ク ト アーカ イ ブ名を指定 し ま す。
° [Archive location] : プ ロ ジ ェ ク ト アーカ イ ブ フ ァ イ ルを保存す る デ ィ レ ク ト リ を指定 し ま す。
° [Include Run Results] : プ ロ ジ ェ ク ト で実行 し た run の設定 と 結果を含め ま す。
Vivado IDE でプ ロ ジ ェ ク ト アーカ イ ブが ZIP フ ァ イ ル形式で作成 さ れ ます。 こ の ZIP フ ァ イ ルには、必要な ソ ー ス フ ァ イ ル、 イ ン ク ルー ド フ ァ イ ル、 run フ ァ イ ル (指定し た場合のみ)、 およ びアーカ イ ブ プ ロ セ ス を記述し た archive.log フ ァ イ ルが含まれます。 archive.log フ ァ イ ルでアーカ イ ブの作成プ ロ セ ス を確認で き ま す。 注記 : ま たは、 Tcl コ ン ソ ールに archive_project コ マン ド を入力し てプ ロ ジ ェ ク ト を アーカ イ ブする こ と も で き ます。
プ ロ ジ ェ ク ト サマ リ の使用
Vivado IDE には、 対話型のプ ロ ジ ェ ク ト サマ リ (図 2-12) が含 ま れ、 デザ イ ン コ マ ン ド が実行 さ れ、 デザ イ ン プ ロ セ ス が実行 さ れ る と 随時ア ッ プデー ト さ れます。 こ れには、 プ ロ ジ ェ ク ト パーツ、 プ ロ ジ ェ ク ト ス テー タ ス、 合成お よ び イ ンプ リ メ ン テーシ ョ ンの状態な ど のプ ロ ジ ェ ク ト お よ びデザ イ ン情報が含まれます。 ま た、 メ ッ セージ、 ロ グ、 レ ポー ト な ど を示すビ ュ ーや [Project Settings] ダ イ ア ロ グ ボ ッ ク スへの リ ン ク な ど、 詳細な情報への リ ン ク も 含まれ ます。 ス ク ロ ール バーを使用 し た り 、 [Collapse All] および [Expand All] ボ タ ン を使用 し てデータ カ テ ゴ リ の表示/非 表示を切 り 替え る こ と がで き ます。X-Ref Target - Figure 2-11
プ ロ ジ ェ ク ト サマ リ には、 次のセ ク シ ョ ンが含まれます。 • [Project Settings] : プ ロ ジ ェ ク ト 名、 プ ロ ジ ェ ク ト パーツ、 デフ ォ ル ト デバ イ ス 、 お よ び ト ッ プ モジ ュ ール名が 表示 さ れます。 • [Messages] : ° [Summary] : デザ イ ン プ ロ セ ス中に発生 し たエ ラ ーお よ び警告の数を示 し ます。 警告 ま たはエ ラ ーのみを表 示 し た [Messages] ビ ューを開 く リ ン ク も あ り ます。
° [Go To] : [Messages]、 [Log]、 [Reports] ビ ュ ーへの リ ン ク が提供 さ れ ます。 こ れ ら の ビ ュ ーに関す る 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) を参照し て く だ さ い。
• [Synthesis] お よ び [Implementation] : ア ク テ ィ ブ run の合成お よ び イ ン プ リ メ ン テーシ ョ ン の状態のサマ リ を表示
し ます。 タ ーゲ ッ ト パーツ、 run で使用 さ れた ス ト ラ テジ、 使用 さ れた ツール フ ロ ーおよ び制約セ ッ ト な どが表 示 さ れます。
パーツ、 ス ト ラ テジ、 フ ロ ーの リ ン ク を ク リ ッ ク す る と 、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス が開 き ます。 制 約 リ ン ク を ク リ ッ ク する と 、 [Source File Properties] ビ ューに [Constraint Set Properties] タ ブが表示 さ れます。
注記 : 詳細は、「プ ロ ジ ェ ク ト 設定」 お よ び第 3 章の 「制約の操作」 を参照 し て く だ さ い。
プ ロ ジ ェ ク ト サマ リ を開 く には、 次のいずれか を実行 し ます。
• [Window] → [Project Summary] を ク リ ッ ク し ま す。
• ツールバーの [Project Summary] ボ タ ン を ク リ ッ ク し ま す。
プ ロ ジ ェ ク ト 設定
プ ロ ジ ェ ク ト 設定は、 各プ ロ ジ ェ ク ト の必要に合わせて指定で き ます。 プ ロ ジ ェ ク ト 設定には、 最上位モジ ュ ールの 定義に関する 一般的な設定、 お よ びシ ミ ュ レーシ ョ ン、 合成、 イ ンプ リ メ ン テーシ ョ ン、 IP カ タ ロ グ な どの設定が含 まれます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス を表示す る には、 次のいずれか を実行 し ます。• [Tools] → [Project Settings] を ク リ ッ ク し ます。
• ツールバーの [Project Settings] ボ タ ン を ク リ ッ ク し ま す。
• Flow Navigator で [Project Settings] を ク リ ッ ク す る か、 [Simulation Settings]、 [Synthesis Settings]、 [Implementation
Settings]、 [Bitstream Settings] のいずれか を ク リ ッ ク し ま す。 X-Ref Target - Figure 2-12
プ ロ ジ ェ ク ト 設定
• プ ロ ジ ェ ク ト サマ リ で [Project Settings] ヘ ッ ダーの横にあ る Edit リ ン ク を ク リ ッ ク する か、 [Synthesis] ま たは
[Implementation ] セ ク シ ョ ン のいずれかで ス ト ラ テ ジ ま たは フ ロ ーを ク リ ッ ク し ます。
[Project Settings] ダ イ ア ロ グ ボ ッ ク ス の開 き 方に よ っ て、 最適な カ テ ゴ リ がデフ ォ ル ト で表示 さ れ る よ う にな っ てい ます。 た と えば、 Flow Navigator で [Simulation Settings] を ク リ ッ ク し た場合、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス に は [Simulation] カテ ゴ リ が表示 さ れます。 次のセ ク シ ョ ンは、 各カテ ゴ リ の詳細を示し ています。
[General] ページ
[General] ページ (図 2-13) では、 プ ロ ジ ェ ク ト 名、 パー ツ、 タ ーゲ ッ ト 言語、 タ ーゲ ッ ト シ ミ ュ レ ー タ 、 最上位モ ジ ュ ール名、 言語オプシ ョ ン を指定で き ます。 • [Name] : プ ロ ジ ェ ク ト 名を指定 し ま す。 • [Project Part] : 合成お よ び イ ン プ リ メ ン テーシ ョ ン両方でデフ ォ ル ト と し て使用す る タ ーゲ ッ ト パーツ を指定 し ます。 参照ボ タ ン を ク リ ッ ク する と [Select Device] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 パーツ を変更で き ます。 注記 : 合成 run ま たは イ ンプ リ メ ンテーシ ョ ン run が複数あ る場合は、[Run Properties] ビ ュ ーか ら run 設定を変更し て特定 run で使用 さ れ る パーツ を変更す る こ と も で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) の 「[Run Properties] ビ ュ ー」 を参照 し て く だ さ い。
• [Target Language] : Verilog ま たは VHDL のいずれかにデザ イ ン の タ ーゲ ッ ト 出力言語を指定 し ます。 指定 し た
タ ーゲ ッ ト 言語でデザ イ ンの RTL 出力フ ァ イ ルが生成 さ れ ます。 タ ーゲ ッ ト 言語で制御 さ れ る 出力の例は、 合 成、 シ ミ ュ レーシ ョ ン、 最上位 ラ ッ パー フ ァ イ ル、 テ ス ト ベンチ、 およ び IP の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト です。
• [Target Simulator] : シ ミ ュ レー タ ーを ビヘ イ ビ ア シ ミ ュ レーシ ョ ン ま たは タ イ ミ ン グ シ ミ ュ レーシ ョ ン用に起動
する よ う に指定 し ます。 使用で き る オプシ ョ ンは次の と お り です。
° [Vivado Simulator] : タ ーゲ ッ ト シ ミ ュ レー タ を Vivado シ ミ ュ レー タ に指定 し ます。
° [QuestaSim/ModelSim] : タ ーゲ ッ ト シ ミ ュ レー タ ーを Mentor Graphics® ModelSim ま たは Questa® Advanced
Simulator ツールに指定 し ま す。シ ミ ュ レーシ ョ ン実行時に こ れ ら のシ ミ ュ レー タ ーを起動 さ せ る よ う にす る には、 指定 し たシ ミ ュ レー タ ーは イ ン ス ト ール さ れ、 $PATH で指定 さ れてい る必要があ り ます。
ModelSim ま たは Questa の使用を サポー ト す る ためには、 こ れ ら のシ ミ ュ レー タ ーで使用で き る よ う にザ イ リ ン ク ス シ ミ ュ レ ーシ ョ ン ラ イ ブ ラ リ を コ ン パ イ ルす る 必要が あ り ま す。 Vivado IDE の Tcl コ マ ン ド に
compile_simlibxlib と 入力 し 、ModelSim お よ び Questa シ ミ ュ レー タ の シ ミ ュ レーシ ョ ン ラ イ ブ ラ リ
を コ ンパ イ ル し ます。
ラ イ ブ ラ リ が コ ンパ イ ル さ れ る と 、 シ ミ ュ レー タ ーは modelsim.ini フ ァ イ ルを使用 し て こ れ ら の コ ンパ イ ル済み ラ イ ブ ラ リ を参照 し ます。 modelsim.ini フ ァ イ ルは、 デフ ォ ル ト の初期化フ ァ イ ルで、 リ フ ァ レ ン ス ラ イ ブ ラ リ パス、 最適化、 コ ンパ イ ラ ー、 シ ミ ュ レータ ーの設定を指定する制御変数が含まれます。 次は、 Vivado ツールでの modelsim.ini の検索順です。
- [Simulation Settings] の [Compiled library location] オプシ ョ ン で指定 し たデ ィ レ ク ト リ
注記 : こ のオプシ ョ ンは、[General] ページで [QuestaSim/ModelSim] が ターゲ ッ ト シ ミ ュ レータ と し て設 定 さ れてい る 場合のみ [Simulation] ページに表示 さ れます。
- compxlib compile_simlib の実行時に設定 さ れた compxlib.compiled_library_dir 変数で指
定 さ れ る パ ス
- MODELSIM 環境変数で定義 さ れたパ ス
重要: modelsim.ini フ ァ イルが こ れ ら のデ ィ レ ク ト リ にない場合は、 ザ イ リ ン ク ス プ リ ミ テ ィ ブを含めるデザ イ
ン を シ ミ ュ レーシ ョ ンで き ません。
• [Top Module Name] : デザ イ ンの最上位 RTL モジ ュ ール名を指定 し ます。 下位モジ ュ ール名を入力 し 、 特定のモ
ジ ュ ールに対 し て合成を実行する こ と も で き ます。 参照ボ タ ン を ク リ ッ ク す る と 、 最上位モジ ュ ールが自動的に 検索 さ れ、 可能性のあ る 最上位モジ ュ ールの リ ス ト が表示 さ れます。
• [Language Options] : 参照ボ タ ン を ク リ ッ ク し 、 [Language Options] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定 し ます。
° [Verilog Options] : 参照ボ タ ン を ク リ ッ ク し 、 [Verilog Options] ダ イ ア ロ グ ボ ッ ク ス で次のオプシ ョ ン を設定
し ます。
- [Verilog Include Files Search Paths] : Verilog ソ ー ス フ ァ イ ルの ‘include 文で参照 さ れ る フ ァ イ ルの検索パ
ス を指定 し ます。
- [Defines] : プ ロ ジ ェ ク ト の Verilog マ ク ロ 定義を指定 し ま す。
- [Uppercase all identifiers] : すべての Verilog 識別子を大文字に設定 し ま す。
° [Generics/Parameters] : VHDL ではジ ェ ネ リ ッ ク が、 Verilog では定数値のパ ラ メ ー タ ー定義がサポー ト さ れ ま す。 ど ち ら の方法で も 、 パ ラ メ ー タ ーを変更で き る ので、 さ ま ざ ま な状況で再利用可能です。 参照ボ タ ン を ク リ ッ ク する と 、 ジ ェ ネ リ ッ ク お よ びパ ラ メ ー タ ーの値を定義 し て、 ソ ース フ ァ イ ルで定義 さ れたデフ ォ ル ト の値を上書き で き ます。 ° [Top Library] : 最上位モジ ュ ールの ラ イ ブ ラ リ 名を指定 し ます。 ° [Loop Count] : 最大ループ反復値を指定 し ま す。 デフ ォ ル ト 値は 1000 です。 注記 : [Loop Count] オプシ ョ ンは、 合成中ではな く エ ラ ボ レーシ ョ ン中に使用 さ れます。 合成に対 し ては、 [Synthesis] ページの [More Options] フ ィ ール ド に 「-loop_iteration_limit」 と 入力 し ます。
X-Ref Target - Figure 2-13
プ ロ ジ ェ ク ト 設定
[Simulation] ページ
[Simulation] ページ (図 2-14) では、 シ ミ ュ レーシ ョ ン セ ッ ト 、 シ ミ ュ レーシ ョ ン最上位モジ ュ ール名、 コ ンパ イ ルお
よ びシ ミ ュ レーシ ョ ン オプシ ョ ン を指定で き ます。 オプシ ョ ン を ク リ ッ ク する と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下に その説明が表示 さ れ ます。 シ ミ ュ レ ーシ ョ ン設定の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) を参照し て く だ さ い。
X-Ref Target - Figure 2-14
[Synthesis] ページ
[Synthesis] ページ (図 2-15) では、 制約セ ッ ト 、 合成ス ト ラ テ ジお よ び合成オプシ ョ ン を指定で き ま す。 オプシ ョ ンは
選択 し た合成ス ト ラ テジで定義 さ れますが、 こ れ ら は変更で き ます。 オプシ ョ ン を ク リ ッ ク す る と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れ ます。 合成設定の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) を参照 し て く だ さ い。
X-Ref Target - Figure 2-15
プ ロ ジ ェ ク ト 設定
[Implementation] ページ
[Implementation] ページ (図 2-16) では、制約セ ッ ト 、イ ンプ リ メ ン テーシ ョ ン ス ト ラ テ ジお よ び イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン を指定で き ます。 オプシ ョ ンは選択 し た イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジで定義 さ れますが、 こ れ ら は変更で き ます。 た と えば、 消費電力お よ び物理合成な ど のオプシ ョ ンの段階を実行す る オプシ ョ ン を使用可能で す。 オプシ ョ ン を ク リ ッ ク する と 、 ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れます。 イ ンプ リ メ ン テーシ ョ ン設定の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) を参照し て く だ さ い。ヒ ン ト : Tcl ス ク リ プ ト を追加する と 、tcl.pre および tcl.post フ ァ イルで イ ンプ リ メ ンテーシ ョ ンのどの段階の
前後にで も source コ マ ン ド で読み出す こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) を参照し て く だ さ い。
X-Ref Target - Figure 2-16
[Bitstream] ページ
[Bitstream] ページ (図 2-17) では、 ビ ッ ト ス ト リ ーム を生成す る 前にオプシ ョ ン を定義で き ます。 オプシ ョ ン を ク リ ッ
ク する と 、ダ イ ア ロ グ ボ ッ ク ス の一番下にその説明が表示 さ れます。ビ ッ ト ス ト リ ーム設定の詳細は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。
X-Ref Target - Figure 2-17
Tcl ス ク リ プ ト を使用 し たプ ロ ジ ェ ク ト の作成
[IP Catalog] ページ
[IP Catalog] ページ (図 2-18) には、 ユーザー IP レ ポ ジ ト リ (ユーザーがパ ッ ケージ ま たはサー ド パーテ ィ か ら 取得) へ
のパ ス お よ びザ イ リ ン ク ス ソ フ ト ウ ェ ア イ ン ス ト ールに含 ま れ る Vivado IP カ タ ロ グへのパ ス が表示 さ れ ま す。 [Update IP Catalog] を ク リ ッ ク す る と 、 追加で IP レ ポ ジ ト リ 検索パ ス を指定 し た り 、 すべての レ ポ ジ ト リ を読み込ん だ り で き ます。 IP カ タ ロ グ設定の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用し た設計』 (UG896) を参照 し て く だ さ い。
Tcl ス ク リ プ ト を使用 し た プ ロ ジ ェ ク ト の作成
Vivado IDE では、 Tcl ス ク リ プ ト を使用 し てプ ロ ジ ェ ク ト を作成す る こ と も で き ます。 Vivado IDE で実行 し たほ と ん ど の動作が Tcl コ マ ン ド で実行 さ れ ます。 Vivado IDE の Tcl コ ン ソ ールに表示 さ れ る Tcl コ マ ン ド は、 vivado.jou お よ び vivado.log フ ァ イ ルに保存 さ れます。 vivado.jou フ ァ イ ルには コ マン ド だけが、 vivado.log フ ァ イ ル には コ マ ン ド と 返 さ れた メ ッ セージがすべて含まれます。 こ れ ら の フ ァ イ ルを使用 し て、 ス ク リ プ ト を開発 し 、 プ ロ ジ ェ ク ト モー ド で し ます。Tcl コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を 参照 し て く だ さ い。
X-Ref Target - Figure 2-18
次は、 プ ロ ジ ェ ク ト を作成 し 、 さ ま ざ ま な ソ ース を追加 し 、 設定を コ ン フ ィ ギ ュ レーシ ョ ン し 、 合成お よ び イ ンプ リ メ ン テーシ ョ ン run を開始する サンプル ス ク リ プ ト です。
# Typical usage: vivado –mode tcl –source run_bft_project.tcl # Create the project and directory structure
create_project project_bft_batch ./project_bft_batch -part xc7k70tfbg484-2 # Create the fileset for simulation
create_fileset -simset sim_1
# Add the 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
# Set VHDL library property on some files
set_property library bftLib [get_files {./Sources/hdl/bftLib/round_4.vhdl ./Sources/hdl/bftLib/round_3.vhdl ./Sources/hdl/bftLib/round_2.vhdl
./Sources/hdl/bftLib/round_1.vhdl ./Sources/hdl/bftLib/core_transform.vhdl ./Sources/hdl/bftLib/bft_package.vhdl}]
# Now import (copy) the files into the project directory structure import_files -force
import_files -fileset constrs_1 -force -norecurse ./Sources/bft_full.xdc # Mimic GUI behavior of automatically setting 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
# 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
./Tutorial_Created_Data/project_bft_batch/syn_timing.rpt
report_power -file ./Tutorial_Created_Data/project_bft_batch/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
./Tutorial_Created_Data/project_bft_batch/imp_timing.rpt
report_power -file ./Tutorial_Created_Data/project_bft_batch/imp_power.rpt # Can open the graphical environment if visualization desired
# comment out the for batch mode start_gui
第 3 章
ソ ース フ ァ イルの操作
概要
ソ ース フ ァ イ ルにはプ ロ ジ ェ ク ト ソ ース、 デザ イ ン ソ ース、 制約 ソ ース、 シ ミ ュ レーシ ョ ン ソ ース、 IP ソ ース、 デ ジ タ ル信号処理 (DSP) ソ ース、 エンベデ ッ ド ソ ース な どが含まれます。 プ ロ ジ ェ ク ト モー ド の場合は、 Vivado™ IDE ま たは Tcl コ マ ン ド か ス ク リ プ ト を使用 し て こ れ ら の ソ ース フ ァ イ ルを作成で き ま す。 Vivado IDE では、 自動的に ソ ース フ ァ イ ルが管理 さ れ ます。 非プ ロ ジ ェ ク ト モー ド の場合、 こ れ ら の ソ ース フ ァ イ ルは Tcl コ マ ン ド か ス ク リ プ ト を使用 し て作成で き ますが、 ソ ース フ ァ イ ルは手動で管理する 必要があ り ます。 本章では、 プ ロ ジ ェ ク ト モー ド での ソ ース の作成 と 管理、 非プ ロ ジ ェ ク ト モー ド での ソ ース の作成について説明 し ます。プ ロ ジ ェ ク ト モー ド でのソ ースの操作
Vivado IDE では、 プ ロ ジ ェ ク ト に対 し て ロ ーカルにあ る フ ァ イ ルか、 リ モー ト にあ っ て ラ イ ブ ラ リ か ら 参照 し てい る ソ ース フ ァ イ ルを作成およ び管理で き ます。 Verilog および VHDL ソ ース フ ァ イ ルは、 デザ イ ン フ ロ ーのどの段階で も プ ロ ジ ェ ク ト に追加で き ます。 ま た、 制約フ ァ イ ル、 シ ミ ュ レーシ ョ ン ソ ース、 DSP ソ ース、 エンベデ ッ ド ソ ー ス も 作成 し た り 、 デザ イ ンに追加 し た り で き る ほか、 既存 IP を追加し た り で き ます。デザイ ン ソ ースの操作
Vivado IDE では、 HDL ま たはネ ッ ト リ ス ト フ ァ イ ルを含めてデザ イ ン ソ ー ス フ ァ イ ルを作成お よ び管理で き ま す。デザイ ン ソ ースの作成
1. [File] → [Add Sources] を ク リ ッ ク し ま す。
注記 : ま たは、 Flow Navigator で [Add Sources] を ク リ ッ ク する か、 [Sources] ビ ューのポ ッ プア ッ プ メ ニ ューか ら [Add Sources] を ク リ ッ ク し ます。
3. [Add or Create Design Sources] ページ (図 3-2) で [Create File] を ク リ ッ ク し ます。 X-Ref Target - Figure 3-1
図 3-1 : Add Sources ウ ィ ザー ド
X-Ref Target - Figure 3-2
プ ロ ジ ェ ク ト モー ド でのソ ースの操作
4. [Create Source File] ダ イ ア ロ グ ボ ッ ク ス (図 3-3) で次のオプシ ョ ン を設定 し 、 [Next] を ク リ ッ ク し ま す。
° [File type] : Verilog フ ァ イ ル (.v)、 Verilog ヘ ッ ダー フ ァ イ ル (.vh)、 SystemVerilog フ ァ イ ル (.sv)、 VHDL フ ァ
イ ル (.vhdl) な どのフ ァ イ ル形式のいずれかを指定し ます。 ° [File name] : 新 し い HDL ソ ース フ ァ イ ルの名前を指定 し ます。 ° [File location] : フ ァ イ ルを作成す る デ ィ レ ク ト リ を指定 し ます。 注記 : フ ァ イ ルのプ レース ホルダーが ソ ース の リ ス ト に追加 さ れます。 フ ァ イ ルは [Finish] を ク リ ッ ク す る と 作 成 さ れます。 5. [Create File] を何度か ク リ ッ ク し て、 プ ロ ジ ェ ク ト に追加す る モジ ュ ール数を定義 し ます。 6. [Add Sources] ページで ソ ー ス フ ァ イ ルに最適な ラ イ ブ ラ リ を指定 し ま す。 注記 : デフ ォル ト では、HDL ソ ース フ ァ イ ルは work ラ イ ブ ラ リ に追加 さ れます。必要に応じ て、ユーザー VHDL ラ イ ブ ラ リ を作成 し 、 参照で き ます。 7. [Finish] を ク リ ッ ク す る と 、 指定 し た ソ ー ス がプ ロ ジ ェ ク ト に追加 さ れ ま す。
8. オプシ ョ ン : [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 は無視 さ れます。 X-Ref Target - Figure 3-3