74
Vivado Design Suite ユーザー ガイド システム レベル デザイン入力 UG895 (v2013.1) 2013 3 20

Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

Vivado Design Suite ユーザー ガイド

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

UG895 (v2013.1) 2013 年 3 月 20 日

Page 2: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

システム レベル デザイン入力 www.xilinx.com 2UG895 (v2013.1) 2013 年 3 月 20 日

Notice of DisclaimerThe information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps.© Copyright 2012-2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

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

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

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

日付 バージョ ン 改訂内容

2013/03/20 2013.1 • 第 1 章の 「Vivado Design Suite の起動」 を追加

• 第 2 章 「プロジェク トの操作」 のさまざまな手順に関連する Tcl コマンドを追加

• 「IP ソースの操作」 をアップデート、 「IP インテグレーターのソースの操作」 を追加、Vivado™ IP インテグレーターに関する注意書きを 第 3 章 「ソース ファ イルの操作」 の「エンベデッ ド ソースの操作」 に追加

• さまざまな手順に関連する Tcl コマンドを追加、RTL レベルで制約を作成および追加する方法を第 4 章 「RTL デザインのエラボレーシ ョ ン」 に追加

• 図 2-16、 図 3-1、 図 3-2、 図 3-5、 図 3-7、 図 3-13、 図 3-14、 図 3-15、 図 3-16、 図 3-17、 図 3-21、図 3-25、 図 3-26、 図 3-30、 図 4-2、 および 図 4-3をアップデート

Page 3: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

システム レベル デザイン入力 japan.xilinx.com 3UG895 (v2013.1) 2013 年 3 月 20 日

目次

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

第 1 章 : はじめに概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Vivado Design Suite の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

第 2 章 : プロジェク トの操作概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

プロジェク ト タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

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

プロジェク トの管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

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

プロジェク ト設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

第 3 章 : ソース ファイルの操作概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

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

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

第 4 章 : RTL デザインのエラボレーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

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

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

第 5 章 : デザインのデバッグ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

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

インシステム デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

付録 A : その他のリソースザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

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

リ ファレンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 4: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

第 1 章

はじめに

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

注記 : 本書には、 2013.1 リ リースでは早期アクセス機能と してライセンス付与される新しい Vivado IP インテグレーターの環境に関する情報が含まれます。 ラ イセンスの取得については、 フ ィールド アプ リ ケーシ ョ ン エンジニア(FAE) にご連絡ください。

Vivado Design Suite の起動

Vivado Design Suite は、 さまざまな方法で起動できます。たとえば、Tcl スク リプ ト ベースのコンパイル方法を使用す

る と、 ソースやデザイン プロセスをユーザーが管理できます。 この方法は、「非プロジェク ト モード」 と呼ばれます。

また、 プロジェク ト ベースの方法を使用して、 プロジェク トおよびプロジェク トの状態を使用して、 デザイン プロ

セスおよびデザイン データを自動的に管理させるこ と もできます。 この方法は、 「プロジェク ト モード」 と呼ばれま

す。 どちらの方法でも Tcl スク リプ トのバッチ モードで実行できるほか、 Vivado IDE でインタラ クティブに実行でき

ます。 さまざまなデザイン フロー モードの詳細は、『Vivado Design Suite User Guid ユーザー ガイ ド : デザイン フロー

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

Tcl プロジェク トの起動

Tcl を直接使用する場合は、 Tcl コマンドで次のいずれかの方法を使用してデザインを処理します。

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

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

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

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

Tcl および Tcl スク リプ トに関する情報は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)[参照 2] を参照してください。 Vivado ツールでの Tcl の使用方法の詳細については、 『Vivado Design Suite チュート リアル : デザイン フロー概要』 (UG888) [参照 3] を参照して ください。

システム レベル デザイン入力 japan.xilinx.com 4UG895 (v2013.1) 2013 年 3 月 20 日

Page 5: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

Vivado Design Suite の起動

Vivado Design Suite Tcl シェルの起動

Linux コマンド プロンプ ト または Windows のコマンド プロンプ トで次のコマンドを使用して、Vivado Design Suite Tclシェルを起動します。

vivado –mode tcl

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

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

Vivado ツールはを起動したと きに Tcl スク リプ ト を提供しておく と、 バッチ モードで使用できます。 Linux コマンドプロンプ ト または Windows のコマンド プロンプ トで次のコマンドを使用します。

vivado –mode batch –source <your_Tcl_script>

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

Vivado IDE の起動

GUI を使用する場合は、 Windows または Linux から Vivado IDE を起動します。 Vivado IDE の詳細は、 『Vivado DesignSuite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 4] を参照して ください。

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

Windows での Vivado IDE の起動

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

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

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

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

vivado

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

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

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

start_gui

X-Ref Target - Figure 1-1

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

システム レベル デザイン入力 japan.xilinx.com 5UG895 (v2013.1) 2013 年 3 月 20 日

Page 6: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

第 2 章

プロジェク トの操作

概要プロジェク ト モードで操作する場合は、 さまざまなプロジェク ト タイプを使用してデザインを入力できます。 本章では、 各プロジェク ト タイプとそのプロジェク トの作成および管理方法について説明します。 また、 プロジェク トサマ リ、 プロジェク ト設定のほか、 Tcl スク リプ ト を使用したプロジェク トの作成方法についても説明します。

プロジェク ト タイプVivado™ IDE を使用する と、 次のプロジェク ト タイプを作成できます。 各プロジェク ト タイプの入力ソース タイプは異なり ます。

• レジスタ ト ランスファー レベル (RTL) プロジェク ト

• 合成後のプロジェク ト

• I/O 配置プロジェク ト

• インポート プロジェク ト

注記 : プロジェク トは、 作成後は別のプロジェク ト タイプに変更できません。 例外は I/O 配置プロジェク トのみで、このプロジェク トは RTL プロジェク トの基礎と して使用するこ とができます。

RTL プロジェク ト

Vivado IDE を使用する と、RTL の作成からビッ ト ス ト リームの生成まで、デザイン フロー全体を管理できます。ユーザーは、 RTL ソース ファ イルのほか、 デザイン ブロ ッ クには EDIF ネッ ト リ ス ト を追加できるほか、 IP を追加できます。 IP には、 Vivado ツールで生成された XCI ファ イル、 CORE Generator™ ツールで生成された XCO ファ イル、およびコンパイル済みの NGC 形式の IP ネッ ト リ ス ト を含めるこ とができます。

RTL をエラボレート して解析し、 構文が正しいこ とを確認したら、 さまざまな合成やインプリ メンテーシ ョ ン run を実行および管理し、デザインと実行結果を解析できます。 また、 さまざまな制約やインプ リ メンテーシ ョ ン ス ト ラテジを試すこ と もできます。

合成後のプロジェク ト

Xilinx® Synthesis Technology (XST) やサポート されているサードパーティの合成ツールを使用して Vivado IDE 環境外で合成されたデザインから、 プロジェ ク ト を作成する こ と もでき ます。 Vivado IDE には、 EDIF、 NGC、 構造型SystemVerilog、 Verilog 形式のネッ ト リ ス ト をインポートできます。 ネッ ト リ ス トは、 1 つのファイルにまとめられているか、 複数のモジュール レベルのネッ ト リ ス トから構成される階層構造になっています。

ロジッ ク ネッ ト リ ス ト を解析し、 さまざまなインプ リ メンテーシ ョ ン run を実行および管理し、デザインと実行結果を解析できます。 また、 さまざまな制約やインプリ メンテーシ ョ ン ス ト ラテジを試すこ と もできます。

システム レベル デザイン入力 japan.xilinx.com 6UG895 (v2013.1) 2013 年 3 月 20 日

Page 7: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

注記 : エンベデッ ド タイ ミ ング制約を含む NGC または EDIF ファ イルをインポートする と、 その制約は使用されません。 ザイ リ ンク ス® デザイン制約 (XDC) ファ イルの詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』(UG903) [参照 5] を参照して ください。ユーザー制約ファイル (UCF) を XDC 制約に変換する方法については、VivadoDesign Suite 移行手法ガイ ド (UG911) [参照 6] を参照してください。

I/O 配置プロジェク ト

空の I/O 配置プロジェ ク ト を作成する と、 デザイン サイ クルの初期段階で I/O 配置を実行できます。 I/O ポート はVivado IDE 内で作成できますが、CSV または XDC 入力ファイルのいずれかの形式でインポートするこ と もできます。I/O 配置プロジェク ト を使用する と、 別のデバイス アーキテクチャで使用可能なロジッ ク リ ソースも確認できます。

I/O を割り当てた後、 Vivado IDE で CSV、 XDC、 および RTL 出力ファ イルを作成できます。 このファ イルは、 RTLソースまたはネッ ト リ ス トが使用可能になってから、 デザイン フローの後の段階で使用します。 この出力ファイルは、 プリ ン ト回路基板 (PCB) デザイン プロセスで使用する回路図シンボルの作成にも使用できます。

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

インポート プロジェク ト

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

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

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

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

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

3. [Project Name] ページ (図 2-1) で次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。

° [Project name] : プロジェク ト名を指定します (例 : project_1)。

° [Project location] : 新しいプロジェク トのディ レク ト リ を指定します。

° [Create Project Subdirectory] : プロジェク ト と同じ名前の下位ディ レク ト リ を指定したプロジェク ト ディ レクト リに追加します。

注記 : チェ ッ ク ボ ッ ク スはデフ ォル ト ではオンになってお り、 プロ ジェ ク ト フ ァ イル (.xpr) が<project_location>/<project_name> に作成されます。 プロジェ ク ト で作成されたすべてのフォルダーおよびデータ ファ イルは <project_name> ディ レク ト リに保存されます。オフにする と、プロジェクト ファ イル (.xpr) が <project_location> に作成され、 そのプロジェク トで作成されたすべてのフォルダーおよびデータ ファ イルがそのディ レク ト リに保存されます。

システム レベル デザイン入力 japan.xilinx.com 7UG895 (v2013.1) 2013 年 3 月 20 日

Page 8: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

4. [Project Type] ページ (図 2-2) でプロジェク ト タイプを指定し、プロジェク トに関連付けるソース ファ イルのタイプを決めます。

5. 作成するプロジェク ト タイプに応じて、次のセクシ ョ ンのいずれかの説明を参照して ください。ウ ィザードの残りのページで、 プロジェク トに 適なソースを追加していきます。

° RTL プロジェク トの作成

° 合成後プロジェク トの作成

° I/O ピン配置プロジェク トの作成

° 外部プロジェク トのインポート

RTL プロジェク トの作成

