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

Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

Vivado Design Suite ユーザー ガイド

デザイン フローの概要

UG892 (v2015.3) 2015 年 9 月 30 日

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

Page 2: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

デザイン フローの概要 japan.xilinx.com 2UG892 (v2015.3) 2015 年 9 月 30 日

改訂履歴

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

日付 バージョ ン 改訂内容

2015 年 9 月 30 日 2015.3 第 2 章 「使用モデル」 および第 4 章 「非プロジェク ト モードの使用」 にヒ ン ト を追加

2015 年 4 月 1 日 2015.1 「階層デザイン」 セクシ ョ ンを新し く追加し、 図 3-16 をアップデート

第 1 章 「概要」、 第 2 章 「使用モデル」、 第 3 章 「プロジェク ト モードの使用」、 第 4 章 「非プロジェク ト モードの使用」 の内容をアップデート し、 新しいビデオ チュート リ アルのリンクを追加

図 3-1、 図 3-2、 図 3-4、 図 3-5、 図 3-6、 図 3-14、 図 3-15、 図 3-16、 図 4-1 をアップデート

2015 年 6 月 19 日 2015.1 第 3 章 「プロジェ ク ト モードの使用」 で図 1-1 をアップデート し、 3 つのリ ンク先を変更(32、 39、 および 56 ページ)

Page 3: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

目次

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

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

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

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

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

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

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

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

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

デバイス プログラムおよびハードウェア検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

デザイン フローの概要 japan.xilinx.com 3UG892 (v2015.3) 2015 年 9 月 30 日

Page 4: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

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

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

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

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

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

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

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

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

デザイン フローの概要 japan.xilinx.com 4UG892 (v2015.3) 2015 年 9 月 30 日

Page 5: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 で使用可能な主な機能を示します。

デザイン フローの概要 japan.xilinx.com 5UG892 (v2015.3) 2015 年 9 月 30 日

Page 6: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 1 章 : 概要

システム レベルのデザイン フロー図 1-1 に、 Vivado Design Suite での全体的なデザイン フローを示します。

X-Ref Target - Figure 1-1

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

デザイン フローの概要 japan.xilinx.com 6UG892 (v2015.3) 2015 年 9 月 30 日

Page 7: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 シ リーズ用の Memory Interface Generator (MIG) コアなどの例外もあ り ます。

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

• 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] および 『VivadoDesign Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 3] を参照して ください。

デザイン フローの概要 japan.xilinx.com 7UG892 (v2015.3) 2015 年 9 月 30 日

Page 8: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 デバイスおよび MicroBlaze™ プロセッサをターゲッ ト にするデザインを含めたエンベデッ ド プロセッサ デザイン用の Xilinx Platform Studio (XPS) に代わる ものです。 XPS は Vivado Design Suite とは統合されなくな り ました。

ビデオ : Vivado IP インテグレーターとエンベデッ ド プロセッサ デザイン フローの ト レーニング ビデオは、 VivadoDesign Suite ビデオ チュート リ アル : Vivado IP インテグレーターを使用したデザインおよび Vivado Design Suite ビデオ チュート リ アル : 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] を参照してください。

デザイン フローの概要 japan.xilinx.com 8UG892 (v2015.3) 2015 年 9 月 30 日

Page 9: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 ビデオ チュート リ アル ページから視聴できます。

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

デザイン フローの概要 japan.xilinx.com 9UG892 (v2015.3) 2015 年 9 月 30 日

Page 10: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 1 章 : 概要

業界標準に基づいたデザインVivado Design Suite では、 次の業界標準がサポート されます。

• Tcl

• AXI4、 IP-XACT

• Synopsys デザイン制約 (SDC)

• Verilog、 VHDL、 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] の 「VivadoDesign Suite ボード フローの使用」 を参照して ください。

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] を参照してください。

デザイン フローの概要 japan.xilinx.com 10UG892 (v2015.3) 2015 年 9 月 30 日

Page 11: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 1 章 : 概要

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

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

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

デバイス プログラムおよびハードウェア検証インプ リ メ ンテーシ ョ ン後には、 Vivado ラボ ツール環境でデバイスをプログラムおよび解析できます。 デバッグ信号は 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 ビデオ チュート リ アル : Vivado DesignSuite でのパーシャル リ コンフ ィギュレーシ ョ ンを参照してください。

デザイン フローの概要 japan.xilinx.com 11UG892 (v2015.3) 2015 年 9 月 30 日

Page 12: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 1 章 : 概要

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

デザイン フローの概要 japan.xilinx.com 12UG892 (v2015.3) 2015 年 9 月 30 日

