Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力...

77
Vivado Design Suite ユーザー ガイド システム レベル デザイン入力 UG895 (v2012.2) 2012 7 25

Transcript of Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力...

Page 1: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

Vivado Design Suite ユーザー ガイド

システム レベル デザイン入力

UG895 (v2012.2) 2012 年 7 月 25 日

Page 2: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

システム レベル デザイン入力 japan.xilinx.com 2UG895 (v2012.2) 2012 年 7 月 25 日

Notice of DisclaimerThe 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 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 初版

Page 3: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Vivado IDE の使用 japan.xilinx.com 3UG893 (v2012.2) 2012 年 7 月 25 日

Page 4: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

4 japan.xilinx.com Vivado IDE の使用

UG893 (v2012.2) 2012 年 7 月 25 日

Page 5: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

システム レベル デザイン入力 japan.xilinx.com 5UG895 (v2012.2) 2012 年 7 月 25 日

第 1 章

はじめに

概要Vivado™ Design Suite では、レジスタ ト ランスファー レベル (RTL) を作成する とビッ ト ス ト リームまで生成できます。システム レベル デザイン入力には、 プロジェク トの作成、 ソース ファ イルの作成および追加、 RTL デザインのエラボレート、 デバッグ情報の挿入およびコンフ ィギュレーシ ョ ンなど、 デザインの設定が含まれます。 デザインはグラフ ィカル ユーザー インターフェイス (GUI) である Vivado IDE (Integrated Design Environment) または Tcl コマンド /スクリプ ト を使用して入力できます。

本書では、 Vivado Design Suite のデザイン フロー モードの 「プロジェク ト モード」 と 「非プロジェク ト モード」 の両方のデザイン入力方法について説明します。 通常、 プロジェク ト モードは Vivado IDE で使用します。 このモードの場合、 プロジェク ト を Vivado IDE で作成する と、 デザインのステートが自動的に保存され、 レポートおよびメ ッセージが作成され、 ソース ファ イルが管理されます。通常、非プロジェク ト モードは Tcl コマンドまたはスク リプ トから実行します。 このモードの場合、 ユーザーがデザイン フローを完全に制御し、 Vivado ツールで自動的にソースファイルが管理されたり、デザイン ステートがレポート されたり しません。デザイン フローに関する詳細は、『VivadoDesign Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) を参照して ください。

Page 6: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

第 2 章

プロジェク トの操作

概要プロジェク ト モードで操作する場合は、 さまざまなプロジェク ト タイプを使用してデザインを入力できます。 本章では、 各プロジェク ト タイプとそのプロジェク トの作成および管理方法について説明します。 また、 プロジェク トサマ リ、 プロジェク ト設定のほか、 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 を実行および管理し、デザインと実行結果を解析できます。 また、 さまざまな制約やインプリ メンテーシ ョ ン ス ト ラテジを試すこ と もできます。

システム レベル デザイン入力 japan.xilinx.com 6UG895 (v2012.2) 2012 年 7 月 25 日

Page 7: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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 ベースのデザイン プロジェ ク トの基礎と して使用できます。 詳細は、 『VivadoDesign Suite ユーザー ガイ ド : I/O およびクロ ッ クの配置』 (UG899) を参照して ください。

インポート プロジェク ト

Synopsys Synplify、 XST、 または ISE® Design Suite プロジェク トからのデータは、 Vivado ツールの RTL プロジェク トに移行できます。 プロジェク トのソース ファ イルおよびコンパイル順はインポート されますが、 インプ リ メンテーシ ョ ン結果およびプロジェク ト設定はインポート されません。

プロジェク トの作成New Project ウ ィザードでは、 プロジェク ト名およびディ レク ト リの指定、 プロジェク トへのソース ファ イルと制約ファイルの追加、 ターゲッ ト デバイスの選択をウ ィザードに従って実行できます。

1. Vivado IDE で [File] → [New Project] をク リ ッ ク します。

注記 : または、 [New Project] ツールバー ボタン をク リ ッ ク します。 または、 Getting Started ページで [Createa New Project] のリ ンクをク リ ッ ク します。

2. New Project ウ ィザードで概要を確認し、 [Next] をク リ ッ ク します。

システム レベル デザイン入力 japan.xilinx.com 7UG895 (v2012.2) 2012 年 7 月 25 日

Page 8: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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] ページ

システム レベル デザイン入力 japan.xilinx.com 8UG895 (v2012.2) 2012 年 7 月 25 日

Page 9: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-2 : New Project ウィザード : [Project Type] ページ

システム レベル デザイン入力 japan.xilinx.com 9UG895 (v2012.2) 2012 年 7 月 25 日

Page 10: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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ファ イルはデフォル ト で指定したターゲッ ト言語にな り ます。 指定したターゲッ ト言語でデザインの出力ファイルが生成されます。

システム レベル デザイン入力 japan.xilinx.com 10UG895 (v2012.2) 2012 年 7 月 25 日

Page 11: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-3 : New Project ウィザード : [Add Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 11UG895 (v2012.2) 2012 年 7 月 25 日

Page 12: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-5 : New Project ウィザード : [Add Constraints] ページ

システム レベル デザイン入力 japan.xilinx.com 12UG895 (v2012.2) 2012 年 7 月 25 日

Page 13: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

° [Boards] : 使用可能な TDP ボード と、 そのボードで使用されるザイ リ ンクス パーツがリ ス ト されます。 I/Oピンのカウン トやルッ クアップ テーブル (LUT) およびフ リ ップフロ ップ (FF) の数、 使用可能なブロ ッ クRAM などのデバイス リ ソースに関する情報が表形式で表示されます。 リ ス トは、 ファ ミ リ、 パッケージ、スピード グレードでフ ィルターをかけて表示させるこ と もできます。

° [Search] : 指定した検索条件に合うデバイスのみがリ ス トできます。

7. [New Project Summary] ページでプロジェク トに選択されたオプシ ョ ンを確認したら、 [Finish] をク リ ッ ク します。

X-Ref Target - Figure 2-6

図 2-6 : New Project ウィザード : [Default Part] ページ

システム レベル デザイン入力 japan.xilinx.com 13UG895 (v2012.2) 2012 年 7 月 25 日

Page 14: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-7 : [Define Module] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 14UG895 (v2012.2) 2012 年 7 月 25 日

Page 15: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-8 : New Project ウィザード : [Add Netlist Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 15UG895 (v2012.2) 2012 年 7 月 25 日

Page 16: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

° [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 DesignSuite ユーザー ガイ ド : 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

図 2-9 : New Project ウィザード : [Import Ports] ページ

システム レベル デザイン入力 japan.xilinx.com 16UG895 (v2012.2) 2012 年 7 月 25 日

Page 17: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの作成

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

図 2-10 : New Project ウィザード : [Import Project] ページ

システム レベル デザイン入力 japan.xilinx.com 17UG895 (v2012.2) 2012 年 7 月 25 日

Page 18: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク トの管理

プロジェク トの管理

プロジェク ト を開く

プロジェク ト を開く と、 前回プロジェ ク ト を閉じたと きの状態が復元されます。 プロジェ ク ト の状態とは、 ソースファ イル順、 ソース ファ イルのディ スエーブル/イネーブル、 アクティブおよびターゲッ ト制約ファイル、 合成、 シミ ュレーシ ョ ン、 インプリ メンテーシ ョ ン 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 コマンドを入力します。

プロジェク ト を閉じる

プロジェク ト を閉じるには、 次のいずれかを実行します。 保存されていない変更がある場合は、 それを示すメ ッセージが表示されます。

• [File] → [Close Project] をク リ ッ ク します。

システム レベル デザイン入力 japan.xilinx.com 18UG895 (v2012.2) 2012 年 7 月 25 日

Page 19: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト サマリの使用

• 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

図 2-11 : [Archive Project] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 19UG895 (v2012.2) 2012 年 7 月 25 日

Page 20: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

プロジェク ト サマリには、 次のセクシ ョ ンが含まれます。

• [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]、 [ImplementationSettings]、 [Bitstream Settings] のいずれかをク リ ッ ク します。

X-Ref Target - Figure 2-12

図 2-12 : [Project Summary] ビュー

システム レベル デザイン入力 japan.xilinx.com 20UG895 (v2012.2) 2012 年 7 月 25 日

Page 21: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

• プロジェク ト サマリで [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® AdvancedSimulator ツールに指定します。シ ミ ュレーシ ョ ン実行時にこれらのシ ミ ュレーターを起動させるよ うにするには、 指定したシ ミ ュレーターはインス トールされ、 $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 モジュール名を指定します。 下位モジュール名を入力し、 特定のモジュールに対して合成を実行するこ と もできます。参照ボタンをク リ ッ クする と、 上位モジュールが自動的に検索され、 可能性のある 上位モジュールのリ ス トが表示されます。

システム レベル デザイン入力 japan.xilinx.com 21UG895 (v2012.2) 2012 年 7 月 25 日

Page 22: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

• [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

図 2-13 : [General] ページ

システム レベル デザイン入力 japan.xilinx.com 22UG895 (v2012.2) 2012 年 7 月 25 日

Page 23: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

[Simulation] ページ

[Simulation] ページ (図 2-14) では、 シ ミ ュレーシ ョ ン セッ ト、 シ ミ ュレーシ ョ ン 上位モジュール名、 コンパイルおよびシ ミ ュレーシ ョ ン オプシ ョ ンを指定できます。 オプシ ョ ンをク リ ッ クする と、 ダイアログ ボッ クスの一番下にその説明が表示されます。 シ ミ ュレーシ ョ ン設定の詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) を参照してください。

X-Ref Target - Figure 2-14

図 2-14 : [Simulation] ページ

システム レベル デザイン入力 japan.xilinx.com 23UG895 (v2012.2) 2012 年 7 月 25 日

Page 24: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

[Synthesis] ページ

[Synthesis] ページ (図 2-15) では、制約セッ ト 、 合成ス ト ラテジおよび合成オプシ ョ ンを指定できます。 オプシ ョ ンは選択した合成ス ト ラテジで定義されますが、 これらは変更できます。オプシ ョ ンをク リ ッ クする と、ダイアログ ボックスの一番下にその説明が表示されます。 合成設定の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)を参照して ください。

X-Ref Target - Figure 2-15

図 2-15 : [Synthesis] ページ

システム レベル デザイン入力 japan.xilinx.com 24UG895 (v2012.2) 2012 年 7 月 25 日

Page 25: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

[Implementation] ページ

[Implementation] ページ (図 2-16) では、制約セッ ト 、インプ リ メンテーシ ョ ン ス ト ラテジおよびインプ リ メンテーシ ョン オプシ ョ ンを指定できます。 オプシ ョ ンは選択したインプ リ メンテーシ ョ ン ス ト ラテジで定義されますが、 これらは変更できます。 たとえば、消費電力および物理合成などのオプシ ョ ンの段階を実行するオプシ ョ ンを使用可能です。オプシ ョ ンをク リ ッ クする と、ダイアログ ボッ クスの一番下にその説明が表示されます。 インプ リ メンテーシ ョン設定の詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904) を参照して ください。

ヒン ト : Tcl スク リプ ト を追加する と、tcl.pre および tcl.post ファ イルでインプ リ メンテーシ ョ ンのどの段階の前後にでも source コマンドで読み出すこ とができます。詳細は、『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904) を参照してください。

X-Ref Target - Figure 2-16

図 2-16 : [Implementation] ページ

システム レベル デザイン入力 japan.xilinx.com 25UG895 (v2012.2) 2012 年 7 月 25 日

Page 26: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト設定

[Bitstream] ページ

[Bitstream] ページ (図 2-17) では、ビッ ト ス ト リームを生成する前にオプシ ョ ンを定義できます。オプシ ョ ンをク リ ックする と、ダイアログ ボッ クスの一番下にその説明が表示されます。ビッ ト ス ト リーム設定の詳細は、『Vivado DesignSuite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照して ください。

X-Ref Target - Figure 2-17

図 2-17 : [Bitstream] ページ

システム レベル デザイン入力 japan.xilinx.com 26UG895 (v2012.2) 2012 年 7 月 25 日

Page 27: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

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

図 2-18 : [IP Catalog] ページ

システム レベル デザイン入力 japan.xilinx.com 27UG895 (v2012.2) 2012 年 7 月 25 日

Page 28: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

Tcl スクリプ ト を使用したプロジェク トの作成

次は、 プロジェク ト を作成し、 さまざまなソースを追加し、 設定をコンフ ィギュレーシ ョ ンし、 合成およびインプ リメンテーシ ョ ン run を開始するサンプル スク リプ トです。

# Typical usage: vivado –mode tcl –source run_bft_project.tcl# Create the project and directory structurecreate_project project_bft_batch ./project_bft_batch -part xc7k70tfbg484-2# Create the fileset for simulationcreate_fileset -simset sim_1# Add the various sources to the projectadd_files {./Sources/hdl/FifoBuffer.v ./Sources/hdl/async_fifo.v ./Sources/hdl/bft.vhdl}add_files -fileset sim_1 ./Sources/hdl/bft_tb.vadd_files ./Sources/hdl/bftLib# Set VHDL library property on some filesset_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 structureimport_files -forceimport_files -fileset constrs_1 -force -norecurse ./Sources/bft_full.xdc# Mimic GUI behavior of automatically setting top and file compile orderupdate_compile_order -fileset sources_1update_compile_order -fileset sim_1# Launch Synthesislaunch_runs synth_1wait_on_run synth_1open_run synth_1 -name netlist_1# Generate a timing and power reports and write to disk# Can create custom reports as requiredreport_timing_summary -delay_type max -report_unconstrained -check_timing_verbose -max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_bft_batch/syn_timing.rptreport_power -file ./Tutorial_Created_Data/project_bft_batch/syn_power.rpt# Launch Implementationlaunch_runs impl_1 -to_step write_bitstreamwait_on_run impl_1 # Generate a timing and power reports and write to disk# comment out the open_run for batch modeopen_run impl_1report_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.rptreport_power -file ./Tutorial_Created_Data/project_bft_batch/imp_power.rpt# Can open the graphical environment if visualization desired# comment out the for batch modestart_gui

システム レベル デザイン入力 japan.xilinx.com 28UG895 (v2012.2) 2012 年 7 月 25 日

Page 29: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

第 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] をク リ ッ ク します。

