Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン...

95
Vivado Design Suite ユーザー ガイド デザイン フ ローの概要 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。 UG892 (v2018.2) 2018 年 6 月 6 日

Transcript of Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン...

Page 1: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

Vivado Design Suite ユーザー ガイド

デザイン フローの概要

UG892 (v2018.1) 2018 年 4 月 4 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

UG892 (v2018.2) 2018 年 6 月 6 日

Page 2: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

デザイン  フローの概要 2UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.com

改訂履歴

次の表に、 この文書の改訂履歴を示します。

セクシ ョ ン 改訂内容

2018 年 4 月 4 日 バージョ ン 2018.1

全体的にアップデート メニュー コマンドをアップデート。

「はじめに」 章の後半のデザイン フロー セクシ ョ ンに リ ンクを追加。

「その他の RTL からビッ ト -ス ト リームまでのデザイン フ

ロー」

SDSoC® および SDAccel® 開発環境と Model Composer に関す

る情報を追加。

「プロジェク ト を write_project_tcl コマンドを使用して再作

成」

write_project_tcl コマンドを使用する際に Tcl スク リプ

ト を読み込む先のディ レク ト リに関する説明を追加。

UG892 (v2018.2) 2018 年 6 月 6 日

2018/06/06: Vivado® Design Suite 2018.2 リリース。2018.1 リリースから内容の変更なし。

Page 3: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1章: Vivado システムレベル デザイン  フローはじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

業界標準に基づいたデザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

デザイン フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

第 2章: 使用モデルVivado Design Suite の使用モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Vivado 統合設計環境 (IDE) の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Tcl の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

プロジェク ト モード と非プロジェク ト モードの理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

サードパーティ デザイン ソフ ト ウェア ツールの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

PCB 設計との関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 3章: プロジェク ト  モードの使用はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

プロジェク ト モードの利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

プロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Flow Navigator の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

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

IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

IP インテグレーターを使用した IP サブシステムの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

ロジッ ク シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

ロジッ ク合成およびインプリ メンテーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

ログ ファ イル、 メ ッセージ、 レポート、 プロパティの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

デザイン解析および制約定義の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

デバイスのプログラム、 ハード ウェア検証、 およびデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

プロジェク ト モードでの Tcl コマンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

第 4章: 非プロジェク ト  モードの使用概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

非プロジェク ト モードの利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

デザイン ソースの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

IP および IP サブシステムの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

ロジッ ク シ ミ ュレーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ロジッ ク合成およびインプリ メンテーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

レポートの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

デザイン チェッ クポイン トの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Vivado IDE を使用したデザイン解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

非プロジェク ト モードでの Tcl コマンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

デザイン  フローの概要 3UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 4: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5章: ソース管理およびリビジ ョ ン管理の推奨事項リ ビジ ョ ン管理システムの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

デザインおよび IP の 新 Vivado Design Suite リ リースへのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

付録 A: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

ト レーニング リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

デザイン  フローの概要 4UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 5: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1章

Vivado システムレベル デザイン フロー

はじめに

このユーザー ガイ ドでは、 Vivado® Design Suite を使用して新しいデザインを作成し、 ザイ リ ンクス デバイスにプロ

グラムする概要が説明されています。 また、 デザイン ソースや IP コアの準備、 インプリ メンテーシ ョ ン、 管理とい

う点に触れながら、 使用モデル、 デザイン機能、 ツール オプシ ョ ンを簡単に説明します。

Vivado Design Suite では、ザイ リ ンクス デバイス デザインのインプリ メンテーシ ョ ンおよび検証に関するタスクをさ

まざまな方法で実行できます。 「RTL からビッ ト -ス ト リームまでのデザイン フロー」 に示すよ うに、 従来のレジス

タ転送レベル (RTL) からビッ ト ス ト リーム FPGA デザイン フローを使用できるほか、 「その他の RTL からビッ ト -ス

ト リームまでのデザイン フロー」 に示すよ うな、 IP (Intellectual Property) 中心のデザインや C ベースのデザインに焦

点を置いたシステム レベルの統合フローも使用できます。

デザインの解析および検証は、 フローの各段階で実行できます。 デザイン解析機能には、 ロジッ ク シ ミ ュレーシ ョ

ン、 I/O およびクロ ッ ク プランニング、 消費電力解析、 制約定義、 タイ ミ ング解析、 デザイン ルール チェッ ク

(DRC)、 デザイン ロジッ クの表示、 インプリ メンテーシ ョ ン結果の解析と変更、 およびプログラムおよびデバッグ

などがあ り ます。

次の資料および QuickTake ビデオには、 Vivado Design Suite フローに関するその他の情報が含まれます。

• Vivado Design Suite QuickTake ビデオ: Vivado デザイン フローの概要

• 『Vivado Design Suite チュート リ アル: デザイン フローの概要』 (UG888) [参照 10]

• Vivado Design Suite QuickTake ビデオ: Vivado IDE 入門

• Vivado Design Suite QuickTake ビデオ: UltraFast Vivado 設計手法

ソ リ ューシ ョ ン全体は、 Vivado 統合設計環境 (IDE) という グラフ ィカル ユーザー インターフェイス (GUI) に統合さ

れています。 Vivado IDE では、 デザインおよび IP を作成、 インプリ メン ト 、 および検証するインターフェイスが提

供されています。また、すべてのフローは Tcl コマンドを使用しても実行できます。Tcl コマンドは Vivado IDE の Tcl

コンソールまたは Vivado Design Suite Tcl シェルから使用できます。 Tcl スク リプ ト を使用して、 デザイン解析を含む

デザイン フロー全体を実行したり、 フローの一部のみを実行できます。

業界標準に基づいたデザイン

Vivado Design Suite では、 次の業界標準がサポート されます。

• Tcl

• AXI4、 IP-XACT

デザイン  フローの概要 5UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 6: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

• Synopsys デザイン制約 (SDC)

• Verilog、 VHDL、 VHDL-2008、 SystemVerilog

• SystemC、 C、 C++

Vivado Design Suite ソ リ ューシ ョ ンは Tcl ベースで、SDC および XDC (ザイ リ ンクス デザイン制約) フォーマッ トがサ

ポート されます。 合成で Verilog、 VHDL、 および SystemVerilog が幅広くサポート されるので、 FPGA が採用しやす

くなっています。 Vivado 高位合成 (HLS) が可能なので、 C、 C++、 または System C 言語を使用してロジッ クを定義で

きます。 AXI4 および IP-XACT などの標準 IP インターコネク ト プロ ト コルを使用する と、 システム レベルのデザイ

ンがよ り短時間で簡単に統合できます。 これらの業界標準がサポート されるこ とによ り、 EDA (電子システム設計自

動化) エコシステムでの Vivado Design Suite のサポートが向上します。 また、 Vivado Design Suite には多くのサード

パーティ ツールが統合されています。

デザイン  フローの概要 6UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 7: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

デザイン  フロー

図 1-1 に、 Vivado Design Suite での全体的なデザイン フローを示します。ザイ リ ンクス デザイン ハブには、設計タス

クやト ピッ ク別に資料が整理され、 そのリ ンクがあ り ます。 ザイ リ ンクス ウェブサイ トで デザイン ハブ ページを

参照します (日本語資料にアクセスできます)。

X-Ref Target - Figure 1-1

図 1‐1: Vivado Design Suite のデザイン フロー

Hardware Bring-Up and Validation

Software DevelopmentSystem Design Entry

Configuring Xilinx and Third-Party IP

Development Software and Processor OS

IP Packager – IP Integrator

Configuring IP Subsystems Embedded Processor Design

RTLDevelopment

ImplementationLogic Simulation

Partial Reconfiguration Assign Logical and Physical Constraints

Logic Synthesis

Implementation

Timing Closure and Design Analysis

Generate Bitstream, Programming, and Debug

Processor Boot and Debug Export to SDK

C-Based Designwith High-Level

Synthesis

Model-Based Design withMATLAB® and Simulink® Software

System Generatorfor DSP Model Composer

デザイン  フローの概要 7UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 8: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

RTL からビッ ト ‐スト リームまでのデザイン  フロー

RTL デザイン

RTL ソース ファ イルを指定してプロジェク ト を作成したら、 これらのソースを RTL コード開発、 解析、 合成、 およ

びインプ リ メンテーシ ョ ンに使用できます。 Vivado Design Suite での使用が 適になるよ うに RTL および XDC を作

成するための推奨 RTL および制約テンプレートのライブラ リがザイ リ ンクスから提供されています。 Vivado 合成お

よびインプ リ メンテーシ ョ ンでは、 Verilog、 VHDL、 SystemVerilog、 および XDC などの複数のソース ファ イルの種

類がサポート されます。 RTL プロジェク トの作成方法および操作方法は、 『Vivado Design Suite ユーザー ガイ ド : シス

テム レベル デザイン入力』 (UG895) [参照 13] のこのセクシ ョ ンを参照してください。

『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) [参照 30] では、階層 RTL ソースおよびザイ リ ンクス デザイン制

約 (XDC) を定義するために 適なコーディング手法および設計テクニッ ク、 Vivado Design Suite 特有の機能の使用方

法に関する情報、 およびプログラムされたデザインのパフォーマンスを向上するためのテクニッ クを示します。

IP デザインとシステム レベル デザインの統合

Vivado Design Suite は、 IP をスタンドアロンのモジュールと して、 またはシステム レベル デザインの一部と して設

定、 インプ リ メン ト 、 検証、 および統合するための環境を提供します。 IP には、 エンベデッ ド プロセッサ、 DSP デ

ジタル信号処理モジュール、 C ベースのアルゴ リズム デザインなども含まれます。 カスタム IP は IP-XACT プロ ト コ

ルに従ってパッケージされ、 Vivado IP カタログから使用できます。 IP は IP カタログからすばやくアクセスでき、 コ

ンフ ィギュレーシ ョ ン、 インスタンシエーシ ョ ン、 および検証を実行できます。 ザイ リ ンクス IP では AXI4 イン

ターコネク ト標準が使用され、 よ り高速なシステム レベルの統合ができるよ うになっています。 既存の IP は、 RTL

またはネッ ト リ ス トのいずれかの形式のデザインで使用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP

を使用した設計』 (UG896) [参照 14] を参照してください。

IP サブシステム デザイン

Vivado IP インテグレーター環境では、 AMBA® AXI4 インターコネク ト プロ ト コルを使用してさまざまな IP を IP サ

ブシステムに統合できます。 ブロ ッ ク デザイン形式のインターフェイスを使用して IP をインタラ クティブに設定お

よび接続でき、 回路図と同様、 DRC に従った接続を描画するこ とによ り、 インターフェイス全体を簡単に接続でき

ます。 標準インターフェイスを使用する と、 従来の RTL ベースの接続に比べ、 IP の接続に要する時間を短縮できま

す。 コネクシ ョ ン オート メーシ ョ ン機能および DRC セッ ト を使用するこ とによ り、 IP を正し く設定して接続できま

す。 これらの IP ブロッ ク デザインは、 この後検証され、 パッケージされて、 1 つのデザイン ソース と して処理され

ます。 ブロ ッ ク デザインは、 デザイン プロジェク トで使用したり、 ほかのプロジェク ト と共有できます。 IP インテ

グレーター環境は、 エンベデッ ド デザインおよびザイ リ ンクス評価ボード インターフェイスのメ イン インターフェ

イスです。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』

(UG994) [参照 32] を参照してください。

I/O およびクロック  プランニング

Vivado IDE には I/O ピン プランニング環境が含まれており、 デバイス パッケージ ピンまたは内部ダイ パッ ドに I/O

ポート を正し く割り当てるこ とができ、 パッケージおよび I/O 関連データを解析するための表が提供されています。

メモ リ インターフェイスは、 適なデータフローを得るため、 特定の I/O バンクにインタラ クティブに割り当てる

こ とができます。 Vivado ピン プランナー ツールのビューおよび表を使用する と、 デバイスおよびデザインに関する

I/O データを解析できます。 また、 I/O DRC および同時スイ ッチ ノ イズ (SSN) の解析コマンド もあ り、 I/O 割り当て

を検証できるよ うになっています。詳細は、『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』

(UG899) [参照 17] を参照してください。

デザイン  フローの概要 8UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 9: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

ザイリンクス プラッ ト フォーム ボード  サポート

Vivado Design Suite では、 既存のザイ リ ンクス評価プラ ッ ト フォーム ボードをデザインのターゲッ ト と して選択でき

ます。 プラ ッ ト フォーム ボード フローでは、 ターゲッ ト ボードにインプリ メン ト されたすべての IP インターフェ

イスにアクセス可能で、 デザインで使用される IP をすばやく選択およびコンフ ィギュレーシ ョ ンできます。 IP コン

フ ィギュレーシ ョ ン パラ メーターと、 I/O 規格およびパッケージ ピン制約などの物理ボード制約は、 このフローを

通して自動的に割り当てられます。 コネクシ ョ ン オート メーシ ョ ンを使用する と、 選択した IP への接続をすばやく

実行できます。詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 13] のこ

のセクシ ョ ンを参照してください。

合成

Vivado 合成では、 RTL デザイン全体のグローバルまたはト ップダウンの合成が実行されます。 Vivado Design Suite で

は、デフォルトでアウ ト オブ コンテキス ト (OOC) またはボ ト ムアップのデザイン フローが使用され、ザイ リ ンクス

IP カタログからの IP コアおよび Vivado IP インテグレーターからのブロ ッ ク デザインが合成されます。 また、 階層

RTL デザインの特定のモジュールを OOC モジュールと して合成するこ と も可能です。 OOC フローでは、 階層デザ

インのデザイン モジュール、 IP コア、 ブロ ッ ク デザインを、 上位デザインから独立させて合成、 インプリ メン

ト 、 および解析できます。 OOC 合成されたネッ ト リ ス トは保存され、 結果を保存し、 ランタイムを短縮するため、

上位インプ リ メンテーシ ョ ン中に使用されます。 OOC フローは、 階層チーム デザイン、 IP および IP サブシステ

ムの合成およびインプ リ メン ト 、 大型の複雑なデザインのモジュール管理をサポートする効率的な手法です。 OOC

フローの詳細は、 「アウ ト オブ コンテキス ト デザイン フロー」 を参照してください。

Vivado Design Suite では、 EDIF または構造型 Verilog などのサードパーティ合成ソースもサポート されます。 ただし、

Vivado IP カタログからの IP コアは Vivado 合成を使用して合成する必要があ り、サードパーティ合成ツールで合成す

るこ とはサポート されていません。 7 シ リーズ デバイスのメモ リ IP など、 この要件の例外もいくつかあ り ます。 詳

細は、 IP のデータシート を参照して ください。

重要: ISE ネッ ト リ ス ト形式 (NGC) は、 7 シ リーズ デバイスではサポート されています。 UltraScale™ およびそれ以降

のデバイスではサポート されません。

デザイン解析およびシミ ュレーシ ョ ン

Vivado Design Suite では、 デザイン プロセスの各段階でデザインを解析、 検証、 変更できます。 回路のパフォーマン

スを改善するため、 デザイン ルールおよび設計手法のチェッ クを実行し、 ロジッ ク シ ミ ュレーシ ョ ン、 タイ ミ ング

および消費電力解析を実行できます。 この解析は、 RTL エラボレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ン

の後に実行できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』

(UG906) [参照 23] を参照してください。

Vivado シ ミ ュレータを使用する と、 デザイン フローのさまざまな段階でビヘイビアーおよび構造ロジッ ク シ ミ ュ

レーシ ョ ンを実行できます。 このシ ミ ュレータでは、 Verilog および VHDL 混合モードのシ ミ ュレーシ ョ ンがサポー

ト され、 結果が Vivado IDE の波形ビューアーに表示できます。 サードパーティ シ ミ ュレータを統合して Vivado IDE

から起動して使用するこ と もできます。 詳細は、 「ロジッ ク シ ミ ュレーシ ョ ンの実行」 を参照して ください。

配置および配線

合成済みネッ ト リ ス トが生成されたら、 Vivado インプリ メンテーシ ョ ンを使用してネッ ト リ ス ト をターゲッ ト パー

ツで使用可能なデバイス リ ソースに 適化および配置配線できます。 Vivado インプリ メンテーシ ョ ンは、 デザイン

の論理、 物理、 およびタイ ミ ング制約を満たすよ うに実行されます。

デザイン  フローの概要 9UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 10: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

難しいデザインに対しては、 インプリ メンテーシ ョ ン結果の改善に役立つアドバンス フロアプラン機能があ り ます。

具体的には、 特定エリ アに特定のロジッ クを制約したり、 特定のデザイン エレ メン ト を手動で配置し、 後続のイン

プ リ メンテーシ ョ ン run のためにそれを固定しておく機能などがあ り ます。 詳細は、 『Vivado Design Suite ユーザー

ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 23] を参照してください。

ハードウェア デバッグおよび検証

インプ リ メンテーシ ョ ン後には、 Vivado ロジッ ク解析を使用するか、 またはスタンドアロンの Vivado Lab Edition 環

境でデバイスをプログラムおよび解析できます。 デバッグ信号は RTL デザインで特定するか、 または合成後に挿入

でき、 フローを通して処理されます。 デバッグ コアは、 ECO (エンジニア リ ング チェンジ オーダー ) フローを使用

して RTL ソース ファ イル、 合成済みネッ ト リ ス ト 、 またはインプリ メン ト済みデザインに追加できます。 ECO フ

ローでは、 デバッグ プローブに接続されているネッ ト を置き換えたり、 外部プローブ用に内部信号をパッケージ ピ

ンに配線するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

[参照 24] を参照して ください。

その他の RTL からビッ ト ‐スト リームまでのデザイン  フロー

Vivado Design Suite では、 次のセクシ ョ ンで説明するよ うに、 ほかにもいくつかのデザイン フローがサポート されて

います。 これらのフローはそれぞれ RTL からビッ ト ス ト リームまでのフローから派生したものなので、 こ こに説明

するインプ リ メンテーシ ョ ンおよび解析手法はほかのデザイン フローにも適用されます。

SDAccel および SDSoC デザイン

SDAccel™ および SDSoC™ 開発環境には、 C、 C++、および OpenCL™ API 環境用の GPU のよ うな馴染みのあるソフ

ト ウェア アプリ ケーシ ョ ン開発およびランタイム経験が提供されています。 詳細は、 『SDAccel 環境ユーザー ガイ

ド』 (UG1023) [参照 1] および 『SDSoC 環境ユーザー ガイ ド』 (UG1027) [参照 2] を参照して ください。

エンベデッ ド  プロセッサ デザイン

エンベデッ ド プロセッサ デザインを作成する際は、 ツール フローは少し異なり ます。 エンベデッ ド プロセッサに

は効果的に起動および実行するためソフ ト ウェアが必要なので、 ソフ ト ウェア デザイン フローはハードウェア デザ

イン フローと合わせて実行する必要があ り ます。 ハード ウェア フローと ソフ ト ウェア フロー間のデータ ハンドオ

フおよび 2 つのド メ イン間での検証が重要となり ます。

エンベデッ ド プロセッサ ハードウェア デザインを作成するには、 Vivado Design Suite の IP インテグレーターを使用

します。 Vivado IP インテグレーター ブロ ッ ク デザインでは、ユーザーがプロセッサ コアとそのインターフェイスを

インスタンシエート、 コンフ ィギュレーシ ョ ン、 アセンブルします。 IP インテグレーターでは、 規則に基づいて接

続が実行され、 設計アシスタンスが提供されます。 インプリ メンテーシ ョ ンによ りハード ウェア デザインがコンパ

イルされたら、 ソフ ト ウェア開発および検証フローに使用するためザイ リ ンクス ソフ ト ウェア開発キッ ト (SDK) に

エクスポート します。 シ ミ ュレーシ ョ ンおよびデバッグ機能を使用する と、 2 つのド メ イン間でデザインをシ ミ ュ

レーシ ョ ンおよび検証できます。

ビデオ: Vivado IP インテグレーターとエンベデッ ド プロセッサ デザイン フローの ト レーニング ビデオは、 Vivado

Design Suite QuickTake ビデオ: Vivado IP インテグレーターを使用した Zynq デバイスの設計を参照してください。

エンベデッ ド プロセッサ デザイン フローの詳細は、 次の資料を参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898) [参照 16]

• 『Vivado Design Suite チュート リ アル : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940) [参照 28]

デザイン  フローの概要 10UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 11: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

• 『UltraFast エンベデッ ド デザイン設計手法ガイ ド』 (UG1046) [参照 33]

Model Composer を使用したモデル ベースのデザイン

Model Composer は、 MathWorks MATLAB® および Simulink® 製品でデザインを短時間で試行できるモデル ベースの

デザイン ツールで、 自動コード生成によ り、 ザイ リ ンクス デバイスのプロダクシ ョ ンまでの時間を短縮できます。

詳細は、 『Model Composer ユーザー ガイ ド』 (UG1262) [参照 3] を参照して ください。

ザイリンクスの System Generator を使用したモデル ベースの DSP デザイン

Vivado Design Suite に含まれている System Generator ツールを使用する と、 DSP ファンクシ ョ ンをインプリ メン トで

きます。 スタンドアロン ツールと して System Generator を使用して DSP ファンクシ ョ ンを作成し、 System Generator

デザインを IP モジュールにパッケージして IP カタログに含めるこ とができます。 生成された IP は別の Vivado デザ

インにサブモジュールと して追加できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : System Generator を使用

したモデル ベースの DSP デザイン』 (UG897) [参照 15] を参照してください。

高位合成の C ベース デザイン

Vivado Design Suite の C ベースの高位合成ツール (Vivado HLS) を使用する と、 C、 C++、 および SystemC を使用して

デザインのさまざまな DSP ファンクシ ョ ンを記述できます。 C コードは Vivado HLS (高位合成) ツールで作成および

検証します。 高水準言語を使用する と、 抽象的なアルゴ リズム、 データ型、 仕様などを記述でき、 さまざまなパラ

メーターを試してデザイン パフォーマンスおよびエリ アを 適化できます。

Vivado HLS では、 C ベースのテス トベンチおよびシ ミ ュレーシ ョ ンを使用して、 デザイン環境から直接生成済みの

RTL をシ ミ ュレーシ ョ ンできます。 C から RTL への合成によ り C ベース デザインを RTL モジュールに変換したら、

それをパッケージして、 デザインの残りの部分と共にインプリ メンテーシ ョ ンするか、 IP インテグレーターのブ

ロ ッ ク デザインにインスタンシエートできます。

ビデオ: Vivado HLS に関するさまざまな ト レーニング ビデオは、 ザイ リ ンクス ウェブサイ トの Vivado Design Suite

QuickTake ビデオ チュート リ アル ページから視聴できます。

Vivado HLS ツール フローおよび機能については、 次を参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : 高位合成』 (UG902) [参照 4]

• 『Vivado Design Suite チュート リ アル: 高位合成』 (UG871) [参照 9]

パーシャル リコンフ ィギュレーシ ョ ン  デザイン

パーシャル リ コンフ ィギュレーシ ョ ンでは、 パーシャル ビッ ト ス ト リームを使用して動作中のザイ リ ンクス デバイ

スの一部を リアルタイムで リ コンフ ィギュレーシ ョ ンし、 動作中のデザインの機能を変更できます。 リ コンフ ィ

ギャラブル モジュールは適切にプランニングし、 要件どおりに機能するよ うにして、 大パフォーマンスを達成す

る必要があ り ます。

パーシャル リ コンフ ィギュレーシ ョ ン フローでは、 リ コンフ ィギャラブル モジュールが適切に設計され、 パーシャ

ル ビッ ト ス ト リーム アップデート中にグ リ ッチのない動作を可能にするため、 厳しい設計プロセスが必要となり ま

す。 これには、 リ コンフ ィギャラブル モジュールへのインターフェイス信号数の削減、 デバイス リ ソースのフロア

プラン、 ピン配置、 パーシャル リ コンフ ィギュレーシ ョ ン DRC への準拠などが含まれます。 デバイスのプラグラム

方法も、 コンフ ィギュレーシ ョ ン I/O ピンが正し く割り当てられるよ うにするため、 適切にプランニングしておく必

要があ り ます。

デザイン  フローの概要 11UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 12: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 1 章:Vivado システムレベル デザイン フロー

ビデオ: パーシャル リ コンフ ィギュレーシ ョ ン フローについては、 Vivado Design Suite QuickTake ビデオ: Vivado での

パーシャル リ コンフ ィギュレーシ ョ ンを参照してください。

パーシャル リ コンフ ィギュレーシ ョ ン フローおよび機能については、 次を参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 25]

• 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 29]

階層デザイン

階層デザイン (HD) フローを使用する と、 デザインを管理しやすい小型のブロッ クに分割して個別に処理できます。

階層デザイン フローでは、 適切なモジュール インターフェイス デザイン、 制約定義、 フロアプラン、 およびいくつ

かの特別コマンド とデザイン手法が必要になり ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 階層デザイン』

(UG905) [参照 22] を参照してください。

階層デザインのモジュラー アプローチを使用する と、 モジュールをデザインのほかの箇所から独立させて解析でき、

ト ップダウン デザインでモジュールを再利用できます。 各チーム メ ンバーがデザインの特定セクシ ョ ンに対して作

業を実行して、 タイ ミ ング ク ロージャおよびその他のデザイン目標を達成でき、 その結果を再利用できます。

Vivado には、 上位デザインのアウ ト オブ コンテキス ト (OOC) で論理モジュールを合成する機能など、 階層デザイ

ン アプローチを可能にする機能がいくつかあ り ます。 特定のモジュールまたはデザイン階層レベルを選択し、 それ

らを OOC で合成できます。 モジュール パフォーマンスを 適化して検証するため、 モジュール レベルの制約を適

用できます。 その後、 インプ リ メンテーシ ョ ン中にモジュール デザイン チェッ クポイン ト (DCP) が適用され、 上

位ネッ ト リ ス トが生成されます。 この方法を利用する と、 上位合成の実行時間を短縮し、 完成しているモジュー

ルを再合成する手間を省く こ とができます。

デザイン  フローの概要 12UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 13: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2章

使用モデル

Vivado Design Suite の使用モデル

推奨: Vivado ツールで 初のデザインを開始する前に、『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 26]

を参照してください。

Vivado® Design Suite では、 異なるデザイン フローがサポート されているのと同様に、 デザインの管理方法および

Vivado ツールをどのよ うに使用するかによってさまざまな使用モデルもサポート されています。 このセクシ ョ ンで

は、 Vivado ツールで使用モデルを利用するにあたり、 決定しておくべきこ とをいくつか説明します。

次のよ うな事項を決定しておく必要があ り ます。

• スク リプ ト またはコマンドを使用するか、 グラフ ィカル ユーザー インターフェイス (GUI) を使用するか。 詳細

は、 「Vivado 統合設計環境 (IDE) の使用」 および 「Tcl の使用」 を参照してください。

• プロジェク ト構造を使用して Vivado Design Suite でデザイン ソース、 ステータス、 結果が管理されるよ うにす

るか、 ユーザー自身がデザインを作成して管理するか。 「プロジェク ト モード と非プロジェク ト モードの理解」

を参照してください。

• ポータビ リティを持たせるために IP コアを設定して 1 つのデザイン プロジェク ト内にそれらを含めるか、 複数

プロジェク トで管理しやすくなるよ うに設定済み IP コアのリモート リ ポジ ト リ をプロジェク ト外に構築する

か。

• ソース ファイルを リ ビジ ョ ン管理システムを使用して管理するか。 「 リ ビジ ョ ン管理システムの使用」 を参照し

てください。

• 合成またはシ ミ ュレーシ ョ ンにサードパーティ ツールを使用するか。 「サードパーティ デザイン ソフ ト ウェア

ツールの使用」 を参照してください。

デザイン  フローの概要 13UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 14: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

Vivado 統合設計環境 (IDE) の使用

Vivado 統合設計環境 (IDE) は 「プロジェク ト モード」 および 「非プロジェク ト モード」 の両方で使用できます。

Vivado IDE では、 デザインおよび IP を作成、 インプリ メン ト 、 および検証するインターフェイスが提供されていま

す。 デザインを開く と、 現在のデザイン ネッ ト リ ス トが読み込まれ、 デザイン制約が適用され、 ターゲッ ト デバイ

スにデザインが合わせられます。 Vivado IDE では、 次の図に示すよ うに、 デザインを視覚的に確認して作業できま

す。

プロジェク ト モードを使用する場合、 プッシュボタン デザイン フローをサポートする Flow Navigator と呼ばれるイ

ンターフェイスが表示されます。 デザインは RTL エラボレーシ ョ ン後、 合成後、 またはインプリ メンテーシ ョ ン後

に開いて解析ができ、 制約、 ロジッ クまたはデバイス コンフ ィギュレーシ ョ ン、 およびインプリ メンテーシ ョ ン結

果に変更を加えるこ とができます。 また、 デザイン チェッ クポイン ト を使用して、 デザインの現在の状態を保存で

きます。 Vivado IDE の詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 11] を参照し

てください。

ビデオ: 詳細は、 Vivado Design Suite QuickTake ビデオ: Vivado IDE 入門を参照してください。

X-Ref Target - Figure 2-1

図 2‐1: Vivado IDE でインプリ メン ト されたデザインを開く

デザイン  フローの概要 14UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 15: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

Windows での Vivado IDE の起動

[スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado <version>] → [Vivado <version>] をク リ ッ ク しま

す。

注記: または、 デスク ト ップの Vivado IDE のシ ョート カッ ト をダブルク リ ッ ク します。