RTL ソース ファ イルを指定してプロジェ ク ト を作成する と、 RTL ソース ファ イルを合成およびインプ リ メ ンテーシ ョ ンだけでなく、 RTL コード開発および解析でも使用できます。 RTL の開発および解析の詳細は、第 4 章 「RTL デザインのエラボレーシ ョ ン」 を参照して ください。

X-Ref Target - Figure 2-1

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

X-Ref Target - Figure 2-2

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

システム レベル デザイン入力 japan.xilinx.com 8UG895 (v2013.1) 2013 年 3 月 20 日

Page 9: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

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

1. プロジェク トの作成の手順に従ってプロジェク ト を作成します。

2. [Project Type] ページで [RTL Project] をオンにして、 [Next] をク リ ッ ク します。

注記 : 必要であれば、 [Do not specify sources at this time] をオンにします。 これをオンにする と、 デザイン ソースを追加する手順を飛ばして、 ターゲッ ト パーツを選択してプロジェク ト を作成できます。

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

° [Add Files] : プロジェク トに追加するファイルを選択するためのファイル ブラウザーが表示されます。 RTLプロジェク トには、 HDL、 EDIF、 NGC、 BMM、 ELF およびその他のファイル タイプを追加できます。

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

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

° [Create File] : VHDL、Verilog、Verilog ヘッダー、または SystemVerilog ファ イルを作成する [Create Source File]ダイアログ ボッ クスが開きます。 [Create Source File] ダイアログ ボッ クスで次のよ うにオプシ ョ ンを設定します。

- [File type] : Verilog ファ イル (.v)、 Verilog ヘッダー ファ イル (.vh)、 SystemVerilog ファ イル (.sv)、 VHDLファ イル (.vhdl) などのファイル形式のいずれかを指定します。

- [File name] : 新しい HDL ソース ファ イルの名前を指定します。

- [File location] : ファ イルを作成するディ レク ト リ を指定します。

注記 : ファ イルのプレースホルダーがソースのリ ス トに追加されます。 ファ イルは [Finish] をク リ ッ クすると作成されます。

° [Library] : ファ イルまたはディ レク ト リの RTL ラ イブラ リ を指定します。 ラ イブラ リ名は選択するか、[Library] テキス ト フ ィールドに新しいライブラ リ名を入力して指定します。

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

° [HDL Source for] : 読み込むソースが合成およびシ ミ ュレーシ ョ ン用の RTL ソース ファ イルであるか、 シミ ュレーシ ョ ンのみで使用する RTL テス トベンチであるかを指定します。

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

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

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

° [Scan and Add RTL Include Files into Project] : すべての RTL ファ イルをスキャンし、 参照された Verilog の'include ファ イルをローカル プロジェク ト ディ レク ト リにインポート します。

