vivado design suite - xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン...

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

Upload: others

Post on 10-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

Vivado Design Suite ユーザー ガイド

デザイン フローの概要

UG892 (v2016.1) 2016 年 4 月 6 日

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

Page 2: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

改訂履歴

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

日付 バージョ ン 改訂内容

2016 年 4 月 6 日 2016.1 Vivado Design Suite 2016.1 リ リースに併せてアップデート。 「業界標準に基づいたデザイン」 にVHDL-2008 を追加。 「Vivado IDE の起動」 に 「Vivado Design Suite QuickTake ビデオ : Vivado IDE 入門」 を追加。 「 リ ビジ ョ ン管理システム」 および 「 リ ビジ ョ ン管理システムの使用」 .で QuickTake ビデオのタイ トルを 「Vivado Design Suite でのリ ビジ ョ ン管理の使用」 に変更。 「ロジッ ク シ ミ ュレーシ ョ ンの実行」 に Aldec および Enterprise ユーザー向けの情報をを追加。 「出力ファイルの生成」 にコア コンテナーの情報を追加。 「DRC、 消費電力、 リ ソース使用率の解析」 に report_design_analysis コマンドを追加。

Page 3: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

目次

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

第 1 章 : 概要概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Vivado Design Suite の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

システム レベルのデザイン フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

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

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

ザイ リ ンクス プラ ッ ト フォーム ボード フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

I/O ピン プランニングおよびフロアプラン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

デザイン解析および検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

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

パーシャル リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

階層デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 2 章 : 使用モデルプロジェク ト モード と非プロジェク ト モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Tcl の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Vivado IDE の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

リ ビジ ョ ン管理システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

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

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

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

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

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

Flow Navigator の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

システム レベルのデザイン入力の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

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

I/O ピン プランニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

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

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

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

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

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

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

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

デザイン フローの概要 3UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 4: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

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

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

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

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

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

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

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

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

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

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

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

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

デザイン フローの概要 4UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 5: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章

概要

概要

Vivado® Design Suite では、 ザイ リ ンクス FPGA のデザインおよび検証に関するタスクを、 さまざまな方法で達成できます。 従来からの RTL からビッ ト ス ト リームまでの FPGA デザイン フローに加え、 Vivado Design Suite では IP 中心のデザインに焦点を置いたシステム レベルの統合フローを提供しています。 Vivado IP インテグレーター環境を使用する と、 さまざまな IP をインスタンシエート、 コンフ ィギュレーシ ョ ン、 および IP サブシステム ブロ ッ ク デザインにインタラ クティブに接続できます。 カスタム IP および IP ブロ ッ ク デザインをコンフ ィギュレーシ ョ ンしてパッケージにし、 Vivado IP カタログから使用するこ と もできます。 デザインの解析および検証は、 フローの各段階で実行できます。 デザイン解析機能には、 ロジッ ク シ ミ ュレーシ ョ ン、 I/O およびクロ ッ ク プランニング、 消費電力解析、 制約定義、 タイ ミ ング解析、 デザイン ルール チェッ ク (DRC)、 デザイン ロジッ クの表示、 インプリ メンテーシ ョ ン結果の解析と変更、 プログラムおよびデバッグなどがあ り ます。

ソ リ ューシ ョ ン全体は、 Vivado 統合設計環境 (IDE) という グラフ ィカル ユーザー インターフェイス (GUI) に統合されています。 Vivado IDE では、 デザインおよび IP を作成、 インプリ メン ト 、 および検証するインターフェイスが提供されています。また、すべてのフローは Tcl コマンドを使用しても実行できます。Tcl コマンドは Vivado IDE の Tcl コンソールまたは Vivado Design Suite Tcl シェルから使用できます。 Tcl スク リプ ト を使用して、 デザイン解析を含むデザイン フロー全体を実行したり、 フローの一部のみを実行できます。

Vivado Design Suite の機能

Vivado Design Suite は、 さまざまなデザイン タイプに使用できます。 ツール フローおよび機能は、 デザインのタイプによって異なり ます。 「システム レベルのデザイン フロー」 に、 Vivado Design Suite で使用可能な主な機能を示します。

デザイン フローの概要 5UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 6: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

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

図 1-1 に、 Vivado Design Suite での全体的なデザイン フローを示します。

X-Ref Target - Figure 1-1

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

デザイン フローの概要 6UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 7: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

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

Vivado Design Suite は、 IP をスタンドアロンのモジュールと して、 またはシステム レベル デザインの一部と して設定、 インプ リ メン ト 、 検証、 および統合するための環境を提供します。 IP には、 エンベデッ ド プロセッサ、 DSP デジタル信号処理モジュール、 C ベースのアルゴ リズム デザインなども含まれます。 カスタム IP は IP-XACT プロ ト コルに従ってパッケージされ、 Vivado IP カタログから使用できます。 IP は IP カタログからすばやくアクセスでき、 コンフ ィギュレーシ ョ ン、 インスタンシエーシ ョ ン、 検証できます。 ザイ リ ンクス IP では AXI4 インターコネク ト標準が使用され、 よ り高速なシステム レベルの統合ができるよ うになっています。 既存の IP は、 RTL またはネッ ト リス トのどちらかの形式のデザインで使用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] を参照してください。

注記 : ISE フォーマッ ト IP (.ngc) は UltraScale™ デバイス デザインではサポート されなくな り ました。

RTL またはネッ ト リス トからデバイス プログラムまでのデザイン フロー

Vivado Design Suite では、 さまざまなデザイン フローをサポートするためにさまざまなデザイン入力方法が使用できます。

• RTL フロー

Vivado 合成およびインプリ メンテーシ ョ ンでは、 Verilog、 VHDL、 SystemVerilog、 および XDC などの複数のソース ファイルの種類がサポート されます。 また、 Vivado HLS を使用して、 C ベーエスのソースを使用してデザイン部分をコンパイルするこ と もできます。

• サードパーティ合成フロー

Vivado 合成で EDIF または構造型 Verilog などのサードパーティ合成ソースがサポート されます。 SDC ソースもサポート されます。 XDC コンス ト ラ ク ト を使用するこ とをお勧めします。 Vivado IP は Vivado 合成を使用して合成されます。 Vivado Design Suite IP ソースは、 通常サードパーティ合成ツールでは合成できませんが、 7 シ リーズ用のメモ リ IP コアなどの例外もあ り ます。

主なデザイン フローは次のとおりです。

• Vivado 合成

• Vivado インプリ メンテーシ ョ ン

• Vivado タイ ミ ング解析

• Vivado 消費電力解析

• ビッ ト ス ト リーム生成

これらの機能は、 集積度を増加、 デザインのパフォーマンスを向上、 実行時間を削減するよ うに設計されています。Vivado 合成およびインプリ メンテーシ ョ ン機能はタイ ミ ング ド リブンであ り、 SDC または XDC 形式の制約を使用します。 デザイン プロセスの各段階で、 さまざまなレポートおよび解析機能を使用できます。 Vivado IDE を使用、バッチ Tcl スク リプ ト を使用、 Vivado Design Suite Tcl シェルまたは Vivado IDE の Tcl コンソールに Tcl コマンドを入力するこ とによ り、 フロー全体を実行できます。 デザイン結果を改善するには、 複数の run を作成してさまざまな合成またはインプ リ メンテーシ ョ ン オプシ ョ ン、 タイ ミ ングおよび物理制約、 またはデザイン コンフ ィギュレーシ ョンを試してみます。

Vivado Design Suite は、 デザイン プロジェク ト を使用して、 デザイン プロセス全体を設定および管理します。 ソース、 デザイン コンフ ィギュレーシ ョ ンおよび run の結果は、 Vivado Design Suite プロジェク ト内に保存され、 管理されます。 デザイン ステータスに、 ソース ファ イルがアップデート された場合や run 結果が 新でなくなった場合など、 ステータスの変更が示されます。 Vivado IDE では、 合成およびインプリ メンテーシ ョ ン中に標準的なレポート、ツールのメ ッセージ、 ログが生成されて表示されます。 インプリ メンテーシ ョ ンでは、 Vivado 消費電力 適化、Vivado 物理 適化、 および run ス ト ラテジなど、 デザイン ク ロージャを達成するためのアドバンス オプシ ョ ンを使用できます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] および 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904) [参照 3] を参照してください。

デザイン フローの概要 7UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 8: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

IP サブシステム デザイン

Vivado IP インテグレーター環境では、AMBA AXI4 インターコネク ト プロ ト コルを使用してさまざまな IP を IP サブシステムに統合できます。 ブロ ッ ク デザイン形式のインターフェイスを使用して IP をインタラ クティブに設定および接続しでき、 回路図のよ うなインターフェイスで DRC に準拠した正しい接続を描画するこ とによ り、 インターフェイス全体を簡単に接続できます。 標準インターフェイスを使用する と、 従来の RTL ベースの接続に比べ、 IP を接続するのにかかる時間を短縮できます。 コネクシ ョ ン オート メーシ ョ ン機能および DRC セッ ト を使用するこ とによ り、 適切な IP コンフ ィギュレーシ ョ ンおよび接続が可能です。 これらの IP ブロ ッ ク デザインは、 この後検証され、 パッケージされて、 1 つのデザイン ソース と して処理されます。 ブロ ッ ク デザインは、 デザイン プロジェク トで使用したり、 ほかのプロジェク ト と共有できます。 IP インテグレーター環境は、 エンベデッ ド デザインおよびザイ リ ンクス評価ボード インターフェイスのメ イン インターフェイスです。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 4] を参照してください。

エンベデッ ド プロセッサ ハードウェア デザイン

エンベデッ ド プロセッサはソフ ト ウェアが効率的にブートおよび実行されるこ とを要件とするので、 ソフ ト ウェア デザイン フローはハードウェア デザイン フローと合わせて実行する必要があ り ます。 問題なく動作するよ うにするためには、 異なるデータ ハンドオフ ポイン トおよび 2 つのド メ イン間の検証が重要となり ます。 エンベデッ ド プロセッサ ハードウェア デザインを作成するには、 Vivado Design Suite の IP インテグレーターを使用します。 Vivado IP インテグレーター ブロ ッ ク デザインでは、 ユーザーがプロセッサ コアとそのインターフェイスをインスタンシエート、 コンフ ィギュレーシ ョ ン、 アセンブルします。 接続は確実に規則に従ったものとな り、 設計アシスタンスが提供されます。 インプ リ メンテーシ ョ ンによ りデザインがコンパイルされたら、 ザイ リ ンクス ソフ ト ウェア開発キット (SDK) にエクスポート して、 ソフ ト ウェア開発および検証フローに使用します。 シ ミ ュレーシ ョ ンおよびデバッグ機能を使用する と、 2 つのド メ イン間でデザインをシ ミ ュレーシ ョ ンおよび検証できます。 エンベデッ ド プロセッサ デザインの詳細は、 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898) [参照 5] および 『Vivado Design Suite チュート リ アル : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940) [参照 6] を参照してください。

重要 : Vivado IP インテグレーター は、 Zynq®-7000 All Programmable SoC および MicroBlaze™ プロセッサをターゲットにするデザインを含めたエンベデッ ド プロセッサ デザイン用の Xilinx Platform Studio (XPS) に代わるものです。XPS は Vivado Design Suite とは統合されなくな り ました。

ビデオ : Vivado IP インテグレーターとエンベデッ ド プロセッサ デザイン フローの ト レーニング ビデオは、 Vivado Design Suite QuickTake ビデオ: Vivado IP インテグレーターを使用したデザインおよび Vivado Design Suite QuickTake ビデオ: Vivado IP インテグレーターを使用した Zynq デバイスの設計を参照してください。

モデル ベースおよび高位合成ベースの DSP デザイン

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

Vivado Design Suite は、 ザイ リ ンクスの System Generator ツールと直接統合されており、 DSP ファンクシ ョ ンをインプ リ メン トするためのソ リ ューシ ョ ンを提供しています。 DSP モジュールは、 Vivado IDE に統合され、 管理されます。 編集する DSP ソースを選択する と、 System Generator が自動的に起動します。 System Generator をスタンドアロン ツールと して実行し、 その結果の出力ファイルを Vivado IDE のソース ファ イルと して使用するこ と もできます。詳細は、『Vivado Design Suite ユーザー ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG897) [参照 7] を参照してください。

デザイン フローの概要 8UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 9: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

高位合成を使用した DSP デザイン

Vivado Design Suite の C ベースの高位合成ツール (Vivado HLS) を使用する と、 C、 C++、 System C 言語を使用してデザインのさまざまな DSP ファンクシ ョ ンを記述するこ とができます。 C コードは Vivado HLS (高位合成) ツールで作成および検証して、 さまざまなパラ メーターを試してパフォーマンスおよびエリ アを 適化できます。 デザインは、C ベースのシ ミ ュレーシ ョ ンを使用してすばやく検証し、 RTL シ ミ ュレーシ ョ ン テス トベンチを作成できます。 C から RTL への合成では、 C ベース デザインが RTL モジュールに変換されるので、 それをパッケージして、 残りのデザインと一緒にインプ リ メンテーシ ョ ンできます。 この後、 このモジュールを RTL デザインまたは Vivado IP インテグレーター内にインスタンシエートできます。 Vivado HLS ツール フローおよび機能の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 高位合成』 (UG902) [参照 8] および 『Vivado Design Suite チュート リ アル : 高位合成』 (UG871) [参照 9] を参照してください。

ビデオ : Vivado HLS に関するさまざまな ト レーニング ビデオは、 ザイ リ ンクス ウェブサイ トの Vivado Design Suite QuickTake ビデオ チュート リ アル ページから視聴できます。

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

Vivado Design Suite では、 ザイ リ ンクス IP カタログから追加された IP コアおよび Vivado IP インテグレーターで作成されたブロ ッ ク デザインの合成にデフォルトでアウ ト オブ コンテキス ト (OOC) デザイン フローが使用されます。OOC フローでは、 階層デザインのデザイン モジュール、 IP コア、 またはブロ ッ ク デザインを 上位デザインからは独立させて合成、 インプ リ メン ト 、 解析できます。 OOC フローを使用する と、 デザイン サイ クル時間が短縮され、 デザインの反復実行回数が削減されて、 完成したモジュールの合成およびインプリ メンテーシ ョ ン結果をデザイン チェッ クポイン ト (DCP) ファ イルに保存できます。 ザイ リ ンクス IP カタログからデザインに追加した IP コアには、 『Vivado Design Suite ユーザー ガイ ド : IP を使用したデザイン』 (UG896) [参照 1] の 「IP の合成オプシ ョ ン」 に示すよ うに、デフォルトでアウ ト オブ コンテキス ト フローが使用されます。 Vivado IP インテグレーターで作成されたブロ ッ ク デザインの場合も、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 4] の 「出力ファイルの生成」 に示すよ うに、 出力ファイルの生成時にデフォルトで OOC フローが使用されます。

