vivado design suite - xilinx · 2019-10-22 · vivado design suite ユーザー ガイド...
TRANSCRIPT
Vivado Design Suite ユーザー ガイド
システム レベル デザイン入力
UG895 (v2018.3) 2018 年 12 月 5 日
この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。
システム レベル デザイン入力 2UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
改訂履歴
次の表に、 この文書の改訂履歴を示します。
セクシ ョ ン 改訂内容
2018 年 12 月 5 日 バージョ ン 2018.3
「プロジェク ト サマリの使用」 [Overview] および [Dashboard] タブを追加。
2018 年 6 月 6 日 バージョ ン 2018.2
全体的にアップデート 編集上の更新のみ。 技術内容の変更なし。
2018 年 4 月 4 日 バージョ ン 2018.1
全体的にアップデート メニュー コマンドをアップデート。
「Vivado HLS ソースの使用」 新しいセクシ ョ ンを追加。
「Model Composer ソースの使用」 新しいセクシ ョ ンを追加。
「DRC のレポート 」 インタラ クティブなレポート ファ イルおよび DRC 除外設定
に関する情報を追加。
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1章: 概要概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
プロジェク ト モードおよび非プロジェク ト モードでの Vivado Design Suite の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 2章: プロジェク トの操作概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
プロジェク ト タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
プロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Vivado Design Suite プラ ッ ト フォーム ボード フローの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
プロジェク トの管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
プロジェク ト サマリの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
プロジェク ト設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Tcl スク リプ ト を使用したプロジェク トの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
第 3章: ソース ファイルの操作はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
デザイン ソースの作成と追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IP ソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
IP インテグレーターのソースの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Vivado HLS ソースの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Model Composer ソースの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
System Generator ソースの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
ソース ファ イルの編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
シ ミ ュレーシ ョ ン ソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
制約の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
非プロジェク ト モードでのソースの操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
第 4章: RTL デザインのエラボレーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
プロジェク ト モードでのデザインのエラボレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
非プロジェク ト モードでのデザインのエラボレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
第 5章: デザインのデバッグ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
RTL レベルのデザイン シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
インシステム デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
付録 A: ボード ファイル概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
システム レベル デザイン入力 3UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
プラ ッ ト フォーム ボード フローの理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
ボード ファ イルの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
プリセッ ト ファ イルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
その他のファイルおよび特別な注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
付録 B: Vivado 命名規則概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
付録 C: その他のソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ト レーニング リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
システム レベル デザイン入力 4UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 1章
概要
概要
このユーザー ガイ ドでは GUI および Tcl、 プロジェク ト モードおよび非プロジェク ト モードなど、 異なるプロジェ
ク ト タイプの Vivado® Design Suite の概要について説明します。Vivado® Design Suite を使用する と、RTL の作成から
ビッ ト ス ト リームの生成まで、 デザイン フロー全体を管理できます。 システム レベル デザイン入力では、 プロジェ
ク トの作成、 ソース ファ イルの作成および追加、 ブロ ッ ク デザインおよび IP コアの追加、 RTL デザインのエラボ
レート、 デバッグ情報の挿入および設定など、 デザインの設定をします。 デザインはグラフ ィカル ユーザー イン
ターフェイス (GUI) である Vivado IDE (Integrated Design Environment) または Tcl コマンド /スク リプ ト を使用して入力
できます。
プロジェク ト モードおよび非プロジェク ト モードでの Vivado Design Suite の起動
Vivado Design Suite は、 さまざまな方法で起動できます。 たとえば、 非プロジェク ト モード と呼ばれる Tcl スク リプ
ト ベースのコンパイル方法を使用して、 ソースおよびデザイン プロセスをユーザーが自分で管理できます。 また
は、 プロジェク ト モード と呼ばれるプロジェク ト ベースの方法を使用して、 プロジェク トおよびプロジェク ト ス
テータスによ りデザイン プロセスおよびデザイン データが自動的に管理されるよ うにするこ と もできます。 どちら
の方法でも Tcl スク リプ トのバッチ モードで実行できるほか、 Vivado IDE でインタラ クティブに実行できます。 異
なるデザイン フロー モードの詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参
照 1] のこのセクシ ョ ンを参照してください。
Tcl の使用
Tcl を直接使用する場合は、 Tcl コマンドで次のいずれかの方法を使用してデザインを処理します。
• Vivado IDE 環境外で Vivado Design Suite Tcl シェルに Tcl コマンドを入力します。
• Vivado IDE の下部にある [Tcl Console] ウ ィンド ウに Tcl コマンドを入力します。
• Vivado Design Suite Tcl シェルから Tcl スク リプ ト を実行します。
• Vivado IDE から Tcl スク リプ ト を実行します。
Tcl および Tcl スク リプ トに関する情報は、『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)
[参照 3]、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4]、および 『Vivado Design Suite ユー
ザー ガイ ド : デザイン フローの概要』 (UG892) [参照 1] を参照してください。Vivado ツールでの Tcl の使用方法の詳細
は、 『Vivado Design Suite チュート リ アル: デザイン フローの概要』 (UG888) [参照 5] を参照してください。
システム レベル デザイン入力 5UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 1 章:概要
Vivado Design Suite Tcl シェルの起動
Vivado Design Suite Tcl シェルを起動するには、 Linux コマンド プロンプ ト または Windows コマンド プロンプ トに次
のよ うに入力します。
vivado -mode tcl
注記: Windows の場合、 [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado <version>] → [Vivado
<version> Tcl Shell] をク リ ッ ク しても起動できます。
バッチ Tcl スクリプ ト を使用した Vivado ツールの起動
Vivado ツールを起動する と きに Tcl スク リプ ト を指定する と、 Vivado ツールをバッチ モードで使用できます。 Linux
コマンド プロンプ ト または Windows コマンド プロンプ トに次のよ うに入力します。
vivado -mode batch -source <your_Tcl_script>
注記:バッチ モードの場合、 指定したスク リプ トが実行された後 Vivado ツールが終了します。
Vivado IDE の起動
GUI を使用する場合は、 Windows または Linux で Vivado IDE を起動します。 Vivado IDE の詳細は、 『Vivado Design
Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] および 『Vivado Design Suite ユーザー ガイ ド : デザイン フ
ローの概要』 (UG892) [参照 1] を参照してください。
推奨: プロジェク トが保存されているディ レク ト リ または作業ディ レク ト リから Vivado IDE を起動して ください。 こ
れによ り、 起動ディ レク ト リに書き込まれるプロジェク ト ファ イル、 ログ ファ イル、 ジャーナル ファ イルが見つけ
やすくなり ます。
ヒン ト : Vivado IDE のさまざまな部分に関する情報をすばやく入手するには、
そのウ ィンド ウまたはダイアログ ボッ クスでク イ ッ ク ヘルプ ボタン をク リ ッ ク して ください。
システム レベル デザイン入力 6UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 1 章:概要
Windows での Vivado IDE の起動
[スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado <version>] → [Vivado <version>] をク リ ッ ク しま
す。
注記: または、 デスク ト ップの Vivado IDE のシ ョート カッ ト をダブルク リ ッ ク します。
ヒン ト : Windows デスク ト ップにある Vivado IDE シ ョート カッ ト アイコンを右ク リ ッ ク し、[Properties] をク リ ッ ク し
て [Start In] フ ィールドをアップデートできます。 これによ り、 起動ディ レク ト リに書き込まれるプロジェク ト ファ
イル、 ログ ファイル、 ジャーナル ファ イルが見つけやすくなり ます。 ログ ファ イルおよびジャーナル ファ イルの
デフォルト ロケーシ ョ ンに関しては、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] の
このセクシ ョ ンを参照してください。
Windows または Linux のコマンド ラインからの Vivado IDE の起動
Linux または Windows コマンド ラインから Vivado Design Suite を起動するには、 まずツールをインス トールして、
ローカル コンピューターで実行するよ うに設定する必要があ り ます。 インス トールする と、 Vivado ツールが PATH
に追加されます。
ツールをインス トールしたら、 コマンド プロンプ トに次のコマンドを入力します。
vivado
このコマンドを入力する と、自動的に vivado -mode gui が実行され、 Vivado IDE が起動します。ヘルプが必要な
場合は、 「vivado -help」 と入力します。
ヒン ト : Vivado ツールのパスを現在のシェル/コマンド プロンプ トに追加するには、 <install_path>/Vivado/<version>
ディ レク ト リから settings64.bat または settings64.sh を実行します。
Vivado Design Suite の Tcl シェルからの Vivado IDE の起動
Vivado Design Suite が Tcl モードのインタラ クティブな Tcl コマンド シェルで実行されている場合は、 Tcl プロンプ ト
で次のコマンドを使用して、 Vivado IDE を起動し、 Vivado ツールの GUI を開く こ とができます。
start_gui
X-Ref Target - Figure 1-1
図 1‐1: Vivado デスク ト ップ アイコン
システム レベル デザイン入力 7UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2章
プロジェク トの操作
概要
プロジェク ト モードで操作する場合は、 さまざまなプロジェク ト タイプを使用してデザインを入力できます。 この
章では、 各プロジェク ト タイプとそのプロジェク トの作成および管理方法について説明します。 また、 プロジェク
ト サマリ、 プロジェク ト設定のほか、 Tcl スク リプ ト を使用したプロジェク トの作成方法についても説明します。
プロジェク ト タイプ
Vivado® Design Suite を使用する と、次のプロジェク ト タイプを作成できます。各プロジェク ト タイプの入力ソース
タイプは異なり ます。
• 「RTL プロジェク ト 」
• 「合成後のプロジェク ト 」
• 「I/O プランニング プロジェク ト 」
• 「インポート プロジェク ト 」
注記: プロジェク トは、 作成後は別のプロジェク ト タイプに変更できません。 例外は I/O プランニングプロジェク ト
のみで、 このプロジェク トは RTL プロジェク トの基礎と して使用できます。
RTL プロジェク ト
Vivado Design Suite を使用する と、 RTL の作成からビッ ト ス ト リームの生成まで、 デザイン フロー全体を管理できま
す。 追加できるソースは、 RTL ソース ファ イル、 ザイ リ ンクス IP カタログからの IP、 Vivado IP インテグレーターで
作成されたブロ ッ ク デザイン、 デジタル信号処理 (DSP) ソース、 階層モジュール用の EDIF ネッ ト リ ス トです。 IP
には、 Vivado ツールで生成された XCI または XCIX ファ イル、 CORE Generator™ ツールで生成されたレガシ XCO
ファ イル、 およびプリ コンパイルされた EDIF または NGC 形式の IP ネッ ト リ ス ト を含めるこ とができます。 RTL 情
報の詳細は、 第 4 章 「RTL デザインのエラボレーシ ョ ン」 を参照して ください。
注記: ISE® の IP は、 7 シ リーズ デバイスでのみサポート されます。 ISE フォーマッ ト IP (.ngc) は UltraScale™ デザイ
ンではサポート されなくなっています。 こ ういった IP は、 UltraScale デバイス デザインを開始する前にネイティブ
Vivado Design Suite 形式に移行しておく必要があ り ます。
RTL プロジェク トから、 RTL をエラボレート して解析し、 構文とデザイン コンス ト ラ ク トが正しいこ とを確認した
ら、 さまざまな合成やインプ リ メンテーシ ョ ン run を実行および管理し、 デザインと run 結果を解析できます。 ま
た、 タイ ミ ング ク ロージャを達成するため、 さまざまな制約やインプリ メンテーシ ョ ン ス ト ラテジを試すこ と もで
きます。
システム レベル デザイン入力 8UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
合成後のプロジェク ト
Vivado 合成、 XST またはサポート されるサードパーティ合成ツールで作成した合成後のネッ ト リ ス トからプロジェ
ク ト を作成できます。 たとえば、 Vivado Design Suite には、 EDIF、 NGC、 または構造 Verilog 形式のネッ ト リ ス ト 、
XCI ファ イル (DCP ファ イルを含むすべての出力ファイルが既に生成されている必要あ り ) と Vivado デザイン チェッ
クポイン ト (DCP) ファ イルをインポートできます。 ネッ ト リ ス トは、 1 つのファイルにまとめられているか、 複数の
モジュール レベルのネッ ト リ ス トから構成される階層構造になっています。
重要: Vivado Design Suite では、 UltraScale デバイスに対して NGC フォーマッ トのファ イルはサポート されていませ
ん。 Vivado Design Suite で IP を再生成し、 ネイティブ出力ファイルを使用するこ とをお勧めします。 NGC ファ イル
は NGC2EDIF コマンドで EDIF に変換してインポートするこ と もできますが、今後は XST で生成された NGC フォー
マッ トではなくネイティブ Vivado IP を使用するこ とをお勧めします。
ネッ ト リ ス ト ロジッ クを解析およびシ ミ ュレーシ ョ ンし、 さまざまなインプリ メンテーシ ョ ン run を実行および管
理し、 配置配線済みのデザインの結果を解析できます。 また、 さまざまな制約やインプリ メンテーシ ョ ン ス ト ラテ
ジを試すこ と もできます。
推奨: 常に XCI または XCIX ファ イルを使用して Vivado IP を参照してください。 IP の DCP ファ イルのみを読み込む
こ とはお勧めしません。 DCP には制約が含まれますが、 ELF、 COE、 Tcl スク リプ ト など、 IP で提供可能で必要とな
る可能性のあるその他の出力ファイルは含まれません。
注記: ISE の IP は、 7 シ リーズ デバイスでのみサポート されます。 ISE フォーマッ トの IP (.ngc) は UltraScale デザイン
ではサポート されなくなっています。 こ ういった IP は、 UltraScale デザインを開始する前にネイティブ Vivado 形式
に移行しておく必要があ り ます。
注記: エンベデッ ド タイ ミ ング制約を含む NGC または EDIF ファ イルをインポートする と、 その制約は Vivado
DesignSuite では使用されません。 デザイン制約は、 XDC コマンド と してフォーマッ ト される必要があ り ます。 ザイ
リ ンクス デザイン制約 (XDC) ファ イルの詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参
照 7] を参照してください。 ユーザー制約ファイル (UCF) を XDC 制約に変換する方法については、 『ISE から Vivado
Design Suite への移行ガイ ド』 (UG911) [参照 8] を参照してください。
I/O プランニング プロジェク ト
空の I/O プランニング プロジェク ト を作成する と、 デザイン サイクルの初期段階でクロ ッ ク リ ソース と I/O プラン
ニングを実行できます。 I/O ポートは Vivado IDE 内で定義できますが、 CSV または XDC 入力ファイルのいずれかの
形式でインポートするこ と もできます。 空の I/O プランニング プロジェク ト を作成して、 別のデバイス アーキテク
チャで使用可能なロジッ ク リ ソースを確認するこ と もできます。
I/O を割り当てた後、 Vivado IDE で CSV、 XDC、 および RTL 出力ファイルを作成できます。 このファイルは、 RTL
ソースまたはネッ ト リ ス トが使用可能になってから、 デザイン フローの後の段階で使用します。 この出力ファイル
は、 プ リ ン ト回路基板 (PCB) デザイン プロセスで使用する回路図シンボルの作成にも使用できます。
メモ リ、 GT、 PCIe®、 およびイーサネッ ト インターフェイスなどの IP には、 それらの IP に関連付けられた I/O ポー
トがあ り ます。 これらの IP は、 Manage IP プロジェク ト または RTL プロジェク トで設定する必要があ り ます。
『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 9] のこのセクシ ョ ンおよび
「I/O ポー ト を含む IP の I/O およびクロ ッ ク プランニング」 を参照して ください。
注記: I/O プランニング プロジェク トは、 RTL ベースのデザイン プロジェク トの基礎と して使用できます。 詳細は
『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 9] のこのセクシ ョ ンを参照し
てください。
システム レベル デザイン入力 9UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
インポート プロジェク ト
Synopsys Synplify、 XST、 または ISE® Design Suite プロジェク トからの RTL プロジェク ト データは、 Vivado ツール
のプロジェク トにインポートできます。 プロジェク ト ソース ファ イルおよびコンパイル順はインポート されます
が、 インプ リ メンテーシ ョ ン結果および設定はインポート されません。
プロジェク トの作成
New Project ウ ィザードでは、 プロジェク ト名およびディ レク ト リの指定、 プロジェク トへのソース ファ イルと制約
ファイルの追加、 ターゲッ ト デバイスの選択をウ ィザードに従って実行できます。 ファ イルおよびプロジェク トの
命名については、 付録 B 「Vivado 命名規則」 を参照して ください。
注意: Windows OS にはパス長に 260 文字の制限があ り、 これが Vivado ツールに影響するこ とがあ り ます。 この問題
を回避するには、 プロジェク ト を作成、 IP プロジェク ト または Manage IP プロジェク ト を定義、 ブロ ッ ク デザイン
を作成する際に、 名前およびディ レク ト リ名をできるだけ短く して ください。
1. Vivado IDE で [File] → [Project] → [New] をク リ ッ ク します。
注記: または、 Getting Started ページで [Create Project] のリ ンクをク リ ッ ク します。
2. New Project ウ ィザードで概要を確認し、 [Next] をク リ ッ ク します。
3. [Project Name] ページで次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。
° [Project name]: プロジェク ト名を指定します (例: project_1)。
° [Project location]: 新しいプロジェク トのディ レク ト リ を指定します。
° [Create Project Subdirectory]: 指定したプロジェク ト ディレク ト リにプロジェク ト と同じ名前の下位ディレク
ト リ を追加します。
注記:チェッ ク ボッ クスはデフォルトではオンになっており、 プロジェク ト ファ イル (.xpr) が
<project_location>/<project_name> に作成されます。 プロジェク トで作成されたすべてのフォル
ダーおよびデータ ファ イルは <project_name> ディ レク ト リに保存されます。 オフににする と、 プロ
ジェク ト ファ イル (拡張子は .xpr) が <project_location> に作成され、プロジェク トで作成されたすべ
てのフォルダーおよびデータ ファ イルがそのディレク ト リに保存されます。
システム レベル デザイン入力 10UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
4. [Project Type] ページでプロジェク ト タイプを指定し、 プロジェク トに関連付けるソース ファ イルのタイプを決
めます。
5. 作成するプロジェク ト タイプに応じて、 次のセクシ ョ ンのいずれかの説明を参照して ください。 ウ ィザードの
残りのページで、 プロジェク トに 適なソースを追加していきます。
X-Ref Target - Figure 2-1
図 2‐1: New Project ウィザード : [Project Name] ページ
X-Ref Target - Figure 2-2
図 2‐2: New Project ウィザード : [Project Type] ページ
システム レベル デザイン入力 11UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
• 「RTL プロジェク トの作成」
• 「合成後プロジェク トの作成」
• 「I/O プランニング プロジェク トの作成」
• 「外部プロジェク トのインポート 」
• 「プロジェク トでの処理に関する Tcl コマンド」
RTL プロジェク トの作成
RTL プロジェク トには、 RTL、 ブロ ッ ク デザイン、 IP および RTL ソースが含まれるこ とがあ り ます。 このダイアロ
グ ボッ クスでは、 プロジェク ト作成中に追加するソースを指定できます。 それ以外のファイルも後の RTL コード開
発、 解析、 合成、 およびインプ リ メンテーシ ョ ン中に追加できます。 RTL の開発および解析の詳細は、 第 4 章
「RTL デザインのエラボレーシ ョ ン」 を参照してください。
1. 「プロジェク トの作成」 の手順に従います。
2. [Project Type] ページで [RTL Project] をオンにして、 [Next] をク リ ッ ク します。
注記:必要であれば、 [Do not specify sources at this time] をオンにします。 これをオンにする と、 デザイン ソース
を追加する手順を飛ばして、 ターゲッ ト パーツを選択してプロジェク ト を作成できます。
3. [Add Sources] ページで次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。
° [Add Files]: プロジェク トに追加するファイルを選択するためのファイル ブラウザーが表示されます。 RTL
プロジェク トには、 Verilog、 VHDL、 SystemVerilog、 BD、 XCI、 EDIF、 NGC、 BMM、 ELF およびその他の
ファイル タイプを追加できます。
注記: [Add Source Files] ダイアログ ボッ クスでは、 各ファイルまたはディ レク ト リがそれとわかるよ うなア
イコンで表示されます。 小さい赤い四角は、 読み出し専用であるこ とを示します。
° [Add Directories]: 選択したディ レク ト リに含まれるすべてのファイルを追加します。 指定したディ レク ト リ
にある有効なソース ファ イルがすべてプロジェク トに追加されます。
° [Add Sources from Subdirectories]: リ ス ト されたディ レク ト リのディ レク ト リ ツ リーから ソースを追加してス
キャンします。
° [Create File]: VHDL、 Verilog、 Verilog ヘッダー、 または SystemVerilog ファ イルを作成する [Create Source
File] ダイアログ ボッ クスが開きます。 [Create Source File] ダイアログ ボッ クスで次のよ うにオプシ ョ ンを
設定します。
- [File type]: Verilog ファ イル (.v)、 Verilog ヘッダー ファ イル (.vh)、 SystemVerilog ファ イル (.sv)、 VHDL
ファ イル (.vhdl)、 またはメモ リ ファ イル (.mem) などのファイル形式のいずれかを指定します。
- [File name]: 新しい HDL ソース ファ イルの名前を指定します。
- [File location]: ファ イルを作成するディ レク ト リ を指定します。
注記: ファ イルのプレースホルダーがソースのリ ス トに追加されます。 ファ イルは [Finish] をク リ ッ クする
と作成されます。
° [Library]: ファ イルまたはディ レク ト リの RTL ライブラ リ を指定します。 ライブラ リ名は選択するか、
[Library] テキス ト フ ィールドに新しいライブラ リ名を入力して指定します。
注記: このオプシ ョ ンは、 VHDL ファ イルの場合のみ使用できます。 デフォルトでは、 HDL ソース ファ イ
ルは xil_defaultlib ライブラ リに追加されます。 必要に応じて、 ユーザー VHDL ライブラ リ を作成し、
参照できます。 Verilog および SystemVerilog ファ イルの場合は、 xil_defaultlib のままにしておきます。
システム レベル デザイン入力 12UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
° [HDL Source For]: 読み込むソースが合成およびシ ミ ュレーシ ョ ン用の RTL ソース ファ イルであるか、 シ
ミ ュレーシ ョ ンのみで使用する RTL テス トベンチであるかを指定します。
° [Remove]: 選択したソース ファ イルを削除します。
° [Move Up]/[Move Down]: ファ イルまたはディレク ト リ を リ ス トの上または下方向に移動します。 このファ
イル順は、 合成やシ ミ ュレーシ ョ ンなどのダウンス ト リーム プロセスでのエラボレーシ ョ ンやコンパイル
の順序に影響します。
° [Scan and add RTL include files into project]: すべての RTL ファ イルをスキャンし、 参照された Verilog のイン
クルード ファ イルをプロジェク ト構造にインポート します。
° [Copy sources into project]: 元のファイルを参照するのではなく、追加されたソース ファ イルと インクルード
ファ イルをコピーしてローカル プロジェク ト ディ レク ト リに追加します。 [Add Directories] ボタンをク リ ッ
ク してソース ファ イルのディレク ト リ を追加した場合は、 ファ イルがローカルのプロジェク トにコピーさ
れる際にディ レク ト リ構造もそのまま保持されます。 詳細は、 第 3 章の 「リモート ソースの参照またはプ
ロジェク ト ディレク ト リへのソースのコピー」 を参照して ください。
° [Add sources from subdirectories]: [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれる
ソース ファ イルをすべて追加します。
° [Target language]: Verilog または VHDL のいずれかにデザインのターゲッ ト言語を指定します。 新しい RTF
ファ イルはデフォルトで指定したターゲッ ト言語になり ます。 指定したターゲッ ト言語でデザインの出力
ファイルが生成されます。
° [Simulator language]: シ ミ ュレーシ ョ ン用に生成する出力ファイルの言語とサードパーティ スク リプ トに使
用するファイル タイプを指定します。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレー
シ ョ ン』 (UG900) [参照 10] を参照してください。
X-Ref Target - Figure 2-3
図 2‐3: New Project ウィザード : [Add Sources] ページ
システム レベル デザイン入力 13UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
° [Add Sources]: ファ イル ブラウザーが開き、 Vivado Design Suite 用の Xilinx Core Instance (XCI) ファ イル、 ま
たは IP や CORE Generator コア (XCO) ファ イルが 1 つのファイルにまとめられたコア コンテナー ファ イル
(XCIX) を選択できます。 Vivado IP インテグレーター機能または DSP サブデザイン用の Mathworks Simulink
プロジェク ト ファ イル (SLX または MDL) からブロ ッ ク デザイン (BD) ファ イルを追加するこ と もできま
す。
XCI ファ イルは、 IP の作成に使用されるプロジェク ト オプシ ョ ン、 カスタマイズ パラ メーター、 ポート パ
ラ メーターなどの値を記録する IP-XACT コンポーネン ト インスタンスの XML ファ イルです。XCIX は、 IP
ディ レク ト リ全体と、 XCI 合成、 シ ミ ュレーシ ョ ン、 およびサポート ファ イルなど、 すべての生成ファイ
ルを含む圧縮されたバイナリ ファ イルです。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した
設計』 (UG896) [参照 11] の 「コア コンテナーの使用」 セクシ ョ ンを参照してください。
注記: Vivado IP カタログを使用して XCI または XCIX 形式の IP を追加する と、 Vivado IDE は自動的に HDL
ソースなどの生成されたターゲッ ト をすべてプロジェク トにインポート します。 合成を実行する と、 その
IP と 上位デザインが一緒に合成されます。
第 3 章の 「IP ソースの操作」 に示すよ うに、 IP カタログを使用する と、 パラ メーター指定したコアを
Vivado IDE のプロジェク トに読み込むこ と もできます。
4. オプシ ョ ン: [Add Constraints] ページで次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。
° [Add Files]: プロジェク トに追加する Synopsys デザイン制約 (SDC) また XDC ファ イルを指定するための
ファイル ブラウザーが開きます。
° [Create File]: 新しい 上位の XDC ファ イルが作成されます。
° [Remove]: 制約リ ス トから選択したファイルが削除されます。
° [Move Up]/[Move Down]: 制約ファイルを リ ス トの上下方向に移動します。 コマンドはリ ス ト される順序に
依存し、 制約の 後のコマンドがそれよ り前のコマンドの結果を上書きします。
° [Copy Constraint Files into Project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディレク ト
リに制約ファイルをコピーします。
注記: プロジェク トに関連付けられた RTL またはネッ ト リ ス ト ソース ファ イルと同じディ レク ト リの SDC また
は XDC ファ イルは、 プロジェク トに追加される制約ファイルと して自動的に表示されます。 これらのファイル
は必要に応じて削除できます。
システム レベル デザイン入力 14UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
5. [Default Part] ページでザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボードを選択し、
[Next] をク リ ッ ク します。
° [Parts]: 使用可能なデバイスがリ ス ト されます。 I/O ピンのカウン トやルッ クアップ テーブル (LUT) および
フ リ ップフロ ップ (FF) の数、 使用可能なブロ ッ ク RAM などのデバイス リ ソースに関する情報が表形式で
表示されます。 この リ ス トでは、 製品、 ファ ミ リ、 サブファ ミ リ、 パッケージ、 スピード グレード、 およ
び温度などのフ ィルターを使用して、 デバイスを絞り込むこ とができます。 [Search] フ ィールドを使用し
て、 特定のデバイスを検出するこ と もできます。
Vivado Design Suite のインス トール プロセスでは、 Vivado ツールで必要と されるディ スク空き容量を削減す
るため、 インス トールするザイ リ ンクス デバイスを選択できます。 現在システムにインス トールされない
パーツをターゲッ トにする必要がある場合は、 ツールを終了して該当する追加パーツをインス トールする
必要があ り ます。詳細は、 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライ
センス』 (UG973) [参照 2] のこのセクシ ョ ンを参照してください。
° [Boards]: 使用可能な開発ボード、 TDP ボード、 ボードで使用されるザイ リ ンクス パーツなどがリ ス ト され
ます。 デバイス リ ソースに関する情報が [Parts] と同様の表形式で表示されます。 リ ス トは、 [Vendor]、
[Display Name]、 [Board Rev] でフ ィルターをかけて表示させるこ と もできます。
° [Search] フ ィールドを使用して、 特定のボード タイプを検出するこ と もできます。
推奨: Vivado Design Suite プラ ッ ト フォーム ボード フローをサポートするボードを選択する と、 Vivado IP カタログお
よび Vivado IP インテグレーターの自動化された機能を利用できます。 たとえば、 選択したボードで使用可能なイン
ターフェイスをサポートする IP の I/O 制約を自動的に作成させるこ とができます。 詳細は、 「Vivado Design Suite プ
ラ ッ ト フォーム ボード フローの使用」 を参照してください。
X-Ref Target - Figure 2-4
図 2‐4: New Project ウィザード : [Add Constraints] ページ
システム レベル デザイン入力 15UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
6. [New Project Summary] ページでプロジェク トに選択されたオプシ ョ ンを確認したら、 [Finish] をク リ ッ ク します。
[Finish] をク リ ッ クする と、 プロジェク ト ディレク ト リ構造が作成され、 プロジェク トに対してローカルに設定
されているファイルがすべてコピーされ、 プロジェク ト ファ イルが書き出されます。 作成する必要のあるデザ
イン ソースはすべて次の手順で定義して、 ディ スクに書き込まれるよ うにする必要があ り ます。
7. オプシ ョ ン: 手順 3 で [Create File] オプシ ョ ンを使用する と、 新しい HDL モジュールを作成してプロジェク トに
追加するための [Define Module] ダイアログ ボッ クスが開きます。
X-Ref Target - Figure 2-5
図 2‐5: New Project ウィザード : [Default Part] ページ
システム レベル デザイン入力 16UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
RTL ソース ファ イルが作成され、 プロジェク トに追加されます。 [Sources] ウ ィンド ウに新し く定義したモ
ジュールがリ ス ト されます。 これらの新しいソース ファ イルでは、 Verilog モジュールまたは VHDL エンティ
ティが定義されますが、 ファ イルを編集してこれらのブロッ クのロジッ クまたはアーキテクチャを定義する必
要があ り ます。 Vivado IDE テキス ト エディ ターで新しいソース ファ イルを編集するには、 ファ イルをダブルク
リ ッ クするか、 右ク リ ッ ク して [Open File] を選択します。 新規作成したファイルの編集方法については、 「ソー
ス ファ イルの編集」 を参照してください。
合成後プロジェク トの作成
合成後プロジェク トは、 合成済みネッ ト リ ス ト 、 すべて生成されたブロッ ク デザイン、 すべて生成された IP、 およ
びその制約を使用して開始します。 この後、 デザインを解析、 フロアプラン、 インプリ メン トできます。
注記:合成済みネッ ト リ ス ト を作成するには、 XST またはサードパーティの合成ツールを使用できます。
重要: EDIF および NGC ファ イルを使用する場合、 上位セルの名前がファイル名と同じである必要があ り ます。
1. 「プロジェク トの作成」 の手順に従ってプロジェク ト を作成します。
2. [Project Type] ページで [Post-Synthesis Project] をオンにして、 [Next] をク リ ッ ク します。
注記:必要であれば、 [Do not specify sources at this time] をオンにします。 これをオンにする と、 デザイン ソース
を追加する手順を飛ばして、 ターゲッ ト パーツを選択してプロジェク ト を作成できます。
3. [Add Netlist Sources] ページで次のオプシ ョ ンを使用して、 読み込むネッ ト リ ス ト ファ イルを指定し、 上位モ
ジュールを含むファイルを識別し、 下位レベル モジュールのネッ ト リ ス ト を検索するためのディ レク ト リ を定
義したら、 [Next] をク リ ッ ク します。
X-Ref Target - Figure 2-6
図 2‐6: [Define Module] ダイアログ ボックス
システム レベル デザイン入力 17UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
° [Add Files]: プロジェク トに追加するネッ ト リ ス ト ファ イル (構造 Verilog、 SystemVerilog、 EDIF または
NGC)、 BD ファ イル、 および XCI ファ イル (DCP ファ イルを含むすべての出力ファイルが既に生成されて
いる必要あ り )、 またはデザイン チェッ クポイン ト (DCP) ファ イルを選択します。
A
推奨: 常に XCI ファ イルを使用して IP を参照してください。 ブロ ッ ク デザインを参照するには常に BD ファ イルを
使用してください。 IP または BD の DCP ファ イルだけを読み込むこ とはお勧めしません。 DCP には制約が含まれま
すが、 ELF、 COE、 Tcl スク リプ ト など、 IP または BD で提供可能で必要となる可能性のあるその他の出力ファイル
は含まれません。
注記: ファ イルに 上位ネッ ト リ ス トが含まれる場合は [Top] をオンにします。
° [Add Directories]: ディ レク ト リ ブラウザーが起動され、 モジュールを検索するディレク ト リ を選択できま
す。 指定したディ レク ト リにある有効なソース ファ イルがすべてプロジェク トに追加されます。
° [Remove]: ボタンをク リ ッ クする と、 選択したファイルおよびディ レク ト リが削除されます。
° [Move Up]/[Move Down]: ファ イルまたはディレク ト リ を リ ス トの上または下方向に移動します。 ファイル
の順番は、 処理順序に影響します。
° [Copy sources into project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リにファ
イルをコピーします。 [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場
合は、 ファ イルがローカルのプロジェク トにコピーされる際にディ レク ト リ構造もそのまま保持されます。
詳細は、 第 3 章の 「リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー」 を参照
してください。
° [Add sources from subdirectories]: [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれる
ネッ ト リ ス ト ファ イルを追加します。
X-Ref Target - Figure 2-7
図 2‐7: New Project ウィザード : [Add Netlist Sources] ページ
システム レベル デザイン入力 18UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
4. オプシ ョ ン: [Add Constraints] ページで次のオプシ ョ ンを設定し、 [Next] をク リ ッ ク します。
° [Add Files]: プロジェク トに追加する SDC また XDC ファ イルを指定するためのファイル ブラウザーが開き
ます。
° [Create File]: 新しい 上位の XDC ファ イルが作成されます。
° [Remove]: 制約リ ス トから選択したファイルが削除されます。
° [Move Up]/[Move Down]: 制約ファイルを リ ス トの上下方向に移動します。 コマンドはリ ス ト される順序に
依存し、 制約の 後のコマンドがそれよ り前のコマンドの結果を上書きします。
° [Copy constraints into project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リに
制約ファイルをコピーします。
注記: プロジェク トに関連付けられた RTL またはネッ ト リ ス ト ソース ファ イルと同じディ レク ト リの SDC また
は XDC ファ イルは、 プロジェク トに追加される制約ファイルと して自動的に表示されます。
5. [Default Part] ページでザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボードを選択し、
[Next] をク リ ッ ク します。
° [Parts]: 使用可能なデバイスがリ ス ト されます。 デバイス リ ソースに関する情報が、 表形式で表示されま
す。 この リ ス トでは、 製品、 ファ ミ リ、 サブファ ミ リ、 パッケージ、 スピード グレード、 および温度など
のフ ィルターを使用して、 デバイスを絞り込むこ とができます。 [Search] フ ィールドを使用して、 特定のデ
バイスを検出するこ と もできます。
° [Boards]: 使用可能な TDP ボード と、 そのボードで使用されるザイ リ ンクス パーツがリ ス ト されます。 I/O
ピンのカウン トや LUT およびフ リ ップフロ ップの数、 使用可能なブロ ッ ク RAM などのデバイス リ ソース
に関する情報が表形式で表示されます。 リ ス トは、 [Vendor]、 [Display Name]、 [Board Rev] でフ ィルターを
かけて表示させるこ と もできます。 [Search] フ ィールドを使用して、 特定のボード タイプを検出するこ と
もできます。
6. [New Project Summary] ページでプロジェク トに選択されたオプシ ョ ンを確認したら、 [Finish] をク リ ッ ク します。
I/O プランニング プロジェク トの作成
I/O プランニング プロジェク トは、 システム レベル デザインのデバイス ピン配置を指定するために使用します。 こ
のタイプのプロジェク トは、 HDL または合成済みネッ ト リ ス ト を完了する前に作成できます。 たとえば、 システム
レベルまたは PCB 設計者とデザイン情報を共有する目的などに使用できます。 I/O プランニングの詳細は、 『Vivado
Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 9] を参照してください。
1. 「プロジェク トの作成」 の手順に従ってプロジェク ト を作成します。
2. [Project Type] ページで [I/O Planning Project] をオンにして、 [Next] をク リ ッ ク します。
3. オプシ ョ ン: [Import Ports] ダイアログ ボッ クスで次のオプシ ョ ンを指定し、 I/O ポート定義および制約をイン
ポートするためのファイルを選択したら、 [Next] をク リ ッ ク します。
° [Import CSV]: I/O 定義を含む CSV ファ イルを選択します。シ ミ ュレーシ ョ ンの詳細は、『Vivado Design Suite
ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899) [参照 9] を参照して ください。
° [Import XDC]: I/O ポート関連の制約のみを含む XDC ファ イルを選択します。
° [Do not import I/O ports at this time]: 空のプロジェク ト を作成しますI/O は後ほど作成またはインポートできま
す。
注記: RTL ヘッダーまたはソース ファ イルを使用してデザインの I/O ピン プランニングを実行するには、
RTL プロジェク ト を使用します。
システム レベル デザイン入力 19UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
4. [Default Part] ページ (図 2-5) でザイ リ ンクス パーツまたはターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボード
を選択し、 [Next] をク リ ッ ク します。
° [Parts]: 使用可能なデバイスがリ ス ト されます。 デバイス リ ソースに関する情報が、 表形式で表示されま
す。 この リ ス トでは、 製品、 ファ ミ リ、 サブファ ミ リ、 パッケージ、 スピード グレード、 および温度など
のフ ィルターを使用して、 デバイスを絞り込むこ とができます。 [Search] フ ィールドを使用して、 特定のデ
バイスを検出するこ と もできます。
° [Boards]: 使用可能な TDP ボード と、 そのボードで使用されるザイ リ ンクス パーツがリ ス ト されます。 I/O
ピンのカウン トや LUT およびフ リ ップフロ ップの数、 使用可能なブロ ッ ク RAM などのデバイス リ ソース
に関する情報が表形式で表示されます。 リ ス トは、 [Vendor]、 [Display Name]、 [Board Rev] でフ ィルターを
かけて表示させるこ と もできます。 [Search] フ ィールドを使用して、 特定のボード タイプを検出するこ と
もできます。
5. [New Project Summary] ページでプロジェク ト を定義するために選択したオプシ ョ ンを確認したら、 [Finish] をク
リ ッ ク します。
注記: メモ リ IP の I/O プランニングの詳細は、 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニン
グ』 (UG899) [参照 9] を参照してください。
外部プロジェク トのインポート
Vivado IDE 以外 (例: Synopsys の Synplify、 XST、 または ISE Design Suite の Project Navigator) で作成した既存の RTL
レベルのプロジェク ト ファ イルをインポートできます。 Vivado IDE では、 指定したプロジェク トのソース ファ イル
が検出され、 新規プロジェク トへ自動的に追加されます。 上位モジュール、 ターゲッ ト デバイス、 VHDL ライブ
ラ リ などの設定も既存プロジェク トからインポート されます。
注記: XST または ISE Design Suite プロジェク トのインポート方法については、『ISE から Vivado Design Suite への移行
ガイ ド』 (UG911) [参照 8] を参照してください。
1. 「プロジェク トの作成」 の手順に従ってプロジェク ト を作成します。
2. [Project Type] ページで [Imported Project] をオンにして、 [Next] をク リ ッ ク します。
3. [Import Project] ページで次のオプシ ョ ンを使用して、 インポートするプロジェク ト ファ イルを指定したら、
[Next] をク リ ッ ク します。
X-Ref Target - Figure 2-8
図 2‐8: New Project ウィザード : [Import Ports] ページ
システム レベル デザイン入力 20UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
° [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) [参照 4] を参照するか、
「<command> -help」 と入力してください。
プロジェク ト を作成する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : create_project および set_property
X-Ref Target - Figure 2-9
図 2‐9: New Project ウィザード : [Import Project] ページ
システム レベル デザイン入力 21UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
• Tcl コマンドの例 (RTL プロジェク ト ): create_project my_project C:/team/designs/my_project -part xc7k325tffg676-2 set_property DESIGN_MODE RTL [current_fileset]
• 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 set_property DESIGN_MODE RTL [current_fileset]
• 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 -norecurse source_dir
import_files source_dir
注記: add_files コマンドで、 現在のディレク ト リから追加するファイルを参照し、 import_files コマンドでプ
ロジェク トにファ イルをコピーします。
注意: Tcl コマンドの read_xdc、 read_vhdl、 read_verilog、 read_ip および read_edif は非プロジェク ト
モードにのみ使用できます。 詳細は、 第 3 章の 「非プロジェク ト モードでのソースの操作」 を参照して ください。
ヒン ト : PATH_MODE プロパティは add_files Tcl コマンド と一緒に使用し、 絶対パスを使用するのか相対パスを使
用するのかを指定します。 デフォルトでは、 相対パスが使用されます。 詳細は、 『Vivado Design Suite プロパティ リ
ファレンス ガイ ド』 (UG912) [参照 14] を参照してください。
システム レベル デザイン入力 22UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
既存の 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]
注記:パーツは、 プロジェク トの作成時もし くは作成後に設定できます。
注記: テンプレート スク リプ トは、 既存またはサンプル プロジェク トで write_project_tcl コマンドを実行する と簡単
に取得できます。
Vivado Design Suite プラッ ト フォーム ボード フローの使用
Vivado Design Suite では、 ザイ リ ンクス ターゲッ ト デザイン プラ ッ ト フォーム ボード (TDP) またはボード リ ポジ ト
リに追加されたユーザー指定のボードを使用してプロジェク ト を作成できます。 特定のボードを選択する と、 ボー
ドに関する情報が表示され、 IP カスタマイズおよび IP インテグレーター デザインで追加の設計アシスタンスを使用
できるよ うになり ます。
システム レベル デザイン入力 23UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
リポジト リへのユーザー ボードの追加
Vivado Design Suite インス トールには、 ツールの一部と して配信される TDP ボードのボード定義ファイルが含まれま
す。 Vivado Design Suite で使用できるよ うにボード リ ポジ ト リに追加するには、 付録 A 「ボード ファ イル」 で説明
するスキーマを使用してユーザー ボード ファ イルを作成するこ と もできます。
自身のボード ファイルまたはサードパーティ ファ イルをボード リ ポジ ト リに追加するには、 Vivado_init.tcl
ファ イルに、 または Vivado Design Suite を開いた直後に次のパラ メーターを定義します。
set_param board.repoPaths [list “<path1>” “<path2>” “...”]
Vivado_init.tcl ファ イルの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4] の
このセクシ ョ ンを参照してください。
ヒン ト : Vivado Design Suite のボード リ ポジ ト リである <Vivado_install_location>/data/boards は、 このパラ メーターの
値に関係なく常に読み出されます。
プラッ ト フォーム ボード フローでの Vivado IP カタログの使用
プラ ッ ト フォーム ボード フローをサポートする Vivado IP カタログからの IP を使用する場合、 [Customize IP] ダイア
ログ ボッ クスに [Board] タブが表示されます。 このタブでは、 IP カスタマイズで使用するボード インターフェイス
を選択できます。 選択したボード パーツでサポート される IP インターフェイスに基づいて、 IP コンフ ィギュレー
シ ョ ン オプシ ョ ンが変更され、 I/O ロケーシ ョ ンおよび I/O 規格などのボード専用に生成された物理制約がイネーブ
X-Ref Target - Figure 2-10
図 2‐10: New Project ウィザード : [Default Part/Board] ページ
システム レベル デザイン入力 24UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
ルになり ます。 ボード関連の IP のコンフ ィギュレーシ ョ ンについては、 『Vivado Design Suite ユーザー ガイ ド : IP イ
ンテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] を参照してください。
プラッ ト フォーム ボード フローでの Vivado IP インテグレーターの使用
オプシ ョ ンで、 Vivado IP インテグレーターを使用してブロ ッ ク デザインに IP を追加できます。 プロジェク トのボー
ドを選択したら、 [Board] ウ ィンド ウが IP インテグレーターに表示されるよ うにな り、 選択したボード パーツで使
用可能な IP インターフェイスおよびそれが使用されるインターフェイスが表示されます。
Vivado IP インテグレーターでは、 コンフ ィギュレーシ ョ ン済みの IP がインスタンシエート され、 I/O ロケーシ ョ ン
および I/O 規格などの物理的なボード制約のほか、 インプリ メンテーシ ョ ンおよびデバイス コンフ ィギュレーシ ョ
ンに使用される関連パラ メーターなどが割り当てられます。
コンフ ィギュレーシ ョ ンする と、 すべてのボードの物理制約が自動的にダウンス ト リームの合成ツールおよびイン
プ リ メンテーシ ョ ン ツールに渡されます。プラ ッ ト フォーム ボード フローの詳細は、 『Vivado Design Suite ユーザー
ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] のこのセクシ ョ ンを参照してくだ
さい。
X-Ref Target - Figure 2-11
図 2‐11: [Customize IP] ダイアログ ボックスの [Board] タブ
システム レベル デザイン入力 25UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
プロジェク トの管理
プロジェク ト を開く
プロジェク ト を開く と、 前回プロジェク ト を閉じたと きの状態が復元されます。 プロジェク トの状態とは、 ソース
ファ イル順、 ソース ファ イルのディ スエーブル/イネーブル、 アクティブおよびターゲッ ト制約ファイル、 合成、 シ
ミ ュレーシ ョ ン、 インプ リ メンテーシ ョ ン run のステート などです。
プロジェク ト を開くには、 次のいずれかを実行します。
• Getting Started ページの [Open Project] リ ンクをク リ ッ ク します。
• [File] → [Project] → [Open] をク リ ッ ク します。
• [Open Project] ツールバー ボタン をク リ ッ ク します。
• Tcl コンソールに open_project コマンドを入力します。
[Open Project] ダイアログ ボッ クスで、 プロジェク ト ファ イル (.xpr) を選択します。 [Open Project] ダイアログ ボッ ク
スの [File Preview] に現在選択されているファイルに関する情報が表示されます。
X-Ref Target - Figure 2-12
図 2‐12: Vivado IP インテグレーターの [Board] ウィンドウ
システム レベル デザイン入力 26UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
注記: または、 Windows エクスプローラーで Vivado IDE プロジェク ト ファ イル (.xpr) を直接ダブルク リ ッ ク してプロ
ジェク ト を開きます。
プロジェク ト を開く Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : open_project
• Tcl コマンドの例: open_project c:/projects/project_1.xpr
複数のプロジェク ト を開く
1 つのセッシ ョ ンで複数のプロジェク ト を開くには、 プロジェク トが開いている状態で 「プロジェク ト を開く」 のい
ずれかの方法を使用して別のプロジェク ト を開きます。 Vivado IDE で現在のプロジェク ト を閉じるかど うか尋ねる
メ ッセージが表示されます。 [No] をク リ ッ ク して開いているプロジェク ト を閉じないよ うにする と、 両方のプロ
ジェク トが開きます。 プロジェク ト ごとに別の IDE ウ ィンド ウが開きます。
複数プロジェク ト を同じ Vivado IDE プロセスから開く と、 開いているすべてのプロジェク トで使用されたコマンド
が Tcl コンソールへ書き込まれます。 ただし、 表示されるコマンドがどのプロジェク トで使用されたものかわかりに
くいこ とがあ り ます。 また、すべてのプロジェク トに対して 1 つの vivado.jou と 1 つの vivado.log しか作成さ
れません。
注記:複数のプロジェク ト を開いた場合、 システム メモ リの要件によ り、 パフォーマンスが低下するこ とがあ り ま
す。
プロジェク トの保存
プロジェク トは自動的に保存されます。 たとえば、 ソース設定、 ファ イルのプロパティ、 run オプシ ョ ンなど、 プロ
ジェク トに変更を加える と、 プロジェク トはディ スクに自動的に保存されます。
ヒン ト : ただし、 デザイン制約への変更がプロジェク トの一部と して自動的に保存されるこ とはあ り ません。 [Save
Constraints] または [Save Constraints As] を使用して制約の変更をディ スクに書き込む必要があ り ます。
別のディ レク ト リにプロジェク ト を保存するには、 [File] → [Project] → [Save As] をク リ ッ ク して ください。 これによ
り、 プロジェク ト ディレク ト リ構造全体が新し く指定されたディ レク ト リにコピーされ、 run 結果が含まれる際に既
存の run のステータスも保持されます。
プロジェク ト を保存する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : save_project_as
• Tcl コマンドの例: save_project_as new_project c:/projects/project_1.xpr
プロジェク ト を閉じる
プロジェク ト を閉じるには、 [File] → [Close Project] をク リ ッ ク します。 保存されていない変更がある場合は、 それ
を示すメ ッセージが表示されます。
システム レベル デザイン入力 27UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
プロジェク ト を閉じる Tcl コマンド
次は、 close_project に関連する Tcl コマンドです。
プロジェク トのアーカイブ
プロジェク ト アーカイブを作成して、 バッ クアップと して保存したり、 リモート サイ トに送信したりできます。 プ
ロジェク ト をアーカイブする際、 Vivado IDE では次が実行されます。
• デザイン階層を解析します。
• ライブラ リ ディレク ト リから必要なソース ファ イル、 インクルード ファ イル、 リモート ファ イルをコピーし
ます。
• 制約をコピーします。
• 合成、 シ ミ ュレーシ ョ ン、 およびインプリ メンテーシ ョ ンの実行結果をコピーします (オプシ ョ ン)。
• プロジェク トの ZIP ファ イルを作成します。
プロジェク トのアーカイブを作成するには、 次の手順に従います。
1. [File] → [Project] → [Archive] をク リ ッ ク します。
2. [Archive Project] ダイアログ ボッ クスで次のオプシ ョ ンを選択して [OK] をク リ ッ ク します。
° [Archive name]: プロジェク ト アーカイブ名を指定します。
° [Archive location]: プロジェク ト アーカイブ ファ イルを保存するディレク ト リ を指定します。
° [Temporary location] (Windows のみ): プロジェク ト アーカイブを作成する際にファイルをコピーする一時
ディ レク ト リ を指定します。 一時ディ レク ト リは存在しない場合は作成され、 アーカイブ プロセスが終了
したら空になり ます。 Vivado では、 現在の作業ディレク ト リ内にデフォルトで一時ディ レク ト リが作成さ
れます。
° [Include configuration settings]: デザインのデバッグに役立つ Tcl 初期化コマンドを含む Vivado_init.tcl
ファ イルを含めます。 詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4] を
参照してください。
° [Include run results]: プロジェク トで実行した run の設定と結果を含めます。 合成 run およびインプリ メン
テーシ ョ ン run の結果を含める と、 プロジェク ト アーカイブの容量がかなり増加します。
° [Include local IP cache results]: ツールのバージ ョ ンを使用して IP の生成時間を短縮できるよ う、 ローカル IP
キャ ッシュがある場合はそれに含まれる情報がレポートに含まれるよ うになり ます。
システム レベル デザイン入力 28UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
Vivado IDE でプロジェク ト アーカイブが ZIP ファ イル形式で作成されます。 この ZIP ファ イルには、 必要な
ソース ファイル、 インクルード ファ イル、 run ファ イル (指定した場合のみ)、 およびアーカイブ プロセスを記
述した archive.log ファ イルが含まれます。 archive.log ファ イルではアーカイブの作成プロセスを確認
できます。
write_project_tcl コマンドを使用しても現在のプロジェク ト を作り直す Tcl スク リプ ト を生成できます。
スク リプ トにはプロジェク ト設定と ソースが保持されますが、 出力ファイルやデザイン ステートは保持されな
い可能性があ り ます。
プロジェク ト を圧縮する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : archive_project
• Tcl コマンドの例: archive_project -exclude_run_results proj3.zip
注記: Windows での 256 文字の制限に引っかからないよ うにするには、 プロジェク ト アーカイブを作成する際にファ
イルをコピーする一時ファイルを -temp_dir オプシ ョ ンを使用して指定します。
ソース管理システム
ビデオ: ソース管理システムの使用方法については、 Vivado Design Suite QuickTake ビデオ: Vivado でのリ ビジ ョ ン管
理の使用を参照してください。
X-Ref Target - Figure 2-13
図 2‐13: [Archive Project] ダイアログ ボックス
システム レベル デザイン入力 29UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
プロジェク ト サマリの使用
Vivado IDE には、 対話型のプロジェク ト サマリが含まれ、 デザイン コマンドが実行され、 デザイン プロセスが実行
される と随時アップデート されます。 [Project Summary] には、 次の図に示すよ うに [Overview] タブとユーザーが設
定可能な [Dashboard] タブが表示されます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』
(UG893) [参照 6] のこのセクシ ョ ンを参照してください。
プロジェク ト サマリ を開くには、 次のいずれかを実行します。
• [Window] → [Project Summary] をク リ ッ ク します。
• ツールバーの [Project Summary] ボタン をク リ ッ ク します。
注記: [Project Summary] の [Overview] タブはデフォルトで表示されます。
システム レベル デザイン入力 30UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
X-Ref Target - Figure 2-14
図 2‐14: プロジェク ト サマリ
システム レベル デザイン入力 31UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
プロジェク ト設定
設定は、 各プロジェク トの必要に合わせて指定できます。 設定には、 上位モジュールの定義に関する一般的な設
定、 およびシ ミ ュレーシ ョ ン、 合成、 インプリ メンテーシ ョ ン、 IP などの設定が含まれます。
[Settings] ダイアログ ボッ クスを表示するには、 次のいずれかを実行します。
• [Tools] → [Settings] をク リ ッ ク します。
• ツールバーの [Settings] ボタン をク リ ッ ク します。
• Flow Navigator の [Project Manager] セクシ ョ ンで [Settings] をク リ ッ クするか、 次を右ク リ ッ ク します。
° [Simulation] で [Simulation Settings]
° [RTL Analysis] で [Elaboration Settings]
° [Synthesis] で [Synthesis Settings]
° [Implementation] で [Implementation Settings]
° [Program and Debug] で [Bitstream Settings].
• プロジェク ト サマリで [Settings] ヘッダーの横にある [Edit] リ ンクをク リ ッ クするか、 [Synthesis] または
[Implementation] セクシ ョ ンのいずれかでス ト ラテジまたはフローをク リ ッ ク します。
[Settings] ダイアログ ボッ クスの開き方によって、 該当するカテゴ リがデフォルトで表示されるよ うになっていま
す。 たとえば、 Flow Navigator で [Simulation Settings] をク リ ッ ク した場合、 [Settings] ダイアログ ボッ クスには
[Simulation] カテゴ リが表示されます。 次のセクシ ョ ンは、 各カテゴ リの詳細を示しています。
[General] ページ
[General] 設定では、 プロジェク ト名、 パーツ、 ターゲッ ト言語、 ターゲッ ト シ ミ ュレータ、 上位モジュール名、
言語オプシ ョ ンを指定できます。
• [Name]: プロジェク ト名を指定します。
• [Project device]: 合成およびインプリ メンテーシ ョ ン両方でデフォルト と して使用するターゲッ ト デバイスを指
定します。 参照ボタンをク リ ッ クする と [Select Device] ダイアログ ボッ クスが表示され、 デバイスを変更でき
ます。
注記:合成 run またはインプリ メンテーシ ョ ン run が複数ある場合は、 [Run Properties] ウ ィンド ウから run 設定を
変更して特定 run で使用されるデバイスを変更するこ と もできます。 詳細は、 『Vivado Design Suite ユーザー ガ
イ ド : Vivado IDE の使用』 (UG893) [参照 6] を参照してください。
• [Target language]: デザインのターゲッ ト出力言語を Verilog または VHDL に設定します。 指定したターゲッ ト言
語でデザインの RTL 出力ファイルが生成されます。 [Target languate] で制御される出力の例は、 合成、 シ ミ ュ
レーシ ョ ン、 上位ラ ッパー ファ イル、 テス トベンチ、 および IP のインスタンシエーシ ョ ン テンプレートで
す。
• [Default library]: プロジェク トのデフォルト ライブラ リ を指定します。 明確にライブラ リ を指定しない限り、 す
べてのファイルはこのライブラ リでコンパイルされます。 ライブラ リ名は選択するか、 [Library] テキス ト
フ ィールドに新しいライブラ リ名を入力して指定します。
• [Top module name]: デザインの 上位 RTL モジュール名を指定します。 下位モジュール名を入力し、 特定のモ
ジュールに対して合成を実行するこ と もできます。 参照ボタンをク リ ッ クする と、 上位モジュールが自動的
に検索され、 可能性のある 上位モジュールのリ ス トが表示されます。
システム レベル デザイン入力 32UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
• [Language options]:
重要: こ こでの設定は、 合成に適用されます。 Verilog オプシ ョ ンおよびジェネ リ ッ ク /パラ メーター オプシ ョ ンは、
[Settings] ダイアログ ボッ クスの [Simulation] ページからも定義できます。 シ ミ ュレーシ ョ ン設定は、 シ ミ ュレーシ ョ
ン ファ イルセッ トに適用されます。 シ ミ ュレーシ ョ ンには影響しますが、 合成には影響しません。
° [Verilog options]: 参照ボタンをク リ ッ ク し、 [Verilog Options] ダイアログ ボッ クスで次のオプシ ョ ンを設定し
ます。
- [Verilog Include Files Search Paths]: Verilog ソース ファ イルのインクルード文で参照されるファ イルの検
索パスを指定します。
- [Defines]: プロジェク トの Verilog マクロ定義を指定します。
- [Uppercase all identifiers]: すべての Verilog 識別子を大文字に設定します。
° [Generics/Parameters]: VHDL ではジェネ リ ッ クが、 Verilog では定数値のパラ メーター定義がサポート されま
す。 どちらの方法でも、 パラ メーターを変更できるので、 さまざまな状況で再利用可能です。 参照ボタン
をク リ ッ クする と、 ジェネ リ ッ クおよびパラ メーターの値を定義して、 ソース ファ イルで定義されたデ
フォルトの値を上書きできます。
° [Loop count]: 大ループ反復値を指定します。 デフォルトは 1000 です。
注記: [Loop count] オプシ ョ ンは、 合成中ではなくエラボレーシ ョ ン中に使用されます。 合成に対しては、
[Synthesis] ページの [More Options] フ ィールドに 「-loop_iteration_limit」 と入力します。
X-Ref Target - Figure 2-15
図 2‐15: [General Settings]
システム レベル デザイン入力 33UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
[Simulation Settings]
[Simulation] 設定では、 シ ミ ュレーシ ョ ン セッ ト 、 シ ミ ュレーシ ョ ン 上位モジュール名、 コンパイルおよびシ ミ ュ
レーシ ョ ン オプシ ョ ンを指定できます。 オプシ ョ ンをク リ ッ クする と、 ダイアログ ボッ クスの一番下にその説明が
表示されます。 [Simulation] ページの詳細は、 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』
(UG900) [参照 10] の 「シ ミ ュレーシ ョ ン設定の使用」 セクシ ョ ンを参照してください。
X-Ref Target - Figure 2-16
図 2‐16: [Simulation Settings]
システム レベル デザイン入力 34UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
エラボレーシ ョ ン設定
第 4 章 「RTL デザインのエラボレーシ ョ ン」 に示すよ うに、 エラボレート されたデザインを開くには、 次の図のよ
うに RTL デザインのエラボレーシ ョ ン変更をイネーブルまたはディ スエーブルにする 2 つの設定があ り ます。
[Elaboration] ページを使用する と、 エラボレート されたネッ ト リ ス ト ビューに対するオプシ ョ ンを設定できます。 こ
のビューは、 Flow Navigator で [RTL Analysis] → [Open Elaborated Design] をク リ ッ クする と表示されます。
• [Link IP Module Options] フ ィールド : [Blackbox model (stub file)]: アウ ト オブ コンテキス ト合成された IP すべてが
ブラ ッ クボッ クス と して処理されます。 [Netlist model]: アウ ト オブ コンテキス ト合成された IP の合成済みネッ
ト リ ス トが使用されます。
• [Constraints Options]: フ ィールド : すべてのアクティブ制約 (タイ ミ ングおよび物理) がエラボレート されたデザイ
ンに適用されます。
次の Tcl コマンドをソース ファ イルセッ トに定義する と、 RTL エラボレーシ ョ ン設定をイネーブルにできます。
set_property elab_link_dcps true [current_fileset]set_property elab_load_timing_constraints true [current_fileset]
注記: false を使用する と、 これらの設定は無効にできます。
X-Ref Target - Figure 2-17
図 2‐17: エラボレーシ ョ ン設定
システム レベル デザイン入力 35UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
[Synthesis] ページ
[Synthesis] では、 制約セッ ト、 合成ス ト ラテジ、 合成オプシ ョ ン、 生成するレポートの種類を指定できます。 オプ
シ ョ ンは選択した合成ス ト ラテジまたは合成レポート ス ト ラテジで定義されますが、 これらは変更できます。 オプ
シ ョ ンをク リ ッ クする と、 ダイアログ ボッ クスの一番下にその説明が表示されます。 [Synthesis] ページの詳細は、
『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901) [参照 15] を参照して ください。
注記: プロジェク トに含まれる IP は前もって合成し、 合成ランタイムを削減できます。 このボ ト ムアップ合成フ
ローの使用については、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] を参照してくだ
さい。
ヒン ト : [tcl.pre] および [tcl.post] では、 インプ リ メンテーシ ョ ンの各段階の前後に実行する Tcl スク リプ ト を指定でき
ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 3] を参照してくださ
い。
X-Ref Target - Figure 2-18
図 2‐18: [Synthesis] ページ
システム レベル デザイン入力 36UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
[Implementation] ページ
[Implementation] では、 制約セッ ト、 インプ リ メンテーシ ョ ン ス ト ラテジ、 インプリ メンテーシ ョ ン オプシ ョ ン、 生
成するレポートの種類を指定できます。 オプシ ョ ンは選択したインプリ メンテーシ ョ ン ス ト ラテジまたはインプリ
メンテーシ ョ ン レポート ス ト ラテジで定義されますが、 これらは変更できます。 たとえば、 消費電力および物理合
成などのオプシ ョ ンの段階を実行するオプシ ョ ンを使用可能です。 オプシ ョ ンをク リ ッ クする と、 ダイアログ ボッ
クスの一番下にその説明が表示されます。 [Implementation] ページの詳細は、 『Vivado Design Suite ユーザー ガイ ド : イ
ンプ リ メンテーシ ョ ン』 (UG904) [参照 19] の 「インプリ メンテーシ ョ ン ス ト ラテジのカスタマイズ」 を参照してく
ださい。
ヒン ト : tcl.pre および tcl.post (各段階で使用可能) を指定する と、 Tcl スク リプ トがインプリ メンテーシ ョ ンの
どの段階の前後にでも source コマンドで読み出されるよ うにできます。 詳細は、 『Vivado Design Suite ユーザー ガイ
ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 3] を参照してください。
X-Ref Target - Figure 2-19
図 2‐19: [Implementation] ページ
システム レベル デザイン入力 37UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
[Bitstream] ページ
[Bitstream] では、 ビッ ト ス ト リームを生成する前にオプシ ョ ンを定義できます。 オプシ ョ ンをク リ ッ クする と、 ダイ
アログ ボッ クスの一番下にその説明が表示されます。 [Bitstream] ページの詳細は、 『Vivado Design Suite ユーザー ガ
イ ド : プログラムおよびデバッグ』 (UG908) [参照 20] の 「ビッ ト ス ト リーム ファ イルのフォーマッ ト設定の変更」 セ
クシ ョ ンを参照してください。
X-Ref Target - Figure 2-20
図 2‐20: [Bitstream] ページ
システム レベル デザイン入力 38UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
[IP] ページ
[IP] には、 次のタブが含まれます。
• [Repository]: IP リ ポジ ト リ リ ス トに追加するディレク ト リ を指定します。 IP は、 ユーザーがパッケージするか、
サードパーティから取得できます。 リポジ ト リ を追加するために [Add] をク リ ッ クする と、 各リポジ ト リに含
まれる IP が表示されます。
• [Packager]: ベンダー、 ライブラ リ、 および分類を含めて、 新しい IP をパッケージする際のデフォルト値を設定
します。 このタブでは、 IP パッケージャーを開いたと きのデフォルト ビヘイビアーを設定したり、 自動的に
フ ィルターされるファ イル拡張子を指定できたり します。
注記:必要であれば、 IP パッケージ プロセス中に IP をパッケージする際のデフォルト値を変更できます。
[IP] 設定の詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)[参照 11] の 「IP のプロジェク
ト設定」 セクシ ョ ンを参照してください。
[IP] ページおよび Vivado IP カタログは、 RTL プロジェク ト または Getting Started ページから [Manage IP] リ ンクを使
用した場合にのみ使用可能です。 [Manage IP] を使用する場合、 プロジェク ト を作成しないと、 [IP] ページのサブ
セッ トは表示されません。
X-Ref Target - Figure 2-21
図 2‐21: [IP Settings] (IP 設定)
システム レベル デザイン入力 39UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
プロジェク ト設定をする Tcl コマンド
次は、 プロジェク トのさまざまなプロパティを設定する Tcl コマンドです。 例は、 そのプロジェク トのターゲッ ト言
語プロパティを設定する方法を示しています。
• Tcl コマンド : set_property
• Tcl コマンドの例: set_property target_language Verilog [current_project]
推奨: プロジェク ト 、 合成またはインプリ メンテーシ ョ ン run のプロパティを含む複数のプロパティを設定できます。
プロパティ名およびターゲッ トの詳細は、 Vivado IDE で操作を実行し、 Tcl コンソールに表示される対応する Tcl コ
マンドを参照してください。
Tcl スクリプ ト を使用したプロジェク トの作成
write_project_tcl コマンドを使用する と、 現在のプロジェク ト を作り直す Tcl スク リプ ト を生成できます。 ス
ク リプ トにはプロジェク ト設定と ソースが保持されますが、 出力ファイルやデザイン ステートは保持されない可能
性があ り ます。
Vivado IDE では、 Tcl スク リプ ト を使用してプロジェク ト を作成するこ と もできます。 Vivado IDE で操作を実行する
と、 ほとんどの場合 Tcl コマンドが実行されます。 Vivado IDE の Tcl コンソールに表示される Tcl コマンドは、
vivado.jou および vivado.log ファ イルに保存されます。 vivado.jou ファ イルにはコマンドだけが、
vivado.log ファ イルにはコマンド と返されたメ ッセージがすべて含まれます。 これらのファイルを使用して、 プ
ロジェク ト モードで使用するスク リプ ト を開発できます。 vivado.jou および vivado.log ファ イルの保存ディ レク ト リ
については、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 [参照 6] (UG893) の付録 B の 「入力および出力
ファイル」 を参照してください。
Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4] を参照してくださ
い。
システム レベル デザイン入力 40UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 2 章:プロジェク トの操作
次は、 プロジェク ト を作成し、 さまざまなソースを追加し、 設定をコンフ ィギュレーシ ョ ンし、 合成およびインプ
リ メンテーシ ョ ン 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.rptreport_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 スク リプ トの行はバッ クスラ ッシュ (\) を行の 後に追加して行が続く こ とを示すと改行できます。 バッ
クスラ ッシュの後の行は、 前の行の一部と して処理されます。
システム レベル デザイン入力 41UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3章
ソース ファイルの操作
はじめに
ソース ファ イルには、デザイン ソース、ザイ リ ンクス IP カタログから追加できる IP ソース、 RTL デザイン ソース、
System Generator ツールから追加できるデジタル シグナル プロセッシング (DSP) ソース、 Vivado® Design Suite の IP
インテグレーターで作成される IP サブシステム (ブロ ッ ク デザインと もいう ) があ り ます。 さ らに、 シ ミ ュレーシ ョ
ン ファ イルやデザインのタイ ミ ング要件を指定したり、 デザインで使用されるザイ リ ンクス デバイス リ ソースを定
義する物理的制約を指定する制約ファイルも、 ソース ファ イルに含まれます。 プロジェク ト モードの場合は、
Vivado IDE、 または Tcl コマンドあるいはスク リプ ト を使用してこれらのソース ファ イルを作成および追加できま
す。 また、 Vivado IDE でプロジェク ト内のソース ファ イルを自動的に管理できます。 ソース ファ イルは現在のプロ
ジェク トのローカル ディレク ト リに作成し、 そこで管理できます。 または、 ラ イブラ リや別のディ レク ト リから参
照するこ と もできます。 デザイン フローの任意段階で、 Verilog、 VHDL、 SystemVerilog のソース ファ イルを追加で
きます。
注記: ZynqZynq®-7000 デバイス、 Zynq UltraScale+™ MPSoC デバイスおよび MicroBlaze™ プロセッサを使用する際の
ソース ファ イル管理の詳細はプロセッサ、 『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド ハードウェア デザイ
ン』 (UG898) [参照 21] を参照してください。
非プロジェク ト モードの場合、 これらのソース ファ イルは Tcl コマンドかスク リプ ト を使用して作成できますが、
ソース ファ イルは手動で管理する必要があ り ます。 この章では、 主にプロジェク ト モードでのソースの作成および
管理について説明します。 非プロジェク ト モードでのソースの作成および管理については、 「非プロジェク ト モー
ドでのソースの操作」 を参照してください。 デザイン フローのプロジェク ト モードおよび非プロジェク ト モードの
詳細は、 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参照 1] のこのセクシ ョ ンを参照し
てください。
Vivado Design Suite にソース ファ イルを追加する場合、 プロジェク ト モードであっても、 非プロジェク ト モードで
あっても、 ファ イルへの相対パスと絶対パスの両方で管理できます。 デザインを開く際、 Vivado Design Suite ではま
ずデフォルトで相対パスを使用してファイルおよびディ レク ト リが検出されます。 ファ イルが検出されない場合は
絶対パスが適用されます。 この機能は、 PATH_MODE プロパティで管理され、 そのデフォルト値は RelativeFirst で
す。 これを変更する場合は、 デザイン ソース ファ イルの PATH_MODE プロパティを変更します。 PATH_MODE プロ
パティの詳細は、 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912) [参照 14] を参照してください。
注記: ソースの追加に関する Tcl コマンドの詳細は、 第 2 章の 「デザイン ソース、 制約ファイル、 シ ミ ュレーシ ョ ン
ソースを追加する Tcl コマンド」 を参照してください。
システム レベル デザイン入力 42UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
デザイン ソースの作成と追加
Vivado IDE では、 HDL またはネッ ト リ ス ト ファ イルを含めてデザイン ソース ファ イルを作成および管理できます。
Vivado IDE でプロジェク トが開いている状態の [Sources] ウ ィンド ウには、 デザイン ソース、 制約、 シ ミ ュレーシ ョ
ン ソースが表示されます。 これらは、 現在のプロジェク ト を構成するファイルのセッ トです。
[Sources] ウ ィンド ウには、 プロジェク トに関連付けられているソース ファ イルを表示するのに、 次のよ うなビュー
があ り ます。
• [Hierarchy] ビューには、 デザイン モジュールおよびインスタンスの階層、 およびそれらを含むソース ファ イル
が表示されます。 Vivado IDE は自動的にデザイン階層の 上位を検出しますが、 必要であればこれを手動で変
更するこ と もできます。
• [IP Sources] には、 IP コア、 Vivado IP インテグレーターで追加されたブロ ッ ク デザイン、 または System
Generator で追加された DSP モジュールで定義されているすべてのファイルが表示されます。
• [Libraries] ビューには、 さまざまなライブラ リ別にソースが分類されて表示されます。
• [Compile Order] ビューでは、 コンパイルされる順序でソース ファ イルが表示され、 制約も処理される順序で表
示されます。 [Compile Order] ビューでは、 合成、 インプリ メンテーシ ョ ン、 またはシ ミ ュレーシ ョ ンで使用さ
れる処理順序が表示されます。
ヒン ト : [Sources] ウ ィンド ウで使用されるアイコンについては、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の
使用』 (UG893) [参照 6] のこのセクシ ョ ンを参照してください。
X-Ref Target - Figure 3-1
図 3‐1: [Sources] ウィンドウ
システム レベル デザイン入力 43UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
新規ソース ファイルの作成
1. 新し くデザイン ソースファ イルを作成し、プロジェク トに追加するには、 [File] → [Add Sources] をク リ ッ ク しま
す。
注記: または、 [Sources] ウ ィンド ウで右ク リ ッ ク して [Add Sources] を選択するか、 Flow Navigator で [Add
Sources] をク リ ッ ク します。
2. Add Sources ウ ィザードで [Add or create design sources] を選択し、 [Next] をク リ ッ ク します。
3. [Add or ceate design sources] ページで [Create] をク リ ッ ク し、 [Create File] をサブメニュー コマンドから選択して、
新し く ソース ファ イルを作成します。
4. [Create Source File] ダイアログ ボッ クスで次のオプシ ョ ンを選択して [OK] をク リ ッ ク します。
° [File type]: Verilog ファ イル (.v)、 Verilog ヘッダー ファ イル (.vh)、 SystemVerilog ファ イル (.sv)、 VHDL ファ
イル (.vhdl または .vhd)、 またはメモ リ ファ イル (.mem) などのファイル形式のいずれかを指定します。
° [File name]: 新しい HDL ソース ファ イルの名前を指定します。
° [File location]: ファ イルを作成するディ レク ト リ を指定します。
ファ イルのプレースホルダーがソースのリ ス トに追加され、 [Sources] ウ ィンド ウに表示されます。 Add Sources
ウ ィザードで [Finish] をク リ ッ クするまで、 ファ イルは作成されません。
ヒン ト : プロジェク トに追加するモジュールを複数定義するには、 [Create File] を複数回ク リ ッ ク し作業を繰り返しま
す。
X-Ref Target - Figure 3-2
図 3‐2: Add Sources ウィザード : [Add or Create Design Sources] ページ
システム レベル デザイン入力 44UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
5. [Add or Create Design Sources] ページでソース ファ イルに 適なライブラ リ を指定します。
デフォルトで、 すべての HDL ソース ファ イルは xil_defaultlib ライブラ リに追加されます。 [Library] 列
で、 既存のライブラ リ名を指定するか、 必要であれば新しいライブラ リ名を入力し、 ユーザーの VHDL ライブ
ラ リ を指定します。
6. [Finish] をク リ ッ ク して新規ソース ファ イルを作成し、 それらをプロジェク トに追加します。
新しいソース ファ イルが作成される と、 Vivado IDE では、 モジュールやエンティティ宣言用にポート を定義す
るための [Define Modules] ダイアログ ボッ クスが開きます。
7. [Define Module] ダイアログ ボッ クスで次のオプシ ョ ンを使用して Verilog、 Verilog ヘッダー、 SystemVerilog、 ま
たは VHDL のモジュールまたはエンティティを定義します。
X-Ref Target - Figure 3-3
図 3‐3: [Create Source File] ダイアログ ボックス
X-Ref Target - Figure 3-4
図 3‐4: Add Sources ウィザード— ライブラリの設定
システム レベル デザイン入力 45UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
° [New Source Files]: 複数ファイルを作成した場合、 このフ ィールドが表示されます。 定義しするモジュール
の名前をク リ ッ ク します。
° [Entity name]/[Module name]: VHDL コードのエンティティ、 Verilog または SystemVerilog コードのモジュー
ル名を指定します。
注記:デフォルトではファイル名になり ますが、 変更できます。
° [Architecture name]: VHDL ソース ファ イルのアーキテクチャを指定します。デフォルトは [Behavioral] です。
注記: Verilog または SystemVerilog モジュールを定義する場合は、 このオプシ ョ ンは表示されません。
° [I/O Port Definitions]: モジュール定義に追加するポート を定義します。
- [Port Name]: RTL コードに記述されるポートの名前を定義します。
- [Direction]: ポート を入力、 出力、 双方向のいずれかに指定します。
- [Bus]: ポートがバス ポートかど うかを指定します。 [MSB] および [LSB] オプシ ョ ンを使用してバスの
幅を定義します。
- [MSB]: 上位ビッ ト (MSB) を定義します。 これと [LSB] フ ィールドを併せて、 定義されるバスの幅が
決定されます。
- [LSB]: 下位ビッ ト (LSB) を定義します。
注記: ポートがバス ポートでない場合は、 MSB および LSB は無視されます。
[Sources] ウ ィンド ウに新し く定義したモジュールがリ ス ト されます。 Vivado IDE テキス ト エディ ターで新しい
ソース ファイルを編集するには、 ファ イルをダブルク リ ッ クするか、 右ク リ ッ ク して [Open File] を選択します。
ファ イルの変更に関しては、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] のこのセクシ ョ ンを参照してください。
X-Ref Target - Figure 3-5
図 3‐5: [Define Modules] ダイアログ ボックス
システム レベル デザイン入力 46UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
デザイン ソースの追加
1. [File] → [Add Sources] をク リ ッ ク します。
注記: または、 Flow Navigator で [Add Sources] をク リ ッ クするか、 [Sources] ウ ィンド ウを右ク リ ッ ク し、 [Add
Sources] をク リ ッ ク します。
2. Add Sources ウ ィザードで [Add or Create Design Sources] を選択し、 [Next] をク リ ッ ク します。
3. [Add or Create Design Sources] ページで次のオプシ ョ ンを設定し、 [Finish] をク リ ッ ク します。
° [Add Files]: プロジェク トに追加するファイルを選択するためのファイル ブラウザーが表示されます。 RTL
プロジェク トには、 HDL、 EDIF、 NGC、 BMM、 ELF、 DCP などのファイル タイプを追加できます。
注記: [Add Source Files] ダイアログ ボッ クスでは、 各ファイルまたはディ レク ト リがそれとわかるよ うなア
イコンで表示されます。 小さい赤い四角は、 読み出し専用であるこ とを示します。
° [Add Directories]: 選択したディ レク ト リに含まれるすべてのファイルを追加します。 指定したディ レク ト リ
にある有効なソース ファ イルがすべてプロジェク トに追加されます。
° [Create File]: VHDL、 Verilog、 Verilog ヘッダー、 または SystemVerilog ファ イルを作成する [Create Source
File] ダイアログ ボッ クスが開きます。
° [Library]: RTL ラ イブラ リ を指定します (1 つのファイル、 または 1 つのディ レク ト リ内にある複数のファイ
ルを指定)。 定義済みのライブラ リ名の中から選択するか、 新規ライブラ リ名を入力します。
注記: このオプシ ョ ンは、 VHDL ファ イルの場合のみ使用できます。 デフォルトでは、 HDL ソース ファ イ
ルは xil_defaultlib ライブラ リに追加されます。 必要に応じて、 ユーザー VHDL ライブラ リ を作成し、
参照できます。 Verilog および SystemVerilog ファ イルの場合は、 xil_defaultlib のままにしておきます。
° [Remove]: 選択したソース ファ イルを削除します。
° [Move Up]/[Move Down]: ファ イルまたはディレク ト リ を リ ス トの上または下方向に移動します。 このファ
イル順は、 合成やシ ミ ュレーシ ョ ンなどのダウンス ト リーム プロセスでのエラボレーシ ョ ンやコンパイル
の順序に影響します。 「 上位モジュールの指定と ソース ファ イルの順序の変更」 を参照して ください。
° [Scan and add RTL include files into project]: 追加された RTL ファ イルをスキャンし、 参照された Verilog のイ
ンクルード ファ イルをローカルのプロジェク ト ディ レク ト リ構造にインポート します。
° [Copy sources into project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リにファ
イルをコピーします。
注記: [Add Directories] ボタンをク リ ッ ク してソース ファ イルのディ レク ト リ を追加した場合は、 ファ イル
がローカルのプロジェク トにコピーされる際にディ レク ト リ構造もそのまま保持されます。 詳細は、 「 リ
モート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー」 を参照してください。
° [Add sources from subdirectories]: [Add Directories] で指定したディ レク ト リのサブディ レク ト リに含まれる
ソース ファ イルをすべて追加します。
最上位モジュールの指定とソース ファイルの順序の変更
デザイン階層の 上位と、 プロジェク トに追加されているソース ファ イルのエラボレーシ ョ ン、 合成、 シ ミ ュレー
シ ョ ンの順序が自動的に判断されます。 この設定は、 [Sources] ウ ィンド ウで右ク リ ッ ク して表示される [Hierarchy
Update] で変更できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] のこの
セクシ ョ ンの [Hierarchy Update] に関する記述を参照してください。
デザイン階層は、 [Sources] ウ ィンド ウの [Hierarchy] ビューに表示されます。 ファ イルのコンパイル順序は、
[Sources] ウ ィンド ウの [Compile Order] ビューに表示されている順序になり ます。
システム レベル デザイン入力 47UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
自動的に認識される 上位モジュールは、 デザイン階層の 上位を手動で指定する と変更できます。 上位モ
ジュールを指定するには、 [Sources] ウ ィンド ウの [Hierarchy] ビューでモジュールを右ク リ ッ ク して [Set as Top] をク
リ ッ ク します。
注記:選択した 上位モジュールがデザイン ソース ファ イルで見つからず、 階層アップデート モードが自動に設定
されている場合は、 選択した 上位モジュールが自動的に 適なモジュールにリセッ ト されます。
上位モジュールを変更する と、 新し く設定された 上位モジュールの要件に基づいて、 [Sources] ウ ィンド ウの
[Hierarchy] および [Compile Order] ビューでファイルが並べ替えられます。 [Sources] ウ ィンド ウを右ク リ ッ ク し
[Refresh Hierarchy] を選択する と、 ソース ファ イルの変更に基づいてファイルが自動的に並べ替えられます。
[Sources] ウ ィンド ウを右ク リ ッ ク し [Hierarchy Update] を選択する と、 このコンパイル順序を変更できます。
[Hierarchy Update] → [Automatic Update, Manual Compile Order] をク リ ッ クするか、 [Sources] ウ ィンド ウで右ク リ ッ ク
し [Hierarchy Update] → [No Update, Manual Compile Order] をク リ ッ ク して、 手動でコンパイル順序を変更できます。
手動モードの場合は、 ユーザーの要件にあわせて手動でファイル順を変更できます。 ソース ファ イルの順序を手動
で指定するには、 [Sources] ウ ィンド ウの [Compile Order] ビューでファイルをド ラ ッグして適切な位置に移動します。
または、 ファ イルを右ク リ ッ ク して [Move Up]、 [Move Down]、 [Move to Top] または [Move to Bottom] をク リ ッ ク して
並べ替えるこ と もできます。
すべてのソースのコンパイルまたは評価順のリ ス ト を確認するには、 Tcl コンソールで report_compile_order
コマンドを使用します。 このコマンドでは、 合成、 インプリ メンテーシ ョ ンおよびシ ミ ュレーシ ョ ンでのコンパイ
ル順または評価順でファイルがリ ス ト されます。 RTL のコンパイル順は、 合成およびシ ミ ュレーシ ョ ン用にリ ス ト
されます。 制約の評価順は、 合成およびシ ミ ュレーシ ョ ン用にリ ス ト されます。
ソース ファイルのイネーブル/ディスエーブル
ソース ファ イルを追加または作成する と、 ファ イルは [Sources] ウ ィンド ウでデフォルトでイネーブルになり ます。
ソース ファ イルは、 エラボレーシ ョ ン、 合成、 またはシ ミ ュレーシ ョ ンで使用されないよ うディ スエーブルにでき
ます。 デザインのさまざまな段階でソース ファ イルのイネーブル/ディ スエーブルを切り替えるこ とによ り、 1 つの
プロジェク ト内でさまざまなデザイン構成を管理できます。
• ソース ファイルをディ スエーブルにするには、 [Sources] ウ ィンド ウでファ イルを右ク リ ッ ク し、 [Disable File]
をク リ ッ ク します。
• ソース ファイルをイネーブルにするには、 [Sources] ウ ィンド ウでファ イルを右ク リ ッ ク し、 [Enable File] をク
リ ッ ク します。
リモート ソースの参照またはプロジェク ト ディレク ト リへのソースのコピー
ソース ファ イルは、 リモート ディ レク ト リから参照するか、 ローカルのプロジェク ト ディレク ト リにコピーできま
す。 リモート ファイルを参照する場合、 その参照しているファ イルが変更される と、 Vivado IDE で自動的に変更が
検出され、 開いているデザインを リ フレッシュさせるか、 または 新のファイルで合成を実行するかを選択するダ
イアログ ボッ クスが表示されます。
プロジェク ト を移動またはアーカイブする場合は、 すべてのファイルがプロジェク ト内に含まれるよ うに、 リモー
ト ファ イルをプロジェク トにコピーするこ とをお勧めします。 プロジェク トにソースをコピーするには、 次のいず
れかを実行します。
• [Add Sources] コマンドでソース ファ イルをプロジェク トに追加する際に [Copy sources into project] をオンにする
と、 ソース ファ イルがプロジェク ト ディ レク ト リにコピーされます。
システム レベル デザイン入力 48UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
• ソース ファイルを 初リモート ソース と して追加し、 後でプロジェク ト ディレク ト リにコピーする場合は、
[Sources] ウ ィンド ウでファ イルを右ク リ ッ ク して [Copy File into Project] をク リ ッ ク してソース ファ イルを個別
にコピーするか、 または [Copy All Files Into Project] をク リ ッ ク してすべてのリモート ソース ファ イルをコピー
します。
ローカル ソース ファイルのアップデート
リモート ソースを参照している場合、 そのソースに加えられた変更は Vivado IDE で自動的に検出されます。 ソース
ファ イルがプロジェク トにコピーされている場合は、 元のファイルへの変更は検出されません。 必要に応じて、
ローカル ソース ファ イルを手動でアップデートする必要があ り ます。
ローカル ソース ファ イルをアップデートするには、 次のいずれかの方法を使用してください。
• [Sources] ウ ィンド ウでファ イルを右ク リ ッ ク し、 [Replace File] をク リ ッ ク します。
ファ イル ブラウザーにコピー元のソース ファ イルが表示されます。 元のディ レク ト リが変更された場合は、
ディ レク ト リ を指定してファイルを選択する必要があ り ます。 [OK] をク リ ッ ク して元のソース ファ イルを読み
込み直すと、 ソース ファ イルへの変更を含めてプロジェク ト ファ イルがアップデート されます。
注記:別のファイルを指定する と、 選択したファイルがその新しいファイルに置き換えられます。 たとえば、 元
のファイルが File_1.v で、 File_2.v を選択した場合、 元の File_1.v がプロジェク トから削除され、
File_2.v がプロジェク トにコピーされます。
• [Sources] ウ ィンド ウで右ク リ ッ ク して [Add Sources] をク リ ッ ク し、 アップデート されたソース ファ イルをプロ
ジェク トに追加します。
追加したファイルがプロジェク トにインポート されます。 ただし、 同じ名前のローカル ソース ファ イルが既に
存在するので、 [Import Source Conflicts] ダイアログ ボッ クスが表示され、 既存のファイルを上書きするか、 新し
く追加したファイルを読み込まないでおくかを選択するよ う求められます。 これは ウ ィザードで [Copy Sources
into Project] がオンになっている場合にのみ表示されます。 オフになっている場合は、 同じ名前の外部参照ファ
イルの方がプロジェク トに追加されます。
X-Ref Target - Figure 3-6
図 3‐6: [Import Source Conflicts] ダイアログ ボックス
システム レベル デザイン入力 49UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
IP ソースの操作
注記: IP の追加、 パッケージ、 シ ミ ュレーシ ョ ン、 アップグレードなど IP に関する詳細は、 『Vivado Design Suite ユー
ザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] を参照してください。
Vivado IDE では、 RTL プロジェク トで次のよ うなタイプの RTL プロジェク トの IP コアを追加および管理できます。
• Vivado Design Suite XCI (Xilinx Core Instance) ファ イル
XCI フォーマッ トの IP コアは Vivado Design Suite のネイティブ ファ イルで、 デザインまたはプロジェク トに追
加できます。 追加するには、 ザイ リ ンクス IP カタログの IP コアをカスタマイズするか、 または [File] → [Add
Sources] をク リ ッ ク して、 直接ファイルを追加します。 XCI ファ イルには IP コアの設定および制約オプシ ョ ン
が保存されています。 これらは、 IP をデザインに追加する と きに指定またはカスタマイズできます。
重要: プロジェク ト モードまたは非プロジェク ト モードで IP を使用する場合は、 合成された DCP ファ イルではな
く、 常に XCI ファ イルをデザインに追加してください。 XCI ファ イルを使用するこ とによ り、 ツールで必要となる
IP コアの出力ファイルが生成され、 デザイン フローを通して一貫して使用されるよ うになり ます。
• Vivado Design Suite コア コンテナー ファ イル (XCIX)
コア コンテナー機能は、 IP を表す 1 つのファイルを提供するこ とによ り、 リ ビジ ョ ン管理システムを使用した
ファイルの管理を簡単にします。 この機能を使用する と、 IP 設定および生成されたすべての出力ファイルが 1
つの圧縮バイナリ ファ イル (拡張子 .xcix) と して保存されます。 このファイルは、 IP カスタマイズ ファ イルであ
る XCI ファ イルと同様に機能します。 XCIX ファ イルは、 IP を追加または読み込む際に指定できます。 詳細は、
『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] のこのセクシ ョ ンを参照してくださ
い。
• Vivado IP パッケージャーを使用してパッケージした ユーザー IP (XCI)
『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成およびパッケージ』 (UG1118)[参照 12] には、ザイ リ ンク
ス IP カタログで使用するために、 ユーザー定義の IP をパッケージする方法を説明しています。 ユーザー IP の
リポジ ト リは、 IP_REPO_PATHS プロパティを使用してカタログに追加できます。 このプロパティは、 サード
パーティ IP またはユーザー定義の IP を含むディ レク ト リへのパスを定義します (複数のディ レク ト リ も定義可
能)。 詳細は、 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912) [参照 14] のこのセクシ ョ ンを参照
してください。
• CORE Generator™ IP コア (XCO)
CORE Generator ツールからのレガシ IP は Vivado Design Suite でサポート されています。 これらのレガシ IP はデ
ザインにインポートする と きにロ ッ ク されるので、 IP をデザインにインプ リ メン トするには、 NGC (ネッ ト リ ス
ト ) ファ イルが必要です。 IP の XCI アップグレードが提供されていれば、 IP コアを右ク リ ッ ク して [Upgrade IP]
をク リ ッ クする と、 アップデートできます。
• サードパーティ IP ネッ ト リ ス ト
サードパーティから IP が合成済み NGC または EDIF ネッ ト リ ス ト と して提供されているケースもあ り ます。
[Add Sources] コマンドを使用して、 これらのファイルを階層デザイン ファイルと してプロジェク ト またはデザ
インに読み込むこ とができます。 詳細は、 「デザイン ソースの作成と追加」 を参照して ください。
システム レベル デザイン入力 50UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
IP カタログからの IP の追加
ヒント : デフォルトでは、 IP カタログには、 現在のプロジェク トのターゲッ ト パーツ (またはボード ) と互換性のあ
る IP コア、 またはそれでサポート されている IP コアのみが表示されます。 Vivado IP カタログの [Hide] ツールバー
ボタン をク リ ッ ク してこのデフォルト設定をオフにする と、 すべての IP コアを表示させるこ とができます。
ザイ リ ンクス IP カタログで IP を選択し、 それをデザイン用にカスタマイズするこ とによ り、 デザイン階層に IP コ
アを追加できます。 カスタマイズの場合は、 IP コアのパラ メーターまたは機能を変更し、 IP ソース ファ イルをデザ
イン プロジェク トに追加します。 IP カタログには、 IP インテグレーターで使用可能なインターフェイスも リ ス ト さ
れます。
1. まず、 Vivado IDE の Flow Navigator で [IP Catalog] をク リ ッ ク します。 次のよ うにカタログが開きます。
IP カタログに表示される IP をフ ィルター検索するなど、 カタログの使用方法については、 『Vivado Design Suite
ユーザー ガイ ド : IP を使用した設計』 (UG896)[参照 11] のこのセクシ ョ ンを参照して ください。
次のいずれかの方法で、 IP カタログから IP を選択し、 デザインで使用できるよ うにカスタマイズします。
° IP カタログで IP を選択し、 右ク リ ッ ク して [Customize IP] をク リ ッ ク します。
° IP をダブルク リ ッ ク して、 その IP の [Customize IP] ダイアログ ボッ クスを開きます。
[Customize IP] ダイアログ ボッ クスには、 IP をカスタマイズするためのさまざまなパラ メーターやオプシ ョ ンが
あ り ます。 このダイアログ ボッ クスは、 選択した IP によって異なり、 パラ メーターを指定するタブが 1 つまた
は複数表示されます。
X-Ref Target - Figure 3-7
図 3‐7: IP カタログ
システム レベル デザイン入力 51UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
指定した設定を確認し、 [OK] をク リ ッ ク して [Customize IP] ダイアログ ボッ クスを閉じる と、 IP モジュールの
HDL 定義を含む、 IP ソース ファ イルがデザイン プロジェク トに追加され、 [Sources] ウ ィンド ウの [IP Sources]
ビューに表示されるよ うになり ます。
デザインに IP を追加したら、 そのデザインで IP をサポートするために必要なファイル (インスタンシエーシ ョ
ン テンプレート、 XDC 制約ファイル、 シ ミ ュレーシ ョ ン ソースなど) を生成する必要があ り ます。 これらの
ファイルは、 ま とめて出力ファイルと呼ばれます。 詳細は、 「IP コアの出力ファイルの生成」 を参照してくださ
い。
既存 IP ファイルの追加
IP カタログから IP を追加しカスタマイズするのではなく、 XCI または XCIX ファ イルを直接プロジェク ト またはデ
ザインに追加できます。 この方法は、 次の点で、 カタログの IP をカスタマイズするのとは異なり ます。
• XCI または XCIX ファ イルは、 IP カタログに含まれる同一または類似した IP の以前のバージ ョ ンまたはカスタ
マイズされたバージ ョ ンを使用できます。
• XCI または XCIX ファ イルには、 デザイン フローで IP がサポート されるよ うにするために必要なファイルまた
は出力ファイルを含めるこ とができます。 含めるこ とができるのは、 インプリ メンテーシ ョ ンまで IP をサポー
トするのに必要な、 インスタンシエーシ ョ ン テンプレート、 シ ミ ュレーシ ョ ン ファ イル、 ネッ ト リ ス ト 、 デザ
イン チェッ クポイン ト (DCP) などです。 これらのファイルは、 XCI または XCIX ファ イルがデザインに追加さ
れたと きに追加されます。
• IP がカタログにある IP が古いバージ ョ ンである場合は、 IP カタログから 新版のものにアップグレードするこ
とが可能です。
• IP が以前のバージ ョ ンで、 デザインで IP をサポートするのに必要な出力ファイルがある場合は、 そのバージ ョ
ンのままで使用できます。 この場合、 これ以上カスタマイズされないよ うにロ ッ ク されます。
既存の XCI または XCIX ファ イルを直接デザインまたはプロジェク トに追加するには、 [File] → [Add Sources] をク
リ ッ ク します。 詳細は、 「デザイン ソースの追加」 を参照して ください。
注記: または、 [Sources] ウ ィンド ウで右ク リ ッ クするか、 または Flow Navigator から [Add Sources] をク リ ッ ク しま
す。
追加した IP コアは、 [Sources] ウ ィンド ウの [IP Sources] ビューに表示されるだけでなく、 [Hierarchy]、 [Libraries]、
[Compile Order] ビューなどにもその他のソース ファ イルと共に表示されます。 [Sources] ウ ィンド ウにはコアを構成
するファイルが表示され、 コア ファ イルを選択する と [Source File Properties] ウ ィンド ウにプロパティが表示されま
す。
XCI または XCIX ファ イルに必要なサポート ファ イル (ま とめて出力ファイルという ) が含まれている場合、 これら
のファイルはデザイン ソースをデザインに追加したと きに追加されます。 XCI または XCIX ファ イルにこれらの関
連ファイルが含まれていない場合は、 そのデザインで IP をサポートするために必要な出力ファイル (インスタンシ
エーシ ョ ン テンプレート、 XDC 制約ファイル、 シ ミ ュレーシ ョ ン ソースなど) を生成する必要があ り ます。 詳細は、
「IP コアの出力ファイルの生成」 を参照して ください。
[Reports] → [Report IP Status] をク リ ッ クする と、 新し く追加した IP のステート を確認できます。 古いバージ ョ ンの
Vivado Design Suite を使用して生成した場合や別のパーツ用に設定されている場合は、 IP がロ ッ ク された状態になる
こ とがあ り ます。
システム レベル デザイン入力 52UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
IP ステータスをレポートする Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : report_ip_status
IP コアの出力ファイルの生成
IP コアには、 デザイン フロー全体で IP をサポートするために必要なファイルが含まれます。 IP モジュールをデザイ
ンに統合させるための Verilog または VHDL インスタンシエーシ ョ ン テンプレート、 IP コアのタイ ミ ング制約や物
理制約を提供するデザイン制約ファイル (XDC)、 デザイン階層で IP をサポートするための合成済みネッ ト リ ス トや
デザイン チェッ クポイン ト などがそ う したファ イルです。 これらのファイルは、 ま とめて出力ファイルと呼ばれま
す。 これらのファイルには、 IP カタログでパッケージされた IP に含まれているものもあれば、 現在のデザインでカ
スタマイズされている IP 用に生成されるものもあ り ます。
IP カタログから IP をカスタマイズする と、 [Generate Output Products] ダイアログ ボッ クスが開きます。 このダイアロ
グ ボッ クスは、 [Sources] ウ ィンド ウで IP を右ク リ ッ ク して [Generate Output Products] コマンドをク リ ッ クすれば、
いつでも開く こ とができます。
デフォルトでは、 アウ ト オブ コンテキス ト フローをサポートする IP に対しては、 合成済みチェッ クポイン ト ファ
イルが自動的に生成されますが、 [Synthesis Options] をグローバル合成に設定する と、 出力ファイルの作成時に DCP
ファ イルが生成されないよ うにできます。 アウ ト オブ コンテキス ト フローの使用については、 『Vivado Design Suite
ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 11] のこのセクシ ョ ンを参照してください。
IP コアで必要な出力ファイルをデザイン プロジェク トに追加したら、 デザイン階層に IP をインスタンシエートする
必要があ り ます。 このと き、 「デザインへの IP インスタンシエーシ ョ ン」 で説明されているよ うに、 IP モジュール
またはエンティティがデザインに統合されます。
X-Ref Target - Figure 3-8
図 3‐8: IP 出力ファイルの生成
システム レベル デザイン入力 53UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
デザインへの IP インスタンシエーシ ョ ン
インスタンシエーシ ョ ン テンプレートは、 出力ファイルを生成したかど うかにかかわらず、 IP をカスタマイズして
デザインまたはプロジェク トにそれを追加する と きに作成されます。 インスタンシエーシ ョ ン テンプレートには
Verilog または VHDL のインスタンス宣言 (.veo または .vho) が含まれており、 コピーして RTL デザイン階層に貼
り付けるこ とができます。
1. VIvado IDE テキス ト エディ ターでインスタンシエーシ ョ ン テンプレート を開きます。
2. テンプレート ファ イルでインスタンスを選択し、 それをコピーして、 該当するソース ファ イルに貼り付けま
す。
3. ポート定義の信号名をデザインの信号名に変更します。
4. デザインに IP コアのインスタンスを複数作成するには、 この手順を繰り返します。
詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)[参照 11] のこのセクシ ョ ンを参照してく
ださい。
デザインに IP をインスタンシエートする と、 [Sources] ウ ィンド ウの [Hierarchy] ビューにデザインに統合された IP コ
アが表示されます。 この後、 デザイン全体の一部と して、 またはアウ ト オブ コンテキス ト フローで個別に、 IP を合
成またはシ ミ ュレーシ ョ ンできるよ うになり ます。
X-Ref Target - Figure 3-9
図 3‐9: インスタンシエーシ ョ ン テンプレートの編集
システム レベル デザイン入力 54UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
IP インテグレーターのソースの使用
Vivado Design Suite では、RTL プロジェク ト またはデザインに IP サブシステム デザイン (.bd) を追加し、管理できま
す。 Vivado IP インテグレーターを使用する と、 IP サブシステム ブロ ッ ク デザインを作成できます。 IP インテグレー
ターでは、 Vivado IP カタログからの複数の IP コアをインスタンシエートおよび相互接続するこ とで、 複雑なシステ
ム デザインを作成できます。 デザインは、 Vivado IDE 内の IP インテグレーターを使用してインタラ クティブに、 ま
たは Tcl コマンドのプログラムで作成できます。 IP インテグレーターの詳細は、 『Vivado Design Suite ユーザー ガイ
ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] を参照してください。
重要: Vivado IP インテグレーター は、 XPS (Xilinx Platform Studio) に代わるもので、 Zynq®-7000 SoC デバイスや
MicroBlaze™ プロセッサをターゲッ トにするデザインなど、 新しいエンベデッ ド プロセッサ デザイン用のツールで
す。 既存の XPS デザインを Vivado IP インテグレーターに移行するには、 『ISE から Vivado Design Suite への移行ガイ
ド』 (UG911) [参照 8]のこのセクシ ョ ンを参照してください。
新規ブロック デザインの作成
開いている RTL プロジェク トでブロ ッ ク デザインを作成できます。 新し くブロ ッ ク デザイン ソースを作成し、 そ
れを現在のプロジェク トに自動的に追加するには、 次の手順にしたがってください。
1. Flow Navigator で [IP Integrator] をク リ ッ ク します。
2. [Create Block Design] ク リ ッ ク します。
これで、 Vivado IP インテグレーターが開き、 ブロ ッ ク デザインに IP を追加し接続できるよ うになり ます。 新規
ブロ ッ ク デザインの作成については、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP
サブシステムの設計』 (UG994) [参照 13] のこのセクシ ョ ンを参照してください。
3. 新し く作成したブロ ッ ク デザインを保存する と、 現在のプロジェク トに自動的に追加されます。
また、 現在のプロジェク ト環境外でブロッ ク デザインを作成するこ と もできます。 ブロ ッ ク デザインのリポジ
ト リ を作成して、 ブロ ッ ク デザインを再利用し、 さまざまなプロジェク トに追加できます。 現在のプロジェク
ト環境外でのブロ ッ ク デザインの作成については、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーター
を使用した IP サブシステムの設計』 (UG994) [参照 13] のこのセクシ ョ ンを参照して ください。
注記: MicroBlaze プロセッサを使用するか、 または Zynq-7000 SoC デバイスをターゲッ トにして、 エンベデッ ド プロ
セッサ ブロ ッ ク デザインを作成する場合は、『Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハード
ウェア デザイン』 (UG898) [参照 21] を参照してください。
既存ブロック デザイン ソースの追加
その他のソースの場合と同様、 プロジェク ト外で作成されたブロッ ク デザイン ソースで、 ブロ ッ ク デザインのリポ
ジ ト リに保存されるものを追加するには、 [Add Sources] コマンドを使用します。 詳細は、 「デザイン ソースの追加」
を参照してください。
現在のプロジェク トに既存ブロ ッ ク デザインを追加する と き、 ブロ ッ ク デザインでも と も と ターゲッ トにしていた
パーツとは別のザイ リ ンクス パーツをターゲッ トにできる場合があ り ます。 ターゲッ ト デバイスを変更する と、 ブ
ロ ッ ク デザインで使用されている IP のすべてがロ ッ ク され、 IP をアップデートする必要が出てきます。
-report_ip_status を使用してツールを実行する と、 「新規ブロ ッ ク デザインの作成」 でインポート した IP のス
テータスがわかり ます。
システム レベル デザイン入力 55UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
既存のブロック デザイン ソース ファイルを追加する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : report_ip_status
• Tcl コマンドの例: report_ip_status -name ip_status
重要: IP がロッ ク される と、 ブロ ッ ク デザインに対し出力ファイルを生成しよ う とする と、 次のよ うなク リ ティカル
警告メ ッセージが表示されます。 [BD 41-1336] One or more IPs are locked in this block design.Please run report_ip_status for more details and recommendations
on how to fix this issue. (1 つまたは複数の IP が zynq_1.bd デザインでロ ッ ク されています。 詳細は report_ip_status を実
行して、 推奨される修正方法にしたがってください)
1. IP およびブロ ッ ク デザインをアンロ ッ クするには、 [Sources] ウ ィンド ウの [IP Sources] ビューでブロ ッ ク デザ
インを右ク リ ッ ク し、 [Report IP Status] コマンドを選択します。
ブロ ッ ク デザインをアンロ ッ クする必要のある IP の変更が IP ステータス レポートに表示されます。
2. このウ ィンド ウで [Upgrade Selected] コマンドをク リ ッ ク し、 ブロ ッ ク デザインで使用される IP をアップグレー
ド し、 現在のプロジェク トで使用されている新しいパーツをターゲッ トにします。
現在のプロジェク トにブロ ッ ク デザインを追加する場合、 Vivado Design Suite で必要と される出力ファイルを生
成して、 デザイン フロー全体でこのブロ ッ ク デザインがサポート されるよ うにする必要があ り ます。
ブロック デザインの出力ファイルの生成
ブロ ッ ク デザインを作成し、 デザインを検証したら、 出力ファイルを生成して、 デザイン フロー全体でそのブロッ
ク デザインがサポート されるよ うにする必要があ り ます。 こ う した出力ファイルには、 Verilog または VHDL インス
タンシエーシ ョ ン テンプレート、 ブロ ッ ク デザインを現在のプロジェク トに統合させるための HDL ラ ッパー ファ
イル、 ブロ ッ ク デザインのタイ ミ ング制約または物理制約を提供するデザイン制約ファイル (XDC)、 ブロ ッ ク デザ
インをサポートするための合成されたネッ ト リ ス ト またはデザイン チェッ クポイン トがあ り ます。
ブロ ッ ク デザインの出力ファイルは現在のプロジェク トのターゲッ ト言語で生成されます。 ブロ ッ ク デザインで使
用されている特定 IP のソース ファ イルをターゲッ ト言語で生成できない場合は、 Tcl コンソールにメ ッセージが表
示され、 出力ファイルが使用可能な言語またはサポート されている言語で生成されます。
1. 出力ファイルを生成するには、 ブロ ッ ク デザインを右ク リ ッ ク し、 [Generate Output Products] を選択するか、 ま
たは Flow Navigator で [Generate Block Design] を選択します。
X-Ref Target - Figure 3-10
図 3‐10: IP ステータス レポート
システム レベル デザイン入力 56UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
次の図に示す [Generate Output Products] ダイアログ ボッ クスが表示されます。
出力ファイルを生成する と、 ブロ ッ ク デザインの 上位ネッ ト リ ス ト も生成されます。 ネッ ト リ ス トは、 現在のプ
ロジェク トのターゲッ ト言語設定に基づいて VHDL または Verilog のいずれかで生成されます。
デフォルトでは、 ブロ ッ ク デザイン内の各 IP ごとに合成済みデザイン チェッ クポイン ト (DCP) ファ イルが作成さ
れ、 合成時間が短縮されるよ うになっています。 この合成モードは、 [Generate Output Products] ダイアログ ボッ クス
の [Out of context per Block Design] をオンにする と変更できます。 アウ ト オブ コンテキス ト フローの使用について
は、『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13]
のこのセクシ ョ ンを参照してください。
ブロ ッ ク デザインが作成されたら、 [RMB] → [Create Wrapper] をク リ ッ クするか、 ブロ ッ ク デザインを RTL にイン
スタンシエート して、 ブロ ッ ク デザインをインスタンシエーシ ョ ンします。 作成中には、 ダイアログ ボッ クスが表
示されます。
ラ ッパーを変更する場合は、 [Copy Generated Wrapper] を選択してユーザーが変更できる よ う にしてておくか、
[Let Vivado Manage Wrapper] で自動的にアップデー ト される よ う にします。
X-Ref Target - Figure 3-11
図 3‐11:出力ファイルの生成 — ブロック デザイン
X-Ref Target - Figure 3-12
図 3‐12: HDL ラッパーの作成
システム レベル デザイン入力 57UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
現在のプロジェク トへのブロック デザインのインスタンシエーショ ン
IP インテグレーターのブロ ッ ク デザインは、 HDL デザインの階層にインスタンシエートするか、 またはデザイン階
層の 上位に定義できます。
既存のデザイン階層にブロ ッ ク デザインを統合するには、 ブロ ッ ク デザインの HDL ラ ッパーを開きます。 出力
ファイルを生成する と き、 ブロ ッ ク デザインの HDL ラ ッパーまたはインスタンシエーシ ョ ン テンプレートが作成
されます。 HDL ラ ッパーには、 ブロ ッ ク デザインの Verilog モジュール宣言または VHDL エンティティ宣言が含ま
れ、 ブロ ッ ク デザイン モジュールのインスタンスが作成されます。 必要に応じて HDL ラ ッパーでインスタンス定
義を変更するこ とができ、 それをデザイン階層にコピーして貼り付けるこ とができます。
また、 HDL ラ ッパーは、 デザインの 上位にブロ ッ ク デザインを定義する と きにも使用できます。 詳細は、
『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] のこ
のセクシ ョ ンを参照してください。
Vivado HLS ソースの使用
Vivado 高位合成 (HLS) は、 C 仕様をレジスタ ト ランスファー レベル (RTL) コードに変換し、 ザイ リ ンクス デバイス
に合成できる状態にするツールです。 C 仕様は、 C、 C++、 または SystemC で記述できます。 ザイ リ ンクス デバイス
を使用する と、 従来のプロセッサよ り もパフォーマンス、 コス ト、 消費電力の点で優れた並列アーキテクチャを達
成できます。
X-Ref Target - Figure 3-13
図 3‐13: ブロック デザイン ラッパーの変更
システム レベル デザイン入力 58UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
Vivado HLS からの出力は、 ハード ウェア記述言語 (HDL) 形式の RTL インプリ メンテーシ ョ ン ファ イルで、 Vivado
合成で合成可能、 または IP ブロッ ク と してパッケージして IP カタログから使用可能です。 詳細は、 『Vivado Design
Suite ユーザー ガイ ド : 高位合成』 (UG902) [参照 16] を参照してください。
Model Composer ソースの使用
Model Composer は、 デザインを短時間で試行できるモデル ベースのデザイン ツールで、 自動コード生成によ り、 ザ
イ リ ンクス デバイスのプロダクシ ョ ンまでの時間を短縮できます。 Model Composer は MathWorks Simulink® に合わ
せたザイ リ ンクス ツールボッ クス と して構築されており、 システム レベル デザインのモデリ ング、 シ ミ ュレーシ ョ
ン、 解析、 および検証をインタラ クティブなグラフ ィカル環境で実行できる MATLAB® ソフ ト ウェアのアドオン製
品です。
アルゴ リズムは、 Model Composer ライブラ リからのブロ ッ クやユーザーがインポート したカスタム ブロ ッ クを使用
して Model Composer で記述できます。 Model Composer は、 自動 適化機能と Vivado HLS の高位合成テク ノ ロジを
使用して、ユーザーのアルゴ リズム仕様をパッケージされた IP ブロッ クに変換します。Vivado Design Suite または IP
インテグレーター機能を使用してこれらのパッケージされた IP をデザインに追加し、 その IP をプラ ッ ト フォーム
(Zynq デバイス、 DDR3 DRAM、 Arm プロセッサで実行されるソフ ト ウェア スタ ッ クなど) に統合します。 詳細は、
『Model Composer ユーザー ガイ ド』 (UG1262) [参照 18] を参照して ください。
System Generator ソースの使用
System Generator はザイ リ ンクスの DSP デザイン ツールで、 RTL ソース ファ イル、 Simulink および MATLAB のソフ
ト ウェア モデル、 および DSP システムの C/C++ コンポーネン ト を、 1 つのシ ミ ュレーシ ョ ンおよびインプ リ メン
テーシ ョ ン環境にまとめるこ とができます。 System Generator の使用方法については、 『System Generator for DSP ユー
ザー ガイ ド』 (UG640) [参照 22] を参照してください。
System Generator デザインは、 大型 HDL デザインに組み込まれるこ とがよ くあ り ます。 Vivado Design Suite で DSP モ
ジュールを IP コアと してパッケージし、 IP カタログに追加して、 「IP ソースの操作」 で説明しているよ うにサブモ
ジュールと してデザイン階層の任意階層に統合させるか、 またはデザインの 上位にインポートするよ うにしてく
ださい。 こ うするこ とで、 System Generator 内で開発および管理される IP ソース と して DSP モジュールを処理しな
がら、 Vivado IDE で FPGA デザインのプロジェク ト を管理できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド :
System Generator を使用したモデルベースの DSP デザイン』 (UG897) [参照 22] のこのセクシ ョ ンを参照してください。
ソース ファイルの編集
Vivado IDE には、 RTL、 XDC、 Tcl およびその他のテキス ト ソースを作成または変更するためのテキス ト エディ ター
があ り ます。 このテキス ト エディ ターで Verilog、 VHDL、 XDC、 および Tcl ファ イルを開く と、 キーワード と コン
ス ト ラ ク トが色分け表示されます。 カスタマイズ可能な統合テキス ト エディ ターであ り、 構文のハイライ ト、 オン
ザフライ チェッ ク、 エラーおよび警告に対するヘルプ、 コードの折りたたみ、 コード補完、 およびファイル比較が
サポート されています。 テキス ト エディ ターに関しては、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』
(UG893) [参照 6] のこのセクシ ョ ンを参照してください。
システム レベル デザイン入力 59UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
同時に複数のファイルを開く こ とができ、 各ファイルのタブをク リ ッ ク して表示されるファ イルを切り替えるこ と
ができます。 Vivado IDE では、 ファ イルを変更して保存する必要がある場合、 そのファイルのタブのファイル名に
アスタ リ スク (*) が表示されます。 ファ イルを保存するには、 次のいずれかを実行します。
• [File] → [Text Editor] → [Save File] をク リ ッ ク します。
• Vivado IDE テキス ト エディ ターで右ク リ ッ ク し [Save File] をク リ ッ ク します。
• Vivado IDE テキス ト エディ ターで [Save File] ツールバー ボタン をク リ ッ ク します。
注記: ファ イルを閉じる と きに保存していない変更がある場合は、 それを保存するかど うかを確認するダイアログ
ボッ クスが表示されます。
ヒン ト : ソース ファ イルを別のディ レク ト リに保存するには、 [Save As] を使用します。
検索/置換コマンドの使用
デザインソース ファ イルを編集する と きは、 特定オブジェク ト またはオブジェク トのインスタンスを検索する必要
がある場合があ り ます。 開いているソース ファ イル、 または選択した複数のソース ファ イルで文字列を検索するに
は [Find] および [Find in Files]、 文字列を置換するには [Replace in Files] を使用できます。 次の機能があ り ます。
• 検索条件と して、 検索文字列にワイルドカード文字 (*、 ?、 #、 +) や正規表現を含めて入力できます。
• フ ィルター オプシ ョ ンを使用して、 ソース ファ イル、 制約ファイル、 レポート ファ イルを検索できます。
HDL 言語テンプレートの使用
Vivado IDE には、 XPM (Xilinx Parameterized Macro) およびライブラ リ プリ ミ ティブを含め、 多くの Verilog、 VHDL、
XDC 構造のテンプレートが含まれます。 テンプレート を表示するには、
1. Vivado IDE テキス ト エディ ターで [Language Templates] ツールバー ボタン をク リ ッ ク します。
2. [Tools] → [Language Templates] をク リ ッ ク します。
[Language Templates] ウ ィンド ウが Verilog、 VHDL、 SystemVerilog、 XDC、 Debug のフォルダー別に表示されま
す。
システム レベル デザイン入力 60UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
テンプレート を選択する と、 テキス ト エディ ターのポップアップ メニューから [Insert Template] を使用できるよ うに
なり ます。 これをク リ ッ クする と、 選択したテンプレートのテキス トが編集するファイルのカーソルの位置に挿入
されます。 [Language Templates] ウ ィンド ウからテキス ト をコピーして貼り付けるこ と もできます。 サポート される
コマンドの詳細は、『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] のこのセクシ ョ ンを参
照してください。
XPM の使用
XPM は、 RAM や ROM、 ク ロ ッ ク乗せ換え、 および FIFO などの HDL フローでよ く使用されるシンプルでカスタマ
イズ可能なソ リ ューシ ョ ンです。 XPM は、 Vivado Design Suite に含まれる SystemVerilog HDL コードで、 インス トー
ル ディレク ト リの ./data/ip/xpm に含まれています。 これらは、パラ メーターを変更可能な IP と して考えられ、
パラ メーターのデフォルト値はデザイン要件に合わせて変更できます。
XPM には、 次のよ うなタイプがあ り ます。
• XPM_MEMORY – さまざまな RAM および ROM メモ リ構造に使用。
• XPM_CDC – さまざまなセーフ ク ロ ッ ク乗せ換え (CDC) ロジッ クのインプリ メンテーシ ョ ンに使用。
• XPM_FIFO - 同期および非同期 FIFO 構造に使用。
X-Ref Target - Figure 3-14
図 3‐14: [Language Templates] ウィンドウ
システム レベル デザイン入力 61UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
ザイリンクス パラメーター指定マクロのイネーブル
プロジェク ト モードの場合、 Vivado ツールでプロジェク トに追加されたファイルが解析され、 XPM が自動的に認識
されますが、 非プロジェク ト モードの場合は、 ソース ファ イルを読み込んだり、 インポート した りする前に
auto_detect_xpm コマンドを実行しておく必要があ り ます。
XPM の使用
デザイン内の XPM 言語テンプレートはどれでも使用できます。 特定の XPM に使用可能なパラ メーターについては、
[Language Templates] ウ ィンド ウのインスタンシエーシ ョ ン テンプレートで説明されます。
インスタンシエーシ ョ ン テンプレートの内容をコピーしてソース ファ イルに貼り付けるか、 テキス ト エディ ターの
ポップアップ メニューから [Insert Template] をク リ ッ ク します。 インスタンシエーシ ョ ン テンプレートのコ メン トは
デザイン ソース ファ イルにコピーする必要はあ り ません。
インスタンス名およびワイヤ ポートはデザイン内の XPM インスタンスに合う よ うに変更でき、 パラ メーター /ジェ
ネ リ ッ クは言語テンプレートにコ メン ト と して提供されている ドキュ メン トに従って変更できます。
重要: XPM が正し く使用されるよ うにするには、 XPM 言語テンプレートのすべてのコード コ メン ト を読んで、 それ
に従う よ うにする必要があ り ます。
図 3-15 は、 XPM_CDC インスタンスの例を示しています。
XPM の中には、 ./data/ip/xpm/<xpm>/tcl フォルダー内に Tcl ファ イルで定義される制約が含まれているもの
もあ り ます。 これらの制約は合成中に適用され、 処理されるその他の制約と一緒に合成ログ ファ イルに表示されま
す。 制約は、 XPM に接続されるネッ トにあるク ロ ッ ク オブジェク トによって異なり ます。 これは、 XPM の中に、
クロ ッ クの PERIOD プロパティをクエリ して、 制約を設定するものがあるためです。 クロ ッ ク オブジェク トがない
場合は、 ク リ ティカル警告が表示されます。
重要: report_compile_order コマンドを使用する場合、 XPM の Tcl 制約ファイルは、 エラボレート済み、 合成済み、 ま
たはインプ リ メン ト済みデザインを開かない限り表示されません。
さまざまな XPM およびそれらのパラ メーター指定オプシ ョ ンの詳細は、 『UltraScale アーキテクチャ ライブラ リ ガ
イ ド』 (UG974) [参照 23]のこのセクシ ョ ン、 または 『Vivado Design Suite 7 シ リーズ FPGA および Zynq-7000 SoC ライ
ブラ リ ガイ ド』 (UG953) [参照 24] を参照してください。
X-Ref Target - Figure 3-15
図 3‐15: XPM_CDC の例
システム レベル デザイン入力 62UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
ソース ファイルへのクロスプローブ
Vivado IDE では、 次のウ ィンド ウから RTL ソース ファ イルへクロスプローブできます。
• [Schematic] ウ ィンド ウ (エラボレート済み RTL、 合成、 またはインプリ メンテーシ ョ ン)
• [Netlist] ウ ィンド ウ (合成またはインプリ メンテーシ ョ ン後)
• [Device] ウ ィンド ウ (インプリ メンテーシ ョ ン後)
ク ロスプローブするには、 これらのウ ィンド ウでセルを右ク リ ッ ク し、 [Go To Definition] または [Go To Source] をク
リ ッ ク します。 RTL ソースが開き、 そのインスタンスの行がハイライ ト されます。
ソース ファイルにクロスプローブする Tcl コマンド
FILE_NAME および LINE_NUMBER プロパティを使用する と、 セルが RTL ソースのどこにあるかに関する情報を取
得できます。 この後、 テキス ト エディ ターで RTL ソースを開いて、 該当する行番号の行を確認します。 次は、 関連
する Tcl コマンドです。
• Tcl コマンド : get_cells
注記:デフォルトでは、 Tcl コマンドの get_cells を使用する と、 Tcl コンソールおよびログ ファ イルに 初の 500
個の結果が表示されますが、 それを超える と結果は割愛されます。 デフォルト設定の変更方法については、 『Vivado
Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4] のこのセクシ ョ ンを参照してください。
• Tcl コマンドの例: 次の例では、 Tcl コマンドの get_cells を使用して、 セルの特定インスタンスを取得し、 そ
のセル オブジェク トのプロパティを検索して、 該当するファイルと行をレポート しています。
set cellName dac_spi_i0
set fileName [get_property FILE_NAME [get_cells $cellName]]
set lineNum [get_property LINE_NUMBER [get_cells $cellName]]
puts “Cell: $cellName is instanced in file: $fileName \
at line number $lineNum”
その他のテキスト エディ ターの使用
Vivado IDE では、 次を実行する と別のテキス ト エディ ターを使用するこ と もできます。
X-Ref Target - Figure 3-16
図 3‐16: エラボレート されたネッ ト リス トの RTL ソースへのクロスプローブ
システム レベル デザイン入力 63UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
1. [Tools] → [Settings] をク リ ッ ク します。
2. [Settings] ダイアログ ボッ クスの [Text Editor] ページ () の [Current Editor] ド ロ ップダウン リ ス トから別のエディ
ターを選択します。
リ ス トからテキス ト エディ ターを選択する と、 実行ファイル名が表示されます。 この実行ファイルへのパスは、
ユーザーのパスに含まれている必要があ り ます。 ユーザー環境にパスを追加する方法については、 Windows ま
たは Linux の資料を参照して ください。
ご希望のテキス ト エディ ターがリ ス ト されていない場合は、 [Custom Editor] を選択します。 [Custom Editor
Definition] ダイアログ ボッ クスにそのテキス ト エディ ターを実行する実行ファイルの名前またはディ レク ト リ
と コマンド ライン構文を入力します。
ヒン ト : 別のテキス ト エディ ターを使用する場合は、 ク ロスプローブは同じよ うには動作しません。 ファ イルは外部
エディ ターで開きますが、 自動的にその行がハイライ ト表示されるこ とはあ り ません。
シミ ュレーシ ョ ン ソースの操作
Vivado IDE では、 RTL プロジェク トのビヘイビアー シ ミ ュレーシ ョ ン用に、 シ ミ ュレーシ ョ ン ソースを追加できま
す。 シ ミ ュレーシ ョ ン ソース ファ イルには、 シ ミ ュレーシ ョ ンのスティ ミ ュラス と して使用する HDL ベースのテ
X-Ref Target - Figure 3-17
図 3‐17: [Settings] ダイアログ ボックス: [Text Editor] ページ
システム レベル デザイン入力 64UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
ス トベンチ ファイルが含まれます。 シ ミ ュレーシ ョ ン ソースは、 Vivado シ ミ ュレータでのビヘイビアー シ ミ ュレー
シ ョ ンに使用されます。
シ ミ ュレーシ ョ ン ソース ファ イルはシ ミ ュレーシ ョ ン ファ イル セッ トに格納され、 [Sources] ウ ィンド ウにフォル
ダーと して表示されます。 リモートのものを参照するか、 ローカル プロジェク ト ディ レク ト リに保存されているも
のを使用できます。 シ ミ ュレーシ ョ ン セッ ト を使用する と、 シ ミ ュレーシ ョ ン設定ごとに異なるソースを定義でき
ます。 たとえば、 1 つのシ ミ ュレーシ ョ ン ソースに 1 つのテス トベンチを使用してビヘイビアー シ ミ ュレーシ ョ ン
用のスティ ミ ュラスを含め、 別のシ ミ ュレーシ ョ ン ソースには別のテス トベンチを使用できます。 シ ミ ュレーシ ョ
ン ソースをプロジェク トに追加する際、 ファ イルを追加するシ ミ ュレーシ ョ ン ソース セッ ト を指定できます。
注記:詳細は、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 10]のこのセクシ ョ ン
を参照してください。
シミ ュレーシ ョ ン ソース ファイルの追加と作成
1. [File] → [Add Sources] をク リ ッ ク します。
注記: または、 [Sources] ウ ィンド ウで右ク リ ッ クするか、 または Flow Navigator から [Add Sources] をク リ ッ ク し
ます。
2. Add Sources ウ ィザードで [Add or create simulation sources] をオンにし、 [Next] をク リ ッ ク します。
° [Add or Create Simulation Sources] ページで次のオプシ ョ ンを選択して [Finish] をク リ ッ ク します。
° [Specify Simulation Set]: テス トベンチ ファ イルを含めるシ ミ ュレーシ ョ ン セッ トの名前およびディ レク ト リ
を入力します。 ド ロ ップダウン リ ス トから [Create Simulation Set] を選択する と、 新規シ ミ ュレーシ ョ ン
セッ ト を定義できます。
° [Add Files]: + 記号をク リ ッ ク してド ロ ップダウン メニューから [Add Files] を選択して、 ファ イル ブラウ
ザーを開き、 プロジェク トに追加するシ ミ ュレーシ ョ ン ソース ファ イルを選択します。
X-Ref Target - Figure 3-18
図 3‐18: Add Sources ウィザード : [Add or Create Simulation Sources] ページ
システム レベル デザイン入力 65UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
° [Add Directories]: 選択したディ レク ト リに含まれるすべてのファイルを追加します。 指定したディ レク ト リ
にある有効なソース ファ イルがすべてプロジェク トに追加されます。
° [Create File]: シ ミ ュレーシ ョ ン ソース ファ イルを作成する [Create Source File] ダイアログ ボッ クスが開きま
す。
° [Delete]: 選択したソース ファ イルを削除します。
° [Move Up]/[Move Down]: ファ イルを リ ス トの上または下方向に移動します。
° [Library]: ファ イルまたはディ レク ト リのライブラ リ を指定します。 定義済みのライブラ リ名から選択する
か、 新規ライブラ リ名を入力します。
注記: このオプシ ョ ンは、 VHDL ファ イルの場合のみ使用できます。 デフォルトでは、 HDL ソース ファ イ
ルは xil_defaultlib ライブラ リに追加されます。 必要に応じて、 ユーザー VHDL ライブラ リ を作成し、
参照できます。 Verilog および SystemVerilog ファ イルの場合は、 xil_defaultlib のままにしておきます。
° [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 ファ イルセッ トからのデザイン ソース ファ イルをすべ
てシ ミ ュレーシ ョ ン ファ イルセッ トにコピーします。
制約の操作
Vivado IDE では、 Xilinx® Design Constraint (XDC) および Synopsys Design Constraint (SDC) ファ イル形式がサポート さ
れます。 SDC 形式ではタイ ミ ング制約、 XDC 形式ではタイ ミ ング制約および物理制約の両方が指定されます。 制約
には、 配置、 タイ ミ ング、 および I/O に関する指示があ り ます。 制約は、 RTL 解析、 合成、 インプ リ メンテーシ ョ ン
を含めたデザイン フローのさまざまな段階中に作成できます。 制約ファイル、 制約セッ ト、 制約のタイプについて
は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 7] を参照して ください。
Vivado Design Suite を使用する と、 プロジェク トで制約を柔軟に定義および作成できます。 1 つの XDC ファ イルを使
用してデザインで使用されるすべての制約を追加および管理するか、 または制約を複数の XDC ファ イルに分類して
管理できます。 複数の制約セッ ト を作成して、 さまざまな制約を試したり、 複数のバージ ョ ンの制約を保存したり
するこ と も可能です。 各制約セッ トには、 1 つまたはそれ以上の制約ファイルを含めるこ とができます。
また、 Vivado Design Suite では、 Tcl スク リプ トで制約を定義するこ と も可能です。 スク リプ トは Tcl シェルまたは
Tcl コンソールで実行するか、 デザインの制約セッ トに追加できます。 Tcl スク リプ トで制約を定義する と、 制約適
用範囲指定や定義に、 標準 Tcl コマンドを使用できます。 ただし、 この方法だと、 デザイン制約への変更を元の Tcl
スク リプ トに保存するこ とができないなど、 制限されてしま う こ と もあ り ます。
注記: Tcl スク リプ トの使用については、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 7] のこのセ
クシ ョ ンを参照してください。
システム レベル デザイン入力 66UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
複数のデザインで 1 つの制約セッ ト を参照できます。 ただし、 この場合は変更の管理に注意を払う必要があ り ます。
複数のデザインが開いていて、 保存されていない変更がある場合、 どの制約ファイルを保存するかを選択するダイ
アログ ボッ クスが表示されます。
注意: 制約ファイルを保存する際は、 保存していないデザインの保存していない制約定義を上書きしないよ うに注意
してください。
インプ リ メン ト済みデザインには、 インプリ メンテーシ ョ ン run の実行中に使用された制約セッ トのスナップシ ョ ッ
トが元の制約ファイル行への参照と共に保存されます。 インプリ メン ト済みデザインを開く際、 インプリ メンテー
シ ョ ン run から読み込まれた制約セッ トがプロジェク トの制約セッ トからのインプリ メンテーシ ョ ン制約よ り も古い
場合があ り ます。 この場合、 メモ リ内の制約を追加または編集した後に、 インプリ メン ト済み run からデザインを保
存する と、 プロジェク ト ファ イルの新しい制約の方が消されてしま う可能性があ り ます。 通常は Vivado IDE でこれ
らのリ ビジ ョ ンが管理され、 随時適切な処置をと るよ う メ ッセージが表示されますが、 メモ リ内の制約と インプリ
メンテーシ ョ ン run に関連付けられた制約セッ トの制約ファイル間に競合がある可能性もあるので、 注意してくださ
い。
Vivado IDE では、 次のウ ィンド ウを使用して制約を作成および変更できます。
• [Timing Constraints] ウ ィンド ウ : プロジェク トの XDC ファ イル タイ ミ ング制約がすべて表で表示されます。 既
存の制約はインタラ クティブに編集して、 ソース ファ イルに保存し戻すこ とができるほか、 新規に制約を作成
するこ と もできます。
• [Device Constraints] ウ ィンド ウ : 表示されたバンクでさまざまな SelectIO™ インターフェイスを設定できます。
• [Physical Constraints] ウ ィンド ウ : Pblock を作成および管理できます。
ヒン ト : 合成済みデザインで [Tools] → [Timing] → [Constraints Wizard] をク リ ッ クする と、 ザイ リ ンクスの推奨する設
計手法に基づいた 上位 XDC ファ イルが作成されます。 ウ ィザードに従って、 ク ロ ッ クを指定し、 入力および出力
制約を設定し、 ク ロ ッ ク乗せ換えのクロ ッ ク グループに制約を付けます。
ビデオ: タイ ミ ング制約ウ ィザードの概要については、 Vivado Design Suite QuickTake ビデオ: タイ ミ ング制約ウ ィ
ザードの使用を参照してください。
制約ファイルの追加と作成
1. [File] → [Add Sources] をク リ ッ ク します。
注記: または、 Flow Navigator で [Add Sources] をク リ ッ クするか、 [Sources] ウ ィンド ウを右ク リ ッ ク し、 [Add
Sources] をク リ ッ ク します。
2. Add Sources ウ ィザードで [Add or create constraints] をオンにし、 [Next] をク リ ッ ク します。
3. [Add or Create Constraints] ページで次のオプシ ョ ンを選択して [Finish] をク リ ッ ク します。
システム レベル デザイン入力 67UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
° [Specify constraint set]: 制約ファイルを追加する制約セッ ト を選択します。 デフォルトでは現在アクティブな
制約セッ トが選択されていますが、 別の制約セッ ト を指定したり、 ド ロ ップダウン リ ス ト を使用して新し
い制約セッ ト を作成するこ と もできます。
° [Add Files]: プロジェク トに追加する XDC、 SDC、 または Tcl スク リプ ト ファ イルを指定します。
° [Create File]: 新しい 上位の XDC ファ イルが作成されます。
° [Remove]: 制約ファイル リ ス トから選択したファイルが削除されます。
° [Move Up]/[Move Down]: 制約ファイルを リ ス トの上下方向に移動します。 XDC、 SDC、 または Tcl ファ イル
には、 タイ ミ ングおよび物理制約を設定しするコマンドが含まれており、 実行順序が決まっています。 制
約セッ トにある複数のファイルは、 リ ス トの 初にあるものから順番に読み出され、 処理されます。
重要: 制約は、 制約セッ トに リ ス ト されている順序で読み出されます。 同じ制約が 1 つの制約ファイルで複数回定義
されている場合、 または複数のファイルで定義されている場合、 その制約の 終定義が優先されます。
° [Copy constraints into project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リに
制約ファイルをコピーします。
ターゲッ ト XDC ファイルの設定
デザインを変更する と、 制約が定義されている XDC ファ イルにその変更が反映されます。 新し く作成した制約は、
その制約を保存する と きに、 ターゲッ ト XDC ファ イルと して指定されている XDC ファ イルに書き込まれます。 デ
フォルトでは、 新しい制約セッ トにはターゲッ ト XDC ファ イルはあ り ません。 新し く制約を作成する場合は、 制約
を保存する際にターゲッ ト XDC ファ イルを設定する必要があ り ます。
ヒン ト : 既存の制約を修正した場合は、 ターゲッ ト XDC ではなく、 元の XDC ファ イルに書き込まれます。
制約を保存する必要がある場合は、 [Save Constraints] ツールバー ボタン が使用可能になり ます。 [Save
Constraints] ツールバー ボタンをク リ ッ クする と、 [Save Constraints File] ダイアログ ボッ クスが表示され、 アクティ
ブな制約セッ ト内の既存の XDC ファ イルを選択するか、 新規ファイルを作成してアクティブ制約セッ トに追加でき
ます。
X-Ref Target - Figure 3-19
図 3‐19: Add Sources ウィザード : [Add or Create Constraints] ページ
システム レベル デザイン入力 68UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
XDC ファ イルがターゲッ ト と して設定される と、 [Sources] ウ ィンド ウのファイル名の横に 「(target)」 と表示されま
す。 ターゲッ ト XDC ファ イルは、 [Souces] ウ ィンド ウを右ク リ ッ ク して [Set as Target Constraint File] をク リ ッ ク して
いつでも変更できます。
元の XDC ファイルの参照またはファイルのコピー
ほかのソース ファイルと同様、 XDC ファ イルも リモートにあるものを参照するか、 ローカルのプロジェク トにコ
ピーできます。 プロジェク トが リモート ファ イルを参照している場合、 参照されているソース ファ イルへの変更を
Vivado IDE が自動的に検出し、 新のファイルをデザインに読み込むよ う メ ッセージが表示されます。
プロジェク トに制約をコピーするには、 次のいずれかを実行します。
• [Add Sources] コマンドで制約ファイルをプロジェク トに追加する際に [Copy constraints into project] をオンにする
と、 制約ファイルがプロジェク ト ディレク ト リにコピーされます。
• 制約ファイルを 初リモート ソース と して追加し、 後でプロジェク ト ディ レク ト リにコピーする場合は、
[Sources] ウ ィンド ウでファ イルを右ク リ ッ ク して [Copy File into Project] をク リ ッ ク してソース ファ イルを個別
にコピーするか、 または [Copy All Files Into Project] をク リ ッ ク してすべてのリモート ソース ファ イルをコピー
します。
注記:詳細は、 「 リモート ソースの参照またはプロジェク ト ディ レク ト リへのソースのコピー」 を参照してくださ
い。
X-Ref Target - Figure 3-20
図 3‐20: [Save Target Constraints File] ダイアログ ボックス
X-Ref Target - Figure 3-21
図 3‐21: [Sources] ウィンドウのターゲッ ト XDC ファイル
システム レベル デザイン入力 69UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
制約セッ トの使用
制約セッ トは、 それぞれ個別に管理される 1 つまたは複数の制約ファイルで構成され、 解析およびインプ リ メン
テーシ ョ ン用に連結されてイン メモ リ デザインに適用されます。 制約セッ トでは、 デザイン プロセスのある時点ま
たは特定の条件下で使用される制約ファイルが定義されます。 複数の制約セッ ト を定義するこ とによ り、 フロアプ
ランやタイ ミ ングの問題を解決するために異なる制約を試すこ とができます。
XDC ファ イルは、 合成と インプリ メンテーシ ョ ンのいずれか、 または両方で使用されます。 デフォルトでは、 制約
ファイルの USED_IN プロパティで定義されているよ うに、 すべての XDC ファ イルが合成およびインプリ メンテー
シ ョ ンの両方で使用されるよ うに設定されます。USED_IN プロパティを変更するには、 [Sources] ウ ィンド ウで XDC
ファ イルを選択し、 [Source File Properties] ウ ィンド ウの [General] ビューで該当するチェッ ク ボッ クスをク リ ッ ク し
て、 オン/オフを切り替えます。 USED_IN プロパティの詳細は、 『Vivado Design Suite プロパティ リ ファレンス ガイ
ド』 (UG912) [参照 14] を参照してください。
制約セッ トの作成と編集
1. [Sources] ウ ィンド ウで右ク リ ッ ク し、 [Edit Constraint Sets] をク リ ッ ク します。
2. [Edit Constraint Set] ダイアログ ボッ クスで次のいずれかを実行します。
° 制約セッ ト を編集する場合は、 [Specify Constraint Set] フ ィールドの隣のド ロ ップダウン リ ス ト をク リ ッ ク
し、 制約セッ ト を選択します。
° 制約セッ ト を作成する場合は、 [Specify Constraint Set] フ ィールドの隣のド ロ ップダウン リ ス ト をク リ ッ ク
し、 [Create Constraint Set] を選択します。 [Create Constraint Set Name] ダイアログ ボッ クスで制約セッ トの名
前を入力し、 [OK] をク リ ッ ク します。
X-Ref Target - Figure 3-22
図 3‐22: XDC ファイルの USED_IN プロパティ
システム レベル デザイン入力 70UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
3. [Edit Constraint Set] ダイアログ ボッ クスで次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。
° [Add Files]: 制約セッ トに追加する XDC または SDC ファ イルを指定します。
° [Create File]: 制約セッ トに追加する新しい XDC ファ イルの名前とディ レク ト リ を指定します。
° [Remove]: 制約ファイル リ ス トから選択したファイルが削除されます。
注記: [OK] ボタンを使用する と、 まだ制約セッ トに追加されていないファイルのみを削除できます。 既に
制約セッ トに追加されたファイルを削除するには、 [Sources] ウ ィンド ウでファ イルを右ク リ ッ ク し、
[Remove File from Project] をク リ ッ ク します。
° [Move up]/[Move down]: XDC および SDC ファ イルを リ ス トの上下方向に移動します。 XDC および SDC
ファ イルには、 タイ ミ ングおよび物理制約を設定し、 記述順序に依存するコマンドが含まれます。 制約
セッ トに複数の制約ファイルが含まれる場合、 [Sources] ウ ィンド ウに表示される順序でファイルが処理さ
れます。 初にリ ス ト されているファ イルが 初に処理されます。 複数の制約ファイルに同じ制約が含ま
れている場合、 後に処理されたファイルの制約定義が使用されます。
° [Copy constraints into project]: 元のファイルを参照するのではなく、 ローカル プロジェク ト ディ レク ト リに
制約ファイルをコピーします。
アクテ ィブ制約セッ トの定義
複数の制約セッ トが存在する場合、 アクティブ制約セッ ト を指定する必要があ り ます。 デフォルトでは、 合成また
はインプ リ メンテーシ ョ ン run を開始したと き、 またはエラボレート済み、 合成済み、 またはインプ リ メンテーシ ョ
ン済みデザインを開いたと きに、 アクティブな制約セッ トが使用されます。
制約セッ ト をアクティブに設定するには、 [Sources] ウ ィンド ウで制約セッ ト を右ク リ ッ ク し、 [Make active] をク リ ッ
ク します。 [Sources] ウ ィンド ウのアクティブ制約セッ トの横に太字で 「(active)」 と表示されます。
X-Ref Target - Figure 3-23
図 3‐23: [Create Constraint Set Name] ダイアログ ボックス
X-Ref Target - Figure 3-24
図 3‐24: アクテ ィブ制約セッ ト
システム レベル デザイン入力 71UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
[Save Constraints As] コマンドを使用した制約セッ トの作成
デザイン フローの任意時に、 [Save Constraints As] コマンドを使用してアクティブな制約セッ ト をコピーするこ と も
できます。 制約ファイルに変更を加えたり、 別の制約を使用してみるには、 そ う した変更を新しい制約セッ ト と し
て保存する と便利です。
[File] → [Constraints] → [Save As] をク リ ッ ク し、 [Save Design As] ダイアログ ボッ クスを開き、すべての制約を保存す
る新しい制約セッ ト名を入力します。
[Save Constraints As] コマンドを使用する と、 次の処理が実行されます。
• 新しい制約セッ トが作成されます。
• アクティブ制約ファイルがローカル プロジェク ト ディ レク ト リの新しい制約セッ トにコピーされます。
• 制約への変更はコピーされた制約ファイルに記述され、 元の XDC ファ イルは変更されません。
• [Save Design As] ダイアログ ボッ クスには、 新しい制約セッ ト をアクティブにするオプシ ョ ンがあ り ます。
制約のエクスポート
Vivado IDE で制約ファイルを作成し、 スク リプ ト デザイン フローで使用したほうがよいケースもあ り ます。 イン メ
モ リ デザインに適用されているすべての制約を 1 つのファイルにエクスポートするには、[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] をク
リ ッ ク します。
X-Ref Target - Figure 3-25
図 3‐25: [Save Constraints As] ダイアログ ボックス
システム レベル デザイン入力 72UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
制約評価順の変更
関連する制約セッ ト内ではユーザー制約の順序を変更できます。 順序を変更するには、 [Sources] ウ ィンド ウで XDC
ファ イルをド ラ ッグ アンド ド ロ ップします。
Vivado IDE で処理されるすべての XDC ファ イルの順序を取得するには、 Tcl コンソールに
report_compile_order -constraints コマンドを入力します。 これによ り、 ユーザー制約および IP を含むデ
ザインのすべての制約がリ ス ト されます。
注記:制約の順序を変更する方法については、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 7] を
参照してください。
非プロジェク ト モードでのソースの操作
非プロジェク ト モードの場合、 ソース ファ イルが自動的に管理されるプロジェク ト モード と異な り、 ソース ファ
イルはユーザーが管理する必要があ り ます。 Tcl コマンドを使用する と、 ネッ ト リ ス ト 、 ビッ ト ス ト リーム、 レポー
ト ファ イルなど、 処理するファイルおよび生成する出力ファイルを指定できます。 「プロジェク ト モード と非プロ
ジェク トモードのコマンド」 は、 よ く使用されるプロジェク ト モードのコマンド とそれに対する非プロジェク ト
モードのコマンドを リ ス ト しています。 デザイン フローのプロジェク ト モードおよび非プロジェク ト モードの詳細
は、『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892) [参照 1]のこのセクシ ョ ンを参照してくだ
さい。 Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 4] を参照してく
ださい。
注記:非プロジェク ト モードの場合、 ファ イルは Tcl スク リプ トの read_* コマンドのリ ス ト順にコンパイルされま
す。
注記:現在のインス トールで新しいパーツを選択するには、 現在のプロジェク ト を閉じて、 現在のインス トールを
アップグレード してパーツを追加してください。
表 3‐1: プロジェク ト モード と非プロジェク トモードのコマンド
動作 プロジェク ト モードのコマンド 非プロジェク ト モードのコマンド
デザイン ソースの読み込み add_files
import_files
read_<file_type>
(例: read_verilog、 read_vhdl、
read_xdc、 read_edif、 read_ip)
注記:非プロジェク ト モードの場合、
read_edif コマンドを使用する と NGC ファ イルをインポートできます。
合成の実行 launch_runs synth_1 synth_design
インプ リ メンテーシ ョ ン
の実行
launch_runs impl_1 opt_design
place_design
phys_opt_design
route_design
launch_runs impl_1 -to_step
write_bitstream
write_bitstream <file_name>
システム レベル デザイン入力 73UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
レポートの生成 report_timing
report_timing_summary
report_drc
report_methodology
report_clock_interaction
report_utlization
report_route_status
注記:プロジェク ト モードでは、 多くのレ
ポートが自動的に生成されます。 すべての
レポート を リ ス トするには、 help report_* と入力します。
プロジェク ト モード と同じ
シ ミ ュレーシ ョ ンの実行 launch_xsim xsim
注記: このコマンドは、 Vivado IDE 外で Vivado シ ミ ュレーシ ョ ンを起動します。
デザイン チェッ クポイン トの
書き出し
write_checkpoint
<file_name>.dcp
注記:プロジェク ト モードの場合、 DCP ファ
イルはインプ リ メンテーシ ョ ンの段階ごと
に自動的に作成されます。
プロジェク ト モード と同じ
表 3‐1: プロジェク ト モード と非プロジェク トモードのコマンド (続き)
動作 プロジェク ト モードのコマンド 非プロジェク ト モードのコマンド
システム レベル デザイン入力 74UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 3 章:ソース ファイルの操作
次は、 さまざまなソース ファ イルを読み込む非プロジェク ト モードのスク リプ ト例です。
# 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, check against the UltraFast methodology checks, report utilization and timing estimates, write checkpoint design#opt_designreport_methodology -file $outputDir/post_opt_methodology.rptplace_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
システム レベル デザイン入力 75UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4章
RTL デザインのエラボレーシ ョ ン
概要
Vivado® Design Suite では、デザインが 3 つの方法 (エラボレート された RTL デザイン、合成後のデザイン、配置配線
後のデザイン) で表示できます。
上位デザインの RTL エラボレーシ ョ ンでは、 RTL リ ン ト チェッ クの実行、 高度な 適化の実行、 RTL へのロジッ
クの自動推論、 デザイン データ構造の構築が実行されるほか、 オプシ ョ ンでデザイン制約が適用されます。 デフォ
ルトのアウ ト オブ コンテキス ト デザイン フローでは、 IP コア、 ブロ ッ ク デザイン、 DSP モジュール、 または階層
ブロ ッ クを含む、 合成済みのデザイン チェッ クポイン ト (DCP) をエラボレート されたデザインに含めるこ と もでき
ます。
ヒン ト : エラボレート されたデザインにアウ ト オブ コンテキス ト モジュールを含める と、 Vivavo ツールでは 新で
はないモジュールすべてが合成されるので、 エラボレーシ ョ ン プロセスに時間がかる可能性があ り ます。 この機能
は [Settings] ダイアログ ボッ クスの [Elaboration] タブでオン/オフの切り替えができます。 詳細は、 「エラボレーシ ョ
ン設定」 を参照してください。
Vivado Design Suite には、 RTL デザインの解析機能が多く含まれます。 たとえば、 次のよ うな機能があ り ます。
• [Schematic] および [Hierarchy] ウ ィンド ウを使用したデザイン詳細の視覚化
• ウ ィンド ウ間のクロスプローブ
• デザイン ルール チェッ ク (DRC) の実行
• メ ッセージのチェッ ク
• [Find] コマンドを使用した生成された RTL ネッ ト リ ス トの検索
• RTL レベルでの制約の作成および適用
注記: この段階ではタイ ミ ング解析は実行できません。
プロジェク ト モードでのデザインのエラボレーシ ョ ン
プロジェク トでイネーブルになっている RTL ソース ファ イルは、 合成中に自動的にエラボレート されます。 ソース
ファ イルは、 制約の適用および RTL ネッ ト リ ス ト確認のために手動でエラボレートするこ と もできます。 エラボ
レーシ ョ ンおよびコンパイルに関する メ ッセージは、 [Messages] ウ ィンド ウに表示されます。 エラボレーシ ョ ンに使
用される HDL 言語は、 [Project Settings] ダイアログ ボッ クスの [General] ページで選択できます。 詳細は、 第 2 章の
「[General] ページ」 を参照してください。
システム レベル デザイン入力 76UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
エラボレーシ ョ ン結果は、 デザインと一緒には保存されません。 エラボレート されたデザインを開くたびに、 エラ
ボレーシ ョ ンが再実行されます。 ただし、 エラボレート されたデザインで作成された制約は保存できます。
デザイン ソース ファ イルをプロジェク トにインポート したら、 次のいずれかのコマンドを使用してデザインをエラ
ボレート して開きます。
• [Flow] → [Open Elaborated Design] をク リ ッ ク します。
• Flow Navigator の [RTL Analysis] セクシ ョ ンで [Open Elaborated Design] をク リ ッ クする と、 エラボレート済み
ネッ ト リ ス ト 、 アクティブな制約セッ トおよびターゲッ ト デバイスがメモ リに読み込まれます。
エラボレートするデザイン名を指定するには、 次のいずれかの方法を使用します。
• [Flow] → [New Elaborated Design] をク リ ッ ク します。
• Flow Navigator の [RTL Analysis] 右ク リ ッ ク メニューから [New Elaborated Design] をク リ ッ ク します。
デザイン ソースにアウ ト オブ コンテキス ト モジュール、 IP コア、 ブロ ッ ク デザイン、 DSP モジュールがある場合
は、 メ ッセージがエラボレート されたデザインを開いたと きに表示される可能性があ り ます。 このメ ッセージは、
[Elaboration Settings] ダイアログ ボッ クスの [Link IP from OOC runs] および [Load constraints] オプシ ョ ンを選択してい
る場合、 エラボレート されたデザインを開くのに時間がかかる可能性があるこ とを示しています。 エラボレーシ ョ
ンをスピードアップさせるには、 これらオプシ ョ ンをオフにしてください。 詳細は、 「エラボレーシ ョ ン設定」 を参
照してください。
エラボレート されたデザインを開く と、 RTL ソース ファ イルがチェッ クおよびコンパイルされ、 上位回路図が生
成され、 デフォルトのビュー レイアウ トでデザインが表示されます。
X-Ref Target - Figure 4-1
図 4‐1: エラボレート されたデザインに関するメ ッセージ
システム レベル デザイン入力 77UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
ほとんどの場合、 Vivado IDE で自動的に 上位モジュールが検出されます。 候補が複数ある場合は、 その中から選
ぶよ うに、 メ ッセージが表示されます。 上位モジュールは、 [Sources] ウ ィンド ウで右ク リ ッ ク し [Set as Top] コマ
ンドを使用して手動で定義するこ と もできます。
注記: [Sources] ウ ィンド ウの [Hierarchy] タブでは、 上位モジュールが アイコンで表示されます。
プロジェク ト モードでのデザイン エラボレーシ ョ ンに使用する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : synth_design -rtl -name <project_name>
• Tcl コマンドの例: synth_design -rtl -name rtl_1
エラボレーシ ョ ン メ ッセージの表示
[Messages] ウ ィンド ウにコンパイル結果が表示され、 RTL ソース ファ イルに問題がある場合は [Elaborated Design] セ
クシ ョ ンの下に表示されます。
[Messages] ウ ィンド ウでフ ィルター機能を利用して、 RTL エラボレーシ ョ ンの結果から メ ッセージをタイプ別に表示
できます。 [Messages] ウ ィンド ウの上部にあるチェッ ク ボッ クスのオン/オフを切り替え、 エラー、 ク リ ティカル警
告、 警告、 情報メ ッセージを表示/非表示にします。
[Messages] ウ ィンド ウでエラーまたは警告メ ッセージを選択する と、 該当する RTL ソース ファ イルが Vivado IDE テ
キス ト エディ ターに読み込まれ、 問題のソース コードがハイライ ト されます。
X-Ref Target - Figure 4-2
図 4‐2: [Schematic] ウィンドウのエラボレート されたデザイン
システム レベル デザイン入力 78UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
RTL ロジック階層の解析
Vivado IDE には、 デザインのロジッ ク階層を表示する複数のビューがあ り ます。
• [Netlist View]: RTL 階層およびプリ ミ ティブの展開可能なロジッ ク ツ リーが表示されます。
• [Hierarchy View]: ロジッ ク階層がグラフ ィカルに表示されます。
• [Schematic View]: 展開可能な回路図表記でロジッ クおよび階層が表示されます。
デフォルトでは Flow Navigator で [Open Elaborated Design] をク リ ッ ク してデザインをエラボレートする と、 [RTL
Schematic] ウ ィンド ウにデザイン全体が表示されます。 1 つのウ ィンド ウで選択したオブジェク トはほかのウ ィンド
ウでも選択され、 ロジッ ク デザインを解析しやすくなっています。 詳細は、 『Vivado Design Suite ユーザー ガイ ド :
Vivado IDE の使用』 (UG893) [参照 6] を参照してください。
エラボレート されたデザイン回路図の解析
[RTL Netlist] ウ ィンド ウで任意のロジッ ク階層を選択し、 [RTL Schematic] ウ ィンド ウで表示できます。 選択したロ
ジッ クの [RTL Schematic] ウ ィンド ウを開くには、 次のいずれかを実行します。
• [Tools] → [Schematic] をク リ ッ ク します。
• [Netlist] ウ ィンド ウで右ク リ ッ ク し [Schematic] をク リ ッ ク します。
RTL 回路図の移動、 拡張、 確認に関しては 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参
照 6] のこのセクシ ョ ンを参照してください。
また、 [Find] コマンドのさまざまなフ ィルター機能を使用し、 エラボレート されたデザインでロジッ ク オブジェク
ト を検索できます。 詳細は 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] のこのセク
シ ョ ンを参照してください。
[Hierarchy] ウィンドウ
Vivado IDE には、 デザインの階層を表示するのに便利な [Hierarchy] ウ ィンド ウが含まれます。 選択したロジッ クの
[Hierarchy] ウ ィンド ウを開くには、 次のいずれかを実行します。
• [Tools] → [Show Hierarchy] をク リ ッ ク します。
X-Ref Target - Figure 4-3
図 4‐3: エラボレート されたデザインのメ ッセージ
システム レベル デザイン入力 79UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
• [Netlist] または [Schematic] ウ ィンド ウで右ク リ ッ ク し [Show Hierarchy] をク リ ッ ク します。
これらのウ ィンド ウでは、 ク ロスプローブがサポート されています。 [Netlist] または [Schematic] ウ ィンド ウでロジッ
クを選択する と、 それが [Hierarchy] ウ ィンド ウでハイライ ト されます。
RTL ソース ファイルの解析
[Netlist] または [Schematic] ウ ィンド ウでロジッ ク エレ メン ト を選択し、 インスタンシエート されている RTL ソース
ファ イルでそのオブジェク トのインスタンシエーシ ョ ンを開く こ とができるほか、 RTL ファ イルのロジッ クの定義
を開く こ とができます。
選択したロジッ クのインスタンシエーシ ョ ンまたは定義を RTL ソース ファ イルで開くには、 オブジェク ト を右ク
リ ッ ク して [Go To Source] または [Go To Definition] をク リ ッ ク します。 ソース ファ イルが開き、該当するインスタン
スがハイライ ト されます。
設計手法チェ ックの実行
Vivado Design Suite で [Report Methodology] コマンドを使用する と、 『UltraFast™ 設計手法ガイ ド (Vivado Design Suite
用)』 に基づいた自動化された設計手法チェッ クが実行されます。
設計手法レポートは、 開いているエラボレート済み、 合成済み、 またはインプリ メン ト済みのデザインに対して生
成できます。 エラボレート済みのデザインの場合、 設計手法レポートでは XDC と RTL ファ イルがチェッ ク されま
す。 Tcl コマンドを使用した設計手法チェッ クの実行に関する詳細は、 『Vivado Design Suite Tcl コマンド リ ファレン
ス ガイ ド』 (UG835) [参照 4] のこのセクシ ョ ンを参照してください。
推奨: 設計手法チェッ クを実行する と、 合成前のエラボレーシ ョ ン段階で早期にデザインの問題を発見できるので、
設計全体の時間を節約できます。 デザインでこれらのチェッ クを実行して、 問題を解決しておく こ とをお勧めしま
す。
[Report Methodology] の実行
1. Flow Navigator の [RTL Analysis] の下の [Open Elaborated Design] をク リ ッ ク します。
2. デザインがエラボレート されたら Flow Navigator の [RTL Analysis] の下の [Report Methodology] をク リ ッ ク しま
す。 または、 [Report] → [Report Methodology] をク リ ッ ク します。
注記: または、 Tcl コンソールに report_methodology -name <results_name> と入力します。
3. [Report Methodology] ダイアログ ボッ クスで次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。
° [Results name]: DRC 結果の名前を指定します。 こ こで指定した名前が [Methodology] ウ ィンド ウのビューに
表示されます。 わかりやすい名前にしておく と、 デバッグ中に特定 run が識別しやすくな り ます。
° [Output file]:ファ イルをレポートに書き出すには、 [Export to file] をオンにしてファイル名を入力します (オ
プシ ョ ン)。 デフォルト以外のパスを選択する場合は、 参照ボタンを使用してください。
° [Interactive report file]: レポートがファ イルに保存されます。
° [Rules]: 実行する run を指定できます。
° [New tab]: デフォルトでは、 レポート ごとに新しいタブが作成されるよ うになっています。 このオプシ ョ ン
をオフにするには、 [Open in a new tab] をオフにします。
システム レベル デザイン入力 80UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
設計手法レポートの解析
違反があれば、 [Methodology] ウ ィンド ウが開きます。 このウ ィンド ウには、 違反がさまざまな規則ごとに分類され
て表示されます。
X-Ref Target - Figure 4-4
図 4‐4: [Report Methodology] ダイアログ ボックス
X-Ref Target - Figure 4-5
図 4‐5: エラボレート されたデザインの違反を示す [Methodology] ウィンドウ
システム レベル デザイン入力 81UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
DRC のレポート
このセクシ ョ ンでは、 Vivado IDE でデザイン ルール チェッ ク (DRC) のルールを選択して DRC 違反を解析する方法
について説明します。 Tcl コマンドを使用した DRC の実行に関する詳細は、 『Vivado Design Suite Tcl コマンド リ ファ
レンス ガイ ド』 (UG835) [参照 4] のこのセクシ ョ ンを参照してください。 カスタム DRC の作成については、 『Vivado
Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 3] を参照してください。
推奨: RTL DRC を実行する と、 合成前のエラボレーシ ョ ン段階で早期にデザインの問題を発見できるので、 設計全体
の時間を節約できます。
DRC ルールの選択
1. Flow Navigator の [RTL Analysis] の下の [Open Elaborated Design] をク リ ッ ク します。
2. デザインがエラボレート されたら Flow Navigator の [RTL Analysis] の下の [Report DRC] をク リ ッ ク します。 また
は、 [Reports] → [Report DRC] をク リ ッ ク します。
注記: または、 Tcl コンソールに 「report_drc -name <results_name>」 と入力します。
3. [Report DRC] ダイアログ ボッ クスで次のオプシ ョ ンを設定し、 [OK] をク リ ッ ク します。
° [Results name]: DRC 結果の名前を指定します。 こ こで指定した名前が [DRC] ウ ィンド ウのビューに表示さ
れます。 わかりやすい名前にしておく と、 デバッグ中に [DRC] ウ ィンド ウで特定の run を識別しやすくな
り ます。
° [Output file]: DRC 結果を保存する際のファイル名を入力できます (オプシ ョ ン)。 デフォルト以外のパスを選
択する場合は、 参照ボタンを使用してください。
° [Interactive Report File]: 指定したファイル名で結果がザイ リ ンクス RPX ファ イルに書き込まれます。 RPX
ファ イルはインタラ クティブ レポートで、 すべてのレポート情報が含まれ、 open_report コマンドを使
用して Vivado Design Suite のメモ リに読み込み直すこ とができます。
° [Waivers]
- [Apply waivers]: 表示しない DRC を設定した除外設定を使用します。 詳細は、 『Vivado Design Suite ユー
ザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906) [参照 17] のこのセクシ ョ ンを参照し
てください。
注記: [Display only waived violations] を使用する と、除外設定した違反のみが [Results] ウ ィンド ウに表示
されます。
- [Ignore all waivers]: 作成した除外設定を無視します。
° [Rule Decks]: デザインで実行するルール デッ クを指定します。 ルール デッ クは、 一部のデザイン ルール
チェッ クをま とめたコレクシ ョ ンです。 エラボレーシ ョ ン中には、 デフォルトのルール デッ ク しか使用で
きません。 ルール デッ クは、 合成やインプリ メンテーシ ョ ンの後など、 FPGA デザイン フローのさまざま
な段階で使用できます。
- [default]: ザイ リ ンクスの推奨するチェッ クのデフォルト セッ ト を実行します。
- [opt_checks]: ロジッ ク 適化に関するチェッ クを実行します。
- [placer_checks]: 配置に関するチェッ クを実行します。
- [router_checks]: 配線に関するチェッ クを実行します。
- [bitstream_checks]: ビッ ト ス ト リーム生成に関するチェッ クを実行します。
- [timing_checks]:タイ ミ ング制約に関するチェッ クを実行します。
システム レベル デザイン入力 82UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
注記: timing_checks ルール デッ クはエラボレート されたデザインではサポート されません。
- [incr_eco_checks]: インク リ メンタル ECO (Engineering Change Order) デザインの変更が有効かど うかが
チェッ ク されます。
- [eco_checks]: ECO (Engineering Change Order) デザインの変更が有効かど うかが確認されます。
注記: エラボレート済みデザインには、 デフォルトのルール デッ ク しか使用できません。
° [Rules]: ルール デッ クを指定したら、 必要に応じて実行するルールを変更します。
DRC 違反の解析
DRC で違反が検出された場合、 [DRC] ウ ィンド ウが表示されます。 [DRC] ウ ィンド ウには、 検出されたルール違反
が [Run DRC] ダイアログ ボッ クスで定義された違反カテゴ リ別に表示されます。
X-Ref Target - Figure 4-6
図 4‐6: [Report DRC] ダイアログ ボックス
システム レベル デザイン入力 83UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
ルール違反はその重要度によって分類されており、 次のよ うに色分け表示されます。
• [Advisory]: デザイン プロセスに関する一般的なステータスおよびフ ィードバッ クを示します。
• [Warning]: 制約または仕様が意図したとおりに適用されていないために、 適なデザイン結果にならない可能性
を示します。
• [Critical warning]: ユーザー入力または制約に適用されないものがあったり、 適切な方法に従っていないものがあ
るこ とを示します。 これらの問題は見直して変更するこ とをお勧めします。
注記: ク リ ティカル警告は、 ビッ ト ス ト リーム生成時にはエラーになり ます。
• [Error]: デザイン結果が使用できない状態になり、 ユーザーが対処しないと回避されない問題を示します。 デザ
イン フローは停止します。
ヒン ト : 1 つのメ ッセージ タイプのみを表示するには、 [Messages] ウ ィンド ウのバナーでそのメ ッセージ タイプをダ
ブルク リ ッ ク します。 たとえば、 [errors] をダブルク リ ッ クする と、 エラー メ ッセージのみを表示できます。
DRC 違反は個別にリ ス トできるほか、 ルール別に分類できます。 表示を変更するには、 [Group By Rule] ツールバー
ボタン をク リ ッ ク します。 違反が個別にリ ス ト される場合は、 [Severity] 列のヘッダーをク リ ッ クする と、 違反
の重要度別に並べ替えるこ とができます。 列は、 次のよ うに分類できます。
• 列ヘッダーをク リ ッ クする と、 昇順にデータが並べ替えられます。
• 列ヘッダーをも う一度ク リ ッ クする と、 降順にデータが並べ替えられます。
注記:詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 6] を参照してください。
[DRC] ウ ィンド ウで違反メ ッセージをク リ ッ クする と、 その違反に関連するオブジェク トが [Netlist] や [Schematic]
など、 別の開いているウ ィンド ウでも選択されます。 これによ り、 特定の違反に関するデザイン エレ メン ト をすば
やく見つけて、 確認できます。
X-Ref Target - Figure 4-7
図 4‐7: エラボレート されたデザインの DRC 違反を示す [DRC] ウィンドウ
システム レベル デザイン入力 84UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
違反プロパティは [Violation Properties] ウ ィンド ウにデフォルトで表示されます。 また、 [DRC] ウ ィンド ウで右ク
リ ッ ク し [Violation Properties] をク リ ッ ク して、 [Violation Properties] ウ ィンド ウを開く こ と もできます。 このウ ィン
ド ウには、 DRC ルール違反の概要 ([General] ビュー )と、 違反しているデザイン エレ メン トの詳細 ([Details] ビュー )
が表示されます。 [Details] ビューには、 DRC に違反している特定のデザイン オブジェク トへのリ ンクがあ り ます。
リ ンクをク リ ッ クする と、 そのデザイン オブジェク トが [Netlist] ウ ィンド ウ、 [Device] ウ ィンド ウ、 [Schematic] ウ ィ
ンド ウ、 およびソース RTL ファ イルで選択されます。
RTL DRC を実行する Tcl コマンド
次は、 関連する Tcl コマンドです。
• Tcl コマンド : report_drc
• Tcl コマンドの例: report_drc -name drc_1
注記:デフォルトでは、 テキス ト ベースのレポートが出力されます。 -name オプシ ョ ンを使用する と、 そのレポー
ト用にインタラ クティブなタブを作成できます。
X-Ref Target - Figure 4-8
図 4‐8: [Violation Properties] ウィンドウ
システム レベル デザイン入力 85UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 4 章:RTL デザインのエラボレーシ ョ ン
非プロジェク ト モードでのデザインのエラボレーション
非プロジェク ト モードでは、 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#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
システム レベル デザイン入力 86UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 5章
デザインのデバッグ
概要
FPGA デザインのデバッグは複数の手順の繰り返しプロセスです。 ほとんどの複雑な問題と同様、 一度にデザイン
全体を処理するのではなく、 FPGA デザインのデバッグ プロセスを小さ く分け、 小さいセクシ ョ ンごとに 1 つずつ
処理していくのが 適な方法です。 問題のなかったデザイン例とデバッグ方法をデザイン フローを通して繰り返し
使用し、 1 つずつモジュールを追加していって、 デザイン全体でう ま く動作するかど うかその都度確認します。 この
設計およびデバッグ手法は、 次のデザイン フロー段階のどの組み合わせででも使用できます。
• RTL レベルのデザイン シ ミ ュレーシ ョ ン
• インシステム デバッグ
Set up Debug ウ ィザードまたは Tcl コマンドを使用する と、 デバッグ コアを作成、 接続し、 合成済みデザイン ネッ ト
リ ス トに挿入できます。 デバッグの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』
(UG908) [参照 20] を参照してください。
RTL レベルのデザイン シミ ュレーシ ョ ン
シ ミ ュレーシ ョ ン検証プロセス中は、 デザインを機能的にデバッグできます。 Vivado® シ ミ ュレータ には、 完全な
デザイン シ ミ ュレーシ ョ ン機能が含まれます。 Vivado シ ミ ュレータを使用する と、 デザインの RTL シ ミ ュレーシ ョ
ンを実行できます。 RTL レベル シ ミ ュレーシ ョ ン環境でデザインをデバッグする利点には、 デザイン全体を視覚化
できる点やデザインおよびデバッグ サイクルをすばやく繰り返すこ とができる点などがあ り ます。 シ ミ ュレーシ ョ
ンの設定および起動方法については、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参
照 10] を参照して ください。
インシステム デバッグ
Vivado IDE には、 インプリ メンテーシ ョ ン後の FPGA デザインをインシステムでデバッグできるロジッ ク解析機能
もあ り ます。 インシステム デバッグの利点は、 実際のシステム環境およびシステム速度でインプリ メン ト後のタイ
ミ ングの正確なデザインをデバッグできる点にあ り ます。 インシステム デバッグでは、 デザインのサイズおよび複
雑さによって、 シ ミ ュレーシ ョ ン モデルを使用した場合と比べてデバッグ信号の表示精度が落ちたり、 デザイン、
インプ リ メンテーシ ョ ン、 デバッグの繰り返しに時間がかかるこ とがあ り ます。
システム レベル デザイン入力 87UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
第 5 章:デザインのデバッグ
Vivado IDE には、 デザインをデバッグする方法が複数あ り ます。 必要に応じて、 これらの方法のいずれかを使用し
てデザインをデバッグできます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』
(UG908) [参照 20] を参照してください。
システム レベル デザイン入力 88UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A
ボード ファイル
概要
ザイ リ ンクス デバイスを使用した、 または含めたシステムレベルのボードに関する情報を定義するため、 ボード
ファ イルでは XML フォーマッ トが使用されます。 ボード ファ イルに含められる情報は、 ザイ リ ンクス デバイスと
ボードを接続しやすく し、接続を検証するために Vivado® Design Suite および Vivado IP インテグレーターで使用され
ます。 この章では、 ボード ファ イルの各セクシ ョ ンとその内容について説明します。
この付録の中の例では、 ボード ファ イルの詳細を示すために、 ザイ リ ンクス Kintex®-7 KC705 評価ボードを使用し
ています。 この評価ボードは、 Vivado Design Suite のインス トール ディ レク ト リの次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/boards/board_files/kc705/<board_version>
<install_dir> は Vivado Design Suite がインス トールされているディ レク ト リ を指し、 <version> はソフ ト ウェア バー
ジ ョ ンを、 <board_version> はボードの 新バージ ョ ンを指しています。
ヒン ト : 新しいボード ファ イルを作成するには、 XML エディ ターまたはテキス ト エディ ターを使用して、 インス
トール ディレク ト リにある既存の Vivado Design Suite ボード ファ イルを変更するのが一番簡単です。
ボード ファ イルでは、 ボードの定義に標準 XML エレ メン トが使用されます。 ボードのエレ メン ト を定義するため
XML タグを使用し、 開きタグと閉じタグの両方を記述する必要があ り ます。
<board></board>
次のよ うに、 エレ メン トの階層を定義するには、 ボード ファ イルのエレ メン トに、 下位エレ メン ト、 または含まれ
ているエレ メン ト を使用できます。
<board><component><pins></pins>
</component> </board>
中に何もないエレ メン ト、 または入れ子になったエレ メン トがないエレ メン トは、 閉じタグを使用せずに、 別の構
文を使用して閉じるこ とができます。 こ う したエレ メン トには次の構文が使用されます。
<net index="17" typical_delay="6" min_delay="4" max_delay="8"/>
タグの終わりに含まれるスラ ッシュ (/) は、 行の終わり を示します。 KC705 ボード ファ イルの例にも、 この構文がと
きどき使用されています。
システム レベル デザイン入力 89UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
タグで定義されるボード エレ メン トには、 次のよ うに属性を設定するこ と もできます。
<board name=”XYZ” version=”1.2”>
属性値は 「name="KC705"」 のよ うに、 引用符で囲む必要があ り ます。
重要: XML では大文字/小文字が区別されるので、 タグも属性も仕様どおりに入力してください。
XML 規格およびルールに関しては、 http://www.w3.org/XML/ などを参考にしてください。
プラッ ト フォーム ボード フローの理解
Vivado Design Suite では、 ザイ リ ンクス ターゲッ ト デザイン プラ ッ ト フォーム (TDP) ボード、 またはボード ファ イ
ル フォーマッ トで定義されたボードのリポジ ト リに追加済みのボードを使用して、 プロジェク ト を作成できます。
特定のボードを選択する と、 Vivado デザイン ツールの追加機能が使用できるよ うにな り、 IP カスタマイズ機能の一
部である設計アシスタンス、 IP インテグレーター デザインを作成する機能などが利用できます。 詳細は、 『Vivado
Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] の第 10 章を
参照して ください。
注記: FMC カードは、 ボード フローでもサポート され、 ほかのボード ファ イルと同じ XML 構文を使用します。 詳細
は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13]
を参照して ください。
システム レベル デザイン入力 90UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
プラッ ト フォーム ボード フローのエレメン ト
Vivado Design Suite プラ ッ ト フォーム ボード フローで使用されるファ イルには次のものがあ り ます。
• ボード ファ イル: この付録で説明されているファイルで、 board.xml という名前を付ける必要があ り ます。 こ
のファ イルでは、 ザイ リ ンクス デバイスをはじめとするシステムレベルのボードで使用されているコンポーネ
ン トがリ ス ト され、 これらのコンポーネン トでサポート されている動作モードが定義され、 これらのコンポーネ
ン トによ り インプリ メン ト される信号インターフェイスがリ ス ト され、 デザイン プロジェク トにこれらのイン
ターフェイスをインプリ メン トするために優先される IP がリ ス ト され、 ザイ リ ンクス デバイスの物理ポートお
よびコンポーネン トにインターフェイスで定義されている論理ポートがマップされます。
ザイ リ ンクス標準ボード定義は、 Vivado Design Suite のインス トール ディ レク ト リの次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/boards/board_files
<install_dir> は Vivado Design Suite がインス トールされているディ レク ト リ を指し、 <version> はソフ ト ウェア
バージ ョ ンを指しています。
ユーザー定義のボード ファ イルは、 ザイ リ ンクス標準ボード定義ファイルをカスタマイズの開始点と して使用
する と作成できます。 ユーザー定義またはサードパーティのボード ファ イルおよび関連ファイルは、 Vivado
ツールを起動する と きに次のパラ メーターを設定しておく と、 ボード リ ポジ ト リに追加され、 Vivado Design
Suite で使用できるよ うになり ます。
set_param board.repoPaths [list “<path1>” “<path2>” “...”]
<path> には、board.xml で参照される part0_pins.xml や preset.xml など、1 つまたは複数のボード ファ
イルを含むディ レク ト リへのパスを指定します。 このパスには、 それぞれにボード ファ イルが保存されている
サブディ レク ト リ を含むディ レク ト リ を指定するこ と もできます。 次に例を示します。
set_param board.repoPaths [list "C:/Data/usrBrds" "C:/Data/othrBrds"]
ヒン ト : Vivado Design Suite を起動した後に、 Vivado_init.tcl ファ イルで board.RepoPaths パラ メーターを設定す
る必要があ り ます。 Vivado_init.tcl ファ イルの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』
(UG835) [参照 4] のこのセクシ ョ ンを参照して ください。
• ピン ファ イル: ボード ファ イルの <port_map> にある、 ザイ リ ンクス デバイスのコンポーネン ト ピン名をデバイ
ス パッケージの物理ピン ロケーシ ョ ンにマップします。 これによ り、 ザイ リ ンクス デバイスに入ってく る信号
の I/O をパッケージされているパーツのピンに割り当てやすくな り ます。 このファ イルは、 ボード リ ポジ ト リ
のボード ファ イルと同じフォルダーまたはディ レク ト リにあ り ます。
• プリセッ ト ファ イル: デザイン プロジェク トでバス インターフェイスをインプリ メン トするのに使用される IP
に対してあらかじめ定義されている IP 設定オプシ ョ ンがリ ス ト されます。 このプ リセッ ト ファ イルは、 IP カタ
ログの IP をカスタマイズし、 デザインに追加する と きに、 Vivado Design Suite によって使用されます。 このファ
イルは、 ボード リ ポジ ト リのボード ファ イルと同じフォルダーまたはディ レク ト リにあ り ます。
• インターフェイス ファ イル: 信号の論理ポートおよび属性を定義します。 バス インターフェイスは、 機能を共有
する信号のグループです。 インターフェイス定義を使用して機能が共通の信号をまとめる と、 Vivado IP インテ
グレーターのブロ ッ ク図で IP を接続しやすくな り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP イン
テグレーターを使用した IP サブシステムの設計』 (UG994) [参照 13] のこのセクシ ョ ンを参照してください。
ザイ リ ンクス標準インターフェイス定義は、 Vivado Design Suite のインス トール ディ レク ト リの次の場所にあ り
ます。
<install_dir>/Vivado/<version>/data/ip/interfaces
システム レベル デザイン入力 91UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
また、『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成とパッケージ』 (UG1118) [参照 12] のこのセクシ ョ
ンで説明されているよ うに、 Vivado IP パッケージャーを使用してカスタム インターフェイスを定義するこ と も
できます。
• IP ファ イル: IP 定義は、 IP-XACT 規格に基づいた XML ファ イル component.xml に保存されます。 このファイ
ルには、 システムレベル ボードによ り インプリ メン ト されているインターフェイスに接続可能な、 IP コアの論
理ポートおよびバス インターフェイスが リ ス ト されます。
ザイ リ ンクス IP 定義は、 Vivado Design Suite のインス トール ディ レク ト リの次の場所にあ り ます。
<install_dir>/Vivado/<version>/data/ip/interfaces
ボード ファイルの定義
<board>
<board> タグはボード ファ イルのルートです。 ボードに関する基本情報を設定する属性が含まれています。
<board schema_version="2.1" vendor="xilinx.com" name="kc705" display_name="Kintex-7 KC705 Evaluation Platform" url="www.xilinx.com/kc705" preset_file="preset.xml" image="kc705_board.jpeg"><file_version>1.2</file_version><description>Kintex-7 KC705 Evaluation Platform</description>
システム レベル デザイン入力 92UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<board> の属性およびその使用方法は次のとおりです。
<board> の定義では、 schema_version、 vendor、 name、 display_name、 <file_version>、 および
<compatible_board_revisions> は必須です。
ヒン ト : preset_file= 属性はオプシ ョ ンですが、 ジェネ リ ッ ク プリセッ ト をサポートするのに必要です。 詳細は、 「プ
リセッ ト ファ イルについて」 を参照してください。
表 A‐1: <board> の属性およびタグ
タグ 使用法 例 (KC705)
schema_version= ボード ファ イルのスキーマ バージ ョ ン
です。 スキーマの 新バージ ョ ンは 2.1
です。
schema_version="2.1"
vendor= ボード プロバイダーのウェブ アドレス
です。
vendor="xilinx.com"
name= ボードを選択するためのキーとなる短
い名前です。 この章で後述されるボー
ドの説明とは異なり ます。
name="kc705"
display_name= Vivado IDE でボードを選択するダイア
ログ ボッ クスに表示されるボード リ ス
トの [Display Name] 列に表示される名前
です。
display_name="Kintex-7 KC705 Evaluation
Platform"
url= ボード情報が記載されているウェブ ア
ドレスです。
url="www.xilinx.com/kc705"
preset_file= プリセッ ト ファ イル名です。 このファ
イルには各インターフェイスのすべて
のプリセッ ト値がリ ス ト されています。
preset_file に関しては、 「プ リセッ ト
ファ イルについて」 を参照して くださ
い。
preset_file="preset.xml"
image= Vivado IDE の [Project Summary] ウ ィン
ド ウにボードを表示する と きに使用さ
れる JPG ファ イルを指定します。
kc705_board.jpeg
<file_version> 「version.revison 」 とい う形式でボード
ファ イルのバージ ョ ンを指定します。
<file_version>は、 現在のボード ファ イ
ルに変更を加えるたびに値が大き く
なっていくはずです。
• マイナーな変更の場合は、 リ ビジ ョ
ンをアップデート して ください。
• 大きな変更の場合は、 バージ ョ ンを
アップデート して ください、
1.2
<description> ファ イルで定義されているボードの概
要です。
Kintex-7 KC705 Evaluation Platform
システム レベル デザイン入力 93UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
ボード ファイルの第 1 レベルのタグ
次の表には、 ボード ファ イルの <board> タグに第 1 レベルのタグがリ ス ト されています。
<compatible_board_revisions>
このタグには、 現在のボード ファ イルが適用されるボード と互換性のある リ ビジ ョ ンが リ ス ト されます。 物理的な
ボードが変更される と、 ボード ファ イルも変更される可能性があ り、 結果と してボードの <file_version> が新し くな
る可能性があ り ます。 ただし、 ボード ファ イルへの変更によっては物理的なボードの変更が不要なものがあったり、
物理的なボードの変更にはボード ファ イルのアップデートが不要なものもあ り ます。 このため、 1 つのボード ファ
イルで 1 つの物理的なボードの複数のリ ビジ ョ ンをサポートできます。
ヒン ト : ボードへのリ ビジ ョ ンは、 ボード ファ イルへのリ ビジ ョ ンを伴わずに、 加えるこ とが可能です。 そのため、
1 つのボード ファイルを使用して複数のボード リ ビジ ョ ンを定義できます。
<compatible_board_revisions> タグには、 サポート されるボード リ ビジ ョ ンを リ ス トする <revision> タグを 1 つ以上含
めるこ とができます。
<revision id=”0”>1.1</revision>
<revision> タグには、 <compatible_board_revisions > タグにリ ス ト されている各リ ビジ ョ ンのインデッ クス ID が含まれ
ます。 次の例では、 ID が 0、 サポート されるボードのリ ビジ ョ ンが 1.1 になっています。
<compatible_board_revisions><revision id="0">1.1</revision>
</compatible_board_revisions>
表 A‐2:第 1 レベルのタグ
タグ 使用方法/説明
<compatible_board_revisions> 指定のボード ファ イルの対象となるボードのすべてのリ ビジ ョ ンを リ ス ト
します。 詳細は、 「<compatible_board_revisions>」 を参照して ください。
<parameters> ボードの機能またはプロパティを定義します。 詳細は、 「<parameters>」 を参
照して ください。
<jumpers> ボードで検出されるジャンパーを定義します。 詳細は、 「<jumpers>」 を参照
して ください。
<components> ボードにあるさまざまなコンポーネン ト を定義します。 コンポーネン トに
は、 FPGA デバイス、 DDR、 QSPI フラ ッシュ、 FMC などが含まれます
( 「<component>」 を参照)。
<jtag_chains> ボードには複数の JTAG チェーンを指定できます。各チェーンには、 Vivado
ハードウェア ツールで検出可能な複数のコンポーネン ト を含めるこ とがで
きます。 この <jtag_chains> タグは JTAG チェーンの各コンポーネン トの位
置を指定します。 詳細は、 「<jtag_chains>」 を参照してください。
<connections> コンポーネン ト間の接続、 たとえば part0(FPGA) と LED 間の接続を記述し
ます。 詳細は、 「<connections>」 を参照して ください。
<ip_associated_rules> 特定 IP に使用可能なボード インターフェイスの選択肢を制限します。 詳細
は、 「<ip_associated_rules>」 を参照してください。
システム レベル デザイン入力 94UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<parameters>
<parameters> タグは、 ボードのさまざまなパラ メーターを リ ス トするのに使用します。 この中で、 ボードのさまざま
な機能やプロパティを定義する <parameter> タグを 1 つまたは複数入れ子にできます。
各 <parameter> には、 「<parameters> の属性」 で定義されている複数の属性が含まれます。
<parameters><parameter name="heat_sink_type" value="medium" value_type="string"/><parameter name="heat_sink_temperature" value_type="range" value_min="20.0"value_max="30.0"/>
</parameters>
<jumpers>
<jumpers> セクシ ョ ンには、 ボードの <components> または <interfaces> に影響する可能性のあるボード上のジャン
パーがリ ス ト されます。 <jumpers> タグには複数の <jumper> タグが含まれます。
ヒン ト : ボードのスイ ッチも <jumpers> タグを使用して定義されるこ とに留意してください。
<jumpers><jumper name="SW13_M0" default_value="false"><description>Impacts connection between flash_qspi and flash_bpi.If value=true, flash_qspi will be enabled</description>
</jumper><jumper name="SW13_M1" default_value="true"><description>Impacts connection between flash_qspi and flash_bpi.If value=true, flash_bpi will be enabled</description>
</jumper></jumpers>
<jumper> の属性およびタグを次に説明します。
表 A‐3: <parameters> の属性
タグ 使用方法/説明 例 (KC705)
name= 接続されている IP コアをコンフ ィギュ
レーシ ョ ンするために使用されるイン
ターフェイス パラ メーターの名前。
name=”heat_sink_temperature”
value_type= string または range のパラ メーター タイ
プを設定。
value_type=”range”
value= string タイプのパラ メーターの値を定
義。
value=“medium”
value_min=/value_max= range タイプのパラ メーターの 小値お
よび 大値を設定。
value_min="20.0"
value_max="30.0"
表 A‐4: <jumper> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
name= ボードのジャンパーまたはスイ ッチの
名前。
name=”SW13_M0”
システム レベル デザイン入力 95UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<component>
重要: <component> セクシ ョ ンは、 ボード上のコンポーネン ト を定義するだけでなく、 コンポーネン トの動作モード、
それらの動作モードをイネーブルにするために必要な設定を定義する点から、 ボード ファ イルの重要なセクシ ョ ン
です。
このセクシ ョ ンには、 ボード上にあるすべてのコンポーネン トがリ ス ト され、 その詳細 (パーツ名、 コンポーネン ト
タイプ、 ベンダーなど) が示されます。 コンポーネン トには、 ザイ リ ンクス FPGA、 DDR3、 Quad SPI フラ ッシュ、
イーサネッ ト PHY、 LED、 DIP スイ ッチなどがあ り ます。 <component> セクシ ョ ンには、 1 つまたは複数の
<component> タグが含まれます。
<components><component name="part0" display_name="Kintex-7 KC705 Evaluation Platform"type="fpga" part_name="xc7k325tffg900-2" pin_map_file="part0_pins.xml"vendor="xilinx" spec_url="www.xilinx.com/kc705"><description>FPGA part on the board</description>
</component><component name="ddr3_sdram" display_name="DDR3 SDRAM" type="chip" sub_type="ddr3"major_group="External Memory" part_name="MT8JTF12864HZ-1G6G1" vendor="Micron"spec_url="www.micron.com/memory"><description>1 GB DDR3 memory SODIMM </description>
</component></components>
KC705 ボード ファ イルでは、 初に宣言されているコンポーネン トは part0 で、 これはザイ リ ンクス FPGA デバイス
です。 ボード上のザイ リ ンクス FPGA は、 「fpga」 タ イプのコンポーネン ト と して リ ス ト されますが、 「part0」 から始
まって順番に名前が付けられていきます。 その他の <component> エレ メン トは、 ボード上のほかのコンポーネン ト、
およびザイ リ ンクス デバイスからボード コンポーネン トへの接続に必要なインターフェイスを定義します。
次の表に、 <component> の属性およびタグを示します。
default_value= ジャンパーまたはスイ ッチのデフォル
ト値。
default_value=”false”
<description> 指定のジャンパーがボードの接続にど
のよ うに影響するかの説明。
<description>Impacts connection between
flash_qspi and flash_bpi.If value=true,
flash_qspi will be enabled.</description>
表 A‐4: <jumper> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
表 A‐5: <component> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
name= コンポーネン トの名前。 name="part0"
display_name= Vivado IP インテグレーターの [Board] タ
ブに表示される名前。
display_name="Kintex-7 KC705 Evaluation
Platform"
システム レベル デザイン入力 96UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
type= パーツ タイプ。
“fpga” - ボード上のザイ リ ンクス FPGA
パーツを指定します。
“chip” - ボード上にチップを持つすべて
のコンポーネン ト (FPGA または FMC コ
ネクタを除く ) を定義します。
ddr3_sdram、 linear_flash などがその例で
す。
“connector” - FPGA メザニン カード
(FMC) コネクタを定義します。
type="fpga"
sub_type= コンポーネン トのサブタイプ。 sub_type="ethernet"
major_group= コンポーネン トがその一部に含まれてい
る メジャー グループ。 Vivado IP インテ
グレーターの [Board] タブでは、 この
major_group の設定に従ってボードのコ
ンポーネン トがま とめられます。 図 A-1
を参照してください。
major_group="ethernet"
part_name= パート ID。
注記: type=fpga の場合、 パーツ名はザイ リ ン
クスでサポート されている有効なパーツであ
る必要があ り ます。 そ うでないと、 ボード ファイルは Vivado Design Suite には読み込ま
れません。
part_name="xc7k325tffg900-2"
pin_map_file= 各ピンの制約が記述されているファイ
ル。 詳細は、 「<pin_map>」 を参照してく
ださい。
pin_map_file="part0_pins.xml"
vendor= パーツのベンダー。 vendor="xilinx"
spec_url= デバイス仕様またはパーツ関連情報の
URL。
spec_url="www.xilinx.com/kc705"
<description> コンポーネン トの概要を記述。 <description> FPGA device on the
board.</description>
<parameters> パラ メーター名と値の組み合わせを リ ス
ト 。
詳細や例については、 「<parameters>」 を参
照してください。
<pins> コンポーネン トのピンを リ ス ト 。 詳細および例については、 「<pins>」 を参
照してください。
<component_modes> 定義された <component> のモード。 詳細および例については、
「<component_modes>」 を参照してくださ
い。
<interfaces> 指定されたコンポーネン トによってイン
プリ メン ト されたインターフェイスを定
義。
詳細および例については、 「<interfaces>」
を参照してください。
表 A‐5: <component> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
システム レベル デザイン入力 97UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
図 A-1 に示すよ うに、 ボード ファ イルで定義されている <components> は、 Vivado IP インテグレーターの [Board] タ
ブにリ ス ト されます。 コンポーネン トは <component> エレ メン トの major_group= 属性にあわせてグループにまとめ
られ、 display_name= が表示されます。
[Board] タブでコンポーネン ト をダブルク リ ッ クする と、 [Connect Board Component] ダイアログ ボッ クスが開きます。
このダイアログ ボッ クスでは、 ブロ ッ ク図のデザイン キャンバスに追加する IP を選択して、 ボード上のコンポーネ
ン トに接続するのに必要な信号インターフェイスをインプリ メン トできます。
<parameters>
<component> のパラ メーターは、 クロ ッ ク コンポーネン トのクロ ッ ク周波数など、 コンポーネン トの詳細を指定する
ために使用します。 <parameters> セクシ ョ ンには、 1 つまたは複数の <parameter> タグを含めるこ とができます。 各
<parameter> には、 name と value 属性のペアが含まれます。
<parameters> <parameter name="frequency" value="200000000" /parameter>
</parameters>
重要: <board> オブジェク トの <parameters> には、 <component> オブジェク トの <parameters> とは異なる属性があ り ま
す。
X-Ref Target - Figure A-1
図 A‐1: Vivado IP インテグレーターの [Board] ウィンドウ
システム レベル デザイン入力 98UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<pins>
<pins> セクシ ョ ンには、 定義されている <component> のすべてのピンだけでなく、 これらのピンに関連付けられてい
るプロパティがリ ス ト されます。 <pins> セクシ ョ ンには、 1 つまたは複数の <pin> タグを入れ子にできます。
同じプロパティは <component pin_map_file=””> 属性を使用して定義できます。 ただし、 <pins> セクシ ョ ンで定義され
たプロパティ値の方が pin_map_file= で定義されたプロパティ値よ り も優先されます。
ヒン ト : <pins> セクシ ョ ンを使用して <component> のすべてのピンを定義した場合、 pin_map_file を使用する必要はあ
り ません。
<pins> セクシ ョ ンで特定の状況での特定のプロパティ値を定義するこ とによ り、 pin_map_file で定義されている (汎
用) ピン プロパティを変更できます。 たとえば、 IOSTANDARD などのプロパティの値が異なるピンがスイ ッチまた
はジャンパーを介して FPGA (またはほかのコンポーネン ト ) の同じピンを共有している場合、 同じピンのピン プロ
パティを<pins> セクシ ョ ンで定義しておく と、 それが pin_map_file で定義されたピン プロパティ よ り も優先されま
す。
<pins><pin index="0" name="rs232_uart_USB_TX" iostandard="LVCMOS25"/><pin index="1" name="rs232_uart_USB_RX" iostandard="LVCMOS25"/>
</pins>
システム レベル デザイン入力 99UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<component_modes>
<component_modes> セクシ ョ ンには、 コンポーネン トが使用されるモードを記述します。 <component_modes> セク
シ ョ ンには、 1 つまたは複数の <component_mode> タグを入れ子にできます。 各コンポーネン ト モードには、 関連付
けられているインターフェイス、 IP、 依存関係などの詳細が含められます。
<component name="phy_onboard" display_name="Onboard PHY" type="chip"sub_type="ethernet" major_group="Ethernet Configurations" part_name="M88E1111_BAB1C000" vendor="Marvell" spec_url="www.marvell.com"><description>PHY on the board</description><parameters><parameter name="devicetree_vendor" value="marvell"/>
</parameters><component_modes><component_mode name="mii" display_name="MII mode"><description>To enable this mode jumpers need to be {J29_P1_P2 true} {J30_P1_P2 true} {J64 false}</description><interfaces><interface name="mii" order="0"/><interface name="mdio_io" order="1" optional="true"/><interface name="phy_reset_out" order="2" optional="true"/>
</interfaces><preferred_ips><preferred_ip vendor="xilinx.com" library="ip" name="axi_ethernet"order="0"/>
</preferred_ips></component_mode><component_mode name="gmii" display_name="GMII mode"><description>To enable this mode jumpers need to be {J29_P1_P2 true} {J30_P1_P2 true} {J64 false}</description><interfaces><interface name="gmii"/><interface name="mdio_io"/><interface name="phy_reset_out" optional="true"/>
</interfaces><preferred_ips><preferred_ip vendor="xilinx.com" library="ip" name="axi_ethernet"order="0"/>
</preferred_ips></component_mode>
</component>
コンポーネン トのモードを [Board] タブで選択する と、 そのモードにリ ス ト されているインターフェイスがすべて自
動的に IP インテグレーターに追加されます。 モード内のインターフェイスの order= では、 インターフェイスの接続
順序を定義します。 順序が指定されていない場合は、 インターフェイスはリ ス ト されている順序で IP インテグレー
ターに追加されます。
<component_mode> の下にリ ス ト される <interface> に optional= 属性を使用する と、 Vivado IP インテグレーターの
[Board] タブでインターフェイスを接続する と きに、 IP がフ ィルタ リ ングしやすくな り ます。 デフォルトの
optional=false の場合、 使用されるモードに対してこのインターフェイスが必ずリ ス ト されます。 optional=true にする
と、 指定したモードではそのインターフェイスが必須ではなくな り ます。 また、 必要なインターフェイスを含んでい
てもオプシ ョ ンのインターフェイスは含まない IP もそのコンポーネン ト モードで使用できるよ うに リ ス ト されます。
<interfaces><interface name="mii" order="0"/><interface name="mdio_io" order="1" optional="true"/><interface name="phy_reset_out" order="2" optional="true"/>
システム レベル デザイン入力 100UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
</interfaces>
ヒン ト : <component_mode> の <preferred_ips> にリ ス ト されている IP は、 <interfaces> にリ ス ト されているものよ り も
優先されます。
<enablement_dependencies> には、 特定の <component_mode> をイネーブルにするのに必要なジャンパー設定がリ ス ト
されます。 選択したコンポーネン ト モードに基づいたボードで使用するジャンパー設定に関する情報は、 Vivado
Design Suite に含まれます。
<enablement_dependencies><jumpers><jumper name="J29_P1_P2">true</jumper><jumper name="J30_P1_P2">true</jumper><jumper name="J64">false</jumper></jumpers>
</enablement_dependencies>
<interfaces>
重要: インターフェイスは type=”fpga” に設定されている <component> 内でのみ定義できます。
<interfaces> セクシ ョ ンには、 <component> で利用可能な物理的なインターフェイスがすべて リ ス ト されます。
<interfaces> セクシ ョ ンには、 1 つまたは複数の <interface> タグを含めるこ とができます。 インターフェイスは、
<port_map> タグを使用して複数のポートで定義されます。 インターフェイスは type=”fpga” に設定されている
<component> 内でのみ定義できます。 詳細は、 「<port_map>」 を参照してください。
次は、 KC705 ボード定義ファイルからの dip_switches_4bits インターフェイス定義の一部です。
<interfaces><interface mode="master" name="dip_switches_4bits"type="xilinx.com:interface:gpio_rtl:1.0" of_component="dip_switches"><description>4-position user DIP Switch</description><preferred_ips><preferred_ip vendor="xilinx.com" library="ip" name="axi_gpio" order="0"/>
</preferred_ips><port_maps><port_map logical_port="TRI_I" physical_port="dip_switches_tri_i" dir="in"left="3" right="0"><pin_maps><pin_map port_index="0" component_pin="GPIO_DIP_SW0"/><pin_map port_index="1" component_pin="GPIO_DIP_SW1"/><pin_map port_index="2" component_pin="GPIO_DIP_SW2"/><pin_map port_index="3" component_pin="GPIO_DIP_SW3"/>
</pin_maps></port_map>
</port_maps></interface> <interface …>......
</interface></interfaces>
システム レベル デザイン入力 101UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
インターフェイス
重要: インターフェイス名は、 すべて小文字で定義する必要があ り ます。
次は、 <interface> の属性およびタグを説明しています。
表 A‐6: <interface> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
mode= インターフェイスの論理方向を示します。
通常は 「master」 と設定されますが、 ク
ロ ッ クやリセッ ト など、 論理方向が信号が
FPGA に入力される場合は、 「slave」 にな
り ます。
master
name= ボード ファ イルでインターフェイス定義を
識別する名前です。 この名前は、 接続自動
化にも使用され、 また、 ブロ ッ ク図では接
続されているポートに表示されます。
dip_switches_4bits
type= Vivado Design Suite でサポート されている
インターフェイス タイプの標準セッ トか
ら、 インターフェイス タイプを指定しま
す。
これらの標準バス インターフェイスはザイ
リ ンクス IP コアで定義されており、 IP ま
たはブロ ッ ク デザインをボードに簡単に接
続できるよ うになっています。
利用可能なバス インターフェイス タイプ
のリ ス トは、 Vivado Design Suite のインス
トール ディ レク ト リ
(<install_location>/Vivado/) にあ
り ます。
<version>/data/ip/interfaces
xilinx.com:interface:gpio_rtl:1.0
of_component= <components> セクシ ョ ンからの関連コン
ポーネン ト を指定します。
dip_switches
<description> インターフェイスの概要です。 4-position user DIP Switch
<preferred_ip> VLNV (または VLN) フォーマッ トで接続す
る優先 IP のリ ス ト 。
注記: Vivado ツールでは 新版の IP を使用され
るので、 IP のバージ ョ ンを指定する必要はあ り
ません。
vendor="xilinx.com" library="ip"
name="axi_gpio" order="0"
order= インターフェイスの preferred_ip の優
先順位を指定します。 0 が 優先で、 値が
大きいほど優先順位は低くな り ます。
0
システム レベル デザイン入力 102UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<port_map>
各インターフェイスは個々のポート マップにさらに分けられています。 これらのポート マップは論理ポートのマッ
プで、 インターフェイスでは、 ザイ リ ンクス デバイスの物理的なパッケージ ピンに関連付けられている物理的な
ポート を使用して定義されています。
<port_map logical_port="TRI_I" physical_port="dip_switches_tri_i" dir="in" left="3" right="0"><pin_maps><pin_map port_index="0" component_pin="GPIO_DIP_SW0"/><pin_map port_index="1" component_pin="GPIO_DIP_SW1"/><pin_map port_index="2" component_pin="GPIO_DIP_SW2"/><pin_map port_index="3" component_pin="GPIO_DIP_SW3"/>
</pin_maps></port_map>
preset_proc= 指定されたインターフェイスをインプリ メ
ン トする IP に対し、 あらかじめ定義され
ている設定オプシ ョ ンを指定します。 詳細
は、 「プ リセッ ト ファ イルについて」 を参
照してください。
preset_proc="emc_preset"
<port_map> インターフェイスの論理ピンを、 ザイ リ ン
クス デバイスの物理ピンにマップします。
詳細および例については、
「<port_map>」 を参照してください。
表 A‐7: <port_map> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
logical_port= バス インターフェイス定義での論理
ポート名です。 あらかじめ定義されて
いるインターフェイスは、 Vivado
Design Suite のインス トール ディレク ト
リにあ り ます。 たとえば、 GPIO イン
ターフェイスの定義は
<install_location>\Vivado\ に含まれます。
<version>\data\ip\interfaces\
gpio_v1_0
TRI_I
physical_port= 後続セクシ ョ ンのボード インターフェ
イスに定義されたポート名へのマッピ
ングを指定します。
physical_port は std_logic または
std_logic_vector にできます。
dip_switches_tri_i
dir= 各ポートには方向があ り ます。 使用で
きる値は in、 out、 inout です。
in
left= ポートのインデッ クスの左の値です。
たとえば、 4 ビッ ト バス ポート [3:0] の
場合は、 3 がこの値になり ます。
3
表 A‐6: <interface> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
システム レベル デザイン入力 103UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<pin_map>
<pin_map> セクシ ョ ンでは、 各物理ポートが 1 つまたは複数のピンに分けられています。 ピン マップでのピン数は、
マップされているポートの幅によって決ま り ます。 ピンは、 そのピンが定義されているインターフェイスの物理ポー
トで共有可能です。
各 <pin_map> には、 バス ポートのインデッ クスにマップする port_index 属性、 そしてザイ リ ンクス デバイスのパッ
ケージ ピンにマップする component_pin 属性があ り ます。 これらは次のよ うに定義されます。
一般的には part0_pins.xml という名前が付けられているピン マップ ファ イルには、 ザイ リ ンクス デバイスのピ
ン名、 または FPGA タイプの <component> のピン名がリ ス ト されていて、 これらのコンポーネン ト ピンの
IOSTANDARD およびパッケージ ピン ロケーシ ョ ンが定義されています。 ピン マップ ファ イルで定義されているピ
ンのフォーマッ トは次のよ うにな り ます。
<part_info part_name="xc7k325tffg900-2"><pins><pin index="0" name="GPIO_DIP_SW0" iostandard="LVCMOS25" loc="Y29"/><pin index="1" name="GPIO_DIP_SW1" iostandard="LVCMOS25" loc="W29"/><pin index="2" name="GPIO_DIP_SW2" iostandard="LVCMOS25" loc="AA28"/><pin index="3" name="GPIO_DIP_SW3" iostandard="LVCMOS25" loc="Y28"/>
</pins>
right= ポートのインデッ クスの右の値です。
たとえば、 4 ビッ ト バス ポート [3:0] の
場合は、 0 がこの値になり ます。
0
<pin_maps> ザイ リ ンクス デバイスの物理ポート を、
パッケージされたパーツの指定ピンに
マップします。
詳細および例については、 「<pin_map>」
を参照してください。
表 A‐8: <pin_map> の属性
タグ 使用方法/説明 例 (KC705)
port_index= <port_map> で定義されているバス ポー
トのインデッ クスを示します。 これは、
ポート幅で定義されている範囲内の数
値になり ます。
3
component_pin= ザイ リ ンクス デバイスのコンポーネン
ト ピン名です。 component_pin 名は、
FPGA タイプの <component> の
part0_pins.xml ファ イルの name= に
マップされます。 part0_pins.xml
は、 ボード ファ イルと同じフォルダー
にあ り ます。
GPIO_DIP_SW0
表 A‐7: <port_map> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
システム レベル デザイン入力 104UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
ピン マップ ファ イルでは、 ザイ リ ンクス デバイスの <pins> のそれぞれに対して、 I/O 関連の制約を定義するために、
次の属性が使用されます。
<jtag_chains>
定義されているボードで使用可能な JTAG チェーンがこ こにはリ ス ト されます。 <jtag_chain> の下にそれそれの
チェーン名、 およびチェーン内のコンポーネン トの名前および位置を定義する <position> タグがリ ス ト されます。
<jtag_chains><jtag_chain name="chain1"><position name="0" component="part0"/>
</jtag_chain></jtag_chains>
<jtag_chain> タグでは、 name= 属性を使用してチェーン名を指定します。
<position> タグには、 <jtag_chain> 内の各コンポーネン トがリ ス ト されます。 詳細は次の表を参照してください。
表 A‐9: ピン マップ ファイルの属性
タグ 使用方法/説明 例 (KC705)
index= ピン マップ ファ イルの <pin> オブジェ
ク トに割り当てられるインデッ クスで
す。
0
name= ザイ リ ンクス デバイスのコンポーネン
ト ピン名で、 ボード ファ イルで使用さ
れます。
GPIO_DIP_SW2
iostandard= ザイ リ ンクス デバイスに対して有効な
IOSTANDARD で、 ボード設計者によ り
定義されます。 特定のコンポーネン ト
ピンに対して Vivado Design Suite でサ
ポート されている IOSTANRADRD が有
効値です。
LVCMOS25
loc= ザイ リ ンクス デバイス パッケージのピ
ン ロケーシ ョ ンです。
Y29
表 A‐10: <position> の属性
タグ 使用方法/説明 例 (KC705)
name= JTAG チェーンのコンポーネン ト シーケ
ンスを示します。
0
component= ボードのコンポーネン ト を示します。 Part0
システム レベル デザイン入力 105UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<connections>
<connections> セクシ ョ ンでは、 コンポーネン ト間の接続が定義されます。 <connection> タグでは、 1 つの接続に関連
付けられている 2 つのコンポーネン トが指定されます。 <connection_map> タグは、 その 2 つのコンポーネン トのバス
接続を記述します。 2 つのコンポーネン トのいずれかが FPGA タイプの <component> の場合、 <connection> で定義さ
れている詳細が Vivado Design Suite で使用され、 part0_pins.xml にある対応する制約が検索されます。
<connections><connection name="part0_dip" component1="part0" component2="dip_switches"><connection_map name="part0_dip_1" typical_delay="5" c1_st_index="0"c1_end_index="3" c2_st_index="0" c2_end_index="3"/>
</connection></connections>
<connection> には次の属性があ り ます。
<connection_map> には次の属性があ り ます。
<ip_associated_rules>
<ip_associated_rules> タグは、 優先ボード インターフェイスまたは IP インターフェイスに割り当て可能なボード イン
ターフェイスの優先順位リ ス ト を定義するのに使用します。 このタグは、 ボード ファ イルの 2.1 スキーマ バージ ョ
ンから導入されています。
IP インターフェイスに使用可能なボード インターフェイスは、 Vivado IP インテグレーター ツールの設計アシスタン
ス機能を使用して リ ス ト されます。 設計アシスタンスの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP インテグ
レーターを使用した IP サブシステムの設計』 (UG994)のこのセクシ ョ ンを参照してください。 <ip_associated_rules> で
は、 どのボード インターフェイスを特定の IP インターフェイスに適用できるかを定義できます。
表 A‐11: <connection> の属性
タグ 使用方法/説明 例 (KC705)
name= 接続の名前。 part0_dip
component1= 接続の 初のコンポーネン ト。 part0
component2= 接続の 2 番目のコンポーネン ト。 dip_switches
表 A‐12: <connection_map> の属性
タグ 使用方法/説明 例 (KC705)
typical_delay= コンポーネン ト間の接続での遅延。 5
c1_st_index= component1 の接続の開始ピンの <pin>
インデッ クス。
注記: component1 が FPGA の場合、 このイン
デッ クスは part0_pins.xml からの値にな
り ます。
0
c1_end_index= component1 の接続の終点ピンの <pin>
インデッ クス。
3
c2_st_index= component2 の開始ピンの <pin> イン
デッ クス。
0
c2_end_index= component2 の接続の終点ピンの <pin>
インデッ クス。
3
システム レベル デザイン入力 106UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
ヒン ト : <ip_associated_rules> タグは、 どの IP を定義するためにでも使用できますが、 通常定義されたボード イン
ターフェイスをよ り多く含むクロ ッ クおよびリセッ トに使用するのが も便利です。
<ip_associated_rules> <ip_associated_rule name="default"> <ip vendor="xilinx.com" library="ip" name="axi_ethernet" version="*" ip_interface="mgt_clk"> <associated_board_interfaces><associated_board_interface name="sgmii_mgt_clk" order="1"/> <associated_board_interface name="sma_mgt_clk" order="0"/>
</associated_board_interfaces> </ip> <ip vendor="xilinx.com" library="ip" name="axi_ethernet" version="*" ip_interface="phy_rst_n"> <associated_board_interfaces><associated_board_interface name="phy_reset_out" order="0"/>
</associated_board_interfaces> </ip> <ip vendor="xilinx.com" library="ip" name="gig_ethernet_pcs_pma" version="*" ip_interface="gtrefclk_in"> <associated_board_interfaces><associated_board_interface name="sgmii_mgt_clk" order="1"/> <associated_board_interface name="sma_mgt_clk" order="0"/>
</associated_board_interfaces> </ip> </ip_associated_rule></ip_associated_rules>
<ip_associated_rule>
<ip_associated_rule> タグは、 指定の IP に関連付ける特定の規則を定義するのに使用します。 このタグでは、 規則名
を定義する name= がサポート されています。
重要: 現時点では default という名前の規則 1 つだけしかサポート されていませんので、 ボード ファ イルで定義できる
のは開く タグと閉じるタグのペア、 <ip_associated_rule name=”default”></ip_associated_rule> だけです。
<ip>
<ip> タグでは、 関連付けた規則を適用する IP およびインターフェイスを定義します。 このタグは IP のベンダー、 ラ
イブラ リ、 名前、 バージ ョ ン (VLNV) およびその IP の特定のインターフェイスが指定されます。
<ip vendor="xilinx.com" library="ip" name="axi_ethernet" version="*" ip_interface="mgt_clk"><associated_board_interfaces><associated_board_interface name="sgmii_mgt_clk" order="1"/> <associated_board_interface name="sma_mgt_clk" order="0"/>
</associated_board_interfaces></ip>
ヒン ト : <ip_associated_rules> では複数の <ip> タグで Vivado IP カタログで複数 IP を指定したり、 1 つの IP に対して別
のインターフェイスを指定したりできます。
<ip> には、 次の属性またはタグを含めるこ とができます。
システム レベル デザイン入力 107UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<associated_board_interface> タグでは、 関連付けられた IP インターフェイスに割り当てるこ とができるボード イン
ターフェイスの優先リ ス ト を定義します。
<associated_board_interfaces><associated_board_interface name="sgmii_mgt_clk" order="1"/> <associated_board_interface name="sma_mgt_clk" order="0"/>
</associated_board_interfaces>
<associated_board_interface> には、 次の属性が含まれます。
プリセッ ト ファイルについて
プリセッ ト ファ イルは、 特定の設定で IP コアをカスタマイズする と きに役立ちます。 Vivado IP インテグレーターの
[Board] タブで、 [linear_flach] または [ddr3_adram] インターフェイスが選択されている場合、 PS7、 axi_emc、
DDR3_SDRAM のメモリ IP では、 このプ リセッ ト ファ イルが使用されます。
表 A‐13: <ip> の属性およびタグ
タグ 使用方法/説明 例 (KC705)
vendor= IP に関連付けるベンダー名です。 ザイ リ ンク
スから提供されるコアの場合、 ベンダー識別
子は xilinx.com になり ます。
vendor="xilinx.com"
library= コアが含まれる IP ライブラ リ を指定します。 library="ip"
name= IP コアのカタログ内の名前を指定します。 name="axi_ethernet"
version= 規則が適用される IP のバージ ョ ンを指定しま
す。 IP のすべてのバージ ョ ンを示すには “*”
を使用します。
“*”
ip_interface= IP コアのインターフェイス名を指定し、 ボー
ド ファ イルで定義されるインターフェイスを
関連付けます。
ip_interface="mgt_clk"
<associated_board_interfaces> ボード インターフェイスの名前と優先度を指
定します。
表 A‐14: <associated_board_interface> の属性
タグ 使用方法/説明 例 (KC705)
name= IP インターフェイスに関連付けるボー
ド インターフェイスの名前を指定しま
す。
name="sgmii_mgt_clk"
order= ボード インターフェイスを割り当てる
ためのプリ ファレンス順を指定します。
Vivado IP インテグレーターの設計アシ
スタンス機能では、 ボード インター
フェイスに自動的に order=1 が割り当て
られます。 その他のボード インター
フェイスが、 低い順から高い順に指定
した順でリ ス ト されます。
0
システム レベル デザイン入力 108UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
プリセッ ト ファ イルは XML フォーマッ トです。 プ リセッ ト ファ イルは特定のボード ファ イルに対して定義されて
おり、 複数の IP にプリセッ ト値を適用するのに使用できます。
<ip_presets schema="1.0"><ip_preset preset_proc_name="emc_preset"><ip vendor="xilinx.com" library="ip" name="axi_emc" version="3.0"><user_parameters><user_parameter name="CONFIG.C_INCLUDE_DATAWIDTH_MATCHING_0" value="1"/> <user_parameter name="CONFIG.C_MAX_MEM_WIDTH" value="16"/> <user_parameter name="CONFIG.C_MEM0_TYPE" value="2"/> <user_parameter name="CONFIG.C_MEM0_WIDTH" value="16"/> <user_parameter name="CONFIG.C_TAVDV_PS_MEM_0" value="130000"/> <user_parameter name="CONFIG.C_TCEDV_PS_MEM_0" value="130000"/> <user_parameter name="CONFIG.C_TWPH_PS_MEM_0" value="12000"/> <user_parameter name="CONFIG.C_TWP_PS_MEM_0" value="70000"/> <user_parameter name="CONFIG.C_WR_REC_TIME_MEM_0" value="100000"/>
</user_parameters></ip>
</ip_preset><ip_preset preset_proc_name="ddr3_sdram_preset"><ip vendor="xilinx.com" library="ip" name="mig_7series"><user_parameters><user_parameter name="CONFIG.XML_INPUT_FILE" value="mig.prj"
value_type="file"/> </user_parameters>
</ip></ip_preset>
</ip_presets>
<ip_presets>
<ip_presets> は、 リセッ ト ファ イルのルートで、 1 つまたは複数の IP コアのプリセッ ト値を定義します。
<ip_presets> には 1 つまたは複数の <ip_preset> タグを含めるこ とができます。
<ip_presets schema="1.0">
<ip_preset>
<ip_preset> セクシ ョ ンは、 特定の IP コアに提供されるプ リセッ ト設定を定義します。
<ip_preset preset_proc_name="emc_preset">
表 A‐15: <ip_presets> の属性
タグ 使用方法/説明 例 (KC705)
schema= プリセッ ト ファ イルのスキーマ バー
ジ ョ ン。 スキーマの現在のバージ ョ ン
は 1.0 です。
1.0
システム レベル デザイン入力 109UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
<ip>
<ip_preset> に含めるタグで、 プ リセッ トが適用される IP を定義します。
<ip vendor="xilinx.com" library="ip" name="axi_emc" version="3.0">
<user_parameters>
<ip> セクシ ョ ンに含める <user_parameters> および <user_parameter> タグでは、 指定 IP コアに適用するさまざまな設
定のプリセッ ト値を定義します。
<user_parameters><user_parameter name="CONFIG.C_INCLUDE_DATAWIDTH_MATCHING_0" value="1"/> <user_parameter name="CONFIG.C_MAX_MEM_WIDTH" value="16"/> <user_parameter name="CONFIG.C_MEM0_TYPE" value="2"/>
</user_parameter>
その他のファイルおよび特別な注意事項
7 シリーズ用の MIG のサポート
ザイ リ ンクス 7 シ リーズ デバイス用の MIG には特別な処理が必要になり ます。ボード サポート エリ アに PRJ ファ イ
ルを追加する前に、 ボード上でメモ リ IP の設定のテス ト を実施する必要があ り ます。
表 A‐16: <ip_preset> の属性
タグ 使用方法/説明 例 (KC705)
preset_proc_name= 定義されているプリセッ ト プロセスの
名前。 こ こで使用される名前は、 この
プリセッ ト プロセスをインプリ メン ト
するインターフェイスのボード ファ イ
ルでも指定されます。
emc_preset
表 A‐17: <ip> の属性
タグ 使用方法/説明 例 (KC705)
vendor= ボード提供会社のウェブサイ トのアド
レス。
xilinx.com
library= コアに使用されているライブラ リ。 ip
name= IP コアの名前。 axi_emc
version= IP のバージ ョ ン。 3.0
表 A‐18: <user_parameter> の属性
タグ 使用方法/説明 例 (KC705)
name= IP コアのあらかじめコンフ ィギュレー
シ ョ ンされているプロパティ名。
CONFIG.C_WR_REC_TIME_MEM_0
value= プロパティのプリセッ ト値。 100000
システム レベル デザイン入力 110UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
PS7 プリセッ ト
PS7 IP コアのプリセッ ト設定の指定は、 カタログのほかのサポート IP と同じです。 <user_parameters> で、 あらかじ
めコンパイルされているプロパティおよびその値をプリセッ ト ファ イルで指定しておく必要があ り ます。
<ip_preset preset_proc_name="ps7_preset"> <ip vendor="xilinx.com" library="ip" name="processing_system7" version="*"> <user_parameters><user_parameter name="CONFIG.preset" value="ZC702"/> <user_parameter name="CONFIG.PCW_CAN0_PERIPHERAL_ENABLE" value="0"/>
</user_parameters></ip>
</ip_preset>
ト ライステート ポート を使用した IP バス インターフェイス
IP バス インターフェイスは、 ト ラ イステート ポートに 3 つの信号 (I、 O、 T) を使用します。 IP 設定に基づいて、 3 つ
の信号のうち 1 つ、 あるはそのすべての信号が、 ト ラ イステート バッファーを介してシングル外部ポート と して使
用されます。
インターフェイスの、 論理から物理へのポート マッピングを実行する <port_map> セクシ ョ ンで、 GPIO の場合は
使用されている信号のみを定義する必要があ り ますが、 I/O の場合は 3 つのすべての信号を物理ポートにマップする
必要があ り ます。
例
<interface mode="master" name="dip_switches_4bits" type="xilinx.com:interface:gpio_rtl:1.0"> <port_maps> <port_map logical_port="TRI_I" physical_port="dip_switches_tri_i"/> </port_maps></interface>
<interface mode="master" name="iic_main" type="xilinx.com:interface:iic_rtl:1.0"> <port_maps> <port_map logical_port="SDA_I" physical_port="iic_main_sda_i"/> <port_map logical_port="SDA_O" physical_port="iic_main_sda_o"/> <port_map logical_port="SDA_T" physical_port="iic_main_sda_t"/> <port_map logical_port="SCL_I" physical_port="iic_main_scl_i"/> <port_map logical_port="SCL_O" physical_port="iic_main_scl_o"/> <port_map logical_port="SCL_T" physical_port="iic_main_scl_t"/> </port_maps></interface>
イーサネッ ト クロック処理
普通のクロ ッ ク と イーサネッ ト ク ロ ッ クを区別するため、 インターフェイス パラ メーター TYPE がスキーマで定義
されます。 このパラ メーターは、 ボード インターフェイスに該当する IP を検索する と きの追加フ ィルターの役割を
果たします。 TYPE パラ メーターの値は、 ボード インターフェイスおよび IP インターフェイスで同じである必要が
あ り ます。
たとえば、 KC705 ボードの sgmii_mgt_clk インターフェイスには、 値が ETH_MGT_CLK と定義されている TYPE
パラ メーターがあ り ます。 同様に、 IP の component.xml ファ イルにも、 インターフェイス パラ メーターが TYPE
=ETH_MGT_CLK と設定されています。
システム レベル デザイン入力 111UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 A:ボード ファイル
例と して <vivado_install_dir>/data/ip/xilinx/gig_ethernet_pcs_pma_v15_0/component.xml を参照して ください。
GT ロケーシ ョ ン制約
GT ロケーシ ョ ン制約を生成する場合、 イーサネッ ト関連のインターフェイスのボード インターフェイスに GT_LOC
パラ メーターがあ り ます。 たとえば、 KC705 ボードの sgmii インターフェイスには GT_LOC=
GTXE2_CHANNEL_X0Y9 と設定されています。 このパラ メーターがボード インターフェイスにない場合、 イーサ
ネッ ト IP は LVDS モードで実行されている と想定され、 GT ロケーシ ョ ン制約 (GT_LOC) ではなく、 ピン ロケーシ ョ
ン制約 (LOC) が生成されます。
システム レベル デザイン入力 112UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 B
Vivado 命名規則
概要
次は、 Vivado® Design Suite を使用する際に必要な命名規則です。 これらの命名規則に従っていないと、 デザインま
たはツールで問題が発生する可能性があ り、 デザイン フローで予期しない動作が発生するこ とがあ り ます。
• ソース ファイル名は、 アルファベッ ト (A ~ Z、 a ~ z) で開始し、 英数字 (A ~ Z、 a ~ z、 0 ~9) およびアン
ダースコア ( _ ) のみを含めます。
• 出力ファイル名は、 アルファベッ ト (A ~ Z、 a ~ z) で開始し、 英数字 (A ~ Z、 a ~ z、 0 ~9) およびアンダース
コア ( _ ) のみを含めます。
• プロジェク ト ファ イル名は、 アルファベッ ト (A ~ Z、 a ~ z) で開始し、 英数字 (A ~ Z、 a ~ z、 0 ~9) および
アンダースコア ( _ ) のみを含めます。
• プロジェク ト ディレク ト リ名は、 アルファベッ ト (A ~ Z、 a ~ z) で開始し、 英数字 (A ~ Z、 a ~ z、 0 ~9)、
ティルデ (~)、 およびアンダースコア ( _ ) のみを含めます。
注意: Windows OS にはパス長に 260 文字の制限があ り、 これが Vivado ツールに影響するこ とがあ り ます。 この問題
を回避するには、 プロジェク ト を作成、 IP プロジェク ト または Manage IP プロジェク ト を定義、 ブロ ッ ク デザイン
を作成する際に、 名前およびディ レク ト リ名をできるだけ短く して ください。
プロジェク ト名、 ファ イル名、 またはディ レク ト リ名に次の文字を含めるこ とはできません。
• ! # $ % ^ & * ( ) ` ; < > ? , [ ] { } ' " |
• タブ (\t)
• リ ターン (\r)
• 復帰改行 (\n)
• / または \ (パス区切り文字と してではなく、 ディ レク ト リ またはファイル名の一部と して)
システム レベル デザイン入力 113UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 B:Vivado 命名規則
ディ レク ト リ名では、 次の文字も使用できません。
• .(ピ リオドが 後の文字場合)
ファ イル名またはプロジェク ト名には、 次の文字は使用できません。
• @
注記: Vivado IDE では、 新しいファイルまたはプロジェク ト名に @ 文字はサポート されません。 ディ スク上にある既
存のファイルの名前に @ 文字が使用されている場合は、 そのファイルをプロジェク トに追加するこ とは可能です。
プロジェク ト名に @ 文字が含まれるプロジェク ト を Vivado IDE で開く こ とは可能です。Tcl コンソールでは、名前に
@ 文字を含むプロジェク ト を作成できます。
重要: Windows オペレーティング システムでは、 ディ レク ト リ名およびファイル名にスペースを使用できますが、 プ
ロジェク ト またはファイルを Windows と Linux の両方で使用するこ とを考慮し、 スペースは使用しないよ うにしてく
ださい。
Vivado Design Suite では、 Windows および Linux プラ ッ ト フォームの両方でパスの区切り文字と してフォワード ス
ラ ッシュ (/) がサポート されます。 バッ クスラ ッシュ (\) は、 Windows プラ ッ ト フォームでのみパスの区切り文字と し
て使用できます。
上記に明記されていないその他すべての文字は、 プロジェク ト 、 ファ イル、 またはディ レク ト リ名には使用できませ
ん。
システム レベル デザイン入力 114UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 C
その他のソースおよび法的通知
ザイリンクス リソース
アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照して
ください。
ソリューシ ョ ン センター
デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイ
ン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。
Documentation Navigator およびデザイン ハブ
ザイ リ ンクス Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセス
でき、 特定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれか
を実行します。
• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。
• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。
• Linux コマンド プロンプ トに 「docnav」 と入力します。
ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられてお
り、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問 (FAQ) を参考に問題を解決できます。 デザイン
ハブにアクセスするには、 次のいずれかを実行します。
• DocNav で [Design Hubs View] タブをク リ ッ ク します。
• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。
注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。
注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。
システム レベル デザイン入力 115UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 C:その他のソースおよび法的通知
参考資料
1. 『Vivado Design Suite ユーザー ガイ ド : デザイン フローの概要』 (UG892)
2. 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (UG973)
3. 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)
4. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)
5. 『Vivado Design Suite チュート リ アル: デザイン フローの概要』 (UG888)
6. 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)
7. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)
8. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911)
9. 『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク プランニング』 (UG899)
10. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900)
11. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896)
12. 『Vivado Design Suite ユーザー ガイ ド : カスタム IP の作成およびパッケージ』 (UG1118)
13. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994)
14. 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912)
15. 『Vivado Design Suite ユーザー ガイ ド : 合成』 (UG901)
16. 『Vivado Design Suite ユーザー ガイ ド : 高位合成』 (UG902)
17. 『Vivado Design Suite ユーザー ガイ ド : デザイン解析およびクロージャ テクニッ ク』 (UG906)
18. 『Model Composer ユーザー ガイ ド』 (UG1262)
19. 『Vivado Design Suite ユーザー ガイ ド : インプ リ メンテーシ ョ ン』 (UG904)
20. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)
21. Vivado Design Suite ユーザー ガイ ド : エンベデッ ド プロセッサ ハードウェア デザイン』 (UG898)
22. 『Vivado Design Suite ユーザー ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG897)
23. 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974)
24. 『Vivado Design Suite 7 シ リーズ FPGA および Zynq-7000 SoC ライブラ リ ガイ ド』 (UG953)
25. Vivado Design Suite に関する資料
システム レベル デザイン入力 116UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com
付録 C:その他のソースおよび法的通知
ト レーニング リソース
ザイ リ ンクスでは、 この資料に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよび QuickTake ビデ
オを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。
1. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 1
2. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 2
3. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 3
4. ト レーニング ク ラス : Vivado Design Suite を使用した FPGA の設計 4
5. Vivado Design Suite QuickTake ビデオ: Vivado Design Suite でのリ ビジ ョ ン管理の使用
6. Vivado Design Suite QuickTake ビデオ: Vivado タイ ミ ング制約ウ ィザードの使用
7. Vivado Design Suite QuickTake ビデオ チュート リ アル
お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適
用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供
され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ
らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または
貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わな
い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に
は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の
損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で
あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に
含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま
せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一
定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク
スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件
に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー
シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を
使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク
スの販売条件を参照してください。
自動車用のアプリ ケーシ ョ ンの免責条項
オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性
の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー
フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用
前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品
を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。
© Copyright 2012-2018 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含
まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 MATLAB および Simulink は、
MathWorks, Inc. の登録商標です。 PCI、 PCIe、 および PCI Express は PCI-SIG の商標であ り、 ライセンスに基づいて使用されていま
す。 すべてのその他の商標は、 それぞれの保有者に帰属します。
この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの
右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で
入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受
け付けており ません。 あらかじめご了承ください。
システム レベル デザイン入力 117UG895 (v2018.3) 2018 年 12 月 5 日 japan.xilinx.com