Page 13: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 でインタラ クティブに実行できます。

デザイン フローの概要 japan.xilinx.com 13UG892 (v2015.3) 2015 年 9 月 30 日

Page 14: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 2 章 : 使用モデル

機能の違い

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

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

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

• ツール設定およびデザイン コンフ ィギュレーシ ョ ンの保存および再利用

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

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

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

• Flow Navigator

• プロジェク ト サマリ

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

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

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

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

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

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

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

レポート 自動 手動

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

デザイン フローの概要 japan.xilinx.com 14UG892 (v2015.3) 2015 年 9 月 30 日

Page 15: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 ファ イルにも保存されます。 このファ イルを使用して、 どちらのモードでも使用できるよ う なスク リプ ト を開発するこ と も可能です。

デザイン フローの概要 japan.xilinx.com 15UG892 (v2015.3) 2015 年 9 月 30 日

Page 16: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 2 章 : 使用モデル

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

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

デザイン フローの概要 japan.xilinx.com 16UG892 (v2015.3) 2015 年 9 月 30 日

Page 17: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 2 章 : 使用モデル

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

• Vivado IDE 外で Vivado Design Suite Tcl シェルに個々の Tcl コマンドを入力する。

• Vivado IDE の下部にある [Tcl Console] ウ ィンド ウに個々の 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 2015.x] → [Vivado 2015.xTcl Shell] をク リ ッ ク しても起動できます。

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

Vivado ツールを起動したと きに Tcl スク リプ ト を供給する と、 Vivado ツールをバッチ モードで使用できます。 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] を参照してください。

デザイン フローの概要 japan.xilinx.com 17UG892 (v2015.3) 2015 年 9 月 30 日

Page 18: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 IDE はプロジェク ト作業ディ レク ト リから起動して ください。 これによ り、 起動ディ レク ト リに書き込まれるプロジェク ト ファ イル、 ログ ファ イル、 ジャーナル ファ イルが見つけやすくな り ます。

Windows での Vivado IDE の起動

[スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2015.x] → [Vivado 2015.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 を実行します。

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

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

start_gui

X-Ref Target - Figure 2-2

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

デザイン フローの概要 japan.xilinx.com 18UG892 (v2015.3) 2015 年 9 月 30 日

Page 19: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 2 章 : 使用モデル

リビジ ョ ン管理システムさまざまなデザイン コンフ ィギュレーシ ョ ンおよびリ ビジ ョ ンを保存するのには、ソース管理システムを使用するのが一般的です。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 ビデオチュート リ アル : 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 InformationSpecification) モデルも Vivado IDE からエクスポート して、 PCB でのシグナル インテグ リ ティ解析に使用できます。

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

デザイン フローの概要 japan.xilinx.com 19UG892 (v2015.3) 2015 年 9 月 30 日

Page 20: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 2 章 : 使用モデル

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

ロジック合成の実行

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

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

Mentor Graphics 社、 Cadence 社、 Synopsys 社から提供されるロジッ ク シ ミ ュレーシ ョ ン ツールは、 Vivado IDE から直接起動できます。 また、 サポート されているすべてのサードパーティ ロジッ ク シ ミ ュレータ用にネッ ト リ ス ト を出力できます。 Vivado Design Suite からは、 デザイン フローのどの段階でも完全な Verilog または VHDL ネッ ト リ スト をエクスポート して、サードパーティ シ ミ ュレータで使用できます。 また、標準遅延フォーマッ ト (SDF) でインプリ メンテーシ ョ ン後の遅延をエクスポート して、サードパーティのタイ ミ ング シ ミ ュレーシ ョ ンで使用するこ と もできます。

ビデオ : 詳細は、 Vivado Design Suite ビデオ チュート リ アル : Vivado で Cadence IES を使用したシ ミ ュレーシ ョ ンおよびVivado Design Suite ビデオ チュート リ アル : Vivado で Synopsys VCS を使用したシ ミ ュレーシ ョ ンを参照して ください。

注記 : ザイ リ ンクス IP には、 RTL ソースを Verilog または VHDL 形式のいずれかのみで提供されるものがあ り ます。合成後、 いずれかの言語で構造型ネッ ト リ ス ト を作成できます。

デザイン フローの概要 japan.xilinx.com 20UG892 (v2015.3) 2015 年 9 月 30 日

Page 21: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 3 章

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

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

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

Vivado IDE では、 合成およびインプ リ メ ンテーシ ョ ンなどの定義済みデザイン フロー手順を起動するには、 FlowNavigator (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] を参照してください。