2. Add Sources ウ ィザード (図 3-1) で [Add or Create Design Sources] をオンにし、 [Next] をク リ ッ ク します。

システム レベル デザイン入力 japan.xilinx.com 29UG895 (v2012.2) 2012 年 7 月 25 日

Page 30: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

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

図 3-2 : Add Sources ウィザード : [Add or Create Design Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 30UG895 (v2012.2) 2012 年 7 月 25 日

Page 31: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

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

図 3-3 : [Create Source File] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 31UG895 (v2012.2) 2012 年 7 月 25 日

Page 32: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

RTL ソース ファ イルが作成され、 プロジェク トに追加されます。 [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 およびその他のファイル タイプを追加できます。

注記 : [Add Source Files] ダイアログ ボッ クスでは、各ファイルまたはディ レク ト リがそれとわかるよ う なアイコンで表示されます。 小さい赤い四角は、 読み出し専用であるこ とを示します。

° [Add Directories] : 選択したディレク ト リに含まれるすべてのファイルを追加します。 指定したディ レク ト リにある有効なソース ファ イルがすべてプロジェク トに追加されます。

° [Create File] : VHDL、Verilog、Verilog ヘッダー、または SystemVerilog ファ イルを作成する [Create Source File]ダイアログ ボッ クスが開きます。

° [Library] : ファ イルまたはディ レク ト リの RTL ライブラ リ を指定します。 定義済みのライブラ リ名から選択するか、 新規ライブラ リ名を入力します。

注記 : このオプシ ョ ンは、 VHDL ファ イルの場合のみ使用できます。 デフォル トでは、 HDL ソース ファ イルは work ラ イブラ リに追加されます。 必要に応じて、 ユーザー VHDL ラ イブラ リ を作成し、 参照できます。 Verilog および SystemVerilog ファ イルの場合は、 work のままにしておいてください。

° [Delete] : 選択したソース ファ イルを削除します。

° [Move Selected File Up] : ファ イルまたはディ レク ト リ を リ ス トの上方向に移動します。 ファ イル順は、 合成やシ ミ ュレーシ ョ ンなどのダウンス ト リーム プロセスでのエラボレーシ ョ ンおよびコンパイルの順序に影響します。

X-Ref Target - Figure 3-4

図 3-4 : [Define Module] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 32UG895 (v2012.2) 2012 年 7 月 25 日

Page 33: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [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 IDE では、 デザイン階層の 上位およびプロジェク トに追加されるファ イルのエラボレーシ ョ ン、 合成、 シミ ュレーシ ョ ンの順序が自動的に判断されます。 デザイン階層は、 [Sources] ビューの [Hierarchy] タブに表示されます。 ファ イルの順序は、 [Sources] ビューの [Compile Order] タブに表示されている順序になり ます。

上位モジュールの自動指定は、デザイン階層の 上位を手動で指定する と上書きできます。 上位モジュールを指定するには、 [Sources] ビューの [Hierarchy] タブでファイルを右ク リ ッ クして [Set as Top] をク リ ッ ク します。

注記 : 選択した 上位モジュールがデザイン ソース ファ イルで見つからず、階層アップデート モードが automatic に設定されている場合は、 選択した 上位モジュールは自動的に 適なモジュールにリセッ ト されます。

上位モジュールを変更した場合、Vivado IDE ではその新しい 上位モジュールの要件に基づいて自動的にファイル順が並び替えられます。 [Sources] ビューのポップアップ メニューから [Refresh Hierarchy] を使用する と、 ソース ファイルのアップデートに基づいてファイルが自動的に並び替えられます。

[Sources] ビューのポップアップ メニューから [Hierarchy Update] を使用する と、 このコンパイル順序の自動指定を上書きできます。手動モードの場合は、ユーザーの要件に従って手動でファイル順を変更できます。 ソース ファ イルの順序を手動で指定するには、[Sources] ビューの [Compile Order] タブでファイルをド ラ ッグして適切な位置に移動します。 または、 ファ イルを右ク リ ッ ク して [Move Up]、 [Move Down]、 [Move to Top] または [Move to Bottom] をク リ ッ クして並び替えるこ と もできます。

注記 : [Sources] ビューに関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) を参照して ください。

ソース ファイルのイネーブル/ディスエーブル

ソース ファ イルを追加または作成する と、 [Sources] ビューでデフォルトでイネーブルになり ます。 ソース ファ イルは、 エラボレーシ ョ ン、 合成、 またはシ ミ ュレーシ ョ ンで使用されないよ うディ スエーブルにできます。

• ソース ファ イルをディ スエーブルにするには、 [Sources] ビューでファイルを右ク リ ッ ク し、 [Disable File] をクリ ッ ク します。

• ソース ファ イルをイネーブルにするには、 [Sources] ビューでファイルを右ク リ ッ ク し、 [Enable File] をク リ ッ クします。

リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー

ソース ファ イルは、 リモート ロケーシ ョ ンから参照するか、 プロジェク ト ディ レク ト リにコピーできます。 リモート ファ イルを追加した場合、 新のファ イルが自動的に検出され、 開いているデザインを更新するか ([Refresh youropen Designs])、 アップデート されたファ イルを使用して合成を実行するか ([Synthesize with the latest updates]) を選択するダイアログ ボッ クスが表示されます。プロジェク ト を移動またはアーカイブする可能性がある場合は、すべてのファイルがプロジェク ト内に含まれるよ うに、 ファ イルをプロジェク トにコピーするこ とをお勧めします。

システム レベル デザイン入力 japan.xilinx.com 33UG895 (v2012.2) 2012 年 7 月 25 日

Page 34: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

注記 : プロジェク トにファ イルをコピーする と、 プロジェク ト を別のシステムに移行しやすくな り ますが、 外部ファイルの変更は Vivado IDE では自動的には検出されません。 リモート ファ イルの変更を適用するには、 ファ イルを削除して追加し直すか、 [Sources] ビューのコマンドを使用してファイルをアップデート します。

プロジェク トにソースをコピーするには、 次のいずれかを実行します。

• [Add Sources] コマンドでソース ファ イルをプロジェク トに追加する際に [Copy Sources into Project] をオンにすると、 ソース ファ イルがプロジェク ト ディ レク ト リにコピーされます。

• ソース ファイルを 初リモート ソース と して追加し、 後でプロジェク ト ディレク ト リにコピーする場合は、[Sources] ビューでファ イルを右ク リ ッ ク して [Copy File into Project] をク リ ッ ク してソース ファ イルを個別にコピーするか、または [Copy All Files Into Project] をク リ ッ ク してすべてのリモート ソース ファ イルをコピーします。

[Sources] ビュー (図 3-5) では、 ソースがローカルにあるか リモートにあるかが次のアイコンで示されます。

• 緑の丸 : ローカル プロジェク ト ディ レク ト リにコピーされたファイル

• 空洞の丸 : ローカル プロジェク ト ディ レク ト リにコピーされなかった リモート ソース

• 赤い丸に赤いファイル名 : ローカルにも リモートにも見つからない RTL ファ イル

• ソース アイコンの上に赤い四角形 : Vivado IDE での読み出し専用ファイル

注記 : ファ イルはディ スクから読み出し /書き込み自体はできますが、 Vivado IDE からはできません。

ローカル ソース ファイルのアップデート

リ モー ト ソースを参照する と、 そのアップデート は Vivado IDE で自動的に検出されます。 ソース ファ イルがプロジェク トにコピーされている場合は、元のファイルへの変更は検出されません。必要に応じて、ローカル ソース ファイルを手動でアップデートする必要があ り ます。

ローカル ソース ファ イルをアップデートするには、 次のいずれかの方法を使用してください。

• [Sources] ビューでファイルを選択し、 ポップアップ メニューから [Replace File] をク リ ッ ク します。

ファ イル ブラウザーにコピー元のソース ファ イルが表示されます。元のディ レク ト リが変更された場合は、ディレク ト リ を指定してファイルを選択する必要があ り ます。 [OK] をク リ ッ ク して元のソース ファ イルを読み込みすと、 ソース ファ イルへの変更を含めてプロジェク ト ファ イルがアップデート されます。

注記 : 別のファイルを指定する と、 選択したファイルがその新しいファイルに置き換えられます。 たとえば、 元のフ ァ イルが File_1.v で、 File_2.v を選択した場合、 元の File_1.v がプロ ジェ ク ト か ら削除され、File_2.v がプロジェク トにコピーされます。

• [Sources] ビューで右ク リ ッ ク して [Add Sources] をク リ ッ ク し、 アップデート されたソース ファ イルをプロジェク トに追加します。

追加したファイルがプロジェク トにインポート されます。 ただし、 同じ名前のローカル ソース ファ イルが既に存在するので、 図 3-6 に示す [Import Source Conflicts] ダイアログ ボッ クスが表示され、 既存のファイルを上書きするか、 新し く追加したファ イルを読み込まないかを選択するよ う求められます。 これは ウ ィザードで [Copy

X-Ref Target - Figure 3-5

図 3-5 : [Sources] ビュー

システム レベル デザイン入力 japan.xilinx.com 34UG895 (v2012.2) 2012 年 7 月 25 日

Page 35: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

Sources into Project] がオンになっている場合にのみ表示されます。 これ以外の場合、 同じ名前の外部参照ファイルの方がプロジェク トに追加されます。

制約の操作

Vivado IDE では、 Xilinx® Design Constraint (XDC) および Synopsys Design Constraint (SDC) ファ イル形式がサポート されます。 SDC 形式ではタイ ミ ング制約、 XDC 形式はタイ ミ ングおよび物理制約の両方が指定されます。 制約には、配置、 タイ ミ ング、 および I/O に関する指示があ り ます。 制約は、 RTL 解析、 合成、 インプ リ メンテーシ ョ ンを含めたデザイン フローのさまざまな段階中に作成できます。

Vivado IDE を使用する と、 プロジェク トで制約を柔軟に定義および作成できます。 1 つの XDC ファ イルを使用してデザインで使用されるすべての制約を追加および管理するか、 または制約を複数の XDC ファ イルに分類して管理できます。 複数の制約セッ ト を作成して、 さまざまな制約を試したり、 複数のバージ ョ ンの制約を保存したりするこ とも可能です。 各制約セッ トには、 1 つまたはそれ以上の制約ファイルを含めるこ とができます。

1 つの制約セッ ト を複数のデザインで使用できます。 ただし、 この場合は変更の管理に注意を払う必要があ り ます。複数のデザインに保存されていない変更がある場合、どの制約ファイルを保存するかを選択するダイアログ ボッ クスが表示されます。

注意 : 制約ファイルを保存する際は、 保存していないデザインの保存していない制約定義を上書きしないよ うに注意して ください。

インプリ メン ト済みデザインには、 インプリ メンテーシ ョ ン run の実行中に使用された制約セッ トのスナップシ ョ ットが保存されます。 この制約セッ トの名前は、開いているプロジェク トのアクティブ制約セッ ト と同じ名前のこ と もあ り ます。 インプリ メン ト済みデザインを開く際、 インプリ メンテーシ ョ ン run から読み込まれた制約セッ トがプロジェク ト メモ リに現在ある制約セッ ト よ り古い場合があ り、デザインを保存したと きに新し く定義された制約が失われる可能性があ り ます。 通常は Vivado IDE でこれらの リ ビジ ョ ンの問題が管理され、 必要に応じて適切な処置をとるよ う メ ッセージが表示されますが、 メモ リにある現在の制約セッ ト と インプ リ メン ト済みデザインに関連付けられている制約との間に競合がある可能性があるこ とを念頭に置いてください。

注記 : 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) を参照して ください。

制約ファイルの追加と作成

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-7) で次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。