Vivado Design Suite では、 デザインのグローバル合成およびインプリ メンテーシ ョ ンがサポート され、 すべてのモジュール、 ブロ ッ ク デザインおよび IP コアが統合された 上位デザインの一部と して処理できます。 OOC フローでは、 特定のモジュールをアウ ト オブ コンテキス ト合成するよ うマークし、 それ以外のモジュールは 上位デザインのグローバル合成に含めるこ とができます。 Vivado IP インテグレーターからのブロ ッ ク デザインの場合、 ブロ ック デザイン全体を OOC モジュールと して指定したり、ブロ ッ ク デザインで使用される IP すべてをアウ ト オブ コンテキス トに指定したりできます。 Vivado 合成でも、 OOC モジュールの合成結果が再利用できるよ うにキャ ッシュまたはリポジ ト リに保存されるので、 同じ IP カスタマイズの複数インスタンスに同じ結果を使用して、 大型の複雑なデザインの合成時間を短縮できます。

OOC モジュールは、 合成したデザインを開いてすべてのエレ メン トがアセンブルされるまでは、 上位デザインでブラ ッ ク ボッ クス と して表示されます。 上位の合成デザインを開く前には、 上位デザインのリ ソース使用量および解析に OOC モジュール (ブラ ッ ク ボッ クス) の情報が含まれないので、デザインの完全なビューは提供されません。 よ り正確なレポート を取得するには、 統合された OOC モジュールがすべて含まれる 上位の合成済みデザインを開いて解析してください。

アウ ト オブ コンテキス ト フローは、 Vivado 合成、 インプリ メンテーシ ョ ン、 および解析でサポート されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] のこのセクシ ョ ンを参照してください。 これは、『Vivado Design Suite ユーザー ガイ ド : 階層デザイン』 (UG905) [参照 10] に示すよ うに、階層設計手法およびチーム デザイン アプローチにも使用されます。

デザイン フローの概要 9UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 10: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

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

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

• Tcl

• AXI4、 IP-XACT

• 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 には多くのサードパーティ ツールが統合されています。

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

Vivado Design Suite では、 既存のザイ リ ンクス評価プラ ッ ト フォーム ボードをデザインのターゲッ ト と して選択できます。 プラ ッ ト フォーム ボード フローでは、 ターゲッ ト ボードにインプリ メン ト されたすべての IP インターフェイスにアクセス可能で、 デザインで使用される IP をすばやく選択およびコンフ ィギュレーシ ョ ンできます。 IP コンフ ィギュレーシ ョ ン パラ メーターと、 I/O 規格およびパッケージ ピン制約などの物理ボード制約は、 このフローを通して自動的に割り当てられます。 コネクシ ョ ン オート メーシ ョ ンを使用する と、 選択した IP への接続をすばやく実行できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

I/O ピン プランニングおよびフロアプラン Vivado IDE には I/O ピン プランニング環境が含まれており、 デバイス パッケージ ピンまたは内部ダイ パッ ドに I/O ポート を正し く割り当てるこ とができます。 Vivado ピン プランナー ツールのビューおよび表を使用する と、 デバイスおよびデザインに関する I/O データを解析できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

Vivado IDE には、 インプリ メンテーシ ョ ン結果の改善に役立つアドバンス フロアプラン機能が提供されています。これには、 指定したロジッ クを特定エリ ア内に強制的に配置したり、 特定の配置または配線を次の run のためにインタラ クティブに固定したりする機能が含まれます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

デザイン解析および検証

Vivado IDE では、 デザイン プロセスの各段階でデザインを解析、 検証、 変更できます。 回路のパフォーマンスは、デザイン プロセスで中間結果を解析する と改善できます。 この解析は、 RTL エラボレーシ ョ ン、 合成、 およびインプ リ メンテーシ ョ ンの後に実行できます。

デザイン フローの概要 10UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 11: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

Vivado シ ミ ュレータを使用する と、 デザインの各段階でビヘイビアーおよび構造ロジッ ク シ ミ ュレーシ ョ ンを実行できます。 このシ ミ ュレータでは、 Verilog および VHDL 混合モードのシ ミ ュレーシ ョ ンがサポート され、 結果が Vivado IDE の波形ビューアーに表示されます。 サードパーティ シ ミ ュレータを使用するこ と もできます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 14] を参照して ください。

結果は、 Vivado IDE のデザイン プロセスの各段階でインタラ クティブに解析できます。 デザインおよび解析機能には、 タイ ミ ング解析、 消費電力予測および解析、 デバイス使用量統計、 デザイン ルール チェッ ク (DRC)、 I/O ピン プランニング、 フロアプラン、 インタラ クティブな配置配線解析などがあ り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

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

インプ リ メンテーシ ョ ン後には、 Vivado Lab Edition 環境でデバイスをプログラムおよび解析できます。 デバッグ信号は RTL でまたは合成後に特定でき、 フローを通して処理されます。 デバッグ コアはコンフ ィギュレーシ ョ ンして RTL、 合成済みネッ ト リ ス ト 、 インプ リ メン ト済みデザインのいずれかに挿入できます。 Vivado ロジッ ク解析を使用する と、 ハード ウェア検証も実行できます。 このインターフェイスには、 Vivado シ ミ ュレータ と同じ波形ビューアーが使用されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 15] を参照してください。

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

パーシャル リ コンフ ィギュレーシ ョ ン フローでは、 デバイスの動作中にデザインの一部を リ コンフ ィギュレーシ ョンできます。 このフローでは、 パーシャル ビッ ト ス ト リームのアップデート中にグ リ ッチを発生させないよ うにリコンフ ィギャラブル モジュールを適切にデザインするための比較的厳しいデザイン プロセスが必要になり ます。 リコンフ ィギャラブル モジュールは、 予測どおりに機能し、 高のパフォーマンスを得られるよ うにするために、 適切にプランニングしておく必要があ り ます。 プランニングには、 モジュールへのインターフェイス信号数の削減、適切なフロアプラン、 モジュール ピン配置、 パーシャル リ コンフ ィギュレーシ ョ ン DRC の遵守などが含まれます。デバイスのプラグラム方法も I/O ピンが適切に割り当てられるよ うにするために適切にプランニングしておく必要があ り ます。詳細は、『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 16] および 『Vivado Design Suite チュート リ アル : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947) [参照 17] を参照してください。

ビデオ : パーシャル リ コンフ ィギュレーシ ョ ンの概要は、 Vivado Design Suite QuickTake ビデオ : Vivado Design Suite でのパーシャル リ コンフ ィギュレーシ ョ ンを参照してください。

デザイン フローの概要 11UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 12: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 1 章 : 概要

階層デザイン

Vivado には、 階層デザイン手法を可能にする機能が複数あ り ます。 Vivado IDE およびその資料で使用されるアウ ト オブ コンテキス ト (OOC) という用語は、 ロジッ ク モジュールを 上位デザインから独立させてスタンドアロンで合成またはインプ リ メンテーシ ョ ンするこ とを意味します。 デザイン階層レベルを選択し、 それらを OOC で合成できます。 モジュール レベルの制約を適用する と、 モジュール パフォーマンスを 適化して検証できます。 この後、 モジュール ネッ ト リ ス トがインプリ メンテーシ ョ ン中に適用されます。 この方法を使用する と、 上位の合成時間を短縮できます。 モジュールは、 インプリ メン ト済み OOC および 上位インプリ メンテーシ ョ ン中に再利用される結果にするこ と もできます。 この場合は、 適切なモジュール インターフェイス デザイン、 制約定義、 フロアプラン、およびいくつかの特別コマンド とデザイン手法を使用する必要があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 階層デザイン』 (UG901) [参照 10] を参照してください。

デザイン フローの概要 12UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 13: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章

使用モデル

プロジェク ト モード と非プロジェク ト モード

Vivado® Design Suite では、 プリ ファレンスによって、 さまざまな方法でツールを実行できます。 Vivado Design Suite では、 プロジェク ト ベースのアーキテクチャの利点を生かして、 デザインがアセンブル、 インプリ メン ト 、 および管理されます。 これは、 「プロジェク ト モード」 と呼ばれます。 プロジェク トに基づく方法を使用して、 デザイン プロセスおよびデザイン データが自動的に管理されるよ うにするこ とができます。 プロジェク ト モードの場合、ディ スク上にプロジェク ト ファ イルとプロジェク ト ディ レク ト リ構造が作成され、それを利用してデザイン ソース ファ イルが管理され、 合成およびインプリ メンテーシ ョ ン run の結果が格納されて、 プロジェク ト ステータスが記録されます。

プロジェク ト モードでは、 run を使用して合成およびインプリ メンテーシ ョ ン プロセスの自動化が管理され、 run ステータスが監視されます。 デザイン フロー全体を Vivado IDE で 1 回ク リ ッ クするだけで実行できます。 フロー全体は、 Tcl コマンドを使用してスク リプ ト記述するこ と もできます。 プロジェク トの使用方法は、 第 3 章 「プロジェクト モードの使用」 を参照してください。

一方、 Tcl スク リプ ト ベースのコンパイル方法を使用する と、 ソースやデザイン プロセスをユーザーが管理できます。 この方法は、 「非プロジェク ト モード」 と呼ばれます。 非プロジェク ト モードでは、 各セッシ ョ ン後にイン メモ リ プロジェク トが削除され、 Tcl コマンドで指定したデータのみがディ スクに書き込まれます。 これがプロジェクト モード と非プロジェク ト モードの基本的な違いです。 このモードでは、 ソースが現在の場所から読み込まれ、 デザインがメモ リ内でコンパイルされます。 Tcl コマンドを使用し、 デザイン パラ メーターおよびインプリ メンテーシ ョ ン オプシ ョ ンを設定して、 各手順を個別に実行する必要があ り ます。 デザイン プロセスのどの段階でも、 Tcl を使用してデザイン チェッ クポイン ト を保存し、 レポート を生成できます。 また、 各デザイン段階で、 デザインの解析および制約の設定を実行するために Vivado IDE を開く こ とができます。 アクティブ デザインはメモ リ内にあり、 加えた変更は自動的にその後のフローに渡されます。 たとえば、 アップデート した内容は、 新規制約ファイルまたはデザイン チェッ クポイン トに保存できます。 非プロジェク ト モードの詳細は、 第 4 章 「非プロジェク ト モードの使用」 を参照してください。

注記 : ソース ファ イルと run 結果の管理、 デザインおよびツール設定の保存、 デザイン ステータス、 IP 統合などのプロジェク ト モードの機能の一部は、 非プロジェク ト モードでは使用できません。

ヒン ト : プロジェク トは、 使用モデルに関係なく常にイン メモ リで作成されます。

ヒン ト : どちらのモード も、 Tcl スク リプ ト を使用したバッチ モードで、 または Vivado IDE でインタラ クティブに実行できます。

デザイン フローの概要 13UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 14: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

機能の違い

プロジェク ト モードでは、 Vivado IDE でデザインの履歴が管理され、 デザインに関する情報が保存されますが、 機能の多くは自動化されているので、 ユーザーの制御できるこ とは少なくな り ます。 たとえば、 各 run に対してレポート ファ イルの標準セッ トのみが生成されます。 次の自動化機能は、 プロジェク ト モードを使用した場合にのみ使用できます。

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

• 統合メ ッセージおよび標準レポートの自動生成

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

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

• 制約セッ トの使用および管理

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

• Flow Navigator

• プロジェク ト サマリ

非プロジェク ト モードでは、 Tcl コマンドを使用して各アクシ ョ ンを実行するコンパイル スタイル手法が使用されます。 すべての処理はメモ リ内で実行され、 ファ イルやレポートは自動的には生成されません。 このため、 デザインをコンパイルするたびに、 ソースの定義、 ツールおよびデザイン設定パラ メーターの設定、 すべての Tcl コマンドの実行、 必要なレポート ファ イルの生成を実行する必要があ り ます。 これには、 Tcl スク リプ ト を使用できます。ディ スク上にプロジェク トは作成されないので、 ソース ファ イルは元の場所に配置されたままになり、 デザイン出力は指定したと きにのみ指定した場所に作成されます。 この方法では、 Tcl コマンドの優れた機能をすべて活用でき、 デザイン プロセス全体を完全に制御できます。 ユーザーの多くが、 ツールとデザイン データの操作にこのバッチ コンパイル スタイル手法を使用しています。

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

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

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

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

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

フローのカスタマイズ 制限あ り 制限なし

レポート 自動 手動

解析段階 デザインのみ デザインおよびデザイン チェッ クポイン ト

デザイン フローの概要 14UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 15: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

コマンドの違い

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-1 に、 プロジェク ト モード と非プロジェク ト モードの Tcl コマンドの違いを示します。

デザイン フローの概要 15UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 16: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

X-Ref Target - Figure 2-1

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

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

X12974

デザイン フローの概要 16UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 17: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

Tcl の使用

すべてのフローは Tcl コマンドを使用して実行できます。 Tcl スク リプ ト を使用して、 デザイン解析レポート を含むデザイン フロー全体を実行したり、 フローの一部のみを実行できます。 Tcl を直接使用する場合は、 Tcl コマンドで次のいずれかの方法を使用してデザインを処理します。

• Vivado IDE 環境外で Vivado Design Suite Tcl シェルに Tcl コマンドを入力します。

• Vivado IDE の一番下の Tcl コンソールに Tcl コマンドを入力します。

• Vivado Design Suite Tcl シェルから Tcl スク リプ ト を実行します。

• Vivado IDE から Tcl スク リプ ト を実行します。

Tcl および Tcl スク リプ トに関する情報は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 18] および 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照してください。Vivado ツールでの Tcl の使用方法の詳細は、 『Vivado Design Suite チュート リ アル : デザイン フローの概要』 (UG888) [参照 20] を参照して ください。 プロジェク ト モードまたは非プロジェク ト モードを使用した Tcl ベースのアプローチに関する詳細は、 第 3 章 「プロジェク ト モードの使用」 または第 4 章 「非プロジェク ト モードの使用」 を参照してください。

