Comments
Transcript
Vivado Design Suite ユーザー ガイド : デザイン フローの概要
Vivado Design Suite ユーザー ガ イ ド デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 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 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. 本資料は英語版 (v2012.2) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け てお り ません。 あ ら か じ めご了承 く だ さ い。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 2012 年 7 月 25 日 2012.2 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 改訂内容 初版 japan.xilinx.com 2 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 第 1 章 : 概要 高レベル デザ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 第 2 章 : デザイ ン フ ローの機能 RTL 開発お よ び解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP の設定 と イ ンプ リ メ ン テーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク シ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O ピ ン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク 合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ネ ッ ト リ ス ト の解析お よ び制約の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ンプ リ メ ン テーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ンプ リ メ ン テーシ ョ ン結果の解析お よ び フ ロ アプ ラ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デバ イ ス のプ ロ グ ラ ム、 検証、 お よ びデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 7 7 7 7 8 8 8 第 3 章 : 基本的なデザイ ン フ ロー プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 プ ロ ジ ェ ク ト モー ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 非プ ロ ジ ェ ク ト モー ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 付録 A : その他の リ ソ ース ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 リ フ ァ レ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 3 第 1章 概要 高レ ベル デザイ ン フ ロー Vivado™ Design Suite では、 ザ イ リ ン ク ス FPGA のデザ イ ンお よ び検証に関す る タ ス ク を、 さ ま ざ ま な方法で達成で き ます。 従来か ら の RTL か ら ビ ッ ト ス ト リ ーム ま での FPGA デザ イ ン フ ロ ーに加え、 Vivado Design Suite では IP 中 心のデザ イ ンに焦点を置いたシ ス テ ム レベルの統合フ ロ ーを提供 し てい ます。 デザ イ ンの解析お よ び検証は、 フ ロ ー の各段階で実行で き ます。 デザ イ ン解析機能には、 ロ ジ ッ ク シ ミ ュ レーシ ョ ン、 I/O お よ び ク ロ ッ ク 配置、 消費電力 解析、 タ イ ミ ン グ解析、 デザ イ ン ルール チ ェ ッ ク (DRC)、 デザ イ ン ロ ジ ッ ク お よ び イ ンプ リ メ ン テーシ ョ ン結果の 表示、 プ ロ グ ラ ムお よ びデバ ッ グ な ど があ り ます。 ソ リ ュ ーシ ョ ン全体は、 Vivado 統合設計環境 (IDE) と い う グ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) に統合 さ れてい ます。 Vivado IDE では、 デザ イ ンお よ び IP を作成、 イ ン プ リ メ ン ト 、 お よ び検証す る イ ン タ ーフ ェ イ ス が提 供 さ れてい ます。 ま た、 すべての フ ロ ーは Tcl アプ リ ケーシ ョ ン プ ロ グ ラ ミ ン グ イ ン タ ーフ ェ イ ス (API) を使用 し て も 実行で き ます。 Tcl コ マ ン ド は、 Tcl プ ロ ンプ ト か ら 入力 し て対話的に実行す る か、 Tcl ス ク リ プ ト に保存 し て使用 で き ます。 Tcl ス ク リ プ ト を使用 し て、 デザ イ ン解析を含むデザ イ ン フ ロ ー全体を実行 し た り 、 フ ロ ーの一部のみを 実行で き ます。 図 1-1 に、 Vivado Design Suite での高レベル デザ イ ン フ ロ ーを示 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 4 高レベル デザイ ン フ ロー X-Ref Target - Figure 1-1 &䝋䞊䝇 㧗ྜᡂ 6\VWHP *HQHUDWRU '63䝕䝄䜲䞁 ,3⤫ྜ 䜶䞁䝧䝕䝑䝗䚸 䝻䝆䝑䜽䚸'63 ,3 䝟䝑䜿䞊䝆 䝋䞊䝇 57/䚸 䝛䝑䝖䝸䝇䝖䚸 ไ⣙ ,3䜹䝍䝻䜾 57/䝅䝇䝔䝮⤫ྜ 䝄䜲䝸䞁䜽䝇,3 䝃䞊䝗䝟䞊䝔䜱,3 䝴䞊䝄䞊,3 ྜᡂ 䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁 䝥䝻䜾䝷䝮䛚䜘䜃 䝕䝞䝑䜾 䝕䝄䜲䞁ゎᯒ ไ⣙ 䝅䝭䝳䝺䞊䝅䝵䞁 䝕䝞䝑䜾 䜽䝻䝇䝥䝻䞊䝤 (&2 ; 図 1-1 : Vivado Design Suite の高レベル デザイ ン フ ロー デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 5 第 2章 デザイ ン フ ローの機能 RTL 開発および解析 Vivado™ IDE には、 RTL の開発に役立つ次の よ う な機能が含まれてい ます。 • ソ ース フ ァ イ ルを作成お よ び編集す る テ キ ス ト エデ ィ タ ー • ロ ジ ッ ク コ ン ス ト ラ ク ト の例を コ ピー し て使用で き る 言語テ ンプ レー ト • 検索条件を入力 し てテ ンプ レー ト ラ イ ブ ラ リ を検索可能な [Find in Files] 機能 エ ラ ボ レー ト さ れた RTL デザ イ ン を開 く と 、 RTL ソ ース フ ァ イ ルがエ ラ ボ レー ト さ れ、 RTL ネ ッ ト リ ス ト が自動的 に読み込まれ、 RTL 構造、 構文、 ロ ジ ッ ク 定義を確認で き ます。 次の解析お よ びレ ポー ト 機能があ り ます。 • RTL の コ ンパ イ ル検証お よ び構文チ ェ ッ ク • ネ ッ ト リ ス ト お よ び回路図の確認 • デザ イ ン ルール チ ェ ッ ク (DRC) • ビヘ イ ビ アー シ ミ ュ レーシ ョ ン • RTL ポー ト リ ス ト を使用 し た初期 I/O ピ ン配置 • 1 つの ビ ュ ーで RTL ソ ース フ ァ イ ル内の イ ン ス タ ン シエーシ ョ ンお よ び ロ ジ ッ ク 定義な ど のオブジ ェ ク ト を選 択する と 、 ほかの ビ ュ ーで も 自動選択 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) を参照 し て く だ さ い。 IP の設定 と イ ン プ リ メ ン テーシ ョ ン Vivado Design Suite では、 IP を設定、 イ ンプ リ メ ン ト 、 検証、 お よ び統合す る 環境が提供 さ れてい ます。 IP は、 ス タ ン ド ア ロ ン のモジ ュ ール と し て、 ま たはシ ス テ ム レ ベル デザ イ ン の一部 と し て設定お よ び検証で き ます。 IP には、 エンベデ ッ ド プ ロ セ ッ サ、 DSP デジ タ ル信号処理モジ ュ ール、 C ベース のアルゴ リ ズ ム デザ イ ン な ど も 含まれます。 IP-XACT プ ロ ト コ ルに準拠する カ ス タ ム IP をパ ッ ケージ化 し て、 Vivado IP カ タ ロ グか ら 使用で き る よ う にす る こ と も 可能です。IP カ タ ロ グか ら IP を簡単に設定、 イ ン ス タ ン シエー ト 、お よ び検証で き ます。ザ イ リ ン ク ス IP は AMBA AXI4 イ ン タ ー コ ネ ク ト 規格を使用 し てお り 、 高速シ ス テ ム レ ベル統合が可能です。 既存の IP は、 デザ イ ン で RTL ま たはネ ッ ト リ ス ト と と し て使用で き ます。 ま た、 Vivado IDE では CORE Generator™ ツールで作成 さ れた コ ア (拡張 子 .xco のフ ァ イ ル) も 使用で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) を 参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 6 ロ ジ ッ ク シ ミ ュ レーシ ョ ン ロ ジ ッ ク シ ミ ュ レ ーシ ョ ン Vivado IDE に統合 さ れてい る Vivado シ ミ ュ レー タ では、 デザ イ ンのシ ミ ュ レーシ ョ ン、 波形ビ ュ ーアーでの信号の 追加お よ び表示、 デザ イ ンの確認お よ びデバ ッ グ を必要に応 じ て実行で き ます。 Vivado シ ミ ュ レー タ では、 デザ イ ン の ビヘ イ ビ アー シ ミ ュ レーシ ョ ンお よ び イ ンプ リ メ ン ト 済みデザ イ ンの タ イ ミ ン グ シ ミ ュ レーシ ョ ン を実行で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) を参照 し て く だ さ い。 I/O ピ ン配置 Vivado IDE には I/O ピ ン配置環境が含まれてお り 、 デバ イ ス パ ッ ケージ ピ ン ま たは内部ダ イ パ ッ ド に I/O ポー ト を 正 し く 割 り 当て る こ と がで き ます。 さ ま ざ ま な表示ビ ュ ーお よ び表があ り 、 パ ッ ケージお よ び I/O 関連デー タ を解析 で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。 ロ ジ ッ ク合成 Vivado Design Suite では、 Vivado 合成を使用 し て、 合成 run を設定、 起動、 お よ び監視で き ます。 合成結果が表示 さ れ、 レ ポー ト フ ァ イ ルに も ア ク セ ス で き ます。 [Log] ビ ュ ーか ら 合成の警告ま たはエ ラ ーを選択す る と 、 ソ ース フ ァ イ ルで該当する ロ ジ ッ ク がハ イ ラ イ ト さ れます。 複数の合成 run を同時に、 ま たは 1 つずつ順に実行で き ま す。 Linux シ ス テ ム では、 run を ロ ーカル ま たは リ モー ト サーバーで実行で き ます。 複数の合成 run を実行す る と 、 複数のネ ッ ト リ ス ト が作成 さ れ、 Vivado Design Suite プ ロ ジ ェ ク ト 内に保存 さ れ ます。 ど のバージ ョ ンのネ ッ ト リ ス ト で も 、 Vivado Design Suite 環境に読み込んでデバ イ スお よ びデザ イ ンの解析を実行で き ます。 ま た、 I/O ピ ン配置、 フ ロ アプ ラ ン、 お よ び イ ンプ リ メ ン テーシ ョ ン用に制約 を作成で き ます。 デザ イ ン を合成 し て合成済みネ ッ ト リ ス ト を作成す る と 、 ク ロ ッ ク と ク ロ ッ ク ロ ジ ッ ク を解析お よ び配置で き る よ う にな り 、 包括的なデザ イ ン ルール チ ェ ッ ク (DRC) を実行で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) を参照 し て く だ さ い。 ネ ッ ト リ ス ト の解析お よび制約の定義 Vivado Design Suite では、 デザ イ ン を解析 し 、 制約を割 り 当て る こ と がで き ます。 デザ イ ンの問題を早期に特定す る ため、 イ ン プ リ メ ン テーシ ョ ンの前に タ イ ミ ン グ シ ミ ュ レーシ ョ ン、 リ ソ ース予測、 接続性の解析、 DRC な ど、 タ イ ミ ン グ解析を実行で き ます。 デザ イ ン デー タ は異な る ビ ュ ーに さ ま ざ ま な形式で表示で き 、 ビ ュ ーのデー タ は連動 し てい ます。 Vivado IDE では、 チ ッ プ内部お よ び外部パ ッ ケージの対話型グ ラ フ ィ カル表示で、 デバ イ ス リ ソ ース を解析で き ま す。 タ イ ミ ン グ制約お よ び物理制約を適用 し 、 解析で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び タ イ ミ ン グ ク ロ ージ ャ 』 (UG906) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 7 イ ン プ リ メ ン テーシ ョ ン イ ン プ リ メ ン テーシ ョ ン Vivado Design Suite では、 イ ンプ リ メ ン テーシ ョ ン run を設定、 起動、 お よ び監視で き ま す。 イ ン プ リ メ ン テーシ ョ ン run 用に異な る イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン を設定 し 、 再利用可能な ス ト ラ テ ジ を作成で き ま す。 た と え ば、 短い ラ ン タ イ ム、 パフ ォーマ ン ス、 エ リ ア最適化の ス ト ラ テジ を作成で き ます。 イ ンプ リ メ ン テーシ ョ ン run の 結果は イ ン タ ラ ク テ ィ ブに表示 さ れ、 レ ポー ト フ ァ イ ルに も 簡単にア ク セ ス で き ます。 複数の イ ンプ リ メ ン テーシ ョ ン run を同時に、 ま たは 1 つずつ順に実行で き ます。 Linux では、 リ モー ト サーバーを 使用で き ます。 制約セ ッ ト を作成 し て、 さ ま ざ ま な論理制約、 物理制約、 代替デバ イ ス を設定 し て試す こ と がで き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) を参照 し て く だ さ い。 イ ン プ リ メ ン テーシ ョ ン結果の解析および フ ロアプ ラ ン さ ま ざ ま な run 結果を読み込み、 解析、 制約の設定、 お よ びフ ロ アプ ラ ン を実行で き ます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 ネ ッ ト リ ス ト 、 制約、 イ ンプ リ メ ン テーシ ョ ン結果が表示 さ れます。 複数の run の結果を同時に開 く こ と も で き ます。 Vivado シ ミ ュ レー タ を起動 し て タ イ ミ ン グ シ ミ ュ レーシ ョ ン を実行で き ます。 タ イ ミ ン グ解析、 消 費電力の予測お よ び解析、イ ンプ リ メ ン テーシ ョ ン結果お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンの確認お よ び変更が 可能です。 ま た、 [Device] ビ ュ ーで配置、 配線、 タ イ ミ ン グ結果を グ ラ フ ィ カルに表示 し て解析 し 、 配置配線にマ イ ナーな変更 を加え る こ と がで き ます。 LUT 論理式、 RAM の初期化、 PLL コ ン フ ィ ギ ュ レーシ ョ ン な ど、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン も 変更で き ます。 よ り よ く 一貫 し たパフ ォーマン ス を得 る ため、 イ ンプ リ メ ン テーシ ョ ンの前にデザ イ ン を フ ロ アプ ラ ンする こ と も 可能です。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テーシ ョ ン』 (UG904) お よ び 『Vivado Design Suite ユー ザー ガ イ ド : デザ イ ン解析お よ び タ イ ミ ン グ ク ロ ージ ャ 』 (UG906) を参照 し て く だ さ い。 デバイ スのプ ロ グ ラ ム、 検証、 およびデバ ッ グ 完了 し た ど の イ ンプ リ メ ン テーシ ョ ン run に対 し て も 、 ビ ッ ト ス ト リ ーム フ ァ イ ルを生成で き ます。 ビ ッ ト ス ト リ ー ム フ ァ イ ル生成オプシ ョ ン も 設定可能です。 iMPACT を起動 し て、 デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンお よ びプ ロ グ ラ ムで き ます。 RTL ま たは合成済みネ ッ ト リ ス ト に ILA (Integrated Logic Analyzer) や ICON (Integrated Controller) な ど の IP デバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ンお よ び イ ンプ リ メ ン ト で き ます。 Vivado IDE で合成済みデザ イ ン を開 く と 、 必要なプ ロ ーブ信号を選択 し て コ アに コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れてい る ど の run に対 し て も 、 Vivado ロ ジ ッ ク 解析を実行で き ます。 Vivado ロ ジ ッ ク 解析は Vivado IDE か ら 直接実行で き 、配線お よ びデバ イ ス リ ソ ース を解析で き ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 8 第 3章 基本的なデザイ ン フ ロー プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 Vivado™ Design Suite では、 ユーザーが使いやすい方法でツールを使用で き ます。 すべてのユーザーがツールを同 じ よ う に使用する わけではあ り ません。 GUI を使用 し、 ツールでデザ イ ン プ ロ セ スおよびデザ イ ン データ が自動的に管理 さ れ る よ う にな っ てい る の を好むユーザー も いれば、 ソ ー スお よ びデザ イ ン プ ロ セ ス を自分で管理 し 、 ス ク リ プ ト ベースの コ ンパ イ ル ス タ イ ル フ ローを好むユーザー も い ます。 Vivado Design Suite では、 両方がサポー ト さ れます。 デ ザ イ ン プ ロ セ スの管理には、 Vivado プ ロ ジ ェ ク ト を使用 し ます。 プ ロ ジ ェ ク ト を使用する と 、 デ ィ ス ク 上にデ ィ レ ク ト リ 構造が作成 さ れ、 それを利用 し てデザ イ ン ソ ース フ ァ イ ル、 run の結果、 お よびプ ロ ジ ェ ク ト ス テー タ スが管理 さ れます。 デザ イ ン デー タ、 プ ロ セ ス、 およびス テータ ス が自動的に管理 さ れ る よ う にする には、 プ ロ ジ ェ ク ト 構造 が必要です。 そのため、 こ の フ ローをプ ロ ジ ェ ク ト ベース フ ロ ーま たはプ ロ ジ ェ ク ト モー ド と 呼びます。 コ ンパ イ ル ス タ イ ル フ ロ ーは、 非プ ロ ジ ェ ク ト バ ッ チ フ ロ ーま たは非プ ロ ジ ェ ク ト モー ド と 呼ばれ ます。 こ の フ ロ ーでは、 ソ ース が現在の場所か ら 読み込まれ、 デザ イ ンが メ モ リ 内で コ ンパ イ ル さ れます。 Tcl コ マ ン ド を使用 し 、 デザ イ ン パ ラ メ ー タ ーお よ び イ ンプ リ メ ン テーシ ョ ン オプシ ョ ン を設定 し て各手順を個別に実行す る 必要があ り ま す。 デザ イ ン プ ロ セ ス の ど の段階で も 、 Tcl を使用 し てデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し 、 レ ポー ト を生成で き ま す。 各デザ イ ン段階で、 デザ イ ンの解析お よ び制約の設定を実行す る ために Vivado IDE を開 く こ と がで き ます。 メ モ リ 内のア ク テ ィ ブ デザ イ ンが表示 さ れ、 加え た変更は自動的に フ ロ ーの次の段階に渡 さ れます。 変更は、 新 し い制 約フ ァ イ ルま たはデザ イ ン チ ェ ッ ク ポ イ ン ト と し て保存で き ます。 ただ し 、 ク ロ ス プ ロ ーブ、 デザ イ ン ス テー タ ス、 IP 統合な ど のプ ロ ジ ェ ク ト モー ド の機能の一部は、 非プ ロ ジ ェ ク ト モー ド では使用で き ません。 次に、 こ れ ら のモー ド について詳細に説明 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 9 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 プ ロ ジ ェ ク ト モー ド の概要 プ ロ ジ ェ ク ト モー ド は、 ツール と ザ イ リ ン ク スの推奨事項を理解する 一番簡単なモー ド です。 こ のモー ド では、Vivado IDE でデザ イ ンお よびデザ イ ン プ ロ セ ス が自動的に管理 さ れます。 Vivado IDE の Flow Navigator (図 3-1) を使用 し て、 合成や イ ンプ リ メ ンテーシ ョ ン な ど の定義済みデザ イ ン フ ロー手順を実行で き ます。 Vivado IDE でデ ィ レ ク ト リ 構造 が作成 さ れ、 ソ ース フ ァ イ ル、 制約、 IP (Intellectual Property) デー タ、 合成およ びイ ンプ リ メ ン テーシ ョ ン run の結果、 レ ポー ト な ど を含むデザ イ ンが自動的に管理 さ れます。Vivado IDE では、 ソ ース フ ァ イ ルの ス テー タ ス、 コ ン フ ィ ギ ュ レーシ ョ ン、 デザ イ ンの状態な ど も 管理およ びレ ポー ト さ れます。 こ のモー ド には、 次の機能 も 含まれます。 • IP デザ イ ン を統合 • 複数の run を作成 し て さ ま ざ ま な制約お よ び コ マ ン ド オプシ ョ ン を設定お よ び確認 • イ ンプ リ メ ン テーシ ョ ン結果か ら RTL ソ ース フ ァ イ ルへの ク ロ ス プ ローブ • ノ ンブ ロ ッ キ ン グ形式の GUI 操作 (デザ イ ン段階を実行中で も 、 ほかのジ ョ ブを GUI を使用 し て表示、 解析、 お よ び同時実行可能) 注記 : Tcl コ マ ン ド を使用 し てプ ロ ジ ェ ク ト モー ド を実行 し 、 必要な場合にのみ Vivado IDE を使用す る こ と も で き ます。 X-Ref Target - Figure 3-1 図 3-1 : Vivado IDE の Flow Navigator デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 10 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 プ ロ ジ ェ ク ト モー ド の利点 プ ロ ジ ェ ク ト モー ド を使用す る と 、 次の よ う な多数の利点があ り ます。 • Vivado でデザ イ ンが自動的に管理 さ れます。 次が可能です。 ° プ ロ ジ ェ ク ト ス テー タ ス、 HDL ソ ース、 制約フ ァ イ ル、 お よ び IP が自動的に管理 さ れます。 ° 合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果が生成 さ れます。 ° イ ンプ リ メ ン テーシ ョ ン結果か ら RTL ソ ース フ ァ イ ルへの ク ロ ス プ ローブな ど、 高度なデザ イ ン解析機能 があ り ます。 ° 複数の run を作成 し 、 さ ま ざ ま な制約お よ び コ マ ン ド オプシ ョ ン を設定 し て調べる こ と がで き ます。 • GUI、 Tcl コ マ ン ド 、 お よ び両方を組み合わせて、 デザ イ ンの イ ンプ リ メ ン テーシ ョ ンお よ び解析機能を制御で き ます。 • GUI モー ド では、 Flow Navigator (図 3-1) か ら 、 合成や イ ンプ リ メ ン テーシ ョ ン な ど の定義済みデザ イ ン フ ロ ー 手順を実行 し た り 、 さ ま ざ ま なデザ イ ン解析機能を使用で き ます。 GUI モー ド を使用す る のが、 ツール と ザ イ リ ン ク ス の推奨事項を理解する 一番簡単な方法です。 非プ ロ ジ ェ ク ト モー ド の概要 こ のモー ド では、 Tcl コ マン ド を使用 し て メ モ リ 内でフ ロ ーを実行す る こ と で、 デザ イ ン を コ ンパ イ ルで き ます。 Tcl コ マ ン ド を使用す る と 、 柔軟なデザ イ ンの設定お よ び実行、 解析お よ びデバ ッ グが可能です。 Tcl コ マ ン ド は、 バ ッ チ モー ド で実行す る か、 Tcl プ ロ ンプ ト ま たは Vivado IDE の Tcl コ ン ソ ールか ら 実行で き ます。 こ の フ ロ ーを使用する と 、 ユーザーが各デザ イ ン フ ロ ー段階を完全に制御で き ますが、 ソ ース フ ァ イ ル、 レ ポー ト 、 中間結果 (デザ イ ン チ ェ ッ ク ポ イ ン ト ) を手動で管理す る 必要があ り ます。 さ ま ざ ま な レ ポー ト を生成 し 、 デザ イ ン ルール チ ェ ッ ク (DRC) を実行 し 、 イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス のすべての段階のデザ イ ン チ ェ ッ ク ポ イ ン ト を 書き 出す こ と が可能です。 プ ロ ジ ェ ク ト モー ド の場合 と 異な り 、 複数の run の設定、 ソ ース フ ァ イ ル管理、 ク ロ ス プ ロ ーブ、 デザ イ ン状態の レ ポー ト な ど の機能は含まれません。 ソ ース フ ァ イ ルがア ッ プデー ト さ れ る たびに、デザ イ ン を手動で実行 し 直す必 要があ り ます。 こ のモー ド では、 デフ ォル ト ではレ ポー ト や中間フ ァ イ ルは作成 さ れませんが、 必要に応 じ て Tcl コ マ ン ド を使用 し て レ ポー ト やデザ イ ン チ ェ ッ ク ポ イ ン ト を作成で き ます。 非プ ロ ジ ェ ク ト モー ド では、 メ モ リ に保存 さ れてい る デザ イ ン を Vivado IDE で開いて、 解析 し た り 、 ネ ッ ト リ ス ト や制約を ア ッ プデー ト で き ます。 こ の場合、 Vivado IDE で Flow Navigator、 IP カ タ ロ グ、 [Sources] ビ ュ ー、 メ ッ セー ジやレ ポー ト な ど のプ ロ ジ ェ ク ト モー ド の機能は使用で き ません。 ま た、 Vivado IDE 内で ソ ース フ ァ イ ルや run を 開いた り 変更 し た り す る こ と も で き ま せん。 Tcl コ マ ン ド はブ ロ ッ キ ン グ形式なので、 Vivado IDE を使用す る には、 コ マ ン ド ま たはス ク リ プ ト が終了する の を待つ必要があ り ます。 非プ ロ ジ ェ ク ト モー ド の利点 非プ ロ ジ ェ ク ト モー ド を使用す る 主な利点は、 デザ イ ン フ ロ ーの各段階を ユーザーが完全に制御で き る こ と です。 デザ イ ン を完全に自由に管理で き ますが、 ユーザーが次を実行する 必要があ り ます。 • HDL ソ ース フ ァ イ ル、 制約、 お よ び IP の管理 • 依存性の管理 • 合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果の生成 こ のモー ド では、 次が可能です。 • Tcl コ マ ン ド を使用 し て、 デザ イ ンの コ ンパ イ ルか ら フ ロ ー全体を実行 • Tcl コ マ ン ド ま たは GUI を使用 し て、 デザ イ ン解析お よ びレ ポー ト 生成を実行 注記 : こ のモー ド では、 イ ンプ リ メ ン テーシ ョ ン結果か ら RTL ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブはサポー ト さ れ てい ません。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 11 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 プ ロ ジ ェ ク ト モー ド の場合 と 異な り 、 複数の run の作成お よ び管理、 ソ ー ス フ ァ イ ル管理、 デザ イ ン状態の レ ポー ト な ど の機能は含まれません。 ソ ース フ ァ イ ルがア ッ プデー ト さ れ る たびに、デザ イ ン を手動で実行 し 直す必要があ り ます。 ま た、 デフ ォル ト ではレ ポー ト や中間フ ァ イ ルは作成 さ れません。 ユーザーが手動で生成する 必要があ り ます。 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の違い 2 つのモー ド の間には、 機能お よ びコ マ ン ド に大き な違いがあ り ます。 機能の違い プ ロ ジ ェ ク ト 構造に よ り 、 Vivado IDE でデザ イ ン の履歴が管理 さ れ、 デザ イ ン に関す る 有益な情報が保存 さ れ ま す が、 ツール フ ロ ーはやや固定 さ れた も の と な り 、 run を実行 し た と き に標準の レ ポー ト フ ァ イ ル し か生成 さ れ ま せ ん。 プ ロ ジ ェ ク ト モー ド でのみ使用可能な機能の一部を、 次に示 し ます。 • ソ ース フ ァ イ ルお よ びス テー タ ス の管理 • Flow Navigator お よびプ ロ ジ ェ ク ト サマ リ • 統合 さ れた メ ッ セージお よ び標準レ ポー ト の自動生成 • RTL への ク ロ ス プ ロ ーブ • ツール設定お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンの保存 • 複数の合成 run お よ び イ ンプ リ メ ン テーシ ョ ン run の使用 • 制約セ ッ ト の使用 と 管理 • run の結果お よ びス テー タ ス の管理 • IP カ タ ロ グ を使用 し た IP の設定お よ び統合 非プ ロ ジ ェ ク ト モー ド を使用す る 場合は、 Tcl コ マン ド を使用 し てすべて を個別に実行 し ます。 すべての処理は メ モ リ 内で実行 さ れ る ので、 フ ァ イ ルやレ ポー ト は自動的には生成 さ れません。 デザ イ ン を コ ンパ イ ルする たびに、 ソ ー ス の定義、 ツールお よびデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーの設定、 すべての Tcl コ マン ド の実行、 必要 な レ ポー ト フ ァ イ ルの生成をユーザーの責任で実行す る 必要があ り ます。デ ィ ス ク 上にプ ロ ジ ェ ク ト は作成 さ れない ので、 ソ ース フ ァ イ ルは元の場所に配置 さ れた ま ま にな り 、 指定 し た出力のみが作成 さ れます。 こ の フ ロ ーでは、 Tcl API の優れた機能をすべて活用で き 、 デザ イ ン プ ロ セ ス全体を完全に制御で き ます。 表 3-1 に、 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の違い を ま と め ます。 表 3-1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の違い フ ローの要素 プ ロ ジ ェ ク ト モー ド 非プ ロ ジ ェ ク ト モー ド デザ イ ン ソ ース フ ァ イ ルの管理 自動 手動 フ ロ ー ナビ ゲーシ ョ ン ガイ ド 手動 フ ロ ーのカ ス タ マ イ ズ 制限あ り 制限な し レ ポー ト 自動 手動 GUI 操作 ノ ンブ ロ ッ キ ン グ形式 ブ ロ ッ キ ン グ形式 解析段階 デザ イ ンのみ デザ イ ンお よ びチ ェ ッ ク ポ イ ン ト デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 12 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の理解 コ マ ン ド の違い プ ロ ジ ェ ク ト モー ド の Tcl コ マン ド は、非プ ロ ジ ェ ク ト モー ド で使用 さ れ る コ マン ド と は大 き く 異な り ます。主な違 いは次の と お り です。 • プ ロ ジ ェ ク ト に ソ ース を追加する には、 add_files Tcl コ マン ド を使用 し ます。 ソ ース を プ ロ ジ ェ ク ト に コ ピー し 、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造内で別のバージ ョ ンの ソ ース と し て管理で き ます。 • run を作成 し て、 合成お よ び イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス と run ス テー タ ス を自動的に管理 し ます。 個別の 合成 コ マン ド お よ び イ ンプ リ メ ン テーシ ョ ン コ マ ン ド を包括する ラ ッ パー コ マ ン ド launch_runs が使用 さ れ ます。 図 3-2 に、 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の Tcl コ マ ン ド の違い を示 し ます。 プ ロ ジ ェ ク ト モー ド に は、 ほ と ん ど の場合に Tcl コ マン ド が実行 さ れ る GUI 操作が含まれます。 Vivado IDE の Tcl コ ン ソ ールに表示 さ れ る Tcl コ マ ン ド は、 vivado.jou フ ァ イ ルに も 保存 さ れます。 こ の フ ァ イ ルを使用 し て、 ど ち ら のモー ド で も 使用で き る ス ク リ プ ト を開発で き ます。 X-Ref Target - Figure 3-2 3URMHFW0RGH *8, 1RQ3URMHFW0RGH 7FO6FULSW FUHDWHBSURMHFW DGGBILOHV LPSRUWBILOHV ODXQFKBUXQV\QWKB ZDLWBRQBUXQV\QWKB RSHQBUXQV\QWKB UHSRUWBWLPLQJBVXPPDU\ ODXQFKBUXQLPSOB ZDLWBRQBUXQLPSOB RSHQBUXQBLPSOB UHSRUWBWLPLQJBVXPPDU\ ODXQFKBUXQLPSOBWRBVWHSBZULWHBELWVWUHDP ZDLWBRQBUXQLPSOB 7FO6FULSW UHDGBYHULORJ UHDGBYKGO UHDGBLS UHDGB[GF UHDGBHGLI V\QWKBGHVLJQ UHSRUWBWLPLQJBVXPPDU\ ZULWHBFKHFNSRLQW RSWBGHVLJQ SODFHBGHVLJQ URXWHBGHVLJQ UHSRUWBWLPLQJBVXPPDU\ ZULWHBFKHFNSRLQW ZULWHBELWVWUHDP 図 3-2 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の Tcl コ マ ン ド の違い デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 13 プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド は、 GUI お よ びス ク リ プ ト ベース の両方でサポー ト さ れてい ます。 1 つのプ ロ ジ ェ ク ト で IDE と Tcl コ ン ソ ールを交互に使用で き ます。ただ し 、プ ロ ジ ェ ク ト モー ド は Vivado IDE で使用す る のが有利です。Vivado IDE でプ ロ ジ ェ ク ト を開 く か作成す る と 、 デザ イ ンの現在の状態、 run の結果、 生成 さ れた レ ポー ト お よ び メ ッ セー ジが表示 さ れます。 ソ ース の作成お よび変更、 制約の適用、 デバ ッ グ情報の適用、 ツール設定の指定、 デザ イ ン タ ス ク の実行な ど が可能です。 Flow Navigator を使用す る と 、 デザ イ ン フ ロ ー全体を順を追っ て実行で き ます。 [Generate Bitstream] を ク リ ッ ク す る と 、 デザ イ ンが合成お よ び イ ンプ リ メ ン ト さ れてか ら 、 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れます。 RTL エ ラ ボ レー シ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ンの後にデザ イ ン を開 き 、 解析お よ び制約の定義を実行で き ます。 デザ イ ン を開 く と 、 ネ ッ ト リ ス ト お よ び制約が タ ーゲ ッ ト デバ イ ス に対 し て コ ンパ イ ル さ れ、デザ イ ンが メ モ リ に読み込 まれます。 デザ イ ンが メ モ リ に読み込まれ る と 、 さ ま ざ ま な解析お よ びレ ポー ト 機能が使用で き る よ う にな り ます。 デザ イ ン を さ ま ざ ま な条件お よ び視点か ら 解析で き ます。 制約お よ びデザ イ ンの変更を適用 し 、 保存で き ます。 詳細 は、 「デザ イ ン を開 く 」 ま たは 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 プ ロ ジ ェ ク ト の作成 Create Project ウ ィ ザー ド を使用する と 、 プ ロ ジ ェ ク ト を簡単に作成で き ます。 表示 さ れ る 一連のページでプ ロ ジ ェ ク ト を定義 し てい き ます。 プ ロ ジ ェ ク ト を保存する 名前 と 場所、 プ ロ ジ ェ ク ト タ イ プ (RTL、 ネ ッ ト リ ス ト な ど)、 タ ー ゲ ッ ト パーツ な ど を指定 し ます。RTL、IP、XDC/SDC 制約、 シ ミ ュ レーシ ョ ン テ ス ト ベンチ、System Generator (XMP) か ら の DSP モジ ュ ール、Vivado 高位合成 (HLS) か ら の ソ ース、Xilinx Platform Studio (XPS) か ら のプ ロ セ ッ サ モジ ュ ー ル、 XPS か ら の メ モ リ 初期化フ ァ イ ル (拡張子.bmm)、 デザ イ ン に関す る 文書な ど、 さ ま ざ ま な タ イ プの ソ ース を追 加で き ます。 ソ ース を追加する 際、 ソ ース を元の場所か ら 参照す る か、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る かを 指定で き ます。 Vivado IDE では各フ ァ イ ルの タ イ ム ス タ ンプが監視 さ れ、 ス テー タ ス が レ ポー ト さ れます。 フ ァ イ ル が変更 さ れ る と 、 ソ ース ま たはデザ イ ンの ス テー タ ス が最新でな く な っ た こ と が示 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 14 プ ロ ジ ェ ク ト モー ド の使用 Flow Navigator の理解 Flow Navigator では、 プ ロ ジ ェ ク ト の設定、 合成、 イ ンプ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ームの生成な ど の主なデ ザ イ ン プ ロ セ ス タ ス ク を制御 し ます。 Flow Navigator で使用可能な コ マン ド お よ びオプシ ョ ンは、 デザ イ ンの ス テー タ ス に よ っ て異な り ます。 実行で き ない手順は淡色表示 さ れます。 図 3-3 に Flow Navigator を示 し ます。 X-Ref Target - Figure 3-3 図 3-3 : Flow Navigator こ れ ら のデザ イ ン タ ス ク が完了 し た ら 、 デザ イ ン結果を開 き 、 解析 し た り 、 制約を適用 し た り で き ます。 こ れには、 Flow Navigator で [Open Elaborated Design]、 [Open Synthesized Design]、 ま たは [Open Implemented Design] を ク リ ッ ク し ます。 詳細は、 「デザ イ ン を開 く 」 を参照 し て く だ さ い。 こ れ ら のデザ イ ン 表示に は、 デザ イ ン フ ロ ーに適 し た よ く 使用 さ れ る コ マ ン ド の セ ッ ト が表示 さ れ ま す。 Flow Navigator で こ れ ら の コ マ ン ド を ク リ ッ ク す る と 、 既に開いていない場合はデザ イ ンが開 き 、 操作が実行 さ れます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 15 プ ロ ジ ェ ク ト モー ド の使用 図 3-4 に合成に関連す る コ マン ド を示 し ます。 X-Ref Target - Figure 3-4 図 3-4 : Flow Navigator の [Synthesis] セ ク シ ョ ン RTL プ ロ ジ ェ ク ト での Flow Navigator の使用 図 3-5 に、 RTL ソ ース を入力 と し て使用 し た場合のデザ イ ン フ ロ ーを示 し ます。 X-Ref Target - Figure 3-5 䝥䝻䝆䜵䜽䝖㻌䝋䞊䝇䛾タᐃ 䝋䞊䝇䛾సᡂ䛚䜘䜃⟶⌮ 㻵㻼㻌䛾᳨⣴䚸タᐃ䚸䛚䜘䜃䜲䞁䝥䝸䝯䞁䝖 ไ⣙䝉䝑䝖䛾సᡂ䛚䜘䜃⟶⌮ 䝥䝻䝆䜵䜽䝖タᐃ䛾⟶⌮ 䝕䝄䜲䞁䜎䛯䛿䝰䝆䝳䞊䝹䛾䝅䝭䝳䝺䞊䝅䝵䞁 䜶䝷䝪䝺䞊䝖䛥䜜䛯㻌㻾㼀㻸㻌䝕䝄䜲䞁䜢㛤䛟 䝅䝭䝳䝺䞊䝅䝵䞁䛾タᐃ䛚䜘䜃ไᚚ 䝅䝭䝳䝺䞊䝅䝵䞁䛾ᐇ⾜ ಖᏑ䛥䜜䛶䛔䜛䝅䝭䝳䝺䞊䝅䝵䞁䜢㛤䛟 㻾㼀㻸㻌䝁䞁䝟䜲䝹䛾᳨ド 䝻䝆䝑䜽䛚䜘䜃ᅇ㊰ᅗ䛾ゎᯒ '5&䛾ᐇ⾜ 䝕䝄䜲䞁䛾ྜᡂ ྜᡂ῭䜏䝕䝄䜲䞁䜢㛤䛟 ྜᡂUXQ㻌䛾タᐃ䛚䜘䜃ᐇ⾜ ;67䜎䛯䛿9LYDGRྜᡂ䛾ᐇ⾜ 䝍䜲䝭䞁䜾䚸ᾘ㈝㟁ຊ䚸䝸䝋䞊䝇⏝⋡䛾ண 䝻䝆䝑䜽䛚䜘䜃ᅇ㊰ᅗ䛾ゎᯒ '5&䛚䜘䜃㻌661ゎᯒ䛾ᐇ⾜ ,2䝢䞁㓄⨨ 䝍䜲䝭䞁䜾㻛≀⌮ไ⣙䛾ᐃ⩏ 䝕䝞䝑䜾㻌䝁䜰䛾ᤄධ 䝕䝄䜲䞁䛾䜲䞁䝥䝸䝯䞁䝖 䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁UXQ㻌䛾タᐃ䛚䜘䜃ᐇ⾜ 9LYDGR䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁䛾ᐇ⾜ 䜲䞁䝥䝸䝯䞁䝖῭䜏䝕䝄䜲䞁䜢㛤䛟 䝥䝻䜾䝷䝮䛚䜘䜃䝕䝞䝑䜾 䝍䜲䝭䞁䜾䚸ᾘ㈝㟁ຊ䚸䝸䝋䞊䝇⏝⋡䛾䝺䝫䞊䝖 %,7䝣䜯䜲䝹䛾タᐃ䛚䜘䜃⏕ᡂ L03$&7䜢㉳ື䛧䛶䝕䝞䜲䝇䜢䝥䝻䜾䝷䝮 䝻䝆䝑䜽ゎᯒ䜢ᐇ⾜䛧䛶䝝䞊䝗䜴䜵䜰䜢᳨ド 㓄⨨䛚䜘䜃㓄⥺䛾ゎᯒ 䝍䜲䝭䞁䜾ゎᯒ ไ⣙䛾ㄪᩚ (&2㻌䛾ᐇ⾜ ; 図 3-5 : Flow Navigator (RTL プ ロ ジ ェ ク ト ) デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 16 プ ロ ジ ェ ク ト モー ド の使用 合成済みネ ッ ト リ ス ト プ ロ ジ ェ ク ト での Flow Navigator の使用 図 3-6 に、 合成済みネ ッ ト リ ス ト ベース のプ ロ ジ ェ ク ト のデザ イ ン フ ロ ーを示 し ます。 X-Ref Target - Figure 3-6 䝥䝻䝆䜵䜽䝖䛾⟶⌮ ྜᡂ῭䜏䝕䝄䜲䞁䜢㛤䛟 䝋䞊䝇䛾సᡂ䛚䜘䜃⟶⌮ 㻵㻼㻌䛾᳨⣴䚸タᐃ䚸䛚䜘䜃䜲䞁䝥䝸䝯䞁䝖 ไ⣙䝉䝑䝖䛾సᡂ䛚䜘䜃⟶⌮ 䝥䝻䝆䜵䜽䝖タᐃ䛾⟶⌮ 䝍䜲䝭䞁䜾䚸ᾘ㈝㟁ຊ䚸䝸䝋䞊䝇⏝⋡䛾ண 䝻䝆䝑䜽䛚䜘䜃ᅇ㊰ᅗ䛾ゎᯒ '5&䛚䜘䜃㻌661ゎᯒ䛾ᐇ⾜ ,2䝢䞁㓄⨨ 䝍䜲䝭䞁䜾㻛≀⌮ไ⣙䛾ᐃ⩏ 䝕䝞䝑䜾㻌䝁䜰䛾ᤄධ 䝕䝄䜲䞁䛾䜲䞁䝥䝸䝯䞁䝖 䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁UXQ㻌䛾タᐃ䛚䜘䜃ᐇ⾜ 9LYDGR䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁䛾ᐇ⾜ 䜲䞁䝥䝸䝯䞁䝖῭䜏䝕䝄䜲䞁䜢㛤䛟 䝥䝻䜾䝷䝮䛚䜘䜃䝕䝞䝑䜾 䝍䜲䝭䞁䜾䚸ᾘ㈝㟁ຊ䚸䝸䝋䞊䝇⏝⋡䛾䝺䝫䞊䝖 㓄⨨䛚䜘䜃㓄⥺䛾ゎᯒ 䝍䜲䝭䞁䜾ゎᯒ ไ⣙䛾ㄪᩚ (&2㻌䛾ᐇ⾜ %,7䝣䜯䜲䝹䛾タᐃ䛚䜘䜃⏕ᡂ L03$&7䜢㉳ື䛧䛶䝕䝞䜲䝇䜢䝥䝻䜾䝷䝮 䝻䝆䝑䜽ゎᯒ䜢ᐇ⾜䛧䛶䝝䞊䝗䜴䜵䜰䜢᳨ド ; 図 3-6 : Flow Navigator (合成済みネ ッ ト リ ス ト プ ロ ジ ェ ク ト ) IP の設定 と 検証 IP カ タ ログの使用 IP カ タ ロ グには、 ザ イ リ ン ク ス LogiCORE™ IP すべて と 、 [Update IP Catalog] コ マ ン ド を使用 し て カ タ ロ グに追加 さ れたユーザー IP お よ びサー ド パーテ ィ IP が表示 さ れ ます。 カ タ ロ グはカ テ ゴ リ 別に分類 さ れてお り 、 IP の タ イ プ、 バージ ョ ン、 ラ イ セ ン ス な ど の情報が含まれてい ます。 IP カ タ ロ グでは、 次を実行で き ます。 • IP を ダブル ク リ ッ ク し て [Customize IP] ダ イ ア ロ グ ボ ッ ク ス を表示 • [Sources] ビ ュ ーの IP を右 ク リ ッ ク し て [Generate] を ク リ ッ ク し 、 IP ソ ース を生成。 イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト が生成 さ れ、 シ ス テ ム レベル デザ イ ンに統合で き る よ う にな り ます。 Vivado Design Suite IP は、 ネ ッ ト リ ス ト ではな く RTL ソ ース と し て作成 さ れます。 • 合成お よ び イ ンプ リ メ ン テーシ ョ ン を実行 し て、 デザ イ ンのほかの部分 と 共に IP を合成お よ び イ ンプ リ メ ン ト デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 17 プ ロ ジ ェ ク ト モー ド の使用 IP の検証 と 再利用 ス タ ン ド ア ロ ンの IP のパフ ォーマ ン ス を検証する 必要があ る 場合があ り ます。ス タ ン ド ア ロ ン IP の合成、シ ミ ュ レー シ ョ ン、 イ ンプ リ メ ン テーシ ョ ン、 お よ び解析を実行する こ と に よ り 、 IP のパフ ォーマン ス要件が満た さ れてい る か を確認で き ます。 検証 し た IP ネ ッ ト リ ス ト がデザ イ ン のほかの部分 と 共に再合成 さ れない よ う にす る こ と も 可能で す。 こ れには、 プ ロ ジ ェ ク ト の最上位モジ ュ ールを IP のモジ ュ ールに設定す る か、 IP のみを含む別のプ ロ ジ ェ ク ト を作成 し て フ ロ ーを実行 し ます。 コ ン テ キ ス ト 外で合成する パ ラ メ ー タ ーを使用 し て、 合成で I/O バ ッ フ ァ ーが イ ン ス タ ン シエー ト さ れない よ う にで き ます。 Flow Navigator の コ マン ド を使用 し て、 IP を イ ンプ リ メ ン ト お よ び検証 し ます。 検証 し た ス タ ン ド ア ロ ン IP の ソ ース を新 し いプ ロ ジ ェ ク ト に追加で き ます。 ス タ ン ド ア ロ ン IP が合成 さ れてい る 場 合、 ネ ッ ト リ ス ト がデザ イ ン ソ ース と し て使用 さ れ る ので、 検証 さ れた IP ネ ッ ト リ ス ト が保持 さ れます。 合成結果 (NGC ま たは EDIF ネ ッ ト リ ス ト ) のない既存の ス タ ン ド ア ロ ン IP モジ ュ ールを プ ロ ジ ェ ク ト に追加す る と 、 合成を 実行 し た と き に IP も デザ イ ンのほかの部分 と 共に合成 さ れます。 IP コ ア生成の一部 と し て、オプシ ョ ンでサ ンプル デザ イ ンが作成 さ れます。最上位モジ ュ ールを サンプル IP モジ ュ ー ルに設定す る と 、 デザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト で ス タ ン ド ア ロ ン IP を検証で き ま す。 サ ン プル デザ イ ン デ ィ レ ク ト リ に合成済みネ ッ ト リ ス ト が存在する 場合は、 最上位デザ イ ンの合成中に使用 さ れます。 つま り 、 ス タ ン ド ア ロ ンで検証 し た IP ネ ッ ト リ ス ト はデザ イ ンのほかの部分 と 共に再合成 さ れません。 run の作成および管理 合成お よび イ ン プ リ メ ン テーシ ョ ン run の設定 合成お よ び イ ンプ リ メ ン テーシ ョ ンでの処理を制御する 設定が多数あ り ます。 プ ロ ジ ェ ク ト モー ド では、 こ れ ら の設 定を run ス ト ラ テジ を使用 し て適用 し ます。 run ス ト ラ テジは、 run の設定パ ラ メ ー タ ーの組み合わせを保存 し た も の です。 ザ イ リ ン ク ス では、 合成お よ び イ ンプ リ メ ン テーシ ョ ンの実行用にい く つかの run ス ト ラ テジ を提供 し てい ま す。 カ ス タ ム run 設定 も 適用で き ます。 合成の設定 合成のプ ロ ジ ェ ク ト 設定を変更する には、 次のいずれかの操作を実行 し ます。 • Flow Navigator で [Synthesis Settings] を ク リ ッ ク し ます。 • Flow Navigator で [Project Manager] → [Project Settings] を ク リ ッ ク し 、左側のペ イ ンで [Synthesis] を ク リ ッ ク し ます。 • [Tools] → [Project Settings] を ク リ ッ ク し 、 左側のペ イ ンで [Synthesis] を ク リ ッ ク し ます。 • [Project Summary] ビ ュ ーで合成に関す る リ ン ク を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで合成 run を右 ク リ ッ ク し 、 [Change Run Settings] を ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 18 プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-7 図 3-7 : [Project Settings] ダ イ ア ログ ボ ッ ク スの [Synthesis] ページ カ ス タ ム ス ト ラ テ ジ を作成す る には、 必要な設定を指定 し てか ら 、 右 ク リ ッ ク し て [Save Strategy As] を ク リ ッ ク し ます。 Vivado 合成 run に制約セ ッ ト を選択で き ます。 Vivado 合成は タ イ ミ ン グ ド リ ブン であ り 、 タ イ ミ ン グ制約を使用 し て最良のパフ ォーマ ン ス を達成 し ます。合成 と イ ンプ リ メ ン テーシ ョ ンに異な る 制約セ ッ ト を設定で き ます。詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 19 プ ロ ジ ェ ク ト モー ド の使用 XST の実行 Vivado IDE では、 ISE Design Suite の XST 合成ツールま たは Vivado 合成のいずれかを使用で き ます。 XST ス ト ラ テジ を使用する と 、 XST 合成が実行 さ れます。 ど ち ら の結果に も Vivado イ ンプ リ メ ン テーシ ョ ンが使用 さ れます。 X-Ref Target - Figure 3-8 図 3-8 : XST 合成ス ト ラ テジの選択 イ ン プ リ メ ン テーシ ョ ンの設定 イ ンプ リ メ ン テーシ ョ ンのプ ロ ジ ェ ク ト 設定を変更する には、 次のいずれかの操作を実行 し ます。 • Flow Navigator で [Implementation Settings] を ク リ ッ ク し ます。 • Flow Navigator で [Project Manager] → [Project Settings] を ク リ ッ ク し 、 左側のペ イ ンで [Implementation] を ク リ ッ ク し ます。 • [Tools] → [Project Settings] を ク リ ッ ク し 、 左側のペ イ ンで [Implementation] を ク リ ッ ク し ます。 • [Project Summary] ビ ュ ーで イ ンプ リ メ ン テーシ ョ ンに関す る リ ン ク を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで イ ンプ リ メ ン テーシ ョ ン run を右 ク リ ッ ク し 、 [Change Run Settings] を ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 20 プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-9 図 3-9 : [Project Settings] ダ イ ア ログ ボ ッ ク スの [Implementation] ページ [Project Settings] ダ イ ア ロ グ ボ ッ ク ス [Implementation] ページで、 run に適用す る 制約セ ッ ト と ス ト ラ テ ジ を選択 し ま す。 カ ス タ ム ス ト ラ テジ を作成す る には、 必要な設定を指定 し てか ら 、 右 ク リ ッ ク し て [Save Strategy As] を ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 21 プ ロ ジ ェ ク ト モー ド の使用 合成 と イ ンプ リ メ ン テーシ ョ ンに異な る 制約セ ッ ト を指定で き ます。 合成ま たは イ ンプ リ メ ン テーシ ョ ンに ど の制約 フ ァ イ ルが使用 さ れてい る かを確認する には、[Sources] ビ ュ ーで制約フ ァ イ ルを選択 し 、[Source File Properties] ビ ュ ー を参照 し ま す。 [Used In] セ ク シ ョ ン で run への制約の割 り 当て を変更で き ま す。 詳細は、 『Vivado Design Suite ユー ザー ガ イ ド : シ ス テ ム レ ベル デザ イ ン 入力』 (UG895) お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 し て く だ さ い。 X-Ref Target - Figure 3-10 図 3-10 : 合成および イ ン プ リ メ ン テーシ ョ ン用の制約の選択 ア ク テ ィ ブな制約セ ッ ト は、 [Sources] ビ ュ ーで太字で表示 さ れます。 こ の制約セ ッ ト が、 開いてい る run ま たはデザ イ ン にデ フ ォ ル ト で使用 さ れ ま す。 別の制約セ ッ ト を ア ク テ ィ ブにす る には、 制約セ ッ ト を右 ク リ ッ ク し て [Make Active] を ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 22 プ ロ ジ ェ ク ト モー ド の使用 合成お よび イ ン プ リ メ ン テーシ ョ ン run の実行 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で合成お よ び イ ンプ リ メ ン テーシ ョ ンの設定を指定 し た ら 、次の よ う に合成 run ま たは イ ンプ リ メ ン テーシ ョ ン run を実行で き ます。 1. Flow Navigator で [Run Synthesis]、 [Run Implementation]、 ま たは [Generate Bitstream] を ク リ ッ ク し ます。 2. [Design Runs] ビ ュ ーで run を選択 し 、 右 ク リ ッ ク し て [Launch Runs] を ク リ ッ ク す る か、 ま たはツールバーの [Launch Selected Runs] ボ タ ン を ク リ ッ ク し ます。 3. [Flow] → [Run Synthesis]、[Flow] → [Run Implementation]、 ま たは [Flow] → [Generate Bitstream] を ク リ ッ ク し ます。 複数の run の作成お よび管理 複数の合成 run ま たは イ ンプ リ メ ン テーシ ョ ン run を作成 し て、 さ ま ざ ま な制約お よ びツール設定を試 し てみ る こ と がで き ます。 複数の run を作成す る には、 次の手順に従い ます。 1. Flow Navigator で [Synthesis] ま たは [Implementation] を右 ク リ ッ ク し ます。 2. [Create Synthesis Runs] ま たは [Create Implementation Runs] を ク リ ッ ク し ます。 3. Create New Runs ウ ィ ザー ド で、 制約セ ッ ト お よ び タ ーゲ ッ ト パーツ を選択 し ます。 イ ンプ リ メ ン テーシ ョ ン run の作成では、 複数の合成 run が存在す る 場合はネ ッ ト リ ス ト も 選択で き ます。 異な る ス ト ラ テジ を指定 し た複数の run を作成で き ます。 X-Ref Target - Figure 3-11 図 3-11 : Create New Runs ウ ィ ザー ド run が複数あ る 場合、 実行オプシ ョ ン を指定で き ます。 選択 し た run を順次実行す る か、 複数の ロ ーカル プ ロ セ ッ サ で同時に実行で き ます。 Linux では、 リ モー ト ホ ス ト を設定 し て使用す る こ と も で き ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 23 プ ロ ジ ェ ク ト モー ド の使用 [Design Runs] ビ ュ ーでの run の制御 run の ス テー タ スお よ び情報は、 [Design Runs] ビ ュ ーに表示 さ れます。 run を制御する 多 く の コ マ ン ド は、 ポ ッ プア ッ プ メ ニ ュ ーか ら 実行で き ます。 [Design Runs] ビ ュ ーか ら 複数の run を制御で き ま す。 run が複数あ る 場合、 ア ク テ ィ ブ な run が太字で示 さ れ ま す。 Vivado IDE には、 ア ク テ ィ ブな run の実行結果が表示 さ れます。 [Project Summary]、 レ ポー ト 、 お よ び メ ッ セージに 表示 さ れ る のは、 すべて ア ク テ ィ ブ run に関す る 情報です。 Flow Navigator で [Open Synthesized Design] ま たは [Open Implemented Design] を ク リ ッ ク す る と 、 デ フ ォ ル ト で ア ク テ ィ ブ デザ イ ンが開 き ます。 別の run を ア ク テ ィ ブにす る には、 run を右 ク リ ッ ク し て [Make Active] を ク リ ッ ク し ま す。Vivado IDE に新たにア ク テ ィ ブにな っ た run の情報が表示 さ れます。合成済み run ま たは イ ンプ リ メ ン ト 済み run を ダブル ク リ ッ ク する と 、 Vivado IDE にそのデザ イ ンが開 き ます。 X-Ref Target - Figure 3-12 図 3-12 : [Design Runs] ビ ュ ーでの run の制御 メ ッ セージの表示 プ ロ ジ ェ ク ト モー ド を使用 し てい る 場合、Vivado IDE の メ ッ セージはすべて、[Messages] に重要度 (エ ラ ー、 ク リ テ ィ カル警告、 警告、 お よ び情報) 別に表示 さ れます。 [Messages] ビ ュ ーの上部にあ る チ ェ ッ ク ボ ッ ク ス のオン/オ フ を切 り 替え て、 表示す る メ ッ セージ を選択で き ます。 メ ッ セージのカ テ ゴ リ を展開表示する と 、 個々の メ ッ セージ を表示 で き ます。 多 く の メ ッ セージには リ ン ク が含まれてお り 、 ク リ ッ ク する と RTL フ ァ イ ルの該当す る 行が開 き ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 24 プ ロ ジ ェ ク ト モー ド の使用 レポー ト の表示 launch_runs Tcl コ マン ド の一部 と し て、 い く つかの標準レ ポー ト が生成 さ れます。 こ れ ら の レ ポー ト は、 [Reports] ビ ュ ーに リ ス ト さ れます。 レ ポー ト を ダブル ク リ ッ ク す る と 、 テキ ス ト エデ ィ タ ーで開 き ます。 [Tcl Console] ビ ュ ー で該当する Tcl コ マ ン ド を入力 し て、 カ ス タ ム レ ポー ト を作成で き ます。 X-Ref Target - Figure 3-13 図 3-13 : [Messages] ビ ュ ー と [Reports] ビ ュ ー デザイ ン を開 く RTL エ ラ ボ レーシ ョ ン、 合成、 ま たは イ ンプ リ メ ン テーシ ョ ンの後デザ イ ン を開いて、 デザ イ ン を解析 し た り 、 制約 を適用 し た り で き ます。 デザ イ ン を開 く と 、 ネ ッ ト リ ス ト お よ び制約が タ ーゲ ッ ト デバ イ ス に対 し て コ ンパ イ ル さ れ、 デザ イ ンが メ モ リ に読み込まれます。 デザ イ ンが メ モ リ に読み込まれ る と 、 Vivado IDE の さ ま ざ ま な解析お よ び レ ポー ト 機能が使用で き る よ う にな り ます。 Vivado Design Suite では、 開いた り 、 保存 し た り 、 閉 じ た り で き る 「デザ イ ン」 が使用 さ れ ます。 新 し いデザ イ ン を 開 く と 、 メ モ リ 容量を確保す る ため、 既に開いてい る デザ イ ン を閉 じ る か ど う かを確認す る メ ッ セージが表示 さ れま す。 既に開いてい る デザ イ ン を閉 じ る 必要はな く 、 複数のデザ イ ン を同時に開いてお く こ と がで き ます。 デザ イ ンが 開いてい る と き に制約を変更する と 、 変更を元の XDC ソ ース フ ァ イ ルに保存す る か、 新 し い制約セ ッ ト を作成す る かを選択す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 し て く だ さ い。 開いてい る デザ イ ン に実行可能な操作の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ー ジ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 25 プ ロ ジ ェ ク ト モー ド の使用 エ ラ ボ レー ト さ れた RTL デザイ ン を開 く Vivado Design Suite でエ ラ ボ レー ト さ れた RTL デザ イ ン を開 く と 、 RTL ネ ッ ト リ ス ト が コ ンパ イ ル さ れ、 タ ーゲ ッ ト パーツに対 し て物理制約お よ び タ イ ミ ン グ制約が適用 さ れます。 エ ラ ボ レー ト さ れた RTL デザ イ ンは メ モ リ に読み 込まれ、 必要に応 じ て解析お よ び変更 し て、 デザ イ ン を完了 さ せる こ と がで き ます。 Flow Navigator で [Open Elaborated Design] を ク リ ッ ク す る と 、 指定 さ れてい る 最上位モジ ュ ール名を使用 し て RTL デ ザ イ ン が コ ンパ イ ル さ れ ます。 基本的な RTL エ ラ ボ レーシ ョ ン が実行 さ れ、 制約が適用 さ れて、 デザ イ ン が メ モ リ に読み込まれます。 コ ンパ イ ル中の メ ッ セージお よびエ ラ ーは [Messages] ビ ュ ーに表示 さ れ、 メ ッ セージの リ ン ク を ク リ ッ ク す る と 、 RTL ソ ース フ ァ イ ルの該当す る コ ー ド 行が開 き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) を参照 し て く だ さ い。 RTL デザ イ ンでは、 デザ イ ンが論理的に正 し いか ど う かを解析で き ます。 ロ ジ ッ ク が正 し く コ ンパ イ ル さ れたか、 欠 け てい る モジ ュ ールはないか、 イ ン タ ー フ ェ イ ス の不一致が ないかな ど を チ ェ ッ ク で き ま す。 [Messages] ビ ュ ーで メ ッ セージの リ ン ク を ク リ ッ ク す る と 、 テ キ ス ト エデ ィ タ ーで RTL フ ァ イ ルの該当す る 行が開 き ます。 [Schematic] ビ ュ ーには、 RTL ベース の ロ ジ ッ ク コ ン ス ト ラ ク ト を使用 し て、 RTL の接続が表示 さ れます。 RTL エ ラ ボ レーシ ョ ンでは、 FPGA テ ク ノ ロ ジへのマ ッ プは実行 さ れません。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を さ ま ざ ま な方法で調べ る こ と がで き ます。 [Schematic] ビ ュ ーで ロ ジ ッ ク を選択 し た り 、 テ キ ス ト エデ ィ タ ーで RTL フ ァ イ ルの特定の行を確認 し た り で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ー ジ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 レ ジ ス タ な ど、 ロ ジ ッ ク 階層の特定の ロ ジ ッ ク イ ン ス タ ン ス に定義 さ れてい る 制約は、 RTL エ ラ ボ レ ーシ ョ ンでは 解決で き ない場合があ り ます。 エ ラ ボ レーシ ョ ン中に生成 さ れ る ロ ジ ッ ク 名 と 階層は、 合成中に生成 さ れ る も の と 一 致 し ない可能性があ り ます。 そのため、 こ れ ら の制約が定義 さ れてい る 場合、 RTL デザ イ ン を エ ラ ボ レー ト し た と き に制約マ ッ プに関す る 警告 ま たはエ ラ ー メ ッ セージが表示 さ れ る こ と が あ り ま す。 デザ イ ン で合成を実行 し た場合 に、 同 じ 警告 メ ッ セージが表示 さ れ る こ と はないはずです。 エ ラ ボ レー ト さ れた RTL デザ イ ンでは、 I/O ポー ト を イ ン タ ラ ク テ ィ ブに設定お よ び割 り 当てで き ます。 Vivado IDE の I/O 配置機能を使用 し て、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を割 り 当て、 DRC を実行で き ま す。 ク ロ ッ ク お よ び ロ ジ ッ ク 制約が正 し く 解決 さ れ る よ う にする ため、 I/O ピ ン配置は可能な限 り 合成後に実行 し て く だ さ い。 合成後には、 よ り 包括的 な DRC が実行 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。 [Report DRC] コ マン ド を ク リ ッ ク す る と 、 基本的な RTL お よ び I/O の DRC が実行 さ れ、 非同期 ク ロ ッ ク 、 ラ ッ チな ど の ロ ジ ッ ク の問題が特定 さ れます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 26 プ ロ ジ ェ ク ト モー ド の使用 合成済みデザイ ン を開 く Vivado Design Suite で合成済みデザ イ ン を開 く と 、 合成済みネ ッ ト リ ス ト が開 き 、 タ ーゲ ッ ト パーツに対 し て物理制 約お よ び タ イ ミ ン グ制約が適用 さ れます。 合成済みデザ イ ンのエ レ メ ン ト が メ モ リ に読み込まれ、 必要に応 じ てそれ ら を解析お よ び変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ ト リ ス ト 、 デバ ッ グ コ ア、 お よ びコ ン フ ィ ギ ュ レーシ ョ ンに保存で き ます。 合成済みデザ イ ンに対 し て実行で き る タ ス ク は多数あ り ます。 早期の タ イ ミ ン グ、 消費電力、 使用率予測を実行す る と 、 デザ イ ンが要件を満たす こ と がで き る のか ど う かを判断で き ます。 Vivado IDE の ビ ュ ーを使用 し て、 デザ イ ン を さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選択す る と 、 ほかのビ ュ ーで も 選択 さ れます。 タ イ ミ ン グ制約を適用 し 、 タ イ ミ ン グ解析を実行で き ま す。 I/O ポー ト の物理制約、 フ ロ ア プ ラ ン、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を イ ン タ ラ ク テ ィ ブに定義で き ます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find Results] な ど の さ ま ざ ま な ビ ュ ーか ら 、 RTL フ ァ イ ルの問題のあ る 行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに さ ま ざ ま な方法で調べ る こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 合成済みデザ イ ン では、 I/O ポー ト を イ ン タ ラ ク テ ィ ブに設定お よ び割 り 当てで き ます。 Vivado IDE の I/O 配置機能 を使用 し て、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を割 り 当て、 DRC を実行で き ま す。 詳細は、 『Vivado Design Suite ユー ザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) を参照 し て く だ さ い。 [Report DRC] コ マ ン ド を ク リ ッ ク す る と 、 包括的な DRC が実行 さ れ、 ロ ジ ッ ク の問題が特定 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 合成済みデザ イ ン で は、 デバ ッ グ コ ア ロ ジ ッ ク を 設定お よ び イ ン プ リ メ ン ト で き ま す。 デバ ッ グ 用 の 信号 を [Schematic] ま たは [Netlist] ビ ュ ーで選択で き ます。 その後デバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ン し 、 デザ イ ンに挿 入 し ます。 コ アの ロ ジ ッ ク お よ び接続は、 デザ イ ンの合成がア ッ プデー ト さ れて も 、 で き る 限 り 保持 さ れます。 合成済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。 • Flow Navigator で [Synthesis] → [Open Synthesized Design] を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。 • [Flow] → [Open Synthesized Design] を ク リ ッ ク し ます。 • Flow Navigator で [Synthesis] → [New Synthesized Design] を ク リ ッ ク し ます。 • [Flow] → [New Synthesized Design] を ク リ ッ ク し ます。 ア ク テ ィ ブな制約セ ッ ト お よ び タ ーゲ ッ ト デバ イ ス を使用 し て合成済みネ ッ ト リ ス ト を開 く か、 別の制約セ ッ ト と タ ーゲ ッ ト デバ イ ス を指定 し て、 メ モ リ の合成済みデザ イ ン を開 く こ と がで き ます。 図 3-14 に示す よ う に、 次を指 定 し て新 し い合成済みデザ イ ン を定義で き ます。 • [Design name] : ビ ュ ー バナーに表示 さ れ る 名前を入力 し ます。 デザ イ ンは、 現在のセ ッ シ ョ ン中のみ メ モ リ に保 存 さ れます。 • [Synthesis run] : 指定 し た完了済み合成 run か ら のネ ッ ト リ ス ト を使用 し ます。 こ のオプシ ョ ンは、 プ ロ ジ ェ ク ト に複数の合成 run があ る 場合にのみ表示 さ れます。 • [Constraint set] : ネ ッ ト リ ス ト に対 し て開 く 既存の制約セ ッ ト を選択 し ます。 • [Part] : タ ーゲ ッ ト パーツ を選択 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 27 プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-14 図 3-14 : 新規合成済みデザイ ン 図 3-15 に、 合成済みデザ イ ン を開いた と き の表示を示 し ます。 X-Ref Target - Figure 3-15 図 3-15 : 開いた合成済みデザイ ン デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 28 プ ロ ジ ェ ク ト モー ド の使用 プ ロ セスのバ ッ ク グ ラ ウ ン ド への移動 Vivado Design Suite でデザ イ ン フ ァ イ ルお よ び制約フ ァ イ ルを読み込んで合成済みま たは イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 [Open Synthesized Design] ダ イ ア ロ グ ボ ッ ク ス ま たは [Open Implemented Design] が開 き (図 3-16)、 プ ロ セ ス をバ ッ ク グ ラ ウ ン ド で実行する よ う 指定で き ます。 プ ロ セ ス をバ ッ ク グ ラ ウ ン ド で実行 さ れ る よ う にする と 、 バ ッ ク グ ラ ウ ン ド タ ス ク を実行 さ せた ま ま、 レ ポー ト を表 示 し た り 、 デザ イ ン フ ァ イ ルを開いた り と い っ た別の操作を実行で き ます。 こ の間、 前の run を確認 し た り 、 レ ポー ト を表示 し た り し て、 時間を効率的に活用で き ます。 ただ し 、 [Tcl Console] はブ ロ ッ ク さ れ る ので、 Tcl コ マン ド を使 用 し た り 、 開いてい る 別のデザ イ ンに切 り 替え る な ど の Tcl コ マ ン ド を必要 と する タ ス ク は実行で き ません。 X-Ref Target - Figure 3-16 図 3-16 : [Open Synthesized Design] ダ イ ア ログ ボ ッ ク ス : バ ッ ク グ ラ ウン ド プ ロ セス レ イ アウ ト の使用 I/O 配置、 フ ロ アプ ラ ン、 デバ ッ グ コ ン フ ィ ギ ュ レーシ ョ ン な ど の特定のデザ イ ン タ ス ク を実行 し やすい よ う に、 い く つかの レ イ ア ウ ト がデフ ォル ト でサポー ト さ れてい ます。 レ イ ア ウ ト を変更す る と 、特定のデザ イ ン タ ス ク を実行 する のに適 し た ビ ュ ーが表示 さ れます。 カ ス タ ム レ イ ア ウ ト も 作成で き ます。 X-Ref Target - Figure 3-17 図 3-17 : レ イ アウ ト の選択 イ ン プ リ メ ン ト 済みデザイ ン を開 く Vivado Design Suite で イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 イ ンプ リ メ ン ト 済みネ ッ ト リ ス ト が開 き、 イ ンプ リ メ ン テーシ ョ ン中に使用 さ れた物理制約お よ び タ イ ミ ン グ制約が適用 さ れ、タ ーゲ ッ ト パーツに対す る 配置配線結果が 表示 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ンのエ レ メ ン ト が メ モ リ に読み込まれ、 必要に応 じ てそれ ら を解析お よ び 変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ ト リ ス ト 、 イ ンプ リ メ ン テーシ ョ ン 結果、お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンに保存で き ます。Vivado Design Suite には複数の イ ンプ リ メ ン テーシ ョ ン run を設定で き 、 完了 し てい る run であればどれで も 開 く こ と がで き ます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。 • Flow Navigator で [Implementation] → [Open Implemented Design] を ク リ ッ ク し ます。 • [Flow] → [Open Implemented Design] を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 29 プ ロ ジ ェ ク ト モー ド の使用 イ ンプ リ メ ン ト 済みデザ イ ンに対 し て さ ま ざ ま なデザ イ ン タ ス ク を実行で き ます。 実際の タ イ ミ ン グ、 消費電力、 使 用率統計を算出する こ と に よ り 、 デザ イ ンが要件を満た し てい る かど う かを判断で き ます。 Vivado IDE の ビ ュ ーを使 用 し て、 デザ イ ン を さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選択す る と 、 ほかのビ ュ ーで も 選択 さ れ ます。 タ イ ミ ン グ制約を変更 し 、 タ イ ミ ン グ解析を実行で き ま す。 フ ロ アプ ラ ン ま たはデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン制約を適用 し 、 今後の run で使用で き る よ う に保存で き ます。 [Device] ビ ュ ーの [Routing Resources] を ク リ ッ ク し て、 配置ま たは配線結果を確認で き ます。 拡大表示 し てい く と 、 よ り 詳細な情報が表示 さ れます。 配置配線だけでな く 、 LUT 論理式、 RAM の初期化な ど のデザ イ ン コ ン フ ィ ギ ュ レー シ ョ ン も 変更で き ます。 [Device] ま たは [Schematic] ビ ュ ーで結果を選択す る と 、 RTL フ ァ イ ルの問題の行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに さ ま ざ ま な方法で調べ る こ と がで き ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 Flow Navigator の メ ニ ュ ーはア ク テ ィ ブ run の状態に よ っ て異な る ので、ア ク テ ィ ブ run が イ ンプ リ メ ン ト さ れていな い場合は [Open Implemented Design] コ マ ン ド が淡色表示にな っ てい る こ と があ り ます。 こ の場合、 Flow Navigator で [Implementation] を右 ク リ ッ ク し て、完了 し た イ ンプ リ メ ン テーシ ョ ン run の イ ンプ リ メ ン ト 済みデザ イ ン を開 く こ と がで き ます。 イ ンプ リ メ ン ト 済みデザ イ ンのデフ ォ ル ト レ イ ア ウ ト が表示 さ れます。 図 3-18 に、 イ ンプ リ メ ン ト 済みデザ イ ンの デフ ォル ト レ イ ア ウ ト を表示 し ます。 [Device] ビ ュ ーには、 最後に閉 じ た と き の状態に よ り 、 配置のみが表示 さ れ る 場合 と 配線 も 表示 さ れ る 場合があ リ ます。 [Device] ビ ュ ーで [Routing Resources] を ク リ ッ ク し 、 配線のみを表示す る か配線 も 表示する かを切 り 替え ます。 X-Ref Target - Figure 3-18 図 3-18 : イ ン プ リ メ ン ト 済みデザイ ン デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 30 プ ロ ジ ェ ク ト モー ド の使用 開いている複数のデザイ ンの管理 Vivado Design Suite でデザ イ ン を開 く と 、 デザ イ ンが メ モ リ に読み込ま れます。 エ ラ ボ レー ト さ れたデザ イ ン、 合成 済みデザ イ ン、 イ ンプ リ メ ン ト 済みデザ イ ン を同時に複数開いて、 異な る デザ イ ン オプシ ョ ンお よ び run の結果を表 示で き ます。 こ の場合、 マシ ンの メ モ リ 容量のみが制限 と な り ます。 デザ イ ン を開 く と 、 メ モ リ 容量を確保す る ため、 既に開いてい る デザ イ ン を閉 じ る かど う かを確認する メ ッ セージが表示 さ れます。 開いてい る デザ イ ンは、 ア ク テ ィ ブなデザ イ ン ビ ュ ー バナーの右端にあ る [X] を ク リ ッ ク し て閉 じ る こ と も で き ます。 ア ク テ ィ ブにな っ てい る デザ イ ンは、 Flow Navigator でハ イ ラ イ ト さ れてい る メ ニ ュ ーに よ り 識別で き ます。 こ れで、 現在のデザ イ ンが視覚的にわか り ます。 図 3-19 では、 [Synthesis] メ ニ ュ ーがハ イ ラ イ ト さ れてい ます。 こ れは、 現在 のセ ッ シ ョ ン で合成済みデザ イ ンが開いていて ア ク テ ィ ブであ る こ と を示 し ます。 デザ イ ン ビ ュ ー バナーで も 開い てい る デザ イ ン を確認で き ます。 Flow Navigator の表示 も 変化 し て、 複数のデザ イ ンが開いてい る こ と が示 さ れます。 た と えば、 合成済みデザ イ ン を 開 く と [Open Synthesized Design] が [Synthesized Design] に変わ り ます。 複数のデザ イ ン を開いてい る 場合、Flow Navigator には開いてい る デザ イ ンに適 し た メ ニ ュ ーが表示 さ れます。図 3-19 では、 [Implementation] メ ニ ュ ーの下に [Implemented Design] コ マン ド が表示 さ れてい る ので イ ンプ リ メ ン ト 済みデザ イ ンが開いてい る こ と がわか り ますが、 ア ク テ ィ ブではあ り ません。 [Implemented Design] コ マ ン ド を ク リ ッ ク す る と 、 イ ンプ リ メ ン ト 済みデザ イ ンがア ク テ ィ ブにな り 、 ハ イ ラ イ ト が [Synthesis] か ら [Implementation] に移動 し ます。 X-Ref Target - Figure 3-19 図 3-19 : 合成済みデザイ ン と イ ン プ リ メ ン ト 済みデザイ ン を両方開いている場合の Flow Navigator デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 31 プ ロ ジ ェ ク ト モー ド の使用 Flow Navigator では、 マ ウ ス の右ボ タ ン を ク リ ッ ク し て開 く ポ ッ プア ッ プ メ ニ ュ ー も サポー ト さ れてい ま す。 Flow Navigator の [RTL Analysis]、 [Synthesis]、 [Implementation] を右 ク リ ッ ク す る と 、 ポ ッ プア ッ プ メ ニ ュ ーが表示 さ れま す。 図 3-20 は、 [Synthesis] を右 ク リ ッ ク し た と こ ろ を示 し てい ます。 X-Ref Target - Figure 3-20 図 3-20 : Flow Navigator のポ ッ プ ア ッ プ メ ニ ュ ー [Open Netlist in New Window] を ク リ ッ ク する と 、 現在開いてい る デザ イ ン を現在の ウ ィ ン ド ウ に維持 し た ま ま、 合成 済みデザ イ ン を新 し い ウ ィ ン ド ウ で開 く こ と がで き ます。 こ の コ マン ド を使用す る と 、 エ ラ ボ レー ト さ れたデザ イ ン を表示 し た ま ま、 別の ウ ィ ン ド ウ で合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ン を開 く こ と がで き ます。 ど ち ら の ウ ィ ン ド ウ で も 拡大/縮小、 表示エ リ ア を変更、 デザ イ ン エ レ メ ン ト を選択 し て、 解析お よび開発が可能です。 デザイ ン ビ ュ ー バナーの使用 デザ イ ン ビ ュ ー バナーには、 現在のデザ イ ンの制約セ ッ ト 、 ターゲ ッ ト パーツ、 合成ま たは イ ンプ リ メ ン テーシ ョ ン run が表示 さ れます。 図 3-21 に、 さ ま ざ ま なデザ イ ン タ イ プのデザ イ ン ビ ュ ー バナーを示 し ます。 X-Ref Target - Figure 3-21 図 3-21 : デザイ ン ビ ュ ー バナー 複数のデザ イ ンが開いてい る 場合は、 図 3-22 の よ う にデザ イ ン ビ ュ ー バナーに タ ブが表示 さ れ、 デザ イ ン間の表示 を切 り 替え る こ と がで き ます。 X-Ref Target - Figure 3-22 図 3-22 : 複数のデザイ ンの タ ブ デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 32 プ ロ ジ ェ ク ト モー ド の使用 最新で ないデザイ ンのア ッ プデー ト 設計プ ロ セ ス では、 通常 ソ ース フ ァ イ ルま たは制約の変更が必要です。 こ れ ら の フ ァ イ ルの依存性は Vivado Design Suite で管理 さ れ、 表示 さ れてい る デザ イ ン デー タ が最新でな く な る と それが示 さ れます。 タ ーゲ ッ ト パーツやア ク テ ィ ブ制約セ ッ ト な ど のプ ロ ジ ェ ク ト 設定を変更する と 、 デザ イ ンが最新の状態でな く な り ます。 ソ ース フ ァ イ ル、 ネ ッ ト リ ス ト 、 ま たは イ ンプ リ メ ン テーシ ョ ン結果がア ッ プデー ト さ れ る と 、 開いてい る 合成済み デザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ンのデザ イ ン ビ ュ ー バナーの右側に 「Out-of-Date」 と 表示 さ れ、 run が最 新の状態ではない こ と が示 さ れます (図 3-23)。 デザ イ ンの ど の部分が最新ではないのかを確認す る には、 [more info] リ ン ク を ク リ ッ ク し ます。 X-Ref Target - Figure 3-23 図 3-23 : デザイ ンの再読み込みが必要である こ と を示すバナー こ の状態を解決する には、 次の 3 つの方法があ り ます。 • 強制的に最新の状態にする : [more info] を ク リ ッ ク す る と 開 く [Out-of-Date Due to] ウ ィ ン ド ウ (図 3-23) に表示 さ れ る [Force up-to-date] リ ン ク を ク リ ッ ク し ます。 ア ク テ ィ ブな合成ま たは イ ンプ リ メ ン テーシ ョ ン run の NEEDS_REFRESH プ ロ パテ ィ が リ セ ッ ト さ れ、 run が最 新の状態であ る と マー ク さ れます。 こ の コ マ ン ド を Tcl で実行する 場合は、 次の よ う な コ ー ド にな り ます。 set_property needs_refresh false [get_runs synth_2] 注記 : こ の コ マ ン ド は、 デザ イ ンに少 し だけ変更を加え てお り 、 デザ イ ン を更新 し た く ない場合に使用 し ます。 • RTL デザ イ ン を閉 じ る : 最新の状態でないデザ イ ン を閉 じ ます。 • デザ イ ン を読み込み直す : [Reload] リ ン ク を ク リ ッ ク し て現在のデザ イ ンの メ モ リ 内の表示を更新 し 、 デザ イ ン デー タ への変更を保存 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 33 プ ロ ジ ェ ク ト モー ド の使用 デザイ ンへの変更の保存 Vivado IDE では、 メ モ リ 内のデザ イ ン を変更 し ます。 保存が必要な変更には、 制約の変更、 ネ ッ ト リ ス ト の変更、 消 費電力解析特性、 ハー ド ウ ェ ア コ ン フ ィ ギ ュ レーシ ョ ン モー ド パ ラ メ ー ター、 デバ ッ グ コ ン フ ィ ギ ュ レーシ ョ ン な ど のデザ イ ン パ ラ メ ー タ ーの変更な ど があ り ます。 開いてい る デザ イ ンに加え た変更を保存す る には、 元の XDC 制 約フ ァ イ ルに保存する か、 新 し い制約セ ッ ト に保存 し ます。 新 し い制約セ ッ ト には、 変更を含むすべてのデザ イ ン制 約が含まれます。 こ の よ う にす る と 、 元の XDC ソ ース フ ァ イ ルを変更せずに保持で き ます。 Vivado IDE では、 可能 な限 り 元の フ ァ イ ル フ ォーマ ッ ト が保持 さ れます。 追加 し た制約は、 フ ァ イ ルの最後に追加 さ れます。 既存の制約へ の変更は、 元の フ ァ イ ルの場所に保持 さ れます。 元の XDC 制約フ ァ イルへの変更の保存 変更は元の XDC 制約フ ァ イ ルに保存で き ます。 Vivado IDE では、 可能な限 り 元の フ ァ イ ル フ ォーマ ッ ト が保持 さ れ ます。追加 し た制約は、フ ァ イ ルの最後に追加 さ れます。既存の制約への変更は、元の フ ァ イ ルの場所に保持 さ れます。 デザ イ ンに加え た変更を元の XDC 制約フ ァ イ ルに保存す る には、 [File] → [Save Constraints] を ク リ ッ ク す る か、 ま たはツールバーの [Save Constraints] ボ タ ン を ク リ ッ ク し ます。 開いてい る デザ イ ンに対 し て加え ら れた制約、デバ ッ グ コ アお よ び コ ン フ ィ ギ ュ レーシ ョ ン、デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン設定の変更がすべて保存 さ れます。 注記 : イ ンプ リ メ ン ト 済みデザ イ ンが開いてい る 場合、 制約の変更は現在ア ク テ ィ ブな制約フ ァ イ ルではな く 、 イ ン プ リ メ ン テーシ ョ ンで使用 さ れた イ ンプ リ メ ン テーシ ョ ン run に関連す る 制約フ ァ イ ルに保存 さ れます。こ れに よ り 、 イ ンプ リ メ ン ト 済みデザ イ ンへの変更が イ ンプ リ メ ン テーシ ョ ン run の適切な制約フ ァ イ ルに保存 さ れます。ただ し 、 特定の イ ン プ リ メ ン テーシ ョ ン run に使用 し た制約フ ァ イ ルに意図 し ていない変更が加え ら れ る 可能性があ り ます。 Vivado Design Suite では、 こ の状況を警告す る メ ッ セージが表示 さ れ、 デ ィ ス ク に変更を保存す る 前に保存す る 制約 フ ァ イ ルを選択で き ます。 新 し い XDC 制約 フ ァ イルへの変更の保存 デザ イ ンに加え た変更を新 し い制約セ ッ ト と し て も 保存で き ます。こ の よ う にす る と 元の制約 ソ ース フ ァ イ ルはその ま ま保持 し 、 加え た変更を保存で き ます。 新 し い制約セ ッ ト には、 変更を含むすべてのデザ イ ン制約が含まれ ます。 こ の よ う にする と 、 元の XDC ソ ース フ ァ イ ルを変更せずに保持で き ます。 新 し い制約セ ッ ト を ア ク テ ィ ブに し 、 次 回の run の実行時やデザ イ ン を開いた と き に適用 さ れ る よ う にで き ます。 元の制約 ソ ース フ ァ イ ルを その ま ま保持 し て新 し い制約フ ァ イ ルを作成す る には、 [File] → [Save Constraints As] を ク リ ッ ク し ます。 デザイ ン を閉 じ る デザ イ ン を閉 じ る と 、 メ モ リ 内のデザ イ ン数を減 ら し 、 ソ ース を編集で き る 場所が複数にな る の を避け る こ と がで き ます。 別のデザ イ ン表示に移動する 前に、 デザ イ ン を閉 じ る よ う ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る こ と があ り ます。 個々のデザ イ ン を閉 じ る には、 メ イ ン表示エ リ アのバナーの右端にあ る [X] を ク リ ッ ク し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 34 プ ロ ジ ェ ク ト モー ド の使用 デザイ ンの解析、 検証、 およびデバ ッ グ ロ ジ ッ ク シ ミ ュ レ ーシ ョ ン Vivado Design Suite では、 デザ イ ン ま たは IP を検証す る ために複数の ロ ジ ッ ク シ ミ ュ レーシ ョ ン オプシ ョ ンが提供 さ れてい ます。 Vivado シ ミ ュ レー タ は、 完全に統合 さ れた混合モー ド シ ミ ュ レ ー タ で、 アナ ロ グ波形を表示す る 機 能を備え てい ま す。 同 じ シ ミ ュ レ ーシ ョ ン環境を ビヘ イ ビ アー シ ミ ュ レ ーシ ョ ン、 構造シ ミ ュ レ ーシ ョ ン、 お よ び Vivado ロ ジ ッ ク 解析でのハー ド ウ ェ ア検証に使用で き ます。 注記 : 2012.2 では、 Vivado IDE か ら はビヘ イ ビ アー シ ミ ュ レーシ ョ ンのみを起動で き ます。 構造シ ミ ュ レーシ ョ ンお よ び タ イ ミ ン グ シ ミ ュ レーシ ョ ンは、 Tcl コ ン ソ ールか ら 起動で き ます。 開いてい る デザ イ ンの Verilog、VHDL ネ ッ ト リ ス ト 、お よ び SDF フ ォーマ ッ ト フ ァ イ ルを記述す る こ と に よ り 、サー ド パーテ ィ シ ミ ュ レー タ も 使用で き ます。 ModelSim お よ び Questa シ ミ ュ レー タ を Vivado IDE か ら 起動で き ます。 詳細は、『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) お よ び 『Vivado Design Suite ユー ザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。 タ イ ミ ング解析 Vivado Design Suite では、 Tcl API お よ び SDC 制約オプシ ョ ン を使用 し た、 さ ま ざ ま な タ イ ミ ン グ解析オプシ ョ ン が 提供 さ れてい ます。 多数の標準レ ポー ト Tcl コ マン ド があ り 、 ク ロ ッ ク 構造、 ロ ジ ッ ク の関係、 デザ イ ンに適用 さ れ て い る 制約 な ど に関す る 情報 を 取得で き ま す。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照する か、 ま たは Tcl コ ン ソ ールのヘルプ機能を使用 し て く だ さ い。 Vivado IDE では、 タ イ ミ ン グ解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 タ イ ミ ン グ を レ ポー ト す る コ マン ド の さ ま ざ ま な タ イ ミ ン グ解析パ ラ メ ー タ ーを 使用 し てみて く だ さ い。 ク ロ ッ ク ネ ッ ト ワ ー ク レ ポー ト お よ び ク ロ ッ ク の相互関係レ ポー ト では、 ク ロ ッ ク の ト ポ ロ ジお よ び関係を表示で き ます。 ス ラ ッ ク ヒ ス ト グ ラ ムには、 デザ イ ンの全体的な タ イ ミ ン グ パフ ォーマン ス が表示 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ ー テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 DRC、 消費電力、 リ ソ ース使用率の解析 Vivado Design Suite では、 Tcl API お よ び Vivado IDE を使用 し た、 さ ま ざ ま なデザ イ ン解析オプシ ョ ンが提供 さ れてい ます。 Vivado IDE では、 さ ま ざ ま な方法でデザ イ ンお よびデザ イ ン デー タ を視覚的に確認で き ます。 対話型環境、 オ ブジ ェ ク ト が異な る ビ ュ ーで相互選択 さ れ る 機能、 お よ び ロ ジ ッ ク 探索機能な ど に よ り 、 高度なデザ イ ン解析機能が 提供 さ れてい ます。 Vivado IDE では、 消費電力、 リ ソ ース使用率、 DRC 解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 デザ イ ン の ど の段階で も 、 消費電力パ ラ メ ー タ ーを指定 し てすばや く 消費電力を予測で き ます。 さ ま ざ ま な タ イ プのデバ イ ス リ ソ ース使用率統計を解析で き ます。 広範囲の DRC が用意 さ れてお り 、 設定 し て実行で き ます。 結果の レ ポー ト に は、 問題のオブジ ェ ク ト への リ ン ク が含まれます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 多数の標準レ ポー ト Tcl コ マ ン ド があ り 、 デザ イ ンに関す る 情報を取得で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照す る か、 ま たは Tcl コ ン ソ ールのヘルプ機能を使用 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 35 プ ロ ジ ェ ク ト モー ド の使用 イ ン プ リ メ ン テーシ ョ ン結果の解析 イ ン プ リ メ ン ト 済みデザ イ ン を 開 く と 、 配置配線の イ ン プ リ メ ン テーシ ョ ン結果が表示 さ れ ま す。 [Timing Results] ビ ュ ーで タ イ ミ ン グ パ ス を選択す る と 、 [Device] ビ ュ ーに配置お よ び配線が表示 さ れます。 デザ イ ン要件を達成す る ため、 配置お よ び配線を調整で き ます。 LUT 論理式、 RAM 初期化、 PLL コ ン フ ィ ギ ュ レーシ ョ ン な ど のデザ イ ン設 定 も 実行で き ます。 こ れ ら の変更は、 イ ンプ リ メ ン ト 済みデザ イ ンに加え ら れてい る ので、 run を リ セ ッ ト す る と 変 更は失われます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) を参照 し て く だ さ い。 ハー ド ウ ェ アの検証およびデバ ッ グ Vivado IDE の Vivado ロ ジ ッ ク 解析環境には、 デザ イ ン を検証お よ びデバ ッ グする ための多数の機能があ り ます。RTL ま たは合成済みネ ッ ト リ ス ト に ILA (Integrated Logic Analyzer) や ICON (Integrated Controller) な ど のデバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ンお よ び イ ンプ リ メ ン ト で き ます。 Vivado IDE で合成済みデザ イ ン を開 く と 、 必要なプ ロ ーブ信 号を選択 し て コ アに コ ン フ ィ ギ ュ レーシ ョ ンで き ます。ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れてい る ど の run に対 し て も 、 Vivado ロ ジ ッ ク 解析を起動 し てハー ド ウ ェ ア を検証で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 36 プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 Tcl コ マ ン ド お よ びス ク リ プ ト の使用は、 モー ド に よ っ て異な り 、 作成 さ れ る Tcl の run ス ク リ プ ト も モー ド に よ っ て 異な り ます。 詳細は、 「プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の違い」 を参照 し て く だ さ い。 プ ロ ジ ェ ク ト の 作成、 イ ンプ リ メ ン テーシ ョ ン、 レ ポー ト 作成のための、 プ ロ ジ ェ ク ト モー ド の基本的な Tcl コ マン ド を次に示 し ま す。 プ ロ ジ ェ ク ト に関連する すべての Tcl コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 デザ イ ン タ ス ク に関連す る Tcl コ マン ド を理解す る には、Vivado IDE で必要な コ マン ド を実行 し 、[Tcl Console] ビ ュ ー ま たは vivado.jou フ ァ イ ルで構文を確認す る のが最適な方法です。 注記 : こ のガ イ ド には、使用可能な Tcl コ マ ン ド すべての説明が含まれ る わけではあ り ません。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) お よ び 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の 使用』 (UG894) を参照 し て く だ さ い。 プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド 表 3-2 : プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド Tcl コ マ ン ド 説明 create_project Vivado プ ロ ジ ェ ク ト を作成 し ます。 引数 と し てプ ロ ジ ェ ク ト 名、 保存場所、 デザ イ ンの 最上位モジ ュ ール名、 タ ーゲ ッ ト パーツ を指定 し ます。 add_files プ ロ ジ ェ ク ト に ソ ー ス フ ァ イ ル を追加 し ま す。 Verilog (.v)、 VHDL (.vhd ま たは .vhdl)、 System Verilog (.sv)、 IP (.xcoま たは.xci)、 XDC 制約 (.xdc ま たは .sdc)、 XPS か ら のエンベ デ ッ ド プ ロ セ ッ サ サブシ ス テ ム (.xmp)、 System Generator モジ ュ ール (.mdl) な ど の ソ ー ス を追加で き ます。 個々の フ ァ イ ルを追加す る か、 デ ィ レ ク ト リ 全体を指定 し て有効な フ ァ イ ルが自動的に追加 さ れ る よ う にす る こ と も で き ます。 set_property Vivado IDE で さ ま ざ ま な目的で使用 さ れます。 プ ロ ジ ェ ク ト では、 ソ ース の VHDL ラ イ ブ ラ リ 、 シ ミ ュ レ ーシ ョ ンのみの ソ ース、 タ ーゲ ッ ト 制約フ ァ イ ル、 ツール設定な ど を 定義で き ます。 import_files 指定の フ ァ イ ルを現在の フ ァ イ ル セ ッ ト に イ ン ポー ト し 、 プ ロ ジ ェ ク ト に追加 し ます。 XDC フ ァ イ ルを制約セ ッ ト に定義す る のに も 使用 さ れます。 launch_runs launch_runs -to_step 合成 (synth_1)、 イ ンプ リ メ ン テーシ ョ ン (impl_1)、 ま たはビ ッ ト ス ト リ ーム生成 (impl_1) を開始 し ます。 こ の コ マ ン ド には、 個々の イ ン プ リ メ ン テーシ ョ ン コ マ ン ド と 、 run の 完了後に標準レ ポー ト を生成す る コ マン ド が含まれます。run の ス テー タ ス を管理す る の に使用 さ れ、 すべ て の イ ン プ リ メ ン テ ー シ ョ ン コ マ ン ド を 1 つに ま と め て い ま す。 -to_step オプシ ョ ン を使用す る と 、 個々の イ ンプ リ メ ン テーシ ョ ン コ マ ン ド お よ びビ ッ ト ス ト リ ーム生成を個別に実行で き ます。 wait_on_run run が完了する ま で待っ てか ら フ ロ ーの次の段階を実行 し ます。 open_run 合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ン を レ ポー ト ま たは解析用に開 き ま す。 レ ポー ト や解析の Tcl を使用 し て情報を取得す る には、 デザ イ ン を開いていてお く 必要があ り ます。 close_design メ モ リ 内のデザ イ ン を閉 じ ます。 start_gui stop_gui メ モ リ 内の現在のデザ イ ンで Vivado IDE を起動 し 、 終了 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 37 プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド でのその他の Tcl コ マ ン ド 表 3-3 : プ ロ ジ ェ ク ト モー ド 専用の Tcl コ マ ン ド add_files archive_project close_design close_project convert_ip create_fileset create_project create_run create_violation current_fileset current_project current_run delete_fileset delete_run find_top generate_target get_boards get_files get_filesets get_ipdefs get_ips get_projects get_runs import_as_run import_files import_ip import_synplify import_xise import_xst launch_runs list_targets make_wrapper open_example_project open_io_design open_project open_run refresh_design reimport_files remove_files reorder_files reset_run reset_target save_design save_design_as save_project_as set_speed_grade update_design update_files upgrade_ip wait_on_run プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例 次は、 Vivado Design Suite に含まれ る BFT サンプル デザ イ ンのプ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト です。 こ の例で は、 synth_design の よ う な基本コ マ ン ド の多 く が launch_runs コ マン ド の一部 と し て実行 さ れます。 # # STEP#1:Create Project, add and configure sources and configure design # create_project project_bft ./project_bft -part xc7k70tfbg484-2 add_files -norecurse {./Sources/hdl/async_fifo.v ./Sources/hdl/bft.vhdl ./Sources/hdl/FifoBuffer.v} add_files -norecurse ./Sources/hdl/bftLib set_property library bftLib [get_files -of_objects sources_1 [glob ./Sources/hdl/bftLib/*.vhdl]] import_files -force -norecurse import_files -fileset constrs_1 -force -norecurse ./Sources/bft_full.xdc set_property target_constrs_file ./project_bft/project_bft.srcs/constrs_1/imports/Sources/bft_full.xdc\ [cur-rent_fileset -constrset] # # STEP#2:Configure and launch Synthesis and Implementation and generate reports # set_property args.synth_design.flatten_hierarchy rebuilt [get_runs synth_1] launch_runs synth_1 -jobs 4 wait_on_run synth_1 launch_runs impl_1 -jobs 4 wait_on_run impl_1 launch_runs impl_1 -to_step bitgen wait_on_run impl_1 # # STEP#3:Start IDE for design analysis # start_gui stop_gui デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 38 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 非プ ロ ジ ェ ク ト モー ド を使用す る 場合、 デザ イ ンは read_verilog、 read_vhdl、 read_edif、 read_ip、 お よ び read_xdc コ マ ン ド を使用 し て コ ンパ イ ル さ れます。 ソ ースは コ ンパ イ ル用に順序付け ら れ、 合成に渡 さ れます。 注記 : こ の文書には、 使用可能な Tcl コ マ ン ド すべての説明が含まれ る わけではあ り ません。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) お よ び 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の 使用』 (UG894) を参照 し て く だ さ い。 非プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド 表 3-4 : プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド Tcl コ マ ン ド 説明 read_verilog 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に Verilog (.v) お よ び System Verilog (.sv) ソ ース フ ァ イ ルを読み 込みます。 read_vhdl 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に VHDL (.vhd ま たは .vhdl) ソ ース フ ァ イ ルを読み込みます。 read_ip 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に 既存の IP (.xco ま たは .xci) プ ロ ジ ェ ク ト フ ァ イ ルを読み込み ます。 .xco IP プ ロ ジ ェ ク ト では .ngc ネ ッ ト リ ス ト が使用 さ れます。 .xci IP では、 コ ンパ イ ルに は RTL が使用 さ れ、 存在す る 場合はネ ッ ト リ ス ト が使用 さ れます。 read_xdc 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に .sdc ま たは .xdc フ ォーマ ッ ト の制約 ソ ース フ ァ イ ルを読み込 みます。 set_param set_property デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン、 ツール設定な ど を定義 し ます。 link_design セ ッ シ ョ ン でネ ッ ト リ ス ト ソ ース を使用 し てい る 場合に、 デザ イ ン を合成用に コ ンパ イ ル し ます。 synth_design デザ イ ンの最上位モジ ュ ール と タ ーゲ ッ ト パーツ を引数 と し て Vivado 合成を実行 し ます。 opt_design 合成済みネ ッ ト リ ス ト に対 し て最適化を実行 し ます。 power_opt_design シ ス テ ム全体の消費電力を削減す る ため ク ロ ッ ク ゲーテ ィ ン グ を実行 し ます (オプシ ョ ン)。 place_design デザ イ ン を配置 し ます。 phys_opt_design タ イ ミ ン グ ま たは配線性を向上す る ため物理 ロ ジ ッ ク 最適化を実行 し ます (オプシ ョ ン)。 route_design デザ イ ン を配線 し ます。 report_* デザ イ ン プ ロ セ ス の さ ま ざ ま な段階で レ ポー ト を生成 し ます。 write_bitstream BIT フ ァ イ ルを生成 し て DRC を実行 し ます。 write_checkpoint read_checkpoint フ ロ ーの任意の段階でのデザ イ ン を保存 し ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト には、 ネ ッ ト リ ス ト 、 制約 (フ ロ ーで実行 さ れた最適化を含む)、 イ ンプ リ メ ン テーシ ョ ン結果が含まれます。 start_gui stop_gui メ モ リ 内の現在のデザ イ ンで Vivado IDE を起動 し 、 終了 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 39 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド でのその他の Tcl コ マ ン ド 多 く の Tcl コ マ ン ド は、 レ ポー ト コ マン ド の よ う に ど ち ら のモー ド で も 使用で き ますが、 プ ロ ジ ェ ク ト モー ド ま たは 非プ ロ ジ ェ ク ト モー ド のいずれかで し か使用で き ない も の も あ り ます。 ス ク リ プ ト を作成する 際は、 ど ち ら かのモー ド で し か使用で き ない コ マ ン ド を混合 し ない よ う に注意 し て く だ さ い。 た と えば、 プ ロ ジ ェ ク ト モー ド を使用す る 場 合は、 非プ ロ ジ ェ ク ト モー ド で し か使用で き ない synth_design の よ う な コ マン ド を使用 し ない よ う に し ます。 プ ロ ジ ェ ク ト モー ド で非プ ロ ジ ェ ク ト モー ド 用の コ マ ン ド を 使用す る と 、 デー タ ベー ス で ス テー タ ス 情報が ア ッ プ デー ト さ れず、 レ ポー ト が自動的に生成 さ れな く な り ます。 表 3-5 : 非プ ロ ジ ェ ク ト モー ド 特定の Tcl コ マ ン ド opt_design phys_opt_design place_design power_opt_design read_checkpoint read_edif read_verilog read_vhdl read_xdc route_design write_checkpoint 非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例 次は、 Vivado Design Suite に含まれ る BFT サンプル デザ イ ンの非プ ロ ジ ェ ク ト モー ド の 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.vhdl read_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_synth report_timing_summary -file $outputDir/post_synth_timing_summary.rpt report_power -file $outputDir/post_synth_power.rpt # # STEP#3: run placement and logic optimization, report utilization and timing estimates, write checkpoint design # opt_design power_opt_design place_design phys_opt_design write_checkpoint -force $outputDir/post_place デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 40 非プ ロ ジ ェ ク ト モー ド の使用 report_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_design write_checkpoint -force $outputDir/post_route report_timing_summary -file $outputDir/post_route_timing_summary.rpt report_timing -sort_by group -max_paths 100 -path_type summary -file $output-Dir/post_route_timing.rpt report_clock_utilization -file $outputDir/clock_util.rpt report_utilization -file $outputDir/post_route_util.rpt report_power -file $outputDir/post_route_power.rpt report_drc -file $outputDir/post_imp_drc.rpt write_verilog -force $outputDir/bft_impl_netlist.v write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc # # STEP#5: generate a bitstream # write_bitstream -force $outputDir/bft.bit デザイ ン チ ェ ッ ク ポ イ ン ト の使用 Vivado IDE では、 デー タ ベース を保存お よ び復元す る ための メ カ ニ ズ ム と し て、 デザ イ ン チ ェ ッ ク ポ イ ン ト を使用 し ます。 チ ェ ッ ク ポ イ ン ト は、 フ ロ ーの特定の地点におけ る デザ イ ンの スナ ッ プシ ョ ッ ト です。 現在のネ ッ ト リ ス ト 、 制約、 お よ び イ ンプ リ メ ン テーシ ョ ン結果が、 デザ イ ン チ ェ ッ ク ポ イ ン ト に保存 さ れます。 非プ ロ ジ ェ ク ト モー ド デザ イ ン フ ロ ーでは、 デザ イ ンの ど の段階で も デザ イ ン チ ェ ッ ク ポ イ ン ト を保存で き ます。 チ ェ ッ ク ポ イ ン ト デザ イ ンに対 し ては、 Tcl コ マン ド を使用 し てデザ イ ン フ ロ ーの残 り の段階を実行で き ますが、 新 し いデザ イ ン ソ ース で 変更を加え る こ と はで き ません。 Vivado Design Suite の Tcl フ ロ ーには、 非プ ロ ジ ェ ク ト モー ド で保存/復元をする 次の コ マ ン ド が含まれます。 • write_checkpoint (デザ イ ン チ ェ ッ ク ポ イ ン ト の書き 出 し ) : デザ イ ン フ ロ ーの任意の段階でデザ イ ン デー タ ベース の ス ナ ッ プシ ョ ッ ト を保存 し ます。 こ れに よ り 、 拡張子が .dcp の フ ァ イ ルが作成 さ れます。 • read_checkpoint (デザ イ ン チ ェ ッ ク ポ イ ン ト の読み込み) : デザ イ ン スナ ッ プシ ョ ッ ト を復元 し ます。デザ イ ン がすべて現在の イ ン プ リ メ ン テーシ ョ ン ス テー ト で保存 さ れ る ので、 問題をデバ ッ グす る 際に役立ち ま す。 チ ェ ッ ク ポ イ ン ト デザ イ ンに対 し ては、 Tcl コ マ ン ド を使用 し てデザ イ ン フ ロ ーの残 り の段階を実行で き ます。 こ れ ら の コ マ ン ド の詳細は、 -help オプシ ョ ン を使用 し て コ マン ド を実行す る か、 『Vivado Design Suite Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 非プ ロ ジ ェ ク ト モー ド での Vivado IDE の使用 ア ク テ ィ ブ デザイ ン で Vivado IDE を開 く Vivado Design Suite の非プ ロ ジ ェ ク ト Tcl フ ロ ーで も 、 デザ イ ン プ ロ セ ス の各段階で Vivado IDE を開 く こ と がで き ま す。 こ の機能を使用 し て、 メ モ リ 内のデザ イ ン に対 し て解析お よ び操作を実行 し ま す。 Vivado IDE を起動す る には start_gui コ マ ン ド 、 終了する には stop_gui コ マ ン ド を使用 し ます。 Flow Navigator、 プ ロ ジ ェ ク ト サマ リ 、 ソ ー スへのア ク セ スお よ び管理、 run な ど のプ ロ ジ ェ ク ト 機能は非プ ロ ジ ェ ク ト モー ド では使用で き ませんが、 解析お よ び制約変更の機能の多 く は、 [Tools] メ ニ ュ ーか ら 使用で き ます。 ただ し 、 メ モ リ 内のア ク テ ィ ブ デザ イ ンに対 し て Vivado IDE で加えた変更は、 自動的にはダ ウ ン ス ト リ ーム ツール に適用 さ れません。保存機能はあ り ません。その後の実行用に制約の変更を保存す る には、[File] → [Export] → [Export Constraints] を ク リ ッ ク し て、 すべて を含む新 し い XDC 制約フ ァ イ ルを記述 し ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 41 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド では、 メ モ リ 内のア ク テ ィ ブ デザ イ ンで Vivado IDE を起動お よ び終了す る のに次の コ マン ド を使用 し ます。 • start_gui : メ モ リ 内のア ク テ ィ ブ デザ イ ン を Vivado IDE で開 き ます。 • stop_gui : Vivado IDE を終了 し 、 Tcl プ ロ ンプ ト に戻 り ます。 重要 : Vivado IDE を閉 じ る と Tcl シ ェ ル も 閉 じ て し ま い、 メ モ リ 内のデザ イ ンが消去 さ れます。 ア ク テ ィ ブ デザ イ ン を保持 し た状態で Tcl シ ェ ルに戻る には、 [Tcl Console] ビ ュ ーで stop_gui コ マン ド を入力 し て く だ さ い。 X-Ref Target - Figure 3-24 図 3-24 : ア ク テ ィ ブ デザイ ン で Vivado IDE を開 く ア ク テ ィ ブ デザイ ンへの変更の保存 メ モ リ 内でデザ イ ン を変更する ので、 加え た変更は Vivado IDE Tcl セ ッ シ ョ ンの残 り の フ ロ ーで使用 さ れ る ダ ウ ン ス ト リ ーム ツールに自動的に渡 さ れ ます。 こ れは、 ISE Design Suite ツールに慣れたユーザーには新 し い概念です。 こ れに よ り 現在の実行に非常に有益であ り 、 今後の実行用に変更を保存で き ます。 今後の実行用に制約を保存する には、 [File] → [Export] → [Export Constraints] を ク リ ッ ク し ます。 新 し い制約フ ァ イ ル を作成する か、 元の フ ァ イ ルに上書き で き ます。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 42 非プ ロ ジ ェ ク ト モー ド の使用 Vivado IDE でデザイ ン チ ェ ッ ク ポ イ ン ト を開 く デザ イ ン チ ェ ッ ク ポ イ ン ト と し て保存 さ れたデザ イ ン も Vivado IDE で解析で き ます。Tcl コ マン ド (synth_design、 opt_design、 power_opt_design、 place_design、 phys_opt_design、 route_design) を使用 し て非プ ロ ジ ェ ク ト モー ド でデザ イ ン を実行 し 、 任意の段階でデザ イ ン を保存 し て、 後の Vivado IDE セ ッ シ ョ ンで読み込む こ と がで き ます。 配線済みデザ イ ンか ら 開始 し 、 タ イ ミ ン グ を解析 し 、 タ イ ミ ン グ問題を回避で き る よ う に配置を調整 し 、 デザ イ ンが完全に配線 さ れていない状態であ っ て も 、 後で使用で き る よ う に保存で き ます。 X-Ref Target - Figure 3-25 図 3-25 : Vivado IDE でデザイ ン チ ェ ッ ク ポ イ ン ト を開 く Vivado IDE のビ ュ ー バナーに、 開いてい る デザ イ ン チ ェ ッ ク ポ イ ン ト の名前が表示 さ れます。 デザイ ン チ ェ ッ ク ポ イ ン ト への変更の保存 デザ イ ン チ ェ ッ ク ポ イ ン ト のデザ イ ン を開 き 、 解析 し 、 保存で き ます。 新 し いデザ イ ン チ ェ ッ ク ポ イ ン ト に変更を 保存する こ と も で き ます。 • [File] → [Save Checkpoint] を ク リ ッ ク し 、 現在のデザ イ ン チ ェ ッ ク ポ イ ン ト に加え た変更を保存 し ます。 • [File] → [Write Checkpoint] を ク リ ッ ク し 、 チ ェ ッ ク ポ イ ン ト の現在の状態を新 し いデザ イ ン チ ェ ッ ク ポ イ ン ト と し て保存 し ます。 制約の変更は、 新 し い制約フ ァ イ ルにエ ク ス ポー ト で き ま す。 [File] → [Export] → [Export Constraints] を ク リ ッ ク し て、 新 し い制約フ ァ イ ルを作成す る か、 元の フ ァ イ ルに上書 き し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) を参照 し て く だ さ い。 こ れ ら の コ マ ン ド の詳細は、 -help オプシ ョ ン を使用 し て コ マン ド を実行す る か、 『Vivado Design Suite Tcl コ マン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 43 非プ ロ ジ ェ ク ト モー ド の使用 サー ド パーテ ィ の合成済みネ ッ ト リ ス ト の使用 Vivado Design Suite では、 サー ド パーテ ィ の合成ツールま たは Xilinx Synthesis Technology (XST) を使用す る 場合な ど、 合成済みネ ッ ト リ ス ト の イ ン プ リ メ ン テーシ ョ ン がサポー ト さ れ ま す。 外部合成 ツールでは、 Verilog ま たは EDIF ネ ッ ト リ ス ト と 制約フ ァ イ ルが生成 さ れます。 こ れ ら のネ ッ ト リ ス ト は、 プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかで、 ス タ ン ド ア ロ ンで使用する か、 RTL フ ァ イ ル と 混合 し て使用で き ます。 非プ ロ ジ ェ ク ト モー ド のイ ン プ リ メ ン テーシ ョ ン ネ ッ ト リ ス ト のみの非プ ロ ジ ェ ク ト モー ド の場合、 ネ ッ ト リ ス ト フ ロ ーは次の点が異な り ます。 • read_edif では EDIF ま たは NGC ネ ッ ト リ ス ト フ ァ イ ルが読み込まれます。 ネ ッ ト リ ス ト を使用す る 場合、 フ ァ イ ルのベース名が最上位デザ イ ンの名前 と 同 じ であ る 必要があ り ます。 • read_verilog では構造型 Verilog フ ァ イ ルが読み込まれます。 • read_xdc では、 制約フ ァ イ ルが読み込まれます。 • 最上位モジ ュ ール と パーツは、 イ ンプ リ メ ン テーシ ョ ン用にデザ イ ン を開 く と き に指定 し ます。 link_design -top my_module –part xc7vx485tffg1157-1 • RTL/ネ ッ ト リ ス ト 混合デザ イ ンの場合、synth_design コ マ ン ド でネ ッ ト リ ス ト が自動的に リ ン ク さ れ る ので、 link_design コ マ ン ド を使用する 必要はあ り ません。 次は、 1 つの EDIF の非プ ロ ジ ェ ク ト モー ド ス ク リ プ ト の単純な例です。 read_edif my_top.edf read_xdc my_top.xdc link_design -top my_top –part xc7vx485tffg1157-1 opt_design # power_opt_design ;# Optional place_design # phys_opt_design ;# Optional route_design report_timing_summary report_drc write_checkpoint routed write_bitstream デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 44 付録 A その他の リ ソ ース ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ースは、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 http://japan.xilinx.com/support ザ イ リ ン ク ス資料で使用 さ れ る 用語集については、 次を参照 し て く だ さ い。 http://japan.xilinx.com/company/terms.htm ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ス、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 リ フ ァ レンス • Vivado™ Design Suite 2012.2 資料ページ http://japan.xilinx.com/support/documentation/dt_vivado_vivado2012-2.htm デザイ ン フ ローの概要 UG892 (v2012.2) 2012 年 7 月 25 日 japan.xilinx.com 45