デザイン フローの概要 japan.xilinx.com 21UG892 (v2015.3) 2015 年 9 月 30 日

Page 22: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

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

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

X-Ref Target - Figure 3-1

図 3-1 : Vivado IDE の Flow Navigator

X13346

デザイン フローの概要 japan.xilinx.com 22UG892 (v2015.3) 2015 年 9 月 30 日

Page 23: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

デザイン フローの概要 japan.xilinx.com 23UG892 (v2015.3) 2015 年 9 月 30 日

Page 24: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 ツールはどのシステムにも対応できます。 VivadoDesign Suite では、 デザイン フローを通してファイルが使用および生成され、 これらを リ ビジ ョ ン管理下で管理するこ とが必要な場合があ り ます。

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

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

デザイン フローの概要 japan.xilinx.com 24UG892 (v2015.3) 2015 年 9 月 30 日

Page 25: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

X-Ref Target - Figure 3-2

図 3-2 : Flow Navigator

デザイン フローの概要 japan.xilinx.com 25UG892 (v2015.3) 2015 年 9 月 30 日

Page 26: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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

デザイン フローの概要 japan.xilinx.com 26UG892 (v2015.3) 2015 年 9 月 30 日

Page 27: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] セクシ ョ ン

デザイン フローの概要 japan.xilinx.com 27UG892 (v2015.3) 2015 年 9 月 30 日

Page 28: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] ウィンドウでの階層デザイン ソース ファイルのコンパイル

デザイン フローの概要 japan.xilinx.com 28UG892 (v2015.3) 2015 年 9 月 30 日

Page 29: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] の 「UCF 制約の XDC への移行」 を参照してください。

デザイン フローの概要 japan.xilinx.com 29UG892 (v2015.3) 2015 年 9 月 30 日

Page 30: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] の 「[Manage IP] プロジェク トの使用」 を参照してください。

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

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

デザイン フローの概要 japan.xilinx.com 30UG892 (v2015.3) 2015 年 9 月 30 日

Page 31: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

出力ファイルの生成

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

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

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-6

図 3-6 : Vivado IP カタログ

デザイン フローの概要 japan.xilinx.com 31UG892 (v2015.3) 2015 年 9 月 30 日

Page 32: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

アウト オブ コンテキスト デザイン用の 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] を参照してください。

デザイン フローの概要 japan.xilinx.com 32UG892 (v2015.3) 2015 年 9 月 30 日

Page 33: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] コマンドを使用する と、 エンベデッ ド プロセッサ デザインで使用するためのカスタム インターフェ イス ペリ フェ ラルも作成できます。 詳細は、 『VivadoDesign 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 インテグレーター

デザイン フローの概要 japan.xilinx.com 33UG892 (v2015.3) 2015 年 9 月 30 日

Page 34: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 では、 合成結果が表示され、 レポートファ イルが作成されます。 [Log] ウ ィンド ウから合成の警告またはエラーを選択する と、 RTL ソース ファ イルで該当するロジッ クがハイライ ト されます。

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

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

デザイン フローの概要 japan.xilinx.com 34UG892 (v2015.3) 2015 年 9 月 30 日

Page 35: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 を順次実行するか、 複数のローカル プロセッサで同時に実行できます。

デザイン フローの概要 japan.xilinx.com 35UG892 (v2015.3) 2015 年 9 月 30 日

Page 36: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

デザイン フローの概要 japan.xilinx.com 36UG892 (v2015.3) 2015 年 9 月 30 日

Page 37: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

run のリセッ ト

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

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

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

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

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

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

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

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

デザイン フローの概要 japan.xilinx.com 37UG892 (v2015.3) 2015 年 9 月 30 日

Page 38: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] の 「[Messages] ウ ィンド ウ」 を参照してください。

X-Ref Target - Figure 3-10

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

X-Ref Target - Figure 3-11

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

デザイン フローの概要 japan.xilinx.com 38UG892 (v2015.3) 2015 年 9 月 30 日

Page 39: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

レポートの表示

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

X-Ref Target - Figure 3-12

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

デザイン フローの概要 japan.xilinx.com 39UG892 (v2015.3) 2015 年 9 月 30 日

Page 40: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 : デバイス プロパティの表示

デザイン フローの概要 japan.xilinx.com 40UG892 (v2015.3) 2015 年 9 月 30 日

Page 41: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] の 「[Save Constraints As] コマンドを使用した制約セッ トの作成」 を参照してください。

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

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

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] を参照してください。