° [Copy Sources into Project] : 元のファイルを参照するのではなく、ローカル プロジェク ト ディ レク ト リにファイルをコピーします。 [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場合は、 ファ イルがローカルのプロジェク ト にコピーされる際にディ レク ト リ構造もそのまま保持されます。詳細は、 第 3 章 「リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー」 を参照して ください。

° [Add Sources from Subdirectories] : [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれるソース ファ イルをすべて追加します。

° [Target Language] : Verilog または VHDL のいずれかにデザインのターゲッ ト言語を指定します。 新しい RTFファ イルはデフォル ト で指定したターゲッ ト言語にな り ます。 指定したターゲッ ト言語でデザインの出力ファイルが生成されます。

システム レベル デザイン入力 japan.xilinx.com 9UG895 (v2013.1) 2013 年 3 月 20 日

Page 10: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

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

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

XCI ファ イルは、 IP の作成に使用されるプロジェク ト オプシ ョ ン、 カスタマイズ パラ メーター、 ポート パラ メーターなどの値を記録する IP-XACT コンポーネン ト インスタンスの XML ファ イルです。

注記 : Vivado IP カタログを使用して XCI IP を追加する と、Vivado IDE は自動的に HDL ソースなどの生成されたターゲッ ト をすべてプロジェク トにインポート します。 合成を実行する と、 その IP と 上位デザインが一緒に合成されます。

° [Add Directories] : Vivado Design Suite の XCI ファ イルまたは XCO ファ イルのいずれかを含むディ レク ト リを選択するファイル ブラウザーが開きます。ディ レク ト リ を選択する と、そのディ レク ト リに含まれるすべての XCI および XCO ファ イルが IP リ ス トに追加されます。

° [Remove Selected Files and Directories] : X ボタンで表示され、選択したファイルおよびディ レク ト リ を削除します。

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

注記 : サードパーティから合成済み NGC または EDIF ネッ ト リ ス ト と して提供されている IP もあ り ます。 これらのファイルをデザインに読み込むには、 [Add Sources] コマンドをク リ ッ ク し、 [Add or Create Design Sources] をオンにしてファイルを読み込みます。第 3 章 「IP ソースの操作」 に示すよ うに、 IP カタログを使用する と VivadoIDE 内のプロジェク トにパラ メーター指定可能なコアを読み込むこ と もできます。

X-Ref Target - Figure 2-3

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

システム レベル デザイン入力 japan.xilinx.com 10UG895 (v2013.1) 2013 年 3 月 20 日

Page 11: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

5. オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。

° [Add Files] : プロジェク トに追加する Synopsys デザイン制約 (SDC) また XDC ファ イルを指定するためのファイル ブラウザーが開きます。

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

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

° [Up]/[Down] : 制約ファイルを リ ス トの上下方向に移動します。 コマンドはリ ス ト される順序に依存し、制約の 後のコマンドがそれよ り前のコマンドの結果を上書きします。

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

注記 : プロジェク トに関連付けられた RTL またはネッ ト リ ス ト ソース ファ イルと同じディ レク ト リの SDC または XDC ファ イルは、 プロジェク トに追加される制約ファイルと して自動的に表示されます。

6. [Default Part] ページ (図 2-6) でザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボードを選択し、 [Next] をク リ ッ ク します。

° [Parts] : 使用可能なデバイスがリ ス ト されます。デバイス リ ソースに関する情報が、表形式で表示されます。この リ ス トでは、 製品、 ファ ミ リ 、 サブファ ミ リ、 パッケージ、 スピード グレード、 および温度などのフ ィルターを使用して、 デバイスを絞り込むこ とができます。

X-Ref Target - Figure 2-4

図 2-4 : New Project ウィザード : [Add Existing IP] ページ

X-Ref Target - Figure 2-5

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

システム レベル デザイン入力 japan.xilinx.com 11UG895 (v2013.1) 2013 年 3 月 20 日

Page 12: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

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

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

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

8. オプシ ョ ン : 手順 3 で [Create File] オプシ ョ ンを使用する と、 [Define Module] ダイアログ ボッ クス (図 2-7) が開きます。 このダイアログ ボッ クスで次のオプシ ョ ンを使用して Verilog、 Verilog ヘッダー、 SystemVerilog、 または VHDL でモジュールまたはアーキテクチャを定義したら、 [OK] をク リ ッ ク します。

° [Entity name/Module name] : VHDL コードのエンティティ または Verilog または SystemVerilog コードのモジュール名の名前を指定します。

注記 : エンティティ またはモジュール名はデフォルトでそのファイル名になり ますが、 別の名前を付けること もできます。

° [Architecture name] : RTL ソース ファ イルのアーキテクチャを指定します。デフォルトでは [Behavioral] です。

注記 : このオプシ ョ ンは、 VHDL コードの場合にのみ表示され、 Verilog または SystemVerilog モジュールを定義する場合には表示されません。

° [I/O Port Definitions] : モジュール定義に追加するポート を定義します。

- [Port Name] : RTL コードに記述されるポートの名前を定義します。

- [Direction] : ポート を入力、 出力、 双方向のいずれかに指定します。

- [Bus] : ポートがバス ポートかど うかを指定します。 次の [MSB] および [LSB] オプシ ョ ンを使用してポートのバス幅を定義します。

X-Ref Target - Figure 2-6

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

システム レベル デザイン入力 japan.xilinx.com 12UG895 (v2013.1) 2013 年 3 月 20 日

Page 13: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

- [MSB] : 上位ビッ ト (MSB) の数を定義します。 [LSB] フ ィールド と組み合わせて、 定義されるバスの幅を指定します。

- [LSB] : 下位ビッ ト (LSB) の数を定義します。

注記 : ポートがバス ポートでない場合は、 MSB および LSB は無視されます。

RTL ソース ファ イルが作成され、 プロジェク トに追加されます。 [Sources] ビューに新し く定義したモジュールがリ ス ト されます。 Vivado IDE テキス ト エディ ターで新しいソース ファ イルを編集するには、 ファ イルをダブルク リ ッ クするか、 [Open File] ポップアップ メニューをク リ ッ ク します。新規作成したファイルの編集方法については、 第 3 章 「テキス ト エディ ターの使用」 を参照して ください。

合成後プロジェク トの作成

合成後プロジェク トは、 合成済みネッ ト リ ス トおよびその制約を使用して開始します。 この後、 デザインを解析、 フロアプラン、 インプリ メン トできます。

注記 : 合成済みネッ ト リ ス ト を作成するには、 XST またはサードパーティの合成ツールを使用できます。

1. プロジェク トの作成の手順に従ってプロジェク ト を作成します。

2. [Project Type] ページで [Post-Synthesis Project] をオンにして、 [Next] をク リ ッ ク します。

注記 : 必要であれば、 [Do not specify sources at this time] をオンにします。 これをオンにする と、 デザイン ソースを追加する手順を飛ばして、 ターゲッ ト パーツを選択してプロジェク ト を作成できます。

3. [Add Netlist Sources] ページ (図 2-8) で次のオプシ ョ ンを使用して、読み込むネッ ト リ ス ト ファ イルを指定し、上位モジュールを含むファイルを識別し、下位レベル モジュールのネッ ト リ ス ト を検索するためのディ レク ト リを定義したら、 [Next] をク リ ッ ク します。

° [Add Files] : プロジェク トに追加するネッ ト リ ス ト ファ イル (Verilog、 SystemVerilog、 EDIF または NGC) を選択します。

注記 : ファ イルに 上位ネッ ト リ ス トが含まれる場合は [Top] をオンにします。

° [Add Directories] : ディ レク ト リ ブラウザーが起動され、 モジュールを検索するディ レク ト リ を選択できます。 指定したディ レク ト リにある有効なソース ファ イルがすべてプロジェク トに追加されます。

X-Ref Target - Figure 2-7

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

システム レベル デザイン入力 japan.xilinx.com 13UG895 (v2013.1) 2013 年 3 月 20 日

Page 14: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

° [Remove Selected Files and Directories] : X ボタンで表示され、選択したファイルおよびディ レク ト リ を削除します。

° [Move Selected Files and Directories Up] : 上向き矢印のアイコンは、 ファ イルまたはディ レク ト リ を リ ス トの上方向に移動します。

° [Move Selected Files and Directories Down] : 下向き矢印のアイコンは、 ファ イルまたはディ レク ト リ を リ ス トの下方向に移動します。

° [Copy Sources into Project] : 元のファイルを参照するのではなく、ローカル プロジェク ト ディ レク ト リにファイルをコピーします。 [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場合は、 ファ イルがローカルのプロジェク ト にコピーされる際にディ レク ト リ構造もそのまま保持されます。詳細は、 第 3 章 「リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー」 を参照して ください。

° [Add Sources from Subdirectories] : [Add Directories] で指定したディ レク ト リの下位ディ レク ト リに含まれるネッ ト リ ス ト ファ イルを検索して追加します。

4. オプシ ョ ン : [Add Constraints] ページ (図 2-5) で次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。

° [Add Files] : プロジェク トに追加する SDC また XDC ファ イルを指定するためのファイル ブラウザーが開きます。

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

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

° [Up]/[Down] : 制約ファイルを リ ス トの上下方向に移動します。 コマンドはリ ス ト される順序に依存し、制約の 後のコマンドがそれよ り前のコマンドの結果を上書きします。

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

注記 : プロジェク トに関連付けられた RTL またはネッ ト リ ス ト ソース ファ イルと同じディ レク ト リの SDC または XDC ファ イルは、 プロジェク トに追加される制約ファイルと して自動的に表示されます。

5. [Default Part] ページ (図 2-6) でザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボードを選択し、 [Next] をク リ ッ ク します。

° [Parts] : 使用可能なデバイスがリ ス ト されます。デバイス リ ソースに関する情報が、表形式で表示されます。この リ ス トでは、 製品、 ファ ミ リ 、 サブファ ミ リ、 パッケージ、 スピード グレード、 および温度などのフ ィルターを使用して、 デバイスを絞り込むこ とができます。

° [Boards] : 使用可能な TDP ボード と、 そのボードで使用されるザイ リ ンクス パーツがリ ス ト されます。 I/Oピンのカウン トや LUT およびフ リ ップフロ ップの数、 使用可能なブロ ッ ク RAM などのデバイス リ ソース

X-Ref Target - Figure 2-8

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

システム レベル デザイン入力 japan.xilinx.com 14UG895 (v2013.1) 2013 年 3 月 20 日

Page 15: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

に関する情報が表形式で表示されます。 リ ス トは、 ファ ミ リ、パッケージ、 スピード グレードでフ ィルターをかけて表示させるこ と もできます。

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

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

I/O ピン配置プロジェク トの作成

I/O ピン配置プロジェク トは、 システム レベル デザインのデバイス ピン配置を指定するために使用します。 このタイプのプロジェク トは、 HDL または合成済みネッ ト リ ス ト を完了する前に作成できます。 たとえば、 システム レベルまたは PCB 設計者とデザイン情報を共有する目的などに使用できます。I/O ピン配置の詳細は、『Vivado Design Suiteユーザー ガイ ド : I/O およびクロ ッ ク配置』 (UG899) [参照 7] を参照して ください。

1. プロジェク トの作成の手順に従ってプロジェク ト を作成します。

2. [Project Type] ページで [I/O Planning Project] をオンにして、 [Next] をク リ ッ ク します。

3. オプシ ョ ン : [Import Ports] ダイアログ ボッ クス (図 2-9) で次のオプシ ョ ンを指定し、 I/O ポート定義および制約をインポートするためのファイルを選択したら、 [Next] をク リ ッ ク します。

° [Import CSV] : I/O 定義を含む CSV ファ イルを選択します。 CSV ファ イルに関する詳細は、 『Vivado DesignSuite ユーザー ガイ ド : I/O およびクロ ッ クの配置』 (UG899)[参照 7] を参照して ください。

° [Import XDC] : I/O ポート関連の制約のみを含む XDC ファ イルを選択します。

° [Do not import I/O ports at this time] : 空のプロジェク ト を作成します。I/O は後ほど作成またはインポートできます。

注記 : RTL ヘッダーまたはソース ファ イルを使用してデザインの I/O ピン配置を実行するには、 RTL プロジェク ト を使用します。

4. [Default Part] ページ (図 2-6) でザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボードを選択し、 [Next] をク リ ッ ク します。

° [Parts] : 使用可能なデバイスがリ ス ト されます。デバイス リ ソースに関する情報が、表形式で表示されます。この リ ス トでは、 製品、 ファ ミ リ 、 サブファ ミ リ、 パッケージ、 スピード グレード、 および温度などのフ ィルターを使用して、 デバイスを絞り込むこ とができます。

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

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

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

X-Ref Target - Figure 2-9

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

システム レベル デザイン入力 japan.xilinx.com 15UG895 (v2013.1) 2013 年 3 月 20 日

Page 16: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

外部プロジェク トのインポート

Vivado IDE 以外 (例 : Synopsys の Synplify、 XST、 または ISE Design Suite の Project Navigator) で作成した既存の RTLレベルのプロジェク ト ファ イルをインポートできます。 Vivado IDE では、 指定したプロジェク トのソース ファ イルが検出され、新規プロジェク トへ自動的に追加されます。 上位モジュール、 ターゲッ ト デバイス、 VHDL ライブラリ などの設定も既存プロジェク トからインポート されます。

注記 : XST または ISE Design Suite プロジェ ク ト のインポート方法については、 Vivado Design Suite 移行手法ガイ ド(UG911) [参照 6] を参照して ください。

1. プロジェク トの作成の手順に従ってプロジェク ト を作成します。

2. [Project Type] ページで [Imported Project] をオンにして、 [Next] をク リ ッ ク します。

3. [Import Project] ページ (図 2-10) で次のオプシ ョ ンを使用して、インポートするプロジェク ト ファ イルを指定したら、 [Next] をク リ ッ ク します。

° [ISE] : 指定したザイ リ ンクス ISE Design Suite プロジェク ト ファ イル (拡張子は.xise) をインポート します。

° Synplify : 指定した Synplify プロジェク ト ファ イル (拡張子は .prj をインポート します。

° XST : 指定した XST プロジェク ト ファ イル (拡張子は .xst) をインポート します。

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

4. [New Project Summary] ページでプロジェク ト を定義するオプシ ョ ンを確認したら、 [Finish] をク リ ッ ク します。

指定したプロジェク ト から RTLソース ファ イル、 制約ファ イルがインポート され、 指定したディ レク ト リにプロジェク ト ファ イルが作成されます。インポート プロセスのサマリがインポート サマリ レポートのログ ファ イルに記述され、 新規プロジェク ト ディ レク ト リに保存されます。 このサマ リ ファ イルでは、 プロジェク ト を作成する際に使用された手順およびエラーや警告メ ッセージを確認できます。

プロジェク ト を作成する Tcl コマンド

次の Tcl コマンドは、プロジェク トの作成に使用できます。 スク リプ ト例については、Tcl スク リプ ト を使用したプロジェク トの作成を参照して ください。

注記 : Tcl コマンドの詳細については、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 9] を参照するか、 <command> -help を入力して ください。

X-Ref Target - Figure 2-10

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

システム レベル デザイン入力 japan.xilinx.com 16UG895 (v2013.1) 2013 年 3 月 20 日

Page 17: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの作成

プロジェク ト を作成する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : create_project および set_property

• Tcl コマンドの例 (RTL プロジェク ト ) : create_project my_project C:/team/designs/my_project-part xc7k325tffg676-2

• Tcl コマンドの例 (合成後プロジェク ト ) :

create_project my_IO_project C:/team/designs/my_IO_project -part xc7k325tffg676-2

set_property design_mode GateLvl [current_fileset]

• Tcl コマンドの例 (I/O 配置プロジェク ト ) :

create_file project_io C:/projects/project_io -part xc7vx485tffg1157-1

set_property design_mode PinPlanning [current_fileset]

プロジェク ト をインポートする Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : create_project および import_xise

• Tcl コマンドの例 :

create_project project_import_ise C:/projects/project_import_ise

import_xise C:/projects/old/wave_gen_vhd_s6/wave_gen_vhd_s6.xise -copy_sources

デザイン ソース、 制約ファイル、 シミ ュレーシ ョ ン ソースを追加する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : add_files または import_files

• Tcl コマンドの例 :

add_files top.v

import_files -fileset constrs_1 C:/projects/sources/timing.xdc

注記 : add_files コマンドで、 現在のディ レク ト リから追加するファイルを参照し、 import_files コマンドでプロジェク トにファ イルをコピーします。

システム レベル デザイン入力 japan.xilinx.com 17UG895 (v2013.1) 2013 年 3 月 20 日

Page 18: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの管理

既存の IP ソース ファイルを追加する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : add_files または import_ip

• Tcl コマンドの例 : import_ip C:/projects/sources/char_fifo/char_fifo.xci

注記 : add_files コマン ド で、 現在のディ レ ク ト リ から XCI フ ァ イルおよび関連する出力フ ァ イルを参照し、import_ip コマンドで、 プロジェク トにその XCI ファ イルおよび関連する出力ファイルをコピーします。

プロジェク ト パーツを設定する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : create_project または set_property

• Tcl コマンドの例 :

create_project my_project C:/projects/my_project -part xc7k325tffg676-2

set_property PART xc7k70tfbg676-2 [current_project]

注記 : パーツは、 プロジェク トの作成時もし くは作成後に設定できます。

プロジェク トの管理

プロジェク ト を開く

プロジェク ト を開く と、 前回プロジェ ク ト を閉じたと きの状態が復元されます。 プロジェ ク ト の状態とは、 ソースファ イル順、 ソース ファ イルのディ スエーブル/イネーブル、 アクティブおよびターゲッ ト制約ファイル、 合成、 シミ ュレーシ ョ ン、 インプリ メンテーシ ョ ン run のステート などです。

プロジェク ト を開くには、 次のいずれかを実行します。

• Getting Started ページの [Open Project] リ ンクをク リ ッ ク します。

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

• [Open Project] ツールバー ボタン をク リ ッ ク します。

• Tcl コンソールに open_project コマンドを入力します。

[Open Project] ダイアログ ボッ クスで、 プロジェク ト ファ イル (.xpr) を選択します。 [Open Project] ダイアログ ボッ クスの [File Preview] に現在選択されているファイルに関する情報が表示されます。

注記 : または、Windows エクスプローラーで Vivado IDE プロジェク ト ファ イル (.xpr) を直接ダブルク リ ッ ク してプロジェク ト を開きます。

プロジェク ト を開く Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : open_project

• Tcl コマンドの例 : open_project c:/projects/project1.xpr

システム レベル デザイン入力 japan.xilinx.com 18UG895 (v2013.1) 2013 年 3 月 20 日

Page 19: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの管理

複数のプロジェク ト を開く

1 つのセッシ ョ ンで複数のプロジェク ト を開くには、 プロジェク トが開いている状態でプロジェク ト を開くのいずれかの方法を使用して別のプロジェ ク ト を開きます。 Vivado IDE で現在のプロジェク ト を閉じるかど うか尋ねる メ ッセージが表示されます。 [No] をク リ ッ ク して開いているプロジェク ト を閉じないよ うにする と、両方のプロジェク トが開きます。 各プロジェク トに対してそれぞれメ イン ウ ィンド ウが開きます。

複数プロジェク ト を同じ Vivado IDE プロセスから開く と、 開いているすべてのプロジェク ト で使用されたコマンドが Tcl コンソールへ書き込まれます。 ただし、 表示されるコマンドがどのプロジェク トで使用されたものかわかりにくいこ とがあ り ます。 また、すべてのプロジェク トに対して 1 つの vivado.jou と 1 つの vivado.log しか作成されません。

注記 : 複数のプロジェク ト を開いた場合、システム メモ リの要件によ り、パフォーマンスが低下するこ とがあ り ます。

プロジェク トの保存

プロジェク トは自動的に保存されます。 たとえば、 ソース設定、 ファ イルのプロパティ、 run オプシ ョ ンなど、 プロジェク トに変更を加える と、 プロジェク トはディ スクに自動的に保存されます。

別のディ レク ト リにプロジェク ト を保存するには、 [File] → [Save Project As] をク リ ッ ク して ください。 これによ り、プロジェク ト ディ レク ト リ構造全体が新し く指定されたディ レク ト リにコピーされ、 run のステータスも保持されます。

プロジェク ト を保存する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : save_project_as

• Tcl コマンドの例 : save_project_as new_project c:/projects/

プロジェク ト を閉じる

プロジェク ト を閉じるには、 [File] → [Close Project] をク リ ッ ク します。 保存されていない変更がある場合は、 それを示すメ ッセージが表示されます。

プロジェク ト を閉じる Tcl コマンド

次は、 関連する Tcl コマンドです。 close_project

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

プロジェク ト アーカイブを作成して、 バッ クアップと して保存した り、 リモート サイ トに送信したりできます。 プロジェク ト をアーカイブする際、 Vivado IDE では次が実行されます。

• デザイン階層を解析します。

• ラ イブラ リ ディ レク ト リから必要なソース ファ イル、 インクルード ファ イル、 リモート ファ イルをコピーします。

• 制約をコピーします。

• 合成、 シ ミ ュレーシ ョ ン、 およびインプリ メンテーシ ョ ンの実行結果をコピーします (オプシ ョ ン)。

• プロジェク トの ZIP ファ イルを作成します。

プロジェク トのアーカイブを作成するには、 次の手順に従います。

システム レベル デザイン入力 japan.xilinx.com 19UG895 (v2013.1) 2013 年 3 月 20 日

Page 20: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク トの管理

1. [File] → [Archive Project] をク リ ッ ク します。

2. [Archive Project] ダイアログ ボッ クス (図 2-11) で次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。

° [Archive name] : プロジェク ト アーカイブ名を指定します。

° [Archive location] : プロジェク ト アーカイブ ファ イルを保存するディ レク ト リ を指定します。

° [Include Run Results] : プロジェク トで実行した run の設定と結果を含めます。

Vivado IDE でプロジェク ト アーカイブが ZIP ファ イル形式で作成されます。 この ZIP ファ イルには、必要なソース ファ イル、 インクルード ファ イル、 run ファ イル (指定した場合のみ)、およびアーカイブ プロセスを記述したarchive.log ファ イルが含まれます。 archive.log ファ イルでアーカイブの作成プロセスを確認できます。

プロジェク ト を圧縮する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : archive_project

• Tcl コマンドの例 : archive_project -exclude_run_results proj3.zip

X-Ref Target - Figure 2-11

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

システム レベル デザイン入力 japan.xilinx.com 20UG895 (v2013.1) 2013 年 3 月 20 日

Page 21: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

プロジェク ト サマリの使用Vivado IDE には、対話型のプロジェク ト サマリ (図 2-12) が含まれ、デザイン コマンドが実行され、デザイン プロセスが実行される と随時アップデート されます。 これには、 プロジェク ト パーツ、 プロジェク ト ステータス、 合成およびインプリ メンテーシ ョ ンの状態などのプロジェク トおよびデザイン情報が含まれます。また、 メ ッセージ、ログ、レポート などを示すビューや [Project Settings] ダイアログ ボッ クスへのリ ンクなど、 詳細な情報へのリ ンク も含まれます。 スク ロール バーを使用した り、 [Collapse All] および [Expand All] ボタンを使用してデータ カテゴ リの表示/非表示を切り替えるこ とができます。

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

• [Project Settings] : プロジェク ト名、 プロジェク ト パーツ、 デフォルト デバイス、 およびト ップ モジュール名が表示されます。

• [Messages] :

° [Summary] : デザイン プロセス中に発生したエラーおよび警告の数を示します。 警告またはエラーのみを表示した [Messages] ビューを開く リ ンク もあ り ます。

° [Go To] : [Messages]、 [Log]、 [Reports] ビューへのリ ンクが提供されます。 これらのビューの詳細については、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 4] を参照して ください。

• [Synthesis] および [Implementation] : アクティブ run の合成およびインプ リ メンテーシ ョ ンの状態のサマリ を表示します。 ターゲッ ト パーツ、 run で使用されたス ト ラテジ、使用されたツール フローおよび制約セッ ト などが表示されます。

パーツ、 ス ト ラテジ、 フローの リ ンクをク リ ッ クする と、 [Project Settings] ダイアログ ボッ クスが開きます。 制約リ ンクをク リ ッ クする と、 [Source File Properties] ビューに [Constraint Set Properties] タブが表示されます。

注記 : 詳細は、 プロジェク ト設定および第 3 章 「制約の操作」 を参照して ください。

• [DRC Violations] : インプ リ メンテーシ ョ ン後にデザイン ルール チェッ ク (DRC) に関する情報がまとめられます。

• [Timing] : インプリ メンテーシ ョ ン後にタイ ミ ング結果がま とめられます。

• [Utilization] : 合成後にプロジェク トの使用量結果が表形式およびグラフ形式でまとめられます。

• [Power] : インプ リ メンテーシ ョ ン後に消費電力解析の結果がまとめられます。

プロジェク ト サマリ を開くには、 次のいずれかを実行します。

• [Window] → [Project Summary] をク リ ッ ク します。

• ツールバーの [Project Summary] ボタン をク リ ッ ク します。

システム レベル デザイン入力 japan.xilinx.com 21UG895 (v2013.1) 2013 年 3 月 20 日

Page 22: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

X-Ref Target - Figure 2-12

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

システム レベル デザイン入力 japan.xilinx.com 22UG895 (v2013.1) 2013 年 3 月 20 日

Page 23: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

プロジェク ト設定プロジェク ト設定は、 各プロジェク トの必要に合わせて指定できます。 プロジェク ト設定には、 上位モジュールの定義に関する一般的な設定、およびシ ミ ュレーシ ョ ン、合成、 インプ リ メンテーシ ョ ン、 IP などの設定が含まれます。

[Project Settings] ダイアログ ボッ クスを表示するには、 次のいずれかを実行します。

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

• ツールバーの [Project Settings] ボタン をク リ ッ ク します。

• Flow Navigator で [Project Settings] をク リ ッ クするか、 [Simulation Settings]、 [Synthesis Settings]、 [ImplementationSettings]、 [Bitstream Settings] のいずれかをク リ ッ ク します。

• プロジェク ト サマリで [Project Settings] ヘッダーの横にある Edit リ ンクをク リ ッ クするか、 [Synthesis] または[Implementation ] セクシ ョ ンのいずれかでス ト ラテジまたはフローをク リ ッ ク します。

[Project Settings] ダイアログ ボッ クスの開き方によって、 適なカテゴ リがデフォルトで表示されるよ うになっています。 たとえば、 Flow Navigator で [Simulation Settings] をク リ ッ ク した場合、 [Project Settings] ダイアログ ボッ クスには [Simulation] カテゴ リが表示されます。 次のセクシ ョ ンは、 各カテゴ リの詳細を示しています。

[General] ページ

[General] ページ (図 2-13) では、 プロジェ ク ト名、 パーツ、 ターゲッ ト言語、 ターゲッ ト シ ミ ュレータ、 上位モジュール名、 言語オプシ ョ ンを指定できます。

• [Name] : プロジェク ト名を指定します。

• [Project Device] : 合成およびインプリ メンテーシ ョ ン両方でデフォルト と して使用するターゲッ ト デバイスを指定します。 参照ボタンをク リ ッ クする と [Select Device] ダイアログ ボッ クスが表示され、 デバイスを変更できます。

注記 : 合成 run またはインプリ メンテーシ ョ ン run が複数ある場合は、[Run Properties] ビューから run 設定を変更して特定 run で使用されるデバイスを変更するこ と もできます。[Runs Properties] ビューの使用方法の詳細については、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 4] を参照して ください。

• [Target Language] : Verilog または VHDL のいずれかにデザインのターゲッ ト出力言語を指定します。 指定したターゲッ ト言語でデザインの RTL 出力ファイルが生成されます。 ターゲッ ト言語で制御される出力の例は、 合成、 シ ミ ュレーシ ョ ン、 上位ラ ッパー ファ イル、 テス トベンチ、 および IP のインスタンシエーシ ョ ン テンプレートです。

• [Top Module Name] : デザインの 上位 RTL モジュール名を指定します。 下位モジュール名を入力し、 特定のモジュールに対して合成を実行するこ と もできます。参照ボタンをク リ ッ クする と、 上位モジュールが自動的に検索され、 可能性のある 上位モジュールのリ ス トが表示されます。

• [Language Options] : 参照ボタンをク リ ッ ク し、 [Language Options] ダイアログ ボッ クスで次のオプシ ョ ンを設定します。

° [Verilog Options] : 参照ボタンをク リ ッ ク し、 [Verilog Options] ダイアログ ボッ クスで次のオプシ ョ ンを設定します。

- [Verilog Include Files Search Paths] : Verilog ソース ファ イルの ‘include 文で参照されるファイルの検索パスを指定します。

- [Defines] : プロジェク トの Verilog マクロ定義を指定します。

- [Uppercase all identifiers] : すべての Verilog 識別子を大文字に設定します。

° [Generics/Parameters] : VHDL ではジェネ リ ッ クが、 Verilog では定数値のパラ メーター定義がサポート されます。 どちらの方法でも、 パラ メーターを変更できるので、 さまざまな状況で再利用可能です。 参照ボタンをク リ ッ クする と、ジェネ リ ッ クおよびパラ メーターの値を定義して、ソース ファ イルで定義されたデフォルトの値を上書きできます。

システム レベル デザイン入力 japan.xilinx.com 23UG895 (v2013.1) 2013 年 3 月 20 日

Page 24: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

° [Top Library] : 上位モジュールのライブラ リ名を指定します。

° [Loop Count] : 大ループ反復値を指定します。 デフォルト値は 1000 です。

注記 : [Loop Count] オプシ ョ ンは、 合成中ではな くエラボレーシ ョ ン中に使用されます。 合成に対しては、[Synthesis] ページの [More Options] フ ィールドに 「-loop_iteration_limit」 と入力します。

X-Ref Target - Figure 2-13

図 2-13 : [General] ページ

システム レベル デザイン入力 japan.xilinx.com 24UG895 (v2013.1) 2013 年 3 月 20 日

Page 25: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

[Simulation] ページ

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

X-Ref Target - Figure 2-14

図 2-14 : [Simulation] ページ

システム レベル デザイン入力 japan.xilinx.com 25UG895 (v2013.1) 2013 年 3 月 20 日

Page 26: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

[Project Settings] ダイアログ ボックスの [Synthesis] ページ

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

ヒン ト : tcl.pre および tcl.post ファ イルを使用する と、Tcl スク リプ ト を追加して合成前後に読み出されるよ うにできます。 詳細は、 Vivado Design Suite User Guide: Using Tcl Scripting (UG894) [参照 2] を参照してください。

X-Ref Target - Figure 2-15

図 2-15 : [Synthesis] ページ

システム レベル デザイン入力 japan.xilinx.com 26UG895 (v2013.1) 2013 年 3 月 20 日

Page 27: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

[Project Settings] ダイアログ ボックスの [Implementation] ページ

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

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

X-Ref Target - Figure 2-16

図 2-16 : [Implementation] ページ

システム レベル デザイン入力 japan.xilinx.com 27UG895 (v2013.1) 2013 年 3 月 20 日

Page 28: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

[Bitstream] ページ

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

X-Ref Target - Figure 2-17

図 2-17 : [Bitstream] ページ

システム レベル デザイン入力 japan.xilinx.com 28UG895 (v2013.1) 2013 年 3 月 20 日

Page 29: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

プロジェク ト設定

[IP] ページ

[IP] ページ (図 2-18) には、 次のタブが含まれます。

• [Repository Manager] : IP レポジ ト リ リ ス トに追加するディ レク ト リ を指定します。 IP は、ユーザーがパッケージできるほか、 サードパーティ サプライヤーから入手するこ と もできます。 [Apply] をク リ ッ クする と、 各レポジト リに IP が表示されるよ うにな り ます。

• [Generation] : デフォルトで生成される IP 出力ファイルを設定します。

• [Packager] : ベンダー、 ライブラ リ、 命名規則を含めて新しい IP をパッケージにする際のデフォルト値を設定します。 このタブでは、 IP パッケージャーを開いたと きのデフォルト ビヘイビアを設定した り、 自動的にフ ィルターされるファ イル拡張子を指定できたり します。

注記 : 必要であれば、 IP パッケージ プロセス中に IP をパッケージにする際のデフォルト値は変更できます。

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

注記 : [IP] ページおよび Vivado IP カタログは、RTL プロジェク ト または Getting Started ページから [Manage IP] リ ンクを使用した場合にのみ使用可能です。 [Manage IP] を使用する場合、 プロジェク ト を作成しないと、 [IP] ページのサブセッ トは表示されません。

X-Ref Target - Figure 2-18

図 2-18 : [IP] ページ

システム レベル デザイン入力 japan.xilinx.com 29UG895 (v2013.1) 2013 年 3 月 20 日

Page 30: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

プロジェク ト設定をする Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : set_property

• Tcl コマンドの例 : set_property target_language Verilog [current_project]

推奨 : プロジェク ト 、合成またはインプ リ メンテーシ ョ ン run のプロパティを含む複数のプロパティを設定できます。プロパティ名およびターゲッ トの詳細については、 Vivado IDE で操作を実行し、 Tcl コンソールに表示される対応する Tcl コマンドを参照して ください。

Tcl スクリプ ト を使用したプロジェク トの作成Vivado IDE では、 Tcl スク リプ ト を使用してプロジェク ト を作成するこ と もできます。 Vivado IDE で実行したほとんどの動作が Tcl コマンドで実行されます。 Vivado IDE の Tcl コンソールに表示される Tcl コマンドは、 vivado.jouおよび vivado.log ファ イルに保存されます。 vivado.jou ファ イルにはコマンドだけが、 vivado.log ファ イルにはコマンド と返されたメ ッセージがすべて含まれます。 これらのファイルを使用して、 スク リプ ト を開発し、 プロジェク ト モードでします。 Tcl コマンドの詳細については、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』(UG835) [参照 9] を参照して ください。

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

# Typical usage: vivado –mode tcl –source run_bft_project.tcl# Create the project and directory structurecreate_project -force project_bft_batch ./project_bft_batch -part xc7k70tfbg484-2## Add various sources to the projectadd_files {./Sources/hdl/FifoBuffer.v ./Sources/hdl/async_fifo.v \./Sources/hdl/bft.vhdl}add_files -fileset sim_1 ./Sources/hdl/bft_tb.vadd_files ./Sources/hdl/bftLib/add_files -fileset constrs_1 ./Sources/bft_full.xdc## Now import/copy the files into the projectimport_files -force## Set VHDL library property on some filesset_property library bftLib [get_files {*round_*.vhdl core_transform.vhdl \bft_package.vhdl}]## Update to set top and file compile orderupdate_compile_order -fileset sources_1update_compile_order -fileset sim_1## Launch Synthesislaunch_runs synth_1wait_on_run synth_1open_run synth_1 -name netlist_1## Generate a timing and power reports and write to disk# Can create custom reports as requiredreport_timing_summary -delay_type max -report_unconstrained -check_timing_verbose \-max_paths 10 -input_pins -file syn_timing.rpt

システム レベル デザイン入力 japan.xilinx.com 30UG895 (v2013.1) 2013 年 3 月 20 日

Page 31: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

report_power -file 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 imp_timing.rptreport_power -file imp_power.rpt## Can open the graphical environment if visualization desired# comment out the for batch mode#start_gui

ヒン ト : Tcl スク リプ ト で改行する場合は、 バッ クスラ ッシュ文字 (\) を使用します。 バッ クスラ ッシュの後の行は、前の行の一部と して処理されます。

システム レベル デザイン入力 japan.xilinx.com 31UG895 (v2013.1) 2013 年 3 月 20 日

Page 32: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

第 3 章

ソース ファイルの操作

概要ソース ファ イルにはプロジェク ト ソース、 デザイン ソース、 制約ソース、 シ ミ ュレーシ ョ ン ソース、 IP ソース、 デジタル信号処理 (DSP) ソース、 エンベデッ ド ソース、 IP サブシステムなどが含まれます。 プロジェク ト モードの場合は、Vivado™ IDE または Tcl コマンドかスク リプ ト を使用してこれらのソース ファ イルを作成できます。 Vivado IDEでは、 自動的にソース ファ イルが管理されます。 非プロジェク ト モードの場合、 これらのソース ファ イルは Tcl コマンドかスク リプ ト を使用して作成できますが、 ソース ファ イルは手動で管理する必要があ り ます。本章では、プロジェク ト モードでのソースの作成と管理、 非プロジェク ト モードでのソースの作成について説明します。

プロジェク ト モードでのソースの操作Vivado IDE では、プロジェク トに対してローカルにあるファ イルか、 リモートにあってライブラ リから参照しているソース ファ イルを作成および管理できます。Verilog および VHDL ソース ファ イルは、デザイン フローのどの段階でもプロジェク トに追加できます。 また、 制約ファイル、 シ ミ ュレーシ ョ ン ソース、 DSP ソース、 エンベデッ ド ソースも作成したり、 デザインに追加したりできるほか、 既存 IP を追加したりできます。

注記 : ソースの追加に関する Tcl コマン ドの詳細は、 第 2 章 「デザイン ソース、 制約ファ イル、 シ ミ ュレーシ ョ ンソースを追加する Tcl コマンド」 を参照して ください。 Tcl コマンドの詳細については、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 9] を参照するか、 <command> -help を入力してください。