X-Ref Target - Figure 3-6

図 3-6 : [Import Source Conflicts ] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 35UG895 (v2012.2) 2012 年 7 月 25 日

Page 36: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Specify Constraint Set] : 制約ファイルを追加する制約セッ ト を選択します。 デフォルトでは現在アクティブな制約セッ トが選択されていますが、別の制約セッ ト を指定したり、 ド ロ ップダウン メニューを使用して新しい制約セッ ト を作成するこ と もできます。

° [Add Files] : プロジェク トに追加する XDC または SDC ファ イルを指定します。

° [Create File] : 新しい 上位の XDC が作成されます。

° [Remove] : 制約ファイルのリ ス トから選択したファイルが削除されます。

° [Up]/[Down] : XDC および SDC ファ イルを リ ス トの上下方向に移動します。XDC および SDC ファ イルには、タイ ミ ングおよび物理制約を設定し、記述順序に依存するコマンドが含まれます。制約セッ トに複数の制約ファイルが含まれる場合、 [Sources] ビューに表示される順序でファイルが処理されます。 初にリ ス ト されているファ イルが 初に処理されます。複数の制約ファイルに同じ制約が含まれている場合、後に処理されたファイルの制約定義が使用されます。

° [Copy Constraints into Project] : 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リに制約ファイルをコピーします。

ターゲッ ト XDC ファイルの設定

Vivado IDE では、制約を保存する と、新し く作成された制約が XDC ファ イルに書き込まれ、 ターゲッ ト XDC ファ イルと して認識されます。 デフォル ト では、 ターゲッ ト XDC ファ イルはあ り ません。 新し く制約を作成する場合は、制約を保存する際にターゲッ ト XDC ファ イルを設定する必要があ り ます。 制約を保存する必要がある場合は、 [SaveConstraints] ツールバー ボタン がオンになり ます。

[Save Constraints] ツールバー ボタンをク リ ッ クする と、 [No Target Constraints File] ダイアログ ボッ クス (図 3-8) が表示され、 アクティブ制約セッ トから既存 XDC ファ イルを選択するか、 新規ファイルを作成してアクティブ制約セットに追加できます。

X-Ref Target - Figure 3-7

図 3-7 : Add Sources ウィザード : [Add or Create Constraints] ページ

システム レベル デザイン入力 japan.xilinx.com 36UG895 (v2012.2) 2012 年 7 月 25 日

Page 37: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

XDC ファイルがターゲッ ト と して設定される と、[Sources] ビューのファイル名の横に (target) と表示されます (図 3-9)。ターゲッ ト XDC ファイルは、[Souces] ビューを右ク リ ッ クして [Set as Target Constraint File] をク リ ッ ク していつでも変更できます。

注記 : [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 ファ イルに連結されます。 制約セッ トでは、 デザイン プロセスのある時点または特定の条件化で使用される制約ファイルが定義されます。複数の制約セッ ト を定義するこ とによ り、 フロアプランやタイ ミ ングの問題を解決するために異なる制約を試すこ とができます。

X-Ref Target - Figure 3-8

図 3-8 : [No Target Constraints File] ダイアログ ボックス

X-Ref Target - Figure 3-9

図 3-9 : [Sources] ビューのターゲッ ト XDC ファイル

システム レベル デザイン入力 japan.xilinx.com 37UG895 (v2012.2) 2012 年 7 月 25 日

Page 38: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

XDC ファ イルは、 合成と インプ リ メ ンテーシ ョ ンのいずれか、 または両方で使用されます。 デフォルト では、 すべての XDC ファ イルが合成と インプ リ メンテーシ ョ ンの両方で使用されるよ うに設定されています。XDC ファ イルの[Used In] 設定を変更するには、 [Sources] ビューでファイルを選択し、 [Source File Properties] ビューの [Used In] フ ィールドでオン/オフを切り替えます (図 3-10)。

X-Ref Target - Figure 3-10

図 3-10 : XDC ファイルの [Used In] 設定

システム レベル デザイン入力 japan.xilinx.com 38UG895 (v2012.2) 2012 年 7 月 25 日

Page 39: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

制約セッ トの作成と編集

1. [Sources] ビューでポップアップ メニューから [Edit Constraint Sets] をク リ ッ ク します。

2. [Create Constraint Set] ダイアログ ボッ クスで次のいずれかを実行します。

° 制約セッ ト を編集する場合は、[Specify Constraint Set] フ ィールドの隣のド ロ ップダウン メニューをク リ ッ クし、 制約セッ ト を選択します。

° 制約セッ ト を作成する場合は、[Specify Constraint Set] フ ィールドの隣のド ロ ップダウン メニューをク リ ッ クし、 [Create Constraint Set] を選択します。 [Create Constraint Set Name] ダイアログ ボッ クス (図 3-11) で制約セッ トの名前を入力し、 [OK] をク リ ッ ク します。

3. [Create 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] をク リ ッ ク し、 [SaveDesign As] ダイアログ ボッ クス (図 3-12) を開き、 すべての制約を保存する新しい制約セッ ト名を入力します。

[Save Design As] コマンドを使用する と、 次の処理が実行されます。

X-Ref Target - Figure 3-11

図 3-11 : [Create Constraint Set Name] ダイアログ ボックス

X-Ref Target - Figure 3-12

図 3-12 : [Save Design As] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 39UG895 (v2012.2) 2012 年 7 月 25 日

Page 40: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

• 新しい制約セッ トが作成されます。

• アクティブ制約ファイルがローカル プロジェク ト ディ レク ト リの新しい制約セッ トにコピーされます。

• 制約への変更はコピーされた制約ファイルに記述され、 元の XDC ファ イルは変更されません。

• [Save Design As] ダイアログ ボッ クスには、 新しい制約セッ ト をアクティブにするオプシ ョ ンがあ り ます。

アクテ ィ ブ制約セッ トの定義

複数の制約セッ トが存在する場合、 アクティブ制約セッ ト を指定する必要があ り ます。 デフォルトでは、 合成またはインプリ メンテーシ ョ ン run を開始したと き、 またはエラボレート済み、 合成済み、 またはインプ リ メンテーシ ョ ン済みデザインを開いたと きに、 アクティブな制約セッ トが使用されます。

制約セッ ト をアクティブに設定するには、 [Sources] ビューで制約セッ ト を右ク リ ッ ク し、 [Make active] をク リ ッ ク します。 [Sources] ビューのアクティブ制約セッ トの横に太字で (active) と表示されます (図 3-13)。

制約のエクスポート

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] をク リ ッ ク します。

UCF 制約の変換

Vivado IDE でサポート されるのは、 XDC および SDC ファ イルのみで、 ユーザー制約ファイル (UCF) はサポート されません。 次のいずれかの方法を使用する と、 UCF 制約を XDC 制約に変換できます。

X-Ref Target - Figure 3-13

図 3-13 : アクテ ィブ制約セッ ト

システム レベル デザイン入力 japan.xilinx.com 40UG895 (v2012.2) 2012 年 7 月 25 日

Page 41: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

• PlanAhead™ ツールでデザインを開きます。 Tcl コンソールに 「write_xdc <filename>.xdc」 と入力します。

注記 : write_xdc コマンドは、 ファイル コンバーターではあ り ません。 デザインに XDC ファ イルと して適用可能な制約が記述されます。 この変換は単に XDC ベースの制約へ移行する際の開始点と して使用するこ とを目的と しています。

推奨 : この方法は、 物理制約を変換する場合にのみ推奨されます。 タイ ミ ング制約、 特にタイ ミ ング例外制約を変換するのには推奨されません。

• UCF 制約を手動で XDC に変換します。

推奨 : この方法は、 特にタイ ミ ング制約およびタイ ミ ング例外制約などの UCF 制約を変換するのに推奨されます。UCF と XDC 制約の構造が異なるため、 自動変換はあま り う ま くいきません。 たとえば、 UCF は制約のネッ ト をターゲッ トにするのに対し、 XDC ではセル、 ポート、 またはピンをターゲッ トにします。

注記 : 詳細は、 『Vivado Design Suite 移行手法ガイ ド』 (UG911) および 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) を参照してください。

シミ ュレーシ ョ ン ソースの操作

Vivado IDE では、RTL プロジェク トのビヘイビア シ ミ ュレーシ ョ ン用に、シ ミ ュレーシ ョ ン ソースを追加できます。シ ミ ュレーシ ョ ン ソース ファ イルには、シ ミ ュレーシ ョ ンのスティ ミ ュラス と して使用する HDL ベースのテス トベンチ ファ イルが含まれます。 シ ミ ュレーシ ョ ン ソースは、 Vivado シ ミ ュレータでのビヘイビアー シ ミ ュレーシ ョ ンに使用されます。

シ ミ ュレーシ ョ ン ソース ファ イルはシ ミ ュレーシ ョ ン ファ イル セッ トに格納され、[Sources] ビューにフォルダーとして表示されます。 リモートのものを参照するか、 ローカル プロジェク ト ディ レク ト リに保存されているものを使用できます。 シ ミ ュレーシ ョ ン セッ ト を使用する と、 シ ミ ュレーシ ョ ン コンフ ィギュレーシ ョ ンごとに異なるソースを定義できます。 たとえば、 1 つのシ ミ ュレーシ ョ ン ソースに 1 つのテス トベンチを使用してビヘイビア シ ミ ュレーシ ョ ン用のスティ ミ ュラスを含め、別のシ ミ ュレーシ ョ ン ソースには別のテス トベンチを使用するこ とができます。 シ ミ ュレーシ ョ ン ソースをプロジェク トに追加する際、 ファ イルを追加するシ ミ ュレーシ ョ ン ソース セッ ト を指定できます。

注記 : 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) を参照して ください。

シミ ュレーシ ョ ン ソース ファイルの追加と作成

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-14) で次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。

° [Specify Simulation Set] : テス トベンチ ファ イルを含めるシ ミ ュレーシ ョ ン セッ トの名前およびディ レク トリ を入力します。 ド ロ ップダウン リ ス ト から [Create Simulation Set] を選択する と、 新規シ ミ ュレーシ ョ ンセッ ト を定義できます。

° [Add Files] : プロジェク トに追加するシ ミ ュレーシ ョ ン ソース ファ イルを選択するためのファイル ブラウザーが表示されます。

° [Add Directories] : 選択したディ レク ト リに含まれるすべてのシ ミ ュレーシ ョ ン ソース ファ イルを追加します。 指定したディ レク ト リにある有効なソース ファ イルがすべてプロジェク トに追加されます。

° [Library] : ファ イルまたはディ レク ト リのライブラ リ を指定します。 定義済みのライブラ リ名から選択するか、 新規ライブラ リ名を入力します。

注記 : このオプシ ョ ンは、 VHDL ファ イルの場合のみ使用できます。 デフォル トでは、 HDL ソース ファ イルは work ラ イブラ リに追加されます。 必要に応じて、 ユーザー VHDL ラ イブラ リ を作成し、 参照できます。 Verilog および SystemVerilog ファ イルの場合は、 work のままにしておいてください。

システム レベル デザイン入力 japan.xilinx.com 41UG895 (v2012.2) 2012 年 7 月 25 日

Page 42: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [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] で指定したディ レク ト リのサブディ レク ト リに含まれるソース ファ イルをすべて追加します。

IP ソースの操作

Vivado IDE では、 RTL プロジェク トで次のよ うなタイプの RTL プロジェク トの IP コアを追加および管理できます。