ヒン ト : 作業フォルダーは、 Vivado IDE のシ ョート カッ ト アイコンを右ク リ ッ ク して [プロパティ ] をク リ ッ クする

とアップデートできます。 これによ り、 起動ディ レク ト リに書き込まれるプロジェク ト ファ イル、 ログ ファ イル、

ジャーナル ファイルが見つけやすくな り ます。

Windows または Linux のコマンド  ラインからの Vivado IDE の起動

コマンド プロンプ トに次のコマンドを入力します。

vivado

このコマンドを入力する と、自動的に vivado -mode gui が実行され、 Vivado IDE が起動します。ヘルプが必要な

場合は、 「vivado -help」 と入力します。

ヒン ト : Vivado ツールのパスを現在のシェル/コマンド プロンプ トに追加するには、

<install_path>/Vivado/<version> ディ レク ト リから settings64.bat または settings64.sh を実行しま

す。

コマンド ラインから Vivado Design Suite を起動する場合、 ディ レク ト リ をプロジェク ト ディ レク ト リに変更して、

Vivado ツールでそのログ ファ イルとジャーナル ファ イルがプロジェク ト ディ レク ト リに書き込まれるよ うにしま

す。 これで、 これらのファイルを必要に応じて見つけたり、 確認しやすくな り ます。

推奨: プロジェク ト ディ レク ト リから Vivado Design Suite を起動する と、 起動ディ レク ト リに書き込まれるプロジェ

ク ト ファ イル、 ログ ファ イル、 ジャーナル ファ イルを見つけやすくな り ます。

Vivado Design Suite の Tcl シェルからの Vivado IDE の起動

Vivado Design Suite を Tcl モードで実行している場合は、次のコマンドを Tcl コマンド プロンプ トに入力して、Vivado

IDE を起動します。

start_gui

X-Ref Target - Figure 2-2

図 2‐2: Vivado IDE デスク ト ップ アイコン

デザイン  フローの概要 15UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 16: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

Tcl の使用

サポート されるすべてのデザイン フローおよび使用モデルは、 Tcl コマンドを使用して実行できます。 Tcl スク リプ

トでは、 デザイン解析およびレポート を含むデザイン フロー全体を実行したり、 デザインの作成および合成などフ

ローの一部のみを実行できます。 個々の Tcl コマンドを使用するか、 Tcl コマンドのスク リプ ト を作成して使用でき

ます。

Tcl コマンドを直接使用する場合は、 Vivado Design Suite Tcl シェルを使用するか、 Vivado IDE の [Tcl Console] ウ ィン

ド ウを使用します。 Tcl および Tcl スク リプ トに関する情報は、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト

機能の使用』 (UG894) [参照 12] および 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参

照してください。 Vivado ツールでの Tcl の使用方法の詳細は、 『Vivado Design Suite チュート リ アル: デザイン フロー

の概要』 (UG888) [参照 10] を参照してください。

プロジェク ト モードまたは非プロジェク ト モードを使用した Tcl ベースのアプローチに関する詳細は、 第 3 章 「プ

ロジェク ト モードの使用」 または第 4 章 「非プロジェク ト モードの使用」 を参照してください。

Vivado Design Suite Tcl シェルの起動

Vivado Design Suite Tcl シェルを起動するには、 Linux コマンド プロンプ ト または Windows コマンド プロンプ トに次

のよ うに入力します。

vivado -mode tcl

注記: Windows の場合、 [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado <version>] → [Vivado

<version> Tcl Shell] をク リ ッ ク しても起動できます。

バッチ Tcl スクリプ ト を使用した Vivado ツールの起動

Vivado ツールを起動する と きに Tcl スク リプ ト を指定する と、 Vivado ツールをバッチ モードで使用できます。 Linux

コマンド プロンプ ト または Windows コマンド プロンプ トに次のよ うに入力します。

vivado -mode batch -source <your_Tcl_script>

注記:バッチ モードの場合、 指定したスク リプ トが実行された後 Vivado ツールが終了します。

Tcl フローでの Vivado IDE の使用

Tcl を使用する場合でも、 Vivado IDE でのインタラ クティブな GUI ベースの解析および制約定義機能を利用できま

す。 「Vivado IDE を使用したデザイン解析」 に示すよ うに、 デザイン サイクルのどの段階でも Vivado IDE でデザイ

ンを開く こ とができます。 「デザイン チェッ クポイン トの使用」 に示すよ うに、 デザイン データベースはどの時点

でもチェッ クポイン ト ファ イルと して保存でき、 そのチェッ クポイン ト を後から開く こ とができます。

ザイリンクス Tcl Store の使用

ザイ リ ンクス Tcl Store は、 Tcl コードのオープン ソース リ ポジ ト リで、 主に Vivado Design Suite を使用した FPGA デ

ザイン用に設計されています。 Tcl Store を使用する と、 ユーザーから提供されたさまざまな問題を解決して生産性を

改善するスク リプ トおよびユーティ リ ティにアクセスできます。 Tcl スク リプ トは、 提供されているものをインス

トールできるほか、 ほかのユーザーと共有するためにリ リースするこ と もできます。 Tcl スク リプ トおよびザイ リ ン

クス Tcl Store の詳細は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 12] を参照し

てください。

デザイン  フローの概要 16UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 17: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

プロジェク ト  モード と非プロジェク ト  モードの理解

Vivado Design Suite には、 主にプロジェク ト モード と非プロジェク ト モードの 2 つの使用モデルがあ り ます。 プロ

ジェク ト モード と非プロジェク ト モードは両方と も、 Vivado IDE または Tcl コマンド とバッチ スク リプ ト を介して

開発および使用できますが、 Vivado IDE の方が Flow Navigator やグラフ ィカルなワークフロー インターフェイスな

ど、 プロジェク ト モードの利点の多く を生かす機能があ り ます。 Tcl コマンドは、 非プロジェク ト モードを実行す

る も単純な方法です。

プロジェク ト  モード

Vivado Design Suite では、 プロジェク ト ベースのアーキテクチャの利点を生かして、 デザインがアセンブル、 インプ

リ メン ト 、 およびステート管理されます。 これは、 「プロジェク ト モード」 と呼ばれます。 プロジェク ト モードで

は、 デザイン フローおよびデザイン データが Vivado ツールによ り自動的に管理されます。

ヒン ト : プロジェク ト モードの主な利点は、 Vivado Design Suite で依存性管理、 レポート生成、 データ保存など、 デ

ザイン プロセス全体が管理されるこ とです。

プロジェク ト モードを使用する と、 ディ スク上にディレク ト リ構造が作成され、 ローカルまたはリモートでデザイ

ン ソース ファ イルが管理され、 ソース ファ イルへの変更およびアップデートが管理されます。

重要: Windows などオペレーティング システムによっては、 ファ イル パスおよびファイル名に字数制限 (256 文字な

ど) があ り ます。 使用しているオペレーティング システムにそのよ うな制限がある場合は、 プロジェク ト をド ライブ

のルートの近くに保存して、 ファ イル パスおよびファイル名がなるべく短くなるよ うにして ください。

プロジェク ト構造は、 合成およびインプリ メンテーシ ョ ン run およびそのステータスを管理し、 合成およびインプ リ

メン トの結果とレポート を保存するためにも使用されます。 次に例を示します。

• 合成後に HDL ソースを変更した場合、 現在の結果が 新でないと認識され、 再合成する必要があるこ とを示す

メ ッセージが表示されます。

• デザイン制約を変更した場合、 再合成するか、 再インプリ メン トするか、 両方を実行するかを尋ねる メ ッセー

ジが表示されます。

• 配線が完了する と、 タイ ミ ング、 DRC、 設計手法、 消費電力などのレポートが自動的に生成されます。

• Vivado IDE で 1 回ク リ ッ クするだけでデザイン フロー全体を実行できます。

プロジェク トの使用方法は、 第 3 章 「プロジェク ト モードの使用」 を参照して ください。

非プロジェク ト  モード

または、 イン メモ リ コンパイル方法を使用する と、 ソースやデザイン プロセスをユーザーが管理できます。 この方

法は、 「非プロジェク ト モード」 と呼ばれます。 非プロジェク ト モードでは、 Tcl コマンドまたはスク リプ ト を使用

してデザイン ソースおよびデザイン プロセスをユーザーが管理します。 主な利点は、 フローの各段階をユーザーが

完全に制御できる点にあ り ます。

非プロジェク ト モードを使用する場合、 ソース ファ イルがリ ビジ ョ ン管理システムなどの現在のディ レク ト リから

読み出され、 デザインがメモ リ内でコンパイルされます。 各デザイン段階は、 Tcl コマンドを使用して個別に実行で

きます。 Tcl コマンドを使用しても、 デザイン パラ メーターと インプリ メンテーシ ョ ン オプシ ョ ンを設定できます。

デザイン  フローの概要 17UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 18: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

デザイン プロセスのどの段階でも、 デザイン チェッ クポイン ト を保存し、 レポート を生成できます。 各インプリ メ

ンテーシ ョ ン段階は特定の設計課題を満たすよ うに調整でき、 各段階後に結果を解析できます。 また、 どの段階で

も Vivado IDE を開いて、 デザインを解析したり制約を設定したりできます。

非プロジェク ト モードでは、 各デザイン手順は Tcl コマンドを使用して制御されます。 次に例を示します。

• 合成後に HDL ファ イルを変更した場合、 合成を再実行してメモリ内のネッ ト リ ス ト をアップデートするのは

ユーザーの責任です。

• 配線後のタイ ミ ング レポートが必要な場合は、 配線が完了した後にユーザーがタイ ミ ング レポート を生成する

必要があ り ます。

• デザイン パラ メーターおよびインプリ メンテーシ ョ ン オプシ ョ ンは、 Tcl コマンドおよびパラ メーターを使用

して設定します。

• デザイン プロセスのどの段階でも、 Tcl を使用してデザイン チェッ クポイン ト を保存し、 レポート を生成でき

ます。

デザイン フローを進めて行く と、 デザインは Vivado Design Suite でメモ リ内に保持されます。 非プロジェク ト モー

ドでは、 各セッシ ョ ン後にイン メモ リ デザインが削除され、 指定したデータのみがディ スクに書き込まれます。 非

プロジェク ト モードの詳細は、 第 4 章 「非プロジェク ト モードの使用」 を参照してください。

機能の違い

プロジェク ト モードでは、 Vivado IDE でデザインの履歴が管理され、 デザインに関する情報が保存されますが、 機

能の多くは自動化されているので、 デフォルト フローではユーザーの制御できるこ とは少なくな り ます。 たとえば、

各 run に対してレポート ファ イルの標準セッ トのみが生成されます。 ただし、 Tcl コマンドまたはスク リプ ト を使用

する と、 プロジェク ト モードでのツールのフローおよび機能をカスタマイズできます。

次の自動化機能は、 プロジェク ト モードを使用した場合にのみ使用できます。

• そのままで使えるデザイン フロー

• 使いやすいプッシュボタン インターフェイス

• カスタマイズのための優れた Tcl スク リプ ト言語

• ソース ファイルの管理およびステータス

• 標準レポートの自動生成

• ツール設定およびデザイン設定の保存および再利用

• 複数の合成およびインプ リ メンテーシ ョ ン run の試行

• run 結果の管理およびステータス

非プロジェク ト モードはコンパイル手法であ り、 Tcl コマンドで実行されるすべてのアクシ ョ ンをユーザーが制御で

きます。 これは、 制御およびバッチ プロセスの必要な特定の設計者向けで完全にカスタマイズ可能なデザイン フ

ローです。 すべての処理はメモ リ内で実行され、 ファ イルやレポートは自動的には生成されません。 このため、 デ

ザインをコンパイルするたびに、 ソースの定義、 ツールおよびデザイン設定パラ メーターの設定、 すべての Tcl コマ

ンドの実行、 必要なレポート ファ イルの生成を実行する必要があ り ます。 これには、 Tcl スク リプ ト を使用できま

す。 ディ スク上にプロジェク トは作成されないので、 ソース ファ イルは元の場所に配置されたままになり、 デザイ

ン出力は指定したと きにのみ指定した場所に作成されます。 この方法では、 Tcl コマンドの優れた機能をすべて活用

でき、 デザイン プロセス全体を完全に制御できます。 ユーザーの多くが、 ツールとデザイン データの操作にこの

バッチ コンパイル スタイル手法を使用しています。

デザイン  フローの概要 18UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 19: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

表 2-1 に、 プロジェク ト モード と非プロジェク ト モードの機能の違いを示します。

コマンドの違い

Tcl コマンドはモードによって異なり、 作成される Tcl スク リプ ト もモードによって異なり ます。 非プロジェク ト

モードの場合、 ツール オプシ ョ ンの設定、 インプリ メンテーシ ョ ン コマンドの実行、 レポートの生成、 デザイン

チェッ クポイン トの書き込みなどの Tcl コマンドをそれぞれ実行する必要があ り ます。 プロジェク ト モードの場合

は、 合成、 インプ リ メンテーシ ョ ン、 およびレポートに対してラ ッパー コマンドが使用されます。

たとえば、 プロジェク ト モードの場合、 プロジェク トにソースを追加するには、 add_files という Tcl コマンドを

使用します。 ソースは、 プロジェク ト ディレク ト リ構造内で別のバージ ョ ンを保持するためにプロジェク トにコ

ピーしたり、 リモートから参照したりできます。 非プロジェク ト モードの場合、 read_verilog、 read_vhdl、

read_xdc などの read_* Tcl コマンドを使用して、 現在のディレク ト リから さまざまなタイプのソースを読み出す

こ とができます。

プロジェク ト モードの場合は、 launch_runs コマンドを使用する と、 設定済みのス ト ラテジを使用してツールを

起動し、 標準レポート を生成できます。 これによ り、 インプリ メンテーシ ョ ン コマンド、 標準レポート、 run ス ト ラ

テジの使用、 run ステータスの管理が一括で実行されます。 デザイン プロセスの前後にカスタムの Tcl コマンドを実

行するこ と もできます。 run 結果は、 自動的にプロジェク ト内に保存されて管理されます。 非プロジェク ト モードの

場合、 opt_design、 place_design、 および route_design などの各コマンドを実行する必要があ り ます。

多くの Tcl コマンドは、 レポート コマンドのよ うにどちらのモードでも使用できますが、 プロジェク ト モードまた

は非プロジェク ト モードのいずれかでしか使用できないものもあ り ます。 スク リプ ト を作成する際は、 いずれかの

モードでしか使用できないコマンドを混合しないよ うに注意してください。 たとえば、 プロジェク ト モードを使用

する場合は、 非プロジェク ト モードでしか使用できない synth_design のよ うなコマンドを使用しないよ うにし

ます。 プロジェク ト モードで非プロジェク ト モード用のコマンドを使用する と、 データベースでステータス情報が

アップデート されず、 レポートが自動的に生成されなくな り ます。

ヒン ト : プロジェク ト モードには GUI 操作が含まれ、 ほとんどの場合に Tcl コマンドが実行されます。 Tcl コマンド

は Vivado IDE の Tcl コンソールに表示され、 vivado.jou ファ イルにも保存されます。 このファイルを使用して、

どちらのモードでも使用できるよ う なスク リプ ト を開発するこ と も可能です。

図 2-3 に、 プロジェク ト モード と非プロジェク ト モードの Tcl コマンドの違いを示します。

表 2‐1: プロジェク ト  モード と非プロジェク ト  モードの機能の違い

フローの要素 プロジェク ト  モード 非プロジェク ト  モード

デザイン ソース ファ イルの管理 自動 手動

フロー ナビゲーシ ョ ン ガイ ド 手動

フローのカスタマイズ Tcl コマンドで制限なし Tcl コマンドで制限なし

レポート 自動 手動

解析段階 デザインおよびデザイン

チェッ クポイン ト

デザインおよびデザイン

チェッ クポイン ト

デザイン  フローの概要 19UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 20: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

X-Ref Target - Figure 2-3

図 2‐3: プロジェク ト  モード と非プロジェク トモードのコマンド

create_project …add_files …import_files ……

launch_run synth_1wait_on_run synth_1open_run synth_1report_timing_summary

launch_run impl_1wait_on_run impl_1open_run impl_1report_timing_summary

launch_run impl_1 –to_step_write_bitstreamwait_on_run impl_1

read_verilog …read_vhdl …read_ip …read_xdc …read_edif ……

synth_design …report_timing_summarywrite_checkpoint

opt_designwrite_checkpointplace_designwrite_checkpointroute_designreport_timing_summarywrite_checkpoint

write_bitstream

GUI Tcl Script Tcl Script

Project Mode Non-Project Mode

デザイン  フローの概要 20UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 21: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

サードパーティ  デザイン  ソフ トウェア ツールの使用

ザイ リ ンクスでは、 複数のサードパーティ デザイン ツールのサプライヤーと提携しています。 次のソフ ト ウェア ソ

リ ューシ ョ ンには、 合成およびシ ミ ュレーシ ョ ン ツールのみが含まれます。

ロジック合成の実行

Vivado Design Suite では、 Synopsys 社および Mentor Graphics 社から提供されるザイ リ ンクス FPGA ロジッ ク合成ツー

ルの使用がサポート されています。 Vivado Design Suite では、 構造 Verilog または EDIF 形式の合成済みのネッ ト リ ス

ト をインポート して、 インプ リ メンテーシ ョ ンに使用できます。 また、 Vivado Design Suite では、 ロジッ ク合成ツー

ルから出力される制約 (SDC または XDC) を使用するこ と もできます。

ザイ リ ンクス IP およびブロッ ク デザインすべてで Vivado 合成が使用されます。 メモ リ IP、7 シ リーズ デバイスなど

を除き、 ザイ リ ンクス IP または IP インテグレーター ブロ ッ ク デザインにサードパーティ合成を使用するこ とはサ

ポート されていません。 詳細は、 IP のデータシート を参照して ください。

ロジック  シミ ュレーシ ョ ンの実行

Mentor Graphics 社、 Cadence 社、 Aldec 社、 および Synopsys 社から提供されるロジッ ク シ ミ ュレーシ ョ ン ツールは、

Vivado IDE に統合されており、 直接起動できます。 また、 これらのサポート されているすべてのサードパーティ ロ

ジッ ク シ ミ ュレータ用にネッ ト リ ス ト も出力できます。 Vivado Design Suite では、デザイン フローのどの段階でも完

全な Verilog または VHDL ネッ ト リ ス ト をエクスポート して、 サードパーティ シ ミ ュレータで使用できます。 また、

標準遅延フォーマッ ト (SDF) でインプリ メンテーシ ョ ン後の遅延を含む構造型ネッ ト リ ス ト をエクスポート して、

サードパーティのタイ ミ ング シ ミ ュレーシ ョ ンで使用するこ と もできます。 Vivado Design Suite では企業ユーザー向

けにもスク リプ トが生成されます。 スク リプ トおよびコンパイルされたライブラ リ を使用して、 企業ユーザーは

Vivado Design Suite 環境なしでシ ミ ュレーシ ョ ンを実行できます。

ビデオ: 詳細は、 Vivado Design Suite QuickTake ビデオ: Vivado で Cadence IES を使用したシ ミ ュレーシ ョ ンおよび

Vivado Design Suite QuickTake ビデオ: Vivado で Synopsys VCS を使用したシ ミ ュレーシ ョ ンを参照してください。

注記:ザイ リ ンクス IP には、 RTL ソースを Verilog または VHDL 形式のいずれかのみで提供されるものがあ り ます。

合成後、 いずれかの言語で構造型ネッ ト リ ス ト を作成できます。

PCB 設計との関係

I/O プランニング プロセスは、 高システム パフォーマンスを達成するために重要です。 プリ ン ト回路基板 (PCB) 設

計者は通常、 PCB 上での FPGA の関係と向きを考慮する必要があ り、高集積のボール グ リ ッ ド アレイ (BGA) デバイ

スの配線は、 PCB 設計者には も困難な課題です。 重要なインターフェイス配線、 電源とレールの位置、 シグナル

インテグ リティ も課題事項です。 FPGA 設計者と PCB 設計者が密に協力し合う こ とが、 こ ういった課題事項の解決

につながり ます。 Vivado IDE を使用する と、 システム レベルのインターコネク ト を 適化するために、 物理パッ

ケージ ピンと内部ダイ パッ ド間の関係を視覚化できます。

Vivado Design Suite には、 FPGA、 PCB、 システム デザインのそれぞれの領域間でデザイン情報を渡す方法が複数含

まれます。 I/O ピン コンフ ィギュレーシ ョ ンは、 CSV スプレッ ドシート、 RTL ヘッダー、 または XDC ファ イルを使

用して渡すこ とができます。 CSV スプレッ ドシートには、 長さを一致させた接続および電源接続などのさまざまな

デザイン  フローの概要 21UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 22: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 2 章:使用モデル

PCB デザイン タスクに使用可能な、 追加のパッケージおよび I/O 情報が含まれます。 IBIS (I/O Buffer Information

Specification) モデルも Vivado IDE からエクスポート して、 PCB でのシグナル インテグ リ ティ解析に使用できます。

詳細は、 次を参照してくだ

• 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 17]

• Vivado Design Suite QuickTake ビデオ: I/O プランニングの概要

• Vivado デザイン ハブ: I/O およびクロ ッ ク プランニング

デザイン  フローの概要 22UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 23: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3章

プロジェク ト  モードの使用

はじめに

プロジェク ト モードの場合、 Vivado® Design Suite でプロジェク ト ディレク ト リ構造が作成され、 ソース ファ イル、

制約、 IP データ、 合成およびインプリ メンテーシ ョ ン run の結果、 レポート などが自動的に管理されます。 Vivado

Design Suite では、 ソース ファ イルのステータス、 コンフ ィギュレーシ ョ ン、 デザインの状態なども管理およびレ

ポート されます。

作成できるのは、 RTL ベースのプロジェク ト 、 または合成済みネッ ト リ ス ト ベースのプロジェク トです。 ネッ ト リ

ス ト プロジェク トは、 サードパーティ合成ツールで主に使用され、 デザイン プロセスは合成後から管理されます。

ネッ ト リ ス ト デザインを解析し、 制約を割り当てて管理し、 デザインをインプリ メン ト して解析し、 デバイスをプ

ログラムしてデバッグしたら、 フロー全体でソース と出力を管理できます。

Vivado IDE では、 Flow Navigator (図 3-1) を使用する と、 合成およびインプ リ メンテーシ ョ ンなどの定義済みデザイ

ン フロー手順を起動できます。 [Generate Bitstream] をク リ ッ クする と、 新のデザイン ソースを使用してデザイン

が合成およびインプ リ メン ト され、 その後ビッ ト ス ト リーム ファ イルが生成されます。 この環境では、 プッシュボ

タン デザイン フローが提供されるほか、 デザイン管理および解析のアドバンス機能も提供されます。 run はさまざ

まなインプ リ メンテーシ ョ ン コマンドを統合したラ ッパー Tcl スク リプ トによ り実行され、 自動的に標準レポート

が生成されます。 さまざまな run ス ト ラテジを使用するこ とで、 配線密度およびタイ ミ ング ク ロージャなどのさま

ざまなデザインの問題点を見つけるこ とができます。 同時に複数のインプリ メンテーシ ョ ン run を実行して、 適な

結果になるかど うかを確認するこ と もできます。

注記: run ス ト ラテジは、 プロジェク ト モードにのみで使用できます。 非プロジェク ト モードの場合、 すべての指示

子およびコマンド オプシ ョ ンを手動で設定する必要があ り ます。

プロジェク ト モードは Vivado IDE または Tcl コマンド /スク リプ ト を使用して実行できます。 プロジェク ト内で

Vivado IDE と Tcl を切り替えて使用するこ と もできます。 Vivado IDE でプロジェク ト を開くか作成する と、 デザイン

の現在の状態、 run の結果、 生成されたレポートおよびメ ッセージが表示されます。 ソースの作成および変更、 制約

の適用、 デバッグ情報の適用、 ツール設定の指定、 デザイン タスクの実行などが可能です。

推奨: プロジェク ト モードを使用する と、 も簡単に Vivado ツールとザイ リ ンクスの推奨事項を理解できます。

Vivado には、 デザイン フローのさまざまな段階でデザインを開く こ とができるユニークな機能があ り ます。 RTL エ

ラボレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ンの後にデザインを開き、 解析および制約の定義を実行でき

ます。 デザインを開く と、 Vivado ツールでターゲッ ト デバイスに対してネッ ト リ ス ト と制約がコンパイルされ、

Vivado IDE でデザインが表示されます。 デザインを開いたら、 さまざまな解析およびレポート機能を使用して、 異

なる条件や観点からデザインを解析できます。 制約およびデザイン変更を適用して保存するこ と もできます。 詳細

は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 23] を参照して

ください。

デザイン  フローの概要 23UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 25: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

プロジェク ト  モードの利点

プロジェク ト モードには、 次のよ うな利点があ り ます。

• プロジェク ト ステータス、 HDL ソース、 制約ファイル、 IP コア、 およびブロ ッ ク デザインが自動的に管理さ

れます。

• 合成およびインプ リ メンテーシ ョ ンの結果が生成されます。

• インプ リ メンテーシ ョ ン結果から RTL ソース ファ イルへのクロスプローブなど、 高度なデザイン解析機能があ

り ます。

• run ス ト ラテジによ り コマンド オプシ ョ ンの設定が自動化され、 標準レポート も自動的に生成されます。

• 複数の run を作成してさまざまな制約およびコマンド オプシ ョ ンを設定および確認できます。

プロジェク トの作成

Vivado Design Suite では、 デザインの異なる目的に応じてさまざまなプロジェク ト タイプがサポート されています。

たとえば、 RTL ソースやサードパーティ合成ツールからの合成済みネッ ト リ ス ト を使用してプロジェク ト を作成で

きるほか、 空の I/O プランニング プロジェク ト を作成し、 デバイスを調べて早期ピン プランニングを実行するこ と

もできます。 Vivado IDE では、 選択したプロジェク ト タイプに関連するコマンドのみが表示されます。

Vivado IDE で Create Project ウ ィザードを使用する と、 プロジェク ト を簡単に作成できます。 ウ ィザードを使用する

と、 プロジェク ト名やプロジェク ト を保存するディ レク ト リ、 プロジェク ト タイプ (RTL、 ネッ ト リ ス ト など)、

ターゲッ ト パーツなどを定義できます。 RTL、 IP、 ブロ ッ ク デザイン、 XDC/SDC 制約、 シ ミ ュレーシ ョ ン テス ト

ベンチ、 System Generator からの DSP モジュール (IP)、 Vivado 高位合成 (HLS) からのソース、 デザインに関する文書

など、 さまざまなタイプのソースを追加できます。 ソースを追加する際は、 ソースを元の場所から参照するか、 プ

ロジェク ト ディレク ト リにコピーするかを指定できます。 Vivado Design Suite では各ファイルのタイムスタンプが監

視され、 ステータスがレポート されます。 ファ イルが変更される と、 ソースまたはデザインのステータスが 新で

なくなったこ とが示されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』

(UG895) [参照 13] のこのセクシ ョ ンを参照してください。

注意: Windows OS にはパス長に 260 文字の制限があ り、 これが Vivado ツールに影響するこ とがあ り ます。 この問題

を回避するには、 プロジェク ト を作成、 IP プロジェク ト または Manage IP プロジェク ト を定義、 ブロ ッ ク デザイン

を作成する際に、 名前およびディ レク ト リ名をできるだけ短く して ください。

デザイン  フローの概要 25UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 26: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

さまざまなタイプのプロジェク ト

Vivado Design Suite には、 ソース ファ イルのタイプおよびデザイン タスクによって、 さまざまなタイプのデザイン入

力を使用できます。 これらのタスクを実行するのに使用できるプロジェク ト タイプは、 次のとおりです。

• RTL プロジェク ト : RTL ソース ファ イルおよび制約を追加し、 Vivado IP カタログを使用して IP をコンフ ィギュ

レーシ ョ ンし、 Vivado IP インテグレーターを使用して IP サブシステムを作成し、 デザインを合成およびインプ

リ メン ト して、 デザイン プランニングおよび解析を実行できます。

• 合成後のプロジェク ト : サードパーティ ネッ ト リ ス ト をインポート し、デザインをインプリ メン ト し、デザイン

プランニングおよび解析を実行できます。

• I/O プランニング プロジェク ト : RTL ソースの入力前に、 空のプロジェク ト を作成し、 早期 I/O プランニングを

実行したり、 デバイスを調べたりできます。

• インポート プロジェク ト : ISE Design Suite、 Xilinx Synthesis Technology (XST)、 または Synopsys Synplify から既

存のプロジェク ト ソースをインポートできます。

• サンプル プロジェク ト : ザイ リ ンクス評価ボードで使用可能な Zynq®-7000 AP SoC または MicroBlaze™ エンベ

デッ ド デザインなどのサンプル プロジェク ト を使用できます。

• パーシャル リ コンフ ィギュレーシ ョ ン プロジェク ト : パーシャル ビッ ト ス ト リームを読み込んでデバイスのリ

コンフ ィギャラブル領域を変更するこ とによ り、 動作中の FPGA デザインを動的にリ コンフ ィギュレーシ ョ ン

できます。 パーシャル リ コンフ ィギュレーシ ョ ン (PR) 機能には、 別のライセンスが必要です。

プロジェク ト  モードでのソース ファイルの管理

プロジェク ト モードの場合、 プロジェク ト構造によ り ソースが管理されます。 Vivado IDE では、 RTL デザイン ソー