デザイン ソースの操作

Vivado IDE では、 HDL またはネッ ト リ ス ト ファイルを含めてデザイン ソース ファ イルを作成および管理できます。

デザイン ソースの作成

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

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

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

システム レベル デザイン入力 japan.xilinx.com 32UG895 (v2013.1) 2013 年 3 月 20 日

Page 33: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

3. [Add or Create Design Sources] ページ (図 3-2) で [Create File] をク リ ッ ク します。

X-Ref Target - Figure 3-1

図 3-1 : Add Sources ウィザード

X-Ref Target - Figure 3-2

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

システム レベル デザイン入力 japan.xilinx.com 33UG895 (v2013.1) 2013 年 3 月 20 日

Page 34: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

4. [Create Source File] ダイアログ ボッ クス (図 3-3) で次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。

° [File type] : Verilog ファ イル (.v)、 Verilog ヘッダー ファ イル (.vh)、 SystemVerilog ファ イル (.sv)、 VHDL ファイル (.vhdl) などのファイル形式のいずれかを指定します。

° [File name] : 新しい HDL ソース ファ イルの名前を指定します。

° [File location] : ファ イルを作成するディ レク ト リ を指定します。

注記 : ファ イルのプレースホルダーがソースのリ ス トに追加されます。 ファ イルは [Finish] をク リ ッ クする と作成されます。