• Vivado Design Suite Xilinx Core Instance files (XCI)

• CORE Generator™ コア (XCO)

• サードパーティ IP

サードパーティから合成済み NGC または EDIF ネッ ト リ ス ト と して提供されている IP もあ り ます。[Add Sources]コマンドを使用する と、 これらのファイルをデザインに読み込むこ とができます。 詳細は、 「デザイン ソースの操作」 を参照して ください。

注記 : IP の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) を参照して ください。

X-Ref Target - Figure 3-14

図 3-14 : Add Sources ウィザード : [Add or Create Simulation Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 42UG895 (v2012.2) 2012 年 7 月 25 日

Page 43: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

既存 IP の追加

1. [File] → [Add Sources] をク リ ッ ク します。

注記 : または、 ポップアップ メニューまたは Flow Navigator から [Add Sources] をク リ ッ ク します。

2. Add Sources ウ ィザード (図 3-1) で [Add Existing IP] をオンにし、 [Next] をク リ ッ ク します。

3. [Add Existing IP] ページ (図 3-15) で次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。

° [Add Files] : Vivado Design Suite に含まれる Xilinx Core Instance (XCI) または CORE Generator コア (XCO) ファイルを選択できるファ イル ブラウザーが開きます。

° [Remove] : 選択したソース ファ イルを削除します。

° [Copy Sources into Project] : IP コア ファ イルをプロジェク ト ディ レク ト リにコピーします。 プロジェク トではローカルにコピーされたバージ ョ ンが使用されます。

追加された IP コアは、 [Hierarchy]、 [Libraries]、 [Compile Order] タブのその他のソース ファ イルと一緒に、 [Sources]ビューの [IP Sources] タブにそれぞれ表示されます。 [Sources] ビューにはコアを構成するファイルが表示され、 コアを選択する と [Source File Properties] ビューにプロパティが表示されます。

注記 : IP コアの EDIF、 Verilog、 SystemVerilog ネッ ト リ ス ト または NGC ファ イルは、 RTL またはネッ ト リ ス ト ベースのプロジェク トに追加するこ と もできます。詳細は、第 2 章の 「合成後プロジェク トの作成」 を参照して ください。

Vivado IP カタログの使用

1. Flow Navigator の Project Manager から [IP Catalog] をク リ ッ ク します。

IP カタ ログ (図 3-16) では、 IP コアはカテゴ リ ご とにツ リー形式で表示され、 IP バージ ョ ン、 AXI (AdvancedeXtensible Interface) プロ ト コル準拠、 ステータス、 ラ イセンス要件などが表示されます。 IP コアを選択する と、その説明がビューの下部に表示されます。

X-Ref Target - Figure 3-15

図 3-15 : Add Sources ウィザード : [Add Existing IP] ページ

システム レベル デザイン入力 japan.xilinx.com 43UG895 (v2012.2) 2012 年 7 月 25 日

Page 44: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

2. カタログから IP コアを選択する と、 コアの情報が表示されます。 選択した IP の PDF データシート を開くには、次を実行します。

° 右ク リ ッ クで [Data Sheet] を選択

° IP カタログ ツールバーの [View Information] ボタンをク リ ッ ク し、 ポップアップ メニューから [Data Sheet]をク リ ッ ク

3. IP カタログのツールバーまたはポップアップ メニューから次のコマンドを使用

° [Show Search] : カタログ内で文字列を検索するための [Search] フ ィールドを表示します。

° [Collapse/Expand All] : IP カタログ ツ リーを開くか、 閉じます。

° [Hide Superseded and Discontinued IPs] : 現在の IP のみを表示します。

° [Hide Incompatible IP] : 選択したデバイス ファ ミ リ と互換性のある IP のみを表示します。

° [Group by Category] : 分類および検索がしやすいよ うに、 リ ス ト をグループ分けするか、 フラ ッ トにします。

° [Customize IP] : 選択した IP の [Customize IP] ダイアログ ボッ クスを開きます。詳細は、「IP のカスタマイズ」を参照して ください。

° [License Status] : 選択した IP のライセンス要件とステータスを表示します。

° [Compatible Families] : 選択した IP と互換性のあるすべてのデバイス ファ ミ リおよび特定のザイ リ ンクスパーツのリ ス ト を表示します。

° [View Information] : 選択した IP の入手可能な情報リ ソースが表示されます。 入手可能な情報には、 データシート、 バージ ョ ン情報、 ウェブページ、 アンサーなどがあ り ます。

° [Update IP Catalog] : 指定したディ レク ト リで IP カタログが再生成されるので、 IP カタログへのアップデート をチェッ クできるよ うにな り ます。 このダイアログ ボッ クスでは、ユーザー IP を含む IP カタログをアップデートする検索パスを追加で指定するこ と もでき、 [Reload All Repositories] をオンにする と、 すべてのレポジ ト リ を強制的に再読み込みできます。 詳細は、 「IP カタログのアップデート 」 を参照して ください。

° [Automatically Scroll to Selected Objects] : 表示を切り変えて、 開いているビューの選択したオブジェク トにジャンプさせます。

° [Add IP] : component.xml ファ イルまたは Vivado IP パッケージャー ZIP ファ イルのいずれかを選択し、 レポジ ト リに IP を追加します。

X-Ref Target - Figure 3-16

図 3-16 : IP カタログ

システム レベル デザイン入力 japan.xilinx.com 44UG895 (v2012.2) 2012 年 7 月 25 日

Page 45: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Export to Spreadsheet] : IP カタログをスプレッ ドシート形式の XLS ファ イルに出力します。

IP のカスタマイズ

Vivado IP カタログからコアを選択し、 パラ メーター値を指定するこ とによ り、 デザイン要件に合わせて IP をカスタマイズできます。 IP カタログには、 統合された GUI、 すべての IP カスタマイズおよび生成に対する Tcl サポート などが含まれます。

注記 : IP カタログの IP のほとんどで統合された機能がサポート されますが、 たとえば、 MIG、 ChipScope™ ツール1.x、 およびワイヤレス コアなど、 IP の中にはまだ Vivado Design Suite の統合機能をサポート していないものもあ ります。 このよ うな IP には、既存の CORE Generator ツールの IP カスタマイズおよび生成インターフェイスを使用してください。

1. IP カタログでカスタマイズする IP を選択します。

2. ポップアップ メニューから [Customize IP] をク リ ッ ク します。

注記 : または、 [Customize IP] ツールバー ボタン をク リ ッ クするか、 選択した IP をダブルク リ ッ クします。

3. デザインで使用する IP をカスタマイズするには、 IP のパラ メーターを定義するオプシ ョ ンを変更します。 選択した IP によって、 Vivado IDE で次のいずれかが開きます。

° Vivado IDE の [Customize IP] ダイアログ ボッ クス (図 3-17)

° Memory Interface Generator (MIG) ウ ィザード

° CORE Generator ツールの IP カスタマイズ ウ ィザード

Vivado IDE の [Customize IP] ダイアログ ボッ クスは、 選択したコアのタイプによって異なり、 パラ メーターを含んだタブが 1 つまたは複数表示されます。ダイアログ ボッ クスには、IP ポート を示す IP シンボルも含まれます。[Show Disabled Ports] チェッ ク ボッ クスを使用する と、 ディ スエーブルになったポートの表示/非表示を切り替えるこ とができます。 バスがネッ トの代わりに特殊シンボルで表示されます。 バスはプラス記号 (+) とマイナス記号 (-) を使用して展開/非展開にできます (図 3-18)。

X-Ref Target - Figure 3-17

図 3-17 : [Customize IP] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 45UG895 (v2012.2) 2012 年 7 月 25 日

Page 46: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

4. パラ メーターを定義したら、 [OK] をク リ ッ ク してカスタマイズされた IP コアを作成し、 ソース と してプロジェク トに追加します。 この時点では、 コアは合成されません。

追加された IP コアが [Sources] ビューの [IP Sources] タブにそれぞれ表示されます。IP コアは、[Hierarchy]、[Libraries]、[Compile Order] タブのその他のソース ファ イルと一緒に表示されます。[Sources] ビューにはコアを構成するファイルが表示され、 コアを選択する と [Source File Properties] ビューにプロパティが表示されます。

ターゲッ トの生成

プロジェク トに追加された IP コアは [Sources] ビューに表示されます。 [IP Sources] タブをク リ ッ クする と、 IP と収集されたソースが表示されます。 [Sources] ビューで IP コアを展開する と、 Synthesis および Instantiation Templates などのさまざまなフォルダー カテゴ リが表示されます。これらのカテゴ リ を展開する と、コアと一緒に配布されたソースファイルが表示されます。

ソース ファ イルは、現在のプロジェク トでそのコアをサポートするのに必要な IP のさまざまなデザイン エレ メン トで、 インスタンシエーシ ョ ン テンプレート、HDL ファ イル、XDC 制約などが含まれます。 IP のソース ファ イル (XCIまたは XCO) も [Sources] ビューの [Hierarchy] タブに表示されます。

図 3-19 は、[IP Sources] タブの 3 つのコアをターゲッ ト と関連ファイルを含めて示しています。図に示すとおり、VivadoDesign Suite IP は、 RTL と して配布されています。 この IP はデザインと共に合成されます。

X-Ref Target - Figure 3-18

図 3-18 : 展開したバス

X-Ref Target - Figure 3-19

図 3-19 : [IP Sources] タブのターゲッ ト

システム レベル デザイン入力 japan.xilinx.com 46UG895 (v2012.2) 2012 年 7 月 25 日

Page 47: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

IP のインスタンシエート

インスタンシエーシ ョ ン テンプレートは、 Verilog (.veo) または VHDL (.vho) のモジュール定義で、 RTL デザインにコピーして貼り付けて IP モジュールのインスタンスを作成できます。図 3-20 は、 IP コアのインスタンシエーシ ョ ン テンプレートの例を示しています。

IP をデザインにインスタンシエートするには、 次の手順に従います。

1. [Sources] ビューで IP コアの Verilog または VHDL テンプレート ファ イルをダブルク リ ッ ク します。

2. インスタンシエーシ ョ ン テンプレートの 「Begin Cut Here...」 と記述されている行から後を選択し、 適切な RTLファ イルにコピーして、 モジュールのインスタンスを作成します。

3. IP モジュールをデザインに組み込むために必要な変更を加えます。

4. IP コアをデザインに正し く インスタンシエート したら、 IP コアをデザインの残りの部分と共に合成できます。

IP の合成

デフォルトでは、 IP をプロジェク トに追加する と、 必要な合成ファイルが生成されます。 プロジェク トに IP コアを追加し、 合成を実行する と、 Vivado IDE ではユーザーのデザイン ファ イルと一緒にプロジェク トの IP コアがすべて自動的に合成されます。

IP の生成

デフォルト では、 IP をプロジェク トに追加する と、 合成およびインスタンシエーシ ョ ン テンプレートのターゲッ トが作成されます。 [Sources] ビューで IP を右ク リ ッ ク し、 [Generate] をク リ ッ クする と、 その他のターゲッ ト をいつでも生成できます。これによ り、[Generate] ダイアログ ボッ クス (図 3-21) が開き、生成するターゲッ ト を指定できます。

X-Ref Target - Figure 3-20

図 3-20 : IP インスタンシエーシ ョ ン テンプレート

システム レベル デザイン入力 japan.xilinx.com 47UG895 (v2012.2) 2012 年 7 月 25 日

Page 48: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

IP の再カスタマイズ

IP を再カスタマイズする と、 現在のデザインでの定義を変更できます。 I現在のデザインで IP の定義を変更する場合は、 その IP を [Sources] ビューの [IP Sources] タブで選択し、 右ク リ ッ クで [Re-customize IP] をク リ ッ ク します。 または、 IP をダブルク リ ッ ク します。 これによ り、 [Re-Customize IP] ダイアログ ボッ クスが再び開くので、 そのコアに関連するパラ メーターを変更します。 必要な変更を加えて [OK] をク リ ッ ク し、 IP をデザインに追加し戻し、 合成およびインスタンシエーシ ョ ン テンプレート を生成します。

IP のリセッ ト

IP はいつでも リセッ ト して、IP からターゲッ ト データを削除できます。IP コアのターゲッ ト データを削除するには、[Sources] ビューの [IP Sources] タブで IP を選択し、 右ク リ ッ クで [Reset] コマンドを実行します。 [Reset] コマンドを実行する と、 選択したターゲッ ト を リセッ トできます。 選択したターゲッ ト データは削除されます。