ス、 IP シ ミ ュレーシ ョ ン ソース、 制約ソースなどのさまざまな種類のソースが個別に管理されます。 ソース セッ ト

という コンセプ トによ り複数バージ ョ ンのシ ミ ュレーシ ョ ン セッ ト またはデザイン制約セッ ト を使用できるので、1

つのデザイン プロジェク ト内でさまざまなデザイン制約セッ ト を管理および使用できます。 Vivado IDE では、 シ

ミ ュレーシ ョ ンにも同じアプローチが使用され、 デザインのさまざまな部分をシ ミ ュレーシ ョ ンできるよ う、 モ

ジュール レベルでシ ミ ュレーシ ョ ン セッ ト を管理できます。

ソースを追加する場合は、 リモート ディレク ト リから ソースを参照するか、 ソースをローカルのプロジェク ト ディ

レク ト リ構造にコピーします。 ソースは、 ネッ ト ワーク接続されているディ レク ト リから も使用できます。 どちら

の方法でも、 Vivado IDE ではファイルのタイム スタンプから、 アップデートがないかど うかが確認されます。 ソー

ス ファ イルを変更する と、 Vivado IDE のプロジェク ト ステータスが変更され、 合成またはインプリ メンテーシ ョ ン

run が 新でないこ とが示されます。 読み取り専用のソースは、 その権限に従って処理されます。

Vivado IDE にソースを追加する場合、 RTL ファ イルをオプシ ョ ンでスキャンして、 ソース ディレク ト リにある可能

性のあるインクルード ファ イルやほかのグローバル ソース ファ イルを検索するよ うにできます。 指定したディ レク

ト リ またはディ レク ト リ ツ リー内にあるすべてのソース ファ イルの種類を [File] → [Add Sources] で追加できます。

Vivado IDE では、 ディ レク ト リおよびその下位ディレク ト リ をスキャンして、 既知のソース タイプに拡張子が一致

するファイルをインポート します。

ソース ファ イルがプロジェク トに追加される と、 コンパイル順およびロジッ ク階層が自動的に判断され、 [Sources]

ウ ィンド ウに表示されます。 これによ り、 形式が正し くない RTL や不足しているモジュールなどを特定しやすくな

り ます。 [Messages] ウ ィンド ウに RTL コンパイルに関する メ ッセージが表示され、 メ ッセージをク リ ッ クする と該

当する RTL ソースが表示されます。 また、 ソース ファ イルをイネーブル/ディ スエーブルにして、 コンフ ィギュレー

シ ョ ンを制御できます。

デザイン  フローの概要 26UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 27: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

読み取り専用のリモート  ソースの使用

Vivado Design Suite では、 プロジェク ト を作成する際または非プロジェク ト モードで読み込む際にリモート ソース

ファ イルを使用できます。 ソース ファ イルが読み取り専用である場合、 ファ イルはメモ リでコンパイルされますが、

元のファイルに変更を保存するこ とはできません。 必要に応じて、 ソース ファ イル ファ イルを別のディ レク ト リに

保存できます。

プロジェク トのアーカイブ

Vivado IDE で [File] → [Project] → [Archive] をク リ ッ クする と、 ソース ファ イル、デザイン コンフ ィギュレーシ ョ ン、

run 結果データ (オプシ ョ ン) などを含むプロジェク ト全体の ZIP ファ イルが作成されます。プロジェク トで リモート

ソースが使用される場合、 ファ イルはローカルのプロジェク トにコピーされるので、 アーカイブ プロジェク トにす

べてのファイルが含まれます。

プロジェク ト を再作成する  Tcl スクリプ トの作成

Vivado IDE で [File] → [Project] → [Write Tcl] をク リ ッ クする と、 ソース ファ イル、 IP、 デザイン コンフ ィギュレー

シ ョ ンを含むプロジェク ト全体を再作成する Tcl スク リプ ト を作成できます。 このスク リプ ト を、 プロジェク ト

ディ レク ト リ構造の代わりにソース管理システムにチェッ ク インできます。

リビジ ョ ン管理システムの使用

さまざまなデザイン設定およびリ ビジ ョ ンの保存には、 ソース管理システムが一般的に使用されます。 RCS

(Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、 Bitkeeper

などのシステムがあ り ますが、 Vivado ツールはどのシステムにも対応できます。 Vivado Design Suite ではデザイン フ

ローを通してファイルが使用および生成され、 これらのファイルはリ ビジ ョ ン管理システムを使用して管理できま

す。 リ ビジ ョ ン管理ソフ ト ウェアの詳細は、 第 5 章 「ソース管理およびリ ビジ ョ ン管理の推奨事項」 を参照してく

ださい。

ビデオ: Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite

QuickTake ビデオ: Vivado でのリ ビジ ョ ン管理の使用をご覧ください。

デザイン  フローの概要 27UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 28: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

Flow Navigator の理解

Flow Navigator (図 3-2) では、 プロジェク トの設定、 合成、 インプリ メンテーシ ョ ン、 ビッ ト ス ト リームの生成など

の主なデザイン プロセス タスクを制御します。 Flow Navigator で使用可能なコマンドおよびオプシ ョ ンは、 デザイ

ンのステータスによって異なり ます。 必要なデザイン タスクが終了するまで実行できない手順は、 淡色表示されま

す。

X-Ref Target - Figure 3-2

図 3‐2: Flow Navigator

デザイン  フローの概要 28UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 29: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

サードパーティ ネッ ト リ ス ト を使用して作成されたプロジェク トの場合、 Flow Navigator が異なり ます (図 3-3)。 た

とえば、 システム レベル デザイン入力、 IP、 合成オプシ ョ ンなどは使用できません。

これらのデザイン タスクが完了したら、 デザイン結果を開き、 解析したり、 制約を適用したりできます。 これには、

Flow Navigator で [Open Elaborated Design]、 [Open Synthesized Design]、または [Open Implemented Design] をク リ ッ ク し

ます。 詳細は、 「デザイン解析および制約定義の実行」 を参照してください。

X-Ref Target - Figure 3-3

図 3‐3:サードパーティ  ネッ ト リス ト  プロジェク トの Flow Navigator

デザイン  フローの概要 29UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 30: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デザインを開く と、 デザイン フローに適したよ く使用されるコマンドのセッ トが Flow Navigator に表示されます。

Flow Navigator でこれらのコマンドをク リ ッ クする と、 既に開いていない場合はデザインが開き、 操作が実行されま

す。 図 3-4 に合成に関連するコマンドを示します。

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

階層ソース ファイルの自動コンパイルと管理

Vivado IDE の [Sources] ウ ィンド ウ (図 3-5) では、 ソース ファ イルが自動的に管理されます。 このウ ィンド ウには複

数のビューがあ り、 さまざまな方法でソースが表示されます。 プロジェク ト を開くか、 変更する と、 [Sources] ウ ィ

ンド ウでそのプロジェク ト ソースのステータスがアップデート されます。 デザイン ソースがすばやく コンパイルさ

れ、 ソースがダウンス ト リーム ツールでコンパイルされる順に [Sources] ウ ィンド ウの [Compile Order] ビューに表示

されます。 RTL 階層のコンパイルで発生する可能性のある問題は、 [Message] ウ ィンド ウにレポート されます。 ソー

スの詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 13] のこのセクシ ョ

ンを参照してください。

ヒン ト : モジュールを 上位モジュールと して明確に設定した場合、 そのモジュールは保持され、 合成に渡されます

が、 上位モジュールと して指定していない場合は、 Vivado ツールでプロジェク ト内の使用可能なソース ファ イル

の中から 適なモジュールが 上位モジュールと して選択されます。 ファ イルに構文エラーがあったり、 エラボ

レート しない場合は、 Vivado ツールでそれが 上位モジュールと して選択されるこ とはあ り ません。

制約およびシ ミ ュレーシ ョ ン ソースは、 セッ トに分類されます。 制約セッ トは、 制約の確認や管理に使用します。

さまざまなシ ミ ュレーシ ョ ン ソース セッ ト を使用する と、 異なるシ ミ ュレーシ ョ ン セッシ ョ ンを開始できます。

ソースはどれでも追加、 削除、 ディ スエーブル、 またはアップデートできます。 制約の詳細は、 『Vivado Design Suite

X-Ref Target - Figure 3-4

図 3‐4: Flow Navigator の [Synthesis] セクシ ョ ン

デザイン  フローの概要 30UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 31: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

ユーザー ガイ ド : 制約の使用』 (UG903) [参照 20] を参照してください。 シ ミ ュレーシ ョ ンの詳細は、 『Vivado Design

Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] を参照してください。

RTL の開発

Vivado IDE には、 RTL の開発に役立つ次のよ うな機能が含まれています。

• ソース ファイルを作成および編集する Vivado IDE テキス ト エディ ター

• 複数のソース ファ イルで構文および言語コンス ト ラ ク トの自動チェッ ク

• 言語テンプレートからロジッ ク コンス ト ラ ク トの推奨例をコピーする機能

• 検索条件を入力してテンプレート ラ イブラ リ を検索可能な [Find in Files] 機能

• RTL エラボレーシ ョ ンおよびインタラ クティブな解析

• RTL デザイン ルール チェッ ク (DRC)

• RTL 制約の割り当てと I/O プランニング

X-Ref Target - Figure 3-5

図 3‐5: ソースの階層表示

デザイン  フローの概要 31UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 32: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

RTL のエラボレーシ ョ ンおよび解析

エラボレート済み RTL デザインを開く と、RTL ソース ファ イルがコンパイルされて RTL ネッ ト リ ス トがインタラ ク

ティブ解析用に読み込まれ、 RTL 構造、 構文、 ロジッ ク定義を確認できます。 次の解析およびレポート機能があ り

ます。

• RTL のコンパイル検証および構文チェッ ク

• RTL が UltraFast 設計手法ルールに準拠しているこ とを確認するチェッ クを実行

• ネッ ト リ ス トおよび回路図の確認

• デザイン ルール チェッ ク

• RTL ポート リ ス ト を使用した早期 I/O ピン プランニング

• 1 つのビューで RTL ソース ファ イル内のインスタンシエーシ ョ ンおよびロジッ ク定義などのオブジェク ト を選

択する と、 ほかのビューでも自動選択

RTL の開発および解析の詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参

照 20] を参照して ください。RTL ベースの I/O ピン プランニングの詳細は、『Vivado Design Suite ユーザー ガイ ド : I/O

およびクロ ッ ク プランニング』 (UG899) [参照 17] を参照してください。

タイ ミング制約の開発および検証

Vivado IDE には、 デザインのタイ ミ ング制約を作成および検証するための Timing Constraints ウ ィザードが含まれま

す。 このウ ィザードでは、 デザインのクロ ッ クおよび論理コンス ト ラ ク トが識別され、 タイ ミ ング制約を入力およ

び検証するためのインターフェイスが提供されます。 イン メモ リ デザインはクロ ッ ク情報を含んだ合成後のデザイ

ンなので、 このウ ィザードは合成後およびインプリ メン ト後のデザインでのみ使用できます。 詳細は、 『Vivado

Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 20] を参照してください。

ヒン ト : Vivado Design Suite でサポート されるのは、 Synopsys デザイン制約 (SDC) およびザイ リ ンクス デザイン制約

(XDC) ファ イルのみです。ISE Design Suite で使用したザイ リ ンクス ユーザー制約ファイル (UCF) や Synplicity デザイ

ン制約は、 直接はサポート されません。 UCF を XDC 形式に変換する方法は、 『ISE から Vivado Design Suite への移行

ガイ ド』 (UG911) [参照 27] のこのセクシ ョ ンを参照してください。

デザイン  フローの概要 32UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 33: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

IP の操作

ザイ リ ンクス Vivado Design Suite には、 さまざまなデザイン ソースから IP モジュールを設定、 インプリ メンテー

シ ョ ン、 検証、 および統合する IP 中心のデザイン フローがあ り ます。 ザイ リ ンクス LogiCORE™ IP を含んだ、 拡張

性の高い IP カタログもあ り、 これらの IP をスタンドアロンのモジュールと して、 またはシステム レベルのデザイン

に組み込んで、 設定および検証できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』

(UG896) [参照 14] を参照してください。

また、 IP-XACT プロ ト コルを使用してカスタム IP をパッケージし、 Vivado IP カタログから利用するこ と もできま

す。 ザイ リ ンクス IP は AXI4 インターコネク ト規格を使用しており、 高速システム レベル統合が可能です。 既存の

IP は、 RTL またはネッ ト リ ス ト と してデザインに追加できます。

デザインに含まれる IP は、 次の方法で操作できます。

• Manage IP フローを使用して IP をカスタマイズし、 合成済みデザイン チェッ クポイン ト (DCP) を含む出力ファ

イルを生成して、 現在および今後のリ リースで使用するためにカスタマイズを保持します。 詳細は、 『Vivado

Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] のこのセクシ ョ ンを参照してください。

• 作成されたザイ リ ンクス コア インスタンス (XCI) ファ イルをインポート または読み込んで、 IP をプロジェク ト

モードまたは非プロジェク ト モードで使用します。 これは、 チーム メ ンバーの多い大規模なプロジェク トに推

奨される方法です。

• プロジェク トから IP カタログにアクセスし、 IP をカスタマイズしてデザインに追加します。 IP ファ イルをプロ

ジェク トのローカル ディレク ト リ 、 またはプロジェク ト外部に保存します。 これはチーム メ ンバーの少ないプ

ロジェク トに推奨される方法です。

IP のコンフ ィギュレーシ ョ ン

Vivado IP カタログ (図 3-6) には、 プロジェク トで選択したターゲッ ト デバイスで使用可能な IP が表示されます。 こ

のカタログには、 各 IP のバージ ョ ンおよびライセンス情報、 該当するデータシートが含まれます。

Vivado IP カタログの [License] 列には、 [Included] または [Purchase] と表示されます。 ザイ リ ンクスから提供されてい

る IP には、 次の定義が適用されます。

• [Included]: Vivado Design Suite 内で無償でライセンス付与されるザイ リ ンクス LogiCORE™ IP コアで、 ザイ リ ン

クス エンド ユーザー ライセンス契約が適用されます。

• [Purchase]: 有償のザイ リ ンクス LogiCORE IP で、 コア ライセンス契約が適用されます。 これらのコアの評価版

には、 コア評価ライセンス契約が適用されます。

デザイン  フローの概要 33UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 34: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

プロジェク トで使用されている IP コアのライセンス ステータス情報は、 [Report] → [Report IP Status] をク リ ッ クする

と表示されます。 IP ラ イセンスの取得方法は、 ライセンスに関するソ リ ューシ ョ ン センターを参照してください。

ザイ リ ンクスおよびパートナーでは、 Vivado IP カタログに含まれていない IP コアも提供しています。入手可能な IP

は、 ザイ リ ンクス ウェブサイ トの IP ページを参照して ください。

IP をダブルク リ ッ クする と、 コンフ ィギュレーシ ョ ン ウ ィザードが起動し、 IP をデザインにインスタンシエートで

きます。 IP をコンフ ィギュレーシ ョ ンしたら、 ザイ リ ンクス コア インスタンス ファ イル (.xci) が作成されます。

このファイルには、 IP のカスタマイズ オプシ ョ ンすべてが含まれます。 このファイルに基づいて IP のすべての出力

ファイルが生成されます。 これらの出力ファイルには、 合成およびシ ミ ュレーシ ョ ン用の HDL、 制約、 テス トベン

チ (場合によって)、 C モジュール、 サンプル デザインなどが含まれます。 これらのファイルは、 使用されるカスタ

マイズ オプシ ョ ンに基づいて作成されます。

X-Ref Target - Figure 3-6

図 3‐6: Vivado IP カタログ

デザイン  フローの概要 34UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 35: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

IP 出力ファイルの生成

IP の出力ファイルは、 その IP 特定の設定を合成、 シ ミ ュレーシ ョ ン、 およびインプリ メンテーシ ョ ン ツールで使用

できるよ うにするために作成されます。 出力ファイルを生成する と、 ディ レク ト リ構造が設定されて、 その IP に関

するさまざまな出力ファイルが保存されます。 それらのフォルダーおよびファイルの名前はわかりやすいものに

なっているので、 変更しないでください。 Vivado Design Suite では、 次の出力ファイルが生成されます。

• インスタンシエーシ ョ ン テンプレート

• RTL ソース ファ イルと XDC 制約

• 合成済みデザイン チェッ クポイン ト (デフォルト )

• サードパーティ シ ミ ュレーシ ョ ン ソース

• サードパーティ合成ソース

• サンプル デザイン (該当 IP のみ)

• テス トベンチサンプル デザイン (該当 IP のみ)

• C モデル (該当 IP のみ)

ヒン ト : プロジェク ト モードの場合、 足りない出力ファイルが合成中に自動的に生成され、 アウ ト オブ コンテキス

ト フローの場合は合成済みデザイン チェッ クポイン ト (DCP) ファ イルも含まれます。 非プロジェク ト モードでは、

グローバル合成の前に出力ファイルを手動で生成しておく必要があ り ます。

デザインにあるカスタマイズされた各 IP に対し、 合成済みデザイン チェッ クポイン ト を含め、 すべての出力ファイ

ルを生成しておく必要があ り ます。 すべて生成しておく と、 IP を完全な形でアーカイブした り、 リ ビジ ョ ン管理用

に保存できます。 このよ うに、 新しいバージ ョ ンの Vivado Design Suite にその IP が含まれていなかったり、 望まし

くない変更 (インターフェイスの変更など) が IP に加えられていたり しても、 シ ミ ュレーシ ョ ンに必要なファイル

や、 新しいバージ ョ ンの Vivado Design Suite で合成およびインプリ メンテーシ ョ ンを実行するために必要なファイル

は手元にあるこ とになり ます。

IP コア コンテナーの使用

オプシ ョ ンのコア コンテナー機能を使用する と、 IP が 1 つのファイルにまとめられるので、 リ ビジ ョ ン管理システ

ムでの作業が簡単になり ます。 このオプシ ョ ンを利用するこ とで、 IP 設定ファイル (XCI) と出力ファイルを、 ディ

レク ト リ構造ではなく、 IP コア コンテナー ファ イル (XCIX) という 1 つのバイナリ ファ イルに格納できます。XCIX

ファ イルは XCI ファ イルと類似しており、 ツールでは同様に機能します。 IP コア コンテナーの使用に関する詳細

は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] を参照してください。 コア コンテ

ナーを使用した リ ビジ ョ ン管理に関する詳細は、 「IP ソースの管理」 を参照して ください。

デザイン  フローの概要 35UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 36: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

アウト  オブ コンテキスト  デザイン  フロー

デフォルトでは、 Vivado Design Suite は、 アウ ト オブ コンテキス ト (OOC) デザイン フローを使用して、 IP カタログ

からの IP および Vivado IP インテグレーターからのブロ ッ ク デザインを合成します。 OOC フローでは、 階層デザイ

ンのデザイン モジュール、 IP コア、 またはブロッ ク デザインを 上位デザインからは独立させて合成、 インプリ メ

ン ト 、 解析できます。 OOC フローでは、 合成結果を保存し再利用できるので、 デザイン サイ クル時間を短縮し、 デ

ザインの反復作業を省く こ とができます。

Vivado IP カタログからデザインに追加された IP コアは、 デフォルトで OOC フローを使用するよ うになっています。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] のこのセクシ ョ ンを参照してく

ださい。 Vivado IP インテグレーターで作成されたブロッ ク デザインも、 出力ファイルを生成する と きには、 デフォ

ルトで OOC フローを使用するよ うになっています。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレー

ターを使用した IP サブシステムの設計』 (UG994) [参照 32] のこのセクシ ョ ンを参照して ください。

Vivado Design Suite では、 デザインのグローバル合成およびインプリ メンテーシ ョ ンがサポート され、 すべてのモ

ジュール、 ブロ ッ ク デザインおよび IP コアが統合された 上位デザインの一部と して合成できます。 OOC フロー

では、 特定のモジュールをアウ ト オブ コンテキス ト合成するよ うマークし、 それ以外のモジュールは 上位デザイ

ンのグローバル合成に含めるこ とができます。 Vivado IP インテグレーターからのブロ ッ ク デザインの場合は、 ブ

ロ ッ ク デザイン全体を OOC 合成に指定するか、 IP ごと、 またはブロ ッ ク デザインで使用される IP ごとに OOC 合

成を指定できます。 グローバル モードで実行する場合、 デザイン制約はすべて Viviado 合成で表示可能になっていま

す。 OOC モードで実行する場合は、 見積もられた制約が合成中に使用されます。

Vivado 合成ツールには、 同じ IP カスタマイズを使用するほかのデザインで再利用できるよ う、 OOC 合成の結果を保

存するキャ ッシュがあ り ます。 これによ り、 大型で複雑なデザインの合成に要する時間をかなり短縮できます。

OOC IP またはモジュールに対し、 デザイン チェッ クポイン ト (DCP) が作成され、 これには合成済みのネッ ト リ ス ト

およびデザイン制約が含まれています。 OOC モジュールは、 合成したデザインを開いてすべてのエレ メン トがアセ

ンブルされるまでは、 上位デザインでブラ ッ ク ボッ クス と して表示されます。 上位の合成デザインを開く前は、

上位デザインのリ ソース使用率および解析に OOC モジュール (ブラ ッ ク ボッ クス) のネッ ト リ ス トやリ ソース情報

が含まれない可能性があるので、 デザインの完全なビューは提供されません。

重要: よ り正確なレポート を取得するには、 統合された OOC モジュールがすべて含まれる 上位の合成済みデザイ

ンを開いて解析してください。

OOC フローは、 Vivado 合成、 インプリ メンテーシ ョ ン、 および解析でサポート されます。 詳細は、 『Vivado Design

Suite ユーザー ガイ ド : 合成』 (UG901) [参照 19] のこのセクシ ョ ンを参照してください。 OOC 合成は、 『Vivado Design

Suite ユーザー ガイ ド : 階層デザイン』 (UG905) [参照 22] に示すよ うに、 階層設計手法およびチーム デザイン アプ

ローチにも使用されます。

IP の制約

多くの IP には、 Vivado 合成およびインプ リ メ ンテーシ ョ ン中に使用される XDC 制約ファ イルがあ り ます。 IP

が Vivado IP カタログからカスタマイズされたものである場合、 これらの制約は、 プロジェ ク ト モードおよび非

プロジェ ク ト モードの両方で自動的に適用されます。

IP コアの多くでは、 これらの XDC ファ イルの入力クロ ッ クが参照されます。 これらのクロ ッ クは、 上位でユー

ザーが指定したものか、 またはデザイン内のほかの IP コアから供給されるこ と もあ り ます。 Vivado ツールでは、 デ

フォルトで IP ク ロ ッ クおよびユーザー定義の 上位クロ ッ クが先に作成され、 これらのクロ ッ クがそれを必要とす

る IP コアに供給されます。詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] のこ

のセクシ ョ ンを参照してください。

デザイン  フローの概要 36UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 37: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

IP の検証

IP を合成し、 ビヘイビアーまたは構造型ロジッ ク シ ミ ュレーシ ョ ンを実行し、 IP モジュールをインプ リ メン ト し

て、 タイ ミ ング、 消費電力、 リ ソース使用率などを検証するこ とによ り、 Vivado IP を検証できます。 通常、 スタン

ドアロン IP を検証するには、 小さなサンプル デザインが使用されます。 上位デザイン プロジェク トのコンテキス

ト内で IP モジュールを検証するこ と もできます。 IP は合成済みデザイン チェッ クポイン ト を作成するので、 このボ

ト ムアップ検証ス ト ラテジはスタンドアロンまたはプロジェク ト内のいずれでも う ま く機能します。

Vivado IP カタログに含まれるザイ リ ンクス IP の多くには、 サンプル デザインが含まれます。 IP にサンプル デザイ

ンが含まれているかど うかは、 図 3-7 に示すよ うに、 [Manage IP] または RTL プロジェク トで [IP Sources] タブに含ま

れる IP を右ク リ ッ ク し、 [Open IP Example Design] が選択できるかど うかでわかり ます。 また、 Tcl で IP の

SUPPORTED_TARGETS プロパティからも、 同じこ とを確認できます。

選択した IP に対しサンプル デザインを作成し、 そのサンプル デザイン プロジェク ト内でスタンドアロン IP を検証

するには、 [Open IP Example Design] という右ク リ ッ ク メニューを使用します。 サンプル デザインと IP 出力ファイル

の使用に関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] を参照してくだ

さい。

IP の中には、 サンプル デザインにテス トベンチが含まれているものがあ り、 カスタマイズした IP の機能を検証する

のに使用できます。 ビヘイビアー、 合成後、 またはインプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ンを実行できます。

また、 論理またはタイ ミ ング シ ミ ュレーシ ョ ンを実行できます。 タイ ミ ング シ ミ ュレーシ ョ ンおよび論理シ ミ ュ

レーシ ョ ンを実行するには、 サンプル デザインを合成およびインプリ メン トする必要があ り ます。 IP のシ ミ ュレー

シ ョ ンに関する詳細は、 その IP の製品ガイ ドを参照してください。 シ ミ ュレーシ ョ ンの詳細は、 『Vivado Design

Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] を参照してください。

メモリ  IP の使用

ザイ リ ンクス メモ リ IP を使用する場合は、 追加の I/O ピン プランニング手順が必要です。 IP をカスタマイズした

後、 Vivado IDE でエラボレート済みデザインまたは合成済みデザインを開いて 上位 I/O ポート を物理的なパッケー

ジ ピンに割り当てます。

X-Ref Target - Figure 3-7

図 3‐7:サンプル デザインを開く

デザイン  フローの概要 37UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 38: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

各メモ リ IP に関連するポートはすべて I/O ポート インターフェイス と してグループ化されており、 簡単に特定およ

び割り当てできます。 メモ リ バンク /バイ ト プランナーが提供されており、 メモ リ I/O ピン グループを物理的なデバ

イス ピンのバイ ト レーンに割り当てるこ とができます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 17] のこのセクシ ョ

ンを参照してください。

デザインにメモ リ IP が含まれる場合は、 次の資料を参照してください。

• シ ミ ュレーシ ョ ンの詳細: 『UltraScale アーキテクチャ FPGA メモ リ IP LogiCORE IP 製品ガイ ド』 (PG150) [参

照 5]

• MicroBlaze™ プロセッサ デザインを含むメモ リ IP のシ ミ ュレーシ ョ ン例: 『 リ ファレンス システム: IP インテ

グレーターを用いた Kintex-7 MicroBlaze システム シ ミ ュレーシ ョ ン』 (XAPP1180) [参照 7]

カスタム IP および IP サブシステムのパッケージ

Vivado Design Suite では、 カスタム IP またはブロ ッ ク デザインをパッケージして、 Vivado IP カタログに IP と して リ

ス ト し、 デザインまたは Vivado IP インテグレーターで使用できます。 IP は、 RTL ソース ファ イルのコレクシ ョ ン、

Vivado IP インテグレーターのブロッ ク デザイン、 Vivado Design Suite プロジェク ト全体など、 さまざまなソースから

パッケージできます。

パッケージされた IP のディ レク ト リは、 Vivado IDE で [Tools] → [Settings] をク リ ッ ク し、 [Settings] ダイアログ ボッ

クスの [IP] → [Repository] ページに追加できます。 IP のリポジ ト リ を追加する と、 リポジ ト リからの IP コアが IP カ

タログに表示されるよ うになり ます。

ヒン ト : IP の HDL をパッケージする前に、 シ ミ ュレーシ ョ ンおよび合成を実行し、 デザインで正しいこ とを確認し

てください。

IP を設定して、 Vivado IP カタログおよび IP インテグレーター内で使用できるよ うにする方法は複数あ り ます。 たと

えば、 Create and Package IP ウ ィザードを使用し、 順を追って、 プロジェク ト 、 ブロ ッ ク デザイン、 または指定ディ

レク ト リからの IP をパッケージしていく こ とができます。 また、 エンベデッ ド プロセッサ デザインで使用するため

の新しいテンプレート AXI4 ペリ フェラルを作成してパッケージするこ と もできます。

重要: カスタム IP 定義の作成中に、 サポート されるデバイス ファ ミ リの正しいリ ス ト を適切に定義してください。

これは、 IP を複数のデバイス ファ ミ リで使用する場合に特に重要になり ます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成とパッケージ』 (UG1118) [参照 34] および 『Vivado

Design Suite チュート リ アル: カスタム IP の作成とパッケージ』 (UG1119) [参照 35] を参照して ください。

IP のアップグレード

Vivado Design Suite のリ リースごとに、 新しい IP バージ ョ ンも リ リースされます。 新しいリ リースごとにデザインで

使用されている IP をアップグレードするこ とを推奨します。 ただし、 不要な変更を招かないよ うに、 既に設定、 合

成された古いバージ ョ ンの IP をスタティ ッ ク IP と して使用するこ と もできます。 既存 IP のスタティ ッ ク バージ ョ

ンを使用するには、 その IP の出力ファイルがすべて生成されていて、 その生成された出力ファイルに変更を加える

こ とができないよ うにしておく必要があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』

(UG896) [参照 14] のこのセクシ ョ ンを参照してください。

デザイン内の IP の現在のステータスをレポートするには、 Tcl コマンド report_ip_status を使用します。変更が

必要であれば、 IP を選択して、 その IP だけを 新バージ ョ ンにアップグレードするこ と もできます。 各 IP の変更ロ

デザイン  フローの概要 38UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 39: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

グに、 変更の詳細が説明されており、 必要なデザイン アップデートがリ ス ト されています。 たとえば、 新しい IP