5. [Create File] を何度かク リ ッ ク して、 プロジェク トに追加するモジュール数を定義します。

6. [Add Sources] ページでソース ファ イルに 適なライブラ リ を指定します。

注記 : デフォルトでは、HDL ソース ファ イルは work ラ イブラ リに追加されます。必要に応じて、ユーザー VHDLラ イブラ リ を作成し、 参照できます。

7. [Finish] をク リ ッ クする と、 指定したソースがプロジェク トに追加されます。

8. オプシ ョ ン : [Define Module] ダイアログ ボッ クス (図 3-4) で次のオプシ ョ ンを使用して Verilog、Verilog ヘッダー、SystemVerilog、 または VHDL でモジュールまたはアーキテクチャを定義したら、 [OK] をク リ ッ ク します。

° [New Source Files] : 複数ファイルを作成したら、 定義するモジュールの名前をク リ ッ ク します。

注記 : このフ ィールドは複数ファイルを作成した場合にのみ表示されます。

° [Entity name/Module name] : VHDL コードのエンティティ または Verilog または SystemVerilog コードのモジュール名の名前を指定します。

注記 : エンティティ またはモジュール名はデフォルトでそのファイル名になり ますが、 別の名前を付けること もできます。

° [Architecture name] : RTL ソース ファ イルのアーキテクチャを指定します。デフォルトでは [Behavioral] です。