注記 : Vivado IP カタログにコアが生成されたと きの IP のバージ ョ ンが含まれない場合、 プロジェク トに追加されたIP コアに対して [Reset] コマンドは使用できません。

IP のアップグレード

現在のプロジェク トの IP は IP カタログで使用可能な 新バージ ョ ンにアップグレードできます。 この機能を使用する と、現在のプロジェク トへカタログの変更を加えるこ とができます。 このオプシ ョ ンは、 IP に新しいバージ ョ ンがある場合にのみ使用できます。

[Sources] ビューの [IP Sources] タブで IP を選択して右ク リ ッ ク し、 [Upgrade IP] コマンドをク リ ッ ク します。 これによ り、 デザイン内のカスタマイズ済み IP が Vivado IP カタログの 新バージ ョ ンにアップデート されます。 現在のプロジェク トからのカスタマイズ設定は自動的に適用され直されます。

CORE Generator IP を Vivado IDE に移行する場合も同じ手順を使用できます。 IP の移行およびアップグレードの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) を参照してください。

IP カタログのアップデート

ローカル ディ レク ト リ を IP カタログに追加したり、新規 IP をレポジ ト リに追加したり、 カタログの一部と してローカルの IP レポジ ト リ を管理したりできます。

1. IP カタログでポップアップ メニューから [Update IP Catalog] をク リ ッ ク します。

2. [Update IP Catalog] ダイアログ ボッ クス (図 3-22) で現在のソフ ト ウェア インス トールでの Vivado IP カタログへのパスを確認し、 次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

X-Ref Target - Figure 3-21

図 3-21 : [Generate] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 48UG895 (v2012.2) 2012 年 7 月 25 日

Page 49: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Optional IP Repository Search Paths] : 現在 IP カタログに追加されているオプシ ョ ンの IP レポジ ト リ を リ ス トします。

° [Add Directories] : IP レポジ ト リ検索パスに追加するディ レク ト リ を指定します。 component.xml またはZIP ファ イル形式の IP ファ イルが IP カタログに追加されます。

° [Remove Selected] : 選択した IP レポジ ト リ パスを IP カタログから削除します。

° [Move Up] : 選択した IP レポジ ト リ を リ ス トの上方向に移動します。

この順序は、 IP コアが IP カタログから読み込まれる順序に影響します。 初の IP レポジ ト リは常に VivadoIP カタログで、 各ユーザー定義の IP レポジ ト リはこの検索パスのリ ス ト順になり ます。 IP コアが重複している場合、 後の定義が前の定義を上書きします。 この場合、 新の IP レポジ ト リで見つかった IP コアが IPカタログで使用可能になり ます。

° [Move Down] : ファ イルまたはディレク ト リ を リ ス トの下方向に移動します。

° [Reload All Repositories] : 各 IP レポジ ト リのインデッ クスを再構築させ、 その再構築されたインデッ クスファ イルから メモリ内の IP カタログをアップデート します。新しい IP をレポジ ト リに追加した場合、 このオプシ ョ ンを使用してインデッ クス ファ イルを再構築して、 その新しい IP が含まれるよ うにする必要があり ます。

注記 : デフォルトでは、 [Update IP Catalog] コマンドでは既存のインデッ クス ファ イルから メモリ内の IP カタログがアップデート されます。 レポジ ト リのインデッ クス ファ イルが既にある場合は、 インデッ クス ファ イルは再生成されず、 新し く追加された IP も含まれません。

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 モジュールを開発するこ とをお勧めします。 こ うするこ と

X-Ref Target - Figure 3-22

図 3-22 : [Update IP Catalog] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 49UG895 (v2012.2) 2012 年 7 月 25 日

Page 50: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

で、 Vivado IDE ツールで FPGA デザインのプロジェク ト を管理できます。 まず、 DSP モジュールを System Generator内で開発および管理しておいてから、 Vivado IDE で 1 つのソース ファ イルと して処理します。

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-23) で次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。

° [Add Files] : プロジェク トに追加する既存の System Generator モデル ファ イル (MDL) を指定するためのファイル ブラウザーが開きます。

° [Create File] : System Generator が起動するので、 プロジェク トに追加する新しい DSP モジュールを定義できます。

° [Remove] : 選択した DSP ソース ファ イルを削除します。

° [Move Up] : 選択したソースを リ ス トの上方向に移動します。

° [Move Down] : 選択したソースを リ ス トの下方向に移動します。

4. System Generator および MATLAB で DSP ソースの作成および管理が開始されます (図 3-24)。

X-Ref Target - Figure 3-23

図 3-23 : Add Sources ウィザード : [Add or Create DSP Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 50UG895 (v2012.2) 2012 年 7 月 25 日

Page 51: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

追加された 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-25)。

ターゲッ ト とは、 現在のデザインの合成、 シ ミ ュレーシ ョ ン、 インプ リ メ ンテーシ ョ ンをサポートするのに必要なDSP モジュールのさまざまなデザイン エレ メン ト のこ とです。 これには、 上位モジュールの定義、 インスタンシエーシ ョ ン テンプレート、 合成済みネッ ト リ ス ト、 その他の関連資料が含まれます。

X-Ref Target - Figure 3-24

図 3-24 : System Generator

X-Ref Target - Figure 3-25

図 3-25 : [Sources] ビューの DSP ソース

システム レベル デザイン入力 japan.xilinx.com 51UG895 (v2012.2) 2012 年 7 月 25 日

Page 52: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

[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] : 現在のプロジェク トおよびローカルのプロジェク ト レポジ ト リから指定したターゲッ ト データが削除されます。 ターゲッ ト データは、 必要に応じて再生成できます。

エンベデッ ド ソースの操作

エンベデッ ド開発キッ ト (EDK) は、 ユーザーのハード ウェアおよびソフ ト ウェア システム コンポーネン トに統合させるために使用可能なツールおよび IP の総称です。 EDK には、 Xilinx Platform Studio (XPS) および SoftwareDevelopment Kit (SDK) とい う 2 つのツールが含まれます。

エンべデッ ド プロセッサ システムのハード ウェア部分を設計するには、 XPS を使用します。 XPS では、 マイ ク ロプロセッサおよびペリ フェラルの仕様、 これらのコンポーネン トの接続およびプロパティを設定します。効果的なエンベデッ ド システム デザインの詳細は、『EDK コンセプ ト、ツール、テクニッ ク ガイ ド』 (UG683) を参照して ください。

EDK 環境ではデザインの作成およびインプ リ メ ンテーシ ョ ンがサポート されますが、 Vivado IDE ツールでプロジェク ト を開始して、 XPS を使用してプロジェク ト のエンベデッ ド プロセッサ ソースを開発する こ と をお勧めします。こ うするこ とで、 Vivado IDE ツールで FPGA デザインのプロジェク ト を管理できます。 まず、エンベデッ ド プロセッサ デザインを XPS 内で開発および管理しておいてから、 Vivado IDE で1 つのソース ファ イルと して処理します。図 3-26 は、 この統合エンベデッ ド デザイン フローを示しています。

システム レベル デザイン入力 japan.xilinx.com 52UG895 (v2012.2) 2012 年 7 月 25 日

Page 53: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

エンベデッ ド プロセッサの追加

Vivado IDE では、既存の Xilinx Microprocessor Project (.xmp) ファ イルを XPS からインポート した り、 Vivado IDE ツール内で新しいエンベデッ ド プロセッサ サブデザインを定義しておいてから、 XPS を開いてプロジェク ト を作成および管理したりできます。

注記 : または、 XPS および System Generator をスタンドアロンで使用して、 結果のネッ ト リ ス トおよび制約を Vivadoプロジェク トにソース と して追加するこ と もできます。

重要 : デザインに XMP ファ イルを追加する際は、 パスにスペースを含めないよ うにして ください。 XPS では現在のと ころパスにスペースを使用できません。

1. [File] → [Add Sources] をク リ ッ ク します。

注記 : または、 ポップアップ メニューまたは Flow Navigator から [Add Sources] をク リ ッ ク します。

2. Add Sources ウ ィザード (図 3-1) で [Add or Create Embedded Sources] をオンにし、 [Next] をク リ ッ ク します。

3. [Add or Create Embedded Sources] ページ (図 3-27) で次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。

° [Add Sub-Design] : Vivado IDE プロジェク トに追加する既存の Xilinx Microprocessor Project (XMP) ファ イルを指定するためのファイル ブラウザーが開きます。

X-Ref Target - Figure 3-26

図 3-26 : エンベデッ ド デザイン フロー

Vivado Design Suite XPS SDK

XPS Launches

Automatically

HDL orSchematic

.bit.bmm

Typical Embedded Flow

Other SourcesOther Sources- RTL - CORE Generator Tool - System Generator

.elf

AddEmbedded Source

システム レベル デザイン入力 japan.xilinx.com 53UG895 (v2012.2) 2012 年 7 月 25 日

Page 54: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Create Sub-Design] : Vivado IDE プロジェク トに追加する新しいサブデザインを定義するため、XPS が起動します。 詳細は、 「サブデザインの作成」 を参照してください。

° [Remove] : 選択したサブ デザインを削除します。

° [Move Up] : 選択したサブ デザインを リ ス トの上方向に移動します。

° [Move Down] : 選択したサブ デザインを リ ス トの下方向に移動します。

追加されたサブデザインは、 [Sources] ビューの [IP Sources] タブにそれぞれ表示されます。 [Hierarchy]、 [Libraries]、[Compile Order] タブにもその他のソース ファ イルが表示されます。[Sources] ビューにはサブデザインを構成するファイルが表示され、 サブデザインを選択する と [Source File Properties] ビューにプロパティが表示されます。

サブデザインの作成

次は、 エンベデッ ド デザインを定義するプロセスの簡単な概要です。 詳細は、 『EDK のコンセプ ト、 ツール、 テクニッ ク』 (UG683) および 『エンベデッ ド システム ツール リ ファレンス マニュアル』 (UG111) を参照して ください。

[Add or Create Embedded Sources] ダイアログ ボッ クスで [Create Sub-Design] を選択すると、 XPS が起動し、 新しいエンベデッ ド サブデザインを定義できるよ うになり ます。 ターゲッ ト パーツや TDP などの Vivado IDE ツールのプロジェク トの属性は、 XPS を開く と自動的に移行されます。 XPS では、 これが新しいサブデザインであるこ とが認識され、ボード デザインのしやすい Base System Builder ウ ィザードを起動するかど うか尋ねる メ ッセージが表示されます。

1. [Yes] をク リ ッ ク します。

2. Base System Builder (BSB) ウ ィザード (図 3-28) で次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

BSB ウ ィザードを使用する と、素早くシステムを構築できます。エンベデッ ド デザイン プロジェク トの中には、BSB ウ ィザードだけで完成できるものもあ り ます。複雑なプロジェク トの場合は、BSB ウ ィザードで作成したものをベースに、 エンベデッ ド デザインをカスタマイズしていきます。

注記 : フォームのほとんどが現在のプロジェ ク ト からのデータで埋まっており、 変更はできません。 これは、Vivado IDE プロジェク ト と XPS プロジェク トの統合を保護するためです。

° [Project File] : [Create Sub-Design] ダイアログ ボッ クスで指定したサブデザインの名前が表示されます。 この名前は、 Vivado IDE からインポート されたものです。

° [Select an Interconnect Type] : AXI System を指定します。 これはレガシー システムを回避するためにハードコード されますので、 変更できません。

° [Select Existing .bsb Settings File] : 以前の BSB 設定ファイルを指定して、 同じ選択がこの BSB セッシ ョ ンでも自動的に使用されるよ うにします。

X-Ref Target - Figure 3-27

図 3-27 : Add Sources ウィザード : [Add or Create Embedded Sources] ページ

システム レベル デザイン入力 japan.xilinx.com 54UG895 (v2012.2) 2012 年 7 月 25 日

Page 55: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Set Project Peripheral Repository Search Path] : カスタム pcore、Board Support Packages (BSP)、およびソフ ト ウェア サービスを含むユーザー レポジ ト リ を指定します。 レポジ ト リ検索パスを複数指定する場合は、 セ ミ コロン ( ; ) で区切ってください。

3. [Board and System Selection] ページ (図 3-29) でエンベデッ ド デザインのターゲッ ト デザイン プラ ッ ト フォーム(TDP) またはプラ ッ ト フォームを選択し、 [Next] をク リ ッ ク します。