Vivado Design Suite Tcl シェルの起動

Vivado Design Suite Tcl シェルを起動するには、 Linux コマンド プロンプ ト または Windows コマンド プロンプ トに次のよ うに入力します。

vivado -mode tcl

注記 : Windows の場合、 [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2016.x] → [Vivado 2016.x Tcl Shell] をク リ ッ ク しても起動できます。

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

Vivado ツールを起動したと きに Tcl スク リプ ト を実行する と、 ツールをバッチ モードでツールを使用できます。Linux コマンド プロンプ ト または Windows コマンド プロンプ トに次のよ うに入力します。

vivado -mode batch -source <your_Tcl_script>

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

Tcl フローでの Vivado IDE の使用

Tcl を使用する場合でも、 Vivado IDE でのインタラ クティブな GUI ベースの解析および制約定義機能を利用できます。 第 4 章の 「Vivado IDE を使用したデザイン解析」 に示すよ うに、 デザイン サイクルのどの段階でも Vivado IDE でデザインを開く こ とができます。 また、 第 4 章の 「デザイン チェッ クポイン トの使用」 に示すよ うに、 デザイン チェッ クポイン ト もどの段階ででも保存して、 Vivado IDE で後で開く こ とができます。

ザイリンクス Tcl Store の使用

ザイ リ ンクス Tcl Store は、 Tcl コードのオープン ソース リ ポジ ト リで、 主に Vivado Design Suite を使用した FPGA デザイン用に設計されています。 Tcl Store を使用する と、 ユーザーから提供されたさまざまな問題を解決して生産性を改善するスク リプ トおよびユーティ リ ティにアクセスできます。 Tcl スク リプ トはインス トールできるほか、 ほかのユーザーと共有するためにリ リースするこ と もできます。 Tcl スク リプ トおよびザイ リ ンクス Tcl Store の詳細は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 18] を参照して ください。

デザイン フローの概要 17UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 18: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

Vivado IDE の起動

Vivado IDE では、 デザインおよび IP を作成、 インプリ メン ト 、 および検証するインターフェイスが提供されています。 プロジェク ト モードの場合、 Vivado IDE ですべてのデザイン ソース、 コンフ ィギュレーシ ョ ン、 結果を管理するプッシュ ボタンのデザイン フローがサポート されています。 Vivado IDE では、 デザインを メモ リ内で開く こ とによ り、 デザイン フローを通して制約の割り当ておよび解析を実行できます。 デザインを開く と、 デザイン フローの特定段階のデザイン ネッ ト リ ス トが読み込まれ、 制約が割り当てられ、 デザインがターゲッ ト デバイスに適用されます。 これによ り、 各段階でデザインを視覚化して処理できます。 デザインは RTL エラボレーシ ョ ン後、 合成後、またはインプ リ メンテーシ ョ ン後に開く こ とができ、 制約、 ロジッ クまたはデバイス コンフ ィギュレーシ ョ ン、 およびインプ リ メンテーシ ョ ン結果に変更を加えるこ とができます。 また、 デザイン チェッ クポイン ト を使用して、デザインの現在の状態を保存できます。Vivado IDE の詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 21] および 『Vivado Design Suite チュート リ アル : デザイン フローの概要』 (UG888) [参照 20] を参照してください。

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

推奨 : Vivado IDE はプロジェク ト作業ディ レク ト リから起動して ください。 これによ り、 起動ディ レク ト リに書き込まれるプロジェク ト ファ イル、 ログ ファ イル、 ジャーナル ファ イルが見つけやすくな り ます。

Windows での Vivado IDE の起動

[スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2016.x] → [Vivado 2016.x] をク リ ッ ク します。

注記 : または、 デスク ト ップの 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 を実行します。

X-Ref Target - Figure 2-2

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

デザイン フローの概要 18UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 19: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

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

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

start_gui

リビジ ョ ン管理システム

さまざまなデザイン設定およびリ ビジ ョ ンを保存するのには、 ソース管理システムを使用するのが一般的です。RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、Bitkeeper などのシステムがよ く利用されていますが、 Vivado ツールはどのシステムにも対応できます。 通常リ ビジ ョ ン管理が必要なのは、 フローで使用および作成される Vivado ツールの入力および出力ファイルです。 リ ビジ ョン管理ソフ ト ウェアの使用方法は、 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 22] のこのセクシ ョ ンを参照してください。

ビデオ : Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite QuickTake ビデオ : Vivado でのリ ビジ ョ ン管理の使用を参照して ください。

推奨 : 実行スク リプ トやツール設定も リ ビジ ョ ン管理用にチェッ ク インする必要があ り ます。 この情報は、write_project_tcl コマンドを使用して Tcl スク リプ トに記述できます。 init.tcl は write_project_tcl で記述されたスク リプ トには含まれないため、 これもチェッ ク インする必要があ り ます。 これらすべてのファ イルをチェ ッ ク インしたら、 現在のソースおよびツール コンフ ィギュレーシ ョ ン設定を使用してデザインを再生成できます。

PCB 設計との関係

I/O プランニング プロセスは、 高システム パフォーマンスを達成するために重要です。 プリ ン ト回路基板 (PCB) 設計者は通常、 PCB 上での FPGA デバイスの関係と向きを考慮する必要があ り、 高集積のボール グ リ ッ ド アレイ (BGA) デバイスの配線は、 PCB 設計者には も困難な課題です。 重要なインターフェイス配線、 電源とレールの位置、 シグナル インテグ リティ も課題事項です。 FPGA 設計者と PCB 設計者が密に協力し合う こ とが、 こ ういった課題事項の解決につながり ます。 Vivado IDE を使用する と、 システム レベルのインターコネク ト を 適化するために、物理パッケージ ピンと内部ダイ パッ ド間の関係を視覚化できます。

Vivado Design Suite には、 FPGA、 PCB、 システム デザインのそれぞれの領域間でデザイン情報を渡す方法が複数含まれます。 I/O ピン コンフ ィギュレーシ ョ ンは、 CSV スプレッ ドシート、 RTL ヘッダー、 または XDC ファ イルを使用して渡すこ とができます。 CSV スプレッ ドシートには、 長さを一致させた接続および電源接続などのさまざまな PCB デザイン タスクに使用可能な、 追加のパッケージおよび I/O 情報が含まれます。 IBIS (I/O Buffer Information Specification) モデルも Vivado IDE からエクスポート して、 PCB でのシグナル インテグ リ ティ解析に使用できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

デザイン フローの概要 19UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 20: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 2 章 : 使用モデル

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

ザイ リ ンクスでは、 複数のサードパーティ デザイン ツールのサプライヤーと提携しています。 次のソフ ト ウェア ソリ ューシ ョ ンには、 合成およびシ ミ ュレーシ ョ ン ツールのみが含まれます。

ロジック合成の実行

Vivado Design Suite では、 Synopsys 社および Mentor Graphics 社から提供されるザイ リ ンクス FPGA ロジッ ク合成ツールの使用がサポート されています。 Vivado Design Suite では、 構造 Verilog または EDIF 形式の合成済みのネッ ト リ スト をインポート して、 インプ リ メンテーシ ョ ンに使用できます。 また、 Vivado Design Suite では、 ロジッ ク合成ツールから出力される制約 (SDC または XDC) を使用するこ と もできます。

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

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 形式のいずれかのみで提供されるものがあ り ます。合成後、 いずれかの言語で構造型ネッ ト リ ス ト を作成できます。

デザイン フローの概要 20UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 21: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 3 章

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

概要

プロジェク ト モードの場合、 Vivado® Design Suite でプロジェク ト ディレク ト リ構造が作成され、 ソース ファ イル、制約、 IP データ、 合成およびインプリ メンテーシ ョ ン run の結果、 レポート などが自動的に管理されます。 Vivado Design Suite では、 ソース ファ イルのステータス、 コンフ ィギュレーシ ョ ン、 デザインの状態なども管理およびレポート されます。

作成できるのは、 RTL ベースのプロジェク ト 、 または合成済みネッ ト リ ス ト ベースのプロジェク トです。 ネッ ト リス ト プロジェク トは、 サードパーティ合成ツールで主に使用され、 デザイン プロセスは合成後から管理されます。ネッ ト リ ス ト デザインを解析し、 制約を割り当てて管理し、 デザインをインプリ メン ト して解析し、 デバイスをプログラムしてデバッグしたら、 フロー全体でソース と出力を管理できます。

Vivado IDE では、 Flow Navigator (22 ページの図 3-1) を使用する と、 合成およびインプリ メンテーシ ョ ンなどの定義済みデザイン フロー手順を起動できます。 [Generate Bitstream] をク リ ッ クする と、 デザインが合成およびインプ リ メン ト されてから、 ビッ ト ス ト リーム ファ イルが生成されます。 この環境では、 プッシュボタン デザイン フローが提供されるほか、 アドバンスなデザイン管理および解析機能も提供されます。 run はさまざまなインプリ メンテーシ ョン コマンドを統合したラ ッパー Tcl スク リプ トによ り実行され、 自動的に標準レポートが生成されます。 さまざまな run ス ト ラテジを使用するこ とで、 配線密度およびタイ ミ ング ク ロージャなどのさまざまなデザインの問題点を見つけるこ とができます。 同時に複数のインプリ メンテーシ ョ ン run を実行して、 適な結果になるかど うかを確認するこ と もできます。

注記 : run ス ト ラテジは、 プロジェク ト モードにのみで使用できます。 非プロジェク ト モードの場合、 すべての指示子およびコマンド オプシ ョ ンを手動で設定する必要があ り ます。

プロジェク ト モードは Vivado IDE または Tcl コマンド /スク リプ ト を使用して実行できます。 プロジェク ト内で Vivado IDE と Tcl を切り替えて使用するこ と もできます。 Vivado IDE でプロジェク ト を開くか作成する と、 デザインの現在の状態、 run の結果、 生成されたレポートおよびメ ッセージが表示されます。 ソースの作成および変更、 制約の適用、 デバッグ情報の適用、 ツール設定の指定、 デザイン タスクの実行などが可能です。

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

RTL エラボレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ンの後にデザインを開き、 解析および制約の定義を実行できます。 デザインを開く と、 Vivado ツールでターゲッ ト デバイスに対してネッ ト リ ス ト と制約がコンパイルされ、 Vivado IDE でデザインが表示されます。 デザインを開いたら、 さまざまな解析およびレポート機能を使用して、異なる条件や観点からデザインを解析できます。 制約およびデザイン変更を適用して保存するこ と もできます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

デザイン フローの概要 21UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 22: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-1

図 3-1 : Vivado IDE の Flow Navigator

X13346

デザイン フローの概要 22UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 23: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

プロジェク トの作成

Vivado Design Suite では、 デザインの異なる目的に応じてさまざまなプロジェク ト タイプがサポート されています。たとえば、 RTL ソースやサードパーティ合成ツールからの合成済みネッ ト リ ス ト を使用してプロジェク ト を作成できるほか、 空の I/O プランニング プロジェク ト を作成し、 デバイスを調べて早期ピン プランニングを実行するこ ともできます。 Vivado IDE では、 選択したプロジェク ト タイプに関連するコマンドのみが表示されます。

Vivado IDE で Create Project ウ ィザードを使用する と、 プロジェク ト を簡単に作成できます。 ウ ィザードを使用すると、 プロジェク ト名やプロジェク ト を保存するディ レク ト リ、 プロジェク ト タイプ (RTL、 ネッ ト リ ス ト など)、ターゲッ ト パーツなどを定義できます。 RTL、 IP、 XDC/SDC 制約、 シ ミ ュレーシ ョ ン テス トベンチ、 System Generator (XMP) からの DSP モジュール、 Vivado 高位合成 (HLS) からのソース、 デザインに関する文書など、 さまざまなタイプのソースを追加できます。 ソースを追加する際は、 ソースを元の場所から参照するか、 プロジェク ト ディ レク ト リにコピーするかを指定できます。 Vivado Design Suite では各ファイルのタイムスタンプが監視され、 ステータスがレポート されます。 ファ イルが変更される と、 ソースまたはデザインのステータスが 新でなくなったこ とが示されます。詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

注意 : Windows OS にはパス長に 260 文字の制限があ り、 これが Vivado ツールに影響するこ とがあ り ます。 この問題を回避するには、 プロジェク トの作成、 IP プロジェク ト または Manage IP プロジェク トの定義、 ブロ ッ ク デザインの作成をする際に、 できるだけ短い名前とディ レク ト リ名を使用するよ うにしてください。

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

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™ エンベデッ ド サンプル デザインをザイ リ ンクス評価ボードで使用できるよ うにします。

• パーシャル リ コンフ ィギュレーシ ョ ン プロジェク ト : パーシャル リ コンフ ィギュレーシ ョ ンのライセンスをお持ちの場合、 RTL プロジェク トにパーシャル リ コンフ ィギュレーシ ョ ン デザイン フローと コマンドを有効にするオプシ ョ ンが含まれます。

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

プロジェク ト モードの場合、 プロジェク ト構造によ り ソースが管理されます。 Vivado IDE では、 RTL デザイン ソース、 IP シ ミ ュレーシ ョ ン ソース、 制約ソースなどのさまざまな種類のソースが個別に管理され、 ソース セッ ト という コンセプ トによ り複数バージ ョ ンのシ ミ ュレーシ ョ ン セッ ト またはデザイン制約セッ ト を使用できます。 これによ り、 1 つのデザイン プロジェク ト内でさまざまなデザイン制約セッ ト を管理および使用できます。 Vivado IDE では、 シ ミ ュレーシ ョ ンにも同じアプローチを使用して、 モジュール レベルのシ ミ ュレーシ ョ ン セッ トの管理を有効にし、 デザインさまざまな部分をシ ミ ュレーシ ョ ンできます。

ソースを追加する場合は、 リモート ディレク ト リから ソースを参照するか、 ソースをローカルのプロジェク ト ディレク ト リ構造にコピーします。 ソースは、 ネッ ト ワーク接続されているディ レク ト リから も使用できます。 どちら

デザイン フローの概要 23UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 24: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