注記 : このオプシ ョ ンは、 VHDL コードの場合にのみ表示され、 Verilog または SystemVerilog モジュールを定義する場合には表示されません。

° [I/O Port Definitions] : モジュール定義に追加するポート を定義します。

- [Port Name] : RTL コードに記述されるポートの名前を定義します。

- [Direction] : ポート を入力、 出力、 双方向のいずれかに指定します。

- [Bus] : ポートがバス ポートかど うかを指定します。 次の [MSB] および [LSB] オプシ ョ ンを使用してポートのバス幅を定義します。

- [MSB] : 上位ビッ ト (MSB) の数を定義します。 [LSB] フ ィールド と組み合わせて、 定義されるバスの幅を指定します。

- [LSB] : 下位ビッ ト (LSB) の数を定義します。

注記 : ポートがバス ポートでない場合は、 MSB および LSB は無視されます。

X-Ref Target - Figure 3-3

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

システム レベル デザイン入力 japan.xilinx.com 34UG895 (v2013.1) 2013 年 3 月 20 日

Page 35: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

RTL ソース ファ イルが作成され、 プロジェク トに追加されます。 [Sources] ビューに新し く定義したモジュールがリ ス ト されます。 Vivado IDE テキス ト エディ ターで新しいソース ファ イルを編集するには、 ファ イルをダブルク リ ッ クするか、 [Open File] ポップアップ メニューをク リ ッ ク します。新規作成したファイルの編集方法については、 第 3 章 「テキス ト エディ ターの使用」 を参照して ください。

デザイン ソースの追加

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

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

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

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

° [Add Files] : プロジェク トに追加するファイルを選択するためのファイル ブラウザーが表示されます。 RTLプロジェク トには、 HDL、 EDIF、 NGC、 BMM、 ELF およびその他のファイル タイプを追加できます。

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

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

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

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

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

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

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

X-Ref Target - Figure 3-4

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

システム レベル デザイン入力 japan.xilinx.com 35UG895 (v2013.1) 2013 年 3 月 20 日

Page 36: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

° [Scan and Add RTL Include Files into Project] : 追加した RTL ファ イルをスキャンし、 参照された Verilog の'include ファ イルをローカル プロジェク ト ディ レク ト リにインポート します。

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