バージ ョ ンで 上位ポートが変更された場合、 デザインを修正する必要があるこ とがあ り ます。 新リ リースで IP

バージ ョ ンが変更になっている場合は、 デザインで使用されているバージ ョ ンがロッ ク され、 スタティ ッ ク IP と し

て使用する必要があ り ます。 使用できる出力ファイルはその時点で出力されているファイルです。 または、 現在の

リ リースをサポートするバージ ョ ンにアップデートする必要があ り ます。 ロ ッ ク された IP はロッ ク されている とレ

ポート され、 Vivdao IDE の [Sources] ウ ィンド ウに鍵型のシンボルが表示されます。

IP インテグレーターを使用した IP サブシステムの作成

Vivado IP インテグレーターでは、 ブロ ッ ク デザイン (.bd)、 または AXI4 インターコネク ト プロ ト コルを使用して

複数の IP をま とめた IP サブシステムを作成できます。 IP インテグレーターでは、 IP コアをすばやく接続して、

Zynq® UltraScale+™ MPSoC、 Zynq-7000 All Programmable (AP) SoC および MicroBlaze プロセッサを使用したエンベ

デッ ド プロセッサ ベースのデザインを含む、 ド メ イン特定のサブシステムおよびデザインを作成できます。 「カス

タム IP および IP サブシステムのパッケージ」 で説明しているよ うに、 Vivado HLS からの高位合成モジュール、

System Generator からの DSP モジュール、 [Package IP] 機能を使用してパッケージ化したカスタム IP をインスタンシ

エートできます。

Vivado IP インテグレーターでは、 デザイン キャンバスに IP をド ラ ッグ アンド ド ロ ップし、 AXI インターフェイス

をワイヤ 1 つを使用して接続し、 ポートおよびインターフェイス ポート を配置して IP サブシステムを 上位デザイ

ンに接続します。 これらの IP ブロッ ク デザインは、 ソース (.bd) と してパッケージされ、 ほかのデザインで再利用

するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステ

ムの設計』 (UG994) [参照 32] または『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デ

ザイン』 (UG898) [参照 16] を参照してください。

X-Ref Target - Figure 3-8

図 3‐8: Vivado IP インテグレーター

デザイン  フローの概要 39UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 40: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

IP サブシステムの構築

Vivado IP インテグレーターのインタラ クティブなブロッ ク設計機能を使用する と、 IP を設定したり、 複数の IP を統

合したりする作業が簡単になり ます。

ヒン ト : Tcl スク リプ トで作業する場合は、 Vivado IDE を使用してインタラ クティブにブロ ッ ク デザインを作成して

から、 ブロ ッ ク デザインを再生成するのに必要なスク リプ ト を取り込んで編集するこ とを推奨します。 IP インテグ

レーターでは、 現在のブロ ッ ク デザインを メモ リで作成し直すための Tcl スク リプ ト を作成できます。

ブロック  デザインでの RTL モジュールの参照

Vivado IP インテグレーターのモジュール参照機能を使用する と、Verilog または VHDL ソース ファ イルで定義された

モジュールまたはエンティティをブロ ッ ク デザインに簡単に追加できます。 この機能を使用する と、 RTL を IP と し

てパッケージして Vivado IP カタログから追加するプロセスを使用せずに RTL モジュールを追加できます。 モジュー

ル参照フローはすばやく実行できますが、 IP カタログの使用といった利点は提供されません。 どちらの方法にも、

利点と欠点があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシス

テムの設計』 (UG994) [参照 32] のこのセクシ ョ ン参照してください。

設計アシスタンス

IP インテグレーターには、 サブシステムまたはデザインの作成時間を短縮できるよ うにブロ ッ ク オート メーシ ョ ン

やコネクシ ョ ン オート メーシ ョ ンという機能があ り ます。 ブロ ッ ク オート メーシ ョ ン機能は、 基本的なプロセッサ

ベースのデザインおよび複雑な IP システムを設定するために使用し、 コネクシ ョ ン オート メーシ ョ ン機能はデザイ

ンの別のピン/ポートへの反復的な接続を自動的に作成するために使用します。 「プラ ッ ト フォーム ボード フロー」

で説明しているよ うに、 IP インテグレーターでは、 プラ ッ ト フォーム ボード フローですべてのザイ リ ンクス評価

ボード もサポート されているので、 コネクシ ョ ン オート メーシ ョ ン機能を使用して、 デザインの I/O ポート をター

ゲッ ト ボードのコンポーネン トに接続できます。 また、 設計アシスタンスも ク ロ ッ クやリセッ トの定義および接続

に便利です。 設計アシスタンスを使用する と、 設計プロセスを短縮できるだけでなく、 デザイン エラーも回避でき

ます。

プラッ ト フォーム ボード  フロー

Vivado Design Suite ではボードが認識されるので、含まれているボード ファ イルから I/O 制約および IP 設定データを

自動的に抽出できます。 ボード ファ イルによ り ターゲッ ト ボードに存在するさまざまなコンポーネン トが認識さ

れ、 IP を特定のボード コンポーネン トに接続されるよ うにカスタマイズ、 設定できます。 現在のと ころ、 数個の 7

シ リーズ、 Zynq-7000 AP SoC、 および UltraScale™ デバイスのボードがサポート されています。 パートナーの開発

ボードを使用している場合は、 パートナー ウェブサイ トからサポート ファ イルをダウンロードできます。

IP インテグレーターでは、 [Board] ウ ィンド ウにターゲッ ト ボード上のすべてのコンポーネン ト インターフェイス

が表示されます。 このタブを使用して、 設計アシスタンス機能を利用して必要なコンポーネン トに接続します。 I/O

制約は、 この機能の一部と してすべて自動的に生成されます。

カスタム ボード用のボード ファ イルを生成し、 ボード ファ イルを含むリポジ ト リ をプロジェク トに追加するこ と も

可能です。 カスタム ボード ファ イル生成の詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン

入力』 (UG895) [参照 13] のこのセクシ ョ ンを参照してください。

デザイン  フローの概要 40UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 41: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

IP サブシステムの検証

IP インテグレーターでは、 デザインの作成過程で基本的なデザイン ルール チェッ クがリ アルタイムで実行されます

が、 クロ ッ ク ピンの周波数が正し く設定されていないなどのデザイン エラーがまだある可能性があ り ます。 このよ

うなエラーは、 さ らに徹底したデザイン検証を実行する と検出できます。 デザインを検証するには、 [Tools] →

[Validate Design] をク リ ッ クするか、 Tcl コマンド validate_bd_design を使用します。

[Validate Design] では、ブロ ッ ク デザインのデザイン ルール チェッ クが適用され、エラーまたは警告があればレポー

ト されます。 エラーまたは警告メ ッセージをク リ ッ クする と、 ブロ ッ ク図で該当する部分がハイライ ト されます。

ボード デザインを検証しておく と、 デザイン フローの後半になってから問題に気づく という よ う な状況を回避でき

ます。

デザイン検証を実行する と、 ブロ ッ ク デザインのパラ メーター伝搬も実行されます。 パラ メーター伝搬では、 デザ

インのコンテキス トや接続に基づいて、 IP に関連付けられているパラ メーターが自動的にアップデート されます。

カスタム IP を特定の伝搬ルールを使用してパッケージする と、 ブロ ッ ク図の生成および検証時に IP インテグレー

ターでこれらのルールが適用されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用し

た IP サブシステムの設計』 (UG994) [参照 32] のこのセクシ ョ ンを参照してください。

ブロック  デザインの出力ファイルの生成

ブロ ッ ク デザインまたは IP サブシステムを作成したら、 デザインを生成できます。 デザインを生成する と、 すべて

のソース コード、 その IP に必要な制約、 ブロ ッ ク デザインの構造型ネッ ト リ ス トが生成されます。 ブロ ッ ク デザ

インを生成するには、 [Sources] ウ ィンド ウでブロッ ク デザインを 右ク リ ッ ク し、 [Generate Output Products] をク リ ッ

ク します。Vivado Design Suite の Flow Navigator から [IP Integrator] → [Generate Block Design] をク リ ッ ク しても生成で

きます。

Vivado Design Suite では、ブロ ッ ク デザインに対して、 [Out of context per Block design] および [Out of context per IP] と

いう 2 つの OOC モードがサポート されています。詳細は、 「アウ ト オブ コンテキス ト デザイン フロー」 を参照して

ください。

ブロック  デザインの最上位デザインへの統合

IP インテグレーターのブロ ッ ク デザインは、 上位のデザイン レベルに統合するか、 デザイン階層の 上位にできま

す。 IP インテグレーター デザインを上位のブロ ッ ク デザインに統合するには、 IP インテグレーター デザインを 上

位 HDL ファ イルにモジュールと してインスタンシエート します。

ブロ ッ ク デザインを上位にインスタンシエートするには、 Vivado IDE の [Sources] ウ ィンド ウでブロ ッ ク デザインを

右ク リ ッ ク し、 [Create HDL Wrapper] をク リ ッ ク します。 これによ り、 IP インテグレーター サブシステム用の 上位

HDL ファ イルが生成されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サ

ブシステムの設計』 (UG994) [参照 32] のこのセクシ ョ ンを参照してください。

ロジック  シミ ュレーシ ョ ン

Vivado Design Suite では、 デザインまたは IP を検証するために複数のロジッ ク シ ミ ュレーシ ョ ン オプシ ョ ンが提供

されています。 Vivado IDE に統合されている Vivado シ ミ ュレータでは、 デザインのシ ミ ュレーシ ョ ン、 波形ビュー

アーでの信号の追加および表示、 デザインの確認およびデバッグを必要に応じて実行できます。

デザイン  フローの概要 41UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 42: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

Vivado シ ミ ュレータでは、 デザインのビヘイビアー シ ミ ュレーシ ョ ン、 構造シ ミ ュレーシ ョ ン、 インプリ メン ト済

みデザインのタイ ミ ング シ ミ ュレーシ ョ ンを実行できます。 図 3-9 に、 論理およびタイ ミ ング シ ミ ュレーシ ョ ンに

Vivado シ ミ ュレーシ ョ ンを使用するこ とが可能なすべての箇所を示します。 また、 エラボレート済み、 合成済み、

インプ リ メンテーシ ョ ン済みのデザインから、 Verilog や VHDL ネッ ト リ ス ト 、 および SDF ファ イルを書き出して、

サードパーティ シ ミ ュレータを使用するこ と も可能です。 Vivado IDE では、 Mentor Graphics、 Synopsys、 Cadence、

Aldec のシ ミ ュレータを設定して起動できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレー

シ ョ ン』 (UG900) [参照 18] のこのセクシ ョ ンを参照してください。

シミ ュレーシ ョ ン  フローの概要

Vivado Design Suite でのシ ミ ュレーシ ョ ンに関する主な点をこ こで説明します。 その多くは以下に、 または 『Vivado

Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] に詳細に説明されています。

1. 合成およびインプ リ メンテーシ ョ ンを実行する前に、 ビヘイビアー シ ミ ュレーシ ョ ンを実行します。 問題を早

期に特定するこ とによ り、 時間およびコス ト を削減できます。

2. 可能な限り ロジッ クを推論します。 プリ ミ ティブをインスタンシエートする と、 シ ミ ュレーシ ョ ンの実行時間

がかなり長くな り ます。

3. シ ミ ュレータの混合モード ラ イセンスがない場合を除き、 [Target Language] は常に [Mixed] に設定します。

4. シ ミ ュレーシ ョ ン パフォーマンスを向上させるために使用しているのでなければ、 波形ビューアーをオフにし

ます。

5. Vivado シ ミ ュレータでは、 xelab 中のデバッグをオフにしてパフォーマンスを向上します。

6. Vivado シ ミ ュレータでは、 マルチスレッ ドをオンにしてコンパイル時間を短縮します。

X-Ref Target - Figure 3-9

図 3‐9:デザイン  フローのさまざまな段階でのシミ ュレーシ ョ ン

X14050

デザイン  フローの概要 42UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 43: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

7. サードパーティ シ ミ ュレータを使用する場合は、 サポート されているバージ ョ ンを必ず使用します。 詳細は、

『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 (UG973) [参照 31] を参

照してください。

8. サードパーティ シ ミ ュレータを使用する場合は、 インク リ メンタル コンパイルをオンにします。

9. 選択されているシ ミ ュレータにバッチ スク リプ ト を生成するには、 ザイ リ ンクス Tcl コマンド

export_simulation を使用します。

10. 個々の IP、 BD、 および階層モジュールに対してと、 上位デザインに対してシ ミ ュレーシ ョ ン スク リプ ト を生

成します。

11. 7 シ リーズ デバイスをターゲッ トにする場合は、 UNIFAST ライブラ リ を使用してシ ミ ュレーシ ョ ン パフォーマ

ンスを向上します。

注記: UNIFAST ライブラ リは UltraScale デバイスではサポート されていません。

シミ ュレーシ ョ ン  ライブラリのコンパイル

Vivado では、 Vivado シ ミ ュレータで使用するシ ミ ュレーシ ョ ン ライブラ リおよびザイ リ ンクス IP で必要なすべての

スタティ ッ ク ライルのライブラ リが配布されており、 これらはあらかじめコンパイルされています。 シ ミ ュレー

シ ョ ン スク リプ トが作成される と、 これらのライブラ リが参照されます。

サードパーティ シ ミ ュレータを使用する場合、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』

(UG900) [参照 18] で説明されているよ うに、 シ ミ ュレーシ ョ ンを実行する前にザイ リ ンクス シ ミ ュレーシ ョ ン ライ

ブラ リ をコンパイルする必要があ り ます。 特に、 デザインが VHDL プリ ミ ティブまたはザイ リ ンクス IP (過半数は

VHDL 形式) をインスタンシエートする場合はプリ コンパイルする必要があ り ます。 シ ミ ュレーシ ョ ン ライブラ リ を

プ リ コンパイルしないと、 ライブラ リ バインディング エラーが発生します。

ターゲッ ト シ ミ ュレータ用にザイ リ ンクス シ ミ ュレーシ ョ ン ラ イブラ リ をコンパイルするには、

compile_simlib Tcl コマンドを実行します。 Vivado IDE では、 [Tools] → [Compile Simulation Libraries] をク リ ッ ク

します。

重要: シ ミ ュレーシ ョ ン ライブラ リはプリ コンパイルされていて、 Vivado シ ミ ュレータで使用するために提供されて

います。 ただし、 サードパーティ シ ミ ュレータで使用するライブラ リは手動でコンパイルする必要があ り ます。 詳

細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] のこのセクシ ョ ンを参照

してください。

シミ ュレーシ ョ ンの時間の精度

精度 1 ps を使用してシ ミ ュレーシ ョ ンを実行するこ とをお勧めします。MMCM などのザイ リ ンクスのプリ ミ ティブ

コンポーネン トの中には、 論理またはタイ ミ ング シ ミ ュレーシ ョ ンのいずれかで正し く動作するためには 1 ps の精

度が必要なものがあ り ます。

ヒン ト : ほとんどのシ ミ ュレーシ ョ ン時間はデルタ サイクルで使用されるため、 ザイ リ ンクス シ ミ ュレーシ ョ ン モ

デルではこれよ り低い精度を使用してもシ ミ ュレータ パフォーマンスが向上するこ とはあ り ません。

シ ミ ュレータによって数値を丸めたり、 その数値を切り捨てるものがあるため、 フェム ト秒 (fs) など、 よ り高い精

度を使用する必要はあ り ません。

デザイン  フローの概要 43UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 44: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デザイン  フロー早期の論理シミ ュレーシ ョ ン

論理またはレジスタ ト ランスファー レベル (RTL) シ ミ ュレーシ ョ ンを使用する と、 構文および機能を検証できま

す。 初のシ ミ ュレーシ ョ ンは、 通常 RTL (ビヘイビアー ) コードを検証し、 デザインが予測どおりに機能している

かど うかを確認するために実行されます。

大型の階層デザインでは、 デザイン全体をテス トする前に、 個別の IP、 ブロ ッ ク デザイン、 または階層モジュール

をシ ミ ュレーシ ョ ンできます。 このシ ミ ュレーシ ョ ン プロセスを使用する と、 大型デザインを検証する前に、 部分

ごとにコードを簡単にデバッグできます。 各モジュールが正し くシ ミ ュレーシ ョ ンされたら、 上位デザインのテ

ス トベンチを作成して、 デザイン全体が要件どおりに機能するかど うか検証します。 同じテス トベンチを 終的な

タイ ミ ング シ ミ ュレーシ ョ ンで再び使用し、 ワース ト ケース遅延でもデザインが予測どおりに機能するかど うかを

確認します。

推奨: この段階では、 タイ ミ ング情報は供給されません。 シ ミ ュレーシ ョ ンをユニッ ト遅延モードで実行して、 レー

ス コンディシ ョ ンが発生しないよ うにするこ とをお勧めします。

デザインを作成する と きは、 合成可能な HDL 構文を使用してください。 必要でない限り、 特定コンポーネン トはイ

ンスタンシエート しないよ うにします。 これによ り、 次が可能になり ます。

• よ り読みやすいコード

• よ り高速でシンプルなシ ミ ュレーシ ョ ン

• コードの移植性 (別のデバイス ファ ミ リに移行可能)

• コード再利用性 (今後別のデザインに同じコードを使用可能)

ヒン ト : コンポーネン ト を推論できない場合は、 コンポーネン ト をインスタンシエートする必要があるこ とがあ り ま

す。

コンポーネン ト をインスタンシエートする と、 コードがそのアーキテクチャ特定のものになる可能性があ り ます。

シミ ュレーシ ョ ンでの構造ネッ ト リス トの使用

デザインを合成/インプリ メンテーシ ョ ンしたら、 論理またはタイ ミ ング モードでネッ ト リ ス ト シ ミ ュレーシ ョ ンを

実行できます。 ネッ ト リ ス ト シ ミ ュレーシ ョ ンは、 次にも役立ちます。

• 次の原因によ り合成後およびインプリ メンテーシ ョ ン後に機能が変更されているかど うかを特定します。

° 不一致の原因となる合成属性または制約 (full_case および parallel_case など)

° ザイ リ ンクス デザイン制約 (XDC) ファ イルへの UNISIM 属性の適用

° 合成とシ ミ ュレーシ ョ ンでの言語解釈の違い

° デュアル ポート RAM の競合

° タイ ミ ング制約が不足している、 または正し く適用されていない

° 非同期パスの操作

° 適化手法による機能の問題

• STA (スタティ ッ ク タイ ミ ング解析) 中にフォルスまたはマルチサイ クルと して宣言されているタイ ミ ング パス

の識別

• 消費電力見積も り用のネッ ト リ ス ト スイ ッチング アクティビティの生成

デザイン  フローの概要 44UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 45: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

• X ステートの不必要に悪い見積も り部分の特定

ネッ ト リ ス ト シ ミ ュレーシ ョ ンには、 次の表に示すライブラ リの 1 つまたは複数を使用する必要があ り ます。

UNIFAST ライブラ リは論理シ ミ ュレーシ ョ ンで使用できるオプシ ョ ンのライブラ リで、 シ ミ ュレーシ ョ ンを高速化

します。 UNIFAST ライブラ リは 7 シ リーズ デバイスでのみサポート されています。 UltraScale 以降のデバイス アー

キテクチャでは、 すべての 適化が UNISIM ラ イブラ リにデフォルトで組み込まれているので、 UNIFAST はサポー

ト されません。 ザイ リ ンクス シ ミ ュレーシ ョ ン ライブラ リの詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ

ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] のこのセクシ ョ ンを参照してください。

UNISIM ライブラ リのプ リ ミ ティブ/エレ メン トには、 ク ロ ッ ク付きエレ メン ト以外、 タイ ミ ング情報は含まれませ

ん。 論理シ ミ ュレーシ ョ ン中のレース コンディシ ョ ンを避けるため、 ク ロ ッ ク付きエレ メン トには 100 ps の

clock-to-out 遅延が含まれます。 UNISIM エレ メン トに遅延がないため、 波形ビューで、 組み合わせ信号に対してス

パイクおよびグ リ ッチが表示されるこ とがあ り ます。

タイ ミング シミ ュレーシ ョ ン

ザイ リ ンクスでは、 Verilog でのみタイ ミ ング シ ミ ュレーシ ョ ンをサポート しています。 Vivado IDE では [File] →

[Export] → [Export Netlist] をク リ ッ クするか、 write_verilog という Tcl コマンドを使用して、 開いている合成済

みまたはインプ リ メン ト済みのデザインのタイ ミ ング シ ミ ュレーシ ョ ンのネッ ト リ ス ト をエクスポートできます。

タイ ミ ング遅延に読み込まれる標準遅延フォーマッ ト (SDF) ファ イルの名前は、 シ ミ ュレーシ ョ ン ネッ ト リ ス ト内

の Verilog システム タスクの $sdf_annotate で指定されます。 この指示子は、 Vivado IDE の [Simulation Settings] ダ

イアログ ボッ クスの [Netlist] タブで -sdf_anno オプシ ョ ンをオンにした場合に、エクスポート されたネッ ト リ ス ト

に追加されます。 SDF ファ イルは write_sdf コマンドを使用して書き込まれます。 Vivado シ ミ ュレータはコンパ

イル中に SDF ファ イルを自動的に読み込みます。

ヒン ト : Vivado シ ミ ュレータでは混合言語シ ミ ュレーシ ョ ンがサポート されます。 たとえば、 VHDL ユーザーが

Verilog シ ミ ュレーシ ョ ン ネッ ト リ ス ト を生成でき、 それを VHDL テス トベンチからインスタンシエートできます。

タイ ミ ング シ ミ ュレーシ ョ ンは時間がかかるので実行しないユーザーが多いのですが、 フル タイ ミ ング シ ミ ュレー

シ ョ ンを実行するこ とで、 も実際に近い形でハードウェア動作をモデリ ングできるので、 実行するよ うにしてく

ださい。 デザインがハード ウェアで動作しない場合は、 タイ ミ ング シ ミ ュレーシ ョ ンでエラーを再現できれば、 シ

ミ ュレーシ ョ ンでエラーをデバッグする方が簡単です。

タイ ミ ング シ ミ ュレーシ ョ ンを実行しない場合は、 次を確認して ください。

• STA 制約がすべて正しいこ とを確認します。 例外に特に注意します。

• ネッ ト リ ス トが RTL で記述したものと同等であるこ とを確認します。 合成ツールで示される推論関連の情報に

特に注意します。

表 3‐1: シミ ュレーシ ョ ン  ライブラリの使用

ライブラリ名 説明 VHDL ライブラリ名 VHDL ライブラリ名

UNISIM ザイ リ ンクス プリ ミ ティブの論理シ ミ ュレー

シ ョ ン

UNISIM UNISIMS_VER

UNIMACRO ザイ リ ンクス マクロの論理シ ミ ュレーシ ョ ン UNIMACRO UNIMACRO_VER

UNIFAST 高速シ ミ ュレーシ ョ ン ライブラ リ UNIFAST UNIFAST_VER

デザイン  フローの概要 45UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 46: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

シミ ュレーシ ョ ン  フロー

Vivado Design Suite では、 統合シ ミ ュレーシ ョ ンとバッチ シ ミ ュレーシ ョ ンの両方がサポート されます。 統合シ ミ ュ

レーシ ョ ンでは、 Vivado IDE 内からシ ミ ュレータを実行でき、 バッチ シ ミ ュレーシ ョ ンでは Vivado ツールからスク

リプ ト を生成して、 シ ミ ュレーシ ョ ンを外部の検証環境で実行できます。

統合シミ ュレーシ ョ ン

Vivado IDE は Vivado シ ミ ュレータをはじめ、 サポート されているサードパーティ シ ミ ュレータすべてと完全に統合

しています。 このフローでは、 シ ミ ュレータが Vivado IDE 内から呼び出され、 プッシュボタンまたは

launch_simulation Tcl コマンドでデザインを簡単にコンパイルおよびシ ミ ュレーシ ョ ンできます。

重要: launch_simulation コマンドを実行する と、 プロジェク ト ベースのデザインの統合シ ミ ュレーシ ョ ンが起

動されます。 このコマンドでは、 非プロジェク ト モードはサポート されません。

統合シ ミ ュレーシ ョ ン フローの設定方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ

ン』 (UG900) [参照 18] のこのセクシ ョ ンを参照してください。

バッチ シミ ュレーシ ョ ン

推奨: 検証環境にセルフチェッ ク テス トベンチがある場合は、 シ ミ ュレーシ ョ ンをバッチ モードで実行します。 統

合シ ミ ュレーシ ョ ンでシ ミ ュレータ波形を表示する と、 実行時間が大幅に長くなり ます。

バッチ シ ミ ュレーシ ョ ンの場合、 Vivado Design Suite で提供されている Tcl コマンドの export_simulation を使

用し、 サポート されるシ ミ ュレータ (Vivado シ ミ ュレータも含む) のシ ミ ュレーシ ョ ン スク リプ ト を生成します。

export_simulation で生成されるこのスク リプ ト を使用するか、 このスク リプ ト を参考にしてカスタム シ ミ ュ

レーシ ョ ン スク リプ ト作成できます。

export_simulation コマンドではシ ミ ュレーシ ョ ンの各段階 (コンパイル、 エラボレート、 シ ミ ュレーシ ョ ン) ご

とに個別のスク リプ トが作成されるので、 生成されたスク リプ ト を簡単に検証環境に組み込むこ とができます。

バッチ シ ミ ュレーシ ョ ンのスク リプ トの生成については、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュ

レーシ ョ ン』 (UG900) [参照 18] のこのセクシ ョ ンを参照してください。

ロジック合成およびインプリ メンテーシ ョ ンの実行

ロジック合成

Vivado 合成では、 合成 run を設定、 起動、 および監視できます。 Vivado IDE では、 合成結果が表示され、 レポート

ファ イルが作成されます。 [Messages] ウ ィンド ウから合成の警告またはエラーを選択する と、 RTL ソース ファ イル

で該当するロジッ クがハイライ ト されます。

複数の合成 run を同時に、 または 1 つずつ順に実行できます。 Linux システムでは、 run をローカルまたはリモート

サーバーで実行できます。 複数の合成 run を実行する と、 複数のネッ ト リ ス トが作成され、 Vivado Design Suite プロ

ジェク ト内に保存されます。 別のバージ ョ ンの合成済みネッ ト リ ス ト を Vivado IDE 環境で開いて、 デバイスおよび

デザインの解析を実行できます。 また、 I/O ピン プランニング、 タイ ミ ング、 フロアプラン、 およびインプリ メン

デザイン  フローの概要 46UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 47: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

テーシ ョ ン用に制約を作成できます。 デザインを合成する と、 ク ロ ッ ク と ロジッ クを解析および配置できるよ うに

なるので、 合成済みネッ ト リ ス トでは も包括的な DRC を実行できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 19] を参照して ください。

インプリ メンテーシ ョ ン

Vivado インプリ メンテーシ ョ ンでは、 インプリ メンテーシ ョ ン run を設定、 起動、 および監視できます。 さまざま

なインプ リ メンテーシ ョ ン オプシ ョ ンを試行し、 再利用可能なインプリ メンテーシ ョ ン run ス ト ラテジを作成でき

ます。 たとえば、 短いランタイム、 システム パフォーマンスの改善、 またはエリ ア 適化などのス ト ラテジを作成

できます。 run が終了する と、 インプリ メンテーシ ョ ン run の結果が表示され、 レポート ファ イルが使用可能になり

ます。

複数のインプ リ メンテーシ ョ ン run を同時に、 または 1 つずつ順に実行できます。 Linux システムでは、 リモート

サーバーを使用できます。 制約セッ ト を作成して、 さまざまなタイ ミ ング制約、 物理制約、 代替デバイスを設定し

て試すこ とができます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21]

および 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 20] を参照してください。

ヒン ト : tcl.pre および tcl.post ファ イルを使用する と、 合成、 インプリ メンテーシ ョ ン、 ビッ ト ス ト リーム生

成の前後に実行する Tcl スク リプ ト を追加できます。詳細は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機

能の使用』 (UG894) [参照 12] を参照してください。

合成およびインプリ メンテーシ ョ ン  run の設定

プロジェク ト モードを使用する場合、 合成およびインプリ メンテーシ ョ ンの機能を制御する設定を多数使用できま

す。 これらの設定は、 run ス ト ラテジを使用する run に渡されます。 これは、 [Project Settings] ダイアログ ボッ クスで

設定できます。 run ス ト ラテジは、 run の設定パラ メーターの組み合わせを保存したものです。 ザイ リ ンクスでは、

合成およびインプ リ メンテーシ ョ ン run 用にいくつかの定義済み run ス ト ラテジを提供しています。 ユーザーがカス

タムの run 設定を適用するこ と もできます。 また、 合成と インプリ メンテーシ ョ ンで異なる制約セッ ト を指定するこ

と もできます。

設定の変更に関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 19] のこのセクシ ョ ンおよび

『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21] のこのセクシ ョ ンを参照して くだ

さい。

ヒン ト : アウ ト オブ コンテキス ト モジュールの run は、プロジェク トに含まれる Vivado Design Suite の IP を合成する

ために作成できます。 IP のデザイン チェッ クポイン ト を生成する場合、 デフォルトではデザインの各 run に対して

アウ ト オブ コンテキス ト (スタンドアロン) の run が作成されます。

run の作成および管理

[Settings] ダイアログ ボッ クスで合成およびインプリ メンテーシ ョ ンの設定を指定したら、 次のいずれかの方法で合

成 run またはインプリ メンテーシ ョ ン run を実行できます。