の方法でも、 Vivado IDE ではファイルのタイム スタンプから、 アップデートがないかど うかが確認されます。 ソース ファ イルを変更する と、 Vivado IDE のプロジェク ト ステータスが変更され、 合成またはインプリ メンテーシ ョ ン run が 新でないこ とが示されます。 読み取り専用の権限しかないソースは、 そのよ うに処理されます。

Vivado IDE にソースを追加する場合、 RTL ファ イルをオプシ ョ ンでスキャンして、 ソース ディレク ト リにある可能性のあるインクルード ファ イルやほかのグローバル ソース ファ イルを検索するよ うにできます。 指定したディ レクト リ またはディ レク ト リ ツ リー内にあるすべてのソース ファ イルの種類を [File] → [Add Sources] で追加できます。Vivado IDE では、 ディ レク ト リおよびその下位ディレク ト リ をスキャンして、 既知のソース タイプに拡張子が一致するファイルをインポート します。

ソース ファ イルがプロジェク トに追加される と、 コンパイル順が自動的に判断され、 [Sources] ウ ィンド ウに表示されます。 これによ り、 不正な形式の RTL やモジュールの欠損などを識別しやすくな り ます。 [Messages] ウ ィンド ウに RTL コンパイルに関する メ ッセージが表示され、 メ ッセージをク リ ッ クする と該当する RTL ソースが表示されます。 また、 ソース ファ イルをイネーブル/ディ スエーブルににして、 コンフ ィギュレーシ ョ ンを制御できます。

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

Vivado Design Suite では、 プロジェク ト を作成する際または非プロジェク ト モードで読み込む際にリモート ソース ファ イルを使用できます。 ソース ファ イルが読み取り専用である場合、 ファ イルはメモ リでコンパイルされますが、元のファイルに変更を保存するこ とはできません。 必要に応じて、 ソース ファ イル ファ イルを別のディ レク ト リに保存できます。

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

Vivado IDE で [File] → [Archive Project] をク リ ッ クする と、 ソース ファ イル、デザイン コンフ ィギュレーシ ョ ン、 run 結果データ (オプシ ョ ン) などを含むプロジェク ト全体の ZIP ファ イルが作成されます。 プロジェク トで リモート ソースが使用される場合、 ファ イルはローカルのプロジェク トにコピーされるので、 アーカイブ プロジェク トにすべてのファイルが含まれます。

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

Vivado IDE で [File] → [Write Project Tcl] をク リ ッ クする と、 ソース ファ イル、 IP、デザイン コンフ ィギュレーシ ョ ンを含むプロジェク ト全体を再作成する Tcl スク リプ ト を作成できます。 このスク リプ ト を、 プロジェク ト ディ レクト リ構造の代わりにソース管理システムにチェッ ク インできます。

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

さまざまなデザイン コンフ ィギュレーシ ョ ンおよびリ ビジ ョ ンを保存するのには、 ソース管理システムを使用するのが一般的です。 RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、Perforce、 Git、 Bitkeeper などのシステムがよ く利用されていますが、 Vivado ツールはどのシステムにも対応できます。 Vivado Design Suite では、 デザイン フローを通してファイルが使用および生成され、 これらを リ ビジ ョ ン管理下で管理するこ とが必要な場合があ り ます。

Vivado Design Suite のプロジェク ト モードを使用する場合、 ソース管理システムの使用が複雑になる可能性があ り ます。 プロジェク ト フォルダーには、 デザイン ソースのコピーが保持され、 独自の方法でデザインが管理されますが、 プロジェク トはリ ビジ ョ ン管理システムで管理できます。 リ ビジ ョ ン管理ソフ ト ウェアの詳細は、 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 22] のこのセクシ ョ ンを参照してください。

ビデオ : Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite QuickTake ビデオ : Vivado Design Suite のリ ビジ ョ ン管理の使用を参照してください。

デザイン フローの概要 24UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 25: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

Flow Navigator の理解

Flow Navigator (図 3-2) では、 プロジェク トの設定、 合成、 インプリ メンテーシ ョ ン、 ビッ ト ス ト リームの生成などの主なデザイン プロセス タスクを制御します。 Flow Navigator で使用可能なコマンドおよびオプシ ョ ンは、 デザインのステータスによって異なり ます。 必要なデザイン タスクが終了するまで、 実行できない手順は淡色表示されます。

X-Ref Target - Figure 3-2

図 3-2 : Flow Navigator

デザイン フローの概要 25UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 26: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

サードパーティ ネッ ト リ ス ト を使用して作成されたプロジェク トの場合、 Flow Navigator が異なり ます (図 3-3)。 たとえば、 システム レベル デザイン入力、 IP、 合成オプシ ョ ンなどは使用できません。

これらのデザイン タスクが完了したら、 デザイン結果を開き、 解析したり、 制約を適用したりできます。 これには、Flow Navigator で [Open Elaborated Design]、 [Open Synthesized Design]、または [Open Implemented Design] をク リ ッ ク します。 詳細は、 「デザイン解析および制約定義の実行」 を参照してください。

デザインを開く と、 デザイン フローに適したよ く使用されるコマンドのセッ トが Flow Navigator に表示されます。Flow Navigator でこれらのコマンドをク リ ッ クする と、 既に開いていない場合はデザインが開き、 操作が実行されます。 27 ページの図 3-4 に合成に関連するコマンドを示します。

X-Ref Target - Figure 3-3

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

デザイン フローの概要 26UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 27: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

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

Vivado IDE の [Sources] ウ ィンド ウ (図 3-5) では、 ソース ファ イルが自動的に管理されます。 このウ ィンド ウには複数のビューがあ り、 さまざまな方法でソースが表示されます。 プロジェク ト を開くか、 変更する と、 [Sources] ウ ィンド ウでそのプロジェク ト ソースのステータスがアップデート されます。 デザイン ソースがすばやく コンパイルされ、 ソースがダウンス ト リーム ツールでコンパイルされる順に [Sources] ウ ィンド ウの [Compile Order] ビューに表示されます。 RTL 階層のコンパイルで発生する可能性のある問題は、 [Message] ウ ィンド ウにレポート されます。 ソースの詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョンを参照してください。

注記 : モジュールを 上位モジュールと して明確に設定した場合、 そのモジュールは保持され、 合成に渡されますが、 上位モジュールと して指定していない場合は、 Vivado ツールでプロジェク ト内の使用可能なソース ファ イルの中から 適なモジュールが 上位モジュールと して選択されます。 ファ イルに構文エラーがあったり、 エラボレート しない場合は、 Vivado ツールでそれが 上位モジュールと して選択されるこ とはあ り ません。

制約およびシ ミ ュレーシ ョ ン ソースは、 セッ トに分類されます。 制約セッ トは、 制約の確認や管理に使用します。さまざまなシ ミ ュレーシ ョ ン ソース セッ ト を使用する と、 異なるシ ミ ュレーシ ョ ン セッシ ョ ンを開始できます。ソースはどれでも追加、 削除、 ディ スエーブル、 またはアップデートできます。 制約の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 23] を参照してください。 シ ミ ュレーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 14] を参照してください。

X-Ref Target - Figure 3-4

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

デザイン フローの概要 27UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 28: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

RTL の開発

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

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

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

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

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

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

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

X-Ref Target - Figure 3-5

図 3-5 : [Sources] ウィンドウでの階層デザイン ソース ファイルのコンパイル

デザイン フローの概要 28UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 29: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

エラボレート済み RTL デザインを開く と、RTL ソース ファ イルがコンパイルされて RTL ネッ ト リ ス トがインタラ クティブ解析用に読み込まれ、 RTL 構造、 構文、 ロジッ ク定義を確認できます。 次の解析およびレポート機能があ ります。

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

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

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

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

• 1 つのビューで RTL ソース ファ イル内のインスタンシエーシ ョ ンおよびロジッ ク定義などのオブジェク ト を選択する と、 ほかのビューでも自動選択

RTL の開発および解析の詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] を参照して ください。 RTL ベースの I/O ピン プランニングの詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

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

Vivado IDE には、 デザインのタイ ミ ング制約を作成および検証するための Timing Constraints ウ ィザードが含まれます。 このウ ィザードでは、 デザインのクロ ッ クおよび論理コンス ト ラ ク トが識別され、 タイ ミ ング制約を入力および検証するためのインターフェイスが提供されます。 イン メモ リ デザインはクロ ッ ク情報を含んだ合成後のデザインなので、 このウ ィザードは合成後およびインプリ メン ト後のデザインでのみ使用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 23] を参照して ください。

注記 : Vivado Design Suite でサポート されるのは、 Synopsys デザイン制約 (SDC) およびザイ リ ンクス デザイン制約 (XDC) ファ イルのみです。ISE Design Suite で使用したザイ リ ンクス ユーザー制約ファイル (UCF) や Synplicity デザイン制約は、 直接はサポート されません。 UCF を XDC 形式に変換する方法は、 『ISE から Vivado Design Suite への移行手法ガイ ド』 (UG911) [参照 24] のこのセクシ ョ ンを参照してください。

デザイン フローの概要 29UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 30: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

IP の操作

Vivado IDE では、 IP を設定、 インプリ メン ト 、 検証、 統合できます。 IP は、 スタンドアロンのモジュールと して、またはシステム レベル デザインの一部と して設定および検証できます。 IP には、 エンベデッ ド プロセッサ、 DSP デジタル信号処理モジュール、 C ベースのアルゴ リズム デザインなども含まれます。 カスタム IP は IP-XACT プロ ト コルに従ってパッケージされ、 Vivado IP カタログから使用できます。 IP カタログから IP を簡単に設定、 インスタンシエート、 および検証できます。 ザイ リ ンクス IP は AMBA AXI4 インターコネク ト規格を使用しており、 高速システム レベル統合が可能です。 既存の IP は、 デザインで RTL またはネッ ト リ ス ト と と して使用できます。 また、 Vivado IDE では CORE Generator™ ツールで作成されたコア (拡張子 .xco のファイル) も使用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] を参照してください。

IP 管理ディレク ト リの作成

Vivado Design Suite の IP はリモートの IP ディ レク ト リでコンフ ィギュレーシ ョ ンおよび管理できます。 IP ディ レクト リ を作成または開くには、 Vivado IDE の Getting Started ページで [Manage IP] をク リ ッ ク します。 IP ディレク ト リを作成する と、 次が作成されます。

• さまざまな IP ソースおよび出力ファイルを分類して保持するディ レク ト リ構造

• manage_ip_project という名前のプロジェク ト

このタイプのプロジェク ト を使用した場合は、 次を実行できます。

• Vivado IP カタログを使用した IP のコンフ ィギュレーシ ョ ン

• 出力ファイルの生成と IP 検証プロセスの管理

• 個々の IP または複数 IP の出力ファイルの同時生成

• Vivado IDE の [Sources] ウ ィンド ウでの IP 出力ファイルの表示および管理

• IP バージ ョ ン アップグレードのインタラ クティブ実行

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

Vivado IP カタログを使用した IP のコンフ ィギュレーシ ョ ン

Vivado IP カタログ (図 3-6) には、 プロジェク トで選択したターゲッ ト デバイスで使用可能な ザイ リ ンクス LogiCORE™ IP が表示されます。 IP カタログには、 各 IP のバージ ョ ンおよびライセンス情報、 該当するデータシートが含まれます。 IP をダブルク リ ッ クする と、 コンフ ィギュレーシ ョ ン ウ ィザードが起動され、 デザインに対する IP のコンフ ィギュレーシ ョ ンおよびインス トール プロセスを開始できます。

デザイン フローの概要 30UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 31: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

出力ファイルの生成

Vivado Design Suite の IP には、 その IP の合成、 インプ リ メンテーシ ョ ンおよび検証に使用するためのさまざまな出力ファイルが含まれます。 これらの出力ファイルは、 IP のコンフ ィギュレーシ ョ ン直後に生成するか、 後で生成できます。 プロジェク ト モードの場合、 足りない出力ファイルが合成中に自動的に生成され、 アウ ト オブ コンテキスト フローの場合は合成済みデザイン チェッ クポイン ト (DCP) ファ イルも含まれます。 非プロジェク ト モードの場合、 出力ファイルは Tcl コマンドの synth_design を実行する前に生成する必要があ り ます。

Vivado Design Suite の IP には、 次の出力ファイルが含まれます。

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

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

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

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

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

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

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

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

オプシ ョ ンのコア コンテナー機能を使用する と、 IP が 1 つのファイルにまとめられるので、 リ ビジ ョ ン管理システムでの作業が簡単になり ます。 このオプシ ョ ンを使用する と、 IP フォルダー全体が 1 つの XCIX ファ イルに圧縮さ

X-Ref Target - Figure 3-6

図 3-6 : Vivado IP カタログ

デザイン フローの概要 31UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 32: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

れます。 XCIX ファ イルは XCI ファ イルと類似しており、同様に機能します。詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] を参照して ください。

アウト オブ コンテキスト デザイン用の IP のスタンドアロン合成

デフォルトでは、各 IP に対してデザイン チェッ クポイン トが作成され、 その IP の合成済みネッ ト リ ス ト と制約が含まれます。 IP モジュールは Vivado 合成を使用してで合成され、 デザイン チェッ クポイン トはインプリ メンテーシ ョン中に使用されます。 Vivado 合成では、 各 IP に対してデザイン チェッ クポイン ト を含むブラ ッ ク ボッ クス スタブ ファ イルが挿入されるので、 IP を個別に 適化および検証して、 合成ランタイムを削減できます。 これは、 アウ ト オブ コンテキス ト デザインと呼ばれます。

デザイン チェッ クポイン トの生成をオフにする と、 IP と 上位デザインが一緒に合成されるグローバル ト ップダウン合成アプローチが使用されます。 このアプローチが使用される場合、 合成中に追加のロジッ ク 適化を実行できるこ と もあ り ます。

ヒン ト : Vivado IDE の [Generate Output Products] ダイアログ ボッ クスには [Generate Design Checkpoint (.dcp)] オプシ ョンがあ り、 デフォルト動作を制御できます。

IP の検証

ビヘイビアーまたは構造型ロジッ ク シ ミ ュレーシ ョ ンを実行し、 IP モジュールをインプリ メン ト してタイ ミ ング、消費電力、 エ リ アなどを検証するこ とによ り、 Vivado IP を検証できます。 通常はスタンドアロン IP を検証するために、 RTL ラ ッパーおよびテス トベンチを含む小型の 上位デザイン プロジェク トが作成されます。 Vivado Design Suite では、 上位デザイン プロジェク トのコンテキス ト内で IP モジュールを検証するこ と もできます。 IP は合成済みデザイン チェッ クポイン ト を作成するので、 このボ ト ムアップ検証ス ト ラテジはスタンドアロンまたはプロジェク ト内のいずれでも う ま く機能します。

