vivado design suite...システム レベル デザイン入力 japan.xilinx.com 4 ug895 (v2013.2)...

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

Upload: others

Post on 11-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Vivado Design Suite ユーザー ガイド

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

    UG895 (v2013.2) 2013 年 6 月 19 日

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

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

    この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、[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をアップデート

    2013/06/19 2013.2 • Vivado IP インテグレーターが早期アクセス用であるこ とを記述した文を削除• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの

    設計』 (UG994)への参照を追加• 「RTL プロジェク トの作成」 にボード選択に関する注記を追加、「プロジェク トのアーカイ

    ブ」 へ init.tcl ファ イルに関する情報を追加、第 2 章 「プロジェク トの操作」 へ 「ソースの制御システム」 を追加

    • 図 2-11 および 図 2-12 をアップデート

    http://japan.xilinx.comhttp://www.xilinx.com/warranty.htmhttp://www.xilinx.com/warranty.htm#critappsmailto:[email protected]

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

    目次

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

    第 1 章 : はじめに概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Vivado Design Suite の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    第 2 章 : プロジェク トの操作概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6プロジェク ト タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6プロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7プロジェク トの管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18プロジェク ト サマリの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21プロジェク ト設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Tcl スク リプ ト を使用したプロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    第 3 章 : ソース ファイルの操作概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32プロジェク ト モードでのソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32非プロジェク ト モードでのソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    第 4 章 : RTL デザインのエラボレーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65プロジェク ト モードでのデザインのエラボレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65非プロジェク ト モードでのデザインのエラボレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    第 5 章 : デザインのデバッグ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72RTL レベルのデザイン シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72インシステム デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    付録 A : その他のリソースザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73リ ファレンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    http://japan.xilinx.com

  • 第 1 章

    はじめに

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

    Vivado Design Suite の起動Vivado Design Suite は、 さまざまな方法で起動できます。たとえば、Tcl スク リプ ト ベースのコンパイル方法を使用する と、 ソースやデザイン プロセスをユーザーが管理できます。 この方法は、「非プロジェク ト モード」 と呼ばれます。また、 プロジェク ト ベースの方法を使用して、 プロジェク トおよびプロジェク トの状態を使用して、 デザイン プロセスおよびデザイン データを自動的に管理させるこ と もできます。 この方法は、 「プロジェク ト モード」 と呼ばれます。 どちらの方法でも Tcl スク リプ トのバッチ モードで実行できるほか、 Vivado IDE でインタラ クティブに実行できます。 さまざまなデザイン フロー モードの詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』(UG892) [参照 1] を参照して ください。

    注記 : インス トール、ラ イセンス、 リ リース情報については、『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、インス トールおよびライセンス』 (UG973) [参照 2] を参照して ください。 XilinxNotify を使用したソフ ト ウェア アップデートの取得方法については、 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 3] を参照して ください。

    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)[参照 4] および 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)[参照 5]を参照してください。 Vivadoツールでの Tcl の使用方法の詳細については、 『Vivado Design Suite チュート リ アル : デザイン フロー概要』 (UG888) [参照 6] を参照して ください。

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

    http://japan.xilinx.com

  • 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

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

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

    推奨 : 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • 第 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの作成

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

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

    インポート プロジェク ト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) が/ に作成されます。 プロジェ ク ト で作成されたすべてのフォルダーおよびデータ ファ イルは ディ レク ト リに保存されます。オフにする と、プロジェクト ファ イル (.xpr) が に作成され、 そのプロジェク トで作成されたすべてのフォルダーおよびデータ ファ イルがそのディ レク ト リに保存されます。

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

    http://japan.xilinx.com

  • プロジェク トの作成

    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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの作成

    重要 : デザインに 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの作成

    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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの作成

    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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの作成

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

    注記 : ボードを選択する と、 Vivado IP カタログで IP をカスタマイズする際に IP によっては [Board] タブが表示されます。 このタブを使用する と、 選択したボードで動作する IP の I/O 制約が作成できます。 詳細は、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 15] および 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 16]を参照して ください。

    ° [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 コードに記述されるポートの名前を定義します。

    X-Ref Target - Figure 2-6

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

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

    http://japan.xilinx.com

  • プロジェク トの作成

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

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

    - [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] をオンにします。

    X-Ref Target - Figure 2-7

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

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

    http://japan.xilinx.com

  • プロジェク トの作成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    X-Ref Target - Figure 2-8

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

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

    http://japan.xilinx.com

  • プロジェク トの作成

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

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

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

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

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

    ° [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] : 指定した検索条件に合うデバイスのみがリ ス トできます。

    X-Ref Target - Figure 2-9

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

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

    http://japan.xilinx.com

  • プロジェク トの作成

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

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

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

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

    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) [参照 5] を参照するか、 -help を入力して ください。

    X-Ref Target - Figure 2-10

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

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

    http://japan.xilinx.com

  • プロジェク トの作成

    プロジェク ト を作成する 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの管理

    既存の 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの管理

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

    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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク トの管理

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

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

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

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

    ° [Include configuration settings] : デザインのデバッグに役立つ Tcl 初期化コマンドを含む init.tcl ファ イルを含みます。

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

    ソースの制御システム

    Tcl コマンドの write_project_tcl を使用する と、現在のプロジェク ト を再作成する Tcl スク リプ ト を生成できます。 生成されるスク リプ トには、 次を実行する Tcl コマンドが含まれます。

    • プロジェク トの作成

    • プロジェク ト タイプの設定

    • ファ イルセッ トの作成

    • ソース ファ イルの追加またはインポート

    • run および run プロパティの定義

    この Tcl スク リプ トおよびさまざまなデザイン ソースはソース制御システムに格納し、ファ イル管理およびプロジェク ト圧縮をします。 このコマンドの詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 5]を参照するか、 Vivado IDE の Tcl コンソールで write_project_tcl -help と入力します。

    X-Ref Target - Figure 2-11

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

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

    http://japan.xilinx.com

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

    プロジェク ト サマリの使用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) [参照 7] を参照して ください。

    • [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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

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

    X-Ref Target - Figure 2-12

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

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

    http://japan.xilinx.com

  • プロジェク ト設定

    プロジェク ト設定プロジェク ト設定は、 各プロジェク トの必要に合わせて指定できます。 プロジェク ト設定には、 最上位モジュールの定義に関する一般的な設定、およびシ ミ ュレーシ ョ ン、合成、 インプ リ メンテーシ ョ ン、 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) [参照 7] を参照して ください。

    • [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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク ト設定

    ° [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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • プロジェク ト設定

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

    X-Ref Target - Figure 2-14

    図 2-14 : [Simulation] ページ

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

    http://japan.xilinx.com

  • プロジェク ト設定

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

    注記 : プロジェク トに含まれる IP は前もって合成し、合成ランタイムを削減するこ とができます。 このボ ト ムアップ合成フローの使用については、『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 15] を参照して ください。

    ヒン ト : tcl.pre および tcl.post ファ イルを使用する と、Tcl スク リプ ト を追加して合成前後に読み出されるよ うにできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 4] を参照してください。

    X-Ref Target - Figure 2-15

    図 2-15 : [Synthesis] ページ

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

    http://japan.xilinx.com

  • プロジェク ト設定

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

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

    X-Ref Target - Figure 2-16

    図 2-16 : [Implementation] ページ

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

    http://japan.xilinx.com

  • プロジェク ト設定

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

    X-Ref Target - Figure 2-17

    図 2-17 : [Bitstream] ページ

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

    http://japan.xilinx.com

  • プロジェク ト設定

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

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

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

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

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

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

    注記 : [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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

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

    次は、 プロジェク ト を作成し、 さまざまなソースを追加し、 設定をコンフ ィギュレーシ ョ ンし、 合成およびインプ リメンテーシ ョ ン 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • 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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

  • 第 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) [参照 5] を参照するか、 -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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

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

    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.2) 2013 年 6 月 19 日

    http://japan.xilinx.com

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

    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 コードに記述されるポートの