デザイン フローの概要 japan.xilinx.com 41UG892 (v2015.3) 2015 年 9 月 30 日

Page 42: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

• 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 デザイン

デザイン フローの概要 japan.xilinx.com 42UG892 (v2015.3) 2015 年 9 月 30 日

Page 43: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] の 「DRC の実行」 および 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』(UG906) [参照 13] の 「DRC レポート 」 を参照してください。

合成済みデザインでは、プログラム済み FPGA のテス トおよびデバッグをサポートするために、デバッグ コア ロジックを設定およびインプ リ メン トできます。 [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 の名前をダブルク リ ッ ク します。

デザイン フローの概要 japan.xilinx.com 43UG892 (v2015.3) 2015 年 9 月 30 日

Page 44: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

X-Ref Target - Figure 3-15

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

デザイン フローの概要 japan.xilinx.com 44UG892 (v2015.3) 2015 年 9 月 30 日

Page 45: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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] コマン ドが淡色表示になっている こ とがあ り ます。 この場合、 FlowNavigator で [Implementation] を右ク リ ッ ク して、 完了したインプ リ メ ンテーシ ョ ン run のインプリ メン ト済みデザインを開く こ とができます。

デザイン フローの概要 japan.xilinx.com 45UG892 (v2015.3) 2015 年 9 月 30 日

Page 46: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

X-Ref Target - Figure 3-16

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

デザイン フローの概要 japan.xilinx.com 46UG892 (v2015.3) 2015 年 9 月 30 日

Page 47: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 : デザインの再読み込みが必要であることを示すバナー

デザイン フローの概要 japan.xilinx.com 47UG892 (v2015.3) 2015 年 9 月 30 日

Page 48: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 : レイアウトの選択

デザイン フローの概要 japan.xilinx.com 48UG892 (v2015.3) 2015 年 9 月 30 日

Page 49: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 DesignSuite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 19] を参照してください。

デザイン フローの概要 japan.xilinx.com 49UG892 (v2015.3) 2015 年 9 月 30 日

Page 50: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

デザイン フローの概要 japan.xilinx.com 50UG892 (v2015.3) 2015 年 9 月 30 日

Page 51: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

コマンド 説明

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

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

注記 : UltraScale では .xco ファ イルはサポート されなくなっています。

set_property Vivado Design Suite でさまざまな目的で使用されます。 プロジェク トでは、 ソースの VHDL ライブラ リ、 シ ミ ュレーシ ョ ンのみのソース、 ターゲッ ト制約ファイル、 ツール設定などを定義できます。

import_files 指定のファ イルを現在のファ イル セッ トにインポート し、 プロジェク トに追加します。 XDCファ イルを制約セッ トに割り当てるのにも使用します。

launch_runslaunch_runs -to_step

合成、 インプリ メンテーシ ョ ン、 またはビッ ト ス ト リーム生成を開始します。 このコマンドには、 個々のインプリ メンテーシ ョ ン コマンド と、 run の完了後に標準レポート を生成するコマンドが含まれます。すべてのインプリ メンテーシ ョ ン プロセスを 1 つのコマンドで実行し、進行状況を管理します。 -to_step オプシ ョ ンを使用する と、 個々のインプリ メンテーシ ョ ン コマンドおよびビッ ト ス ト リーム生成を個別に実行できます。

wait_on_run run が完了するまで待ってから Tcl スク リプ トの次のコマンドを実行します。

open_run 合成済みデザインまたはインプリ メン ト済みデザインをレポートおよび解析用に開きます。 レポートや解析の Tcl を使用して情報を取得するには、 デザインを開いておく必要があ り ます。

close_design メモ リ内のデザインを閉じます。

start_guistop_gui

メモ リ内の現在のデザインで Vivado IDE を起動し、 終了します。

デザイン フローの概要 japan.xilinx.com 51UG892 (v2015.3) 2015 年 9 月 30 日

Page 52: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

次に、 RTL プロジェク ト とネッ ト リ ス ト プロジェク トの Tcl スク リプ ト例を示します。 初のスク リプ ト例 run_bft_kintex7_project.tcl は、 Vivado Design Suite インス トール ディレク ト リ <install_dir>/Vivado/2015.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

デザイン フローの概要 japan.xilinx.com 52UG892 (v2015.3) 2015 年 9 月 30 日

Page 53: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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

デザイン フローの概要 japan.xilinx.com 53UG892 (v2015.3) 2015 年 9 月 30 日

Page 54: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 ソース ファ イルが開き、 該当する行がハイライ ト されます。