IP コア生成の一部と して、 オプシ ョ ンでサンプル デザインが作成されます。 サンプル デザインを作成するには、[Sources] ウ ィンド ウの [IP Sources] ビューで IP を右ク リ ッ ク し、 [Open Example Design] をク リ ッ ク します。サンプル IP モジュールを使用する と、 サンプル デザイン プロジェク トのコンテキス ト内でスタンドアロン IP を検証できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 14]、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2]、および 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] を参照して ください。

IP サブシステム ブロック デザインの作成

Vivado IP インテグレーター (33 ページの図 3-7) では、 AXI4 インターコネク ト プロ ト コルを使用して複数の IP を接続できます。 Vivado IP カタログから互換性のある IP を選択し、 デザイン キャンバスでその IP をインスタンシエート します。 その後 IP をダブルク リ ッ ク し、 コンフ ィギュレーシ ョ ン ウ ィザードを起動します。 インターコネク ト をド ラ ッグ アンド ド ロ ップする と DRC が実行され、 互換性のあるピンが視覚的に示されます。 AXI インターフェイス全体を 1 本のワイヤで接続し、 ポートおよびインターフェイス ポート を配置して、 IP サブシステムをデザインの残りの部分に接続します。 この後、 これらの IP ブロッ ク デザインをソース (.bd) と してパッケージし、 ほかのデザインで再利用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 4] または 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898) [参照 5] を参照してください。

デザイン フローの概要 32UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 33: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

カスタム IP の作成とパッケージ

Vivado IDE では、カスタム IP や IP ブロッ ク デザインを IP にパッケージできます。パッケージした IP には Vivado IP カタログからアクセスでき、 デザインや Vivado IP インテグレーターで使用できます。 IP は、 RTL ソース ファ イルのコレクシ ョ ン、 Vivado IP インテグレーターのブロ ッ ク デザイン、 Vivado Design Suite プロジェク ト全体など、 さまざまなソースからパッケージできます。 IP をコンフ ィギュレーシ ョ ンし、 Vivado IP カタログおよび IP インテグレーター内で使用できるよ うにする方法は複数あ り ます。 たとえば、 Package IP ウ ィザードでは、 ウ ィザードの指示に従って情報を入力およびデータを収集できるよ うになっており、 IP が完全で、 AXI4 に準拠し、 コンフ ィギュレーシ ョ ン可能な、 IP カタログで使用可能なものになり ます。 [Create and Package IP] コマンドを使用する と、 エンベデッ ド プロセッサ デザインで使用するためのカスタム インターフェイス ペリ フェラルも作成できます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成とパッケージ』 (UG1118) [参照 25] および 『Vivado Design Suite チュート リ アル : カスタム IP の作成およびパッケージ』 (UG1119) [参照 26] を参照してください。

IP のアップグレード

Vivado Design Suite のリ リースごとに、 新しい IP バージ ョ ンも リ リースされます。 既にコンフ ィギュレーシ ョ ン済みのスタティ ッ ク バージ ョ ンを使用するか、 IP をアップグレード して ください。 IP の現在のステータスをレポートするには、 Tcl コマンドの report_ip_status を使用します。 必要であれば、 IP を選択して、 それだけを 新バージ ョ ンにアップグレードするこ と もできます。 変更ログに、 変更の詳細が説明されており、 必要なデザイン アップデートが リ ス ト されます。 たとえば、 新しい IP バージ ョ ンで 上位ポートが変更された場合、 デザインを修正する必要があるこ とがあ り ます。 また、 report_ip_status Tcl コマンドを使用して、 既存の IP のターゲッ ト デバイスを変更するこ と もできます。

注記 : スタティ ッ ク バージ ョ ンの IP を使用する場合は、その IP を使用したのと同じソフ ト ウェア バージ ョ ンを使用して、 すべての出力ファイルを作成する必要があ り ます。 Vivado Design Suite の新しいバージ ョ ンでは、 古い IP を再コンフ ィギュレーシ ョ ンするこ とはできません。 アップグレード しない場合、 IP に再コンフ ィギュレーシ ョ ンができないこ とを示す鍵アイコンが付きます。

X-Ref Target - Figure 3-7

図 3-7 : Vivado IP インテグレーター

デザイン フローの概要 33UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 34: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

Vivado Design Suite では、 デザインまたは IP を検証するために複数のロジッ ク シ ミ ュレーシ ョ ン オプシ ョ ンが提供されています。 Vivado IDE に統合されている Vivado シ ミ ュレータでは、 デザインのシ ミ ュレーシ ョ ン、 波形ビューアーでの信号の追加および表示、 デザインの確認およびデバッグを必要に応じて実行できます。 Vivado シ ミ ュレータでは、 デザインのビヘイビアー シ ミ ュレーシ ョ ン、 構造シ ミ ュレーシ ョ ン、 インプリ メン ト済みデザインのタイミ ング シ ミ ュレーシ ョ ンを実行できます。 または、 開いているデザインの Verilog、 VHDL ネッ ト リ ス ト 、 および SDF フォーマッ ト ファ イルを記述するこ とによ り、 サードパーティ シ ミ ュレータも使用できます。 Vivado IDE からは、 Mentor Graphics 社、 Synopsys 社、 Cadence 社のシ ミ ュレータを起動できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 14] を参照してください。

I/O ピン プランニング Vivado IDE には I/O ピン プランニング環境が含まれており、 特定のパッケージ ピンまたは内部ダイ パッ ドに I/O ポート を正し く割り当てるこ とができます。 さまざまな表示ウ ィンド ウおよび表があ り、 パッケージおよび I/O 関連データを解析できます。 また、 I/O DRC および同時スイ ッチ ノ イズ (SSN) の解析コマンド もあ り、 I/O 割り当てを検証できるよ うになっています。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

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

ロジック合成

Vivado 合成では、 合成 run を設定、 起動、 および監視できます。 Vivado IDE では、 合成結果が表示され、 レポート ファ イルが作成されます。 [Messages] ウ ィンド ウから合成の警告またはエラーを選択する と、 RTL ソース ファ イルで該当するロジッ クがハイライ ト されます。

複数の合成 run を同時に、 または 1 つずつ順に実行できます。 Linux システムでは、 run をローカルまたはリモート サーバーで実行できます。 複数の合成 run を実行する と、 複数のネッ ト リ ス トが作成され、 Vivado Design Suite プロジェク ト内に保存されます。 異なるバージ ョ ンの合成済みネッ ト リ ス ト を Vivado IDE 環境で開いて、 デバイスおよびデザインの解析を実行できます。 また、 I/O ピン プランニング、 タイ ミ ング、 フロアプラン、 およびインプ リ メンテーシ ョ ン用に制約を作成できます。 デザインを合成する と、 ク ロ ッ ク と ロジッ クを解析および配置できるよ うになるので、 合成済みネッ ト リ ス トに対しては も包括的な DRC を実行できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] を参照してください。

デザイン フローの概要 34UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 35: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

インプリ メンテーシ ョ ン

Vivado インプリ メンテーシ ョ ンでは、 インプリ メンテーシ ョ ン run を設定、 起動、 および監視できます。 さまざまなインプ リ メンテーシ ョ ン オプシ ョ ンを試行し、 再利用可能なインプリ メンテーシ ョ ン run ス ト ラテジを作成できます。 たとえば、 短いランタイム、 システム パフォーマンスの改善、 またはエリ ア 適化などのス ト ラテジを作成できます。 run が終了する と、 インプリ メンテーシ ョ ン run の結果が表示され、 レポート ファ イルが使用可能になります。

複数のインプ リ メンテーシ ョ ン run を同時に、 または 1 つずつ順に実行できます。 Linux システムでは、 リモート サーバーを使用できます。 制約セッ ト を作成して、 さまざまなタイ ミ ング制約、 物理制約、 代替デバイスを設定して試すこ とができます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] および 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 23] を参照して ください。

ヒン ト : tcl.pre および tcl.post ファ イルを使用する と、 Tcl スク リプ ト を追加して合成、 インプリ メンテーシ ョ ン、 ビッ ト ス ト リーム生成の前後に実行する Tcl スク リプ ト を追加できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 18] を参照してください。

合成およびインプリ メンテーシ ョ ン run の設定

プロジェク ト モードを使用する場合、 合成およびインプリ メンテーシ ョ ンの機能を制御する設定を多数使用できます。 これらの設定は、 run ス ト ラテジを使用する run に渡されます。 これは、 [Project Settings] ダイアログ ボッ クスで設定できます。 run ス ト ラテジは、 run の設定パラ メーターの組み合わせを保存したものです。 ザイ リ ンクスでは、合成およびインプ リ メンテーシ ョ ン run 用にいくつかの定義済み run ス ト ラテジを提供しています。 ユーザーがカスタムの run 設定を適用するこ と もできます。 また、 合成と インプリ メンテーシ ョ ンで異なる制約セッ ト を指定すること もできます。

プロジェク ト設定の変更に関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 2] のこのセクシ ョ ンおよび 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] のこのセクシ ョ ンを参照してください。

ヒン ト : アウ ト オブ コンテキス ト モジュールの run は、 プロジェク トに含まれる Vivado Design Suite の IP を合成するために作成できます。 IP のデザイン チェッ クポイン ト を生成する場合、 デフォルトではデザインの各 run に対して アウ ト オブ コンテキス ト (スタンドアロン) の run が作成されます。

run の作成および管理

[Project Settings] ダイアログ ボッ クスで合成およびインプリ メンテーシ ョ ンの設定を指定したら、 次のいずれかの方法で合成 run またはインプリ メンテーシ ョ ン run を実行できます。

• Flow Navigator で [Run Synthesis]、 [Run Implementation]、 または [Generate Bitstream] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run を選択し、 右ク リ ッ ク して [Launch Runs] をク リ ッ クするか、 またはツールバーの [Launch Selected Runs] ボタンをク リ ッ ク します。

• [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 ウ ィザード (36 ページの図 3-8) で、 制約セッ トおよびターゲッ ト パーツを選択します。

インプ リ メンテーシ ョ ン run の作成では、 複数の合成 run が存在する場合はネッ ト リ ス ト も選択できます。 さまざまなス ト ラテジ、 制約セッ ト、 またはデバイスを指定した複数の run を作成できます。 run が複数ある場合、 実行オプシ ョ ンを指定できます。 選択した run を順次実行するか、 複数のローカル プロセッサで同時に実行できます。

デザイン フローの概要 35UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 36: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

注記 : Linux でのみ、 リモート ホス ト を設定および使用できます。

[Design Runs] ウィンドウでの run の管理

[Design Runs] ウ ィンド ウ (図 3-9) には、 run のステータスおよび情報が表示され、 ポップアップ メニューから run を管理するコマンドを実行できます。 [Design Runs] ウ ィンド ウから複数の run を制御できます。 run が複数ある場合、アクティブな run が太字で示されます。 Vivado IDE には、 アクティブな run の実行結果が表示されます。 [Project Summary]、 レポート、 およびメ ッセージに表示されるのは、 すべてアクティブ run に関する情報です。

Flow Navigator で [Open Synthesized Design] または [Open Implemented Design] をク リ ッ クする と、 デフォルトでアクティブ デザインが開きます。 run をアクティブにするには、 run を右ク リ ッ ク して [Make Active] をク リ ッ ク します。Vivado IDE に新たにアクティブになった run の情報が表示されます。 合成済み run またはインプリ メン ト済み run をダブルク リ ッ クする と、 Vivado IDE にそのデザインが開きます。

X-Ref Target - Figure 3-8

図 3-8 : 複数の合成 run およびインプリ メンテーシ ョ ン run の作成

X-Ref Target - Figure 3-9

図 3-9 : [Design Runs] ウィンドウ

デザイン フローの概要 36UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 37: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

run のリセッ ト

Flow Navigator で [Synthesis] または [Implementation] を右ク リ ッ ク し、次のポップアップ メニューを使用して run を リセッ ト します。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] のこのセクシ ョ ンを参照してください。

• [Reset Runs] では、 run が元の状態にリセッ ト されます。 オプシ ョ ンで run ディ レク ト リから生成されたファイルを削除できます。

• [Reset to Previous Step] ではリ ス ト された段階に run を リセッ ト します。

ヒン ト : 実行されているプロセスを停止するには、 Vivado IDE の右上の [Cancel] ボタンをク リ ッ ク します。

LSF を使用したリモート サーバー ファームへのアクセス

リモート Linux ホス トで run を起動するには、 LSF (Load Sharing Facility) サーバー ファームに直接アクセスします。詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] のこのセクシ ョ ンを参照してください。

インクリ メンタル コンパイルを使用したインプリ メンテーシ ョ ンの実行

インク リ メンタル コンパイルを使用して Vivado インプリ メンテーシ ョ ンを実行する と、 小さいデザイン変更を処理できます。 インク リ メンタル コンパイルでは、 変更の範囲および変更したタイ ミ ング ク リ ティカル ロジッ クの量によって実行時間を削減し、 既存の結果を保持できます。 Tcl コマンドの read_checkpoint で -incremental オプシ ョ ンを使用し、 配線済みデザイン チェッ クポイン ト を指定して、 リ ファレンス と して使用されるよ うにします。詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] のこのセクシ ョ ンを参照してください。

デザイン フローの概要 37UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 38: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

ログ ファイルの表示

[Log] ウ ィンド ウ (図 3-10) で [Synthesis]、 [Implementation]、 [Simulation] ビューをク リ ッ クする と、 合成、 インプ リ メンテーシ ョ ン、 シ ミ ュレーシ ョ ンの標準出力を確認できます。 この出力は、 Vivado IDE の起動ディ レク ト リに書き込まれる vivado.log ファ イルにも含まれます。

メ ッセージの表示

[Messages] ウ ィンド ウ (図 3-11) では、 メ ッセージがデザイン段階および重要度 (エラー、 ク リ ティカル警告、 警告、情報、 ステータス) 別に分類されます。 [Messages] ウ ィンド ウの上部にあるチェッ ク ボッ クスのオン/オフを切り替えて、 表示する メ ッセージを選択できます。 メ ッセージのカテゴ リ を展開表示する と、 個々のメ ッセージを表示できます。 [Collapse All] アイコンをク リ ッ クする と、 主なデザイン段階のみが表示されます。 これによ り、 特定のメ ッセージを見つけやすくなり ます。 多くのメ ッセージにはリ ンクが含まれており、 ク リ ッ クする と RTL ファ イルの該当する行が開きます。 アドバンス フ ィルター機能を含む詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 21] のこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 3-10