提供される TDP の定義は、 Vivado IDE ツールのプロジェク トで選択したターゲッ ト パーツを含んだものに制限されます。 BSB には、 特定の FPGA デバイス、 外部メモリ、 I/O デバイス、 クロ ッ ク リ ソース、 リセッ ト極性など、 どのデバイスがターゲッ ト ボードにあるかを決定する機能があ り ます。 次のウ ィザード ページは、 選択したボードからの情報を元にカスタマイズされており、 必要な入力が 小限で済むよ うになっています。

注記 : 選択した FPGA がサポート されるボードで使用可能でない場合は、 デバイスに対するボードが存在しないメ ッセージが表示されます。 この場合は、 [Create a System for a Custom Board] をオンにする必要があ り ます。

X-Ref Target - Figure 3-28

図 3-28 : Base System Builder ウィザード

システム レベル デザイン入力 japan.xilinx.com 55UG895 (v2012.2) 2012 年 7 月 25 日

Page 56: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

4. [Processor, Cache, and Peripheral Configuration] ダイアログ ボッ クス (図 3-30) で、 指定した TDP で使用可能なエンベデッ ド デザインに含めるペリ フェラルを指定し、 [Finish] をク リ ッ ク します。

X-Ref Target - Figure 3-29

図 3-29 : Base System Builder ウィザード : [Board and System Selection] ページ

システム レベル デザイン入力 japan.xilinx.com 56UG895 (v2012.2) 2012 年 7 月 25 日

Page 57: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

エンベデッ ド デザインが作成され、 プロジェ ク ト が XPS で開きます。 エンベデッ ド プロセッサ サブデザインは、 XPS ツールで変更および管理できます。

注記 : XPS ソースは Tcl コマンドの create_xps を使用しても作成できます。 このコマンドは新しいエンベデッ ド システムをプロジェク トに追加すためにも使用できます。 Vivado IDE では、 新規 XMP ファ イルを作成し、 それを下位モジュールと してプロジェク トに追加します。

ターゲッ トの生成

XPS ツールを閉じる と、 上位プロジェク ト デザイン ファ イル (.xmp) および Microprocessor Hardware Specification(.mhs) ファ イルが Vivado IDE の [Sources] ビューに追加されます。[Sources] ビューでエンベデッ ド デザイン ソースを展開表示する と、 そのサブデザインに関連するさまざまなターゲッ ト ファ イルが表示されます (図 3-31)。

X-Ref Target - Figure 3-30

図 3-30 : Base System Builder ウィザード : [Processor, Cache, and Peripheral Configuration] ページ

システム レベル デザイン入力 japan.xilinx.com 57UG895 (v2012.2) 2012 年 7 月 25 日

Page 58: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

ターゲッ ト とは、 現在のプロジェク トのオブジェク ト をサポートするのに必要な XPS サブデザインのさまざまなデザイン エレ メン トのこ とです。 これには、 上位モジュール定義、 インスタンシエーシ ョ ン テンプレート、 合成済みネッ ト リ ス ト、ログ ファ イルやデータシート などの関連資料などが含まれます。エンベデッ ド デザインのプロジェク ト ファ イル (.xmp) は、 [Sources] ビューの [Hierarchy] タブに表示されます。

[Sources] ビューでエンベデッ ド ソースを選択する と、 次のポップアップ メニューが表示されます。

• [Create Top HDL] : エンベデッ ド デザインの 上位ラ ッパー ファ イルを作成し、 プロジェク トに追加します。 このコマンドは、 エンベデッ ド デザインが現在のデザインの 上位の場合に使用します。

• [View Instantiation Template] : エンベデッ ド デザインを RTL デザインにインスタンシエートするために使用するインスタンシエーシ ョ ン テンプレート を作成します。 インスタンシエーシ ョ ン テンプレートは別の RTL ファ イルにコピーして貼り付ける と、 その階層でサブデザインのインスタンスを作成できます。

注記 : テンプレート ファ イルはプロジェク トに追加されません。

• [Create Testbench] : エンベデッ ド デザインのテス トベンチを作成します。テス トベンチは、シ ミ ュレーシ ョ ン セットの [Sources] ビューに追加されます。

• [Generate] : 合成、 インプ リ メンテーシ ョ ン、 シ ミ ュレーシ ョ ン用に指定したターゲッ ト データを作成します。ターゲッ ト データには、そのサブデザインの Verilog または VHDL ファ イル、 ラ ッパー ファ イル、BMM モデル、上位シ ミ ュレーシ ョ ン モデルが含まれます。

• [Reset] : 現在のプロジェク トから指定したターゲッ ト データが削除されます。ローカルのプロジェク ト レポジ トリから も生成されたターゲッ ト データが削除されます。 ターゲッ ト データは、 必要に応じて再生成できます。

ターゲッ ト データを生成する と、そのエンベデッ ド サブデザインに対して /synthesis および /implementationディ レク ト リが作成されます。これは、XPS で [Hardware] → [Generate Netlist] または [Hardware] → [Generate Bitstream]をク リ ッ ク しても作成されます。

既存の XPS エンベデッ ド デザイン ソースを追加する と、 /synthesis および /implementation ディ レク ト リはエンベデッ ド デザインのサブディ レク ト リ (プロジェク トの外部) に作成されますが、 [Create Sub-Design] コマンドでエンベデッ ド プロセッサ デザインを現在のプロジェク トに追加する と、/synthesis および /implementation 下位ディ レク ト リ がローカルのプロジェ ク ト ディ レク ト リ (<project>.srcs\sources_1\edk\<subdesign_name>) の下にできます。

ハードウェアのエクスポート

Vivado IDE は SDK と も統合されており、 プロジェク ト内のエンベデッ ド プロセッサ ソースのソフ ト ウェア デザインがサポート されます。 SDK を使用してエンベデッ ド プロセッサを含むプロジェク トのソフ ト ウェアを開発するには、 次を実行します。

1. [File] → [Export] → [Export Hardware] をク リ ッ ク します。

2. [Export Hardware for SDK] ダイアログ ボッ クス (図 3-32) で次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

° [Source] : エクスポートするソース XPS プロジェク ト ファ イルを指定します。

° [Location] : ハードウェアをエクスポートするディ レク ト リ を指定します。 デフォルトでは、 ハードウェアファ イルはローカルのプロジェ ク ト ディ レク ト リ (<project>.sdk/SDK/SDK_Export/hw) に書き込まれます。

° [Export Hardware] : エンベデッ ド プロセッサ デザインのソフ ト ウェア開発をサポートするのに必要なファイルが生成されます。

X-Ref Target - Figure 3-31

図 3-31 : エンベデッ ド デザイン ソース

システム レベル デザイン入力 japan.xilinx.com 58UG895 (v2012.2) 2012 年 7 月 25 日

Page 59: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

° [Launch SDK] : ハードウェア ファ イルの生成後に SDK ツールを起動します。

Vivado IDE で [Launch SDK] をオンにしておく と、デザインの Hardware Platform Specification (system.xml) ファ イルがエクスポート され、 SDK が起動します。 詳細は、 SDK ヘルプ を参照して ください。

ビッ トス ト リーム ファイルの作成

エンベデッ ド プロセッサ システムを起動するには、 システムのハード ウェアおよびソフ ト ウェア コンポーネン トの両方を FPGA にダウンロード して、 メモ リ をそれぞれプログラムする必要があ り ます。このためには、ブロ ッ ク RAMをターゲッ ト と したソフ ト ウェア アプ リ ケーシ ョ ンを含むビッ ト ス ト リーム ファ イルを作成する必要があ り ます。ハード ウェア ビッ ト ス ト リームとエンベデッ ド プロセッサに関連するソフ ト ウェアの Executable and Linkable Format(ELF) ファ イルをダウンロードする と、 Vivado IDE および iMPACT ツールで、 ビッ ト ス ト リームを使用して FPGA をプログラムできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照して ください。

プロセッサ インスタンスに関連する ELF ファ イルは、 Vivado IDE で [Tools] → [Associate ELF Files] をク リ ッ クすると、 追加またはアップデートできます。 [Associate ELF Files] ダイアログ ボッ クス (図 3-33) が開き、 ビッ ト ス ト リーム ファ イルを生成する と きに使用する ELF ファ イルを指定できます。

ELF ファ イルは BMM ファ イルで指定したブロ ッ ク RAM を生成します。 Vivado IDE で生成されたこの BIT ファ イルには、 選択した実行コードで初期化されたブロ ッ ク RAM が含まれます。 詳細は、 『EDK コンセプ ト、 ツール、 テクニッ ク ガイ ド』 (UG683) を参照して ください。

X-Ref Target - Figure 3-32

図 3-32 : [Export Hardware for SDK] ダイアログ ボックス

X-Ref Target - Figure 3-33

図 3-33 : [Associate ELF Files] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 59UG895 (v2012.2) 2012 年 7 月 25 日

Page 60: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

ソース ファイルの編集

Vivado IDE には、 RTL、 XDC、 Tcl およびその他のテキス ト ソースを作成または変更するためのテキス ト エディ ターが含まれます。 このテキス ト エディ ターには、 構文認識機能があるので、 RTL、 XDC、 Tcl のキーワードが認識されて色分けされます。 同時に複数のファイルを開く こ とができ、 各ファイルのタブをク リ ッ クする と、 開いているファイルを表示できます。

ファ イルを変更して保存していない場合は、 ビュー タブのファイル名の横にアスタ リ スク (*) が表示されます。 ファイルを保存するには、 次のいずれかを実行します。

• [File] → [Save File] をク リ ッ ク します。

• テキス ト エディ ターでポップアップ メニューから [Save File] をク リ ッ ク します。

• テキス ト エディ ターで [Save File] ツールバー ボタンをク リ ッ ク します。

ファ イルを閉じる と きに保存していない変更がある場合は、変更を保存するかど うかを確認するダイアログ ボッ クスが表示されます。 ソース ファ イルは、 [Save As] コマンドで新しいディ レク ト リに保存するこ と もできます。

注記 : 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) の 「テキス ト エディ ター」 を参照して ください。

テキス ト エディ ターの使用

Vivado IDE のテキス ト エディ ターは、 [Schematic]、 [Messages]、 [RTL Netlist]、 [Hierarchy] などのその他ビューと ク ロスプローブできます。

テキス ト エディ ターのツールバーには、 次のよ うなボタンが含まれます。

• [Undo] : 開いているファイルで実行した 後の変更を取り消します。

• [Redo] : 開いているファイルで実行した 後の変更をやり直します。

• [Cut] : 選択したセクシ ョ ンを切り取って、 ク リ ップボードに貼り付けます。

• [Copy] : 選択したセクシ ョ ンをコピーして、 ク リ ップボードに貼り付けます。

• [Paste] : ク リ ップボードの内容を指定した位置に貼り付けます。

• [Delete] : 選択したセクシ ョ ンを削除します。 削除したセクシ ョ ンは、 ク リ ップボードにはコピーされません。

• [Toggle Line Comments] : 選択した行の開始に適切なコ メン ト文字を入力します。

• [Toggle Column Selection] : テキス ト エディ ターが列選択モードになり、 列を切り取り、 コピー、 削除、 貼り付けるこ とができます。

• [Show 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] : カーソルを編集する文書の終了箇所まで移動します。

システム レベル デザイン入力 japan.xilinx.com 60UG895 (v2012.2) 2012 年 7 月 25 日

Page 61: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

テンプレートの使用

Vivado IDE には、 多くの Verilog、 VHDL、 XDC 構造用のテンプレートが含まれています。 テンプレート を表示するには、テキス ト エディ ターのツールバーから [Language Templates] をク リ ッ ク します。[Templates] ビューが Verilog、VHDL、XDC のフォルダー別に表示されます。 テンプレート を選択する と、 それが [Preview] エリアに開きます (図 3-34)。

テンプレート を選択する と、 テキス ト エディ ターのツールバーの [Insert Template] ボタンが使用できるよ うにな り ます。 これをク リ ッ クする と、 選択したテンプレートが編集するファイルのカーソルの位置に挿入されます。

検索/置換コマンドの使用

[Find] および [Find in Files] コマンドを使用する と、開いているソース ファ イルまたは選択したファイル内で文字列を検索できます。 次の操作を実行できます。

• 検索条件と して、 ワイルドカード (*) を含む任意のテキス ト文字列を入力できます。

• フ ィルター オプシ ョ ンを使用して、 ソース ファ イル、 制約ファイル、 レポート ファ イルを検索できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) を参照してください。

X-Ref Target - Figure 3-34

