Vivado Design Suite ユー
ザー
ガ イ ド
IP を使用し た設計
Notice of Disclaimer
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical
Applications:http://www.xilinx.com/warranty.htm#critapps.
© Copyright 2012-2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners. 本資料は英語版 (v2013.2) を翻訳し た も ので、 内容に相違が生じ る 場合には原文を優先し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け てお り ません。 あ ら か じ めご了承 く だ さ い。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2012/07/25 2012.2 初版2012/12/18 2012.4 2012.4 Vivado IDE の GUI に合わせてテキ ス ト お よ びグ ラ フ ィ ッ ク を ア ッ プデー ト 2013/03/20 2013.1 IP イ ン テ グ レー タ ー と い う 早期 リ リ ース 機能を使用す る ための新 し い章を追加
2013.1 リ リ ー ス か ら の新機能に合わせて テ キ ス ト お よ びグ ラ フ ィ ッ ク を ア ッ プデー ト 2013/06/19 2013.1 本全体の構造を変更2013.2 リ リ ース か ら の新機能に合わせて テ キ ス ト お よ びグ ラ フ ィ ッ ク
を ア ッ プデー ト
IP イ ン テ グ レー タ ーに関す る 内容を新 し い 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) に移動
目次
改訂履歴 . . . 2第 1 章 : IP 中心のデザイ ン フ ローの概要
Vivado IP カ タ ロ グ . . . 6 Vivado IP パ ッ ケージ ャ ー . . . 6第 2 章 : 再利用可能な IP の作成および管理
[Manage IP] フ ロ ーの概要 . . . 7 フ ロ ーの開始 . . . 7 IP のシ ミ ュ レーシ ョ ン . . . 11 Vivado シ ミ ュ レー タ . . . 11 ModelSim/QuestaSim . . . 11 その他のシ ミ ュ レー タ . . . 12 ネ ッ ト リ ス ト シ ミ ュ レーシ ョ ン . . . 13 ザ イ リ ン ク ス IP と サー ド パーテ ィ 合成ツール. . . 13 バージ ョ ン制御 . . . 14第 3 章 : プ ロ ジ ェ ク ト での IP の使用
IP カ タ ロ グか ら の IP イ ン ス タ ン ス の作成 . . . 16 IP のカ ス タ マ イ ズ . . . 16 IP のデ ィ レ ク ト リ . . . 19 IP 出力フ ァ イ ルの生成 と リ セ ッ ト . . . 19 既存 IP の追加. . . 19 プ ロ ジ ェ ク ト での IP ス テー ト . . . 21 IP のプ ロ ジ ェ ク ト 設定 . . . 22 IP ボー ド フ ロ ー. . . 23 IP の イ ン ス タ ン シエー ト . . . 25 IP の合成 . . . 25 IP のシ ミ ュ レーシ ョ ン . . . 27 デザ イ ン内での IP の制約. . . 28 IP のサン プル デザ イ ン の使用. . . 28 IP ス テー タ ス の レ ポー ト と IP のア ッ プ グ レー ド . . . 29 IP 操作の Tcl コ マ ン ド . . . 31第 4 章 : IP のパ ッ ケージ
IP パ ッ ケージ ャ ー と その使用フ ロ ー . . . 33 IP パ ッ ケージ化フ ロ ー . . . 34 IP ユーザーの フ ロ ー . . . 34 リ ポジ ト リ の管理 . . . 35 IP カ タ ロ グ . . . 36 IP のカ ス タ マ イ ズ と 生成 . . . 36 IP パ ッ ケージの検証 . . . 37 IP パ ッ ケージ ャ ーの入力 . . . 37入力フ ァ イ ルのグループ . . . 37 パ ッ ケージ化 さ れた IP に最低限必要な フ ァ イ ル セ ッ ト . . . 37 IP パ ッ ケージ ャ ーの出力 . . . 37 出力パ ッ ケージ内の IP デザ イ ン フ ァ イ ルの分類 . . . 37 出力パ ッ ケージに含まれ る その他の フ ァ イ ル . . . 38 IP パ ッ ケージ化の手順 . . . 38 既存の Vivado プ ロ ジ ェ ク ト のパ ッ ケージ化ま たは新規プ ロ ジ ェ ク ト の作成 . . . 38 プ ロ ジ ェ ク ト を IP と し てパ ッ ケージ化 . . . 39 IP カ タ ロ グへの新規 IP の追加 . . . 41 HDL 以外の フ ァ イ ルの IP パ ッ ケージへの追加 . . . 43 以前の EDK IP の イ ン テ グ レータ ー コ アへの変換. . . 45 推奨 さ れ る 変換フ ロ ー . . . 45 予約済みパ ラ メ ー タ ー . . . 46
付録 A : 付録
その他の リ ソ ース . . . 47 ザ イ リ ン ク ス リ ソ ース . . . 47 ソ リ ュ ーシ ョ ン セン タ ー . . . 47 リ フ ァ レ ン ス . . . 47 IP の フ ァ イ ルお よ びデ ィ レ ク ト リ 構造 . . . 48Vivado Design Suite IP vs ISE CORE Generator IP . . . 48
有償 ラ イ セ ン ス IP の使用. . . 49 Vivado IP 最適化 . . . 50 概要 . . . 50 ス タ ン ド ア ロ ン IP の特性評価手法 . . . 50 Fmax マージ ン シ ス テ ム手法 . . . 51 ツール オプシ ョ ンおよ びその他の要因 . . . 53
第 1 章
IP 中心のデザイ ン フ ローの概要
Vivado™ Integrated Design Environment (IDE) には、さ ま ざ ま なデザ イ ン ソ ー ス か ら デザ イ ン に IP モジ ュ ールを追加で き る よ う な IP 中心のデザ イ ン フ ロ ーがあ り ます。
図 1-1 に示す よ う に、Vivado IDE には次の IP ソ ー ス を集めた IP カ タ ロ グ と い う セ ン ト ラ ル レ ポ ジ ト リ が含 ま れ ます。
• Vivado Design Suite IP
• System Generator for DSP デザ イ ン か ら のモジ ュ ール (MATLAB/Simulink アルゴ リ ズ ム) お よ び Vivado 高位合成デ ザ イ ン (C/C++ アルゴ リ ズ ム)
• サー ド パーテ ィ IP
• Vivado IP パ ッ ケージ ャ ーを使用 し て IP と し てパ ッ ケージ さ れたユーザー デザ イ ン
注記 : サー ド パーテ ィ か ら 合成済み EDIF ネ ッ ト リ ス ト と し て提供 さ れてい る IP も あ り ます。 [Add Sources] コ マン ド を使用する と 、 Vivado IDE か ら こ れ ら のフ ァ イ ルをデザ イ ンに読み込む こ と がで き ます。 デザ イ ンの IP は、 さ ま ざ ま な方法で操作で き ます。 • [Managed IP] フ ロ ーを使用 し て、 IP を カ ス タ マ イ ズ し 、 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を含む出力 フ ァ イ ルを生成 し ます。 IP は、 作成 さ れた XCI フ ァ イ ルを参照する と 、 プ ロ ジ ェ ク ト フ ロ ーで も 非プ ロ ジ ェ ク ト フ ロ ーで も 使用で き ます。 こ れは、 多 く のチーム メ ンバーで大規模プ ロ ジ ェ ク ト を設計す る のに、 推奨 さ れ る 方法です。 詳細は、第 2 章 「再利用可能な IP の作成およ び管理」 を参照 し て く だ さ い。 • Vivado プ ロ ジ ェ ク ト 内で IP を作成お よ び追加 し ます。 プ ロ ジ ェ ク ト 内で IP カ タ ロ グに ア ク セ ス し て、 IP を作成 し 、 デザ イ ンに追加 し ます。 IP は、 プ ロ ジ ェ ク ト 内部ま たは外部に保存で き ます。 チーム メ ンバーの少ないプ ロ ジ ェ ク ト に推奨 さ れ る 方法です。 詳細は、第 3 章 「プ ロ ジ ェ ク ト での IP の使用」 を参照 し て く だ さ い。 X-Ref Target - Figure 1-1
Vivado IP カ タ ログ
Vivado IP カ タ ロ グ (図 1-2) は、 ザ イ リ ン ク ス IP、 サー ド パーテ ィ IP お よ び企業独自の IP のセ ン ト ラ ル レ ポ ジ ト リ で、 デザ イ ン チーム、 部署、 企業内で共有 し て利用で き ます。 Vivado IP カ タ ロ グの主な機能は、 次の と お り です。 • 開発 さ れてい る エン ド アプ リ ケーシ ョ ンにかかわ ら ず、 構築ブ ロ ッ ク 、 ウ ィ ザー ド 、 コ ネ ク テ ィ ビ テ ィ 、 DSP、 エンベデ ッ ド 、 AXI 基盤構造、 およ びビデオ IP を含むザ イ リ ン ク ス IP すべてに、 1 つの共有レ ポジ ト リ か ら 簡 単にア ク セ ス可能 • 共有ネ ッ ト ワ ー ク ド ラ イ ブ も 含めた複数の物理ロ ケーシ ョ ン をサポー ト し、サー ド パーテ ィ ま たな企業内で開発 さ れた IP を一貫し た IP 環境で利用可能• Vivado 統合設計環境 (IDE) ま たは Tcl に よ る 自動 ス ク リ プ ト ベー ス の フ ロ ーを使用 し て、IP を カ ス タ マ イ ズお よ び生成 • イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト 、 シ ミ ュ レーシ ョ ン モデル (HDL、 C、 ま たは MATLAB)、 およ び HDL サ ンプル デザ イ ン な ど、 オプシ ョ ンの IP 出力をオンデマン ド 配信 • IP を Vivado プ ロ ジ ェ ク ト の イ ン ス タ ン シエー ト ソ ー ス と し て直接評価可能な IP サン プル デザ イ ン を統合 • IP をデザ イ ン と 共にグ ロ ーバルに RTL 合成、 合成可能な RTL ま たは IP のビヘ イ ビ ア シ ミ ュ レーシ ョ ン モデル を使用可能 • 変更 ロ グの記録 と 同 じ バージ ョ ン履歴の詳細に素早 く ア ク セ ス可能。 IP バージ ョ ン番号の命名規則は、 メ ジ ャー 番号.マ イ ナー番号で表記 さ れ る よ う 統一
Vivado IP パ ッ ケージ ャ ー
図 1-1 に示す よ う に、 Vivado IDE には IP パ ッ ケージ ャ ー と い う 独自のデザ イ ン機能が あ り ます。 IP パ ッ ケージ ャ ーは IP-XACT 規格 (IEEE-1685) に準拠し てい ます。 Vivado IDE ユーザー デザ イ ンが集め ら れ る と 、 IP パ ッ ケージ ャー でデザ イ ン を再利用可能な IP モジ ュールに素早 く 変更 し て、 Vivado IP カ タ ロ グに追加 し て、 ほかのユーザーが使用 で き る よ う にで き ます。
X-Ref Target - Figure 1-2
第 2 章
再利用可能な IP の作成および管理
[Manage IP] フ ローの概要
Vivado IDE では、 IP カ タ ロ グで IP を検索 し た り 、 IP を カ ス タ マ イ ズ し た り 、 コ ン フ ィ ギ ュ レーシ ョ ン さ れた IP の レ ポジ ト リ を管理 し た り と い っ た使用 し やすい フ ロ ーが提供 さ れてお り 、 managed_ip_project と い う 名前の IP プ ロ ジ ェ ク ト がデ ィ ス ク 上に作成 さ れ、 ユーザーの作成 し た IP の合成後のデザ イ ン チ ェ ッ ク ポ イ ン ト が生成 さ れます。 チームで設計する 場合、 ま たはデザ イ ンにザ イ リ ン ク ス IP が多 く 使用 さ れ る場合は、 カ ス タ マ イ ズ し た IP を Vivado プ ロ ジ ェ ク ト 構造外のデ ィ レ ク ト リ に作成 し て保存する こ と をお勧め し ます。 こ の方法を使用す る と 、 リ ビ ジ ョ ン制 御がシ ンプルにな り 、 IP カ ス タ マ イ ズ をほかの人 と 簡単に共有で き る よ う にな り ます。 こ の方法は、 IP を非プ ロ ジ ェ ク ト の ス ク リ プ ト ベース のフ ロ ーで処理する場合に も 推奨 さ れます。 [Manage IP] フ ロ ーの主な機能は、 次の と お り です。 • シ ンプルな IP プ ロ ジ ェ ク ト イ ン タ ーフ ェ イ ス • ザ イ リ ン ク ス IP カ タ ロ グへの素早いア ク セ ス • 複数 IP のカ ス タ マ イ ズ設定を作成可能 • IP イ ン ス タ ン シエーシ ョ ン ご と にデ ィ レ ク ト リ を分割 し 、 IP の使用に必要なすべての フ ァ イ ルを含有 • RTL ま たは合成後のデザ イ ン チ ェ ッ ク ポ イ ン ト (.dcp) の生成を ユーザーが選択可能。 DCP フ ァ イ ルには、 IP の ネ ッ ト リ ス ト お よ び制約の両方が含まれます。フ ローの開始
[Manage IP] フ ロ ーを開始す る には、 Vivado IDE を起動 し て、 Getting Started ページで [Mange IP] を ク リ ッ ク し ま す
(図 2-1)。
[Manage IP] を ク リ ッ ク す る と 、 次のオプシ ョ ン を含むダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。
• [New IP Location] : IP カ タ ロ グ の確認 と IP のカ ス タ マ イ ズに指定 し たデ ィ レ ク ト リ で新 し い IP プ ロ ジ ェ ク ト を 開き ます。 出力フ ァ イ ル も こ のデ ィ レ ク ト リ に含まれます。
• [Recent Customized IP Locations] : 既存 IP の管理お よ び新規 IP の作成に使用す る IP プ ロ ジ ェ ク ト を開 く デ ィ レ ク ト リ を最近使用 し たデ ィ レ ク ト リ か ら 選択で き ます。
X-Ref Target - Figure 2-1
フ ローの開始
[New IP Location] オプシ ョ ン を選択 し た場合は、[Open IP Catalog] ダ イ ア ロ グ ボ ッ ク ス (図 2-2) が表示 さ れ、 ウ ィ ザー ド の指示に従っ て新 し いカ ス タ マ イ ズ IP のデ ィ レ ク ト リ を作成で き ます。
[Next] を ク リ ッ ク す る と 、 [Open IP Catalog] ダ イ ア ロ グ ボ ッ ク ス (図 2-3) が表示 さ れ る ので、 パーツ、 タ ーゲ ッ ト 言 語、 タ ーゲ ッ ト シ ミ ュ レータ 、 IP プ ロ ジ ェ ク ト を保存する IP デ ィ レ ク ト リ 、 およ び作成ま たはカ ス タ マ イ ズ さ れ る IP を入力 し ま す。 デ ィ レ ク ト リ を設定す る と 、 次が実行 さ れ ま す。
managed_ip_project デ ィ レ ク ト リ の作成 さ れ る デ ィ レ ク ト リ が設定 さ れ ま す。 カ ス タ マ イ ズ IP のデ ィ レ ク ト リ がそのデ ィ レ ク ト リ 内にそれぞれ作成 さ れます。 X-Ref Target - Figure 2-2
図 2-2 : [Manage IP] フ ローの開始画面
X-Ref Target - Figure 2-3
フ ローの開始 情報を入力 し て [OK] を ク リ ッ ク し た ら 、図 2-4 の よ う な IP カ タ ロ グが表示 さ れ ます。 こ の段階で IP を選択 し て カ ス タ マ イ ズで き ます。 カ ス タ マ イ ズする と IP ご と にデ ィ レ ク ト リ が作成 さ れます。 指定 し たデ ィ レ ク ト リ に既に IP プ ロ ジ ェ ク ト が含ま れ る 場合は、 既存プ ロ ジ ェ ク ト を開 く か ど う か を尋ね る 図 2-5 の よ う なダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 [Yes] を ク リ ッ ク する と 、 既存の IP プ ロ ジ ェ ク ト が開き 、 カ ス タ マ イ ズ さ れた IP が表示 さ れます。 [No] を ク リ ッ ク する と 、図 2-2 の画面に戻 る ので、 新 し いデ ィ レ ク ト リ を指定 し ます。 [Yes] を ク リ ッ ク す る と 、 既存の IP プ ロ ジ ェ ク ト が開 き 、 カ ス タ マ イ ズ さ れた IP が表示 さ れ ます。 [No] を ク リ ッ ク す る と 、図 2-2 の画面に戻 る ので、 新 し い IP デ ィ レ ク ト リ を指定 し ます。 IP 製品ガ イ ド 、 変更 ロ グ、 製品 ウ ェ ブ ページ、 ア ン サー レ コ ー ド な どへのア ク セ ス を含めたすべての カ タ ロ グ を開 く こ と がで き ます。 IP を カ ス タ マ イ ズ し て IP プ ロ ジ ェ ク ト に追加す る と 、 プ ロ ジ ェ ク ト に含 ま れ る IP に関す る 情報が [Sources] お よ び [IP Properties] ビ ュ ーに表示 さ れ ます。
X-Ref Target - Figure 2-4
図 2-4 : IP カ タ ログの新し い [Manage IP] ビ ュ ー
X-Ref Target - Figure 2-5
フ ローの開始 図 2-6 は、 [Manage IP] プ ロ ジ ェ ク ト 画面を示 し てい ます。 IP プ ロ ジ ェ ク ト の画面は、 主に 5 つのセ ク シ ョ ン に分かれてい ま す。 1. [IP Sources] タ ブ : プ ロ ジ ェ ク ト 用に カ ス タ マ イ ズ さ れた IP すべてが リ ス ト さ れ ます。 こ こ か ら 、 出力フ ァ イ ル を確認 し た り 、 その他の出力フ ァ イ ルの生成を管理 し た り で き ます。 IP の出力フ ァ イ ルが既に生成 さ れてい る場 合は (オプシ ョ ンのデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ルは除 く )、IP ア イ コ ンにチ ェ ッ ク マー ク が表示 さ れます。 IP の出力フ ァ イ ルが ま だ生成 さ れていない場合は、 IP ア イ コ ン にチ ェ ッ ク マー ク は表示 さ れ ません。
注記 : カ ス タ マ イ ズ IP には、 .xci フ ァ イ ル以外に も 、 イ ン ス タ ン シエーシ ョ ン テンプレー ト (.veo ま たは.vho) お よ び BOM フ ァ イ ル (.xml) が常に作成 さ れます。
2. IP カ タ ロ グ : IP カ タ ロ グ全体を確認 し 、 カ ス タ マ イ ズ IP を作成 し て IP プ ロ ジ ェ ク ト に追加で き ま す。 3. [Details] ビ ュ ー : [IP Sources] タ ブや IP カ タ ロ グ か ら 選択 し た IP の詳細が表示 さ れ ます。
4. [IP Properties] ビ ュ ー : [IP Sources] タ ブや IP カ タ ロ グ か ら 選択 し た IP の詳細情報が表示 さ れ ま す。 IP が生成 さ れてい る 場合は、 プ ロ パテ ィ お よ び一般情報が表示 さ れます。
5. [Design Runs] ビ ュ ー : 合成デザ イ ン チ ェ ッ ク ポ イ ン ト の出力フ ァ イ ルが生成 さ れ る と 、その run が こ こ に表示 さ れます。
X-Ref Target - Figure 2-6
IP のシ ミ ュ レーシ ョ ン
こ の フ ロ ーを使用する と 、 複数の IP を カ ス タ マ イ ズおよ び管理で き ます。 IP の出力フ ァ イ ルは指定し た IP デ ィ レ ク ト リ に保存 さ れます。 IP デ ィ レ ク ト リ には、 XCI フ ァ イ ル と その他の生成 さ れた フ ァ イ ルが含ま れます。 開いた り カ ス タ マ イ ズ し た IP はすべて Vivado IDE の [Sources] ビ ューか ら 表示 さ れます (図 2-6)。
IP のシ ミ ュ レ ーシ ョ ン
[Manage IP] プ ロ ジ ェ ク ト は、 フルの RTL プ ロ ジ ェ ク ト ではないので、 IP デ ィ レ ク ト リ のシ ミ ュ レーシ ョ ンはサポー ト さ れません。 シ ミ ュ レーシ ョ ンす る には、 デザ イ ン プ ロ ジ ェ ク ト か ら カ ス タ マ イ ズ IP を参照 し て、 そのプ ロ ジ ェ ク ト 内でシ ミ ュ レーシ ョ ン し ます。IP カ タ ロ グのザ イ リ ン ク ス IP は、RTL ソ ース と し て配布 さ れ る ので、サー ド パー テ ィ シ ミ ュ レータ を使用 し て も ビヘ イ ビ ア シ ミ ュ レーシ ョ ンが実行で き ます。
ロ ジ ッ ク シ ミ ュ レーシ ョ ン と サポー ト さ れ る シ ミ ュ レータ については、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) を参照 し て く だ さ い。
Vivado シ ミ ュ レー タ
Vivado Design Suite には、 Vivado IDE で直接サポー ト さ れ る 混合言語シ ミ ュ レー タ (Vivado シ ミ ュ レー タ ) が含 ま れ ま す。 シ ミ ュ レーシ ョ ンは、 RTL プ ロ ジ ェ ク ト か ら 直接起動で き ます。 ま たは、 xsim を使用し て Vivado の外部でシ ミ ュ レーシ ョ ン を実行する 場合は、 次の よ う に launch_xsim コ マ ン ド を使用し て run ス ク リ プ ト を生成で き ます。
launch_xsim –scripts_only –mode behavioral
こ れに よ り 、 必要な フ ァ イ ルお よ び ラ イ ブ ラ リ 情報すべて を含め、 コ マン ド ラ イ ンか ら xsim で使用で き る ス ク リ プ ト が生成で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) を参照 し て く だ さ い。
ModelSim/QuestaSim
ModelSim/QuestaSim は、Vivado IDE で直接サポー ト さ れ る シ ミ ュ レーシ ョ ン ツールです。プ ロ ジ ェ ク ト 設定でシ ミ ュ レー タ を ModelSim/Questa に変更し ておき ます。 シ ミ ュ レーシ ョ ンは、 RTL プ ロ ジ ェ ク ト か ら 直接起動で き ます。 ま たは、 ModelSim/Questa を使用し て Vivado の外部でシ ミ ュ レーシ ョ ン を実行する場合は、 次の よ う に launch_modelsim コ マ ン ド を使用 し て run ス ク リ プ ト を生成で き ます。
launch_modelsim –scripts_only –mode behavioral
こ れに よ り 、 必要な フ ァ イ ルお よ び ラ イ ブ ラ リ 情報すべて を含め、 コ マ ン ド ラ イ ンか ら ModelSim/Questa で使用で き る ス ク リ プ ト が生成で き ます。
X-Ref Target - Figure 2-7
IP のシ ミ ュ レーシ ョ ン
その他のシ ミ ュ レー タ
Vivado IDE に含ま れ る ザ イ リ ン ク ス IP は、 業界標準の IEEE P1735 暗号化を使用 し て暗号化 さ れてい ます。 こ れを サ ポー ト す る シ ミ ュ レー タ を使用す る と 、 ビヘ イ ビ ア シ ミ ュ レーシ ョ ン を実行で き ます。 こ の場合、 シ ミ ュ レーシ ョ ン フ ァ イ ルお よ びそれ ら の属す る ラ イ ブ ラ リ の リ ス ト が必要です。
シ ミ ュ レーシ ョ ン用に IP のすべてのフ ァ イ ルを取得する には、 get_files コ マン ド を使用 し ます。 get_files -compile_order sources -used_in simulation \
-of_objects [get_files <IP name>.xci]
-compile_order オプシ ョ ンは、 現在の と こ ろ RTL ソ ー ス し かサポー ト し てい ま せんが、 今後の リ リ ー ス では制約 も サ ポー ト す る 予定です。 -used_in オプシ ョ ン を使用する と 、 シ ミ ュ レーシ ョ ン ま たは合成で使用 さ れ る フ ァ イ ルを指定 で き ます。 -of_objects オプシ ョ ンに、 IP の XCI フ ァ イ ル オブジ ェ ク ト を指定する と 、 そ こ か ら IP に関連するすべて の フ ァ イ ルを フ ィ ル ターで き ます。 VHDL の場合、 各 フ ァ イ ルに関連付け ら れた ラ イ ブ ラ リ も 必要です。 Tcl ス ク リ プ ト を使用す る と 、 簡単に こ れが決 定で き ます。 次の ス ク リ プ ト を使用す る と 、 各フ ァ イ ルがシ ミ ュ レーシ ョ ンに使用 さ れ る パ スおよ び関連す る ラ イ ブ ラ リ も 含めて表示 さ れます。
# Get the list of files required for simulation
set ip_files [get_files -compile_order sources -used_in simulation \ -of_objects [get_files <IP name>.xci]
# For each of these files, get the library information foreach file $ip_files {
puts "[get_property LIBRARY $file] $file" }
Cadence、 Synposys、 お よ び Aldec な ど のベン ダーのサー ド パーテ ィ シ ミ ュ レー タ を使用す る 場合は、 ア ン サー 56287 の ス ク リ プ ト を使用で き ます。
注記 : Synopsys VCS では、 現在の と こ ろ IEEE P1735 で暗号化 さ れた VHDL フ ァ イ ルがサポー ト さ れません。 ザ イ リ ン ク ス IP の多 く は VHDL ソ ース で提供 さ れてい る ので、 こ れ ら の IP の場合は論理ネ ッ ト リ ス ト を生成する必要があ り ます。
ザイ リ ン ク ス IP と サー ド パーテ ィ 合成ツール
ネ ッ ト リ ス ト シ ミ ュ レーシ ョ ン
ネ ッ ト リ ス ト シ ミ ュ レーシ ョ ンでは、 暗号化 さ れたシ ミ ュ レーシ ョ ン ソ ース を含め、 その IP の構造シ ミ ュ レーシ ョ ン モデルを作成する必要があ り ます。 デザ イ ン を 1 つの言語でシ ミ ュ レーシ ョ ンで き る よ う に、構造シ ミ ュ レーシ ョ ン モデルを作成する必要があ る場合 も あ り ます。[Managed IP] プ ロ ジ ェ ク ト で構造シ ミ ュ レーシ ョ ン モデルを作成す る には、 まず合成済みのデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ルを生成する必要があ り ます。 こ れは、 [IP Sources] タ ブ でカ ス タ マ イ ズ し た IP を右 ク リ ッ ク し、 [Generate Output Products] を ク リ ッ ク する と 生成で き ます。 [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が開 き ま す。図 2-8 の よ う に、 [Generate Synthesized Design Checkpoint (.dcp)] を オ ン にし ます。
注記 : DCP フ ァ イ ルが生成 さ れた ら 、 IP の合成デザ イ ン run を手動で開いて、 write_verilog コ マン ド を使用 し て構造 シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を書き出 し ます。
ザイ リ ン ク ス IP と サー ド パーテ ィ 合成ツール
Vivado IDE で使用可能なザ イ リ ン ク ス IP は、 Vivado 合成エ ン ジ ン でのみサポー ト さ れ ま す。 こ れには、 IP コ アお よ びすべてのサ ンプル デザ イ ン を含みます。 IP 用に提供 さ れ る HDL フ ァ イ ルのほ と ん どが IEEE P1735 で暗号化 さ れ てお り 、Vivado IDE を使用する場合は読み出 し専用にな っ てい ます。 ユーザー デザ イ ンにはサー ド パーテ ィ 合成ツー ルを使用で き 、 ネ ッ ト リ ス ト を生成で き ます。 こ れを Vivado の イ ンプ リ メ ン テーシ ョ ンで使用で き ます。
た と えば、 ザ イ リ ン ク ス IP を含むデザ イ ン に Synopsys 社の Synplify Pro を使用す る 場合は、 推奨 さ れ る フ ロ ーは次 の よ う にな り ます。
• Vivado で [Manage IP] フ ロ ーを使用 し て、 必要な IP を作成お よ びカ ス タ マ イ ズ し ます。
• 各 IP の合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を生成し ます。 <IP_NAME>_synplify_stub.v and <IP_NAME>_synplify.vho フ ァ イ ルが自動的に作成 さ れ ます。
• Synplify Pro プ ロ ジ ェ ク ト に Verilog ス タ ブ を追加す る か、 VHDL コ ン ポーネ ン ト を追加 し ま す。 こ れ ら は、 ザ イ リ ン ク ス IP のブ ラ ッ ク ボ ッ ク ス を推論する ため、 およ び合成ツールで IO バ ッ フ ァ ーが追加 さ れない よ う にする ために使用 さ れます。
• Synplify Pro でネ ッ ト リ ス ト を生成 し ます。
• Synplify Pro か ら のネ ッ ト リ ス ト を Vivado ネ ッ ト リ ス ト プ ロ ジ ェ ク ト に読み込んで、IP の DCP フ ァ イ ル (IP ご と に DCP フ ァ イ ル 1 つ) を追加 し ます。 ま た、 非プ ロ ジ ェ ク ト フ ロ ーの ス ク リ プ ト を使用する場合は、 Synplify Pro X-Ref Target - Figure 2-8
バージ ョ ン制御
ネ ッ ト リ ス ト に対 し て read_edif/verilog を使用し た り 、 IP の DCP フ ァ イ ルを add_files で追加し 、 link_design を使 用 し ます。
• Vivado でデザ イ ン全体を イ ン プ リ メ ン ト し ます。
<IP_NAME>_synplify_stub.v and <IP_NAME>_synplify.vho には、 最上位ポー ト に接続 さ れ る 場合、 Synplify Pro に IP の IO バ ッ フ ァ ーを推論 し ない よ う に伝え る 合成指示子が含 ま れ ま す。 こ れ ら の指示子を使用す る サー ド パーテ ィ 合成 ツールの必要に合わせて変更 し ます。 イ ンプ リ メ ン テーシ ョ ン中は、 DCP に IO バ ッ フ ァ ーがない場合、 Vivado で IO バ ッ フ ァ ーが追加 さ れます。
バージ ョ ン制御
ザ イ リ ン ク ス IP のバージ ョ ン を制御する 方法には、 次の よ う なオプシ ョ ンがあ り ます。 • フル制御 – 出力フ ァ イ ル も 含め、 すべての IP デ ィ レ ク ト リ がバージ ョ ン制御 さ れます。 こ の方法は、 後で IP を ア ッ プグ レー ド する かど う かやその タ イ ミ ン グ を ユーザーが決定で き る のでお勧めです。 Vivado IDE では、 カ タ ロ グ内でサポー ト さ れ る IP のバージ ョ ンはそれぞれ 1 つのみです。 ツールを ア ッ プグ レー ド し て IP が最新バー ジ ョ ンでな く な っ て も 、 ま だ使用は可能です。 古いバージ ョ ンは ロ ッ ク さ れて再カ ス タ マ イ ズす る こ と はで き な く な り ますが、 出力フ ァ イ ルは存在する ので、 ま だ使用で き ます。 • 部分的制御 – IP の XCI フ ァ イ ル と 合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) が リ ビ ジ ョ ン制御 さ れます。 こ の方法 を使用する と 、IP を最新のバージ ョ ンにア ッ プグ レー ド する必要があ る場合は、IP のカ ス タ マ イ ズ設定が保持 さ れた ま ま自動的にア ッ プグ レー ド さ れます。ア ッ プグ レー ド し ない場合は、DCP を使用 し続け る こ と がで き ます。 • 最低制御 – IP の XCI には IP のカ ス タ マ イ ズ設定の詳細がすべて含まれます。 こ れか ら 、 合成に必要な出力フ ァ イ ルすべて を生成 し 直す こ と がで き ます。IP が最新バージ ョ ンでない場合は、自動的にア ッ プグ レー ド さ れます。 • ス ク リ プ ト – バージ ョ ン制御に関連する フ ァ イ ル数を最小限にする には、 Tcl コ マ ン ド (create_ip、 set_property な ど) を使用 し て IP を最初か ら 作成およ びカ ス タ マ イ ズ し ます。 合成デザ イ ン チ ェ ッ ク ポ イ ン ト (.dcp) が生成 さ れてい る かど う かに よ っ て、 Tcl を使用し てその IP に関する出力フ ァ イ ルの リ ス ト を表示する こ と がで き ます。 .dcp が生成 さ れてい る場合は、 次の コ マン ド を使用 し ます。get_files -all -of [get_files <IP_NAME>.xci]
.dcp が生成 さ れていない場合は、 ま ず IP の合成 run を設定 し てか ら get_files コ マ ン ド を使用 し ま す。 get_files で フ ァ イ ルを ク エ リ ー検索 し た ら 、 その run を リ セ ッ ト する必要があ り ます。
current_run <IP_NAME>_synth_1
get_files -all -of [get_files <IP_NAME>.xci] current_run synth_1
こ の ク エ リ ー検索では次の フ ァ イ ルが検出 さ れないので、 バージ ョ ン制御に手動で追加する 必要があ り ます。 • 合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP)
• メ モ リ イ ン タ ーフ ェ イ ス ジ ェ ネ レータ ー (MIG) のプ ロ ジ ェ ク ト フ ァ イ ル (.prj) • 係数フ ァ イ ル (.coe)
第 3 章
プ ロ ジ ェ ク ト での IP の使用
Vivado™ Design Suite では、 プ リ フ ァ レ ン ス に よ っ て、 さ ま ざ ま な方法で ツールを実行で き ま す。 プ ロ ジ ェ ク ト ベー ス の方法を使用 し て、 デザ イ ン プ ロ セ スおよ びデザ イ ン デー タ を自動的に管理 さ せる こ と も で き ます。 こ の方法は、 「プ ロ ジ ェ ク ト モー ド 」 と 呼ばれます。 プ ロ ジ ェ ク ト を使用する と 、 デ ィ ス ク 上にデ ィ レ ク ト リ 構造が作成 さ れ、 そ れを利用 し てデザ イ ン ソ ース フ ァ イ ル、 IP、 run の結果、 およ びプ ロ ジ ェ ク ト ス テータ ス が管理 さ れます。 run 構造 を使用 し て、合成お よ び イ ンプ リ メ ン テーシ ョ ン プ ロ セ スおよ び run ス テータ ス を自動的に管理し ます。デザ イ ン フ ロ ー全体を Vivado IDE で 1 回 ク リ ッ ク す る だけで実行で き、 ス ク リ プ ト でそれを記述す る こ と も で き ます。 Vivado Design Suite で使用可能なデザ イ ン フ ロ ーの詳細については、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン フ ロ ー の概要』 (UG892) を参照し て く だ さ い。 RTL ベー ス のプ ロ ジ ェ ク ト の場合、 Vivado 環境外か ら 既存の IP を追加 し た り 、 IP カ タ ロ グ か ら IP コ ア イ ン ス タ ン ス を生成 し た り 、 プ ロ ジ ェ ク ト へ追加で き ます。 IP ソ ース を追加する には、 次の操作を実行し ます。 • 「IP カ タ ロ グか ら の IP イ ン ス タ ン ス の作成」 • 「IP 出力フ ァ イ ルの生成 と リ セ ッ ト 」 • 「既存 IP の追加」 • 「プ ロ ジ ェ ク ト での IP ス テー ト 」 • 「IP ボー ド フ ロ ー」 • 「IP の イ ン ス タ ン シエー ト 」 • 「IP の合成」 • 「IP のシ ミ ュ レーシ ョ ン」 • 「デザ イ ン内での IP の制約」 • 「IP のサンプル デザ イ ンの使用」 • 「IP ス テータ ス の レ ポー ト と IP のア ッ プグ レー ド 」 • 「IP 操作の Tcl コ マ ン ド 」 こ れ ら の操作について、 次のセ ク シ ョ ンで説明 し ます。
IP カ タ ログから の IP イ ン ス タ ン スの作成
IP カ タ ロ グか らの IP イ ン ス タ ン スの作成
IP のカ ス タ マ イ ズ
IP カ タ ロ グ か ら IP を選択 し 、 パ ラ メ ー タ ー値を指定す る こ と に よ り 、 デザ イ ン要件に合わせて IP を カ ス タ マ イ ズで き ます。 1. [IP Catalog] ビ ュ ーか ら カ ス タ マ イ ズす る IP を選択 し ま す。 2. 選択 し た IP を ダブル ク リ ッ ク する か、ツールバーま たはポ ッ プア ッ プ メ ニ ューか ら [Customize IP] コ マン ド を実 行 し ます。図 3-1 は、 FIFO Generator IP の [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を示 し てい ます。
こ のダ イ ア ロ グ ボ ッ ク ス に、 IP を カ ス タ マ イ ズする パ ラ メ ータ ーが表示 さ れます。 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス は選択 し た IP の タ イ プに よ っ て異な り 、 パ ラ メ ータ ーを指定する タ ブが 1 つま たは複数表示 さ れ ます。 ダ イ ア ロ グ ボ ッ ク ス上部の タ ブ を ク リ ッ ク し、各ページ を表示し てパ ラ メ ータ ーを設定し ます。[Customize IP] ダ イ ア ロ グ ボ ッ ク ス には、 IP シ ン ボル と 、 選択 し た IP に よ っ て周波数応答グ ラ フ、 リ ソ ース予測、 AXI4-Stream ポー ト 構造な ど も 表 示 さ れます。 IP シ ン ボルでは、 Vivado IDE の [Schematic] ビ ュ ー と 同 じ ズーム、 サ イ ズ変更、 自動フ ィ ッ ト 機能を使 用で き ます。
X-Ref Target - Figure 3-1
IP カ タ ログから の IP イ ン ス タ ン スの作成
[Documentation] → [Product Guide] を ク リ ッ ク す る と 、サポー ト さ れ る IP の資料が ウ ェ ブ ブ ラ ウ ザーに表示 さ れ ます。 [Switch to Defaults] を ク リ ッ ク す る と 、 すべて の コ ン フ ィ ギ ュ レ ーシ ョ ン オプ シ ョ ン を 最初のデ フ ォ ル ト 状態に リ セ ッ ト する かど う かを尋ねる メ ッ セージが表示 さ れます。
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス でパ ラ メ ー タ ーの設定を完了 し た ら 、 [OK] を ク リ ッ ク し ま す。 IP コ アお よ び イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト がデザ イ ン ソ ース と し てプ ロ ジ ェ ク ト に追加 さ れます。 カ ス タ マ イ ズ し た IP コ ア を [Sources] ビ ューで右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク する と 、 IP コ アの出力フ ァ イ ルが作成 さ れ ます。 こ の時点では、 コ アは合成 さ れません。 プ ロ ジ ェ ク ト に IP コ ア を追加 し て合成を実行する と 、 デザ イ ンのほ かの ソ ース と 共に IP が自動的に合成 さ れます。 こ の機能に よ り 、 デザ イ ンに含まれ る複数の IP コ ア を短時間で イ ン ス タ ン シエー ト で き ます。 プ ロ ジ ェ ク ト に IP を追加する たびに合成を実行す る 必要はあ り ません。 カ ス タ マ イ ズ し てプ ロ ジ ェ ク ト に追加 し た IP コ アは、 [Sources] ビ ューに表示 さ れます。 こ の タ ブで コ アのツ リ ーを展開する と コ ア を構成する さ ま ざ ま な フ ァ イ ルが表示 さ れ、 コ ア を選択す る と [Source File Properties] ビ ューにプ ロ パテ ィ が表示 さ れ ます。
[Sources] ビ ュ ーで IP コ ア を右 ク リ ッ ク し て [Re-customize IP] を ク リ ッ ク す る と 、 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス が再度表示 さ れ、 コ アのパ ラ メ ー タ ーを変更で き ます。 ま た、 [Sources] ビ ューで IP コ ア を右 ク リ ッ ク し て [Upgrade IP] を ク リ ッ ク す る と 、 カ ス タ マ イ ズ さ れた IP をザ イ リ ン ク ス IP カ タ ロ グの最新バージ ョ ンに ア ッ プグ レー ド し 、 現 在の IP コ アか ら のカ ス タ マ イ ズ を適用で き ます。
[Customize IP] ダ イ ア ロ グ ボ ッ ク ス でパ ラ メ ー タ ーの設定を完了 し た ら 、 [OK] を ク リ ッ ク し ます。 こ の後、図 3-2 の よ う な [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ の段階では、 [Generate] を ク リ ッ ク する か、 [Skip] を ク リ ッ ク し ない ま ま に し てお く と 、 出力フ ァ イ ルが生成 さ れ ま す。 出力フ ァ イ ルは、 こ の段階で生成 さ れな
く て も 、 後で必要に応 じ て自動的に生成 さ れます。 後で [IP Sources] ま たは [Hierarchy] タ ブで IP を右 ク リ ッ ク し て、 [Generate Output Products] を ク リ ッ ク し て手動で生成す る こ と も で き ます。
必要であれば、 IP の合成後のデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を生成す る よ う に選択 し てお く こ と も で き ます。 選 択 し てお く と 、 次が実行 さ れます。 • IP の合成用に IP のデザ イ ン run が作成 さ れ ます。 • 合成 run が起動 さ れます。 • 残 り のデザ イ ン を合成する と 、 ブ ラ ッ ク ボ ッ ク ス が推論 さ れます。 • イ ンプ リ メ ン テーシ ョ ン中にすべての IP のブ ラ ッ ク ボ ッ ク ス が接続 さ れます。 X-Ref Target - Figure 3-2
IP カ タ ログから の IP イ ン ス タ ン スの作成 DCP を使用す る と 、 デザ イ ン の合成にかか る ラ ン タ イ ム が削減で き ま す。 こ れは、 開発中にデザ イ ン の合成が実行 さ れて も 、 その都度 IP は合成 さ れない よ う にな る か ら です。図 3-3 は、 DCP が生成 さ れてい る 場合の [Hierarchy] タ ブ の IP を示し てい ます。 ア イ コ ンは、 DCP が使用 さ れてい る こ と を示 し ま す。 DCP が カ ス タ マ イ ズ中に生成 さ れない場合、 IP は こ の段階では合成 さ れ ま せん。 プ ロ ジ ェ ク ト に IP コ ア を追加 し て 合成を実行す る と 、 デザ イ ンのほかの ソ ース と 共に IP が自動的に合成 さ れ ます。 こ の機能に よ り 、 デザ イ ン に含ま れ る 複数の IP コ ア を短時間で イ ン ス タ ン シエー ト で き ます。 プ ロ ジ ェ ク ト に IP を追加する たびに合成を実行する必 要はあ り ません。 カ ス タ マ イ ズ し てプ ロ ジ ェ ク ト に追加 し た IP コ アは、 [Sources] ビ ューに表示 さ れ ます。 こ の タ ブ で コ ア の ツ リ ー を 展開す る と コ ア を 構成す る さ ま ざ ま な フ ァ イ ル が 表示 さ れ、 コ ア を 選択す る と [Source File Properties] ビ ュ ーにプ ロ パテ ィ が表示 さ れ ます。 IP のカ ス タ マ イ ズは、 create_ip Tcl コ マ ン ド で も 実行で き ます。 次はその例です。
create_ip -name fifo_generator -version 10.0 -vendor xilinx.com -library ip -module_name fifo_gen
注記 : create_ip Tcl コ マン ド を実行する と 、 ソ ース フ ァ イ ルは作成 さ れますが、 出力ターゲ ッ ト は作成 さ れません。 [Sources] ビ ュ ーで IP コ ア を右 ク リ ッ ク し て [Re-customize IP] を ク リ ッ ク す る と 、 [Customize IP] ダ イ ア ロ グ ボ ッ ク ス が再度表示 さ れ、 コ アのパ ラ メ ー タ ーを変更で き ます。 ま たは、 [Sources] ビ ューで IP を ダブル ク リ ッ ク し て も 、 再 カ ス タ マ イ ズで き ます。
• Vivado Design Suite でサポー ト さ れ る IP の詳細は、
http://japan.xilinx.com/cgi-bin/search/iplocator.pl?_ProductType=Core&_SearchText=vivado を参照 し て く だ さ い。
• 各 IP に関する 情報は、http://japan.xilinx.com/ipcenter/ ま たは IP カ タ ロ グ を参照 し て く だ さ い。 AXI IP の詳細は、
http://japan.xilinx.com/ipcenter/axi4.htm を参照 し て く だ さ い。
X-Ref Target - Figure 3-3
IP 出力フ ァ イルの生成 と リ セ ッ ト
IP のデ ィ レ ク ト リ
IP カ タ ロ グ か ら IP を カ ス タ マ イ ズす る 場合、プ ロ ジ ェ ク ト 構造内 (デフ ォ ル ト ) ま たはプ ロ ジ ェ ク ト 外部に IP デ ィ レ ク ト リ を保存する よ う に選択で き ます (IP デ ィ レ ク ト リ の詳細は、 付録 A を参照し て く だ さ い)。 デ ィ レ ク ト リ は、 IP カ ス タ マ イ ズ中に 図 3-4 の [IP Location] か ら 設定で き ま す。IP 出力 フ ァ イルの生成 と リ セ ッ ト
カ ス タ マ イ ズ中に出力フ ァ イ ルが生成 さ れなかっ た場合は、 IP を右 ク リ ッ ク し て [Generate Output Products] を ク リ ッ ク する と 手動で生成で き ます。 こ の方法を使用 し た場合、 それ以外に指定で き る のは、 合成デザ イ ン チ ェ ッ ク ポ イ ン ト を生成する かど う かだけです。 その他すべての出力フ ァ イ ルは、 デフ ォル ト で生成 さ れます。 出力フ ァ イ ルの生成 は必須ではあ り ませんが、 デザ イ ン全体を合成する と 自動的に生成 さ れます。 Tcl を使用す る と 、必要に合わせて さ ま ざ ま な出力フ ァ イ ル (サン プル デザ イ ン、イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト 、 シ ミ ュ レーシ ョ ン、 合成) を手動で選択 し て生成で き ます。 こ れを実行で き る Tcl コ マ ン ド は generate_target で、 次の よ う に使用 し ます。
generate_target {instantiation_template synthesis} [get_ips fifo_gen]
fifo_gen は、 前にモジ ュ ール名に使用 さ れた IP カ ス タ マ イ ズ設定の名前です。
出力フ ァ イ ルを リ セ ッ ト する には、 IP を右 ク リ ッ ク し て [Reset Output Product] を ク リ ッ ク し ます。 こ れに よ り 、 生成 さ れたすべての出力フ ァ イ ルが削除 さ れます。 DCP が作成 さ れてい る場合は、 こ れに よ っ て関連する run も 削除 さ れ ます。 詳細は、 「IP の合成」 セ ク シ ョ ン を参照 し て く だ さ い。
既存 IP の追加
生成前の CORE Generator™ IP (<core_name>.xco イ ン ス タ ン ス フ ァ イ ル) ま たは生成前の Vivado™ IP (<core_name>.xci イ ン ス タ ン ス フ ァ イ ル) を追加する には、 Add Sources ウ ィ ザー ド で [Add Existing IP] をオンに し ます (図 3-5)。 生成 X-Ref Target - Figure 3-4
既存 IP の追加
前の IP を指定する か、生成 さ れた ソ ース フ ァ イ ルをプ ロ ジ ェ ク ト に追加する かを選択で き ます。[Managed IP] フ ロ ー を使用 し た IP の作成の詳細については、第 2 章 「再利用可能な IP の作成およ び管理」 を参照 し て く だ さ い。 X-Ref Target - Figure 3-5
図 3-5 : 生成前の IP ソ ースの追加 X-Ref Target - Figure 3-6
プ ロ ジ ェ ク ト での IP ステー ト
既存の IP の追加は、 次の例の よ う に import_ip Tcl コ マ ン ド を使用し て も 実行で き ます。
import_ip -file C:/coregen_ip/aurora_8b10b_v7_1.xco -name aurora_8b10b_v7_1 import_ip -file C:/coregen_ip/blk_mem_gen_v6_1.xco -name blk_mem_gen_v6_1
注記 : IP に リ モー ト ア ク セ スする には、 read_ip コ マン ド を使用 し ます。 こ れを使用する と 、 IP はプ ロ ジ ェ ク ト に コ ピー さ れな く な り ます。
追加 さ れた IP コ アは、 [Hierarchy]、 [Libraries]、 [Compile Order] タ ブのその他の ソ ース フ ァ イ ル と 一緒に、 [Sources] ビ ュ ーの [IP Sources] タ ブにそれぞれ表示 さ れ ます。 [Sources] ビ ュ ーには コ ア を構成する フ ァ イ ルが表示 さ れ、 コ ア を選択する と [Source File Properties] ビ ュ ーにプ ロ パテ ィ が表示 さ れます。
注記 : IP コ アの EDIF、 Verilog、 SystemVerilog ネ ッ ト リ ス ト ま たは NGC フ ァ イ ルは、 RTL ま たはネ ッ ト リ ス ト ベー ス のプ ロ ジ ェ ク ト に追加す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 の第 2 章の 「合成後プ ロ ジ ェ ク ト の作成」 セ ク シ ョ ン を参照 し て く だ さ い。
プ ロ ジ ェ ク ト での IP ステー ト
プ ロ ジ ェ ク ト 内の IP は、 それがカ タ ロ グの最新バージ ョ ン なのか、 出力フ ァ イ ルが生成 さ れてい る のか ど う かな ど に よ っ て、 さ ま ざ ま な ス テー ト にな り ます。 既存の IP (XCI ま たは XCO 形式) を追加する場合、 出力フ ァ イ ルが存在 する のであれば、 それ も 読み込まれます。 IP は、 次の ス テー ト のいずれかで Vivado IDE の GUI に表示 さ れます。 • カ タ ロ グに IP の最新バージ ョ ンが存在し てい ます。 • カ タ ロ グに IP の最新バージ ョ ンが存在し 、 合成タ ーゲ ッ ト が生成 さ れてい ます。 • IP が ロ ッ ク さ れてい ま す。 タ ーゲ ッ ト はあ り ま す。 IP は使用で き ま すが、 変更で き ず、 新規出力フ ァ イ ルは作成 で き ません。 た と えば、 シ ミ ュ レーシ ョ ン タ ーゲ ッ ト がない場合、 それ ら は作成で き ません。 • IP が ロ ッ ク さ れてい ま す。 タ ーゲ ッ ト はあ り ま せん。 IP は現在の ス テー ト では使用で き ま せん。 使用す る と 、 エ ラ ーにな り ます。 次の可能性はあ り ます。 ° IP は IP カ タ ロ グ の最新バージ ョ ン にア ッ プグ レー ド で き ます。 ° ア ッ プグ レー ド オプシ ョ ンはあ り ませんが、 IP はカ タ ロ グに含まれた ま ま です。 最新バージ ョ ン を使用し て IP を作成し 直すか、 元の出力フ ァ イ ルを読み込む必要があ り ます。 ° ア ッ プグ レー ド オプシ ョ ンはな く 、 IP はカ タ ロ グに含まれな く な り ます。 元の出力フ ァ イ ルを読み込ま な い と 、 IP は使用で き ません。 注記 : Vivado IP カ タ ロ グか ら ア ク セ ス で き ないバージ ョ ンの IP コ ア を イ ンポー ト し た場合、IP の再カ ス タ マ イ ズ、 リ セ ッ ト 、 再生成は実行で き ません。
IP のプ ロ ジ ェ ク ト 設定
IP のプ ロ ジ ェ ク ト 設定
図 3-7 に示す よ う に、 グ ロ ーバルに IP のプ ロ ジ ェ ク ト 設定を し てお く と 、 IP を カ ス タ マ イ ズす る 際の生産性が向上 し ます。 デフ ォル ト 設定には、 次の 2 つの主な カ テ ゴ リ が含まれます。 • [Repository Manager] : IP レ ポ ジ ト リ リ ス ト に追加す る デ ィ レ ク ト リ を指定 し ま す。 IP は、 ユーザーがパ ッ ケージ で き る ほか、 サー ド パーテ ィ サプ ラ イ ヤーか ら 入手する こ と も で き ます。 [Apply] を ク リ ッ ク する と 、 各レ ポジ ト リ に IP が表示 さ れ る よ う にな り ます。 • [Packager] : ベン ダー、 ラ イ ブ ラ リ 、 命名規則を含めて新 し い IP をパ ッ ケージにす る 際のデフ ォ ル ト 値を設定 し ま す。 こ のカ テ ゴ リ では、 IP パ ッ ケージ ャーを開いた と き のデフ ォル ト ビヘ イ ビ ア を設定 し た り 、 自動的にフ ィ ル タ ー さ れ る フ ァ イ ル拡張子を指定で き た り し ます。 注記 : 必要であれば、 IP パ ッ ケージ プ ロ セ ス中に IP をパ ッ ケージにする 際のデフ ォル ト 値は変更で き ます。 [IP] ページお よ び IP カ タ ロ グは、 RTL プ ロ ジ ェ ク ト ま たは Getting Started ページか ら [Manage IP] リ ン ク を使用 し た場合にのみ使用可能です。X-Ref Target - Figure 3-7
IP ボー ド フ ロー
IP ボー ド フ ロー
一部の IP でサポー ト さ れ る IP ボー ド フ ロ ー機能を使用する と 、 IP を カ ス タ マ イ ズ中にボー ド イ ン タ ーフ ェ イ ス を 選択で き ます。 こ の機能を使用す る 場合、 IP の物理制約の作成は自動化 さ れ、 特定の _board.xdc フ ァ イ ルで追加の XDC 制約が含 ま れ る よ う にな り ます。図 3-8 に示す よ う に、新規プ ロ ジ ェ ク ト を作成す る プ ロ セ ス でデフ ォ ル ト パー ツ と し てボー ド を選択 し ます。 リ ス ト さ れ る ボー ド の 1 つを選択する と 、 ボー ド フ ロ ーをサポー ト する IP を カ ス タ マ イ ズする と き に、 新し い タ ブ が表示 さ れます (図 3-9)。X-Ref Target - Figure 3-8
図 3-8 : デフ ォル ト パーツ と し てのボー ド の選択
X-Ref Target - Figure 3-9
IP ボー ド フ ロー
図 3-10 は、 [Generate Board based IO Constraints] を オ ン に し た と こ ろ を示 し てい ま す。 こ れ を オ ン にす る と 、 IP イ ン
タ ーフ ェ イ ス を使用可能なボー ド イ ン タ ーフ ェ イ ス に関連付け る こ と がで き ます。
IP の出力フ ァ イ ルが [IP Sources] タ ブに生成 さ れ る と 、 <IP_name>_board.xdc フ ァ イ ルが リ ス ト さ れ ます。 こ の フ ァ イ ルには、 IP のポー ト を USB ポー ト 、 LED ボ タ ン、 ス イ ッ チな ど の関連す る ボー ド コ ネ ク タ やデバ イ ス に接続す る パ ッ ケージ ピ ンに割 り 当て る 物理制約が含まれ ます。図 3-11 は、 GPI0 イ ン タ ーフ ェ イ ス がボー ド の LCD イ ン タ ー フ ェ イ ス に接続 さ れ、 GPIO2 イ ン タ ーフ ェ イ ス がボー ド のプ ッ シ ュ ボ タ ンに接続 さ れた と き に GPIO IP 用に作成 さ れた XDC 制約を示し てい ます。 次の IP では、 現在の と こ ろボー ド フ ロ ーがサポー ト さ れてい ます。 • AXI GPIO • AXI Ethernet Lite • AXI EMC
• AXI UART (16550 and lite) • AXI IIC
• Clocking Wizard • Proc Sys Reset X-Ref Target - Figure 3-10
図 3-10 : IP イ ン タ ー フ ェ イ ス と ボー ド イ ン タ ー フ ェ イ スの関連付け
X-Ref Target - Figure 3-11
IP のイ ン ス タ ン シ エー ト
IP のイ ン ス タ ン シ エー ト
IP イ ン ス タ ン ス を カ ス タ マ イ ズ し てプ ロ ジ ェ ク ト に追加す る と 、[Sources] ビ ュ ーの [IP Sources] タ ブに表示 さ れ ます。 IP イ ン ス タ ン ス を展開す る と 、 [Implementation Template] フ ォ ルダーに イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト を含む VHO/VEO フ ァ イ ルが表示 さ れ ま す。 こ の イ ン ス タ ン シ エーシ ョ ン テ ン プ レ ー ト を RTL デザ イ ン に コ ピー し て貼 り 付け る こ と がで き ます。
図 3-12 に、 FIFO Generator コ アの イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト を示 し ます。
1. イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト をデザ イ ンで使用する には、 IP コ アの VEO ま たは VHO テ ンプ レー ト フ ァ イ ル と RTL デザ イ ン フ ァ イ ルを、 [Sources] ビ ューでダブル ク リ ッ ク する か、 右 ク リ ッ ク し て [Open File] を ク リ ッ ク し 、 テ キ ス ト エデ ィ タ ーで開き ます。 2. VEO ま たは VHO テ ン プ レー ト フ ァ イ ルで イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト を選択 し て コ ピー し 、 RTL デ ザ イ ンの適切な位置に貼 り 付け ます。 3. IP テ ン プ レー ト をデザ イ ン に組み込むために必要な変更を加え ま す。 IP コ ア をデザ イ ン に正 し く イ ン ス タ ン シエー ト し た ら 、 IP コ ア をデザ イ ン の残 り の部分 と 共に合成で き ます。
IP の合成
デフ ォル ト では、 合成を実行する と 、 デザ イ ン全体 と 共に IP も 合成 さ れます。 ロ ジ ッ ク を変更する たびに IP が再合 成 さ れない よ う にす る には、 IP を前合成 し てお く こ と がで き ます。 合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) は、 IP を 最初にカ ス タ マ イ ズ し てプ ロ ジ ェ ク ト に追加 し た と き か、 後で新 し い出力フ ァ イ ルを生成 し た と き に生成で き ます。 X-Ref Target - Figure 3-12IP の合成
こ れには、IP がプ ロ ジ ェ ク ト が追加 さ れた後に、[Sources] ビ ュ ーでその IP を右 ク リ ッ ク し 、[Generate Output Products] を ク リ ッ ク し ます (図 3-13)。
[Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス が開 き ま す。図 3-14 の よ う に、 [Generate Synthesized Design Checkpoint (.dcp)] を オ ン に し ます。
注記 : ま たは、 [Hierarchy] タ ブで IP の XCI フ ァ イ ルを右 ク リ ッ ク し、 [Set As Out-Of-Context Module] を ク リ ッ ク し ま す。 ただ し 、 こ れには合成 run 用に作成 さ れた フ ァ イ ル セ ッ ト に名前を付けて、 IP の合成 run を手動で起動する必要 があ り ます。 こ れは、 コ ン テキ ス ト 外 (out-of-context) で合成 さ れ る よ う に階層レベルを設定する一般的な メ カニズ ム です。 合成前の IP に推奨 さ れ る フ ロ ーは、 [Generate Output Products] フ ロ ーです。
DCP を生成す る と 、 次が実行 さ れ ます。
• 新 し い フ ァ イ ル セ ッ ト が作成 さ れ、 IP の合成出力タ ーゲ ッ ト がそ こ に コ ピー さ れます。 • IP に対 し て新 し い合成 run が設定 さ れ、 起動 さ れ ます。
X-Ref Target - Figure 3-13
図 3-13 : IP の合成後のデザイ ン チ ェ ッ ク ポ イ ン ト の作成
X-Ref Target - Figure 3-14
IP のシ ミ ュ レーシ ョ ン
• [Hierarchy] タ ブの IP イ ン ス タ ン ス の位置が下が っ て、 新 し い レベルが追加 さ れ ま す (図 3-15)。 ア イ コ ンは、 DCP が使用 さ れ、 デザ イ ン全体の合成でブ ラ ッ ク ボ ッ ク ス が推論 さ れた こ と を示 し ま す。
DCP の代わ り に RTL を使用す る よ う に戻すには、 次のいずれか を実行 し ます。
• IP の XCI を [Hierarchy] タ ブで右 ク リ ッ ク し 、 [Reset Output Products] を ク リ ッ ク し ま す。 • DCP を [Hierarchy] タ ブで右 ク リ ッ ク し 、 [Unset Out-Of-Context Module] を ク リ ッ ク し ます。
[Unset Out-of-Context Module] を ク リ ッ ク す る と 、その他の生成 さ れた出力フ ァ イ ルが保持 さ れ、[Reset Output Products] を ク リ ッ ク する と 、 その IP のすべての出力フ ァ イ ルが削除 さ れます。
こ の フ ロ ーは、 Out-Of-Context (OOC) の XDC フ ァ イ ル を 含む IP にのみ使用す る こ と を お勧め し ま す。 OOC XDC (_ooc.xdc) フ ァ イ ルには、 IP のデフ ォ ル ト の ク ロ ッ ク 情報が含ま れ ま す。 IP は独立 し て (out-of-context で) 実行 さ れ る ので、 最上位 ク ロ ッ ク 情報は含ま れません。 ほ と ん ど の IP には こ う い っ たデフ ォ ル ト の ク ロ ッ ク 定義が提供 さ れて いて、 合成で タ イ ミ ン グ最適化に使用 さ れます。 IP に OOC の XDC フ ァ イ ルが含まれ る か ど う かは、 [IP Sources] タ ブ の Synthesis フ ォ ル ダ ーに <component_name>_ooc.xdc の よ う な 名前の フ ァ イ ル が な い か ど う か で わ か り ま す。 Out-Of-Contex フ ロ ーは、 IP を カ ス タ マ イ ズす る 際に [Manage IP] フ ロ ー を 使用す る 場合 も 実行で き ま す。 詳細は、
第 2 章 「再利用可能な IP の作成およ び管理」 を参照 し て く だ さ い。
注記 : こ のフ ローを説明する演習については、
『Vivado Design Suite チ ュ ー ト リ アル : IP を使用 し た設計』
(
UG939
)
を参照 し て く だ さ い。IP のシ ミ ュ レ ーシ ョ ン
RTL デザイ ン での I P のシ ミ ュ レーシ ョ ン
Flow Navigator で [Run Simulation] を ク リ ッ ク す る と 、 デザ イ ン 全体 と 共に IP コ ア が シ ミ ュ レ ー シ ョ ン さ れ ま す。 Vivado IDE では、IP と 共に供給 さ れてい る シ ミ ュ レーシ ョ ン ソ ー ス を使用 し て、デザ イ ン全体の論理シ ミ ュ レーシ ョ ンが実行 さ れます。 ビヘ イ ビ ア モデル、 テ キ ス ト 形式の合成可能な ソ ース、 ま たは暗号化 さ れた合成可能な ソ ース が VHDL ま たは Verilog シ ミ ュ レーシ ョ ン モデル と し て提供 さ れてい ます。 シ ミ ュ レーシ ョ ン ソ ー ス と し て暗号化 さ れ た フ ァ イ ルが提供 さ れ る IP では、 選択 さ れた シ ミ ュ レー タ (Vivado シ ミ ュ レ ー タ ま たは QuestaSim/ModelSim) のシ ミ ュ レ ーシ ョ ン ソ ース の コ ンパ イ ルは Vivado IDE で管理 さ れ ま す。 ま た、 プ ロ ジ ェ ク ト の タ ーゲ ッ ト 言語の IP シ ミ ュ レーシ ョ ン ソ ース がない場合は、 混合モー ド のシ ミ ュ レーシ ョ ン用にプ ロ ジ ェ ク ト が設定 さ れます。
Vivado Design Suite 内でのシ ミ ュ レーシ ョ ン の実行方法の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レ ー シ ョ ン』 (UG900) を 参照 し て く だ さ い。 タ ー ミ ナル コ マ ン ド ラ イ ン か ら Vivado Design Suite 外で Vivado Simulator (xsim) お よ び QuestaSim/ModelSim を 使用 し て シ ミ ュ レ ーシ ョ ン を 実行す る ス ク リ プ ト の作成について は、
第 2 章 「再利用可能な IP の作成およ び管理」 を参照 し て く だ さ い。
その他のシ ミ ュ レー タ を使用 し たシ ミ ュ レーシ ョ ン
Vivado IDE に含ま れ る ザ イ リ ン ク ス IP は、 サー ド パーテ ィ シ ミ ュ レー タ で ビヘ イ ビ ア シ ミ ュ レーシ ョ ン ま たはネ ッ ト リ ス ト シ ミ ュ レーシ ョ ンで き ます。 Vivado IDE の IP のほ と ん どに、 主なシ ミ ュ レータ すべてでサポー ト さ れ る業 界標準の IEEE P1735 を使用 し て暗号化 さ れた HDL フ ァ イ ルが含まれます。
X-Ref Target - Figure 3-15
デザイ ン内での IP の制約 サー ド パーテ ィ シ ミ ュ レータ を使用し て ビヘ イ ビ ア シ ミ ュ レーシ ョ ン を実行前に、 まずシ ミ ュ レーシ ョ ンに必要な フ ァ イ ルお よ びそれが属す る ラ イ ブ ラ リ を決定 し てお く 必要があ り ます。 同様に、 合成後のシ ミ ュ レーシ ョ ン前に、 構造シ ミ ュ レーシ ョ ン モデル (EDIF、 Verilog、 VHDL) を作成する 必要があ り ます。 サー ド パーテ ィ シ ミ ュ レータ の使用方法については、第 2 章 「再利用可能な IP の作成およ び管理」 の 「その他のシ ミ ュ レー タ 」 を参照 し て く だ さ い。 ビヘ イ ビ ア シ ミ ュ レーシ ョ ンお よ びネ ッ ト リ ス ト シ ミ ュ レーシ ョ ンに関する 情 報が含まれてい ます。
デザイ ン内での IP の制約
Vivado IDE は、 IP を含むデザ イ ン全体の XDC タ イ ミ ン グ制約お よ び物理制約を管理 し ます。 プ ロ ジ ェ ク ト に複数回 イ ン ス タ ン シエー ト さ れてい る ザ イ リ ン ク ス IP に含ま れ る デザ イ ン エ レ メ ン ト の制約の関連付けお よ び固有化は、 Vivado IDE で処理 さ れ ま す。 IP カ タ ロ グ のほ と ん ど の IP では、 カ ス タ マ イ ズに基づいて、 IP 特定の XDC 制約が生 成 さ れ ます。 IP 特定の XDC 制約は、 デザ イ ンの合成お よ び イ ン プ リ メ ン テーシ ョ ン中、 ユーザー定義の XDC 制約 が処理 さ れ る 前に読み込 ま れ ま す。 IP に含ま れ る 可能性のあ る XDC フ ァ イ ルの リ ス ト については、 付録の 「IP の フ ァ イ ルお よ びデ ィ レ ク ト リ 構造」 セ ク シ ョ ン を参照 し て く だ さ い。注記 : IP の XDC 制約の特性を含む XDC 制約に関する情報の詳細は、『Vivado Design Suite ユーザー ガ イ ド : 制約の使 用』 (UG903) を参照し て く だ さ い。
IP のサン プル デザイ ンの使用
サンプル デザ イ ンは、 その機能をサポー ト する IP コ ア用に生成 さ れた出力フ ァ イ ルの 1 つです。 出力フ ァ イ ルを生 成す る と 、 RTL がで き 、 こ れを確認で き ます。 RTL では、 IP がサンプル デザ イ ンの最上位に イ ン ス タ ン シエー ト さ れます。
図 3-16 に示す よ う に、 [IP Sources] タ ブ ま たは [Hierarchy] タ ブで IP を右 ク リ ッ ク し 、 [Open IP Example Design] を ク
リ ッ ク する と 、 新 し い Vivado IDE セ ッ シ ョ ンでサンプル デザ イ ン を開 く こ と がで き ます。 サンプル デザ イ ン を開 く 前に出力 フ ァ イ ルを生成す る 必要はあ り ま せん。 IP にサ ン プル デザ イ ン が含ま れ る 場合にのみ、 [Open IP Example Design] が ク リ ッ ク で き る よ う にな り ます。
こ れ を ク リ ッ ク す る と 、 example_design デ ィ レ ク ト リ の位置 を 指定で き る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ま す (
図 3-17)。 サ ン プル デザ イ ン プ ロ ジ ェ ク ト は、 こ のデ ィ レ ク ト リ に保存 さ れ ます。 各 IP のサ ン プル デザ イ ンはそれ
X-Ref Target - Figure 3-16
IP ス テー タ スのレポー ト と IP のア ッ プグ レー ド
ぞれ別のデ ィ レ ク ト リ に保存 さ れてい ます。 た と えば、char_fifo と い う IP の場合、デ ィ レ ク ト リ 名は char_fifo_example です。
Vivado IDE に新 し いセ ッ シ ョ ン が開いて、 [Sources] ビ ュ ーにそのサン プル デザ イ ン が表示 さ れ ま す (図 3-18)。 IP は サンプル XDC 制約フ ァ イ ルを使用し てサンプル デザ イ ンに イ ン ス タ ン シエー ト さ れ る ので、 IP を さ ら に詳し く 評価 で き ます。
IP ス テー タ スのレ ポー ト と IP のア ッ プグ レー ド
IP を最新バージ ョ ン にア ッ プグ レー ド す る には、 次の方法を使用 し ま す。 • IP を右 ク リ ッ ク し た ポ ッ プア ッ プ メ ニ ュ ーか ら [Upgrade IP] を使用 • [Report IP Status] コ マ ン ド を使用プ ロ ジ ェ ク ト に含まれ る IP すべての ス テータ ス は、 [Tools] → [Report] → [Report IP Status] か ら レ ポー ト で き ます
(図 3-19)。 結果の名前は指定で き 、 オプシ ョ ン で レ ポー ト を テ キ ス ト フ ァ イ ルで出力す る こ と も で き ま す。 プ ロ ジ ェ
X-Ref Target - Figure 3-17
図 3-17 : [Open IP Example Design] ダ イ ア ログ ボ ッ ク ス
X-Ref Target - Figure 3-18
IP ス テー タ スのレポー ト と IP のア ッ プグ レー ド
ク ト の レ ポー ト が前に生成 さ れていない場合は、 [Open in a new tab] オプシ ョ ンは自動的にオンにな り 、 淡色表示にな り ます。
[OK] を ク リ ッ ク し た ら 、 [IP Status] タ ブが新 し く 作成 さ れて、 レ ポー ト 結果が表示 さ れ ます。 run が複数あ る 場合は、 それぞれが別の タ ブで表示 さ れます (図 3-20)。 [Open in a new tab] をオ ン にす る と (図 3-19)、 [Results Name] は異な る 名前にな り ます。 レ ポー ト を上書き する には、 こ のチ ェ ッ ク ボ ッ ク ス をオフ に し て、 同じ 名前を入力し ます。 名前が 既に使用 さ れてい る 場合は、 それが上書き さ れます。
こ こ か ら 、 一部の IP を選択、 ま たはすべての IP を ア ッ プグ レー ド で き ます。 IP を右 ク リ ッ ク し て、 変更ロ グ を確認 し た り ([More Info] リ ン ク を ク リ ッ ク ) 、 IP の製品ガ イ ド を表示し た り で き ます。
こ の レ ポー ト は、 Tcl コ マ ン ド の report_ip_status を コ マ ン ド ラ イ ンに入力し て も 生成で き ます。 -file <file_name> オプ シ ョ ン を使用する と 、 テ キ ス ト フ ァ イ ルを作成する こ と も で き ます。
IP を含む古いプ ロ ジ ェ ク ト を読み込む と 、 IP ス テー タ ス レ ポー ト を開いてデザ イ ン に含 ま れ る IP の ス テー タ ス を確 認する かど う かを尋ねる メ ッ セージが表示 さ れます。
X-Ref Target - Figure 3-19
図 3-19 : IP ス テー タ ス レポー ト の生成
X-Ref Target - Figure 3-20
IP 操作の Tcl コ マ ン ド
自動ア ッ プグ レー ド がサポー ト さ れ る IP の場合、図 3-21 に示す よ う に [IP Sources] タ ブで IP イ ン ス タ ン ス を右 ク リ ッ ク し て [Upgrade IP] を ク リ ッ ク する と 、 IP がア ッ プグ レー ド さ れます。
IP のア ッ プグ レー ド は、 次の よ う に Tcl コ マ ン ド upgrade_ip を使用 し て も 実行で き ます。 upgrade_ip [get_ips clk_core]
引数を指定 し ない場合、 コ マ ン ド はプ ロ ジ ェ ク ト に含ま れ る すべての IP を ア ッ プグ レー ド パ ス が存在する 場合は、 最新バージ ョ ンにア ッ プグ レー ド し ます。
IP 操作の Tcl コ マ ン ド
Vivado IP カ タ ロ グ は Vivado IDE に統合 さ れてお り 、 Vivado IDE お よ び Tcl 設計環境か ら ス ムーズに ア ク セ ス で き ま す。 バ ッ チ モー ド 用に、 IP の作成、 カ ス タ マ イ ズ、 出力フ ァ イ ルの生成な どの GUI で実行する 各操作に対応する Tcl コ マ ン ド があ り 、GUI で実行で き る操作は ス ク リ プ ト で自動化し て実行で き ます。IP のパ ラ メ ータ ー も 、Tcl コ ン ソ ー ルか ら 直接設定で き ます。 次はその例です。
ア キ ュ ム レー タ IP の イ ン ス タ ン ス を作成する には、 次を入力し ます。
create_ip -name c_accum -version 12.0 -vendor xilinx.com -library ip -module_name c_accum_0
入力幅お よ び出力幅な ど のカ ス タ マ イ ズ パ ラ メ ータ ーを変更する には、 次を入力 し ます。
set_property -dict [list CONFIG.Input_Width {10} CONFIG.Output_Width {10}] [get_ips c_accum_0]
出力フ ァ イ ルを選択 し て生成する には、 次を入力 し ます。
generate_target {synthesis instantiation_template simulation} [get_ips c_accum_0] 生成 さ れ る 出力フ ァ イ ルを リ セ ッ ト する には、 次を入力 し ます。
reset_target all [get_ips c_accum_0] X-Ref Target - Figure 3-21