図 3-10 : ログ ファイルの表示

X-Ref Target - Figure 3-11

図 3-11 : メ ッセージの表示

デザイン フローの概要 38UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 39: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

レポートの表示

[Reports] ウ ィンド ウ (図 3-12) には、複数の標準的なレポートが Tcl コマンドの launch_runs を使用して生成されます。 レポート をダブルク リ ッ クする と、 Vivado IDE テキス ト エディ ターで開きます。 [Tcl Console] ウ ィンド ウで該当する Tcl コマンドを入力して、カスタム レポート を作成するこ と もできます。詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 21] のこのセクシ ョ ンおよび『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] のこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 3-12

図 3-12 : レポートの表示

デザイン フローの概要 39UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 40: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

デバイス プロパティの表示

エラボレート済み、 合成済み、 またはインプリ メン ト済みデザインを開いた状態で、 [Tools] → [Edit Device Properties] をク リ ッ ク して [Edit Device Properties] ダイアログ ボッ クス (図 3-13) を開く と、 デバイス コンフ ィギュレーシ ョ ンを表示および設定できます。 このコマンドは、 デザインが開いている と きにのみ使用できます。 各プロパティの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 15] の このセクシ ョ ンを参照してください。 デバイス コンフ ィギュレーシ ョ ン モードの設定方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] のこのセクシ ョ ンを参照してください。

注記 : [Edit] → [Device Properties] は、 デザインが開いている と きにしか使用できません。

X-Ref Target - Figure 3-13

図 3-13 : デバイス プロパティの表示

デザイン フローの概要 40UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 41: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

RTL エラボレーシ ョ ン、 合成、 およびインプリ メンテーシ ョ ンの後に、 解析および制約の割り当てを実行できます。デザインの問題を早期に特定するため、 インプリ メンテーシ ョ ンの前にタイ ミ ング シ ミ ュレーシ ョ ン、 リ ソース予測、 接続性の解析、 DRC などのデザイン解析を実行できます。 さまざまな合成 run またはインプリ メンテーシ ョ ン run 結果を開く と、 解析および制約の割り当てを実行できます。 これは、 デザインを開く とわかり ます。

デザインを開く と、 Vivado IDE でネッ ト リ ス トがコンパイルされ、 ターゲッ ト デバイスに対する物理制約およびタイ ミ ング制約が適用されます。 デザインは、 開いて、 保存して、 閉じるこ とができます。 新しいデザインを開く と、メモ リ容量を確保するため、 既に開いているデザインを閉じるかど うかを確認する メ ッセージが表示されます。 既に開いているデザインを閉じる必要はなく、 複数のデザインを同時に開いておく こ とができます。 合成済みデザインを開く と、 ネッ ト リ ス ト と制約が表示されます。 インプリ メン ト済みデザインを開く と、 ネッ ト リ ス ト 、 制約、インプ リ メンテーシ ョ ン結果が表示されます。 デザイン データは異なるウ ィンド ウにさまざまな形式で表示でき、ウ ィ ンド ウのデータは連動しています。

デザインを開く と、 Vivado IDE のさまざまな解析およびレポート機能を使用できるよ うにな り ます。 たとえば、 内部デバイスおよび外部物理パッケージの対話型グラフ ィカル表示で、 デバイス リ ソースを解析できます。 また、[Netlist]、 [Device]、 [Schematic]、 [Hierarchy] ウ ィンド ウを使用してタイ ミ ングおよび物理制約を適用して解析すること もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] および 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 23] を参照してください。

注記 : デザインが開いている と きに制約を変更する と、 変更を元の XDC ソース ファ イルに保存するか、 新しい制約セッ ト を作成するかを選択するダイアログ ボッ クスが表示されます。詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

エラボレート済み RTL デザインを開く

エラボレート済みデザインを開く と、 RTL ネッ ト リ ス トが拡張およびコンパイルされ、 ターゲッ ト デバイスに物理制約およびタイ ミ ング制約が適用されます。 エラボレート済みデザインのさまざまなエレ メン トがメモ リに読み込まれたら、 必要に応じて解析および変更して、 デザインを完成させるこ とができます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

Vivado Design Suite には、 リ ン ト DRC およびチェッ ク ツールが含まれ、 デザインでロジッ クが正しいかど うかを解析できます。 ロジッ クが正し く コンパイルされたか、 欠けているモジュールはないか、 インターフェイスの不一致がないかなどをチェッ クできます。 [Messages] ウ ィンド ウでメ ッセージのリ ンクをク リ ッ クする と、 Vivado IDE テキス ト エディ ターで RTL ファ イルの該当する行が表示されます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層をさまざまな方法で調べるこ とができます。 [Schematic] ウ ィンド ウには、 RTL ベースのロジッ ク コンス ト ラ クト を使用して、 RTL の接続が表示されます。 [Schematic] ウ ィンド ウでロジッ クを選択したり、 Vivado IDE テキス ト エディ ターで RTL ファ イルの特定の行を確認したりできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

注記 : RTL エラボレーシ ョ ンでは、 FPGA テク ノ ロジへのマップは実行されません。

レジスタなど、 ロジッ ク階層の特定のロジッ ク インスタンスに定義されている制約は、 RTL エラボレーシ ョ ンでは解決できない場合があ り ます。 エラボレーシ ョ ン中に生成されるロジッ ク名と階層は、 合成中に生成されるものと一致しない可能性があ り ます。 そのため、 これらの制約が定義されている場合、 RTL デザインをエラボレート したと きに制約マップに関する警告またはエラー メ ッセージが表示されるこ とがあ り ますが、 合成を実行する と これらの問題は解決されます。

Vivado IDE の I/O プランニング機能を使用する と、 I/O ポート をインタラ クティブに設定してエラボレート済み RTL デザインに割り当て、 DRC を実行できます。 可能であれば、 合成後に I/O プランニングを実行してください。 これによ り、 ク ロ ッ クおよびロジッ ク制約が 適になり、 合成後に実行する DRC がよ り詳細に実行されます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] を参照してください。

デザイン フローの概要 41UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 42: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

ヒン ト : [Report DRC] コマンドをク リ ッ クする と、 RTL および I/O の DRC が実行され、 非同期クロ ッ ク、 ラ ッチなどのロジッ クの問題が特定されます。詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895) [参照 12] のこのセクシ ョ ンを参照してください。

エラボレート済みデザインを開くには、 次のいずれかを実行します。

• Flow Navigator の [RTL Analysis] セクシ ョ ンで [Open Elaborated Design] をク リ ッ ク します。

• Flow Navigator で [RTL Analysis] を右ク リ ッ ク し、 [New Elaborated Design] をク リ ッ ク します。

• [Flow] → [Open Elaborated Design] をク リ ッ ク します。

図 3-14 に、 エラボレート済み RTL デザインを開いた場合のデフォルト レイアウ ト を示します。 回路図でロジッ ク インスタンスを選択する と、 RTL ソース ファ イルおよびエラボレート済み RTL ネッ ト リ ス トで特定のインスタンスが選択されます。

X-Ref Target - Figure 3-14

図 3-14 : エラボレート済み RTL デザイン

デザイン フローの概要 42UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 43: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

合成済みデザインを開く

合成済みデザインを開く と、 Vivado Design Suite で合成済みネッ ト リ ス トが開かれ、 ターゲッ ト デバイスに物理制約およびタイ ミ ング制約が適用されます。 合成済みデザインのさまざまなエレ メン トがメモ リに読み込まれたら、 必要に応じて解析および変更して、 デザインを完成させるこ とができます。 変更は、 制約ファイル、 ネッ ト リ ス ト 、デバッグ コア、 およびコンフ ィギュレーシ ョ ンに保存できます。

合成済みデザインを使用する と、 早期のタイ ミ ング、 消費電力、 使用率予測のよ うなデザイン タスクを多く実行するこ とができ、 デザインが指定するターゲッ トで要件を満たすこ とができるのかど うか判断できます。 デザインは、Vivado IDE のウ ィンド ウを使用してさまざまな方法で解析できます。 1 つのウ ィンド ウでオブジェク ト を選択すると、 ほかのウ ィンド ウでも選択されます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] などのさまざまなウ ィンド ウから、 RTL ファイルの問題のある行にクロス プローブできます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層をインタラ クティブに調べるこ とができます。 タイ ミ ング制約を適用したり、 よ り詳細なタイ ミング解析を実行したり もできます。 I/O ポートの物理制約、 フロアプラン、 デザイン コンフ ィギュレーシ ョ ンをインタラ クティブに定義するこ と もできます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

Vivado IDE の I/O プランニング機能を使用する と、 I/O ポート をインタラ クティブに設定して合成済みデザインに割り当て、 DRC を実行できます。 [Report DRC] コマンドをク リ ッ クする と、 包括的な DRC が実行され、 ロジッ クの問題が特定されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 11] のこのセクシ ョ ンおよび 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] のこのセクシ ョ ンを参照してください。

合成済みデザインでは、 プログラム済みデバイスのテス トおよびデバッグをサポートするために、 デバッグ コア ロジッ クを設定およびインプ リ メン トできます。 [Schematic] または [Netlist] ウ ィンド ウで、 デバッグ用の信号を選択し、 デバッグ コアをコンフ ィギュレーシ ョ ンして、 デザインに挿入します。 コアのロジッ クおよび接続は、 デザインの合成がアップデート されても、 できる限り保持されます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 15] のこのセクシ ョ ンを参照してください。

合成済みデザインを開くには、 次のいずれかを実行します。

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

• Flow Navigator で [Synthesis] を右ク リ ッ ク し、 [New Synthesized Design] をク リ ッ ク します。

• [Flow] → [Open Synthesized Design] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run の名前をダブルク リ ッ ク します。

デザイン フローの概要 43UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 44: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

図 3-15 に、 合成済みデザインを開いた場合のデフォルト レイアウ ト を示します。

X-Ref Target - Figure 3-15

図 3-15 : 合成済みデザイン

デザイン フローの概要 44UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 45: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

インプリ メン ト済みデザインを開く

Flow Navigator からインプ リ メン ト済みデザインを開く と、 Vivado IDE でそのインプリ メン ト済みネッ ト リ ス トが開き、 ターゲッ ト デバイスにインプリ メンテーシ ョ ン、 配置、 および配線で使用された物理制約およびタイ ミ ング制約が適用されます。 インプ リ メン ト済みデザインの配置済みのロジッ ク と配線済みの接続がメモ リに読み込まれたら、 必要に応じて解析および変更して、 デザインを完成させるこ とができます。 変更は、 制約ファイル、 ネッ ト リス ト 、 インプ リ メンテーシ ョ ン結果、 およびデザイン コンフ ィギュレーシ ョ ンに保存できます。 Vivado IDE では複数のインプ リ メンテーシ ョ ン run を設定できるので、 どの完了済みのインプリ メンテーシ ョ ン run を選択しても、 インプ リ メン ト済みデザインを開く こ とができます。

インプ リ メン ト済みデザインでは、 タイ ミ ング解析、 消費電力解析、 使用量統計のよ うなデザイン タスクを多く実行するこ とができ、 デザインが必要なパフォーマンス ターゲッ トの要件を満たすこ とができるのかど うか判断できます。 デザインは、 Vivado IDE のウ ィンド ウを使用してさまざまな方法で解析できます。 1 つのウ ィンド ウでオブジェク ト を選択する と、 ほかのウ ィンド ウでも選択されます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] などのさまざまなウ ィンド ウから、 ソースの RTL ファ イルの問題のある行にクロス プローブできます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層をインタラ クティブに調べるこ とができます。 タイ ミ ング制約を適用したり、 よ り詳細なタイ ミ ング解析を実行したり もできます。 また、 インタラ クティブにフロアプランやデザイン コンフ ィギュレーシ ョ ン制約を適用したり、 今後の run 用に制約を保存したり もできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

[Device] ウ ィンド ウでは、 [Routing Resources] をク リ ッ ク して、 配置または配線結果を確認できます。 拡大すると、 [Device] ウ ィンド ウに表示される詳細な情報が増えます。 配置配線、 ルッ クアップ テーブル (LUT) やランダム アクセス メモ リ (RAM) の初期化などのデザイン コンフ ィギュレーシ ョ ンをインタラ クティブに変更するこ と もできます。 [Device] ウ ィンド ウまたは [Schematic] ウ ィンド ウで結果をク リ ッ ク して、 RTL ファ イルの問題の行にクロス プローブするこ と もできます。 [Schematic] ウ ィンド ウでは、 ロジッ クの接続および階層をインタラ クティブに調べるこ とができます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

インプ リ メン ト済みデザインを開くには、 次のいずれかを実行します。

• Flow Navigator の [Implementation] セクシ ョ ンで [Open Implemented Design] をク リ ッ ク します。

• [Flow] → [Open Implemented Design] をク リ ッ ク します。

• [Design Runs] ウ ィンド ウで run の名前をダブルク リ ッ ク します。

ヒン ト : Flow Navigator のメニューはアクティブ run の状態によって異なるので、アクティブ run がインプ リ メン ト されていない場合は [Open Implemented Design] コマンドが淡色表示になっているこ とがあ り ます。 この場合、 Flow Navigator で [Implementation] を右ク リ ッ ク して、 完了したインプリ メンテーシ ョ ン run のインプリ メン ト済みデザインを開く こ とができます。

デザイン フローの概要 45UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 46: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

図 3-16 に、 インプリ メン ト済みデザインを開いた場合のデフォルト レイアウ ト を表示します。

注記 : [Device] ウ ィンド ウには、 後に閉じたと きの状態によ り、 配置のみが表示される場合と配線も表示される場合があ リ ます。 [Device] ウ ィンド ウで [Routing Resources] ボタンをク リ ッ クする と、 配置または配線のみを表示するよ うに表示を切り替えるこ とができます。

X-Ref Target - Figure 3-16

図 3-16 : インプリ メン ト済みデザイン

デザイン フローの概要 46UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 47: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

最新の状態ではないデザインのアップデート