図 3-34 : 言語テンプレートのプレビュー

システム レベル デザイン入力 japan.xilinx.com 61UG895 (v2012.2) 2012 年 7 月 25 日

Page 62: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

ソース ファイルへのクロスプローブ

Vivado IDE では、 次のビューから RTL ソース ファ イルへクロスプローブできます。

• [Schematic] ビュー (エラボレート済み RTL、 合成、 またはインプリ メンテーシ ョ ン)

• [Netlist] ビュー (合成またはインプリ メンテーシ ョ ン後)

• [Device] ビュー (インプ リ メンテーシ ョ ン後)

ク ロスプローブするには、 これらのビューからセルを右ク リ ッ ク し、 ポップアップ メニューから [Go To Instantiation]をク リ ッ ク します。 RTL ソースが開き、 そのインスタンスの行がハイライ ト されます (図 3-35)。

X-Ref Target - Figure 3-35

図 3-35 : RTL ソースへのクロスプローブ

システム レベル デザイン入力 japan.xilinx.com 62UG895 (v2012.2) 2012 年 7 月 25 日

Page 63: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのソースの操作

その他のテキスト エディ ターの使用

Vivado IDE では、 次を実行する と別のテキス ト エディ ターを使用するこ と もできます。

1. [Tools] → [Options] をク リ ッ ク します。

2. [Vivado Options] ダイアログ ボッ クスの [General] ページ (図 3-36) の [Text Editor] セクシ ョ ンまでスク ロールダウンし、 ド ロ ップダウン リ ス トから別のテキス ト エディ ターを選択します。

リ ス トからテキス ト エディ ターを選択する と、 実行ファイル名が表示されます。 この実行ファイルへのパスは、ユーザーのパスに含まれている必要があ り ます。ユーザー環境にパスを追加する方法については、 Windows または Linux の資料を参照してください。

X-Ref Target - Figure 3-36

図 3-36 : [Vivado Options] ダイアログ ボックス : [General] ページ

システム レベル デザイン入力 japan.xilinx.com 63UG895 (v2012.2) 2012 年 7 月 25 日

Page 64: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

非プロジェク ト モードでのソースの操作

ご希望のテキス ト エディ ターが リ ス ト されていない場合は、 [Custom Editor] を選択し ます。 [Custom EditorDefinition] ダイアログ ボッ クス (図 3-37) にそのテキス ト エディ ターを実行する実行ファ イルの名前またはディレク ト リ と コマンド ラ イン構文を入力します。

注記 : 別のテキス ト エディ ターを使用する場合は、 クロスプローブは同じよ うには動作しません。 ファ イルは外部エディ ターで開きますが、 自動的にその行がハイライ ト表示されるこ とはあ り ません。

非プロジェク ト モードでのソースの操作非プロジェク ト モードのソース ファ イルは、 ソース ファ イルが自動的に管理されるプロジェク ト モード と異な り、ユーザーが制御する必要があ り ます。 ファ イルは、 read_xdc、 read_verilog、 および read_vhdl などのさまざまな Tcl コマンドを使用して直接参照する必要があ り ます。 Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンドリ ファレンス ガイ ド』 (UG835) を参照して ください。

X-Ref Target - Figure 3-37

図 3-37 : カスタム エディ ターの設定

システム レベル デザイン入力 japan.xilinx.com 64UG895 (v2012.2) 2012 年 7 月 25 日

Page 65: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

非プロジェク ト モードでのソースの操作

次は、 さまざまなソース ファ イルを読み込む非プロジェク ト モードのスク リプ ト例です。

# 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.vhdlread_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_synthreport_timing_summary -file $outputDir/post_synth_timing_summary.rptreport_power -file $outputDir/post_synth_power.rpt## STEP#3: run placement and logic optimzation, report utilization and timing estimates, write checkpoint design#opt_designpower_opt_designplace_designphys_opt_designwrite_checkpoint -force $outputDir/post_placereport_timing_summary -file $outputDir/post_place_timing_summary.rpt## STEP#4: run router, report actual utilization and timing, write checkpoint design, run drc, write verilog and xdc out#route_designwrite_checkpoint -force $outputDir/post_routereport_timing_summary -file $outputDir/post_route_timing_summary.rptreport_timing -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.rptreport_clock_utilization -file $outputDir/clock_util.rptreport_utilization -file $outputDir/post_route_util.rptreport_power -file $outputDir/post_route_power.rptreport_drc -file $outputDir/post_imp_drc.rptwrite_verilog -force $outputDir/bft_impl_netlist.vwrite_xdc -no_fixed_only -force $outputDir/bft_impl.xdc## STEP#5: generate a bitstream# write_bitstream -force $outputDir/bft.bit

システム レベル デザイン入力 japan.xilinx.com 65UG895 (v2012.2) 2012 年 7 月 25 日

Page 66: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

第 4 章

RTL デザインのエラボレーシ ョ ン

概要Vivado™ IDE には、 RTL デザインの解析機能が多く含まれます。 たとえば、 次を実行できます。

• [Schematic] および [Hierarchy] ビューを使用したデザイン詳細の視覚化

• ビュー間のクロスプローブ

• デザイン ルール チェッ ク (DRC) の実行

• メ ッセージのチェッ ク

• [Find] コマンドを使用した生成された RTL ネッ ト リ ス トの検索

プロジェク ト モードでのデザインのエラボレーションプロジェク トでイネーブルになっている RTL ソース ファ イルは、 合成中にコンパイルされているかど うかにかかわらず、デザインの一部と してすべてエラボレート されます。 エラボレーシ ョ ンおよびコンパイルに関する メ ッセージは、[Messages] ビューに表示されます。エラボレーシ ョ ンに使用される HDL 言語は、[Project Settings] ダイアログ ボックスの [General] ページで選択できます。 詳細は、 第 2 章の 「[General] ページ」 を参照して ください。

エラボレーシ ョ ン結果は、 デザインと一緒には保存されません。 エラボレート済みデザインを開くたびに、 エラボレーシ ョ ンが再実行されます。 エラボレート済みデザインを合成する と、 合成済みデザインと して保存されます。

デザイン ソース ファ イルをプロジェク トにインポート した後、 次のいずれかのコマンドを使用してデザインをエラボレートできます。

• [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] ビューを示しています。

システム レベル デザイン入力 japan.xilinx.com 66UG895 (v2012.2) 2012 年 7 月 25 日

Page 67: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのデザインのエラボレーシ ョ ン

ほとんどの場合は、 Vivado IDE で自動的に 上位モジュールが特定されます。 候補が複数ある場合は、選択するこ とを尋ねる メ ッセージが表示されます。 上位モジュールは、[Sources] ビューのポップアップ メニューから [Set as Top]コマンドを使用して手動で定義するこ と もできます。

注記 : [Sources] ビューの [Hierarchy] タブでは、 上位モジュールが アイコンで表示されます。

エラボレーシ ョ ン メ ッセージの表示

[Messages] ビューにコンパイル結果が表示され、 RTL ソース ファ イルに問題がある場合は [Elaborated Design] セクシ ョ ンの下に表示されます (図 4-2)。

RTL エラボレーシ ョ ンの結果からは、エラー、警告、情報メ ッセージの表示/非表示を制御できます。[Messages] ビューの上部にあるチェッ ク ボッ クスのオン/オフを切り替え、 エラー、 ク リ ティカル警告、 警告、 情報メ ッセージを表示/非表示にします。

[Messages] ビューでエラーまたは警告メ ッセージを選択する と、 該当する RTL ソース ファ イルがテキス ト エディターに読み込まれ、 問題のソース コードがハイライ ト されます。

X-Ref Target - Figure 4-1

図 4-1 : [RTL Schematic] ビューのエラボレート済みデザイン

システム レベル デザイン入力 japan.xilinx.com 67UG895 (v2012.2) 2012 年 7 月 25 日

Page 68: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのデザインのエラボレーシ ョ ン

RTL ロジック階層の解析

Vivado IDE には、 デザインのロジッ ク階層を表示する複数のビューがあ り ます。

• [RTL Netlist] ビュー : 展開可能なロジッ ク ツ リーを表示します。

• [RTL Hierarchy] ビュー : ロジッ ク階層をグラフ ィカルに表示します。

• [RTL Schematic] ビュー : 回路図表示でロジッ クおよび階層を調べるのに使用します。

デフォルトでは Flow Navigator で [Elaborate Design] をク リ ッ ク してデザインをエラボレートする と、 [RTL Schematic]ビューにデザイン全体が表示されます。 1 つのビュー選択したオブジェク トはほかのビューでも選択され、 ロジッ クデザインを解析しやすくなっています。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)の 「[Netlist] ビュー」 および 「[Hierarchy] ビュー」 を参照してください。

エラボレート済みデザイン回路図の解析

[RTL Netlist] ビューで任意のロジッ ク階層を選択し、 [RTL Schematic] ビューで表示できます。 選択したロジッ クの[RTL Schematic] ビューを開くには、 次のいずれかを実行します。

• [Tools] → [Schematic] をク リ ッ ク します。

• [RTL Netlist] ビューでポップアップ メニューから [Schematic] をク リ ッ ク します。

[RTL Schematic] ビューの詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) の 「[Schematic]ビュー」 を参照して ください。

注記 : デザインがエラボレート されたら、 [Find] コマンドを使用してロジッ ク オブジェク ト を検索できます。

[RTL Hierarchy] ビューの使用

Vivado IDE には、 デザインの階層を表示するのに便利な [RTL Hierarchy] ビューが含まれます。 選択したロジッ クの[RTL Hierarchy] ビューを開くには、 次のいずれかを実行します。

• [Tools] → [Show Hierarchy] をク リ ッ ク します。

• [RTL Netlist] または [Schematic] ビューでポップアップ メニューから [Show Hierarchy] をク リ ッ ク します。

これらのビューでは、 クロスプローブがサポート されています。 [RTL Netlist] または [Schematic] ビューでロジッ クを選択する と、 それが [RTL Hierarchy] ビューでハイライ ト されます。

X-Ref Target - Figure 4-2

図 4-2 : エラボレート されたデザインのメ ッセージ

システム レベル デザイン入力 japan.xilinx.com 68UG895 (v2012.2) 2012 年 7 月 25 日

Page 69: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのデザインのエラボレーシ ョ ン

RTL ソース ファイルの解析

[RTL Netlist] または [Schematic] ビューでロジッ ク エレ メン ト を選択し、 インスタンシエート されている RTL ソースファ イルでそのオブジェク トのインスタンシエーシ ョ ンを開く こ とができるほか、RTL ファ イルのロジッ クの定義を開く こ とができます。

選択したロジッ クのインスタンシエーシ ョ ンまたは定義を RTL ソース ファ イルで開くには、 オブジェ ク ト を右クリ ッ ク して [Go To Instantiation] または [Go To Definition] をポップアップ メニューから ク リ ッ ク します。 ソース ファイルが開き、 該当するインスタンスがハイライ ト されます。

RTL DRC の実行

このセクシ ョ ンでは、 Vivado IDE でデザイン ルール チェ ッ ク (DRC) のルールを選択して DRC 違反を解析する方法について説明します。

DRC ルールの選択

エラボレート済みデザインのデザイン ルール チェッ ク (DRC) を実行できます。これらの DRC は、消費電力の削減およびパフォーマンスの向上に焦点を当てています。

1. [Tools] → [Run DRC] をク リ ッ ク します。

注記 : または、 Flow Navigator の [RTL Analysis] セクシ ョ ンで [Report DRC] をク リ ッ クするか、 Tcl コンソールに「report_drc」 と入力します。

2. [Report DRC] ダイアログ ボッ クス (図 4-3) で実行するルールを選択し、 [OK] をク リ ッ ク します。

注記 : オプシ ョ ンで、 ファ イル名を入力して結果をファイルに保存するこ と もできます。 デフォルト とは違うパスを選択する場合は、 参照ボタンを使用して ください。

X-Ref Target - Figure 4-3

図 4-3 : [Report DRC] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 69UG895 (v2012.2) 2012 年 7 月 25 日

Page 70: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのデザインのエラボレーシ ョ ン

DRC 違反の解析

DRC で違反が検出された場合、 図 4-4 に示す [DRC] ビューが表示されます。 [DRC] ビューには、 検出されたルール違反が [Run DRC] ダイアログ ボッ クスで定義された違反カテゴ リ別に表示されます。

ルール違反は、 次のよ うに重要度で分類されます。

• 情報 : 発生する可能性のある問題