• Flow Navigator で [Run Synthesis]、 [Run Implementation]、 または [Generate Bitstream] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run を選択し、 右ク リ ッ ク して [Launch Runs] をク リ ッ クするか、 またはツールバー

の [Launch Selected Runs] ボタンをク リ ッ ク します。

デザイン  フローの概要 47UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 48: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

• [Flow] → [Run Synthesis]、 [Flow] → [Run Implementation]、 または [Flow] → [Generate Bitstream] をク リ ッ ク しま

す。

複数の合成 run またはインプリ メンテーシ ョ ン run を作成して、 さまざまな制約およびツール設定を試してみるこ と

ができます。 その他の run を作成するには、 次の手順に従います。

1. Flow Navigator で [Synthesis] または [Implementation] を右ク リ ッ ク します。

2. [Create Synthesis Runs] または [Create Implementation Runs] をク リ ッ ク します。

3. Create New Runs ウ ィザード (図 3-10) で、 制約セッ トおよびターゲッ ト パーツを選択します。

インプ リ メンテーシ ョ ン run の作成では、 複数の合成 run が存在する場合はネッ ト リ ス ト も選択できます。 さまざま

なス ト ラテジ、 制約セッ ト、 またはデバイスを指定した複数の run を作成できます。 run が複数ある場合、 実行オプ

シ ョ ンを指定できます。 選択した run を順次実行するか、 複数のローカル プロセッサで同時に実行できます。

ヒン ト : Linux でのみ、 リモート ホス ト を設定および使用できます。

[Design Runs] ウィンドウでの run の管理

[Design Runs] ウ ィンド ウ (図 3-11) には、 run のステータスおよび情報が表示され、 ポップアップ メニューから run を

管理するコマンドを実行できます。 [Design Runs] ウ ィンド ウから複数の run を制御できます。 run が複数ある場合、

アクティブな run が太字で示されます。 Vivado IDE には、 アクティブな run の実行結果が表示されます。 [Project

Summary]、 レポート、 およびメ ッセージに表示されるのは、 すべてアクティブ run に関する情報です。

X-Ref Target - Figure 3-10

図 3‐10:複数の合成 run およびインプリ メンテーシ ョ ン run の作成

デザイン  フローの概要 48UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 49: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

Flow Navigator で [Open Synthesized Design] または [Open Implemented Design] をク リ ッ クする と、 デフォルトでアク

ティブ デザインが開きます。 run をアクティブにするには、 run を右ク リ ッ ク して [Make Active] をク リ ッ ク します。

Vivado IDE に新たにアクティブになった run の情報が表示されます。 合成済み run またはインプリ メン ト済み run を

ダブルク リ ッ クする と、 Vivado IDE にそのデザインが開きます。

run のリセッ ト

Flow Navigator で [Synthesis] または [Implementation] を右ク リ ッ ク し、次のポップアップ メニューを使用して run を リ

セッ ト します。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21] のこのセ

クシ ョ ンを参照してください。

• [Reset Runs] では、 run が元の状態にリセッ ト されます。 オプシ ョ ンで run ディ レク ト リから生成されたファイル

を削除できます。

• [Reset to Previous Step] ではリ ス ト された段階に run を リセッ ト します。

ヒン ト : 実行されているプロセスを停止するには、 Vivado IDE の右上の [Cancel] ボタンをク リ ッ ク します。

LSF を使用したリモート  サーバー ファームへのアクセス

リモート Linux ホス トで run を起動するには、 LSF (Load Sharing Facility) サーバー ファームに直接アクセスします。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21] のこのセクシ ョ ンを参照

してください。

インクリ メンタル コンパイルを使用したインプリ メンテーシ ョ ンの実行

わずかなデザイン変更を取り込むには、 Vivado インプリ メンテーシ ョ ンを実行する と き、 インク リ メンタル コンパ

イル フローを指定できます。 インク リ メンタル コンパイルでは、 変更の範囲や変更されたタイ ミ ング ク リ ティカル

なロジッ クの数によ り ますが、 配置配線の実行時間を短縮し、 既存のインプリ メンテーシ ョ ン結果を保持できます。

Vivado IDE の [Implementation Settings] ダイアログ ボッ クスの [Set Incremental Compile] オプシ ョ ンを指定するか、

[Design Runs] ウ ィンド ウの右ク リ ッ ク メニューから [Set Incremental Compile] を選択します。 また、 Tcl コマンドの

read_checkpoint で -incremental オプシ ョ ンを使用する と、 配線済みデザイン チェッ クポイン ト を リ ファレ

ンス と して使用するよ うに指定できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』

(UG904) [参照 21] のこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 3-11

図 3‐11: [Design Runs] ウィンドウ

デザイン  フローの概要 49UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 50: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

エンジニアリング チェンジ オーダー (ECO) のインプリ メン ト

エンジニア リ ング チェンジ オーダー (ECO) とは、 インプリ メンテーシ ョ ン済みのデザインへの変更のこ とで、 元の

デザインへの影響を 低限に抑えて変更を含めるこ とができます。 Vivado Design Suite の ECO フローを使用する と、

既存のデザイン チェッ クポイン ト (DCP) を変更してインプリ メン ト し、 その変更されたネッ ト リ ス トのレポート を

出力して、 必要なビッ ト ス ト リーム ファ イルを生成できます。

ECO フローを使用する と、 Vivado のインク リ メンタルな配置配線機能の利点を活かしながら、 ターンアラウンド タ

イムを短縮できます。 Vivado IDE には、 ECO フローをサポートする定義済みのレイアウ トが含まれています。 詳細

は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21] のこのセクシ ョ ンを参照して

ください。

ログ ファイル、 メ ッセージ、 レポート、 プロパテ ィの表示

ログ ファイルの表示

[Log] ウ ィンド ウ (図 3-12) で [Synthesis]、 [Implementation]、 [Simulation] ビューをク リ ッ クする と、 合成、 インプ リ メ

ンテーシ ョ ン、 シ ミ ュレーシ ョ ンの標準出力を確認できます。 この出力は、 Vivado IDE の起動ディ レク ト リに書き

込まれる vivado.log ファ イルにも含まれます。

メ ッセージの表示

[Messages] ウ ィンド ウ (図 3-13) では、 メ ッセージがデザイン段階および重要度 (エラー、 ク リ ティカル警告、 警告、

情報、 ステータス) 別に分類されます。 [Messages] ウ ィンド ウの上部にあるチェッ ク ボッ クスのオン/オフを切り替え

て、 表示する メ ッセージを選択できます。 メ ッセージのカテゴ リ を展開表示する と、 個々のメ ッセージを表示でき

ます。 [Collapse All] アイコンをク リ ッ クする と、 主なデザイン段階のみが表示されます。 これによ り、 特定のメ ッ

セージを見つけやすくなり ます。 多くのメ ッセージにはリ ンクが含まれており、 ク リ ッ クする と RTL ファ イルの該

当する行が開きます。アドバンス フ ィルター機能を含む詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の

使用』 (UG893) [参照 11] のこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 3-12

図 3‐12: ログ ファイルの表示

デザイン  フローの概要 50UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 51: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

レポートの表示

[Reports] ウ ィンド ウ (図 3-14) には、複数の標準的なレポートが Tcl コマンドの launch_runs を使用して生成されま

す。 レポート をダブルク リ ッ クする と、 Vivado IDE テキス ト エディ ターで開きます。 [Tcl Console] ウ ィンド ウで該当

する Tcl コマンドを入力するか、 レポート ス ト ラテジを使用して、 カスタム レポート を作成するこ と もできます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 11] のこのセクシ ョ ンおよびこのセ

クシ ョ ン、『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 23] の こ

のセクシ ョ ンおよびこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 3-13

図 3‐13: メ ッセージの表示

X-Ref Target - Figure 3-14

図 3‐14: レポートの表示

デザイン  フローの概要 51UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 52: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デバイス プロパティの表示および編集

エラボレート済み、 合成済み、 またはインプリ メン ト済みデザインを開いた状態で、 [Tools] → [Edit Device

Properties] をク リ ッ ク して [Edit Device Properties] ダイアログ ボッ クス (図 3-15) を開く と、 デバイス コンフ ィギュ

レーシ ョ ンを表示および設定できます。 このコマンドは、 デザインが開いている と きにのみ使用できます。 各プロ

パティの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 24] のこのセク

シ ョ ンを参照してください。 デバイス コンフ ィギュレーシ ョ ン モードの設定方法の詳細は、 『Vivado Design Suite

ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 17] のこのセクシ ョ ンを参照して ください。

注記: [Edit] → [Device Properties] は、 デザインが開いている と きにのみ使用できます。

X-Ref Target - Figure 3-15

図 3‐15:デバイス プロパティの表示

デザイン  フローの概要 52UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 53: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デザイン解析および制約定義の実行

RTL エラボレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ンの後に、 解析および制約の割り当てを実行できます。

デザインの問題を早期に特定するため、 インプリ メンテーシ ョ ンの前にタイ ミ ング シ ミ ュレーシ ョ ン、 リ ソースの

見積も り、 接続性の解析、 DRC などのデザイン解析を実行できます。 さまざまな合成 run またはインプリ メンテー

シ ョ ン run 結果を開く と、 解析および制約の割り当てを実行できます。 これは、 デザインを開く とわかり ます。

デザインを開く と、 Vivado IDE でネッ ト リ ス トがコンパイルされ、 ターゲッ ト デバイスに対する物理制約およびタ

イ ミ ング制約が適用されます。 デザインは、 開いて、 保存して、 閉じるこ とができます。 新しいデザインを開く と、

メモ リ容量を確保するため、 既に開いているデザインを閉じるかど うかを確認する メ ッセージが表示されます。 既

に開いているデザインを閉じる必要はなく、 複数のデザインを同時に開いておく こ と もできます。 合成済みデザイ

ンを開く と、 ネッ ト リ ス ト と制約が表示されます。 インプリ メン ト済みデザインを開く と、 ネッ ト リ ス ト 、 制約、

インプ リ メンテーシ ョ ン結果が表示されます。 デザイン データは異なるウ ィンド ウにさまざまな形式で表示でき、

ウ ィ ンド ウのデータは連動しています。

デザインを開く と、 Vivado IDE のさまざまな解析およびレポート機能を使用できるよ うにな り ます。 たとえば、 内

部デバイスおよび外部物理パッケージがグラフ ィカル表示されたウ ィンド ウでデバイス リ ソースを解析できます。

また、 [Netlist]、 [Device]、 [Schematic]、 [Hierarchy] ウ ィンド ウを使用してタイ ミ ングおよび物理制約を適用して解析

するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』

(UG906) [参照 23] および 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 20] を参照してください。

注記:デザインが開いている と きに制約を変更する と、 変更を元の XDC ソース ファ イルに保存するか、 新しい制約

セッ ト を作成するかを選択するダイアログ ボッ クスが表示されます。詳細は、 『Vivado Design Suite ユーザー ガイ ド :

システム レベル デザイン入力』 (UG895) [参照 13] のこのセクシ ョ ンを参照してください。

エラボレート済み RTL デザインを開く

エラボレート済みデザインを開く と、 RTL ネッ ト リ ス トが拡張およびコンパイルされ、 ターゲッ ト デバイスに物理

制約およびタイ ミ ング制約が適用されます。 エラボレート済みデザインのさまざまなエレ メン トがメモ リに読み込

まれたら、 必要に応じて解析および変更して、 デザインを完成させるこ とができます。 詳細は、 『Vivado Design Suite

ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 13] のこのセクシ ョ ンを参照してください。

Vivado Design Suite には、 DRC およびチェッ ク ツールが含まれ、 デザインでロジッ クが正しいかど うかを解析でき

ます。 ロジッ クが正し く コンパイルされたか、 不足しているモジュールはないか、 インターフェイスの不一致がな

いかなどをチェッ クできます。 [Messages] ウ ィンド ウでメ ッセージのリ ンクをク リ ッ クする と、Vivado IDE テキス ト

エディ ターで RTL ファ イルの該当する行が表示されます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層

をさまざまな方法で調べるこ とができます。 [Schematic] ウ ィンド ウには、 RTL ベースのロジッ ク コンス ト ラ ク ト を

使用して、 RTL の接続が表示されます。 [Schematic] ウ ィンド ウでロジッ クを選択したり、 Vivado IDE テキス ト エ

ディ ターで RTL ファ イルの特定の行を確認したりできます。詳細は、『Vivado Design Suite ユーザー ガイ ド : システム

レベル デザイン入力』 (UG895) [参照 13] のこのセクシ ョ ンを参照してください。

注記: RTL エラボレーシ ョ ンでは、 FPGA テク ノ ロジへのマップは実行されません。

レジスタなど、 ロジッ ク階層の特定のロジッ ク インスタンスに定義されている制約は、 RTL エラボレーシ ョ ンでは

解決できない場合があ り ます。 エラボレーシ ョ ン中に生成されるロジッ ク名と階層は、 合成中に生成されるものと

一致しない可能性があ り ます。 そのため、 これらの制約が定義されている場合、 RTL デザインをエラボレート した

と きに制約マップに関する警告またはエラー メ ッセージが表示されるこ とがあ り ますが、 合成を実行する と これら

の問題は解決されます。

デザイン  フローの概要 53UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 54: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

Vivado IDE の I/O プランニング機能を使用する と、 I/O ポート をインタラ クティブに設定してエラボレート済み RTL

デザインに割り当て、 DRC を実行できます。 可能であれば、 合成後に I/O プランニングを実行するこ とをお勧めし

ます。 これによ り、 ク ロ ッ クおよびロジッ ク制約が 適になり、 合成後に実行する DRC がよ り詳細に実行されま

す。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 17] を参照して

ください。

ヒン ト : [Report DRC] コマンドをク リ ッ クする と、 RTL および I/O の DRC が実行され、 非同期クロ ッ ク、 ラ ッチなど

のロジッ クの問題が特定されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』

(UG895) [参照 13] のこのセクシ ョ ンを参照してください。

エラボレート済みデザインを開くには、 次のいずれかを実行します。

• Flow Navigator の [RTL Analysis] セクシ ョ ンで [Open Elaborated Design] をク リ ッ ク します。

• Flow Navigator で [RTL Analysis] を右ク リ ッ ク し、 [New Elaborated Design] をク リ ッ ク します。

• [Flow] → [Open Elaborated Design] をク リ ッ ク します。

図 3-16 に、 エラボレート済み RTL デザインを開いた場合のデフォルト レイアウ ト を示します。 回路図でロジッ ク

インスタンスを選択する と、 RTL ソース ファ イルおよびエラボレート済み RTL ネッ ト リ ス トで特定のインスタンス

が選択されます。

X-Ref Target - Figure 3-16

図 3‐16: エラボレート済みの RTL デザインのレイアウト

デザイン  フローの概要 54UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 55: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

合成済みデザインを開く

合成済みデザインを開く と、 Vivado Design Suite で合成済みネッ ト リ ス トが開かれ、 ターゲッ ト デバイスに物理制約

およびタイ ミ ング制約が適用されます。 合成済みデザインのさまざまなエレ メン トがメモ リに読み込まれたら、 必

要に応じて解析および変更して、 デザインを完成させるこ とができます。 変更は、 制約ファイル、 ネッ ト リ ス ト 、

デバッグ コア、 およびコンフ ィギュレーシ ョ ンに保存できます。

合成済みデザインを使用する と、 早期のタイ ミ ング、 消費電力、 使用率見積も りのよ うなデザイン タスクを多く実

行するこ とができ、 デザインが指定するターゲッ トで要件を満たすこ とができるのかど うか判断できます。 デザイ

ンは、 Vivado IDE のウ ィンド ウを使用してさまざまな方法で解析できます。 1 つのウ ィンド ウでオブジェク ト を選択

する と、 ほかのウ ィンド ウでも選択されます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] などのさまざま

なウ ィンド ウから、 RTL ファイルの問題のある行にクロスプローブできます。 [Schematic] ウ ィンド ウでは、 ロジッ

クの接続および階層をインタラ クティブに調べるこ とができます。 タイ ミ ング制約を適用したり、 よ り詳細なタイ

ミ ング解析を実行したり もできます。 I/O ポートの物理制約、 フロアプラン、 デザイン コンフ ィギュレーシ ョ ンをイ

ンタラ クティブに定義するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびク

ロージャ テクニッ ク』 (UG906) [参照 23] を参照してください。

Vivado IDE の I/O プランニング機能を使用する と、 I/O ポート をインタラ クティブに設定して合成済みデザインに割

り当て、 DRC を実行できます。 [Report DRC] コマンドをク リ ッ クする と、 包括的な DRC が実行され、 ロジッ クの問

題が特定できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参

照 17] のこのセクシ ョ ンおよび 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』

(UG906) [参照 23] のこのセクシ ョ ンを参照してください。

合成済みデザインでは、 プログラム済みデバイスでテス トおよびデバッグが実行できるよ う、 デバッグ コア ロジッ

クを設定およびインプ リ メン トできます。 [Schematic] または [Netlist] ウ ィンド ウで、 デバッグ用の信号を選択し、 デ

バッグ コアを設定して、 デザインに挿入します。 コアのロジッ クおよび接続は、 デザインの合成がアップデート さ

れても、 できる限り保持されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』

(UG908) [参照 24] のこのセクシ ョ ンを参照してください。

合成済みデザインを開くには、 次のいずれかを実行します。

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

• Flow Navigator で [Synthesis] を右ク リ ッ ク し、 [New Synthesized Design] をク リ ッ ク します。

• [Flow] → [Open Synthesized Design] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run の名前をダブルク リ ッ ク します。

デザイン  フローの概要 55UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 56: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

図 3-17 に、 合成済みデザインを開いた場合のデフォルト レイアウ ト を示します。

インプリ メン ト済みデザインを開く

Flow Navigator からインプ リ メン ト済みデザインを開く と、 Vivado IDE でそのインプリ メン ト済みネッ ト リ ス トが開

き、 ターゲッ ト デバイスにインプリ メンテーシ ョ ン、 配置、 および配線で使用された物理制約およびタイ ミ ング制

約が適用されます。 インプ リ メン ト済みデザインの配置済みのロジッ ク と配線済みの接続がメモ リに読み込まれた

ら、 必要に応じて解析および変更して、 デザインを完成させるこ とができます。 変更は、 制約ファイル、 ネッ ト リ

ス ト 、 インプ リ メンテーシ ョ ン結果、 およびデザイン コンフ ィギュレーシ ョ ンに保存できます。 Vivado IDE では複

数のインプ リ メンテーシ ョ ン run を設定できるので、 どの完了済みのインプリ メンテーシ ョ ン run を選択しても、 イ

ンプ リ メン ト済みデザインを開く こ とができます。

インプ リ メン ト済みデザインでは、 タイ ミ ング解析、 消費電力解析、 使用量統計のよ うなデザイン タスクを多く実

行するこ とができ、 デザインが必要なパフォーマンス ターゲッ トの要件を満たすこ とができるかど うかを判断でき

ます。 デザインは、 Vivado IDE のウ ィンド ウを使用してさまざまな方法で解析できます。 1 つのウ ィンド ウでオブ

ジェク ト を選択する と、 ほかのウ ィンド ウでも選択されます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find]

などのさまざまなウ ィンド ウから、 ソースの RTL ファ イルの問題のある行にクロスプローブできます。 [Schematic]

ウ ィンド ウでは、 ロジッ クの接続および階層をインタラ クティブに調べるこ とができます。 タイ ミ ング制約を適用

したり、 よ り詳細なタイ ミ ング解析を実行したり もできます。 また、 インタラ クティブにフロアプランやデザイン

X-Ref Target - Figure 3-17

図 3‐17:合成済みデザインのレイアウト

デザイン  フローの概要 56UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 57: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

コンフ ィギュレーシ ョ ン制約を適用したり、 今後の run 用に制約を保存したり もできます。 詳細は、 『Vivado Design

Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 23] を参照してください。

[Device] ウ ィンド ウで [Routing Resources] をク リ ッ クする と、 配置または配線結果を確認できます。 拡大する

と、 [Device] ウ ィンド ウに表示される詳細情報が増えます。 配置配線、 ルッ クアップ テーブル (LUT) やランダム ア

クセス メモ リ (RAM) の初期化などのデザイン コンフ ィギュレーシ ョ ンをインタラ クティブに変更するこ と もできま

す。 [Device] ウ ィンド ウまたは [Schematic] ウ ィンド ウで結果をク リ ッ ク して、 RTL ファ イルの問題の行にクロスプ

ローブするこ と もできます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層をインタラ クティブに調べる

こ とができます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』

(UG906) [参照 23] を参照してください。

インプ リ メン ト済みデザインを開くには、 次のいずれかを実行します。

• Flow Navigator の [Implementation] セクシ ョ ンで [Open Implemented Design] をク リ ッ ク します。

• [Flow] → [Open Implemented Design] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run の名前をダブルク リ ッ ク します。

ヒン ト : Flow Navigator のメニューはアクティブ run の状態によって異なるので、 アクティブ run がインプリ メン ト さ

れていない場合は [Open Implemented Design] コマンドが淡色表示になっているこ とがあ り ます。 この場合、 Flow

Navigator で [Implementation] を右ク リ ッ ク して、 完了したインプリ メンテーシ ョ ン run のインプリ メン ト済みデザイ

ンを開く こ とができます。

デザイン  フローの概要 57UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 58: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

図 3-18 に、 インプリ メン ト済みデザインを開いた場合のデフォルト レイアウ ト を表示します。

注記: [Device] ウ ィンド ウには、 後に閉じたと きの状態によ り、 配置のみが表示される場合と配線も表示される場

合があ リ ます。 [Device] ウ ィンド ウで [Routing Resources] ボタンをク リ ッ クする と、 配置または配線のみを表示する

よ うに表示を切り替えるこ とができます。

X-Ref Target - Figure 3-18

図 3‐18: インプリ メンテーシ ョ ン済みデザインのレイアウト

デザイン  フローの概要 58UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 59: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

最新の状態ではないデザインのアップデート

設計プロセスでは、 通常ソース ファ イルまたは制約の変更が必要です。 これらのファイルの依存性は Vivado IDE で

管理され、 表示されているデザイン データが 新の状態でなくなる とそれが示されます。 たとえば、 ターゲッ ト

パーツやアクティブ制約セッ ト などの設定を変更する と、 デザインが 新の状態ではなくな り ます。 ソース ファ イ

ル、 ネッ ト リ ス ト 、 またはインプ リ メンテーシ ョ ン結果がアップデート される と、 開いた合成済みデザインまたは

インプ リ メン ト済みデザインのデザイン ビュー バナーに 「out-of-date」 とい う メ ッセージが表示され、 run が 新の

状態ではないこ とが示されます (図 3-19)。 デザインのどの部分が 新の状態ではないのかを確認するには、 [more

info] リ ンクをク リ ッ ク します。

デザイン ビュー バナーから、 新の状態ではないデザインに対して次のいずれかの操作を実行します。

• [More Info] をク リ ッ クする と開く [Out-of-Date Due to] ウ ィンド ウに表示される [Force up-to-date] リ ンクをク リ ッ

ク します。

アクティブな合成またはインプリ メンテーシ ョ ン run の NEEDS_REFRESH プロパティが リセッ ト され、 run が

新の状態である とマーク されます。 このコマンドを Tcl で実行する場合は、 次のよ うなコードにな り ます。

set_property NEEDS_REFRESH false [get_runs synth_2]

注記: このコマンドは、 デザインに少しだけ変更を加えたが、 デザインを更新したくない場合に使用します。

• [Reload] をク リ ッ ク して現在のデザインのメモ リ内の表示を更新し、 デザイン データへの変更を保存します。

• [Close Design] をク リ ッ ク し、 新の状態ではないデザインを閉じます。

X-Ref Target - Figure 3-19

図 3‐19:デザインの再読み込みが必要であることを示すバナー

デザイン  フローの概要 59UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 60: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デザイン  タスク実行のためのレイアウトの使用

デザインを開く と、 I/O プランニング、 フロアプラン、 デバッグ コンフ ィギュレーシ ョ ンなどの特定のデザイン タ

スクを実行しやすいよ うに、 複数のデフォルト レイアウ トが提供されています (図 3-20)。 レイアウ ト を変更する と、

特定のデザイン タスクを実行するのに適したウ ィンド ウが表示されます。 [Save Layout As] コマンドを使用して、 カ

スタム レイアウ ト を作成するこ と も可能です。

注記:デフォルト レイアウ トは、 デザインが開いている と きにのみ使用できます。

デザインへの変更の保存

Vivado IDE では、 メモ リでアクティブ デザインをインタラ クティブに編集します。 制約やネッ ト リ ス ト を変更した

り、 消費電力解析特性、 ハード ウェア コンフ ィギュレーシ ョ ン モード パラ メーター、 デバッグ設定などのデザイン

パラ メーターを変更した場合などは、 必ずデザインを保存するよ うにしてください。 開いたデザインをインタラ ク

ティブに編集する場合、 次のセクシ ョ ンに示すよ うに、 その変更点は元の XDC ファ イルに保存するか、 新しい制約

セッ トに保存できます。

元の XDC 制約ファイルへの変更の保存

デザインに加えた変更を元の XDC 制約ファイルに保存するには、 [File] → [Constraints] → [Save]、 またはツールバー

の [Save Constraints] ボタン をク リ ッ ク します。

開いているデザインに対して加えられた制約、 デバッグ コアおよび設定、 デザイン コンフ ィギュレーシ ョ ン設定の

変更がすべて保存されます。 Vivado IDE では、 可能な限り元のファイル フォーマッ トが保持されます。 追加した制

約は、 ファ イルの 後に追加されます。 既存の制約への変更は、 元のファイルの場所に保持されます。

新しい XDC 制約ファイルへの変更の保存

デザインへの変更を新しい制約セッ トに保存するには、 [File] → [Constraints] → [Save As] をク リ ッ ク して、 新しい制

約ファイルを作成します。

このよ うにする と、 元の制約ソース ファ イルを保持したまま変更を保存できます。 新しい制約セッ トには、 変更を

含むすべてのデザイン制約が含まれます。 これは、 元の XDC ソース ファ イルを保持するための 1 つの方法です。 新

しい制約セッ ト をアクティブにして、 次回の run の実行時やデザインを開いたと きに適用されるよ うにするこ と もで

きます。

X-Ref Target - Figure 3-20

図 3‐20: レイアウトの選択

デザイン  フローの概要 60UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 61: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

デザインを閉じる

デザインを閉じる と、 メモ リ内のデザイン数を減らし、 ソースを編集できる場所が複数になるのを避けるこ とがで

きます。 別のデザイン表示に移動する前に、 デザインを閉じるよ うダイアログ ボッ クスが表示されるこ とがあ り ま

す。 デザインを閉じるには、 次のいずれかを実行します。

• デザインのタイ トル バーで X ボタンをク リ ッ ク します。

• Flow Navigator でデザインを右ク リ ッ ク し、 [Close] をク リ ッ ク します。

インプリ メンテーシ ョ ン結果の解析 

インプ リ メン ト済みデザインが開いている場合は、 [Device] ウ ィンド ウに配置配線結果が表示されます。 [Timing]

ウ ィンド ウでタイ ミ ング パスを選択する と、 [Device] ウ ィンド ウにその配置配線が表示されます。 また、 デザイン

目標を達成するよ う配置配線をインタラ クティブに編集したり、 LUT 式、 RAM 初期化、 位相ロ ッ ク ループ (PLL) 設

定などのデザイン特性を変更するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテー

シ ョ ン』 (UG904) [参照 21] のこのセクシ ョ ンを参照してください。

重要: 変更は、 インプリ メン ト済みデザインのイン メモ リ バージ ョ ンにのみ加えられます。 run を リセッ トする と変

更は失われます。 変更を保存するには、 第 4 章の 「デザイン チェッ クポイン トへのデザインの変更点の保存」 に示

すよ うに、 [Save Checkpoint] コマンドを使用します。

タイ ミング解析の実行

Vivado IDE では、 タイ ミ ング解析結果をグラフ ィカルに設定および表示できます。 [Tools] → [Timing] コマンドを使

用して、 さまざまなタイ ミ ング解析パラ メーターを使用してみてください。 ク ロ ッ ク ネッ ト ワーク レポートおよび

クロ ッ ク関連性レポートには、 ク ロ ッ クの トポロジおよび関係を表示できます。 スラ ッ ク ヒ ス ト グラムには、 デザ

インの全体的なタイ ミ ング パフォーマンスが表示されます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン

解析およびクロージャ テクニッ ク』 (UG906) [参照 23] のこのセクシ ョ ンを参照してください。

また、 Vivado IDE には、 Tcl コンソールおよび SDC 制約オプシ ョ ンを使用してさまざまなタイ ミ ング解析オプシ ョ ン

が提供されています。 多数の標準レポート Tcl コマンドがあ り、 ク ロ ッ ク構造、 ロジッ クの関係、 デザインに適用さ

れている制約などに関する情報を取得できます。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』

(UG835) [参照 8] を参照するか、 「help report_*」 と入力してください。

レポートの実行: DRC、 消費電力、 および使用率解析

Vivado IDE では、 消費電力、 リ ソース使用率、 DRC 解析結果をグラフ ィカルに設定および表示できます。

report_power コマンドでは、 デザインのどの段階でも、 消費電力パラ メーターを指定してすばやく消費電力を見

積もるこ とができます。 report_utilization コマンドでは、 さまざまなデバイス リ ソースの使用統計を解析で