設計プロセスでは、 通常ソース ファ イルまたは制約の変更が必要です。 これらのファイルの依存性は Vivado IDE で管理され、 表示されているデザイン データが 新の状態ではなくなる とそれが示されます。 たとえば、 ターゲッ ト パーツやアクティブ制約セッ ト などのプロジェク ト設定を変更する と、 デザインが 新の状態ではなくな り ます。ソース ファ イル、 ネッ ト リ ス ト 、 またはインプリ メンテーシ ョ ン結果がアップデート される と、 開いた合成済みデザインまたはインプ リ メン ト済みデザインのデザイン ビュー バナーに 「out-of-date」 とい う メ ッセージが表示され、run が 新の状態ではないこ とが示されます (図 3-17)。 デザインのどの部分が 新の状態ではないのかを確認するには、 [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-17

図 3-17 : デザインの再読み込みが必要であることを示すバナー

デザイン フローの概要 47UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 48: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

デザイン タスク実行のためのレイアウトの使用

デザインを開く と、 I/O プランニング、 フロアプラン、 デバッグ コンフ ィギュレーシ ョ ンなどの特定のデザイン タスクを実行しやすいよ うに、 複数のデフォルト レイアウ トが提供されています (図 3-18)。 レイアウ ト を変更する と、特定のデザイン タスクを実行するのに適したウ ィンド ウが表示されます。 [Save Layout As] コマンドを使用して、 カスタム レイアウ ト を作成するこ と も可能です。

注記 : デフォルト レイアウ トは、 デザインが開いている と きにのみ使用できます。

デザインへの変更の保存

Vivado IDE では、 メモ リでアクティブ デザインをインタラ クティブに編集します。 制約やネッ ト リ ス ト を変更したり、 消費電力解析特性、 ハード ウェア コンフ ィギュレーシ ョ ン モード パラ メーター、 デバッグ設定などのデザイン パラ メーターを変更した場合などは、 必ずデザインを保存するよ うにしてください。 開いたデザインをインタラ クティブに編集する場合、 次のセクシ ョ ンに示すよ うに、 その変更点は元の XDC ファ イルに保存するか、 新しい制約セッ トに保存できます。

元の XDC 制約ファイルへの変更の保存

デザインに加えた変更を元の XDC 制約ファイルに保存するには、 [File] → [Save Constraints] をク リ ッ クするか、 またはツールバーの [Save Constraints] ボタン をク リ ッ ク します。

開いているデザインに対して加えられた制約、 デバッグ コアおよび設定、 デザイン コンフ ィギュレーシ ョ ン設定の変更がすべて保存されます。 Vivado IDE では、 可能な限り元のファイル フォーマッ トが保持されます。 追加した制約は、 ファ イルの 後に追加されます。 既存の制約への変更は、 元のファイルの場所に保持されます。

新しい XDC 制約ファイルへの変更の保存

デザインへの変更を新しい制約セッ トに保存するには、 [File] → [Save Constraints As] をク リ ッ ク して、 新しい制約ファイルを作成します。

これによ り、 元の制約ソース ファイルを保持したままで変更を保存できます。 新しい制約セッ トには、 変更を含むすべてのデザイン制約が含まれます。 このよ うにする と、 元の XDC ソース ファイルを変更せずに保持できます。 新しい制約セッ ト をアクティブにしておく と、 次回の run の実行時やデザインを開いたと きに適用されるよ うにできます。

X-Ref Target - Figure 3-18

図 3-18 : レイアウトの選択

デザイン フローの概要 48UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 49: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

デザインを閉じる

デザインを閉じる と、 メモ リ内のデザイン数を減らし、 ソースを編集できる場所が複数になるのを避けるこ とができます。 別のデザイン表示に移動する前に、 デザインを閉じるよ うダイアログ ボッ クスが表示されるこ とがあ り ます。 デザインを閉じるには、 次のいずれかを実行します。

• デザインのタイ トル バーで X ボタンをク リ ッ ク します。

• Flow Navigator でデザインを右ク リ ッ ク し、 [Close] をク リ ッ ク します。

インプリ メンテーシ ョ ン結果の解析 インプ リ メン ト済みデザインが開いている場合は、 [Device] ウ ィンド ウに配置配線結果が表示されます。 [Timing] ウ ィンド ウでタイ ミ ング パスを選択する と、 [Device] ウ ィンド ウにその配置配線が表示されます。 また、 デザイン目標を達成するよ う配置配線をインタラ クティブに編集したり、 LUT 式、 RAM 初期化、 位相ロ ッ ク ループ (PLL) 設定などのデザイン特性を変更するこ と もできます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904) [参照 3] のこのセクシ ョ ンを参照してください。

重要 : 変更は、 インプリ メン ト済みデザインのイン メモ リ バージ ョ ンにのみ加えられます。 run を リセッ トする と変更は失われます。 変更を保存するには、 第 4 章の 「デザイン チェッ クポイン トへのデザインの変更点の保存」 に示すよ うに、 [Save Checkpoint] コマンドを使用します。

タイ ミング解析の実行

Vivado IDE では、 タイ ミ ング解析結果をグラフ ィカルに設定および表示できます。 [Tools] → [Timing] コマンドを使用して、 さまざまなタイ ミ ング解析パラ メーターを使用してみてください。 ク ロ ッ ク ネッ ト ワーク レポートおよびクロ ッ ク関連性レポートには、 ク ロ ッ クの トポロジおよび関係を表示できます。 スラ ッ ク ヒ ス ト グラムには、 デザインの全体的なタイ ミ ング パフォーマンスが表示されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] のこのセクシ ョ ンを参照してください。

また、 Vivado IDE には、 Tcl コンソールおよび SDC 制約オプシ ョ ンを使用してさまざまなタイ ミ ング解析オプシ ョ ンが提供されています。 多数の標準レポート Tcl コマンドがあ り、 ク ロ ッ ク構造、 ロジッ クの関係、 デザインに適用されている制約などに関する情報を取得できます。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照するか、 「help report_*」 と入力してください。

DRC、 消費電力、 リソース使用率の解析

Vivado IDE では、 消費電力、 リ ソース使用率、 DRC 解析結果をグラフ ィカルに設定および表示できます。 デザインのどの段階でも、 消費電力パラ メーターを指定してすばやく消費電力を見積もるこ とができます。 また、 さまざまなタイプのデバイス リ ソース使用率統計を解析できるほか、 広範囲の DRC が用意されており、 ユーザーが設定して実行できます。 結果のレポートには、 問題のオブジェク トへのリ ンクが含まれます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 13] を参照してください。

ヒン ト : 多数の標準レポート Tcl コマンドがあ り、 デザインに関する情報を取得できます。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照してください。

report_design_analysis コマンドを使用する と、 タイ ミ ング違反および密集などの QoR (結果の品質) の根本的な原因の解析を単純化できます。

デザイン フローの概要 49UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 50: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

Vivado IDE の Vivado ロジッ ク解析環境には、 デザインを検証およびデバッグするための多数の機能があ り ます。RTL または合成済みネッ ト リ ス トで ILA (Integrated Logic Analyzer) やデバッグ ハブ コアなどの IP デバッグ コアを設定およびインプ リ メン トできます。 Vivado IDE で合成済みまたはインプリ メン ト済みデザインを開く と、 コアに必要なプローブ信号を選択して設定できます。 Vivado ロジッ ク解析を起動する と、 ビッ ト ス ト リーム ファ イルが生成されているどの run に対してもハード ウェアを検証できます。 また、 完了したどのインプリ メンテーシ ョ ン run に対しても、 ビッ ト ス ト リーム ファ イルを生成できます。 ビッ ト ス ト リーム ファ イル生成オプシ ョ ンも設定可能です。Vivado デバイス プログラマを起動する と、 デバイスのコンフ ィギュレーシ ョ ンおよびプログラムを実行できます。Vivado ロジッ ク解析は Vivado IDE から直接実行でき、 配線およびデバイス リ ソースを解析できます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 15] のこのセクシ ョ ンを参照してください。

デザイン フローの概要 50UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 51: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

表 3-1 に、 プロジェク トの作成、 インプリ メンテーシ ョ ン、 レポート を制御するプロジェク ト モードの基本的な Tcl コマンドを示します。

ヒン ト : デザイン タスクに関連する Tcl コマンドを理解するには、 Vivado IDE でコマンドを実行し、 [Tcl Console] ウ ィンド ウまたは vivado.jou ファ イルで構文を確認するのが 適な方法です。

注記 : このガイ ドには、 使用可能な Tcl コマンドすべての説明が含まれるわけではあ り ません。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照してください。

表 3-1 : プロジェク ト モードでの基本 Tcl コマンド

コマンド 説明

create_project Vivado Design Suite プロジェク ト を作成します。 引数と してプロジェク ト名、 保存場所、 デザインの 上位モジュール名、 ターゲッ ト パーツを指定します。

add_files プロジェク トにソース ファ イルを追加します。 Verilog (.v)、 VHDL (.vhd または .vhdl)、 System Verilog (.sv)、 IP (.xco または .xci)、 XDC 制約 (.xdc または .sdc)、 System Generator モジュール (.mdl) などのソースを追加できます。 個々のファイルを追加するか、 ディ レク ト リ全体を指定して有効なファイルが自動的に追加されるよ うにするこ と もできます。

注記 : 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 を起動し、 終了します。

デザイン フローの概要 51UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 52: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

プロジェク ト モードの Tcl スクリプ トの例

次に、 RTL プロジェク ト とネッ ト リ ス ト プロジェク トの Tcl スク リプ ト例を示します。 初のスク リプ ト例 run_bft_kintex7_project.tcl は、 次の Vivado Design Suite インス トール ディ レク ト リに含まれています。

<install_dir>/Vivado/2016.1/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_batch/syn_timing.rptreport_power -file ./Tutorial_Created_Data/project_bft_batch/syn_power.rpt# Launch Implementationlaunch_runs impl_1 -to_step write_bitstreamwait_on_run impl_1 # Generate a timing and power reports and write to disk# comment out the open_run for batch modeopen_run impl_1report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose \-max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_bft_batch/imp_timing.rptreport_power -file ./Tutorial_Created_Data/project_bft_batch/imp_power.rpt# comment out the for batch modestart_gui

デザイン フローの概要 52UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 53: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

ネッ ト リス ト プロジェク トの Tcl スクリプ ト

# Kintex-7 Netlist Example Design ## 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

デザイン フローの概要 53UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 54: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

第 4 章

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

概要

非プロジェク ト モードでは、 全フローで Tcl コマンドを使用してデザインをコンパイルします。 メモ リ内にイン メモ リ プロジェク トが作成されてデザインのさまざまなプロパティが管理されますが、 ディ スクにはプロジェク ト ファ イルは保存されません。 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 ソース ファ イルが開き、 該当する行がハイライ ト されます。

デザイン フローの概要 54UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 55: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

非プロジェク ト モードを使用する と、 デザイン フローの各段階をユーザーが完全に制御でき、 コンパイル スタイルのデザイン フローの利点を生かすこ とができます。

このモードでは、 次を含むデザインの管理をユーザーが手動で実行します。

• 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 コマンドを使用してファイルを追加しないでください。

ソース ファイルの管理

非プロジェク ト モードでは、 ファ イルをイン メモ リ デザインに特定の順序で読み込むこ とによ り、 ソース ファ イルを手動で管理できます。 ファ イルの管理方法やファイルのディ レク ト リ をユーザーが完全に制御できます。 ソースは、 ネッ ト ワーク接続されているディ レク ト リから も使用できます。 読み取り専用のソースは、 その権限に従って処理されます。

デザイン フローの概要 55UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 56: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

さまざまなデザイン設定およびリ ビジ ョ ンを保存するのには、 ソース管理システムを使用するのが一般的です。RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、Bitkeeper などのシステムがよ く利用されていますが、 Vivado ツールはどのシステムにも対応できます。 Vivado Design Suite では、 デザイン フローを通してファイルが使用および生成されるので、 これらを リ ビジ ョ ン管理下で管理するこ とをお勧めします。

非プロジェク ト モードでは、 リ ビジ ョ ン管理ソフ ト ウェアを簡単に使用できます。 まず、 設計者が必要なソース ファ イルをローカル ディレク ト リ構造にチェッ クアウ ト し、 ソースを 上位デザインにインスタンシエート して、デザインを作成します。 新しいソース ファ イルを作成して、 さまざまな read_* Tcl コマンドを使用してデザインに読み込む必要があるこ と もあ り ます。 デザイン ファ イルは、 Vivado 合成およびインプリ メンテーシ ョ ン ツールに渡されますが、 ソース ファ イルは、 元のディレク ト リに保持されます。 チェッ クアウ ト されたソースは、 インタラ クティブに、 またはコード エディ ターを使用してデザイン セッシ ョ ン中に Tcl コマンドで変更できます。 この後、ソース ファ イルは必要に応じてソース管理システムに戻されます。 デザイン チェッ クポイン ト、 解析レポート、ビッ ト ス ト リーム ファ イルなどのデザイン結果も リ ビジ ョ ン管理用にチェッ ク インできます。 リ ビジ ョ ン管理ソフト ウェアの詳細は、 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 22] のこのセクシ ョ ンを参照してください。

ビデオ : Vivado ツールでリ ビジ ョ ン管理システムを使用する際のベス ト プラ クティ スは、 Vivado Design Suite QuickTake ビデオ : Vivado Design Suite のリ ビジ ョ ン管理の使用を参照してください。

サードパーティの合成済みネッ ト リス トの使用

Vivado Design Suite では、 サードパーティの合成ツールを使用する場合など、 合成済みネッ ト リ ス トのインプ リ メンテーシ ョ ンがサポート されます。 外部合成ツールでは、 Verilog または EDIF ネッ ト リ ス ト と制約ファイルが生成されます。 これらのネッ ト リ ス トは、 プロジェク ト モードまたは非プロジェク ト モードのいずれかで、 スタンドアロンで使用するか、 RTL ファ イルと混合して使用できます。

IP の操作

非プロジェク ト モードの場合、 IP の出力ファイルは合成を実行する前に生成する必要があ り ます。 IP は、 RTL ソースおよび制約を使用するか、 合成済みデザイン チェッ クポイン ト を 上位デザインのソース と して使用するよ うに設定できます。 デフォルトでは、 各 IP に対してアウ ト オブ コンテキス ト デザイン チェッ クポイン トが生成されます。