• 警告 : 解決する必要のある可能性がある問題

• エラー : インプリ メンテーシ ョ ンの障害となる問題

ヒ ン ト : 警告および情報メ ッセージをオフにしてレポー ト されたエラー メ ッセージのみを確認するには、 [HideWarning and Informational Messages] ツールバー ボタン をク リ ッ ク します。

[Severity] 列のヘッダーをク リ ッ クする と、 違反の重要度で並べ替えるこ とができます。

• 列ヘッダーを一度ク リ ッ クする と重要度の低い方から並べられます。

• も う 1 回ク リ ッ クする と降順で並べ替えられます。

注記 : 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) の 「データ表ビュー」 を参照してください。

[DRC] ビューでは違反が色分けされており、 エラー、 警告、 情報メ ッセージを確認しやすくなっています。

• 黄色のマーカー : 情報メ ッセージ

• オレンジのマーカー : 警告

• 赤色のマーカー : エラー

X-Ref Target - Figure 4-4

図 4-4 : エラボレート されたデザインの DRC 違反を示す [DRC] ビュー

システム レベル デザイン入力 japan.xilinx.com 70UG895 (v2012.2) 2012 年 7 月 25 日

Page 71: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

プロジェク ト モードでのデザインのエラボレーシ ョ ン

[DRC] ビューで違反メ ッセージをク リ ッ クする と、デフォルトで違反プロパティが [Violation Properties] ビューに表示されます (図 4-5)。 [DRC] ビューでポップアップ メ ニューから [Violation Properties] を ク リ ッ ク しても、 [ViolationProperties] ビューを開く こ とができます。

このビューには、 DRC ルール違反の概要 ([General] タブ)と、 違反しているデザイン エレ メン トの詳細 ([Details] タブ)が表示されます。 [Details] タブには、 DRC に違反している特定のデザイン オブジェク トへのリ ンクが含まれます。 リンクをク リ ッ クする と、 そのデザイン オブジェク トが [RTL Netlist] ビュー、 [Device] ビュー、 [Schematic] ビュー、およびソース RTL ファイルで選択されます。

X-Ref Target - Figure 4-5

図 4-5 : [Violation Properties] ビュー

システム レベル デザイン入力 japan.xilinx.com 71UG895 (v2012.2) 2012 年 7 月 25 日

Page 72: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

非プロジェク ト モードでのデザインのエラボレーシ ョ ン

非プロジェク ト モードでのデザインのエラボレーシ ョ ン非プロジェク ト モードでは、 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.vhdlread_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 –rtlstart_gui# Use stop_gui to quit the GUI and return back to the Vivdao IDE Tcl command line

システム レベル デザイン入力 japan.xilinx.com 72UG895 (v2012.2) 2012 年 7 月 25 日

Page 73: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

第 5 章

デバッグ情報の挿入と設定

概要FPGA デザインのデバッグは複数の手順の繰り返しプロセスです。 ほとんどの複雑な問題と同様、 1 度にデザイン 全体を処理するのではなく、 FPGA デザインのデバッグ プロセスを小さ く分け、小さいセクシ ョ ンごとに 1 つずつ処理していくのが 適な方法です。 問題のなかったデザイン例とデバッグ方法をデザイン フローを通して繰り返し使用し、 1 つずつモジュールを追加していって、 デザイン全体でう ま く動作するかど うかその都度確認します。 このデザインおよびデバッグ手法は、 次のデザイン フロー段階のどの組み合わせででも使用できます。

• RTL レベルのデザイン シ ミ ュレーシ ョ ン

• インシステム デバッグ

Set up Debug ウ ィザードまたは Tcl コマンドを使用する と、 デバッグ コアを作成、 接続し、 合成済みデザイン ネッ トリ ス ト に挿入できます。 デバッ グの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッ グ』(UG908) を参照して ください。

RTL レベルのデザイン シミ ュレーシ ョ ンシ ミ ュレーシ ョ ン検証プロセス中は、 デザインを機能的にデバッグできます。 Vivado™ IDE には、 完全なデザイン シミ ュレーシ ョ ン機能が含まれます。 Vivado IDE シ ミ ュレータを使用すると、 デザインの RTL シ ミ ュレーシ ョ ンを実行できます。 RTL レベル シ ミ ュレーシ ョ ン環境でデザインをデバッグする利点には、 デザイン全体を視覚化できる点やデザインおよびデバッグ サイクルを素早く繰り返すこ とができる点などがあり ます。 シ ミ ュレーシ ョ ン設定および起動方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) を参照してください。

インシステム デバッグVivado IDE には、FPGA デバイスのインプ リ メン ト後のデザインでインシステム デバッグを実行できるよ うにするロジッ ク解析機能も含まれています。インシステム デバッグの利点は、実際のシステム環境でシステム速度でインプ リメン ト後のタイ ミ ングの正確なデザインをデバッグできる点にあ り ます。インシステム デバッグでは、デザインのサイズおよび複雑さによって、 シ ミ ュレーシ ョ ン モデルを使用した場合と比べてデバッグ信号の表示精度が落ちたり、潜在的にデザイン、 インプリ メンテーシ ョ ン、 デバッグの繰り返しが長くなるこ とがあ り ます。

Vivado IDE には、デザインをデバッグする方法が複数あ り ます。 必要に応じて、 これらの方法のいずれかを使用してデザインをデバッグできます。 このセクシ ョ ンでは、 Vivado IDE のインシステム ロジッ ク デバッグ機能について説明します。詳細は、『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照して ください。

インシステム デバッグ フローのプローブ段階は、 次の 2 つの段階に分けられます。

1. プローブする信号またはネッ ト を識別

システム レベル デザイン入力 japan.xilinx.com 73UG895 (v2012.2) 2012 年 7 月 25 日

Page 74: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

インシステム デバッグ

2. デザインにデバッグ コアを追加する方法を決定

デバッグする信号の選択

合成前に HDL ソース レベルのデバッグ用に信号を識別するには、 mark_debug 属性を使用します。 HDL でデバッグ用にマークした信号に対応するネッ トは、 自動的に[Debug] ビューの [Unassigned Debug Nets] フォルダーの下に リス ト されます。

デバッグ用にネッ ト をマークするには、VHDL および Verilog ソース ファ イルで mark_debug 属性を使用してデバッグ用の HDL 信号をマークします。 mark_debug 属性の有効な値は TRUE または FALSE です。

Vivado 合成の mark_debug 構文例

次に、 Vivado 合成を使用する場合の VHDL および Verilog 構文例を示します。

VHDL の構文例

attribute mark_debug : string;attribute mark_debug of char_fifo_dout: signal is "true";

Verilog の構文例

(* mark_debug = "true" *) wire [7:0] char_fifo_dout;

合成済みデザインでのデバッグ用ネッ トのマーク

1. Flow Navigator の [Synthesis] セクシ ョ ンで [Open Synthesized Design] をク リ ッ ク します。

2. [Debug] ビューの [Unassigned Debug Nets] フォルダー (図 5-1) で、 デバッグ用にマークした HDL 信号に対応するネッ ト を確認します。

3. 合成済みデザインのネッ ト リ ス トにデバッグ用にネッ ト を追加でマークする場合は、次のいずれかの方法を使用します。

° [Netlist] ビューや [Schematic] ビューなどのデザイン ビューのいずれかでネッ ト を選択し、 ポップアップ メニューから [Mark Debug] をク リ ッ ク します。

° デザイン ビューのいずれかでネッ ト を選択し、そのネッ ト を [Unassigned Debug Nets] フォルダーにド ラ ッグアンド ド ロ ップします。

° 「デバッグ コアの挿入」 で説明される Set up Debug ウ ィザードのネッ ト セレク ターを使用します。

X-Ref Target - Figure 5-1

図 5-1 : [Unassigned Debug Nets] フォルダー

システム レベル デザイン入力 japan.xilinx.com 74UG895 (v2012.2) 2012 年 7 月 25 日

Page 75: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

インシステム デバッグ

デバッグ コアの挿入

デバッグ用ネッ ト をマーク したら、 次は、 ネッ ト をデバッグ コアに割り当てます。 Vivado IDE の Set up Debug ウ ィザードを使用する と、 デバッグ コアを自動的に作成し、 そのコアの入力にデバッグ ネッ ト を割り当てるこ とができます。

1. オプシ ョ ン : 割り当てのないネッ ト リ ス ト または直接ネッ ト をク リ ッ ク してデバッグするネッ ト を選択します。

2. [Tools] → [Set up Debug] をク リ ッ ク します。

3. Set Up Debug ウ ィザードで [Next] をク リ ッ ク します。

4. [Specify Nets to Debug] ページ (図 5-2) で、 デバッグ ネッ ト を右ク リ ッ ク し、 [Select Clock Domain] をク リ ッ ク して、 ネッ トの値をサンプリ ングするために使用するクロ ッ ク ド メ インを変更し、 [Next] をク リ ッ ク します。

Set Up Debug ウ ィザードは、 同期エレ メン トのパスを検索し、 デバッグ ネッ トに 適なクロ ッ ク ド メ インを自動的に選択しよ う と します。 この選択は必要に応じて [Select Clock Domain] ダイアログ ボッ クスで変更できますが、 表に含まれる各クロ ッ ク ド メ インはそれぞれ別の ILA 2.0 コア インスタンスになるこ とにご注意ください。

注記 : オプシ ョ ンで [Add/Remove Nets] をク リ ッ クする と、 さ らにネッ ト を追加した り、 表から既存ネッ ト を削除したりできます。

5. [Set Up Debug Summary] ページでサマリ情報を確認し、 [Finish] をク リ ッ クする と、 合成済みデザイン ネッ ト リス トで ILA 2.0 コアが作成されて接続されます。

注記 : この ChipScope™ ツールのウ ィザードは、 クロ ッ ク ド メ インにつき 1 つの ILA コアを挿入します。デバッグ用に選択されたネッ トは、 挿入された ILA 2.0 コアのプローブ ポート に自動的に割り当てられます。 [Set UpDebug Summary] ページはコア生成のま とめのページで、 検出されたクロ ッ ク数、 生成および削除される ILA コアの数が表示されます。

デバッグ コアのプロパティの変更

各デバッグ コアには、 コアの動作をカスタマイズするために変更可能なプロパティがあ り ます。 debug_core_hubデバッグ コアのプロパティの変更方法については、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照してください。

ILA 2.0 デバッグ コアのプロパティを変更するこ と もできます。 たとえば、 ILA 2.0 デバッグ コアでキャプチャされるサンプル数を変更するには、 次を実行します。

X-Ref Target - Figure 5-2

図 5-2 : Set Up Debug ウィザード : [Specify Nets to Debug] ページ

システム レベル デザイン入力 japan.xilinx.com 75UG895 (v2012.2) 2012 年 7 月 25 日

Page 76: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

インシステム デバッグ

1. [Debug] ビューで ILA 2.0 コア (例 : u_ila_0) を選択します。

2. [Instance Properties] ビューで [Debug Core Options] タブをク リ ッ ク します。

3. [C_DATA_DEPTH] プルダウン リ ス トから、 キャプチャされるサンプル数を選択します (図 5-3)。\X-Ref Target - Figure 5-3

図 5-3 : ILA 2.0 コアのデータ パスの変更

システム レベル デザイン入力 japan.xilinx.com 76UG895 (v2012.2) 2012 年 7 月 25 日

Page 77: Vivado Design Suite - Xilinx · 2020-07-03 · システム レベル デザイン入力 japan.xilinx.com 5 UG895 (v2012.2) 2012 年 7 月 25 日 第1 章 はじめに 概要 Vivado™

システム レベル デザイン入力 japan.xilinx.com 77UG895 (v2012.2) 2012 年 7 月 25 日

付録 A

その他のリソース

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 次のザイ リ ンクス サポート サイ ト を参照して ください。

http://japan.xilinx.com/support

ザイ リ ンクス資料で使用される用語集については、 次を参照して ください。

http://japan.xilinx.com/company/terms.htm.

ソリューシ ョ ン センターデバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 ト ピックには、 デザイン アシスタンス、 アドバイザリ、 ト ラブルシュート ヒ ン ト などが含まれます。

リファレンス• Vivado™ Design Suite 2012.2 資料ページ (http://japan.xilinx.com/support/documentation/dt_vivado_vivado2012-2.htm)

• 『EDK コンセプ ト、 ツール、 テクニッ ク』 (UG683)

• 『エンベデッ ド システム ツール リ ファレンス マニュアル』 (UG111)