きます。 report_design_analysis コマンドでは、 ク リ ティカル パスのタイ ミ ング特性およびデザインの複雑性

を解析し、 配線の密集やタイ ミ ング ク ロージャ問題が発生しやすい部分を特定して解析できます。 report_drc コ

マンドでは、 包括的な DRC を設定して実行し、 デザインのビッ ト ス ト リームを生成する前に解決しておくべき問題

を特定できます。

レポート結果には、 問題のエリ アまたは違反のオブジェク トにアクセスできる リ ンクが含まれています。 また、 レ

ポートの多くで結果を対話型の RPX ファ イルに書き出すこ とが可能で、 このファイルをメモ リに読み込むと、 含ま

れている リ ンクからデザイン オブジェク トにアクセスできます。 レポート を メモ リに読み込み直すと、 レポートに

含まれるオブジェク ト リ ンクを選択したと きにデザインでそのオブジェク ト を選択できます。 詳細は、 『Vivado

デザイン  フローの概要 61UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 62: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 23]、または 『Vivado Design

Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] のさまざまな report_xxx コマンドを参照して ください。

デバイスのプログラム、 ハードウェア検証、 およびデバッグ

Vivado IDE の Vivado ロジッ ク解析環境には、 デザインを検証およびデバッグするための多数の機能があ り ます。

RTL または合成済みネッ ト リ ス トで ILA (Integrated Logic Analyzer) やデバッグ ハブ コアなどの IP デバッグ コアを設

定およびインプ リ メン トできます。 Vivado IDE で合成済みまたはインプリ メン ト済みデザインを開く と、 コアに必

要なプローブ信号を選択して設定できます。 ビッ ト ス ト リーム ファ イルが生成されている run の場合は Vivado ロ

ジッ ク解析を起動してハード ウェアを検証できます。 また、 完了したどのインプ リ メンテーシ ョ ン run でも、 ビッ ト

ス ト リーム ファイルを生成できます。 ビッ ト ス ト リーム ファイル生成オプシ ョ ンも設定可能です。 Vivado デバイス

プログラマを起動する と、 デバイスのコンフ ィギュレーシ ョ ンおよびプログラムを実行できます。 Vivado ロジッ ク

解析は Vivado IDE から直接実行でき、 配線およびデバイス リ ソースを解析できます。 詳細は、 『Vivado Design Suite

ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 24] のこのセクシ ョ ンを参照してください。

デバッグでのエンジニアリング チェンジ オーダー (ECO) のインプリメン ト

エンジニア リ ング チェンジ オーダー (ECO) とは、 インプリ メンテーシ ョ ン済みのデザインへの変更のこ とで、

Vivado Design Suite の ECO フローを使用する と、 既存のデザイン チェッ クポイン ト (DCP) を変更してインプリ メン

ト し、 その変更されたネッ ト リ ス トのレポート を出力して、 必要なビッ ト ス ト リーム ファ イルを生成できます。 デ

ザインで ECO を含めたら、 インプリ メン ト済みデザインで使用するデバッグ コアまたはプローブを変更、 追加、 ま

たは削除する必要がある場合があ り ます。 デバッグ ECO フローの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プ

ログラムおよびデバッグ』 (UG908) [参照 24] のこのセクシ ョ ンを参照してください。

デザイン  フローの概要 62UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 63: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

プロジェク ト  モードでの Tcl コマンドの使用

表 3-2 に、 プロジェク トの作成、 インプリ メンテーシ ョ ン、 レポート を制御するプロジェク ト モードの基本的な Tcl

コマンドを示します。

ヒン ト : デザイン タスクに関連する Tcl コマンドを理解するには、 Vivado IDE でコマンドを実行し、 [Tcl Console]

ウ ィンド ウまたは vivado.jou ファ イルで構文を確認するのが 適な方法です。

注記: このガイ ドには、 使用可能な Tcl コマンドすべての説明が含まれるわけではあ り ません。 詳細は、 『Vivado

Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

表 3‐2: プロジェク ト  モードでの基本 Tcl コマンド

コマンド 説明

create_project Vivado Design Suite プロジェク ト を作成します。 引数と してプロジェク ト名、 保存場所、 デザ

インの 上位モジュール名、 ターゲッ ト パーツを指定します。

add_files プロジェク トにソース ファ イルを追加します。 ソース ファ イルには、 Verilog (.v)、 VHDL

(.vhd または .vhdl)、 System Verilog (.sv)、 IP および System Generator モジュール (.xco または

.xci)、 IP インテグレーター サブシステム (.bd)、 および XDC 制約 (.xdc または .sdc) を選択でき

ます。

ファ イルを個別に追加するか、 またはディレク ト リ全体を指定して有効なファイルが自動的

に追加されるよ うにするこ と もできます。

注記: UltraScale デバイスのデザインでは .xco ファ イルはサポート されな くなっています。

set_property Vivado Design Suite でさまざまな目的で使用されます。 プロジェク トでは、 ソースの VHDL ラ

イブラ リ、 シ ミ ュレーシ ョ ンのみのソース、 ターゲッ ト制約ファイル、 ツール設定などを定

義できます。

import_files 指定のファイルを現在のファイル セッ トにインポート し、 プロジェク トに追加します。 XDC

ファ イルを制約セッ トに割り当てるのにも使用します。

launch_runs

launch_runs -to_step

合成、 インプリ メンテーシ ョ ン、 またはビッ ト ス ト リーム生成を開始します。 このコマンド

には、 個々のインプリ メンテーシ ョ ン コマンド と、 run の完了後に標準レポート を生成するコ

マンドが含まれます。 すべてのインプリ メンテーシ ョ ン プロセスを 1 つのコマンドで実行し、

進行状況を管理します。 -to_step オプシ ョ ンを使用する と、 個々のインプリ メンテーシ ョ ン コ

マンドおよびビッ ト ス ト リーム生成を個別に実行できます。

wait_on_run run が完了するまで待ってから Tcl スク リプ トの次のコマンドを実行します。

open_run 合成済みデザインまたはインプリ メン ト済みデザインをレポートおよび解析用に開きます。

レポートや解析の Tcl を使用して情報を取得するには、 デザインを開いておく必要があ り ま

す。

close_design イン メモ リデザインを閉じます。

start_gui

stop_gui

メモ リ上でアクティブ デザインを Vivado IDE で開く、 または閉じます。

デザイン  フローの概要 63UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 64: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

プロジェク ト  モードの Tcl スクリプ トの例

次に、 RTL プロジェク ト とネッ ト リ ス ト プロジェク トの Tcl スク リプ ト例を示します。 初のスク リプ ト例

run_bft_kintex7_project.tcl は、 次の Vivado Design Suite インス トール ディ レク ト リに含まれています。

<install_dir>/Vivado/2016.2/examples/Vivado_Tutorial

スク リプ トは、 Vivado Tcl シェルまたは Vivado IDE の Tcl コンソールから実行できます。

RTL プロジェク トの Tcl スクリプ ト

# run_bft_kintex7_project.tcl# BFT sample design ## NOTE: Typical usage would be "vivado -mode tcl -source run_bft_kintex7_project.tcl" # To use -mode batch comment out the "start_gui" and "open_run impl_1" to save time#create_project project_bft ./Tutorial_Created_Data/project_bft -part xc7k70tfbg484-2add_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/bftLibset_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}]import_files -forceimport_files -fileset constrs_1 -force -norecurse ./Sources/bft_full_kintex7.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 diskreport_timing_summary -delay_type max -report_unconstrained -check_timing_verbose \-max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_bft/syn_timing.rptreport_power -file ./Tutorial_Created_Data/project_bft/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/imp_timing.rptreport_power -file ./Tutorial_Created_Data/project_bft/imp_power.rpt# comment out the for batch modestart_gui

ネッ ト リス ト  プロジェク トの Tcl スクリプ ト

# Kintex-7 Netlist Example Design #

デザイン  フローの概要 64UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 65: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 3 章:プロジェク ト  モードの使用

# STEP#1: Create Netlist Project, add EDIF sources, and add constraints#create_project -force project_K7_netlist ./Tutorial_Created_Data/project_K7_netlist/ -part xc7k70tfbg676-2# Property required to define Netlist projectset_property design_mode GateLvl [current_fileset]add_files {./Sources/netlist/top.edif}import_files -forceimport_files -fileset constrs_1 -force ./Sources/top_full.xdc

## STEP#2: Configure and Implementation, write bitstream, and generate reports#launch_runs impl_1wait_on_run impl_1launch_runs impl_1 -to_step write_bitstreamwait_on_run impl_1open_run impl_1report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose \-max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_K7_netlist/imp_timing.rptreport_power -file ./Tutorial_Created_Data/project_K7_netlist/imp_power.rpt## STEP#3: Start IDE for design analysis#start_gui

デザイン  フローの概要 65UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 66: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4章

非プロジェク ト  モードの使用

概要

この章では、 プロジェク ト モード と非プロジェク ト モード間の違いについて説明します。 Vivado® Design Suite の非

プロジェク ト モードを理解するには、 第 3 章 「プロジェク ト モードの使用」 で説明されるプロジェク ト モードにつ

いて知っておく必要があ り ます。

非プロジェク ト モードでは、 全フローで Tcl コマンドを使用してデザインをコンパイルします。 このモードの場合、

イン メモ リ プロジェク トが作成され、 Vivado でデザインのさまざまなプロパティを管理できるよ うになり ますが、

プロジェク ト ファイルはディ スクに書き込まれず、 プロジェク ト ステータスは保持されません。

ヒン ト : イン メモ リ プロジェク トは、 Vivado ツールで使用できるよ うに、 非プロジェク ト モードでも生成されます

が、 デザインの一部と しては保持されません。

Tcl コマンドを使用する と、 柔軟なデザインの設定および実行、 解析およびデバッグが可能です。 Tcl コマンドは、

バッチ モードで実行するか、 Vivado® Design Suite Tcl シェルまたは Vivado IDE の Tcl コンソールから実行できます。

非プロジェク ト モードのフローを使用する と、 ユーザーが各デザイン フロー段階を完全に制御できますが、 ソース

ファ イル、 レポート、 中間結果 (デザイン チェッ クポイン ト ) を手動で管理する必要があ り ます。 さまざまなレポー

ト を生成し、デザイン ルール チェッ ク (DRC) を実行し、インプ リ メンテーシ ョ ン プロセスのどの段階でもデザイン

チェッ クポイン ト を書き出すこ とが可能です。

プロジェク ト モードの場合と異なり、 複数の run の作成および管理、 ソース ファ イル管理、 デザイン状態のレポー

ト などの機能は含まれません。 ソース ファ イルがアップデート されるたびに、 デザインを手動で実行し直す必要が

あ り ます。 このモードの場合、 デフォルトではレポートや中間ファイルは作成されませんが、 必要な場合は Tcl コマ

ンドを使用して、 さまざまなレポートやデザイン チェッ クポイン ト を作成できます。 また、 Vivado IDE の GUI ベー

スのデザインの解析および制約の設定を実行するこ と もできます。現在のデザインを メモ リ内で開くか、 Vivado IDE

で保存したデザイン チェッ クポイン ト を開く こ とができます。

Vivado IDE を非プロジェク ト モードで起動する と、 Flow Navigator、 プロジェク ト サマリ、 Vivado IP カタログなどの

プロジェク ト モードの機能は含まれません。 非プロジェク ト モードの場合、 Vivado IDE 内で合成 run やインプリ メ

ンテーシ ョ ン run を開いたり変更したりできません。 ただし、 デザイン ソース ファ イルが元のディ レク ト リにある

場合は、 Vivado IDE の別のウ ィンド ウでデザイン オブジェク ト を選択したと きにク ロスプローブできます。 たとえ

ば、デザイン オブジェク ト を右ク リ ッ ク して [Go To Instantiation]、 [Go To Definition]、 または [Go To Source] コマンド

を使用する と、 関連する RTL ソース ファ イルが開き、 該当する行がハイライ ト されます。

重要: ソース ファ イルと run 結果の管理、 デザインおよびツール設定の保存、 デザイン ステータス、 IP 統合などのプ

ロジェク ト モードの機能の一部は、 非プロジェク ト モードでは使用できません。

デザイン フローの進行に伴い、 レポート またはデザイン チェッ クポイン ト を生成してメモ リ内のデザインを保存す

る必要があ り ます。 デザイン チェッ クポイン ト (DCP) とは、 メモ リ内のデザインを正確に表すファイルです。 デザ

デザイン  フローの概要 66UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 67: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

イン チェッ クポイン トは、 デザイン フローの各段階後 (合成後、 適化後、 配置後など) に保存できます。 Vivado

Design Suite に DCP ファ イルを読み込むと、 チェ ッ クポイン ト ファ イルのデザイン ステート を復元できます。

また、 Vivado IDE で DCP を開いて、 制約の割り当ておよびデザイン解析を実行するこ と も可能です。 アクティブ デ

ザインはメモ リ内にあ り、 加えた変更は自動的にその後のフローに渡されます。 また、 変更は新しい制約ファイル

またはデザイン チェッ クポイン トに保存できます。

非プロジェク ト モードのほとんどの機能はプロジェク ト モードでも使用できますが、 プロジェク ト モードの機能の

一部は非プロジェク ト モードでは使用できません。 使用できない機能は、 ソース ファ イルおよび run 結果の管理、

デザインおよびツール コンフ ィギュレーシ ョ ンの保存、 デザイン ステータス、 および IP の統合です。 ただし、 非プ

ロジェク ト モードでは、 一部のプロセスをスキップできるので、 デザインのメモ リ フッ トプ リ ン ト を削減でき、 プ

ロジェク トに関するディ スク容量を節約できます。

非プロジェク ト  モードの利点

非プロジェク ト モードを使用する と、 デザイン フローの各段階をユーザーが完全に制御でき、 コンパイル スタイル

のデザイン フローの利点を生かすこ とができます。

このモードでは、 次のよ うなデザイン管理を手動で実行します。

• HDL ソース ファ イル、 制約、 および IP の管理

• 依存性の管理

• 合成およびインプ リ メンテーシ ョ ンの結果の生成および保存

Vivado Design Suite には、 デザインおよび IP を作成、 設定、 インプ リ メン ト 、 解析、 管理するための Vivado Tcl コマ

ンドがすべて含まれます。 非プロジェク ト モードでは、 Tcl コマンドを使用して次を実行できます。

• フロー全体からデザインをコンパイル

• デザインを解析してレポート を作成

デザイン  ソースの読み込み

非プロジェク ト モードの場合、 さまざまなデザイン ソースがイン メモ リ デザインに読み込まれ、 インプリ メンテー

シ ョ ン ツールで処理されます。 Vivado Design Suite のソース ファ イルは、 read_verilog、 read_vhdl、

read_ip、 read_edif、 read_xdc など、 ファ イルの種類に応じた read_* で始まる Tcl コマンドを使用して読み

込むこ とができます。 ソースは、 Tcl スク リプ ト またはインタラ クティブなフローを開始するたびに読み込む必要が

あ り ます。

ヒン ト : ファ イルを追加したり インポートするプロジェク ト構造はないので、 非プロジェク ト ベース デザインに

add_files および import_files Tcl コマンドを使用してファイルを追加しないでください。

ソース ファイルの管理

非プロジェク ト モードでは、 ファ イルをイン メモ リ デザインに特定の順序で読み込むこ とによ り、 ソース ファ イル

を手動で管理できます。 ファ イルの管理方法やファイルのディ レク ト リ をユーザーが完全に制御できます。 ソース

デザイン  フローの概要 67UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 68: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

は、 ネッ ト ワーク接続されているディ レク ト リから も使用できます。 読み取り専用のソースは、 その権限に従って

処理されます。

リビジ ョ ン管理システムの使用

さまざまなデザイン設定およびリ ビジ ョ ンの保存には、 ソース管理システムが一般的に使用されます。 RCS

(Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、 Bitkeeper

などのシステムがあ り ますが、 Vivado ツールはどのシステムにも対応できます。 Vivado Design Suite では、 デザイン

フローを通してファイルが使用および生成されるので、 これらを リ ビジ ョ ン管理下で管理するこ とをお勧めします。

非プロジェク ト モードでは、 リ ビジ ョ ン管理ソフ ト ウェアを簡単に使用できます。 まず、 設計者が必要なソース

ファ イルをローカル ディレク ト リ構造にチェッ クアウ ト し、 ソースを 上位デザインにインスタンシエート して、

デザインを作成します。新しいソース ファ イルを作成して、 さまざまな read_* Tcl コマンドを使用してデザインに読

み込む必要があるこ と もあ り ます。 デザイン ファ イルは、 Vivado 合成およびインプリ メンテーシ ョ ン ツールに渡さ

れますが、 ソース ファ イルは、 元のディレク ト リに保持されます。 チェッ クアウ ト されたソースは、 インタラ ク

ティブに、 またはコード エディ ターを使用してデザイン セッシ ョ ン中に Tcl コマンドで変更できます。 この後、

ソース ファ イルは必要に応じてソース管理システムに戻されます。 デザイン チェッ クポイン ト、 解析レポート、

ビッ ト ス ト リーム ファ イルなどのデザイン結果も リ ビジ ョ ン管理用にチェッ ク インできます。 リ ビジ ョ ン管理ソフ

ト ウェアの詳細は、 第 5 章 「ソース管理およびリ ビジ ョ ン管理の推奨事項」 を参照してください。

ビデオ: Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite

QuickTake ビデオ: Vivado でのリ ビジ ョ ン管理の使用をご覧ください。

サードパーティの合成済みネッ ト リス トの使用

Vivado Design Suite では、 サードパーティの合成ツールを使用する場合など、 合成済みネッ ト リ ス トのインプ リ メン

テーシ ョ ンがサポート されます。 外部合成ツールでは、 Verilog または EDIF ネッ ト リ ス ト と制約ファイルが生成され

ます。 これらのネッ ト リ ス トは、 プロジェク ト モードまたは非プロジェク ト モードのいずれかで、 スタンドアロン

で使用するか、 RTL ファ イルと混合して使用できます。

IP および IP サブシステムの使用

非プロジェク ト モードの場合、 上位合成を開始する前に、 出力ファイルを IP またはブロ ッ ク デザイン用に生成す

る必要があ り ます。 IP は、 RTL ソースおよび制約を使用するか、 合成済みデザイン チェッ クポイン トの OOC (アウ

ト オブ コンテキス ト ) ネッ ト リ ス ト を 上位デザインのソース と して使用するよ うに設定できます。 デフォルトで

は、 各 IP に対して OOC デザイン チェッ クポイン トが生成されます。

非プロジェク ト モードでは、 次のいずれかの方法を使用して IP を追加できます。

• Vivado IP カタログを使用して生成した IP (.xci 形式またはコア コンテナー用の .xcix 形式)

アウ ト オブ コンテキス ト デザイン チェッ クポイン ト ファ イルが IP ディレク ト リにある場合は、 それがインプ

リ メンテーシ ョ ンに使用され、 合成ではブラ ッ ク ボッ クスが挿入されます。 デザイン チェッ クポイン ト ファ イ

ルが IP ディ レク ト リにない場合は、 RTL および制約ソースがグローバルな合成およびインプリ メンテーシ ョ ン

に使用されます。

• IP またはブロ ッ ク デザインを設定および生成する Tcl コマンドを使用。

デザイン  フローの概要 68UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 69: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

Tcl を使用する と、 run ごとに IP が設定、 生成、 および合成されます。

重要: プロジェク ト モードまたは非プロジェク ト モードで IP を使用する場合は、 DCP ファ イルではなく XCI ファ イ

ルを使用してください。 このファ イルを使用する と、 すべてのデザイン フロー段階で IP 出力ファイルが使用されま

す。 IP が独立モジュールと して合成されており、 関連する DCP ファ イルが既にある場合は、 その DCP ファ イルが自

動的に使用され、 IP は再合成されません。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』

(UG896) [参照 14] のこのセクシ ョ ンを参照してください。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14] のこのセクシ ョ ンまたは

『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 32] のこ

のセクシ ョ ンを参照してください。

ロジック  シミ ュレーシ ョ ンの実行

Vivado IDE に統合されている Vivado シ ミ ュレータでは、 デザインのシ ミ ュレーシ ョ ン、 波形ビューアーでの信号の

表示、 デザインの確認およびデバッグを必要に応じて実行できます。 Vivado シ ミ ュレータは、 完全に統合された混

合モード シ ミ ュレータで、 アナログ波形を表示する機能を備えています。 Vivado シ ミ ュレータでは、 デザインのビ

ヘイビアー シ ミ ュレーシ ョ ン、 構造シ ミ ュレーシ ョ ン、 インプリ メン ト済みデザインのタイ ミ ング シ ミ ュレーシ ョ

ンを実行できます。

または、 開いているデザインの Verilog、 VHDL ネッ ト リ ス ト 、 および SDF フォーマッ ト ファ イルを記述するこ とに

よ り、 サードパーティ シ ミ ュレータも使用できます。 ModelSim および Questa シ ミ ュレータを Vivado IDE から起動

できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] のこのセク

シ ョ ンを参照してください。

ロジック合成およびインプリ メンテーシ ョ ンの実行

非プロジェク ト モードでは、 設定可能な Tcl コマンドを使用して各インプリ メンテーシ ョ ン ステップが実行され、

デザインはメモ リでコンパイルされます。 インプリ メンテーシ ョ ン ステップは、 「非プロジェク ト モードの Tcl スク

リプ トの例」 に示すよ うに、 特定の順序で実行する必要があ り ます。 必要に応じて、 power_opt_design または

phys_opt_design などのステップを実行するこ と もできます。 非プロジェク ト モードでは、 プロジェク ト モード

でしかサポート されない run ス ト ラテジの代わりに、 さまざまなコマンドを使用してツール動作を制御できます。 詳

細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 21] を参照して ください。

重要なデザイン ステップの実行後は、 デザイン解析および制約の定義のためにデザイン チェッ クポイン ト を書き出

しておきます。 デザイン チェッ クポイン トは、 ビッ ト ス ト リームの生成を除き、 デザイン プロセスを続行するため

の開始ポイン ト と しては使用できません。 これらは、 単に解析および制約定義のためのデザインのスナップシ ョ ッ

トにすぎません。

ヒン ト : 各デザイン ステップの実行後に Vivado IDE を起動して、 「Vivado IDE を使用したデザイン解析」 に示す方法

に従い、 インタラ クティブなグラフ ィカル デザイン解析および制約定義をアクティブ デザインでイ実行できます。

デザイン  フローの概要 69UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 70: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

レポートの生成

vivado.log および vivado.jou を除き、 レポートは Tcl コマンドを使用して手動で生成する必要があ り ます。 デ

ザイン プロセスのどの段階でも、 さまざまなレポート を生成できます。 詳細は、 『Vivado Design Suite Tcl コマンド リ

ファレンス ガイ ド』 (UG835) [参照 8] または『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

[参照 21] を参照して ください。

デザイン  チェ ックポイン トの使用

デザイン チェッ クポイン ト を使用する と、 デザインの現在の状態のスナップシ ョ ッ ト を保存できます。 現在のネッ

ト リ ス ト 、 制約、 およびインプ リ メンテーシ ョ ン結果が、 デザイン チェッ クポイン トに保存されます。 デザイン

チェッ クポイン ト を使用する と、 次を実行できます。

• 必要に応じてデザインを復元

• デザイン解析を実行

• 制約を定義

• デザイン フローに従って処理

デザイン チェッ クポイン トは、 フローの異なる段階で書き出すこ とができます。 重要なデザイン ステップの実行後

は、 デザイン解析および制約の定義のためにデザイン チェッ クポイン ト を書き出しておきます。 デザイン チェッ ク

ポイン ト を読み込むとデザインを復元できるので、 問題をデバッグする際に便利です。 デザイン チェッ クポイン ト

は、 デザインを現在のインプ リ メンテーシ ョ ン状態で完全に保存したものです。 残りのデザイン フローを Tcl コマ

ンドを使用して実行するこ とはできますが、 新規ソースをデザインに追加するこ とはできません。

注記: Tcl コマンドの write_checkpoint <file_name>.dcp および read_checkpoint <file_name>.dcp を

使用してもデザイン チェッ クポイン ト を書き出しおよび読み込みを実行できます。 Vivado IDE でチェッ クポイン ト

を表示するには、 Tcl コマンドの open_checkpoint <file_name>.dcp を使用します。 詳細は、 『Vivado Design

Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

Vivado IDE を使用したデザイン解析

非プロジェク ト モードの場合、 デザイン ステップの実行後に Vivado IDE を起動して、 インタラ クティブなグラフ ィ

カル デザイン解析および制約定義をアクティブ デザインで実行できます。

アクテ ィブ デザインから  Vivado IDE を開く

非プロジェク ト モードでは、 Vivado IDE でアクティブ デザインを メモ リで開く、 または終了する と きに、 次のコマ

ンドを使用します。

• start_gui: メモ リ内のアクティブ デザインを Vivado IDE で開きます。

• stop_gui: Vivado IDE を終了し、 Vivado Design Suite シェルに戻り ます。

デザイン  フローの概要 70UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 71: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

注意: GUI から Vivado Design Suite を閉じた場合は、 Vivado Design Suite Tcl シェルが閉じ、 メモ リにデザインは保存

されません。 アクティブ デザインを変更せずに Vivado Design Suite Tcl シェルに戻るには、 exit コマンドではなく、

stop_gui コマンドを入力してください。

デザイン プロセスの各段階が終了したら、 Vivado IDE を開いてメモ リにある現在のデザインを解析および操作でき

ます (図 4-1)。 Flow Navigator、 プロジェク ト サマリ、 ソースへのアクセスおよび管理、 run などの Vivado IDE の機能

は非プロジェク ト モードでは使用できませんが、 解析および制約変更の機能の多くは、 [Tools] メニューから使用で

きます。

重要: メモ リのアクティブ デザインに対して Vivado IDE で加えた変更は、 自動的にはダウンス ト リーム ツールに適

用されません。

アクテ ィブ デザインへの変更の保存

メモ リでデザインが変更される場合、 その変更は残りの Vivado IDE Tcl セッシ ョ ンで使用されるダウンス ト リーム

ツールに自動的に渡されます。 これによ り、 これらの変更をアクティブ デザインに反映させたり、 今後使用できる

よ うに保存できます。今後使用するために制約を保存するには、 [File] → [Export] → [Export Constraints] をク リ ッ ク し

ます。 このコマンドでは、 新しい制約ファイルを作成するか、 元のファイルに上書きできます。

X-Ref Target - Figure 4-1

図 4‐1: Vivado IDE でアクテ ィブ デザインを開く

デザイン  フローの概要 71UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 72: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

注記:制約をエクスポートする場合は、 Tcl コマンドの write_xdc を実行します。 詳細は、 『Vivado Design Suite Tcl

コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] を参照してください。

Vivado IDE でデザイン  チェ ックポイン ト を開く

Vivado IDE では、 デザイン チェッ クポイン ト と して保存したデザインを解析できます。 非プロジェク ト モードで

Tcl コマンド (synth_design、 opt_design、 power_opt_design、 place_design、 phys_opt_design、 お

よび route_design) を使用してデザインを実行し、 任意の段階でデザインを保存して、 Vivado IDE セッシ ョ ンで

保存したチェッ クポイン ト を読み込むこ とができます。 配線済みデザインを開いてタイ ミ ングを解析し、 配置を調

整してタイ ミ ングの問題を解決し、 デザインが完全に配線されていない状態であっても、 後で使用できるよ うに保

存できます。 Vivado IDE のビュー バナーに、 開いているデザイン チェッ クポイン トの名前が表示されます。

デザイン  チェ ックポイン トへのデザインの変更点の保存

デザイン チェッ クポイン ト を開いて解析し、 保存できます。 新しいデザイン チェッ クポイン トに変更を保存するこ

と もできます。

• [File] → [Checkpoint] → [Save] をク リ ッ ク し、 現在のデザイン チェッ クポイン トに加えた変更を保存します。

• [File] → [Checkpoint] → [Write] をク リ ッ ク し、 デザイン チェッ クポイン トの現在の状態を新しいデザイン

チェッ クポイン ト と して保存します。

非プロジェク ト  モードでの Tcl コマンドの使用

表 4-1 に、 非プロジェク ト モードでの基本的な Tcl コマンドを示します。 非プロジェク ト モードを使用する場合、

デザインは read_verilog、 read_vhdl、 read_edif、 read_ip、 read_bd、 および read_xdc コマンドを使用

してコンパイルされます。 ソースはコンパイル用に順序付けられ、 合成に渡されます。 Vivado Design Suite Tcl シェ

ルまたは Tcl バッチ スク リプ トの使用に関する詳細は、 第 2 章の 「Tcl の使用」 を参照してください。

注記: このガイ ドには、 使用可能な Tcl コマンドすべての説明が含まれるわけではあ り ません。 『Vivado Design Suite

Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 8] および『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能

の使用』 (UG894) [参照 12] を参照してください。

表 4‐1:非プロジェク ト  モードでの基本 Tcl コマンド

コマンド 説明

read_edif EDIF または NGC ネッ ト リ ス ト ファ イルを現在のプロジェク トのデザイン ソース ファ イル

セッ トにインポート します。

read_verilog 非プロジェク ト セッシ ョ ン用に Verilog (.v) および System Verilog (.sv) ソース ファ イルを読み込

みます。

read_vhdl 非プロジェク ト セッシ ョ ン用に VHDL (.vhd または .vhdl) ソース ファ イルを読み込みます。

read_ip 非プロジェク ト セッシ ョ ン用に既存の IP (.xci または .xco) プロジェク ト ファ イルを読み込み