非プロジェク ト モードの場合、 IP のインプリ メンテーシ ョ ンは、 次のいずれかの方法で実行できます。

• Vivado IP カタログを使用して生成した IP (.xci 形式またはコア コンテナー用の .xcix 形式)

アウ ト オブ コンテキス ト デザイン チェッ クポイン ト ファ イルが IP ディレク ト リにある場合は、 それがインプリ メンテーシ ョ ンに使用され、 合成ではブラ ッ ク ボッ クスが挿入されます。 デザイン チェッ クポイン ト ファ イルが IP ディ レク ト リにない場合は、 RTL および制約ソースがグローバルな合成およびインプリ メンテーシ ョ ンに使用されます。

• IP 用に合成されたネッ ト リ ス ト (.dcp 形式)

合成済みネッ ト リ ス ト を使用する と、 IP をスタンドアロンで構造的に検証できるので、 安定した既知のネッ トリ ス ト を提供できます。 Vivado IP ファ イルが IP ディ レク ト リにある場合は、 そのデザイン チェッ クポイン ト ファ イルも使用されます。

• IP を設定および生成する Tcl コマンドのセッ ト

Tcl を使用する と、 run ごとに IP が設定、 生成、 および合成されます。

デザイン フローの概要 56UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 57: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

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

Vivado IDE に統合されている Vivado シ ミ ュレータでは、 デザインのシ ミ ュレーシ ョ ン、 波形ビューアーでの信号の追加および表示、 デザインの確認およびデバッグを必要に応じて実行できます。 Vivado シ ミ ュレータは、 完全に統合された混合モード シ ミ ュレータで、 アナログ波形を表示する機能を備えています。 Vivado シ ミ ュレータでは、 デザインのビヘイビアー シ ミ ュレーシ ョ ン、 構造シ ミ ュレーシ ョ ン、 インプリ メン ト済みデザインのタイ ミ ング シミ ュレーシ ョ ンを実行できます。

または、 開いているデザインの Verilog、 VHDL ネッ ト リ ス ト 、 および SDF フォーマッ ト ファ イルを記述するこ とによ り、 サードパーティ シ ミ ュレータも使用できます。 ModelSim および Questa シ ミ ュレータを Vivado IDE から起動できます。

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

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

非プロジェク ト モードでは、 各インプリ メンテーシ ョ ン ステップは、 コンフ ィギュレーシ ョ ン可能な Tcl コマンドを使用して起動され、 デザインはメモ リでコンパイルされます。 インプリ メンテーシ ョ ン ステップは、 「非プロジェク ト モードの Tcl スク リプ トの例」 に示すよ うに、 特定の順序で実行する必要があ り ます。 必要に応じて、power_opt_design または phys_opt_design などのステップを実行するこ と もできます。 非プロジェク ト モードでは、 プロジェク ト モードでしかサポート されない run ス ト ラテジの代わりに、 さまざまなコマンドを使用してツール動作を制御できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] を参照してください。

重要なデザイン ステップの実行後は、 デザイン解析および制約の定義のためにデザイン チェッ クポイン ト を保存しておきます。 デザイン チェッ クポイン トは、 ビッ ト ス ト リームの生成を除き、 デザイン プロセスを続行するための開始ポイン ト と しては使用できません。 これらは、 単に解析および制約定義のためのデザインのスナップシ ョ ッ トにすぎません。

ヒン ト : 各デザイン ステップの実行後に Vivado IDE を起動して、 「Vivado IDE を使用したデザイン解析」 に示す方法に従い、 インタラ クティブなグラフ ィカル デザイン解析および制約定義をアクティブ デザインで実行できます。

レポートの生成

vivado.log および vivado.jou を除き、 レポートは Tcl コマンドを使用して手動で生成する必要があ り ます。 デザイン プロセスのどの段階でも、 さまざまなレポート を生成できます。 詳細は、 『Vivado Design Suite Tcl コマンド リファレンス ガイ ド』 (UG835) [参照 19] または 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] を参照してください。

デザイン フローの概要 57UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 58: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

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

デザイン チェッ クポイン ト を使用する と、 デザインの現在の状態のスナップシ ョ ッ ト を保存できます。 現在のネット リ ス ト 、 制約、 およびインプ リ メンテーシ ョ ン結果が、 デザイン チェッ クポイン トに保存されます。 デザイン チェッ クポイン ト を使用する と、 次を実行できます。

• 必要に応じてデザインを復元

• デザイン解析を実行

• 制約を定義

• デザイン フローに従って処理

デザイン チェッ クポイン トは、 フローの異なる段階で書き出すこ とができます。 重要なデザイン ステップの実行後は、 デザイン解析および制約の定義のためにデザイン チェッ クポイン ト を書き出しておきます。 デザイン チェッ クポイン ト を読み込むとデザインを復元できるので、 問題をデバッグする際に便利です。 デザイン チェッ クポイン トは、 デザインを現在のインプ リ メンテーシ ョ ン状態で完全に保存したものです。 残りのデザイン フローを 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) [参照 19] を参照してください。

重要 : プロジェク ト モードまたは非プロジェク ト モードで IP を使用する場合は、DCP ファ イルの代わりに XCI ファイルを常に使用してください。 このファ イルを使用する と、 すべてのデザイン フロー段階で IP 出力ファイルが使用されます。 IP が独立モジュールと して合成されており、 関連する DCP ファ イルが既にある場合は、 その DCP ファ イルが自動的に使用され、 IP は再合成されません。詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] のこのセクシ ョ ンを参照してください。

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

非プロジェク ト モードの場合、 デザイン ステップの実行後に Vivado IDE を起動して、 インタラ クティブなグラフ ィカル デザイン解析および制約定義をアクティブ デザインで実行できます。

Vivado IDE でアクテ ィブ デザインを開く

非プロジェク ト モードでは、 次のコマンドを使用してメモ リ内のアクティブ デザインに対する Vivado IDE を起動および終了します。

• start_gui : メモ リ内のアクティブ デザインを Vivado IDE で開きます。

• stop_gui : Vivado IDE を終了し、 Vivado Design Suite シェルに戻り ます。

注意 : GUI から Vivado Design Suite を閉じた場合は、 Vivado Design Suite Tcl シェルが閉じ、 メモ リにデザインは保存されません。 アクティブ デザインを変更せずに Vivado Design Suite Tcl シェルに戻るには、 exit コマンドではなく、stop_gui コマンドを入力してください。

デザイン プロセスの各段階が終了したら、 Vivado IDE を開いてメモ リにある現在のデザインを解析および操作できます (59 ページの図 4-1)。 Flow Navigator、プロジェク ト サマリ、 ソースへのアクセスおよび管理、 run などの Vivado IDE の機能は非プロジェク ト モードでは使用できませんが、 解析および制約変更の機能の多くは、 [Tools] メニューから使用できます。

デザイン フローの概要 58UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 59: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

重要 : メモ リ内のアクティブ デザインに対して Vivado IDE で加えた変更は、 自動的にはダウンス ト リーム ツールに適用されません。

アクテ ィブ デザインへの変更の保存

メモ リ内でデザインを変更するので、加えた変更は残りの Vivado IDE Tcl セッシ ョ ンで使用されるダウンス ト リーム ツールに自動的に渡されます。 こ これによ り、 これらの変更をアクティブ デザインに反映させたり、 今後使用できるよ うに保存できます。今後使用するために制約を保存するには、 [File] → [Export] → [Export Constraints] をク リ ッ クします。 このコマンドでは、 新しい制約ファイルを作成するか、 元のファイルに上書きできます。

注記 : 制約をエクスポートする場合は、 Tcl コマンドの write_xdc を実行します。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照してください。

X-Ref Target - Figure 4-1

図 4-1 : Vivado IDE でアクテ ィブ デザインを開く

デザイン フローの概要 59UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 60: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

Vivado IDE でデザイン チェ ックポイン ト を開く

Vivado IDE を使用する と、 デザイン チェッ クポイン ト と して保存したデザインを解析できます (図 4-2)。 非プロジェク ト モードで Tcl コマンド (synth_design、 opt_design、 power_opt_design、 place_design、phys_opt_design、 route_design) を使用してデザインを実行し、 任意の段階でデザインを保存して、 Vivado IDE セッシ ョ ンで保存したチェッ クポイン ト を読み込むこ とができます。 配線済みデザインを開いてタイ ミ ングを解析し、 タイ ミ ングの問題を解決するよ う配置を調整し、 デザインが完全に配線されていない状態であっても、 後で使用できるよ うに保存できます。 Vivado IDE のビュー バナーに、 開いているデザイン チェッ クポイン トの名前が表示されます。

デザイン チェ ックポイン トへのデザインの変更点の保存

デザイン チェッ クポイン ト を開いて解析し、 保存できます。 新しいデザイン チェッ クポイン トに変更を保存すること もできます。

• [File] → [Save Checkpoint] をク リ ッ ク し、 現在のデザイン チェッ クポイン トに加えた変更を保存します。

• [File] → [Write Checkpoint] をク リ ッ ク し、 デザイン チェッ クポイン トの現在の状態を新しいデザイン チェッ クポイン ト と して保存します。

X-Ref Target - Figure 4-2

図 4-2 : Vivado IDE でデザイン チェ ックポイン ト を開く

デザイン フローの概要 60UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 61: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

非プロジェク ト モードでの 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) [参照 19] および 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 18] も参照してください。

表 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 ファ イルはサポート されなくなっています。

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 を実行します。

デザイン フローの概要 61UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 62: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

非プロジェク ト モードの Tcl スクリプ トの例

次は、Vivado Design Suite に含まれる BFT サンプル デザインの非プロジェク ト モードの Tcl スク リプ トです。デザイン チェッ クポイン ト を使用してフローのさまざまな段階でデータベースの状態を保存する方法と、 さまざまなレポート を手動で生成する方法を示しています。

run_bft_kintex7_batch.tcl スク リプ トは、 次の Vivado Design Suite インス トール ディ レク ト リ に含まれています。

<install_dir>/Vivado/2015.1/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## 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#

write_checkpoint フローの任意の段階でのデザインを保存します。 デザイン チェッ クポイン トには、 ネッ ト リス ト 、 制約 (フローで実行された 適化を含む)、 インプリ メンテーシ ョ ン結果が含まれます。

start_gui

stop_gui

Vivado IDE でメモ リ内のアクティブ デザインで開き、 終了します。

表 4-1 : 非プロジェク ト モードでの基本 Tcl コマンド (続き)

コマンド 説明

デザイン フローの概要 62UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 63: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

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

# 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

デザイン フローの概要 63UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 64: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

付録 A

その他のソースおよび法的通知

ザイリンクス リソース

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

ソリューシ ョ ン センター

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

Documentation Navigator およびデザイン ハブ

Xilinx Documentation Navigator を使用する とザイ リ ンクスの資料、 ビデオ、 およびサポート リ ソースにアクセスして情報をフ ィルター、 検索できます。

Xilinx Documentation Navigator (DocNav) を開くには、 次のいずれかを実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブでは資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられており、 これらを使用する とキーコンセプ ト を学ぶこ とができ、 よ くある質問を解決できます。 デザイン ハブにアクセスするには、 次のいずれかを実行します。

• Xilinx Documentation Navigator で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注意 : Xilinx Documentation Navigator からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページの一部は翻訳されており、 日本語版が提供されている場合はそのリ ンク も追加されています。

デザイン フローの概要 64UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 65: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

付録 A : その他のソースおよび法的通知

参考資料

注記 : 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)

2. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)

3. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

4. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)

5. 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898)

6. 『Vivado Design Suite チュート リ アル : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG940)

7. 『Vivado Design Suite ユーザー ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG897)

8. 『Vivado Design Suite ユーザー ガイ ド : 高位合成』 (UG902)

9. 『Vivado Design Suite チュート リ アル : 高位合成』 (UG871)

10. 『Vivado Design Suite ユーザー ガイ ド : 階層デザイン』 (UG905)

11. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899)

12. 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895)

13. 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906)

14. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)

15. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

16. 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909)

17. 『Vivado Design Suite チュート リ アル : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947)

18. 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)

19. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

20. 『Vivado Design Suite チュート リ アル : デザイン フローの概要』 (UG888)

21. 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)

22. 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949 : 英語版、 日本語版)

23. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)

24. 『ISE から Vivado Design Suite への移行手法ガイ ド』 (UG911)

25. 『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成とパッケージ』 (UG1118)

26. 『Vivado Design Suite チュート リ アル : カスタム IP の作成とパッケージ』 (UG1119)

27. Vivado Design Suite QuickTake ビデオ : Vivado IP インテグレーターを使用したデザイン

28. Vivado Design Suite QuickTake ビデオVivado Design Suite QuickTake ビデオ : Vivado IP インテグレーターを使用した Zynq デバイスの設計

29. Vivado Design Suite QuickTake ビデオ : Vivado Design Suite でパーシャル リ コンフ ィギュレーシ ョ ンを実行

30. Vivado Design Suite QuickTake ビデオ : Vivado Design Suite でのリ ビジ ョ ン管理の使用

31. Vivado Design Suite QuickTake ビデオ

32. Vivado Design Suite QuickTake ビデオ : Vivado での Cadence IES を使用したシ ミ ュレーシ ョ ン

33. Vivado Design Suite QuickTake ビデオ : Vivado での Synopsys VCSを使用したシ ミ ュレーシ ョ ン

34. Vivado Design Suite QuickTake ビデオ : Vivado IDE 入門

35. Vivado Design Suite の資料

デザイン フローの概要 65UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com

Page 66: Vivado Design Suite - Xilinx -灵活应变. 万物智能. · 2019-10-28 · デザイン フローの概要 2 UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com 改訂履歴 次の表に、この文書の改訂履歴を示します。

付録 A : その他のソースおよび法的通知

ト レーニング リソース

ザイ リ ンクスでは、 本書に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよびビデオ チュート リアルを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

1. Vivado Design Suite 入門ワークシ ョ ップ ト レーニング コース

2. Vivado デザイン ツール フロー ト レーニング コース

3. Vivado での FPGA 設計導入ト レーニング コース

お読みください : 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ

らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または

貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わな

い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に

は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の

損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で

あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に

含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま

せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一

定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件

に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を

使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。

© Copyright 2012-2016 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれ

の保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。

デザイン フローの概要 66UG892 (v2016.1) 2016 年 4 月 6 日 japan.xilinx.com