注記 : [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場合は、 ファ イルがローカルのプロジェク トにコピーされる際にディ レク ト リ構造もそのまま保持されます。詳細は、 リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピーを参照してください。

° [Add Sources from Subdirectories] : [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれるソース ファ イルをすべて追加します。

最上位モジュールの指定とソース ファイルの順序の変更

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

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

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

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

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

すべてのソースのコンパイルまたは評価順のリ ス ト を確認するには、Tcl コンソールで report_compile_order コマンドを使用します。 このコマンドでは、 合成、 インプ リ メンテーシ ョ ンおよびシ ミ ュレーシ ョ ンでコンパイルまたは評価される順序でファイルがリ ス ト されます。RTL のコンパイル順は、合成およびシ ミ ュレーシ ョ ン用にリ ス ト されます。 制約の評価順序は、 合成およびシ ミ ュレーシ ョ ン用にリ ス ト されます。

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

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

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

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

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

システム レベル デザイン入力 japan.xilinx.com 36UG895 (v2013.1) 2013 年 3 月 20 日

Page 37: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

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

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

• [Local source] : ローカル プロジェク ト ディ レク ト リにコピーされたファイル

• [Remote source] : ローカル プロジェク ト ディ レク ト リにコピーされなかったファイル

• [Missing source] : ローカルにも リモートにも見つからないファイル

• [Read-only source] : Vivado IDE での読み出し専用ファイル

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

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

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

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

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

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

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

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

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

システム レベル デザイン入力 japan.xilinx.com 37UG895 (v2013.1) 2013 年 3 月 20 日

Page 38: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

制約の操作

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

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

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

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

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

Vivado IDE では、 次のビューを使用して制約を作成および変更できます。

• [Timing Constraints] ビュー : プロジェク トの XDC ファ イル タイ ミ ング制約がすべて表で表示されます。既存の制約はインタラ クティブに編集して、ソース ファ イルに保存し戻すこ とができるほか、新規に制約を作成するこ ともできます。

• [Device Constraints] ビュー : 表示されたバンクでさまざまな SelectIO™ インターフェイスを設定できます。

• [Physical Constraints] ビュー : Pblock を作成および管理できます。

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

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

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

X-Ref Target - Figure 3-5

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

システム レベル デザイン入力 japan.xilinx.com 38UG895 (v2013.1) 2013 年 3 月 20 日

Page 39: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

注記 : Tcl スク リプ トの詳細については、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』(UG903) [参照 5]を参照して ください。

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

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

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

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

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

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

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

X-Ref Target - Figure 3-6

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

システム レベル デザイン入力 japan.xilinx.com 39UG895 (v2013.1) 2013 年 3 月 20 日

Page 40: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

注記 : [Timing Constraints] ビューで変更した既存の制約は、 ターゲッ ト XDC ではなく、 その制約が記述されていた元の XDC ファ イルに書き込まれます。

元の XDC ファイルの参照またはファイルのコピー

ほかのソース ファ イルと同様、 XDC ファ イルも リモートにあるもの参照するか、 ローカルのプロジェク トにコピーできます。 リモート ファ イルを追加した場合、 新のファイル バージ ョ ンが自動的に検出され、 新のファ イルを使用してデザインを更新するよ う メ ッセージが表示されます。

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

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

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

注記 : 詳細は、 リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピーを参照してください。

制約セッ トの使用

制約セッ ト とは、個別に管理されている 1 つまたは複数の制約ファイルで、解析およびインプ リ メンテーシ ョ ンでは1 つの XDC ファ イルに連結されます。 制約セッ トでは、 デザイン プロセスのある時点または特定の条件化で使用される制約ファイルが定義されます。複数の制約セッ ト を定義するこ とによ り、 フロアプランやタイ ミ ングの問題を解決するために異なる制約を試すこ とができます。

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

X-Ref Target - Figure 3-7

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

X-Ref Target - Figure 3-8

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

システム レベル デザイン入力 japan.xilinx.com 40UG895 (v2013.1) 2013 年 3 月 20 日

Page 41: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

ルドでオン/オフを切り替えます (図 3-9)。

制約セッ トの作成と編集

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

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

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

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

3. [Edit Constraint Set] ダイアログ ボッ クスで次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。

° [Add Files] : 制約セッ トに追加する XDC または SDC ファ イルを指定します。

X-Ref Target - Figure 3-9

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

X-Ref Target - Figure 3-10

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

システム レベル デザイン入力 japan.xilinx.com 41UG895 (v2013.1) 2013 年 3 月 20 日

Page 42: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

° [Create File] : 制約セッ トに追加する新しい XDC ファ イルの名前とディ レク ト リ を指定します。

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

注記 : [OK] ボタンを使用する と、 まだ制約セッ トに追加されていないファイルのみを削除できます。既に制約セッ トに追加されたファイルを削除するには、 [Sources] ビューでファイルを右ク リ ッ ク し、ポップアップメニューから [Remove File from Project] をク リ ッ ク します。

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

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

[Save Constraints As] コマンドを使用した制約セッ トの作成

設計および解析プロセスで制約に加えた変更を新しい制約セッ ト を作成して保存できます。制約は複数の方法で変更できるので、 変更を新しい制約セッ ト と して保存する と便利です。 [File] → [Save Constraints As] をク リ ッ ク し、 [SaveDesign As] ダイアログ ボッ クス (図 3-11) を開き、 すべての制約を保存する新しい制約セッ ト名を入力します。

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-11

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

システム レベル デザイン入力 japan.xilinx.com 42UG895 (v2013.1) 2013 年 3 月 20 日

Page 43: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

制約のエクスポート

Vivado IDE で制約ファ イルを作成し、 コマンド ラ イン デザイン フローでのスク リプ トに使用するこ と もできます。コマンド ラ イン フロー用に制約をエクスポートするには、[File] → [Export] → [Export Constraints] をク リ ッ ク します。

I/O ポートおよびバンクの I/O 規格制約 (ユーザー指定値および Vivado IDE で自動的に割り当てられたデフォルト値の両方) を XDC ファ イルにエクスポートするには、 [File] → [Export] → [Export I/O Ports] をク リ ッ ク し、 XDC ファ イルを生成します。

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

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

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

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

制約評価順の変更

関連する制約セッ ト内ではユーザー制約の順序を変更できます。 順序を変更するには、 [Sources] ビューで XDC ファイルをド ラ ッグ アンド ド ロ ップします。

Vivado IDE で処理されるすべての XDC ファ イルの順序を取得するには、Tcl コンソールに report_compile_order–constraints コマンドを入力します。 これによ り、 ユーザー制約および IP を含むデザインのすべての制約がリ スト されます。

X-Ref Target - Figure 3-12

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

システム レベル デザイン入力 japan.xilinx.com 43UG895 (v2013.1) 2013 年 3 月 20 日

Page 44: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

UCF 制約の変換

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

システム レベル デザイン入力 japan.xilinx.com 44UG895 (v2013.1) 2013 年 3 月 20 日

Page 45: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

° [Create File] : シ ミ ュレーシ ョ ン ソース ファ イルを作成する [Create Source File] ダイアログ ボッ クスが開きます。

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

° [Move Selected File Up] : ファ イルを リ ス トの上方向へ移動します。

° [Move Selected File Down] : ファ イルを リ ス トの下方向へ移動します。

° [Scan and Add RTL Include Files into Project] : 追加した RTL ファ イルをスキャンし、 参照されるインクルードファ イルをすべて追加します。

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

注記 : [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場合は、 ファ イルがローカルのプロジェク トにコピーされる際にディ レク ト リ構造もそのまま保持されます。詳細は、 リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピーを参照してください。

° [Add Sources from Subdirectories] : [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれるソース ファ イルをすべて追加します。

° [Include all design sources for simulation] :sources_1 ファ イルセッ トからのデザイン ソース ファ イルをすべてシ ミ ュレーシ ョ ン ファ イルセッ トにコピーします。

IP ソースの操作

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

• Vivado Design Suite Xilinx Core Instance (XCI) ファ イル

• Vivado IP パッケージャーを使用したユーザーのパッ ク した IP (XCI)

X-Ref Target - Figure 3-13

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

システム レベル デザイン入力 japan.xilinx.com 45UG895 (v2013.1) 2013 年 3 月 20 日

Page 46: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

• CORE Generator™ コア (XCO)

XCO ファ イルを追加する際に IP コアの既存ステート を維持するには、 それに対応する NGC ファ イルがディ レク ト リ にないと、 インプ リ メ ンテーシ ョ ンが問題な く実行されません。 ファ イルがない場合は、 IP のアップグレードがあれば、 IP コアを右ク リ ッ ク し [Upgrade IP] をク リ ッ ク します。

• サードパーティ IP

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

• デザイン チェッ クポイン ト (DCP) ファ イル

注記 : IP の追加、パッケージ、 シ ミ ュレーシ ョ ン、 アップグレードなど IP に関する詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 13] を参照して ください。

既存 IP の追加

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

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

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

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

° [Add Files] : Vivado Design Suite 用の XCI ファ イルまたは XCO ファ イルを選択できるファ イル ブラウザーが開きます。

° [Add Directories] : 指定したディ レク ト リ または下位ディ レク ト リから XCI または XCO ファ イルを選択できるディ レク ト リ ブラウザーが開きます。

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

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

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

X-Ref Target - Figure 3-14

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

システム レベル デザイン入力 japan.xilinx.com 46UG895 (v2013.1) 2013 年 3 月 20 日

Page 47: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

IP インテグレーターのソースの操作

Vivado IDE では、 RTL プロジェク トで IP サブシステム デザイン (拡張子は .bd) を追加および管理できます。 VivadoIP インテグレーターを使用する と、 IP サブシステム デザインを作成できます。 IP インテグレーターでは、 Vivado IPカタログからの複数の IP コアをインスタンシエートおよび相互接続するこ とで、 複雑なシステム デザインを作成できます。デザインは、 Vivado IDE 内の IP インテグレーターを使用してインタラ クティブに、 または Tcl コマンドのプログラムで作成できます。 IP インテグレーターの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』(UG896) [参照 13] を参照してください。

注記 : Vivado IP インテグレーターには、 Vivado IP カタログで使用可能な IP の一部が提供されています。 Vivado IP インテグレーターは、 2013.1 リ リースでは早期アクセス用になっています。 ラ イセンスの取得については、 フ ィールドアプリ ケーシ ョ ン エンジニア (FAE) にご連絡ください。

ブロック デザイン ソースを作成または開く

プロジェク トに追加されたブロ ッ ク デザイン ソースを作成または開くには、 次の手順に従ってください。

1. Flow Navigator で [IP Integrator] をク リ ッ ク します。

2. [Create Block Design] ク リ ッ ク します。

ブロック デザイン ソースの追加

プロジェク ト外に作成されたブロ ッ ク デザイン ソースを追加するには、 次の手順に従ってください。

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

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

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

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

° [Add Files] : デザインに追加する IP インテグレーター ブロ ッ ク デザイン (BD) ファ イルを選択できるファ イル ブラウザーが開きます。

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

° [Move Selected File Up] : ファ イルを リ ス トの上方向へ移動します。

° [Move Selected File Down] : ファ イルを リ ス トの下方向へ移動します。

システム レベル デザイン入力 japan.xilinx.com 47UG895 (v2013.1) 2013 年 3 月 20 日

Page 48: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

サブシステム デザインで使用されるターゲッ ト パーツが現在のプロジェク トのターゲッ ト パーツと異なる場合は、[Mismatched Parts] ダイアログ ボッ クス (図 3-16) が開きます。 次のオプシ ョ ンのいずれかを選択します。

• [Ignore the Difference] : 現在のプロジェク ト または IP サブシステムのターゲッ ト パーツを変更せずに、 IP サブシステム デザインをインポート します。

• [Apply sub-design part to the project] : 現在のプロジェク トのターゲッ ト パーツを変更し、 サブシステム デザインからのターゲッ ト パーツを使用します。

• [Apply project part to sub-designs] : サブシステム デザインのターゲッ ト パーツを変更し、 現在のプロジェク トのターゲッ ト パーツを使用します。

DSP ソースの操作

Vivado IDE ツールでは、 既存のザイ リ ンクス System Generator デザイン モデル ファ イル (.mdl) を DSP モジュールとしてインポート できます。 このモデルは下位モジュールと して階層レベルに追加、 またはデザインの 上位にインポートできます。 Vivado IDE ツール内から新規 DSP モジュールを定義して、ザイ リ ンクス System Generator でデザインを完了させるこ と もできます。

X-Ref Target - Figure 3-15

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

X-Ref Target - Figure 3-16

図 3-16 : [Mismatched Parts] ダイアログ ボックス

システム レベル デザイン入力 japan.xilinx.com 48UG895 (v2013.1) 2013 年 3 月 20 日

Page 49: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

System Generator はザイ リ ンクスの DSP デザイン ツールで、 RTL ソース ファ イル、 Simulink® および MATLAB® ソフ ト ウェア モデル、 および DSP システムの C/C++ コンポーネン ト を 1 つのシ ミ ュレーシ ョ ンおよびインプ リ メ ンテーシ ョ ン環境にま とめるこ とができます。

System Generator デザインは、 よ く大容量 HDL デザインに組み込まれます。 System Generator ではスタンドアロンのFPGA デザインの作成およびインプリ メンテーシ ョ ンがサポート されますが、 Vivado IDE ツールでプロジェク ト を開始して、 System Generator を使用してプロジェク トの DSP モジュールを開発するこ とをお勧めします。 こ うするこ とで、 Vivado IDE ツールで FPGA デザインのプロジェク ト を管理できます。 まず、 DSP モジュールを System Generator内で開発および管理しておいてから、 Vivado IDE で 1 つのソース ファ イルと して処理します。

DSP モジュールの追加

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

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

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

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

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-17

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

システム レベル デザイン入力 japan.xilinx.com 49UG895 (v2013.1) 2013 年 3 月 20 日

Page 50: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

4. [Create Sub-Design] を選択する と、 System Generator および MATLAB で DSP ソースの作成および管理が開始されます (図 3-18)。

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

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

ターゲッ トの生成

System Generator デザインが終了したら、 [Sources] ビューの DSP モジュールのポップアップ メ ニューを使用してFPGA ターゲッ ト ファ イルを生成できます。 これらのコマンドは、 DSP ソースを [Sources] ビューで選択する と使用できるよ うにな り ます (図 3-19)。

X-Ref Target - Figure 3-18

図 3-18 : System Generator

X-Ref Target - Figure 3-19

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

システム レベル デザイン入力 japan.xilinx.com 50UG895 (v2013.1) 2013 年 3 月 20 日

Page 51: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

• [Create Testbench] : Simulink シ ミ ュレーシ ョ ンから抽出したテス ト ベクター ファ イルが System Generator で書き出され、 シ ミ ュレーシ ョ ン用の HDL テス トベンチとスク リプ ト ファ イルが生成されます。 テス トベンチは、 シミ ュレーシ ョ ン セッ トの [Sources] ビューに追加されます。

• [Generate] : System Generator モデルから合成、 インプ リ メンテーシ ョ ン、 およびシ ミ ュレーシ ョ ンのターゲッ トデータが生成されます。これによ り、System Generator および MATLAB が起動し、必要なデータが作成されます。

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

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

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

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

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

重要 : Vivado IP インテグレーター は、 Zynq™ デバイスおよび MicroBlaze™ プロセッサをターゲッ トにするデザインを含めたエンベデッ ド プロセッサ デザイン用の Xilinx Platform Studio (XPS) に代わるものです。 XPS では MicroBlazeプロセッサをターゲッ トにするデザインはサポート されますが、 Zynq デバイスはサポート されません。 IP インテグレーターも XPS も Vivado IDE から使用できます。

ヒン ト : Zynq デバイスをターゲッ トにする既存の XPS プロジェク ト の場合は、 Vivado Design Suite 移行手法ガイ ド(UG911) [参照 6] に示す方法でデザインを Vivado IP インテグレーター に移行する必要があ り ます。

システム レベル デザイン入力 japan.xilinx.com 51UG895 (v2013.1) 2013 年 3 月 20 日

Page 52: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-20

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

システム レベル デザイン入力 japan.xilinx.com 52UG895 (v2013.1) 2013 年 3 月 20 日

Page 53: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

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

° [Copy Sources into Project] : 元のエンベデッ ド プロセッサ デザイン (XMP) ファ イルをプロジェク ト ディ レクト リにコピーします。 プロジェク トではローカルにコピーされたバージ ョ ンが使用されます。

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

サブデザインの作成

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

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

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

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

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

X-Ref Target - Figure 3-21

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

システム レベル デザイン入力 japan.xilinx.com 53UG895 (v2013.1) 2013 年 3 月 20 日

Page 54: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

° [Select an Interconnect Type] : AXI System を指定します。 レガシー プロセッサー ローカル バス (PLB) デザインは Vivado ツールではサポート されないので、 これはハード コードで選択されます。

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

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

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

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

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

X-Ref Target - Figure 3-22

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

システム レベル デザイン入力 japan.xilinx.com 54UG895 (v2013.1) 2013 年 3 月 20 日

Page 55: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

X-Ref Target - Figure 3-23

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

システム レベル デザイン入力 japan.xilinx.com 55UG895 (v2013.1) 2013 年 3 月 20 日

Page 56: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

X-Ref Target - Figure 3-24

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

システム レベル デザイン入力 japan.xilinx.com 56UG895 (v2013.1) 2013 年 3 月 20 日

Page 57: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

ターゲッ トの生成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-25

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

システム レベル デザイン入力 japan.xilinx.com 57UG895 (v2013.1) 2013 年 3 月 20 日

Page 58: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

° [Workspace] : SDK で使用されるワークスペースのディ レク ト リ を指定します。 デフォルトでは、 SDK ワーク スペース フ ァ イルは次のローカルのプロ ジェ ク ト デ ィ レ ク ト リ に書き込まれます。<project>.sdk/SDK/SDK_Export

° [Include Bitstream] :[Export to] フ ィールドで指定したディ レク ト リにビッ ト ス ト リーム ファ イルをコピーします。

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

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

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

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

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

使用可能なプロセッサ インスタンスに関連する ELF ファ イルは、 Vivado IDE で [Tools] → [Associate ELF Files] をクリ ッ クする と、追加またはアップデートできます。[Associate ELF Files] ダイアログ ボッ クス (図 3-27) が開きます。このダイアログ ボッ クスでは、 ビッ ト ス ト リーム ファ イルを生成する と き、 またはデザインをシ ミ ュレーシ ョ ンすると きに、 すべての使用可能なプロセッサ インスタンスに対して、 使用する ELF ファ イルを指定できます。

X-Ref Target - Figure 3-26

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

システム レベル デザイン入力 japan.xilinx.com 58UG895 (v2013.1) 2013 年 3 月 20 日

Page 59: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

ソース ファイルの編集

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

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

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

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

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

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

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

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

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

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

• [Save] : 開いたファイルに現在の変更を保存します。

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

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

X-Ref Target - Figure 3-27

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

システム レベル デザイン入力 japan.xilinx.com 59UG895 (v2013.1) 2013 年 3 月 20 日

Page 60: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

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

• [Find] : テキス ト エディ ターの一番下に検索バーを表示し、 ファ イルの検索ができるよ うになり ます。

• [Find in Files] : プロジェク ト全体でファイルを検索するための [Find in Files] ビューを表示します。

• [Language Templates] : [Language Templates] タブを表示します。 多くのよ く あるデザイン/制約構造用の Verilog、VHDL、 Tcl、 XDC のテンプレートが使用できます。

• [Insert Template] : 選択したテンプレート をテキス ト ファ イルのカーソルの位置に挿入します。 このコマンドは、テンプレート を選択している場合にのみ使用できます。

• [Move Caret to Document Start] : カーソルを編集する文書の開始箇所まで移動します。

• [Move Caret to Document End] : カーソルを編集する文書の終了箇所まで移動します。

テンプレートの使用

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

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

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

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

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

X-Ref Target - Figure 3-28

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

システム レベル デザイン入力 japan.xilinx.com 60UG895 (v2013.1) 2013 年 3 月 20 日

Page 61: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

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

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

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

X-Ref Target - Figure 3-29

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

システム レベル デザイン入力 japan.xilinx.com 61UG895 (v2013.1) 2013 年 3 月 20 日

Page 62: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

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

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

X-Ref Target - Figure 3-30

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

システム レベル デザイン入力 japan.xilinx.com 62UG895 (v2013.1) 2013 年 3 月 20 日

Page 63: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

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

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

X-Ref Target - Figure 3-31

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

システム レベル デザイン入力 japan.xilinx.com 63UG895 (v2013.1) 2013 年 3 月 20 日

Page 64: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

# create_bft_batch.tcl# bft sample design # A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow## NOTE:typical usage would be "vivado -mode tcl -source create_bft_batch.tcl" ## STEP#0: define output directory area.#set outputDir ./Tutorial_Created_Data/bft_output file mkdir $outputDir## STEP#1: setup design sources and constraints#read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ] read_vhdl ./Sources/hdl/bft.vhdlread_verilog [ glob ./Sources/hdl/*.v ]read_xdc ./Sources/bft_full.xdc## STEP#2: run synthesis, report utilization and timing estimates, write checkpoint design#synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt write_checkpoint -force $outputDir/post_synthreport_timing_summary -file $outputDir/post_synth_timing_summary.rptreport_power -file $outputDir/post_synth_power.rpt## STEP#3: run placement and logic optimzation, report utilization and timing estimates, write checkpoint design#opt_designpower_opt_designplace_designphys_opt_designwrite_checkpoint -force $outputDir/post_placereport_timing_summary -file $outputDir/post_place_timing_summary.rpt## STEP#4: run router, report actual utilization and timing, write checkpoint design, run drc, write verilog and xdc out#route_designwrite_checkpoint -force $outputDir/post_routereport_timing_summary -file $outputDir/post_route_timing_summary.rptreport_timing -sort_by group -max_paths 100 -path_type summary -file $outputDir/post_route_timing.rptreport_clock_utilization -file $outputDir/clock_util.rptreport_utilization -file $outputDir/post_route_util.rptreport_power -file $outputDir/post_route_power.rptreport_drc -file $outputDir/post_imp_drc.rptwrite_verilog -force $outputDir/bft_impl_netlist.vwrite_xdc -no_fixed_only -force $outputDir/bft_impl.xdc## STEP#5: generate a bitstream# write_bitstream -force $outputDir/bft.bit

システム レベル デザイン入力 japan.xilinx.com 64UG895 (v2013.1) 2013 年 3 月 20 日

Page 65: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

第 4 章

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

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

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

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

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

• メ ッセージのチェッ ク

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

• RTL レベルでの制約の作成および適用

注記 : この段階ではタイ ミ ング解析は実行できません。

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

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

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

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

• Flow Navigator の [RTL Analysis] セクシ ョ ンで [Open Elaborated Design] をク リ ッ クする と、エラボレート済みネット リ ス ト、 アクティブな制約セッ トおよびターゲッ ト デバイスがメモリに読み込まれます。

エラボレートするデザイン名を指定するには、 次のいずれかの方法を使用します。

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

• Flow Navigator の [RTL Analysis] ポップアップ メニューから [New Elaborated Design] をク リ ッ ク します。

システム レベル デザイン入力 japan.xilinx.com 65UG895 (v2013.1) 2013 年 3 月 20 日

Page 66: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

エラボレート済みデザインを開く と、 RTL ソース ファ イルがエラボレート され、 上位回路図表示が生成され、 デフォルトのビュー レイアウ トでデザインが表示されます。図 4-1 は、エラボレート済みデザインのデフォルト ビューレイアウ トの [RTL Schematic] ビューを示しています。

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

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

プロジェク ト モードでのデザイン エラボレーシ ョ ンに使用する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : synth_design

• Tcl コマンドの例 : synth_design -rtl -name rtl_1

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

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

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

X-Ref Target - Figure 4-1

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

システム レベル デザイン入力 japan.xilinx.com 66UG895 (v2013.1) 2013 年 3 月 20 日

Page 67: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

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

RTL ロジック階層の解析

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

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

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

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

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

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

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

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

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

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

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

[RTL Hierarchy] ビューの使用

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

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

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

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

X-Ref Target - Figure 4-2

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

システム レベル デザイン入力 japan.xilinx.com 67UG895 (v2013.1) 2013 年 3 月 20 日

Page 68: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

RTL ソース ファイルの解析

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

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

RTL DRC の実行

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

推奨 : RTL DRC を実行する と、合成前のエラボレーシ ョ ン段階で早期にデザインの問題を発見できるので、設計全体の時間を節約するこ とができます。

DRC ルールの選択

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

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

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

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

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

X-Ref Target - Figure 4-3

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

システム レベル デザイン入力 japan.xilinx.com 68UG895 (v2013.1) 2013 年 3 月 20 日

Page 69: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

DRC 違反の解析

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

ルール違反はその重要度によっても分類されており、 次のよ うに色分け表示されます。

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

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

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

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

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

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

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

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

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

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

X-Ref Target - Figure 4-4

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

システム レベル デザイン入力 japan.xilinx.com 69UG895 (v2013.1) 2013 年 3 月 20 日

Page 70: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

RTL DRC を実行する Tcl コマンド

次は、 関連する Tcl コマンドです。

• Tcl コマンド : report_drc

• Tcl コマンドの例 : report_drc -name drc_1

注記 : デフォルトでは、テキス ト ベースのレポートが出力されます。-name オプシ ョ ンを使用する と、そのレポート用にインタラ クティブなタブを作成できます。

非プロジェク ト モードでのデザインのエラボレーシ ョ ン非プロジェク ト モードでは、 RTL のエラボレーシ ョ ンを実行できます。 RTL へクロスプローブし直して、 DRC を実行するこ と もできます。 ク ロスプローブには、 Tcl コマンドの start_gui を使用して Vivado IDE を起動する必要があ り ます。 DRC は、 Vivado IDE の起動の有無に関係なく実行できます。

次は、 さまざまなファ イルを読み込んで、 Tcl コマンドの synth_design を -rtl オプシ ョ ン と共に使用して RTLをエラボレートするスク リプ トです。 このスク リプ トでは、 Vivado IDE も起動するので、回路図またはネッ ト リ ス トから RTL ソースにクロスプローブできます。

注記 : 非プロジェク ト モードで Vivado IDE を起動する場合は、 Flow Navigator はあ り ませんので、 [Tools] メニューかTcl コンソールを使用してタスクを実行する必要があ り ます。

# create_bft_batch.tcl# bft sample design # A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow## NOTE:typical usage would be "vivado -mode tcl -source create_bft_batch.tcl" ## STEP#0: define output directory area.#set outputDir ./Tutorial_Created_Data/bft_output file mkdir $outputDir## STEP#1: setup design sources and constraints#

X-Ref Target - Figure 4-5

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

システム レベル デザイン入力 japan.xilinx.com 70UG895 (v2013.1) 2013 年 3 月 20 日

Page 71: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

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

read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ] read_vhdl ./Sources/hdl/bft.vhdlread_verilog [ glob ./Sources/hdl/*.v ]read_xdc ./Sources/bft_full.xdc## STEP #2 Elaborate the RTL and start the GUI for interaction# synth_design -top bft -part xc7k70tfbg484-2 –rtlstart_gui# Use stop_gui to quit the GUI and return back to the Vivado IDE Tcl command line

システム レベル デザイン入力 japan.xilinx.com 71UG895 (v2013.1) 2013 年 3 月 20 日

Page 72: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

システム レベル デザイン入力 japan.xilinx.com 72UG895 (v2013.1) 2013 年 3 月 20 日

第 5 章

デザインのデバッグ

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

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

• インシステム デバッグ

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

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

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

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

Page 73: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

付録 A

その他のリソース

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

http://japan.xilinx.com/support

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

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

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

リファレンス1. 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892)

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

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

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

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

6. 『Vivado Design Suite 移行手法ガイ ド 』 (UG911)

7. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ クの配置』 (UG899)

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

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

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

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

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

13. 『Vivado Design Suite ユーザー ガイ ド : IP を使用したデザイン』 (UG896)

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

システム レベル デザイン入力 www.xilinx.com 73UG895 (v2013.1) 2013 年 3 月 20 日

Page 74: Vivado Design Suite - Xilinx...システム レベル デザイン入力 2 UG895 (v2013.1) 2013 年 3 月 20 日 Notice of Disclaimer The information disclosed to you hereunder (the

リファレンス

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

16. Vivado Design Suite ビデオ チュート リ アル (http://japan.xilinx.com/training/vivado/index.htm)

17. Vivado Design Suite 資料 (http://japan.xilinx.com/support/documentation/dt_vivado2013-1.htm)

システム レベル デザイン入力 www.xilinx.com 74UG895 (v2013.1) 2013 年 3 月 20 日