ます。 Vivado IP (.xci) の場合、 ネッ ト リ ス トが IP ディ レク ト リにあれば、 デザイン チェッ ク

ポイン ト (.dcp) の合成済みネッ ト リ ス トが IP のインプリ メン トに使用されます。 ネッ ト リ ス

トが IP ディ レク ト リにない場合は、 RTL ソースが 上位デザインの残りの部分と一緒に使用

されます。 .xco IP プロジェク トでは .ngc ネッ ト リ ス トが使用されます。

注記: UltraScale デバイスのデザインでは .xco ファ イルはサポート されなくなっています。

デザイン  フローの概要 72UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 73: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

非プロジェク ト  モードの Tcl スクリプ トの例

次の例は、Vivado Design Suite に含まれる BFT サンプル デザインの Tcl スク リプ トです。デザイン チェッ クポイン ト

を使用してフローのさまざまな段階でデータベースの状態を保存する方法と、 さまざまなレポート を手動で生成す

る方法を示しています。 このスク リプ ト例 run_bft_kintex7_project.tcl は、 次の Vivado Design Suite インス

トール ディレク ト リに含まれています。

<install_dir>/Vivado/2016.2/examples/Vivado_Tutorial

スク リプ トは、 Vivado Tcl シェルまたは Vivado IDE の Tcl コンソールから実行できます。

# run_bft_kintex7_batch.tcl# bft sample design # A Vivado script that demonstrates a very simple RTL-to-bitstream non-project batch flow## NOTE: typical usage would be "vivado -mode tcl -source run_bft_kintex7_batch.tcl" ## STEP#0: define output directory area.#set outputDir ./Tutorial_Created_Data/bft_output file mkdir $outputDir#

read_checkpoint デザイン チェッ クポイン ト をイン メモ リ デザインに読み込みます。

read_xdc 非プロジェク ト セッシ ョ ン用に .sdc または .xdc フォーマッ トの制約ソース ファ イルを読み込

みます。

read_bd 非プロジェク ト セッシ ョ ン用に既存の IP インテグレーター ブロ ッ ク デザイン (.bd) を読み込

みます。

set_param

set_property

デザイン設定、 ツール設定の定義など、 さまざまな目的に使用します。

link_design セッシ ョ ンでネッ ト リ ス ト ソースを使用している場合に、 デザインを合成用にコンパイルし

ます。

synth_design デザインの 上位モジュールと ターゲッ ト パーツを引数と して Vivado 合成を実行します。

opt_design 高度なデザイン 適化を実行します。

power_opt_design システム全体の消費電力を削減するためクロ ッ ク ゲーティングを実行します(オプシ ョ ン)。

place_design デザインを配置します。

phys_opt_design タイ ミ ングまたは配線性を向上するため物理ロジッ ク 適化を実行します(オプシ ョ ン)。

route_design デザインを配線します。

report_* デザイン プロセスのさまざまな段階のレポート を生成します。

write_bitstream ビッ ト ス ト リーム ファ イルを生成して DRC を実行します。

write_checkpoint フローの任意の段階でのデザインを保存します。 デザイン チェッ クポイン トには、 ネッ ト リ

ス ト 、 制約 (フローで実行された 適化を含む)、 インプ リ メンテーシ ョ ン結果が含まれます。

start_gui

stop_gui

メモ リ上でアクティブ デザインを Vivado IDE で開く、 または閉じます。

表 4‐1:非プロジェク ト  モードでの基本 Tcl コマンド  (続き)

コマンド 説明

デザイン  フローの概要 73UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 74: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 4 章:非プロジェク ト  モードの使用

# 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_kintex7.xdc## STEP#2: run synthesis, report utilization and timing estimates, write checkpoint design#synth_design -top bft -part xc7k70tfbg484-2write_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_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

デザイン  フローの概要 74UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 75: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5章

ソース管理およびリビジョン管理の推奨事項 

リビジ ョ ン管理システムの使用

ソース管理およびリ ビジ ョ ン管理の手法は、 ユーザーおよび企業の選好、 リ ビジ ョ ン管理に使用するソフ ト ウェア

によって異なり ます。 このセクシ ョ ンでは、 アクティブ デザイン プロジェク ト を管理するためにデザイン チームが

決定する必要のある基本的な手法の選択肢の一部を説明します。 Vivado® Design Suite を リ ビジ ョ ン管理システムと

共に使用する際の推奨事項は、 このセクシ ョ ンの後半で説明します。 このセクシ ョ ンで使用される 「管理」 という

用語は、 リ ビジ ョ ン管理システムを使用してソース バージ ョ ンをチェッ ク インおよびチェッ クアウ トするプロセス

を示します。

さまざまなデザイン コンフ ィギュレーシ ョ ンおよびリ ビジ ョ ンを管理するのには、 ソース管理システムを使用する

のが一般的です。 Git、 RCS、 CVS、 Subversion、 ClearCase、 Perforce、 Bitkeeper などのシステムがよ く利用されてい

ますが、 どれかが特によ く利用されているわけではあ り ません。 Vivado Design Suite はこれらのシステムと共に使用

でき、 どのツールと も直接統合されてはいませんが、 各ツールが同等にう ま く動作するよ うになっています。

ビデオ: Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite

QuickTake ビデオ: Vivado でのリ ビジ ョ ン管理の使用をご覧ください。

一般的に、 ソースはローカル リ ポジ ト リにチェッ クアウ ト され、 そこでローカルの変更を加える という方法が取ら

れます。 これはサンドボッ クス と呼ばれたり、 マスター リ ポジ ト リのローカル作業バージ ョ ンと呼ばれるこ とがあ

り ます。 これは、 ほかのユーザーが 新の変更を見るこ とができるマスター リ ポジ ト リに戻す前に、 ユーザーが

ローカルでの変更をまとめてテス トするためのエリ アです。 このローカル リ ポジ ト リのソースを変更して、 デザイ

ンを完成させるこ とができます。 変更されたファイルは、 新しいリ ビジ ョ ンと していつでも ソース管理システムに

戻すこ とができます。 デザイン結果もオプシ ョ ンで リ ビジ ョ ンと してチェッ ク インできます。 多くのユーザーは、

ソースおよび結果を保存および管理するためにディ レク ト リ構造を使用します。

リ ビジ ョ ン管理システムは、 異なる メカニズムを使用して 後のチェッ クアウ トから変更されたソースのみをアッ

プデート します。

Vivado Design Suite のファイルには、 リ ビジ ョ ン管理を使用して管理する必要のあるファ イルと して定義されている

ものがあ り ます。 Vivado Design Suite で生成される多数の一時ファイルは、 管理するのは非効率であ り、 管理の必要

はあ り ません。 「Vivado Design Suite のソース タイプ」 に、 主なファイルを示します。

推奨: 実行スク リプ トやツール設定も リ ビジ ョ ン管理用にチェッ ク インする必要があ り ます。 この情報は、

write_project_tcl コマンドを使用して Tcl スク リプ トに記述できます。 vivado_init.tcl は

write_project_tcl で記述されたスク リプ トには含まれないため、 これもチェッ ク インする必要があ り ます。 こ

れらすべてのファイルをチェッ ク インしたら、 現在のソースおよびツール コンフ ィギュレーシ ョ ン設定を使用して

デザインを再生成できます。

デザイン  フローの概要 75UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 76: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

シングル ユーザー アクセスと複数ユーザー アクセス

デザイン ソースおよび IP は通常、 同じプロジェク トで作業している複数の設計者が参照できるライブラ リ またはリ

ポジ ト リに保存されますが、 共通リポジ ト リからデザイン ソースまたは IP を使用する と、 デザインのこれらのファ

イルを使用する誰かによって変更される可能性があ り ます。 共有ソースまたは IP への変更は、 同じソースを参照す

るほかのすべての設計者が反映する必要があ り ます。 デザイン特定の変更が複数のデザインに影響する場合、 これ

は意図しない結果をもたらす可能性があ り ます。

複数ユーザーがアクセスする場合は、 1 人の設計者がデザイン ソースおよび IP を管理し、 それをそのまますべての

設計者に共有するのがベス トです。 これらのソースを読み取り専用にする と、 ほかの設計者が誤って共有ソースを

アップデートするのを回避できます。

また、 Vivado Design Suite の IP および IP サブシステムは 1 つのデバイスをターゲッ ト と します。 デザイン間で共有

する場合は、 必ずデバイスに互換性があるこ とを確認してください。

読み取り専用の管理ソースを直接使用

Vivado Design Suite では、 読み取り専用のソース ファ イルおよび IP を使用してデザインを作成できます。 デザイン

プロセスでソースを変更する予定がない場合は、 管理されている読み取り専用の場所から参照できます。 ソースを

変更する必要がある場合は、 ローカル作業エリ アにチェッ クアウ トできます。

ログ ファ イルおよびレポート ファ イル、 特定のキャッシュ、 およびデザイン結果を書き込むには、 Vivado Design

Suite の起動エリ アへの書き込み権が必要です。

ローカル作業エリアの使用

デザイン ソース管理には、 管理されているソースのローカル コピーをアクティブ プロジェク トの作業エリ アに作成

する手法が一般的です。 この作業エリ アでは、 ファ イルに自由に変更を加えて、 デザインを完成させるこ とができ

ます。 ソースは、 プロジェク トの節目節目でリ ビジ ョ ン管理にチェッ ク インします。 すべての変更は、 プロジェク

ト ディレク ト リ構造の下位にあるファ イルのローカル コピーに加えられるので、 リ ビジ ョ ン管理システムにどの

ファイルをチェッ ク インするかを確認してください。

この方法は、 変更される可能性のあるデザイン ソースにのみ使用できます。 変更されないソースは、 管理されてい

る読み取り専用の場所から参照できます。

最小限のソースの管理

デザインを再生成するには、 低限必要なソース ファ イルを管理する必要があ り ます。 詳細は、 「管理に 低限必要

なソース ファ イル」 を参照してください。

Vivado Design Suite で 小限のソース ファ イル セッ ト を含むプロジェク ト を管理できますが、 次の制限があ り ます。

• IP および IP インテグレーター サブシステムの出力ファイルは再生成する必要があ り ます。 まったく同じものを

生成するため、 IP を生成したのと同じバージ ョ ンのソフ ト ウェアが必要です。 すべての IP 出力ファイルが管理

されている場合、 IP は今後のソフ ト ウェア バージ ョ ンで参照できます。

• デザインのコンパイル中、 出力ファイルを生成するのに時間がかかり ます。

推奨: 高の結果を得るには、 「管理を推奨するソース ファ イル」 に リ ス ト されているすべてのソースを管理するこ

とをお勧めします。

デザイン  フローの概要 76UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 77: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

管理を推奨するソース ファイル

Vivado Design Suite デザインと関連する IP および BD ファ イルは、ソース ファ イルのセッ ト を使用して再作成できま

す。 Vivado Design Suite の将来のバージ ョ ンで再生成する場合のリ スクを軽減し、 コンパイル時間を短縮するため、

次のソース ファイルを管理するこ とをお勧めします。 これらすべてのファイルをチェッ ク インするこ とによ り、 現

在のソースおよびツール コンフ ィギュレーシ ョ ン設定を使用してデザインを再生成できます。

• スク リプ ト

° run 実行の前後で実行したスク リプ ト を含む、 デザインのコンパイルに使用された実行スク リプ ト

° Vivado vivado_init.tcl ファ イル (変更されている場合)

° write_project_tcl コマンドを使用して作成されたプロジェク ト再生成スク リプ ト

° デザイン プロジェク ト を再作成可能なプロジェク ト .xpr ファ イル

• RTL およびシ ミ ュレーシ ョ ン テス トベンチ

° RTL ベースのソース ファ イルすべて (インクルード ファ イルを含む)

° シ ミ ュレーシ ョ ン テス トベンチおよびスティ ミ ュラス ファ イル

• 制約

° XDC 制約ファイルすべてと制約と して使用されている Tcl コマンド

• IP

° IP ソース ファ イル (.xci)

° すべての IP ディ レク ト リおよび出力ファイル (名前はそのまま)

° IP コア コンテナーを使用する場合は、 IP コンテナー ファ イル (.xcix) と、 サードパーティ シ ミ ュレーシ ョ

ンおよび合成ファイル (ip_user_files および ip_static_files ディレク ト リ )

° IP 共に使用される .coe、 .csv、 .bmm、 および .elf ファイル

• IP インテグレーター

° ブロ ッ ク デザイン ソース ファ イル (.bd)

° IP サブディ レク ト リ 、 ファ イルを含むブロ ッ ク デザイン全体の場所 (名前はそのまま)

• HLS

° C ソース ファ イルすべて

° Vivado 合成で使用されるパッケージされた HLS IP

° スク リプ ト

• Vivado ハードウェア マネージャー

° デバイスをプログラムするために必要な .bit ファ イルすべて

° ツールのデフォルトおよびカスタム ユーザー設定を含む .ltx ファ イル

• ハードウェア ソフ ト ウェア インターフェイス

° ハンドオフ デザイン ファ イル (拡張子は .hdf) に、 ザイ リ ンクス SDK でデザインの対応するソフ ト ウェア

プロジェク ト を作成するために必要な情報がすべて含まれます。 HDF ファ イルは、 write_hwdef または

write_sysdef Tcl コマンドを使用するか、 [File] → [Export] → [Export Hardware] をク リ ッ ク してデザイン

をエクスポートする と作成されます。

• ドキュ メン ト

デザイン  フローの概要 77UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 78: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

° デザインに関する ドキュ メン ト、 仕様、 レポート など。

デザイン  フローの概要 78UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 79: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

管理に最低限必要なソース ファイル

Vivado Design Suite デザインと関連する IP および BD ファ イルは、 小限のソース ファ イル セッ ト を使用して再作

成できます。 この方法には、 「 小限のソースの管理」 に記述されている制限があ り ます。

デザインを再生成するために必要な 小限のソース ファ イル セッ トは、 次のとおりです。

• スク リプ ト

° run 実行の前後で実行したスク リプ ト を含む、 デザインのコンパイルに使用された実行スク リプ ト

° write_project_tcl コマンドを使用して作成されたプロジェク ト再生成スク リプ ト

° デザイン プロジェク ト を再作成可能なプロジェク ト .xpr ファ イル

• RTL およびテス トベンチ

° RTL ベースのソース ファ イルすべて (インクルード ファ イルを含む)

° シ ミ ュレーシ ョ ン テス トベンチおよびスティ ミ ュラス ファ イル

• 制約

° XDC 制約ファイルすべてと制約と して使用されている Tcl コマンド

• IP

° 各 IP に関連付けられている .xci ファ イル

° IP コア コンテナーを使用する場合は、 IP コア コンテナー .xcix ファ イル

重要: IP を使用する場合は、 カスタマイズ IP の出力ネッ ト リ ス ト (.dcp) ではなく、 元の IP カスタマイズ ファ イルだ

けでも 低限管理しておく こ とが重要です。 XCI ファ イルを使用する と、 IP をカスタマイズし直して再生成できま

す。

• IP インテグレーター

° write_project_tcl コマンドを使用して作成された BD 再作成 Tcl コマンド

° 各 BD に使用される .bd ファ イル

° ブロ ッ クのグラフ ィ ッ ク ロケーシ ョ ンおよびコ メン トの UI ディレク ト リ

Vivado Design Suite のソース タイプ 

Vivado Design Suite 環境では、 デザイン記述を含むソース ファ イルが参照されます。 Vivado Design Suite のオプシ ョ

ンで、 ソース ファイルの作成方法、 使用方法、 ソース タイプの管理方法を設定できます。 ソースには次のよ うなも

のがあ り ます。

• HDL およびネッ ト リ ス ト ファ イル: Verilog (.v)、 SystemVerilog (.sv)、 VHDL (.vhd)、 および EDIF (.edf)

• C ベースのソース ファ イル (.c)

• Tcl ファ イル、 実行スク リプ ト、 および vivado_init.tcl (.tcl)

• 論理および物理制約 (.xdc)

• IP コア ファ イル (.xci) および IP コア コンテナー ファ イル (.xcix)

• IP インテグレーター ブロッ ク デザイン ファ イル (.bd)

• デザイン チェッ クポイン ト ファ イル (.dcp)

デザイン  フローの概要 79UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 80: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

• 関連ツールで使用されるファイル (シ ミ ュレータ用の .do ファ イルなど)

• ブロ ッ ク メモ リ マップ ファ イル (.bmm、 .mmi)

• ELF (Executable and Linkable Format) ファ イル (.elf)

• 係数ファイル (.coe)

• アーカイブされたプロジェク ト (.zip)

Vivado Design Suite でのソース変更の認識

Vivado Design Suite では、大部分のソース ファ イルでタイムスタンプを使用してソース ファ イルがアップデート され

たかを判断します。 ソースでタイムスタンプが変更される操作を実行する と、 デザインが 新の状態でなくな り、

アップデートが必要と示される可能性があ り ます。

重要: 一般的な リ ビジ ョ ン管理操作でファイルのタイムスタンプが変更されないよ うにして ください。

リ ビジ ョ ン管理システムによっては、 ファ イルの内容に変更がなくてもタイムスタンプが変更されたり、 チェ ッ ク

イン/チェッ クアウ トの時間に基づいてタイムスタンプが変更されるこ とがあ り ます。 ソース ファ イルおよび生成さ

れた出力ファイルの相対的な変更時間順を保持するには、 ファ イルをタイムスタンプの逆順に並べ替えてから

チェッ ク イン/チェッ クアウ ト を実行して ください。 次に、 タイムスタンプ順を保持して git にファイルを追加するコ

マンド (Unix) を示します。

find .-type f -print0 | xargs -0 ls-rt | xargs git add

リ ビジ ョ ン管理システムからファ イルをチェッ クアウ トする と き、 リポジ ト リからチェッ クアウ ト される時間でタ

イムスタンプが記録されます。 このため、 IP の出力ファイルおよび合成/インプリ メンテーシ ョ ン run が Vivado ツー

ルで 新の状態ではないよ うに見えてしまいます。 デザインが 新であったと しても 新の状態でないよ うに見え

てしま う場合、 出力ファイルを再生成したり、 合成またインプリ メンテーシ ョ ン run を再実行する必要があ り ます。

一部のリ ビジ ョ ン管理システムでは、 ファ イルのタイムスタンプをシステムからチェッ クアウ ト した時間ではなく

チェッ ク インした時間で保持できるものもあ り ます。 この場合は出力ファイルおよびデザイン run が 新の状態でな

くなるこ とを回避でき、 余計なイテレーシ ョ ンを回避できます。 使用している リ ビジ ョ ン管理システムにこの機能

がないか確認してください。

デザイン  ソース ディレク ト リ構造の定義

さまざまなタイプのソース ファ イルを効率的に識別して管理するため、 各アクティブ デザインにディ レク ト リ構造

を作成するこ とをお勧めします。 次に示すよ うに、 ソースのタイプごとに異なるディ レク ト リに保存します。

デザイン  フローの概要 80UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 81: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

さまざまなタイプの Vivado デザイン ソースをカテゴ リに分類して整理するのが目的です。デザインおよびデザイン

チームで 適な命名規則およびサブディ レク ト リ構造を定義してください。 このエリ ア自体を リ ビジ ョ ン管理シス

テムで管理するか、 デザイン特定のチェッ クアウ ト コピーを使用できます。

Vivado IP および IP サブシステムはデバイス特定であ り、 保存ディ レク ト リにわかりやすい名前を付けておく必要が

あ り ます。 そのよ うにする と、 後でほかのデザインで使用する場合に識別しやすくなり ます。

アクテ ィブ作業エリアの使用

ザイ リ ンクスでは、 プロジェク ト を作成し、 デザインをコンパイルして結果を記述し、 デザインを完成するための

試行を実行する書き込み可能なエリ アを提供するため、 アクティブ作業ディ レク ト リ を作成するこ とをお勧めしま

す。 このエリアに書き込み可能なデザイン ソースおよび IP を含めるこ と もできます。

デザイン特定のソース、 スク リプ ト、 および結果が見つけやすくなるよ う な命名および整理方法を検討するこ とを

お勧めします。 サブディ レク ト リおよびソース ファ イルは、 後で内容を判断しやすい命名方法を考案して ください。

新でないデザイン試行やタイ ミ ングを満たすこ とができなかった試行、 および 新でないソースは削除してくだ

さい。

注意: Windows オペレーティング システムではパスの長さが 260 文字までに制限されており、 これが Vivado ツール

に影響する可能性があ り ます。 この問題を回避するには、 プロジェク トの作成、 IP および Manage IP プロジェク ト

の定義、 ブロ ッ ク デザインの作成を実行する際に、 ディ レク ト リの場所および名前をできるだけ短く して ください。

Vivado Design Suite プロジェク トの管理

Vivado Design Suite プロジェク ト を使用する場合、 ソース管理システムの使用が複雑になる可能性があ り ます。

Vivado Design Suite プロジェク ト を リ ビジ ョ ン管理システムと共に使用する場合は、 特定の手順に従う必要があ り ま

す。 プロジェク トでは、 ソースのコピーが保持されるか、 またはリモート ソースが参照され、 独自の方法でソース

が管理されますが、 プロジェク ト を リ ビジ ョ ン管理と共に使用する方法もあ り ます。 次の方法が推奨されます。

リモート  ソースまたはローカル ソースの使用

プロジェク トが Vivado ツールを使用して作成および管理される場合、 ソースは元のディ レク ト リから参照できるほ

か、 プロジェク トのローカル ディレク ト リにコピーするこ と もできます。 ローカルおよびリモートのソースはすべ

X-Ref Target - Figure 5-1

図 5‐1:デザイン  ソース ディ レク ト リ構造の例

デザイン  フローの概要 81UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 82: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

て、 Vivado IDE を使用してインタラ クティブに処理できます。 ソースを変更するにはテキス ト エディ ターを使用で

き、 またデザインを開いた状態で結果を解析および変更できます。

デザイン ソースは読み取り専用にして、 デザインが実行されているディ レク ト リからアクセス可能なネッ ト ワーク

上の任意の場所に保存できます。 ただし、 ソースを読み取り専用にする と変更できないので、 Vivado IDE のインタ

ラ クティブ設計機能の活用が制限されます。

プロジェク ト モードを使用する場合は、 ソースをローカル ディ レク ト リにコピーせず、 リモート ソースを使用して

プロジェク ト を作成した方が、 簡単にリ ビジ ョ ン管理システムを使用できます。 ソースを リモートで管理する と、

Vivado IDE のインタラ クティブ機能を活用しながら、 デザイン ソースを簡単に管理できます。 ソース ファ イルに変

更を加えるたびに、 リ ビジ ョ ン管理システムに新しいバージ ョ ンをチェッ ク インできます。

または、 ソースをローカルのプロジェク ト ディレク ト リにコピーし、 デザイン プロジェク ト全体を独立した移植し

やすいものにするこ と もできますが、 デザイン ソース ファ イルがプロジェク トのサブディ レク ト リの下の方に埋も

れてしまいます。

ヒン ト : ほとんどの場合、 ソースに加えた変更はファイルに別の名前を付けて保存できます。

プロジェク ト を  .xpr ファイルのみから再作成

Vivado Design Suite プロジェク トは、 1 つのファイル (<project_name>.xpr) で再作成および管理できます。 リ ビ

ジ ョ ン管理システムで管理する必要があるのは、 プロジェク ト ファ イルと さまざまなプロジェク ト ソース ファ イル

のみです。 ソース ファ イルが元のディレク ト リにあ り、 プロジェク トに リモート ソース と して追加されていれば、

このプロジェク ト ファ イルを開く こ とによ り関連するソース ファ イルが開かれ、 プロジェク ト全体を再作成できま

す。 ソースがプロジェク ト内にある場合、 スタンドアロンの XPR ファ イルからプロジェク ト を正し く再作成するこ

とはできません。

プロジェク ト を  write_project_tcl コマンドを使用して再作成

プロジェク ト をソース管理システムと共に使用する場合は、 Tcl スク リプ ト を使用して 初からプロジェク ト を構築

し直すこ とをお勧めします。 Vivado の write_project_tcl コマンドには、 同じソース ファ イルと設定を使用し

て現在のデザインを作成し直すのに使用できる Tcl スク リプ ト を作成する機能があ り ます。

write_project_tcl <script_file_name>.tcl

このコマンドで作成された Tcl スク リプ トはリ ビジ ョ ン管理システムで管理する必要があ り ます。 このスク リプ ト を

使用してプロジェク ト を再作成するには、 次のコマンドを使用します。

source <script_file_name>.tcl

新しいプロジェク トは <script_file_name>.tcl ファ イルを読み込んだ現在の作業ディレク ト リ (CWD) に記述

されます。

推奨: Tcl スク リプ トはプロジェク ト を作成したのと同じディ レク ト リから読み込むこ とをお勧めしますが、 別の

ディ レク ト リから読み込む場合は、 Tcl シェルで origin_dir_loc 変数を新しいディ レク ト リに設定するか、

origin_dir 変数を CWD と ソース ファ イル間の相対パスを維持するよ うに編集します。

Vivado Design Suite スクリプ ト  ベース フローの使用

ソース管理システムを連動させるには、 非プロジェク ト モードのスク リプ ト フローを使用するのが も簡単な方法

です。 必要なソース ファ イルをローカル ディ レク ト リ構造にチェッ クアウ トするか、 管理される場所から直接読み

デザイン  フローの概要 82UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 83: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

込むこ とができます。 新しいソース ファ イルを作成する必要がある場合もあ り ます。 ファ イルの準備が整ったら、

read_<source_type> Tcl コマンドを使用してファイルを Vivado の合成およびインプ リ メンテーシ ョ ン コマンド

に渡します。 ソース ファ イルは、 元のディレク ト リに保持されます。 チェッ クアウ ト されたソースは、 インタラ ク

ティブに、 またはコード エディ ターを使用してデザイン セッシ ョ ン中に Tcl コマンドで変更できます。 タイ ミ ング

制約の変更などがこの例です。

注記: ソース ファイルは読み取り専用にして保護できますが、 その場合は変更できません。

ソース ファ イルは、 ユーザーの判断で随時ソース管理システムに戻されます。 デザイン チェッ クポイン ト、 レポー

ト、 BIT ファ イルなどのデザイン結果も リ ビジ ョ ン管理用にチェッ ク インできます。

IP および IP サブシステムの使用

IP および IP インテグレーター サブシステムは、 Vivado IDE でインタラ クティブに設定するのがベス トです。 IP カス

タマイズ ウ ィザードおよびインタラ クティブ IP インテグレーター キャンバスを使用するこ とで、作業が簡単になり

ます。 IP または IP サブシステムを設定して出力ファイルを生成したら、 これらのソースを Vivado Tcl コマンドで読

み込むこ とができます。 IP では .xci ファ イルをソース と して使用し、 IP インテグレーター では .bd ファ イルをソー

ス と して使用します。

注記: スク リプ ト ベース フローでは、 IP または IP インテグレーターのデザイン チェッ クポイン ト ファ イル (.dcp) を

ソース と して使用するこ と もできます。 .xci および .bd ファ イルは確実に 新であるので、 ザイ リ ンクスではこれら

のファイルを使用するこ とをお勧めします。

スクリプ トおよびレポートの管理

デザインの再作成に必要な Tcl スク リプ トおよび変更した .ini スタート アップ ファ イルも管理する必要があ り ます。

レポート ファ イルも管理する と、 今後の参照用にデザインのステート を特定するのに役立ちます。

IP の管理

デザイン プロジェク トで使用した IP には、 そのプロジェク ト専用のディ レク ト リ を作成しておく こ とをお勧めしま

す。 IP は、 その IP を使用するその他のデザイン プロジェク トから も再設定できるので、 デザイン専用の IP を作成

しておく と、 ほかの設計者によ り不必要にアップデート されるのを防ぐこ とができます。

Vivado Design Suite の IP および IP サブシステムはデバイス特定なので、 デザイン間で共有する場合や管理エリ アを

設定する際は注意が必要です。

Vivado Design Suite の IP は、 次の方法を使用して設定、 格納、 および管理できます。

• Manage IP プロジェク ト を作成 (推奨)

• プロジェク ト ローカル IP

• プロジェク ト リモート IP

Manage IP プロジェク ト を作成 (推奨)

IP を 1 つの場所で管理する環境では、 カスタマイズされた IP と出力ファイルが現在のデザインまたはプロジェク ト

ディ レク ト リ構造外にある 1 つのリポジ ト リに保存されます。 カスタマイズされた各 IP は、 それ専用のディ レク ト

リに保存されます。 プロジェク ト モードでも非プロジェク ト モードでも、 Tcl スク リプ ト を使用するかプロジェク

トに リモート ソース と して追加するこ とによ り、 この リポジ ト リから IP を参照できます。

デザイン  フローの概要 83UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 84: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

Manage IP プロジェク トでは、 複数の IP コアを設定、 検証、 保存する IP 管理ロケーシ ョ ンが作成されます。 Vivado

IDE の IP カタログを使用した IP の設定、 ソース管理、 解析、 run 構造を活用し、 各 IP コアの結果を保存および検証

します。 この機能によ り、 IP カタログから IP を選択して設定およびカスタマイズし、 必要なデザイン コンフ ィギュ

レーシ ョ ンの出力ファイルを生成できます。 この環境で合成およびインプリ メンテーシ ョ ンを実行するこ と も可能

です。

推奨: managed_ip_project ディ レク ト リ も含め、 [IP Location] ディ レク ト リ構造全体を管理するこ とをお勧めし