デザイン フローの概要 japan.xilinx.com 54UG892 (v2015.3) 2015 年 9 月 30 日

Page 55: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

ソース ファイルの管理

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

デザイン フローの概要 japan.xilinx.com 55UG892 (v2015.3) 2015 年 9 月 30 日

Page 56: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

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

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

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

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

• Vivado IP カタログを使用して生成した IP (.xci 形式)

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

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

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

• IP をコンフ ィギュレーシ ョ ンおよび生成する Tcl コマンドのセッ ト

Tcl を使用する と、 run ごとに IP がコンフ ィギュレーシ ョ ン、 生成、 および合成されます。

デザイン フローの概要 japan.xilinx.com 56UG892 (v2015.3) 2015 年 9 月 30 日

Page 57: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 1] の 「IP 操作用 Tcl コマンド」 を参照してください。

ロジック シミ ュレーシ ョ ンの実行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] を参照してください。

デザイン フローの概要 japan.xilinx.com 57UG892 (v2015.3) 2015 年 9 月 30 日

Page 58: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 などの VivadoIDE の機能は非プロジェク ト モードでは使用できませんが、 解析および制約変更の機能の多くは、 [Tools] メニューから使用できます。

デザイン フローの概要 japan.xilinx.com 58UG892 (v2015.3) 2015 年 9 月 30 日

Page 59: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 を開く

デザイン フローの概要 japan.xilinx.com 59UG892 (v2015.3) 2015 年 9 月 30 日

Page 60: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

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

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

X-Ref Target - Figure 4-2

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

デザイン フローの概要 japan.xilinx.com 60UG892 (v2015.3) 2015 年 9 月 30 日

Page 61: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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 SuiteTcl コマンド リ ファレンス ガイ ド』 (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_paramset_property

デザイン コンフ ィギュレーシ ョ ン、 ツール設定の定義など、 さまざまな目的に使用します。

link_design セッシ ョ ンでネッ ト リ ス ト ソースを使用している場合に、 デザインを合成用にコンパイルします。

synth_design デザインの 上位モジュールと ターゲッ ト パーツを引数と して Vivado 合成を実行します。

opt_design 高レベルのデザイン 適化を実行します。

power_opt_design システム全体の消費電力を削減するためクロ ッ ク ゲーティングを実行します (オプシ ョ ン)。

place_design デザインを配置します。

phys_opt_design タイ ミ ングまたは配線性を向上するため物理ロジッ ク 適化を実行します (オプシ ョ ン)。

route_design デザインを配線します。

report_* デザイン プロセスのさまざまな段階のレポート を生成します。

write_bitstream ビッ ト ス ト リーム ファ イルを生成して DRC を実行します。

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

start_guistop_gui

メモ リ内の現在のデザインで Vivado IDE を起動し、 終了します。

デザイン フローの概要 japan.xilinx.com 61UG892 (v2015.3) 2015 年 9 月 30 日

Page 62: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

第 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## 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.rpt

デザイン フローの概要 japan.xilinx.com 62UG892 (v2015.3) 2015 年 9 月 30 日

Page 63: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

write_verilog -force $outputDir/bft_impl_netlist.vwrite_xdc -no_fixed_only -force $outputDir/bft_impl.xdc## STEP#5: generate a bitstream# write_bitstream -force $outputDir/bft.bit

デザイン フローの概要 japan.xilinx.com 63UG892 (v2015.3) 2015 年 9 月 30 日

Page 64: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

付録 A

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

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

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

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

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)

デザイン フローの概要 japan.xilinx.com 64UG892 (v2015.3) 2015 年 9 月 30 日

Page 65: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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 ビデオ チュート リ アル : Vivado IP インテグレーターを使用したデザイン

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

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

30. Vivado Design Suite ビデオ チュート リ アル : Vivado Design Suite のリ ビジ ョ ン管理システムとの使用

31. Vivado Design Suite ビデオ チュート リ アル

32. Vivado Design Suite の資料

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

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

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

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

デザイン フローの概要 japan.xilinx.com 65UG892 (v2015.3) 2015 年 9 月 30 日

Page 66: Vivado Design Suite - Xilinx · また、Vivado HLS を使用して、C ベーエスのソースを使用してデザイ ン部分をコンパイルすることもできます。

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

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

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

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

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

社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、

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

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

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

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

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

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

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

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

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

ク と責任は、 貴殿または貴社が単独で負う ものです。 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照

してください。

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

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

有者に帰属します。

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

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

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

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

デザイン フローの概要 japan.xilinx.com 66UG892 (v2015.3) 2015 年 9 月 30 日