ます。 これによ り、 Vivado Design Suite で IP run と出力ファイルのステータスが維持されるよ うになり ます。

プロジェク ト  ローカル IP

IP は、 Vivado Design Suite プロジェク ト内で設定および保存できます。 IP 出力ファイルは、 プロジェク ト ディ レク ト

リ構造内に保存できます。 IP 出力ファイルをデザイン プロジェク ト内に保存する と、 デザイン全体に対するスタン

ドアロン エンティティが作成され、 簡単にパッケージして共有できます。 これは、 デザイン専用の IP 設定を使用し

ており、 共有 IP リ ポジ ト リから使用できるよ うにするこ とが望まし くない場合にも便利です。

プロジェク ト内で IP カタログを使用して IP をカスタマイズおよび追加するのは簡単です。 プロジェク トは独立して

いるので 1 つのロケーシ ョ ンで簡単に管理できます。 1 つの IP が複数のプロジェク ト または複数のユーザーによっ

て使用されない場合は、 この方法がシンプルです。 IP はプロジェク トの一部と して扱われ、 RTL ソースおよび run

結果などのほかのデザイン データ と共に管理されます。

プロジェク ト ディレク ト リ構造全体をそのまま変更せずに管理する必要があ り ます。

プロジェク ト  リモート  IP 

Vivado Design Suite では、 プロジェク ト モードおよび非プロジェク ト モードの両方で、 個々の IP をスタンドアロン

と してまたはリモートで設定できます。 次の図に示すよ うに、 Vivado Design Suite の IP を設定する と きは、 プロジェ

ク ト ディレク ト リ外の IP ロケーシ ョ ンを指定できます。

IP ディ レク ト リ を Vivado Design Suite プロジェク ト外に設定する と、 IP 設定ファイル (.xci) のほか、 RTL ソースお

よび制約を含むさまざまな IP 出力ファイルがスタンドアロン ディレク ト リに IP カスタマイズ名と一致する名前で保

存されます。

リモート IP は、 いくつのデザイン プロジェク トでも使用できます。 Vivado IDE では、 リモート IP への変更および

バージ ョ ン アップデートが可能であ り、 変更する とほかのユーザーおよびデザインに影響する可能性があるので、

共有リモート IP を変更またはアップデートする際は注意が必要です。 デザイン特定のリモート IP ロケーシ ョ ンを設

定する と、 ほかの設計者によ り不必要に変更されないよ うにできます。

X-Ref Target - Figure 5-2

図 5‐2:各 IP のリモート  ディレク ト リの定義

デザイン  フローの概要 84UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 85: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

リモート IP ロケーシ ョ ンを使用する際は、 次のガイ ド ラインに従ってください。

• IP 保存ディ レク ト リ構造をデバイス タイプ、 IP タイプ、 その他エレ メン トで区別できるよ うに設定する。

• サンプル デザインを IP ディレク ト リ外に保存して、 IP がアップデート されたと きにも保持されるよ うにする。

リモート IP ディ レク ト リ構造全体をそのまま変更せずに管理します。 場所は指定できますが、 プロジェク トおよび

Manage IP プロジェク トでと同様に、 各 IP は常に IP 名に基づく名前の専用ディ レク ト リに配置されます。

IP ソースの管理

Vivado Design Suite の IP を使用する場合、 IP コアがサブディレク ト リに個別に保存されます。 このディ レク ト リに

は、 IP を合成、 インプリ メン トするのに必要な IP 設定ファイル (.xci)、 RTL、 XDC、 およびその他の関連ファイルが

保存されます。 ツールの今後のバージ ョ ンで結果を再生成する際のリ スクを軽減するため、 これらすべてのファイ

ルをそのディ レク ト リ構造をそのまま変更せずに管理するこ とをお勧めします。

IP コア コンテナーの使用 (推奨)

リ ビジ ョ ン管理システムでファイルを管理しやすくするため、 IP 設定ファイルと出力ファイルを、 ディ レク ト リ構

造ではなく、 IP コア コンテナーという 1 つのバイナリ ファ イルに格納できます。 Vivado Design Suite は、 この IP コ

ア コンテナー ファ イルを直接操作します。 IP コア コンテナーを使用する場合、 管理する必要があるのは IP の .xcix

ファ イルのみです。 .xcix ファ イルには、 シ ミ ュレーシ ョ ン、 合成、 およびインプ リ メンテーシ ョ ンに必要なファイ

ルすべてが含まれます。

IP コア コンテナーの使用に関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参

照 14] を参照して ください。 IP コア コンテナー ファ イルを使用したシ ミ ュレーシ ョ ンの詳細は、 『Vivado Design

Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 18] を参照してください。

注記: .xci ファ イルまたは .xcix ファ イルを含むすべての出力ソース ファ イルを読み取り専用にできます。

重要: IP サンプル デザインを管理されていない場所に作成し、 コンパイルおよび試行できるよ うにします。

一部の IP には、 COE、 CSV、 ELF、 および BMM ファ イルなどの追加ファイルがあ り ます。 これらのファイルを リ

ビジ ョ ン管理システムを使用して管理する必要があ り ます。 プロジェク ト フローでは、 これらのファイルはプロ

ジェク トに登録され、 デザイン ソース エリアに表示される場合があ り ます。 これらのファイルはプロジェク トには

インポート されませんが、 参照されたロケーシ ョ ンに保持されます。

たとえば FIR Compiler の .coe ファ イルを指定する と、 デザイン ソースの係数ファイル フォルダーに追加されます。

.coe ファ イルの場所は、 IP XCI ファ イルに相対パスと して保存されます。 IP および COE ファ イルを リ ビジ ョ ン管理

に配置する場合、 相対パスを保持する必要があ り ます。 相対パスを変更する必要がある場合、 パスは IP のプロパ

ティ と して設定されているので、 このパス プロパティを次の Tcl コマンドを使用してアップデート します。

set_property CONFIG.Coefficient_File {/location/of/coe/file} [get_ips my_FIR_compiler]

ヒン ト : このパス プロパティは、 GUI で IP を再カスタマイズし、 COE ファ イルの場所を指定してアップデートする

こ と もできます。

注記: プロジェク ト をアーカイブする と、 これらのファイルがプロジェク ト ディ レク ト リ構造にコピーされて IP の

パス参照がアップデート されます。 write_project_tcl コマンドを使用する場合、 使用するオプシ ョ ンによっ

て、 ファ イルは現在の場所から参照されるかインポート されます。

デザイン  フローの概要 85UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 86: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

IP コア コンテナーと外部サードパーティ  ファイルの管理 (推奨)

IP コア コンテナーを使用する場合は、サードパーティ ツールがアクセスしやすいよ うに、次の IP 出力ファイルがコ

ア コンテナー外にコピーされます。

• インスタンシエーシ ョ ン テンプレート

• 合成スタブ ファ イル

• シ ミ ュレーシ ョ ン ソース ファ イル

• スク リプ ト

• テス トベンチ

コピーされたこれらのファイルは、 その IP の ip_user_files および ip_static_files サブディレク ト リに含

まれます。

推奨: サードパーティ ツールを使用する場合は、 IP の .xcix ファ イルと これらの外部下位ディ レク ト リ をそのままの

状態で管理するこ とをお勧めします。

すべての IP 出力ファイルの管理 (推奨)

すべての IP 出力ファイルを含む IP ディ レク ト リ全体を リ ビジ ョ ン管理を使用して管理するこ とをお勧めします。 こ

のよ うにする と、 後で IP をアップグレードするかど うか、 する場合はそのタイ ミ ングを柔軟に決定できます。 IP を

使用するたびに生成し直す必要がないので、 実行時間も短縮されます。

Vivado IDE では、 IP カタログ内でサポート される IP のバージ ョ ンはそれぞれ 1 つのみです。 Vivado IDE をアップグ

レード して IP が 新バージ ョ ンでなくなっても、 使用するこ とは可能です。 IP はロッ ク され、 再カスタマイズした

り出力ファイルを生成し直すこ とはできなくな り ますが、 出力ファイルが存在していれば使用できます。

デフォルトでは、 すべての IP はデザインのほかの部分から独立させて合成されます (アウ ト オブ コンテキス ト合成

)。 生成される合成済みデザイン チェッ クポイン トは、 IP の出力ファイルです。 IP を Vivado IDE の今後のバージ ョ

ンで使用できるよ うにするには、 IP を作成したと きにデフォルトのアウ ト オブ コンテキス ト フローを使用していた

場合、 それらのファイルが存在する必要があ り ます。 ほかの出力ファイルと同様、 これらのファイルも IP が現バー

ジ ョ ンではない場合は生成できません。

IP の .xci ファイルのみの管理

デザインで使用されている IP のカスタマイズ設定を復元するには、 低でもその IP 特定の設定を含む .xci ファ イル

を保存しておく必要があ り ます。 この .xci ファ イルから、 IP を作成したのと同じバージ ョ ンの Vivado IDE を使用し

て IP を再生成できます。 このツール バージ ョ ンを使用し続ける場合、 または IP を常にアップグレードする予定の場

合は、 IP の .xci だけで十分ですが、 IP コア (現在のカスタマイズ、 RTL、 XDC などを含む) を今後の Vivado IDE で使

用するには、 リ ビジ ョ ン管理に IP の出力ファイル ディ レク ト リ全体を配置し、 ディ レク ト リ構造を保持する必要が

あ り ます。

出力ファイルを作成する場所を確実にするため、 IP ディ レク ト リ構造を保持する必要があ り ます。 1 つのディ レク

ト リに複数の .xci ファ イルを保存しないでください。 1 つのディ レク ト リに複数の .xci ファ イルを保存する と、 出力

ファイルを生成したと きに競合が発生します。

IP の .xcix コア コンテナー ファイルのみの管理

シ ミ ュレーシ ョ ンおよび合成に必要な IP 出力ファイルを含めつつ、 小限のファイル セッ ト を管理する場合は、 IP

コア コンテナーを使用します。 IP コア コンテナーを使用する場合、 管理する必要があるのは IP の .xcix ファ イルの

デザイン  フローの概要 86UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 87: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

みです。 次のコマンドを使用する と、 シ ミ ュレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ンに必要な IP ソース

ファ イルすべてをデザイン プロジェク トの任意の管理されていないディ レク ト リにエクスポートできます。

export_ip_user_files

IP インテグレーター サブシステムの管理

IP インテグレーター サブシステムには、 複数の IP、 カスタマイズされたパラ メーター、 インターコネク トが含まれ

ます。 これらの IP サブシステムは IP インテグレーターで作成され、 Vivado IDE 内でブロ ッ ク デザイン (BD) と呼ば

れます。

リモート  ブロック  デザインの作成 (推奨)

Vivado IP インテグレーター ブロ ッ ク デザイン (.bd) を作成する際、 リモートの場所を指定できます。 ブロ ッ ク デザ

インのリ ビジ ョ ンを管理し、 保存するには、 これが も簡単な方法です。 「プロジェク ト リモート IP」 と同様、 ブ

ロ ッ ク デザインで使用されているすべてのファイルおよび IP がプロジェク ト ディ レク ト リ外のリモート ディ レク

ト リに保存されます。

ブロ ッ ク デザイン作成の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシス

テムの設計』 (UG994) [参照 32] のこのセクシ ョ ンを参照してください。

プロジェク ト  ベース ブロック  デザインの作成

デフォルトでは、Vivado IP インテグレーターによ り ローカル プロジェク ト ディ レク ト リ構造内にブロ ッ ク デザイン

データが作成および保存されます。 この場合、 Vivado IDE ではソースをインタラ クティブに変更および管理できる

ため、 リ ビジ ョ ン管理システムの使用には注意が必要です。 IP 出力ファイルをデザイン プロジェク ト内に保存する

と、 デザイン全体に対してスタンドアロン エンティティが作成され、 簡単にパッケージして共有できます。 これは、

デザイン専用の IP 設定を使用しており、 共有 IP リポジ ト リから使用できるよ うにするこ とが望まし くない場合にも

便利です。

IP インテグレーター ソースの管理

Vivado IP インテグレーターでは、 BD で使用される IP コアが BD のサブディ レク ト リに個別に保存されます。 この

ディ レク ト リには、 IP をインプリ メン トするのに必要な、 IP 設定ファイル (.xci)、 RTL、 XDC、 およびその他の関連

X-Ref Target - Figure 5-3

図 5‐3: ブロック  デザインのリモート  ディレク ト リの指定

デザイン  フローの概要 87UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 88: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

ファ イルが保存されます。 将来のツール バージ ョ ンで結果を再生成する際のリ スクを軽減するため、 すべての BD

ファ イルをそのディ レク ト リ構造およびファイル名をそのまま変更せずに管理するこ とをお勧めします。

.bd ファ イルを含むすべての出力ソース ファ イルを読み取り専用にできますが、 Vivado IDE のブロ ッ ク デザイン機

能は制限されます。

IP サンプル デザインを使用する際は、 管理されていない場所に作成し、 コンパイルおよび試行できるよ うにしてく

ださい。 デフォルトでは、 IP サブディ レク ト リ内に作成されます。

ブロック  デザインを  .bd ファイルのみから再作成

低でも BD に関連付けられている .bd ソース ファ イルを リ ビジ ョ ン管理を使用して管理する必要があ り ます。 .bd

をプロジェク ト ソース と して追加する と、 ブロ ッ ク デザインと関連の IP 出力ファイルが再生成されます。 この場

合、 すべての IP およびブロッ ク デザインの出力ファイルを再生成およびコンパイルする必要があるので、 時間がか

かり ます。 ブロ ッ ク デザインの再生成も、 それを作成したツール バージ ョ ンに制限されます。 ザイ リ ンクスでは、

bd ディ レク ト リ全体をチェッ ク インするこ とをお勧めします。 BD が関連の IP 出力ファイルと共に正し く生成され

たこ とを確認してください。

ブロック  デザインを  write_bd_tcl コマンドを使用して再作成

Vivado の write_bd_tcl コマンドには、 同じ IP、 接続、 設定を使用して現在の IP インテグレーター ブロ ッ ク デザ

イン (.bd) を作成し直すのに使用できる Tcl スク リプ ト を作成する機能があ り ます。 BD が関連の IP 出力ファイルと

共に正し く生成されたこ とを確認してください。

write_bd_tcl <script_file_name>.tcl

ソースが同じ場所に配置されていれば、 プロジェク ト フローおよび非プロジェク ト フローの両方で、 このコマンド

を使用してブロ ッ ク デザインを再作成できます。

source <script_file_name>.tcl

この結果のスク リプ ファ イルも リ ビジ ョ ン管理で管理する必要があ り ます。

シミ ュレーシ ョ ン  ソースの管理

シ ミ ュレーシ ョ ン ソースは通常、 テス トベンチおよびシ ミ ュレーシ ョ ン スク リプ ト と共に、 デザイン ソース ファ

イルの大部分を占めます。 これらのファイルはすべて、 リ ビジ ョ ン管理機能を使用して管理する必要があ り ます。

これらは、 Vivado Design Suite から 1 つのディレク ト リにエクスポートできます。

ロジッ ク シ ミ ュレーシ ョ ン用にファイルをエクスポートする方法については、 「バッチ シ ミ ュレーシ ョ ン」 を参照

してください。

System Generator ソースの管理

ザイ リ ンクス System Generator で作成されたプロジェク ト ディ レク ト リ全体をそのまま変更せずにリ ビジ ョ ン管理で

管理する必要があ り ます。

HLS ソースの管理

C ベース デザイン ソース、 実行スク リプ ト、 および出力パッケージ RTL IP をすべて リ ビジ ョ ン管理で管理する必要

があ り ます。

デザイン  フローの概要 88UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 89: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

デザイン結果の管理

デザイン チームのニーズによって、 追加のファイルを管理できます。 これには、 デザイン ビッ ト ス ト リーム ファ イ

ル、 インプ リ メンテーシ ョ ン結果、 デザイン チェッ クポイン ト、 ログ ファ イルおよびレポート、 カスタム Tcl コマ

ンドおよび実行スク リプ トが含まれます。 これらのファイルを適切に管理してください。

デザイン  チェ ックポイン ト

Vivado Design Suite では、 デザイン フローの任意の段階のデザインを保存するため、 デザイン チェッ クポイン ト

ファ イル (.dcp) が使用されます。 チェッ クポイン トには、 チェッ クポイン トが保存された段階でのネッ ト リ ス ト 、

制約、 デザイン結果が含まれます。

チェッ クポイン トは、 デザイン プロセスの各段階を終了した後に保存して ください。 プロジェク ト を使用して合成

run およびインプリ メンテーシ ョ ン run を処理する場合は、 自動的に作成されます。

チェッ クポイン トは、 デザイン解析および制約変更のために Vivado IDE で開く こ とができます。 制約の変更は、 次

回フローを実行する際に使用できるよ うにするため、 新しい制約ファイルに保存できます。 チェッ クポイン トはフ

ローの任意の時点におけるデザインのスナップシ ョ ッ トであ り、 プロジェク ト全体やソース ファ イルは含まれませ

ん。 これらは通常、 ビッ ト ス ト リームの生成などの残りのデザイン手順に渡されます。

さまざまな段階のデザイン チェッ クポイン ト を保存可能です。

デザインのアーカイブ

archive_design コマンドを使用する と、 プロジェク ト全体を 1 つの圧縮された ZIP ファ イルに保存できます。 こ

のコマンドには、 ソースおよび実行結果の保存に関していくつかオプシ ョ ンがあ り ます。 基本的には、 プロジェク

ト全体がメモ リにコピーされ、 元のプロジェク トの状態を保ちながら、 1 つの ZIP ファ イルに圧縮されてディ スクに

保存されます。 リモート ソースもアーカイブにコピーされます。 この機能は、 別の人にデザイン記述を送信する場

合や独立したエンティティ と して保存する場合に便利です。 vivado_init.tcl ファ イルを使用してデザインに影

響する特定パラ メーターや変数を設定している場合は、 このファイルも送信する必要があ り ます。

詳細は、 次を参照してください。

• 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 13]

• Vivado Design Suite QuickTake ビデオ: さまざまなタイプのプロジェク ト を作成

• Vivado Design Suite QuickTake ビデオ: プロジェク トでソース ファ イルを管理

ハードウェア マネージャーのプロジェク トおよびソースの管理

Vivado ハードウェア マネージャーのデバッグおよびプログラム機能を使用するには、 プロジェク トの .bit ファ イル

および .ltx ファ イルが主に必要な出力ファイルです。 Vivado Lab Edition でこのプロジェク ト を使用するには、 これら

のファイルを リ ビジ ョ ン管理で管理するこ とをお勧めします。

Vivado Design Suite プロジェク ト を使用する場合

Vivado ハードウェア マネージャーのデバッグおよびプログラム機能によ り作成されるカスタム ダッシュボード、 ト

リガー、 キャプチャ条件、 波形コンフ ィギュレーシ ョ ン ファ イルなどは、 Vivado Design Suite プロジェク トの

project_name.hw ディ レク ト リに保存されます。 Vivado Design Suite プロジェク トの project_name.hw ディレ

ク ト リ を リ ビジ ョ ン管理を使用して管理するこ とをお勧めします。 そ うする と、 プロジェク ト を Vivado Lab Edition

で使用するためにハンドオフする際にも有益です。

デザイン  フローの概要 89UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 90: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

Vivado Lab Edition ソースの管理

Vivado Lab Edition でプロジェク ト用に作成されたプロジェク ト ディ レク ト リ を リ ビジ ョ ン管理を使用して管理する

こ とをお勧めします。 Vivado ハードウェア マネージャーのデバッグおよびプログラム機能によ り作成されるカスタ

ム ダッシュボード、 ト リガー、 キャプチャ条件、 波形コンフ ィギュレーシ ョ ン ファ イルなどは、 Lab Edition プロ

ジェク ト ディレク ト リの hw_* ディ レク ト リに保存されます。 Lab Edition プロジェク ト ディレク ト リにある .lpr

ファ イルがプロジェク ト ファ イルであ り、 これを リ ビジ ョ ン管理で管理する必要があ り ます。 hw_* ディ レク ト リ

が元の場所にあれば、 このプロジェク ト ファ イルを開く こ とによ りプロジェク ト全体を再作成できます。

デザインおよび IP の最新 Vivado Design Suite リ リースへのアップグレード

デザイン プロセスの途中で Vivado Design Suite の新しいバージ ョ ンがリ リースされる可能性は大いにあ り ます。新し

いバージ ョ ンにアップデートするか、 そのまま同じバージ ョ ンを使用し続けるかは、 ユーザーが選択できます。 ザ

イ リ ンクスでは 新リ リースを使用するこ とを推奨しますが、 必ず 新版を使用する必要はあ り ません。 ただし、

新の 2 つのメジャー リ リースよ り も前のバージ ョ ンはサポート されませんので、 注意が必要です。 新リ リースに

は次が含まれます。

• ソフ ト ウェア バグ修正

• 新しいバージ ョ ンの IP

• アップデート されたデバイス ファ イル (各種デバイスのスピード ファ イルを含む)

• ザイ リ ンクスの新デバイス

• 新しいソフ ト ウェア機能

• パフォーマンスの改善

Vivado Design Suite を新リ リースにアップグレードする と、Vivado Design Suite プロジェク ト もアップグレード されま

す。 プロジェク トおよびデバイス ファ イルは、 通常自動的にアップグレード されます。

IP を 新版にアップデートするか、 設定したバージ ョ ンに固定するかは、 ユーザーが選択できます。 バージ ョ ンが

固定された IP を使用するには、 IP の出力ファイルを生成し、 それをツールがアップデート された後にも使用しま

す。 この場合、 新リ リースで IP を設定し直すこ とはできません。 設定し直すには、 元のソフ ト ウェア バージ ョ ン

を使用する必要があ り ます。 ザイ リ ンクスでは 新版 IP を使用するこ とを推奨しますが、 必ず 新版を使用しなけ

ればならないという こ とではあ り ません。

IP サブシステム (IP インテグレーターで作成) では、含まれる IP も管理する必要があ り ます。 IP 出力ファイルを生成

したバージ ョ ンに固定するか、 新バージ ョ ンにアップデート します。 特定の IP サブシステムに含まれる IP は、 す

べて同時にアップグレードする必要があ り ます。

詳細は、 「IP の操作」 および次を参照して ください。

• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 14]

• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 32]

• Vivado Design Suite QuickTake ビデオ: Vivado IP のバージ ョ ン アップグレードの管理

デザインを新しいソフ ト ウェア リ リース用にアップグレードするには、『Vivado Design Suite ユーザー ガイ ド : リ リー

ス ノート 、 インス トールおよびライセンス』 (UG973) [参照 31] を参照してください。

デザイン  フローの概要 90UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 91: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

第 5 章:ソース管理およびリビジ ョ ン管理の推奨事項

プロジェク トのアップデート

プロジェク トが以前のバージ ョ ンの Vivado Design Suite で保存されている場合、 プロジェク ト を開いたと きにアップ

デートするかど うかを尋ねるダイアログ ボッ クスが表示されます。 プロジェク ト を読み取り専用で開く こ と もでき

ます。 アップデート されるのは、 新しいプロジェク ト フォーマッ トに関するもののみです。 IP または IP サブシステ

ムは自動的にはアップデート されません。 リ リースごとにプロジェク ト を 新のフォーマッ トにアップデートする

こ とをお勧めします。

IP のアップデート

新しいリ リースの Vivado Design Suite で IP がアップデート されている場合は、アップグレードを推奨します。Vivado

IDE を使用する と、 通常、 新版の IP にアップグレードできます。 変更ログにアップグレードの詳細が記載されて

います。 アップグレード しない場合は、 IP の出力ファイルをすべて生成し、 アーカイブしておく必要があ り ます。

詳細は、 「IP の管理」 を参照して ください。

保存されているファイルを使用するこ とはできますが、 新しいバージ ョ ンの Vivado Design Suite を使用して IP をカ

スタマイズし直すこ とはできず、 追加の出力ファイルを生成するこ と もできません。

IP サブシステムのアップデート

サブシステムで使用されている IP が新しいリ リースの Vivado Design Suite でアップデート されている場合は、 ブ

ロ ッ ク デザイン全体をアップグレードするこ とをお勧めします。 アップグレード しない場合は、 IP の出力ファイル

をすべて生成し、 アーカイブしておく必要があ り ます。 ブロ ッ ク デザインを編集するこ とはできません。 詳細は、

「IP の管理」 を参照して ください。

保存されているファイルを使用するこ とはできますが、 新しいバージ ョ ンの Vivado Design Suite を使用して IP をカ

スタマイズし直すこ とはできず、 追加の出力ファイルを生成するこ と もできません。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参

照 32] を参照して ください。

デザイン  フローの概要 91UG892 (v2018.1) 2018 年 4 月 04 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 92: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

付録 A

その他のリソースおよび法的通知

ザイリンクス リソース

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

ください。

ソリューシ ョ ン  センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイ

ン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

Documentation Navigator およびデザイン  ハブ

ザイ リ ンクス Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセス

でき、 特定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれか

を実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられてお

り、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問 (FAQ) を参考に問題を解決できます。 デザイン

ハブにアクセスするには、 次のいずれかを実行します。

• DocNav で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。

デザイン  フローの概要 92UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 93: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

付録 A:その他のリソースおよび法的通知

参考資料

注記:日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『SDAccel 環境ユーザー ガイ ド』 (UG1023)

2. 『SDSoC 環境ユーザー ガイ ド』 (UG1027)

3. 『Model Composer ユーザー ガイ ド』 (UG1262)

4. 『Vivado Design Suite ユーザー ガイ ド : 高位合成』 (UG902)

5. 『UltraScale アーキテクチャ FPGA メモ リ IP LogiCORE IP 製品ガイ ド』 (PG150: 英語版、 日本語版)

6. 『AXI BFM Cores LogiCORE IP 製品ガイ ド』 (PG129)

7. 『 リ ファレンス システム: IP インテグレーターを用いた Kintex-7 MicroBlaze システム シ ミ ュレーシ ョ ン』 (XAPP1180)

8. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

9. 『Vivado Design Suite チュート リ アル: 高位合成』 (UG871)

10. 『Vivado Design Suite チュート リ アル: デザイン フローの概要』 (UG888)

11. 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)

12. 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)

13. 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895)

14. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

15. 『Vivado Design Suite ユーザー ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG897)

16. 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898)

17. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899)

18. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

19. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)

20. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)

21. 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904)

22. 『Vivado Design Suite ユーザー ガイ ド : 階層デザイン』 (UG905)

23. 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906)

24. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

25. 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909)

26. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910)

27. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911)

28. 『Vivado Design Suite チュート リ アル: エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940)

29. 『Vivado Design Suite チュート リ アル: パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947)

30. 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949)

31. 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (UG973)

32. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

33. 『UltraFast エンベデッ ド デザイン設計手法ガイ ド』 (UG1046)

34. 『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成とパッケージ』 (UG1118)

35. 『Vivado Design Suite チュート リ アル: カスタム IP の作成とパッケージ』 (UG1119)

デザイン  フローの概要 93UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 94: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

付録 A:その他のリソースおよび法的通知

36. Vivado Design Suite に関する資料

ト レーニング リソース

ザイ リ ンクスでは、 この資料に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよび QuickTake ビデ

オを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 1

2. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 2

3. Vivado Design Suite QuickTake ビデオ: Vivado デザイン フローの概要

4. Vivado Design Suite QuickTake ビデオ: Vivado IDE 入門

5. Vivado Design Suite QuickTake ビデオ: Vivado IP インテグレーターを使用した Zynq デバイスの設計

6. Vivado Design Suite QuickTake ビデオ: Vivado Design Suite でパーシャル リ コンフ ィギュレーシ ョ ンを実行

7. Vivado Design Suite QuickTake ビデオ: Vivado での Cadence IES を使用したシ ミ ュレーシ ョ ン

8. Vivado Design Suite QuickTake ビデオ: Vivado での Synopsys VCS を使用したシ ミ ュレーシ ョ ン

9. Vivado Design Suite QuickTake ビデオ: I/O プランニングの概要

10. Vivado Design Suite QuickTake ビデオ: Vivado Design Suite でのリ ビジ ョ ン管理の使用

11. Vivado Design Suite QuickTake ビデオ: さまざまなタイプのプロジェク ト を作成

12. Vivado Design Suite QuickTake ビデオ: プロジェク トでソース ファ イルを管理

13. Vivado Design Suite QuickTake ビデオ: Vivado IP のバージ ョ ン アップグレードの管理

14. Vivado Design Suite QuickTake ビデオ チュート リ アル

デザイン  フローの概要 94UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日

Page 95: Vivado Design Suite · 2020-07-12 · Vivado Design Suite ユーザー ガイド デザイン フローの概要 UG892 (v2018.1) 2018 年 4 月 4 日 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先

付録 A:その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ

らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または

貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わな

い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に

は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の

損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で

あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に

含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま

せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一

定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件

に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を

使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。

自動車用のアプリ ケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2012-2018 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 AMBA、 AMBA Designer、 ARM、

ARM1176JZ-S、 CoreSight、 Cortex、 PrimeCell、 および MPCore は、 EU およびその他各国の ARM 社の商標です。 MATLAB および Simulink は、 MathWorks, Inc. の登録商標です。 OpenCL および OpenCL のロゴは Apple Inc. の商標であ り、 Khronos による許可を受け

て使用されています。 すべてのその他の商標は、 それぞれの保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

デザイン  フローの概要 95UG892 (v2018.1) 2018 年 4 月 4 日 japan.xilinx.comUG892 (v2018.2) 2018 年 6 月 6 日