Vivado Design Suite ユーザー ガ イ ド デザイ ン フ ローの概要 UG892(v2015.1) (v2015.2) 2015 月 UG892 2015 年 4年 月6 1日 24 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最 新情報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 2015/06/24 : Vivado Design Suite 2015.2 リリース。内容の変更なし。 日付 バージ ョ ン 改訂内容 2015 年 4 月 1 日 2015.1 「階層デザ イ ン」 セ ク シ ョ ン を新 し く 追加 し 、 図 3-16 を ア ッ プデー ト 第 1 章 「概要」、 第 2 章 「使用モデル」、 第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」、 第 4 章 「非プ ロ ジ ェ ク ト モー ド の使 用」 に内容のア ッ プデー ト を追加 し 、 新 し い ビデオ チ ュ ー ト リ アルの リ ン ク を追加 図 3-1、 図 3-2、 図 3-4、 図 3-5、 図 3-6、 図 3-14、 図 3-15、 図 3-16、 図 4-1 を ア ッ プデー ト デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 2 目次 第 1 章 : 概要 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Vivado Design Suite の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 シ ス テ ム レベルのデザ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 ア ウ ト オブ コ ン テ キ ス ト デザ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 業界標準に基づいたデザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 ザ イ リ ン ク ス プ ラ ッ ト フ ォーム ボー ド フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 I/O ピ ン配置お よ びフ ロ アプ ラ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 デザ イ ン解析お よ び検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 デバ イ ス プ ロ グ ラ ムお よ びハー ド ウ ェ ア検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 階層デザ イ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 第 2 章 : 使用モデル プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tcl の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado IDE の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ ビ ジ ョ ン管理シ ス テ ム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCB 設計 と の関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . サー ド パーテ ィ デザ イ ン ソ フ ト ウ ェ ア ツールの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 16 17 18 19 19 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . プ ロ ジ ェ ク ト モー ド の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flow Navigator の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . シ ス テ ム レベルのデザ イ ン入力の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O ピ ン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク 合成お よ び イ ンプ リ メ ン テーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ グ フ ァ イ ル、 メ ッ セージ、 レ ポー ト 、 プ ロ パテ ィ の表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デザ イ ン解析お よ び制約定義の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デバ イ ス のプ ロ グ ラ ム、 ハー ド ウ ェ ア検証、 お よ びデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 22 24 26 29 33 33 33 36 40 48 49 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 非プ ロ ジ ェ ク ト モー ド の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 3 デザ イ ン ソ ース の読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ロ ジ ッ ク 合成お よ び イ ンプ リ メ ン テーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . レ ポー ト の生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デザ イ ン チ ェ ッ ク ポ イ ン ト の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado IDE を使用 し たデザ イ ン解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 54 54 55 55 55 56 59 付録 A : その他のソ ースおよび法的通知 ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 62 62 62 63 63 4 第 1章 概要 概要 Vivado® Design Suite では、 ザ イ リ ン ク ス FPGA のデザ イ ンお よ び検証に関す る タ ス ク を、 さ ま ざ ま な方法で達成で き ます。 従来か ら の RTL か ら ビ ッ ト ス ト リ ーム ま での FPGA デザ イ ン フ ロ ーに加え、 Vivado Design Suite では IP 中 心のデザ イ ンに焦点を置いた シ ス テ ム レベルの統合フ ロ ーを提供 し てい ます。 Vivado IP イ ン テ グ レー タ ー環境を使 用す る と 、 さ ま ざ ま な IP を イ ン ス タ ン シエー ト 、 コ ン フ ィ ギ ュ レーシ ョ ン、 お よ び IP サブシ ス テ ム ブ ロ ッ ク デザ イ ンに イ ン タ ラ ク テ ィ ブに接続で き ます。 カ ス タ ム IP お よ び IP ブ ロ ッ ク デザ イ ン を コ ン フ ィ ギ ュ レーシ ョ ン し てパ ッ ケージに し 、 Vivado IP カ タ ロ グか ら 使用する こ と も で き ます。 デザ イ ンの解析お よ び検証は、 フ ロ ーの各段階で実行 で き ます。 デザ イ ン解析機能には、 ロ ジ ッ ク シ ミ ュ レーシ ョ ン、 I/O お よ び ク ロ ッ ク 配置、 消費電力解析、 制約定義、 タ イ ミ ン グ解析、 デザ イ ン ルール チ ェ ッ ク (DRC)、 デザ イ ン ロ ジ ッ ク の表示、 イ ンプ リ メ ン テーシ ョ ン結果の解析 と 変更、 プ ロ グ ラ ムお よ びデバ ッ グ な ど があ り ます。 ソ リ ュ ーシ ョ ン全体は、 Vivado 統合設計環境 (IDE) と い う グ ラ フ ィ カル ユーザー イ ン タ ーフ ェ イ ス (GUI) に統合 さ れてい ます。 Vivado IDE では、 デザ イ ンお よ び IP を作成、 イ ン プ リ メ ン ト 、 お よ び検証す る イ ン タ ーフ ェ イ ス が提 供 さ れてい ます。 ま た、 すべての フ ロ ーは Tcl コ マ ン ド を使用 し て も 実行で き ます。 Tcl コ マ ン ド は Vivado IDE の Tcl コ ン ソ ールま たは Vivado Design Suite Tcl シ ェ ルか ら 使用で き ます。 Tcl ス ク リ プ ト を使用 し て、 デザ イ ン解析を含む デザ イ ン フ ロ ー全体を実行 し た り 、 フ ロ ーの一部のみを実行で き ます。 Vivado Design Suite の機能 Vivado Design Suite は、 さ ま ざ ま なデザ イ ン タ イ プに使用で き ます。 ツール フ ロ ーお よ び機能は、 デザ イ ンの タ イ プ に よ っ て異な り ます。 「シ ス テ ム レベルのデザ イ ン フ ロ ー」 セ ク シ ョ ンでは、 Vivado Design Suite に よ り 使用で き る よ う にな っ た主な機能について説明 し ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 5 第 1 章 : 概要 シ ス テム レ ベルのデザイ ン フ ロー 図 1-1 に、 Vivado Design Suite での全体的なデザ イ ン フ ロ ーを示 し ます。 X-Ref Target - Figure 1-1 &6RXUFHV +LJK/HYHO 6\QWKHVLV '63'HVLJQ 6\VWHP *HQHUDWRU ,3,QWHJUDWLRQ (PEHGGHG/RJLF '63« &XVWRP,3 ,33DFNDJLQJ ,3&DWDORJ 6RXUFHV 57/1HWOLVW &RQVWUDLQWV 57/6\VWHP/HYHO,QWHJUDWLRQ ;LOLQ[,3 7KLUG3DUW\,3 8VHU,3 6\QWKHVLV ,PSOHPHQWDWLRQ 3URJUDPPLQJ DQG'HEXJ 'HVLJQ$QDO\VLV &RQVWUDLQWV 6LPXODWLRQ 'HEXJJLQJ &URVV3URELQJ (&2 ; 図 1‐1 : Vivado Design Suite のデザイ ン フ ロー IP デザイ ン と シ ス テム レ ベル デザイ ンの統合 Vivado Design Suite は、 IP を ス タ ン ド ア ロ ン のモジ ュ ール と し て、 ま たはシ ス テ ム レベル デザ イ ン の一部 と し て設 定、 イ ン プ リ メ ン ト 、 検証お よ び統合す る ための環境を提供す る ツールです。 IP には、 エ ンベデ ッ ド プ ロ セ ッ サ、 DSP デジ タ ル信号処理モジ ュ ール、 C ベース のアルゴ リ ズ ム デザ イ ン な ど も 含まれます。 カ ス タ ム IP は IP-XACT プ ロ ト コ ルに し たがっ てパ ッ ケージ さ れ、 Vivado IP カ タ ロ グか ら 使用で き ます。 IP カ タ ロ グか ら は、 IP に素早 く ア ク セ ス で き 、 コ ン フ ィ ギ ュ レーシ ョ ン、 イ ン ス タ ン シエーシ ョ ン、 検証で き ます。 ザ イ リ ン ク ス IP では AXI4 イ ン タ ー コ ネ ク ト 標準が使用 さ れ、 よ り 高速なシ ス テ ム レベルの統合がで き る よ う にな っ てい ます。 既存の IP は、 RTL ま た はネ ッ ト リ ス ト の ど ち ら かの形式のデザ イ ンで使用で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使 用 し た設計』 (UG896) [参照 1] を参照 し て く だ さ い。 注記 : ISE フ ォーマ ッ ト IP (.ngc) は UltraScale デザ イ ンではサポー ト さ れな く な り ま し た。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 6 第 1 章 : 概要 RTL またはネ ッ ト リ ス ト か ら デバイ ス プ ログ ラ ムま でのデザイ ン フ ロー Vivado Design Suite では、 さ ま ざ ま なデザ イ ン フ ロ ーをサポー ト す る ために さ ま ざ ま なデザ イ ン入力方法が使用で き ます。 • RTL フ ロ ー Vivado 合成お よ び イ ンプ リ メ ン テーシ ョ ンでは、 Verilog、 VHDL、 SystemVerilog、 お よ び XDC な ど の複数の ソ ー ス フ ァ イ ルの種類がサポー ト さ れ ます。 ま た、 Vivado HLS を使用 し て、 C ベーエ ス の ソ ース を使用 し てデザ イ ン部分を コ ンパ イ ルす る こ と も で き ます。 • サー ド パーテ ィ 合成フ ロ ー Vivado 合成で EDIF ま たは構造型 Verilog な ど のサー ド パーテ ィ 合成 ソ ース がサポー ト さ れ ます。 SDC ソ ース も サポー ト さ れます。 XDC コ ン ス ト ラ ク ト を使用す る こ と をお勧め し ます。 Vivado IP は Vivado 合成を使用 し て合 成 さ れ ます。 Vivado Design Suite IP ソ ー ス は、 通常サー ド パーテ ィ 合成ツールでは合成で き ませんが、 7 シ リ ー ズの メ モ リ イ ン タ ーフ ェ イ ス ジ ェ ネ レー タ ー (MIG) コ ア な ど の例外 も あ り ます。 次は、 主なデザ イ ン フ ロ ーです。 • Vivado 合成 • Vivado イ ンプ リ メ ン テーシ ョ ン • Vivado タ イ ミ ン グ解析 • Vivado 消費電力解析 • ビ ッ ト ス ト リ ーム生成 こ れ ら の機能は、 集積度が高いデザ イ ン のパ フ ォ ーマ ン ス の増加、 ラ ン タ イ ム の削減の ために設計 さ れてい ま す。 Vivado 合成お よ び イ ンプ リ メ ン テーシ ョ ン機能は、 タ イ ミ ン グ ド リ ブ ン で SDC ま たは XDC 形式の制約を使用 し ま す。 デザ イ ン プ ロ セ ス の各段階で、 さ ま ざ ま な レ ポー ト お よ び解析機能が使用で き ます。 Vivado Design Suite Tcl シ ェ ルま たは Vivado IDE の Tcl コ ン ソ ールに Tcl コ マ ン ド を入力 し て Tcl バ ッ チ ス ク リ プ ト を使用す る か、 Vivado IDE を 使用す る と 、 フ ロ ー全体を実行で き ます。 デザ イ ン結果を改善す る には、 複数の run を作成 し て さ ま ざ ま な合成ま た は イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン、 タ イ ミ ン グお よ び物理制約、 ま たはデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を試 し てみます。 Vivado Design Suite は、 デザ イ ン プ ロ ジ ェ ク ト を使用 し て、 デザ イ ン プ ロ セ ス全体を コ ン フ ィ ギ ュ レーシ ョ ンお よ び 管理 し ます。 ソ ース、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンお よ び run の結果は、 Vivado Design Suite プ ロ ジ ェ ク ト 内に 保存 さ れ、 管理 さ れ ます。 デザ イ ン ス テー タ ス に よ り 、 ソ ー ス フ ァ イ ルがア ッ プデー ト さ れた場合や run 結果が古 い場合な ど、 ス テー タ ス の変更がわか り ます。 Vivado IDE では、 合成お よ び イ ンプ リ メ ン テーシ ョ ン中に標準的な レ ポー ト のセ ッ ト 、 ツールの メ ッ セージ、 ロ グ を生成 し て表示で き ます。 イ ンプ リ メ ン テーシ ョ ンでは、 Vivado 消費電 力最適化、 Vivado 物理最適化、 お よ び run ス ト ラ テ ジ な ど、 デザ イ ン ク ロ ージ ャ ーを達成す る ためのア ド バン ス オ プ シ ョ ン が使用で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2] お よ び 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] を参照 し て く だ さ い。 IP サブ シ ス テム デザイ ン Vivado IP イ ン テ グ レー タ ー環境では、AMBA AXI4 イ ン タ ーコ ネ ク ト プ ロ ト コ ルを使用 し て さ ま ざ ま な IP を IP サブ シ ス テ ムに統合で き ます。 ブ ロ ッ ク デザ イ ン形式の イ ン タ ーフ ェ イ ス を使用 し て イ ン タ ラ ク テ ィ ブに IP を コ ン フ ィ ギ ュ レーシ ョ ン し た り 、 接続 し た り 、 回路図の よ う な DRC を元に修正 さ れた接続を描画 し て、 イ ン タ ーフ ェ イ ス全 体を簡単に接続で き ます。 標準 イ ン タ ーフ ェ イ ス を使用 し て IP を接続す る と 、 従来の RTL ベース の接続に比べて時 間を節約で き ます。 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン機能 と DRC セ ッ ト を使用する こ と で、 IP コ ン フ ィ ギ ュ レーシ ョ ンお よ び接続が正 し く で き る よ う にな っ てい ます。 こ れ ら の IP ブ ロ ッ ク デザ イ ンは、 こ の後検証 さ れ、 パ ッ ケージ に さ れて、 1 つのデザ イ ン ソ ース と し て扱われます。 ブ ロ ッ ク デザ イ ンは、 デザ イ ン プ ロ ジ ェ ク ト で使用で き た り 、 ほかのプ ロ ジ ェ ク ト と 共有で き ます。 IP イ ン テ グ レー タ ー環境は、 エ ンベデ ッ ド デザ イ ンお よ びザ イ リ ン ク ス評価 ボー ド イ ン タ ーフ ェ イ ス の メ イ ン イ ン タ ーフ ェ イ ス です。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 4] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 7 第 1 章 : 概要 エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン エ ンベデ ッ ド プ ロ セ ッ サは ソ フ ト ウ ェ アが効率的にブー ト お よ び実行 さ れ る こ と を要件 と す る ので、 ソ フ ト ウ ェ ア デザ イ ン フ ロ ーはハー ド ウ ェ ア デザ イ ン フ ロ ー と 合わせて実行す る 必要があ り ます。 問題な く 動作す る ためには、 異な る デー タ ハン ド オ フ ポ イ ン ト お よ び 2 つの ド メ イ ン間の検証が重要 と な り ます。 エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン を作成す る には、Vivado Design Suite の IP イ ン テ グ レー タ ーを使用 し ます。Vivado IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン では、 ユーザーがプ ロ セ ッ サ コ ア と その イ ン タ ーフ ェ イ ス を イ ン ス タ ン シエー ト 、 コ ン フ ィ ギ ュ レーシ ョ ン、 アセ ン ブル し ます。 ツールでは、 ルール ベース で接続 さ れ、 デザ イ ン ア シ ス タ ン ス が提供 さ れま す。 デザ イ ンが イ ンプ リ メ ン テーシ ョ ン を介 し て コ ンパ イ ル さ れた ら 、 ザ イ リ ン ク ス ソ フ ト ウ ェ ア開発キ ッ ト (SDK) にエ ク ス ポー ト し て、 ソ フ ト ウ ェ ア開発お よ び検証フ ロ ーに使用 し ます。 シ ミ ュ レーシ ョ ンお よ びデバ ッ グ機能を使 用す る と 、 2 つの ド メ イ ン間でデザ イ ン を シ ミ ュ レーシ ョ ンお よ び検証で き ます。 エンベデ ッ ド プ ロ セ ッ サ デザ イ ン の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 5] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG940) [参照 6] を 参照 し て く だ さ い。 重要 : Vivado IP イ ン テ グ レー タ ー は、 Zynq®-7000 All Programmable デバ イ スお よ び MicroBlaze™ プ ロ セ ッ サを タ ー ゲ ッ ト にす る デザ イ ン を含めた エ ンベデ ッ ド プ ロ セ ッ サ デザ イ ン用の Xilinx Platform Studio (XPS) に代わ る も ので す。 XPS は Vivado Design Suite と は統合 さ れな く な り ま し た。 ビデオ : Vivado IP イ ン テ グ レー タ ー と エンベデ ッ ド プ ロ セ ッ サ デザ イ ン フ ロ ーの ト レーニ ン グ ビデオについては、 Vivado Design Suite オン ラ イ ン ビデオ : Vivado IP イ ン テ グ レー タ ーを使用 し たデザ イ ン お よ び Vivado Design Suite オ ン ラ イ ン ビデオ : Vivado IP イ ン テ グ レー タ ーを使用 し た Zynq デバ イ ス の設計を参照 し て く だ さ い。 モデル ベースおよび高位合成ベースの DSP デザイ ン ザイ リ ン ク スの System Generator を使用 し たモデル ベースの DSP デザイ ン Vivado Design Suite は、 ザ イ リ ン ク ス の System Generator ツール と 直接統合 さ れてお り 、DSP フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る ための ソ リ ュ ーシ ョ ン を提供 し てい ます。 DSP モジ ュ ールは、 Vivado IDE に統合 さ れ、 管理 さ れます。 編集す る DSP ソ ース を選択す る と 、System Generator が自動的に起動 し ます。System Generator を ス タ ン ド ア ロ ン ツー ル と し て実行 し 、 その結果の出力フ ァ イ ルを Vivado IDE の ソ ース フ ァ イ ル と し て使用する こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデル ベース の DSP デザ イ ン』 (UG897) [参照 7] を 参照 し て く だ さ い。 高位合成を使用 し た DSP デザイ ン Vivado Design Suite の C ベース の高位合成ツール (Vivado HLS) を使用す る と 、 C、 C++、 System C 言語を使用 し てデ ザ イ ンの さ ま ざ ま な DSP フ ァ ン ク シ ョ ン を記述す る こ と がで き ます。 C コ ー ド は Vivado HLS (高位合成) ツールで作 成お よ び検証 し ます。 こ の後、 さ ま ざ ま なパ ラ メ ー タ ーを試 し て、 パフ ォーマ ン スお よ びエ リ ア を最適にで き 、 デザ イ ン をすばや く 検証 し 、 C ベース のシ ミ ュ レーシ ョ ン を使用 し て RTL シ ミ ュ レーシ ョ ン テ ス ト ベンチを作成で き ま す。 C か ら RTL への合成では、 C ベース デザ イ ンが RTL モジ ュ ールに変換 さ れ る ので、 それをパ ッ ケージ し て、 残 り のデザ イ ン と 一緒に イ ンプ リ メ ン テーシ ョ ンで き ます。 こ の後、 こ のモジ ュ ールを RTL デザ イ ン ま たは Vivado IP イ ン テ グ レー タ ー内に イ ン ス タ ン シエー ト で き ます。Vivado HLS ツール フ ロ ーの詳細お よ び機能については、『Vivado Design Suite ユーザー ガ イ ド : 高位合成』 (UG902) [参照 8] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : 高位合成』 (UG871)[参照 9] を参照 し て く だ さ い。 ビデオ : Vivado HLS に関す る さ ま ざ ま な ト レーニ ン グ ビデオは、ザ イ リ ン ク ス ウ ェ ブサ イ ト の Vivado Design Suite ビ デオ チ ュ ー ト リ アル ページか ら 入手で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 8 第 1 章 : 概要 アウ ト オブ コ ン テキス ト デザイ ン フ ロー デフ ォ ル ト では、 Vivado Design Suite では独立 し た ア ウ ト オブ コ ン テ キ ス ト (OOC) デザ イ ン フ ロ ーが使用 さ れて、 ザ イ リ ン ク ス IP カ タ ロ グか ら の IP コ アお よ び Vivado IP イ ン テ グ レー タ ーか ら のブ ロ ッ ク デザ イ ンが合成 さ れます。 こ の OOC フ ロ ーでは、 階層デザ イ ンのデザ イ ン モジ ュ ール、 IP コ ア、 ま たはブ ロ ッ ク デザ イ ン を最上位デザ イ ンか ら は独立 し て合成、 イ ンプ リ メ ン ト 、 解析で き ます。 OOC フ ロ ーを使用す る こ と で、 デザ イ ン サ イ ク ル時間が削減 で き 、 繰 り 返 し デザ イ ン を試す回数が減 り 、 完成 し たモジ ュ ールの合成お よ び イ ンプ リ メ ン テーシ ョ ン結果をデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルに保存で き ます。 ザ イ リ ン ク ス IP カ タ ロ グか ら デザ イ ン に追加 し た IP コ アに は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し たデザ イ ン』 (UG896) に示す よ う に、 [参照 1]デフ ォ ル ト でア ウ ト オブ コ ン テ キ ス ト フ ロ ーが使用 さ れます。 Vivado IP イ ン テ グ レー タ ーで作成 さ れたブ ロ ッ ク デザ イ ンの場合 も 、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 4] に示 す よ う に、 出力フ ァ イ ルの生成時にデフ ォ ル ト で OOC フ ロ ーが使用 さ れます。 Vivado Design Suite では、 デザ イ ン の グ ロ ーバル合成お よ び イ ン プ リ メ ン テーシ ョ ン がサポー ト さ れ、 すべて のモ ジ ュ ール、 ブ ロ ッ ク デザ イ ンお よ び IP コ アが統合 さ れた最上位デザ イ ンの一部 と し て処理 さ れます。 ただ し 、 OOC フ ロ ーを使用す る 場合、 特定のモジ ュ ールを ア ウ ト オブ コ ン テ キ ス ト 合成に し て、 それ以外のモジ ュ ールは最上位 デザ イ ンのグ ロ ーバル合成に含め る よ う にで き ます。Vivado IP イ ン テ グ レー タ ーか ら のブ ロ ッ ク デザ イ ンの場合、ブ ロ ッ ク デザ イ ン全体を OOC モジ ュ ール と し て指定 し た り 、 ブ ロ ッ ク デザ イ ンで使用 さ れ る IP すべて を ア ウ ト オブ コ ン テ キ ス ト に指定 し た り で き ます。Vivado 合成ツールで も 、キ ャ ッ シ ュ ま たは レ ポジ ト リ を使用 し て OOC モジ ュ ー ルの合成結果を再利用で き る よ う に保存 さ れ る ので、 同 じ IP カ ス タ マ イ ズの複数 イ ン ス タ ン ス で同 じ 結果を使用 し て、 大規模で複雑なデザ イ ン を速め る こ と がで き ます。 OOC モジ ュ ールは、 合成 し たデザ イ ン を開いてすべてのエ レ メ ン ト がアセ ン ブル さ れ る ま では、 最上位デザ イ ン で ブ ラ ッ ク ボ ッ ク ス と し て表示 さ れます。最上位の合成デザ イ ン を開 く 前には、 最上位デザ イ ンの リ ソ ース使用量お よ び解析に OOC モジ ュ ール (ブ ラ ッ ク ボ ッ ク ス) の情報が含まれないので、デザ イ ンの完全な ビ ュ ーは提供 さ れません。 よ り 正確な レ ポー ト を取得す る には、 最上位の合成済みデザ イ ン を開い て解析 し て、 統合 さ れたすべての OOC モ ジ ュ ールが含まれ る よ う に し て く だ さ い。 ア ウ ト オブ コ ン テ キ ス ト フ ロ ーは、 Vivado 合成、 イ ンプ リ メ ン テーシ ョ ンお よ び解析でサポー ト さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2] の 「ア ウ ト オブ コ ン テ キ ス ト フ ロ ー」 を参照 し て く だ さ い。 こ れは、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 10] に示す よ う に、 階層設計手法 お よ びチーム デザ イ ン アプ ロ ーチに も 使用 さ れます。 業界標準に基づいたデザイ ン Vivado Design Suite では、 次の業界標準がサポー ト さ れます。 • Tcl • AXI4、 IP-XACT • Synopsys デザ イ ン制約 (SDC) • Verilog、 VHDL、 SystemVerilog • SystemC、 C、 C++ Vivado Design Suite ソ リ ュ ーシ ョ ンは Tcl ベース で、SDC お よ び XDC (ザ イ リ ン ク ス デザ イ ン制約) フ ォーマ ッ ト がサ ポー ト さ れます。 合成で Verilog、 VHDL、 お よ び SystemVerilog がサポー ト さ れので、 FPGA が採用 し やす く な っ てい ま す。 Vivado 高位合成 (HLS) が可能な ので、 C、 C++、 ま た は System C 言語 を 使用 し て ロ ジ ッ ク を 定義で き ま す。 AXI4 お よ び IP-XACT な ど の標準 IP イ ン タ ーコ ネ ク ト プ ロ ト コ ルを使用す る と 、 シ ス テ ム レベルのデザ イ ンが よ り 速 く 簡単に統合で き ます。 こ れ ら の業界標準がサポー ト さ れ る こ と に よ り 、 EDA (電子シ ス テ ム設計自動化) エ コ シ ス テ ムで Vivado Design Suite が さ ら にサポー ト 可能に も な り ます。 ま た、Vivado Design Suite には多 く のサー ド パーテ ィ ツールが統合 さ れてい ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 9 第 1 章 : 概要 ザイ リ ン ク ス プ ラ ッ ト フ ォ ーム ボー ド フ ロー Vivado Design Suite では、 既存のザ イ リ ン ク ス評価プ ラ ッ ト フ ォーム ボー ド をデザ イ ンの タ ーゲ ッ ト と し て選択で き ます。 プ ラ ッ ト フ ォーム ボー ド フ ロ ーでは、 タ ーゲ ッ ト ボー ド に イ ンプ リ メ ン ト さ れたすべての IP イ ン タ ーフ ェ イ ス がア ク セ ス可能で、 デザ イ ン で使用 さ れ る IP の選択お よ び コ ン フ ィ ギ ュ レーシ ョ ン がすばや く で き る よ う にな っ てい ます。 IP コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ー と 、 I/O 規格お よ びパ ッ ケージ ピ ン制約な ど の物理ボー ド 制約 は、 こ の フ ロ ーを介 し て自動的に割 り 当て ら れ、 増加 し てい き ます。 コ ネ ク シ ョ ン オー ト メ ーシ ョ ン を使用す る こ と で、 選択 し た IP への接続がすばや く 実行で き る よ う にな っ てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の「Vivado Design Suite ボー ド フ ロ ーの使用」を参照 し て く だ さ い。 I/O ピ ン配置および フ ロ ア プ ラ ン Vivado IDE には I/O ピ ン配置環境が含まれてお り 、 デバ イ ス パ ッ ケージ ピ ン ま たは内部ダ イ パ ッ ド に I/O ポー ト を 正 し く 割 り 当て る こ と がで き ます。 Vivado ピ ン配置ツールに表示 さ れ る ビ ュ ーお よ び表を使用する と 、 デバ イ スお よ びデザ イ ンに関す る I/O デー タ を解析で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] を参照 し て く だ さ い。 Vivado IDE には、 イ ンプ リ メ ン テーシ ョ ン結果の改善に役立つア ド バン ス フ ロ アプ ラ ン機能が提供 さ れてい ます。 こ れには、 特定エ リ ア内に指定 し た ロ ジ ッ ク を強制的に使用 し た り 、 特定の配置ま たは配線を次の run のために イ ン タ ラ ク テ ィ ブに ロ ッ ク し た り す る 機能が含まれます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を参照 し て く だ さ い。 デザイ ン解析および検証 Vivado IDE では、 デザ イ ン プ ロ セ ス の各段階でデザ イ ン を解析、 検証、 変更で き ます。 回路のパフ ォーマ ン ス は、 デ ザ イ ン プ ロ セ ス で中間結果を解析す る と 改善で き ます。 こ の解析は、 RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ン プ リ メ ン テーシ ョ ンの後に実行で き ます。 Vivado シ ミ ュ レー タ を使用す る と 、 デザ イ ン の各段階で ビヘ イ ビ アお よ び構造 ロ ジ ッ ク シ ミ ュ レーシ ョ ン を実行で き ます。 こ のシ ミ ュ レー タ では、Verilog お よ び VHDL 混合モー ド のシ ミ ュ レーシ ョ ンがサポー ト さ れ、結果が Vivado IDE の波形ビ ュ ーアーに表示 さ れ ます。 サー ド パーテ ィ シ ミ ュ レー タ を使用す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 14] を参照 し て く だ さ い。 結果は、 Vivado IDE のデザ イ ン プ ロ セ ス の各段階で イ ン タ ラ ク テ ィ ブに解析で き ます。 デザ イ ンお よ び解析機能に は、 タ イ ミ ン グ解析、 消費電力概算お よ び解析、 デバ イ ス使用量統計、 デザ イ ン ルール チ ェ ッ ク (DRC)、 I/O ピ ン配 置、 フ ロ アプ ラ ン、 イ ン タ ラ ク テ ィ ブな配置配線解析を含む も の も あ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を参照 し て く だ さ い。 デバイ ス プ ログ ラ ムおよびハー ド ウ ェ ア検証 イ ン プ リ メ ン ト をす る と 、 Vivado ラ ボ ツール環境内でデバ イ ス を プ ロ グ ラ ムお よ び解析で き ます。 デバ ッ グ信号は 合成後には RTL で識別で き 、 フ ロ ー全体でプ ロ セ ス さ れ ま す。 デバ ッ グ コ アは コ ン フ ィ ギ ュ レーシ ョ ン し て RTL、 合成済みネ ッ ト リ ス ト 、 イ ン プ リ メ ン ト 済みデザ イ ンのいずれかに挿入で き ます。 Vivado ロ ジ ッ ク アナ ラ イ ザーを 使用す る と 、ハー ド ウ ェ ア検証 も で き ます。こ の イ ン タ ーフ ェ イ ス には、Vivado シ ミ ュ レー タ と 同 じ 共通の波形ビ ュ ー アーが使用 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 15] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 10 第 1 章 : 概要 パーシ ャル リ コ ン フ ィ ギ ュ レーシ ョ ン パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン フ ロ ーでは、 デバ イ ス の起動/実行中にデザ イ ンの一部を リ コ ン フ ィ ギ ュ レー シ ョ ン で き ます。 こ の フ ロ ーの場合、 リ コ ン フ ィ ギ ャ ブル モジ ュ ールが適切にデザ イ ン さ れて、 パーシ ャ ル ビ ッ ト ス ト リ ーム ア ッ プデー ト 中にグ リ ッ チのない動作を可能にす る ため、 比較的厳 し いデザ イ ン プ ロ セ ス が必要 と な り ます。 リ コ ン フ ィ ギ ャ ラ ブル モジ ュ ールは、 それ ら がプ ラ ン どお り に機能 し 、 最大パフ ォーマ ン ス にな る よ う にす る ために、 適切にプ ラ ン し てお く 必要があ り ます。 こ れには、 モジ ュ ールへの イ ン タ ーフ ェ イ ス信号数の削減、 適切な フ ロ アプ ラ ン、 モジ ュ ール ピ ン配置、 特定のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン DRC の遵守な ど が含ま れます。 デバ イ ス のプ ラ グ ラ ム方法 も I/O ピ ンが適切に割 り 当て ら れ る よ う にす る ために前 も っ てプ ラ ン し てお く 必要があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG909) [参照 16] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947) [参照 17] を参照 し て く だ さ い。 ビデオ : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの概要は、 Vivado Design Suite オン ラ イ ン ビデオ : Vivado Design Suite でのパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を参照 し て く だ さ い。 階層デザイ ン Vivado には、 階層デザ イ ン アプ ロ ーチを使用で き る よ う にな る 機能が複数あ り ます。 Vivado IDE お よ びその資料で 使用 さ れ る out-of-context ま たは OOC (ア ウ ト オブ コ ン テ キ ス ト ) と い う 用語は、最上位デザ イ ンか ら 独立 し て ス タ ン ド ア ロ ンで ロ ジ ッ ク モジ ュ ールを合成ま たは イ ンプ リ メ ン テーシ ョ ンする 方法を示 し てい ます。ユーザーはデザ イ ン 階層の レ ベル を 選択 し て それ ら を OOC で合成で き ま す。 モ ジ ュ ール レ ベルの制約 を 適用す る と 、 モ ジ ュ ール パ フ ォーマ ン ス を最適化 し て検証で き ます。 こ の後、 モジ ュ ール ネ ッ ト リ ス ト が イ ンプ リ メ ン テーシ ョ ン中に適用 さ れ ます。 こ の方法を使用す る と 、 最上位の合成 ラ ン タ イ ム を削減で き ます。 モジ ュ ールは イ ンプ リ メ ン ト 済み OOC、 お よ び最上位 イ ンプ リ メ ン テーシ ョ ン中に再利用 さ れ る 結果にす る こ と も で き ます。 こ れには、 適切なモジ ュ ール イ ン タ ーフ ェ イ ス デザ イ ン、制約定義、 フ ロ アプ ラ ンお よ び一部の特定 コ マ ン ド と デザ イ ン手法を使用す る 必要があ り ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG901) ) [参照 10] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 11 第 2章 使用モデル プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド Vivado® Design Suite では、 プ リ フ ァ レ ン ス に よ っ て、 さ ま ざ ま な方法で ツールを実行で き ます。 Vivado Design Suite では、 プ ロ ジ ェ ク ト ベース のアーキ テ ク チ ャ の利点を生か し て、 デザ イ ン を アセ ンブル、 イ ンプ リ メ ン ト お よ び管理 し ます。 こ れは、 プ ロ ジ ェ ク ト モー ド と 呼ばれます。 プ ロ ジ ェ ク ト ベース の方法を使用 し て、 デザ イ ン プ ロ セ スお よ びデザ イ ン デー タ を自動的に管理 さ せ る こ と も で き ます。 プ ロ ジ ェ ク ト モー ド の場合、 デ ィ ス ク 上にプ ロ ジ ェ ク ト フ ァ イ ル と プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造が作成 さ れ、 それを利用 し てデザ イ ン ソ ース フ ァ イ ルが管理 さ れ、 合 成お よ び イ ンプ リ メ ン テーシ ョ ン run の結果が格納 さ れて、 プ ロ ジ ェ ク ト ス テー タ ス が記録 さ れます。 run 構造を使用 し て、 合成お よ び イ ンプ リ メ ン テーシ ョ ン プ ロ セ スお よ び run ス テー タ ス を自動的に管理 し ます。 デ ザ イ ン フ ロ ー全体を Vivado IDE で 1 回 ク リ ッ ク する だけで実行で き ます。 フ ロ ー全体は、 Tcl コ マ ン ド を使用 し て ス ク リ プ ト 記述す る こ と も で き ます。 プ ロ ジ ェ ク ト の使用方法については、 第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」 を参 照 し て く だ さ い。 ま た、Tcl ス ク リ プ ト ベース の コ ンパ イ ル方法を使用する と 、ソ ースやデザ イ ン プ ロ セ ス を ユーザーが管理で き ます。 こ の方法は、 「非プ ロ ジ ェ ク ト モー ド 」 と 呼ばれます。 非プ ロ ジ ェ ク ト モー ド では、 各セ ッ シ ョ ン後に イ ン メ モ リ プ ロ ジ ェ ク ト が削除 さ れ、 Tcl コ マ ン ド で指定 し たデー タ のみがデ ィ ス ク に書 き 込まれます。 こ れがプ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の基本的な違いです。 こ のモー ド では、 ソ ース が現在の場所か ら 読み込まれ、 デザ イ ンが メ モ リ 内で コ ンパ イ ル さ れます。 Tcl コ マ ン ド を使用 し 、 デザ イ ン パ ラ メ ー タ ーお よ び イ ンプ リ メ ン テーシ ョ ン オプ シ ョ ン を設定 し て、 各手順を個別に実行す る 必要があ り ます。 デザ イ ン プ ロ セ ス の ど の段階で も 、 Tcl を使用 し てデ ザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し 、 レ ポー ト を生成で き ます。 ま た、 各デザ イ ン段階で、 デザ イ ンの解析お よ び制約 の設定を実行す る ために Vivado IDE を開 く こ と がで き ます。 ア ク テ ィ ブ デザ イ ンは メ モ リ で確認で き る ので、 変更 をす る と 自動的にその後の フ ロ ーにその内容が渡 さ れます。 た と えば、 ア ッ プデー ト し た内容は、 新規制約フ ァ イ ル ま たはデザ イ ン チ ェ ッ ク ポ イ ン ト に保存で き ます。 非プ ロ ジ ェ ク ト モー ド の詳細については、 第 4 章 「非プ ロ ジ ェ ク ト モー ド の使用」 を参照 し て く だ さ い。 注記 : ソ ース フ ァ イ ル と run 結果の管理、 デザ イ ンお よ びツール コ ン フ ィ ギ ュ レーシ ョ ン の保存、 デザ イ ン ス テー タ ス、 IP 統合な ど のプ ロ ジ ェ ク ト モー ド の機能の一部は、 非プ ロ ジ ェ ク ト モー ド では使用で き ません。 ヒ ン ト : プ ロ ジ ェ ク ト は、 使用モデルに関係な く 常に イ ン メ モ リ で作成 さ れます。 ヒ ン ト : ど ち ら のモー ド で も Tcl ス ク リ プ ト のバ ッ チ モー ド で実行で き る ほか、 Vivado IDE で イ ン タ ラ ク テ ィ ブに実 行で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 12 第 2 章 : 使用モデル 機能の違い プ ロ ジ ェ ク ト 構造に よ り 、 Vivado IDE ではデザ イ ンの履歴が管理 さ れ、 デザ イ ンに関す る 有益な情報が保存 さ れます が、 機能の多 く は自動化 さ れてい る ので、 こ のモー ド の場合はユーザーの制御で き る こ と は少な く な り ます。 た と え ば、 各 run ご と に レ ポー ト フ ァ イ ルの標準セ ッ ト のみが生成 さ れ ます。 次の自動化機能は、 プ ロ ジ ェ ク ト モー ド を 使用 し た場合にのみ使用で き ます。 • ソ ース フ ァ イ ルの管理お よ びス テー タ ス • 統合 メ ッ セージお よ び自動生成の標準レ ポー ト • ツール設定お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンの保存お よ び再利用 • 複数の合成お よ び イ ンプ リ メ ン テーシ ョ ン run の試行 • 制約セ ッ ト の使用お よ び管理 • run 結果の管理お よ びス テー タ ス • Flow Navigator • [Project Summary] ウ ィ ン ド ウ 非プ ロ ジ ェ ク ト モー ド では、 Tcl コ マ ン ド を使用 し て各ア ク シ ョ ン を実行する コ ンパ イ ル ス タ イ ル手法が使用 さ れま す。 すべての処理は メ モ リ 内で実行 さ れ る ので、 フ ァ イ ルやレ ポー ト は自動的には生成 さ れません。 こ のため、 デザ イ ン を コ ンパ イ ルす る たびに、 ソ ース の定義、 ツールお よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーの設定、 すべての Tcl コ マ ン ド の実行、 必要な レ ポー ト フ ァ イ ルの生成を実行する 必要があ り ます。 デ ィ ス ク 上にプ ロ ジ ェ ク ト が作成 さ れず、 ソ ース フ ァ イ ルが元の場所に配置 さ れた ま ま にな り 、 デザ イ ン出力が指定 し た と き にのみ、 指定 し た箇所に作成 さ れ る ので、 Tcl run ス ク リ プ ト を使用 し ます。 こ の方法では、 Tcl コ マ ン ド の優れた機能をすべて活用 で き 、デザ イ ン プ ロ セ ス全体を完全に制御で き ます。ユーザーの多 く が ツール と デザ イ ン デー タ を使用 し て こ のバ ッ チ コ ンパ イ ル ス タ イ ル手法を使用 し てい ます。 表 2-1 は、 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の機能の違いを示 し てい ます。 表 2‐1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の機能の違い フ ローの要素 プ ロ ジ ェ ク ト モー ド 非プ ロ ジ ェ ク ト モー ド デザ イ ン ソ ース フ ァ イ ルの管理 自動 手動 フ ロ ー ナビ ゲーシ ョ ン ガイ ド 手動 フ ロ ーのカ ス タ マ イ ズ 制限あ り 制限な し レ ポー ト 自動 手動 解析段階 デザ イ ンのみ デザ イ ン お よ びデザ イ ン チ ェ ッ クポイン ト デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 13 第 2 章 : 使用モデル コ マ ン ド の違い Tcl コ マ ン ド の使用は、 モー ド に よ っ て異な り 、 作成 さ れ る Tcl の run ス ク リ プ ト も モー ド に よ っ て異な り ます。 非プ ロ ジ ェ ク ト モー ド の場合、 ツール オプシ ョ ン の設定、 イ ン プ リ メ ン テーシ ョ ン コ マ ン ド の実行、 レ ポー ト の生成、 デザ イ ン チ ェ ッ ク ポ イ ン ト の書 き 込みな ど の Tcl コ マ ン ド を それぞれ実行する 必要があ り ます。プ ロ ジ ェ ク ト モー ド の場合は、 ラ ッ パー コ マ ン ド が合成、 イ ンプ リ メ ン テーシ ョ ン、 お よ びレ ポー ト な ど の コ マ ン ド それぞれに対 し て使 用 さ れます。 た と えば、 プ ロ ジ ェ ク ト モー ド の場合、 プ ロ ジ ェ ク ト に ソ ース を追加す る には、 add_files と い う Tcl コ マ ン ド を 使用 し ます。 ソ ース は、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造内で別のバージ ョ ン を維持す る ためにプ ロ ジ ェ ク ト に コ ピー し た り 、 リ モ ー ト か ら 参照 し た り で き ま す。 非 プ ロ ジ ェ ク ト モ ー ド の 場合、 Tcl コ マ ン ド の read_verilog、 read_vhdl、 read_xdc、 お よ び read_* を使用 し て、 現在のデ ィ レ ク ト リ か ら さ ま ざ ま な タ イ プの ソ ース を読み 出す こ と がで き ます。 プ ロ ジ ェ ク ト モー ド の場合は、 launch_runs コ マ ン ド を使用する と 、 コ ン フ ィ ギ ュ レーシ ョ ン済みの ス ト ラ テジ を 使用 し て ツールを起動 し 、 標準レ ポー ト を生成で き ま す。 こ れに よ り 、 イ ン プ リ メ ン テーシ ョ ン コ マ ン ド 、 標準レ ポー ト 、 run ス ト ラ テ ジの使用、 run ス テー タ ス の管理が一括で実行 さ れ ます。 ただ し 、 デザ イ ン プ ロ セ ス の前後に カ ス タ ム の Tcl コ マ ン ド を実行す る こ と も で き ます。 run 結果は、 自動的にプ ロ ジ ェ ク ト 内に保存 さ れて管理 さ れ ま す。 非プ ロ ジ ェ ク ト モー ド の場合、 opt_design、 place_design、 お よ び route_design な ど の各 コ マ ン ド を実 行す る 必要があ り ます。 多 く の Tcl コ マ ン ド は、 レ ポー ト コ マ ン ド の よ う にど ち ら のモー ド で も 使用で き ますが、 プ ロ ジ ェ ク ト モー ド ま たは 非プ ロ ジ ェ ク ト モー ド のいずれかで し か使用で き ない も の も あ り ます。 ス ク リ プ ト を作成する 際は、 ど ち ら かのモー ド で し か使用で き ない コ マ ン ド を混合 し ない よ う に注意 し て く だ さ い。 た と えば、 プ ロ ジ ェ ク ト モー ド を使用す る 場 合は、 非プ ロ ジ ェ ク ト モー ド で し か使用で き ない synth_design の よ う な コ マ ン ド を使用 し ない よ う に し ます。 プ ロ ジ ェ ク ト モー ド で非プ ロ ジ ェ ク ト モー ド 用の コ マ ン ド を使用す る と 、 デー タ ベー ス で ス テー タ ス 情報が ア ッ プ デー ト さ れず、 レ ポー ト が自動的に生成 さ れな く な り ます。 ヒ ン ト : プ ロ ジ ェ ク ト モー ド には、 ほ と ん ど の場合に Tcl コ マ ン ド が実行 さ れ る GUI 操作が含まれます。 Vivado IDE の Tcl コ ン ソ ールに表示 さ れ る Tcl コ マ ン ド は、vivado.jou フ ァ イ ルに も 保存 さ れます。 こ の フ ァ イ ルを使用 し て、 ど ち ら のモー ド で も 使用で き る よ う な ス ク リ プ ト を開発す る こ と も 可能です。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 14 第 2 章 : 使用モデル 図 2-1 に、 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の Tcl コ マ ン ド の違いを示 し ます。 X-Ref Target - Figure 2-1 1RQ3URMHFW0RGH 3URMHFW0RGH *8, 7FO6FULSW 7FO6FULSW FUHDWHBSURMHFW« DGGBILOHV« LPSRUWBILOHV« « UHDGBYHULORJ« UHDGBYKGO« UHDGBLS« UHDGB[GF« UHDGBHGLI« « ODXQFKBUXQV\QWKB ZDLWBRQBUXQV\QWKB RSHQBUXQV\QWKB UHSRUWBWLPLQJBVXPPDU\ V\QWKBGHVLJQ« UHSRUWBWLPLQJBVXPPDU\ ZULWHBFKHFNSRLQW ODXQFKBUXQLPSOB ZDLWBRQBUXQLPSOB RSHQBUXQLPSOB UHSRUWBWLPLQJBVXPPDU\ RSWBGHVLJQ ZULWHBFKHFNSRLQW SODFHBGHVLJQ ZULWHBFKHFNSRLQW URXWHBGHVLJQ UHSRUWBWLPLQJBVXPPDU\ ZULWHBFKHFNSRLQW ODXQFKBUXQLPSOB±WRBVWHSBZULWHBELWVWUHDP ZDLWBRQBUXQLPSOB ZULWHBELWVWUHDP ; 図 2‐1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の コ マ ン ド デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 15 第 2 章 : 使用モデル Tcl の使用 すべての フ ロ ーは Tcl コ マ ン ド を使用 し て実行で き ます。Tcl ス ク リ プ ト を使用 し て、デザ イ ン解析レ ポー ト を含むデ ザ イ ン フ ロ ー全体を実行 し た り 、 フ ロ ーの一部のみを実行で き ます。 Tcl を直接使用す る 場合は、 Tcl コ マ ン ド で次の いずれかの方法を使用 し てデザ イ ン を処理 し ます。 • Vivado IDE の外の Vivado Design Suite Tcl シ ェ ルに Tcl コ マ ン ド を入力 し ます。 • Vivado IDE の一番下の Tcl コ ン ソ ールに Tcl コ マ ン ド を入力 し ます。 • Vivado Design Suite Tcl シ ェ ルか ら Tcl ス ク リ プ ト を実行 し ます。 • Vivado IDE か ら Tcl ス ク リ プ ト を実行 し ます。 Tcl お よ び Tcl ス ク リ プ ト に関す る 情報は、『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 18] お よ び 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を 参照 し て く だ さ い。 Vivado ツールでの Tcl の使用方法の詳細については、 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888) [参照 20] を参照 し て く だ さ い。プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかを使用 し た Tcl ベース のアプ ロ ーチに関す る 詳細は、 第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」 ま たは 第 4 章 「非プ ロ ジ ェ ク ト モー ド の使用」 を参照 し て く だ さ い。 Vivado Design Suite Tcl シ ェ ルの起動 Linux コ マ ン ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し て、Vivado Design Suite Tcl シ ェ ルを起動 し ます。 vivado -mode tcl 注記 : Windows の場合、[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2015.x] → [Vivado 2015.x Tcl Shell] を ク リ ッ ク し て も 起動で き ます。 バ ッ チ Tcl ス ク リ プ ト を使用 し た Vivado ツールの起動 Vivado ツールはを起動 し た と き に Tcl ス ク リ プ ト を提供 し てお く と 、 バ ッ チ モー ド で使用で き ます。 Linux コ マ ン ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し ます。 vivado -mode batch -source <your_Tcl_script> 注記 : バ ッ チ モー ド の場合、 指定 し た ス ク リ プ ト が実行 さ れてか ら Vivado ツールが閉 じ ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 16 第 2 章 : 使用モデル Tcl フ ローでの Vivado IDE の使用 Tcl を使用す る 場合で も 、 Vivado IDE での イ ン タ ラ ク テ ィ ブな GUI ベース の解析お よ び制約定義機能を利用で き ま す。 第 4 章の 「Vivado IDE を使用 し たデザ イ ン解析」 に示す よ う に、 デザ イ ン サ イ ク ルの ど の段階で も Vivado IDE でデザ イ ン を開 く こ と がで き ます。 ま た、 第 4 章の 「デザ イ ン チ ェ ッ ク ポ イ ン ト の使用」 に示す よ う に、 デザ イ ン チ ェ ッ ク ポ イ ン ト も ど の段階でで も 保存 し て、 Vivado IDE で後で開 く こ と がで き ます。 ザイ リ ン ク ス Tcl Store の使用 ザ イ リ ン ク ス Tcl ス ト アは、 Tcl コ ー ド のオープ ン ソ ース リ ポジ ト リ で、 主に Vivado Design Suite を使用 し た FPGA デザ イ ン用に設計 さ れてい ます。 Tcl Store を使用する と 、 さ ま ざ ま な問題を解決 し て生産性を改善す る 異な る ソ ース か ら 提供 さ れた複数の ス ク リ プ ト お よ びユーテ ィ リ テ ィ にア ク セ ス で き ます。 Tcl ス ク リ プ ト は イ ン ス ト ールで き る ほか、 ほかの人 と 共有す る ために リ リ ースす る こ と も で き ます。 Tcl ス ク リ プ ト お よ びザ イ リ ン ク ス Tcl Store の詳細 については、『Vivado Design Suite ユーザー ガ イ ド :Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 18] を参照 し て く だ さ い。 Vivado IDE の起動 Vivado IDE では、 デザ イ ンお よ び IP を作成、 イ ンプ リ メ ン ト 、 お よ び検証す る イ ン タ ーフ ェ イ ス が提供 さ れてい ま す。 プ ロ ジ ェ ク ト モー ド の場合、 Vivado IDE ではすべてのデザ イ ン ソ ース、 コ ン フ ィ ギ ュ レーシ ョ ン、 結果を管理 す る プ ッ シ ュ ボ タ ンのデザ イ ン フ ロ ーがサポー ト さ れてい ます。 Vivado IDE では、 メ モ リ でデザ イ ン を開 く と い う コ ン セプ ト を使用す る こ と で、 デザ イ ン フ ロ ー中で も 制約の割 り 当てお よ び解析を有効にで き ます。 デザ イ ン を開 く と 、 デザ イ ン ネ ッ ト リ ス ト がデザ イ ン フ ロ ーの特定段階で読み込まれ、 制約が割 り 当て ら れ、 タ ーゲ ッ ト デバ イ ス に適用 さ れます。 こ れに よ り 、 各段階でデザ イ ン を視覚化 し て処理で き ます。 デザ イ ンは RTL エ ラ ボ レーシ ョ ン、 合 成ま たは イ ンプ リ メ ン テーシ ョ ン後に開 く こ と がで き 、 制約、 ロ ジ ッ ク ま たはデバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン、 お よ び イ ンプ リ メ ン テーシ ョ ン結果に変更を加え る こ と がで き ます。 ま た、 デザ イ ン チ ェ ッ ク ポ イ ン ト を使用 し て、 デ ザ イ ンの現在の状態を保存で き ます。Vivado IDE の詳細は、『Vivado Design Suite ユーザー ガ イ ド :Vivado IDE の使用』 (UG893) [参照 21] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888) [参照 20] を参照 し て く だ さ い。 推奨 : Vivado IDE はプ ロ ジ ェ ク ト 作業デ ィ レ ク ト リ か ら 起動 し て く だ さ い。 こ れに よ り 、 起動デ ィ レ ク ト リ に書 き 込 まれ る プ ロ ジ ェ ク ト フ ァ イ ル、 ロ グ フ ァ イ ル、 ジ ャ ーナル フ ァ イ ルが見つけやす く な り ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 17 第 2 章 : 使用モデル Windows での Vivado IDE の起動 [ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2015.x] → [Vivado 2015.x] を ク リ ッ ク し ます。 注記 : ま たは、 デス ク ト ッ プの Vivado IDE のシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。 X-Ref Target - Figure 2-2 図 2‐2 : Vivado IDE デス ク ト ッ プ ア イ コ ン ヒ ン ト : 作業ホルダーは、 Vivado IDE のシ ョ ー ト カ ッ ト ア イ コ ン を右 ク リ ッ ク し て [プ ロ パテ ィ ] を ク リ ッ ク す る と ア ッ プデー ト で き ます。こ れに よ り 、起動デ ィ レ ク ト リ に書 き 込ま れ る プ ロ ジ ェ ク ト フ ァ イ ル、ロ グ フ ァ イ ル、ジ ャ ー ナル フ ァ イ ルが見つけやす く な り ます。 Windows または Linux の コ マ ン ド ラ イ ンか ら の Vivado IDE の起動 コ マ ン ド プ ロ ンプ ト に次の コ マ ン ド を入力 し ます。 vivado 注記 : こ の コ マ ン ド を入力す る と 、 自動的に vivado -mode gui が実行 さ れ、 Vivado IDE が起動 さ れます。 ヘルプ が必要な場合は、 「vivado -help」 と 入力 し ます。 Vivado Design Suite の Tcl シ ェ ルか ら の Vivado IDE の起動 Vivado Design Suite が Tcl モー ド で実行 さ れてい る 場合は、次の コ マ ン ド を Tcl コ マ ン ド プ ロ ンプ ト に入力 し て、Vivado IDE を起動 し ます。 start_gui リ ビ ジ ョ ン管理シス テム ど の複数のデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ビ ジ ョ ン を保存する のに、ソ ース管理シ ス テ ム を使用す る のが 一般的です。 RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、 Bitkeeper な ど のシ ス テ ムが よ く 利用 さ れてい ますが、 Vivado ツールはど のシ ス テ ムに も 対応で き ます。 フ ロ ー で使用お よ び作成 さ れ る Vivado ツールの入力お よ び出力フ ァ イ ルには、 リ ビ ジ ョ ン管理が必要です。 リ ビ ジ ョ ン管理 ソ フ ト ウ ェ アの使用方法については、 『UltraFast™ 設計手法 (Vivado Design Suite 用)』 (UG949) [参照 22] ( リ ン ク ) を参 照 し て く だ さ い。 ビデオ : Vivado ツールで リ ビ ジ ョ ン管理シ ス テ ム を使用す る 際のベス ト プ ラ ク テ ィ ス については、Vivado Design Suite オン ラ イ ン ビデオ : Vivado バージ ョ ン管理シ ス テ ムの概要を参照 し て く だ さ い。 推 奨 : 実 行 ス ク リ プ ト や ツ ー ル 設 定 も リ ビ ジ ョ ン 管 理 用 に チ ェ ッ ク イ ン す る 必 要 が あ り ま す。 こ の 情 報 は、 write_project_tcl コ マ ン ド を使用 し て Tcl ス ク リ プ ト に記述で き ます。 init.tcl は write_project_tcl で 記述 さ れた ス ク リ プ ト には含 ま れないため、 こ れ も チ ェ ッ ク イ ンす る 必要があ り ま す。 こ れ ら すべての フ ァ イ ルを チ ェ ッ ク イ ン し た ら 、 現在の ソ ー スお よ びツール コ ン フ ィ ギ ュ レーシ ョ ン設定を使用 し てデザ イ ン を再生成で き ま す。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 18 第 2 章 : 使用モデル PCB 設計 と の関係 I/O 配置プ ロ セ ス は、 高度なシ ス テ ム パフ ォーマ ン ス には重要な要素 と な り ます。 プ リ ン ト 回路基板 (PCB) 設計者に と っ ての懸念事項は、 PCB 上での FPGA デバ イ ス と の関係お よ びその順応性にあ る こ と が多 く 、 高集積のボール グ リ ッ ド ア レ イ (BGA) デバ イ ス の配線は、 PCB 設計者には最 も 困難な課題です。 重要な イ ン タ ーフ ェ イ ス配線、 電源 と レールの位置、 シ グナル イ ン テ グ リ テ ィ も 課題事項です。 FPGA 設計者 と PCB 設計者が密に協力 し 合 う こ と で、 こ う い っ た懸念事項の解決につなが る こ と があ り ま す。 Vivado IDE を使用す る と 、 シ ス テ ム レベルの イ ン タ ー コ ネ ク ト を最適化す る ために、 物理パ ッ ケージ ピ ン と 内部ダ イ パ ッ ド 間の関係が視覚化で き ます。 Vivado Design Suite には、 FPGA、 PCB、 シ ス テ ム デザ イ ンのそれぞれの領域間でデザ イ ン情報を渡す方法が複数含ま れます。 I/O ピ ン コ ン フ ィ ギ ュ レーシ ョ ンは、 CSV ス プ レ ッ ド シー ト 、 RTL ヘ ッ ダー、 ま たは XDC フ ァ イ ルを使用 し て渡す こ と がで き ます。 CSV ス プ レ ッ ド シー ト には、 一致す る 長 さ の接続お よ び電源接続な ど の さ ま ざ ま な PCB デ ザ イ ン タ ス ク に 使 用 可 能 な そ の 他 の パ ッ ケ ー ジ お よ び I/O 情報 が 含 ま れ ま す。 IBIS (I/O Buffer Information Specification) モデル も Vivado IDE か ら エ ク ス ポー ト し て、 PCB でのシ グナル イ ン テ グ リ テ ィ 解析に使用で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド :I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] を参照 し て く だ さ い。 サー ド パーテ ィ デザイ ン ソ フ ト ウ ェ ア ツールの使用 ザ イ リ ン ク ス では、 複数のサー ド パーテ ィ デザ イ ン ツーのサプ ラ イ ヤー と 提携 し てい ま す。 次の ソ フ ト ウ ェ ア ソ リ ュ ーシ ョ ンには、 合成お よ びシ ミ ュ レーシ ョ ン ツールのみが含まれます。 ロ ジ ッ ク 合成の実行 Vivado Design Suite では、 Synopsys 社お よ び Mentor Graphics 社か ら 提供 さ れ る ザ イ リ ン ク ス FPGA ロ ジ ッ ク 合成ツー ルの使用がサポー ト さ れてい ます。 Vivado Design Suite では、 構造 Verilog ま たは EDIF 形式の合成済みのネ ッ ト リ ス ト を イ ン ポー ト し て、 イ ンプ リ メ ン テーシ ョ ン中に使用で き ます。 ま た、 Vivado Design Suite では、 ロ ジ ッ ク 合成ツー ルか ら 出力 さ れ る 制約 (SDC ま たは XDC) を使用す る こ と も で き ます。 ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 Mentor Graphics 社、 Cadence 社、 Synopsys 社か ら 提供 さ れ る ロ ジ ッ ク シ ミ ュ レーシ ョ ン ツールは、 Vivado IDE か ら 直接起動で き ます。 ま た、 サポー ト さ れてい る サー ド パーテ ィ の ロ ジ ッ ク シ ミ ュ レー タ すべてに対す る ネ ッ ト リ ス ト も 出力で き ます。 Vivado Design Suite か ら は、 デザ イ ン フ ロ ーの ど の段階で も 完全な Verilog ま たは VHDL ネ ッ ト リ ス ト を エ ク ス ポー ト し て、 サー ド パーテ ィ シ ミ ュ レー タ で使用で き ます。 ま た、 標準遅延形式 (SDF) で イ ンプ リ メ ン テーシ ョ ン後の遅延を エ ク ス ポー ト し て、 サー ド パーテ ィ の タ イ ミ ン グ シ ミ ュ レーシ ョ ン で使用す る こ と も で き ま す。 ビデオ : 詳細は、 「Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado で Cadence IES を使用す る シ ミ ュ レーシ ョ ン」 お よ び 「Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado で Synopsys VCS を使用す る シ ミ ュ レーシ ョ ン」 を参照 し て く だ さ い。 注記 : ザ イ リ ン ク ス IP の中には、RTL ソ ース を Verilog ま たは VHDL 形式のいずれかのみで提供す る も のがあ り ます。 合成後は、 いずれかの言語で構造型ネ ッ ト リ ス ト が作成で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 19 第 3章 プ ロ ジ ェ ク ト モー ド の使用 概要 プ ロ ジ ェ ク ト モー ド の場合、 Vivado® Design Suite でプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造が作成 さ れ、 ソ ース フ ァ イ ル、 制約、 IP デー タ 、 合成お よ び イ ン プ リ メ ン テーシ ョ ン run の結果、 レ ポー ト な ど が自動的に管理 さ れ ま す。 Vivado Design Suite では、 ソ ース フ ァ イ ルの ス テー タ ス、 コ ン フ ィ ギ ュ レーシ ョ ン、デザ イ ンの状態な ど も 管理お よ びレ ポー ト さ れます。 作成で き る のは、 RTL ベー ス のプ ロ ジ ェ ク ト 、 ま たは合成済みネ ッ ト リ ス ト ベー ス のプ ロ ジ ェ ク ト です。 ネ ッ ト リ ス ト プ ロ ジ ェ ク ト は、 サー ド パーテ ィ 合成ツールで主に使用 さ れ、 デザ イ ン プ ロ セ ス は合成後か ら 管理 さ れ ま す。 ネ ッ ト リ ス ト デザ イ ン を解析 し 、 制約を割 り 当てて管理 し 、 デザ イ ン を イ ンプ リ メ ン ト し て解析 し 、 デバ イ ス をプ ロ グ ラ ム し てデバ ッ グ し た ら 、 フ ロ ー全体で ソ ース と 出力を管理で き ます。 Vivado IDE では、 合成お よ び イ ン プ リ メ ン テーシ ョ ン な ど の定義済みデザ イ ン フ ロ ー手順 を 起動す る には、 Flow Navigator (21 ページの図 3-1) を使用で き ます。 [Generate Bitstream] を ク リ ッ ク す る と 、 デザ イ ンが合成お よ び イ ンプ リ メ ン ト さ れてか ら 、 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れます。 こ の環境では、 プ ッ シ ュ ボ タ ン デザ イ ン フ ロ ー が提供 さ れ る ほか、 ア ド バン ス なデザ イ ン管理お よ び解析機能 も 提供 さ れ ます。 run は さ ま ざ ま な イ ン プ リ メ ン テー シ ョ ン コ マ ン ド を統合 し た ラ ッ パー Tcl ス ク リ プ ト に よ り 実行 さ れ、 自動的に標準レ ポー ト が生成 さ れます。 さ ま ざ ま な run ス ト ラ テジ を使用す る こ と で、配線密度お よ び タ イ ミ ン グ ク ロ ージ ャ な ど の さ ま ざ ま なデザ イ ンの問題点を 見つけ る こ と がで き ます。 同時に複数の イ ンプ リ メ ン テーシ ョ ン run を実行 し て、 最適な結果にな る か ど う か を確認 す る こ と も で き ます。 注記 : run ス ト ラ テジは、 プ ロ ジ ェ ク ト モー ド にのみ適用で き ます。 非プ ロ ジ ェ ク ト モー ド の場合、 すべての指示子 お よ び コ マ ン ド オプシ ョ ン を手動で設定する 必要があ り ます。 プ ロ ジ ェ ク ト モー ド は Vivado IDE ま た は Tcl コ マ ン ド / ス ク リ プ ト を 使用 し て 実行で き ま す。 プ ロ ジ ェ ク ト 内で Vivado IDE と Tcl を切 り 替え て使用す る こ と も で き ます。 Vivado IDE でプ ロ ジ ェ ク ト を開 く か作成す る と 、 デザ イ ン の現在の状態、 run の結果、 生成 さ れた レ ポー ト お よ び メ ッ セージが表示 さ れ ます。 ソ ース の作成お よ び変更、 制約 の適用、 デバ ッ グ情報の適用、 ツール設定の指定、 デザ イ ン タ ス ク の実行な ど が可能です。 推奨 : プ ロ ジ ェ ク ト モー ド は、 Vivado ツール と ザ イ リ ン ク ス の推奨事項を理解する 一番簡単なモー ド です。 RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ンの後にデザ イ ン を開 き 、 解析お よ び制約の定義を実行 で き ます。 デザ イ ン を開 く と 、 Vivado ツールで タ ーゲ ッ ト デバ イ ス に対す る ネ ッ ト リ ス ト と 制約が コ ンパ イ ル さ れ、 Vivado IDE でデザ イ ンが表示 さ れます。 デザ イ ン を開いた ら 、 さ ま ざ ま な解析お よ びレ ポー ト 機能を使用 し て、 異な る 条件や観点か ら デザ イ ン を解析で き ます。 制約お よ びデザ イ ン変更を適用 し て保存す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 20 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-1 ; 図 3‐1 : Vivado IDE の Flow Navigator プ ロ ジ ェ ク ト モー ド の利点 プ ロ ジ ェ ク ト モー ド には、 次の よ う な利点があ り ます。 • プ ロ ジ ェ ク ト ス テー タ ス、 HDL ソ ース、 制約フ ァ イ ル、 IP コ ア、 お よ びブ ロ ッ ク デザ イ ンが自動的に管理 さ れ ます。 • 合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果が生成 さ れます。 • イ ンプ リ メ ン テーシ ョ ン結果か ら RTL ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブな ど、 高度なデザ イ ン解析機能があ り ます。 • run ス ト ラ テジに よ り コ マ ン ド オプシ ョ ンの設定が自動化 さ れ、 標準レ ポー ト も 自動的に生成 さ れます。 • 複数の run を作成 し て さ ま ざ ま な制約お よ びコ マ ン ド オプシ ョ ン を設定お よ び確認で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 21 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト の作成 Vivado Design Suite では、 さ ま ざ ま なデザ イ ン目的別に さ ま ざ ま なプ ロ ジ ェ ク ト タ イ プがサポー ト さ れます。 た と え ば、RTL ソ ースやサー ド パーテ ィ 合成プ ロ バ イ ダーか ら の合成済みネ ッ ト リ ス ト を使用 し てプ ロ ジ ェ ク ト を作成で き る ほか、 空の I/O 配置プ ロ ジ ェ ク ト を作成 し て、 デバ イ ス を確認 し た り 、 早期ピ ン配置を実行 し た り す る こ と も で き ます。 Vivado IDE では、 選択 し たプ ロ ジ ェ ク ト タ イ プに関連す る コ マ ン ド のみが表示 さ れます。 Vivado IDE で Create Project ウ ィ ザー ド を使用す る と 、 プ ロ ジ ェ ク ト を簡単に作成で き ます。 ウ ィ ザー ド を使用す る と 、 プ ロ ジ ェ ク ト 名やプ ロ ジ ェ ク ト を保存す る デ ィ レ ク ト リ 、 プ ロ ジ ェ ク ト タ イ プ (RTL、 ネ ッ ト リ ス ト な ど)、 タ ー ゲ ッ ト パー ツ な ど を定義で き ま す。 RTL、 IP、 XDC/SDC 制約、 シ ミ ュ レ ーシ ョ ン テ ス ト ベン チ、 System Generator (XMP) か ら の DSP モジ ュ ール、 Vivado 高位合成 (HLS) か ら の ソ ース、 デザ イ ンに関す る 文書な ど、 さ ま ざ ま な タ イ プの ソ ース を追加で き ます。 ソ ース を追加する 際は、 ソ ース を元の場所か ら 参照す る か、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る か を指定で き ます。 Vivado Design Suite では各フ ァ イ ルの タ イ ム ス タ ンプが監視 さ れ、 ス テー タ ス が レ ポー ト さ れます。 フ ァ イ ルが変更 さ れ る と 、 ソ ース ま たはデザ イ ンの ス テー タ ス が最新でな く な っ た こ と が示 さ れま す。詳細は、『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] ( リ ン ク ) を参照 し て く だ さ い。 注意 : Windows OS には、 パ ス長の 260 文字の制限があ り 、 こ れに よ り Vivado ツールが影響を受け る こ と がで き ます。 こ の問題を回避す る には、 プ ロ ジ ェ ク ト の作成、 IP プ ロ ジ ェ ク ト ま たは Manage IP プ ロ ジ ェ ク ト の定義、 ブ ロ ッ ク デ ザ イ ンの作成をす る 際に、 で き る だけ短い名前 と デ ィ レ ク ト リ 名を使用す る よ う に し て く だ さ い。 さ ま ざ ま な タ イ プのプ ロ ジ ェ ク ト Vivado Design Suite には、 ソ ース フ ァ イ ルの タ イ プお よ びデザ イ ン タ ス ク に よ っ て、 さ ま ざ ま な タ イ プのデザ イ ン入 力が使用で き ます。 次は、 こ れ ら の タ ス ク を実行す る のに使用で き る プ ロ ジ ェ ク ト タ イ プです。 • RTL プ ロ ジ ェ ク ト : RTL ソ ース フ ァ イ ルお よ び制約を追加 し 、 Vivado IP カ タ ロ グ を使用 し て IP を コ ン フ ィ ギ ュ レーシ ョ ン し 、 Vivado IP イ ン テ グ レー タ ーを使用 し て IP サブシ ス テ ム を作成 し 、 デザ イ ン を合成お よ び イ ンプ リ メ ン ト し て、 デザ イ ン プ ラ ンお よ び解析を実行で き ます。 • 合成後のプ ロ ジ ェ ク ト : サー ド パーテ ィ ネ ッ ト リ ス ト を イ ン ポー ト し 、 デザ イ ン を イ ンプ リ メ ン ト し 、 デザ イ ン プ ラ ンお よ び解析を実行で き ます。 • I/O 配置プ ロ ジ ェ ク ト : RTL ソ ース の入力 よ り も 前に、 I/O 配置の早期プ ラ ンお よ びデバ イ ス確認用に空のプ ロ ジ ェ ク ト を作成で き ます。 • イ ン ポー ト プ ロ ジ ェ ク ト : ISE Design Suite、 Xilinx Synthesis Technology (XST)、 ま たは Synopsys Synplify か ら 既 存のプ ロ ジ ェ ク ト ソ ース を イ ン ポー ト で き ます。 • エンベデ ッ ド 評価ボー ド デザ イ ン例の コ ン フ ィ ギ ュ レーシ ョ ン : サンプルの Zynq®-7000 ま たは MicroBlaze™ エンベデ ッ ド デザ イ ン をザ イ リ ン ク ス評価ボー ド で使用で き る よ う に し ます。 • パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ ジ ェ ク ト : :パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンの ラ イ セ ン ス を お持ちの場合は、 RTL プ ロ ジ ェ ク ト にパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ン フ ロ ー と コ マ ン ド を有効 にす る オプシ ョ ンが含まれ る よ う にな り ます。 プ ロ ジ ェ ク ト モー ド での ソ ース フ ァ イルの管理 プ ロ ジ ェ ク ト モー ド の場合、 ソ ース管理はプ ロ ジ ェ ク ト 基盤で実行 さ れます。 Vivado IDE では、 RTL デザ イ ン ソ ー ス、 IP シ ミ ュ レーシ ョ ン ソ ー ス、 制約 ソ ース な ど の さ ま ざ ま な種類の ソ ース が個別に管理 さ れ、 複数バージ ョ ン の シ ミ ュ レーシ ョ ン ま たはデザ イ ン制約セ ッ ト を イ ネーブルにす る ソ ース セ ッ ト の コ ン セプ ト が使用 さ れます。こ れに よ り 、 1 つのデザ イ ン プ ロ ジ ェ ク ト 内で さ ま ざ ま なデザ イ ン制約セ ッ ト を管理お よ び使用で き ま す。 Vivado IDE で は、 シ ミ ュ レーシ ョ ンに も 同 じ アプ ロ ーチを使用 し て、 モジ ュ ール レベルのシ ミ ュ レーシ ョ ン セ ッ ト の管理を有効 に し 、 さ ま ざ ま なデザ イ ンのパーツ を シ ミ ュ レーシ ョ ン し ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 22 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 ソ ース を追加す る 場合は、 リ モー ト デ ィ レ ク ト リ か ら ソ ース を参照す る か、 ソ ース を ロ ーカルのプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造に コ ピー し ます。 ソ ース は、 ネ ッ ト ワー ク 接続 さ れてい る デ ィ レ ク ト リ か ら も 使用で き ます。 ど ち ら の 方法で も 、Vivado IDE ではフ ァ イ ルの タ イ ム ス タ ンプか ら 、 ア ッ プデー ト がないか ど う か確認 さ れます。 ソ ース フ ァ イ ルを変更す る と 、 Vivado IDE のプ ロ ジ ェ ク ト ス テー タ ス が変更 さ れ、 合成ま たは イ ンプ リ メ ン テーシ ョ ン run が期 限切れであ る か ど う かが示 さ れます。 読み取 り 専用の権限 し かない ソ ース は、 その よ う に処理 さ れます。 Vivado IDE に ソ ース を追加す る 場合、 RTL フ ァ イ ルを オプシ ョ ン で ス キ ャ ン し て、 ソ ース デ ィ レ ク ト リ にあ る 可能 性のあ る イ ン ク ルー ド フ ァ イ ルやほかのグ ロ ーバル ソ ース フ ァ イ ルを検索す る よ う にで き ます。 指定 し たデ ィ レ ク ト リ やデ ィ レ ク ト リ ツ リ ー内のすべての ソ ー ス フ ァ イ ルの種類は、 [File] → [Add Sources] で追加で き ま す。 Vivado IDE では、 デ ィ レ ク ト リ お よ びその下位デ ィ レ ク ト リ を ス キ ャ ン し て、 既知の ソ ース タ イ プのセ ッ ト と 一致す る 拡張 子の フ ァ イ ルを イ ン ポー ト し ます。 ソ ー ス フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れ る と 、 コ ンパ イ ル順が決 ま っ て、 [Sources] ビ ュ ーに表示 さ れ ま す。 こ れ に よ り 、 不正な形式の RTL やモジ ュ ールの欠損な ど を識別 し やす く な り ます。 [Messages] ビ ュ ーには、 RTL コ ンパ イ ルに関す る メ ッ セージが表示 さ れ、 メ ッ セージ を ク リ ッ ク す る と 、 該当す る RTL ソ ース が表示 さ れ る よ う にな り ま す。 ま た、 ソ ース フ ァ イ ルを イ ネーブル/デ ィ ス エーブルにに し て、 コ ン フ ィ ギ ュ レーシ ョ ン を制御で き ます。 リ モー ト 、 読み取 り 専用 ソ ースの使用 Vivado Design Suite では、 プ ロ ジ ェ ク ト を作成す る 際ま たは非プ ロ ジ ェ ク ト モー ド で読み込む際に リ モー ト ソ ー ス フ ァ イ ルを使用で き ます。 ソ ース フ ァ イ ルは読み取 り 専用で、 フ ァ イ ルを メ モ リ で コ ンパ イ ル し ますが、 元の フ ァ イ ルに変更を保存す る こ と はで き ません。 ソ ース フ ァ イ ル フ ァ イ ルは必要であれば、 別のデ ィ レ ク ト リ に保存 さ れま す。 プ ロ ジ ェ ク ト のアー カ イ ブ Vivado IDE では、 [File] → [Archive Project] コ マ ン ド で ソ ース フ ァ イ ル、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン、 run 結果 デー タ (オプシ ョ ン) な ど を含むプ ロ ジ ェ ク ト 全体の ZIP フ ァ イ ルが作成 さ れ ます。 プ ロ ジ ェ ク ト で リ モー ト ソ ース が使用 さ れ る 場合、 フ ァ イ ルは ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る ので、 アーカ イ ブ プ ロ ジ ェ ク ト にすべての フ ァ イ ルが含まれ る よ う にな り ます。 プ ロ ジ ェ ク ト を再作成する Tcl ス ク リ プ ト の作成 Vivado IDE で [File] → [Write Project Tcl] を ク リ ッ ク する と 、 ソ ース フ ァ イ ル、 IP、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を含むプ ロ ジ ェ ク ト 全体を実行で き る Tcl ス ク リ プ ト が作成で き ます。 こ の ス ク リ プ ト は、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造の代わ り に ソ ース管理シ ス テ ムにチ ェ ッ ク イ ンで き ます。 リ ビ ジ ョ ン管理シ ス テムの使用 ど の複数のデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ビ ジ ョ ン を保存する のに、ソ ース管理シ ス テ ム を使用す る のが 一般的です。 RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、 Bitkeeper な ど のシ ス テ ム が よ く 利用 さ れてい ますが、 Vivado ツールはど のシ ス テ ム に も 対応で き ます。 Vivado Design Suite では、 リ ビ ジ ョ ン管理下でデザ イ ン フ ロ ーを通 し て フ ァ イ ルが使用 さ れ、 生成 さ れます。 Vivado Design Suite のプ ロ ジ ェ ク ト モー ド を使用す る 場合、 ソ ース管理シ ス テ ムの使用が複雑にな る 可能性があ り ま す。 プ ロ ジ ェ ク ト フ ォ ルダーには、 デザ イ ン ソ ース の コ ピーが保持 さ れ、 独自の方法でデザ イ ンが管理 さ れますが、 プ ロ ジ ェ ク ト は リ ビ ジ ョ ン 管 理 シ ス テ ム で 管 理 で き ま す。 リ ビ ジ ョ ン 管 理 ソ フ ト ウ ェ ア の 詳細 に つ い て は、 『UltraFast™ 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 22] の 「Vivado ツールでの ソ ース管理シ ス テ ム」 を参照 し て く だ さ い。 . ビデオ : Vivado ツールで リ ビ ジ ョ ン管理シ ス テ ム を使用す る 際のベス ト プ ラ ク テ ィ ス については、Vivado Design Suite オン ラ イ ン ビデオ : Vivado バージ ョ ン管理シ ス テ ムの概要を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 23 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 Flow Navigator の理解 Flow Navigator (図 3-2) では、 プ ロ ジ ェ ク ト の設定、 合成、 イ ンプ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ームの生成な ど の 主なデザ イ ン プ ロ セ ス タ ス ク を制御 し ます。 Flow Navigator で使用可能な コ マ ン ド お よ びオプシ ョ ンは、 デザ イ ンの ス テー タ ス に よ っ て異な り ます。 必要なデザ イ ン タ ス ク が終了する ま で、 実行で き ない手順は淡色表示 さ れます。 X-Ref Target - Figure 3-2 図 3‐2 : Flow Navigator デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 24 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 サー ド パーテ ィ ネ ッ ト リ ス ト を使用 し て作成 さ れたプ ロ ジ ェ ク ト の場合、 Flow Navigator が異な り ま す (図 3-3)。 た と えば、 シ ス テ ム レベル デザ イ ン入力、 IP、 合成オプシ ョ ン な どは使用で き ません。 X-Ref Target - Figure 3-3 図 3‐3 : サー ド パーテ ィ ネ ッ ト リ ス ト プ ロ ジ ェ ク ト の Flow Navigator こ れ ら のデザ イ ン タ ス ク が完了 し た ら 、 デザ イ ン結果を開き 、 解析 し た り 、 制約を適用 し た り で き ます。 こ れには、 Flow Navigator で [Open Elaborated Design]、 [Open Synthesized Design]、 ま たは [Open Implemented Design] を ク リ ッ ク し ます。 詳細は、 「デザ イ ン解析お よ び制約定義の実行」 を参照 し て く だ さ い。 デザ イ ン を 開 く と 、 デザ イ ン フ ロ ーに適 し た よ く 使用 さ れ る コ マ ン ド のセ ッ ト が Flow Navigator に表示 さ れ ま す。 Flow Navigator で こ れ ら の コ マ ン ド を ク リ ッ ク す る と 、 既に開いていない場合はデザ イ ンが開 き 、 操作が実行 さ れま す。 26 ページの図 3-4 に合成に関連す る コ マ ン ド を示 し ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 25 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-4 図 3‐4 : Flow Navigator の [Synthesis] セ ク シ ョ ン シ ス テム レ ベルのデザイ ン入力の実行 自動化 さ れた階層 ソ ース フ ァ イルの コ ンパイル と 管理 Vivado IDE の [Sources] ビ ュ ー (図 3-5) では、 ソ ース フ ァ イ ルの管理を自動化す る 機能があ り ます。 こ の ビ ュ ーには タ ブが複数含まれ、 さ ま ざ ま な方法で ソ ース が表示 さ れます。 プ ロ ジ ェ ク ト を開 く か、 変更する と 、 [Sources] ビ ュ ー でそのプ ロ ジ ェ ク ト ソ ース の ス テー タ ス がア ッ プデー ト さ れます。 デザ イ ン ソ ース の コ ンパ イ ルが素早 く 実行 さ れ、 ソ ー ス がダ ウ ン ス ト リ ーム ツールで コ ン パ イ ル さ れ る 順序に [Sources] ビ ュ ーの [Compile Order] タ ブに表示 さ れ ま す。 RTL 階層の コ ンパ イ ルに関す る 潜在的な問題があ る 場合は、 [Message ] ビ ュ ーに レ ポー ト さ れます。 ソ ース の詳 細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の 「 ソ ース フ ァ イ ル の操作」 を参照 し て く だ さ い。 注記 : モジ ュ ールを最上位モジ ュ ール と し て明確に設定 し た場合、 そのモジ ュ ールは保持 さ れ、合成に渡 さ れますが、 最上位モジ ュ ール と し て指定 し ていない場合は、 Vivado ツールでプ ロ ジ ェ ク ト 内の使用可能な ソ ース フ ァ イ ルの中 か ら 最適なモジ ュ ールが最上位モジ ュ ール と し て選択 さ れます。 フ ァ イ ルに構文エ ラ ーがあ っ た り 、 エ ラ ボ レー ト し ない場合は、 Vivado ツールでそれが最上位モジ ュ ール と し て選択 さ れ る こ と はあ り ません。 制約お よ びシ ミ ュ レーシ ョ ン ソ ース は、 セ ッ ト に分類 さ れます。 制約セ ッ ト は、 制約の確認や管理に使用 し ます。 さ ま ざ ま なシ ミ ュ レーシ ョ ン ソ ース セ ッ ト を使用す る こ と で、 異な る シ ミ ュ レーシ ョ ン セ ッ ト を開始で き ます。 ソ ー ス はどれで も 追加、 削除、 デ ィ ス エーブル、 ま たはア ッ プデー ト で き ます。 制約の詳細については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 23] を参照 し て く だ さ い。 シ ミ ュ レ ーシ ョ ン の詳細につい ては、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 14] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 26 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-5 図 3‐5 : [Sources] ビ ュ ーでの階層デザイ ン ソ ース フ ァ イルのコ ンパイル RTL の開発 Vivado IDE には、 RTL の開発に役立つ次の よ う な機能が含まれてい ます。 • ソ ース フ ァ イ ルを作成お よ び編集する Vivado IDE テ キ ス ト エデ ィ タ ー • 言語テ ンプ レー ト か ら ロ ジ ッ ク コ ン ス ト ラ ク ト の例を コ ピーする 機能 • 検索条件を入力 し てテ ンプ レー ト ラ イ ブ ラ リ を検索可能な [Find in Files] 機能 • RTL エ ラ ボ レーシ ョ ンお よ び イ ン タ ラ ク テ ィ ブな解析 • RTL デザ イ ン ルール チ ェ ッ ク (DRC) • RTL 制約の割 り 当て と I/O 配置 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 27 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 RTL のエ ラ ボレーシ ョ ンおよび解析 エ ラ ボ レー ト 済み RTL デザ イ ン を開 く と 、 RTL ソ ース フ ァ イ ルが コ ンパ イ ル さ れて RTL ネ ッ ト リ ス ト が イ ン タ ラ ク テ ィ ブ解析用に読み込ま れ、RTL 構造、構文、ロ ジ ッ ク 定義を確認で き ます。次の解析お よ びレ ポー ト 機能があ り ます。 • RTL の コ ンパ イ ル検証お よ び構文チ ェ ッ ク • ネ ッ ト リ ス ト お よ び回路図の確認 • デザ イ ン ルール チ ェ ッ ク • RTL ポー ト リ ス ト を使用 し た初期 I/O ピ ン配置 • 1 つの ビ ュ ーで RTL ソ ース フ ァ イ ル内の イ ン ス タ ン シエーシ ョ ンお よ び ロ ジ ッ ク 定義な ど のオブジ ェ ク ト を選 択す る と 、 ほかのビ ュ ーで も 自動選択 RTL の開発お よ び解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参 照 23] を参照 し て く だ さ い。 RTL ベース の I/O ピ ン配置の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] を参照 し て く だ さ い。 タ イ ミ ング制約の開発および検証 Vivado IDE には、 デザ イ ン の タ イ ミ ン グ制約を作成お よ び検証す る ための Timing Constraints ウ ィ ザー ド が含ま れ ま す。 こ の ウ ィ ザー ド では、 デザ イ ンの ク ロ ッ ク お よ び論理 コ ン ス ト ラ ク ト が識別 さ れ、 タ イ ミ ン グ制約を入力お よ び 検証す る ための イ ン タ ーフ ェ イ ス が提供 さ れます。イ ン メ モ リ デザ イ ンは ク ロ ッ ク 情報を含んだ合成後のデザ イ ン な ので、 こ の ウ ィ ザー ド は合成後お よ び イ ンプ リ メ ン ト 後のデザ イ ンでのみ使用で き ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 23] を参照 し て く だ さ い。 注記 : Vivado Design Suite でサポー ト さ れ る のは、 Synopsys デザ イ ン制約 (SDC) お よ びザ イ リ ン ク ス デザ イ ン制約 (XDC) フ ァ イ ルのみです。ISE Design Suite で使用 し たザ イ リ ン ク ス ユーザー制約フ ァ イ ル (UCF) や Synplicity デザ イ ン制約は、 直接はサポー ト さ れません。 UCF を XDC 形式に変換する 方法については、 『Vivado Design Suite : ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911) [参照 24] の 「UCF 制約の XDC への移行」 を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 28 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 IP の操作 Vivado IDE では、 IP を コ ン フ ィ ギ ュ レーシ ョ ン、 イ ン プ リ メ ン ト 、 検証、 統合で き ます。 IP は、 ス タ ン ド ア ロ ン の モジ ュ ール と し て、 ま たはシ ス テ ム レベル デザ イ ンの一部 と し て設定お よ び検証で き ます。 IP には、 エ ンベデ ッ ド プ ロ セ ッ サ、 DSP デジ タ ル信号処理モジ ュ ール、 C ベース のアルゴ リ ズ ム デザ イ ン な ど も 含ま れ ます。 カ ス タ ム IP は IP-XACT プ ロ ト コ ルに し たがっ てパ ッ ケージ さ れ、 Vivado IP カ タ ロ グか ら 使用で き ます。 IP カ タ ロ グか ら IP を簡 単に設定、 イ ン ス タ ン シエー ト 、 お よ び検証で き ます。 ザ イ リ ン ク ス IP は AMBA AXI4 イ ン タ ー コ ネ ク ト 規格を使 用 し てお り 、 高速シ ス テ ム レベル統合が可能です。 既存の IP は、 デザ イ ンで RTL ま たはネ ッ ト リ ス ト と と し て使用 で き ます。 ま た、 Vivado IDE では CORE Generator™ ツールで作成 さ れた コ ア (拡張子 .xco の フ ァ イ ル) も 使用で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] を参照 し て く だ さ い。 IP 管理デ ィ レ ク ト リ の作成 Vivado Design Suite IP は リ モー ト の IP デ ィ レ ク ト リ で コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理で き ます。IP デ ィ レ ク ト リ を作成ま たは開 く には、 Vivado IDE の Getting Started ページで [Manage IP] を ク リ ッ ク し ます。IP デ ィ レ ク ト リ を作成 し た ら 、 次が作成 さ れます。 • さ ま ざ ま な IP ソ ースお よ び出力フ ァ イ ルを分類 し て維持す る デ ィ レ ク ト リ 構造 • manage_ip_project と い う 名前のプ ロ ジ ェ ク ト こ の タ イ プのプ ロ ジ ェ ク ト を使用 し た場合は、 次を実行で き ます。 • Vivado IP カ タ ロ グ を使用 し た IP の コ ン フ ィ ギ ュ レーシ ョ ン • 出力フ ァ イ ルの生成 と IP 検証プ ロ セ ス の管理 • 個別 IP ま たは複数 IP の出力フ ァ イ ルの同時生成 • Vivado IDE の [Sources] ビ ュ ーでの IP 出力フ ァ イ ルの表示お よ び管理 • IP バージ ョ ン ア ッ プグ レー ド を繰 り 返 し 実行 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] の 「[Manage IP] プ ロ ジ ェ ク ト の 使用」 を参照 し て く だ さ い。 Vivado IP カ タ ログ を使用 し た IP の コ ン フ ィ ギ ュ レーシ ョ ン Vivado IP カ タ ロ グ ( 図 3-6) に は、 プ ロ ジ ェ ク ト で 選択 し た タ ー ゲ ッ ト デ バ イ ス で 使用可能 な ザ イ リ ン ク ス LogiCORE™ IP が表示 さ れます。 IP カ タ ロ グには、 各 IP のバージ ョ ンお よ び ラ イ セ ン ス情報、 該当す る デー タ シー ト が含ま れ ます。 IP を ダブル ク リ ッ ク す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド が起動 さ れ、 デザ イ ンに対す る IP の コ ン フ ィ ギ ュ レーシ ョ ンお よ び イ ン ス ト ール プ ロ セ ス を開始で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 29 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-6 図 3‐6 : Vivado IP カ タ ログ 出力 フ ァ イルの生成 Vivado Design Suite IP には、 その IP の合成、 イ ン プ リ メ ン テーシ ョ ンお よ び検証に使用す る ための さ ま ざ ま な出力 フ ァ イ ルが含まれます。 こ れ ら の出力フ ァ イ ルは、 IP の コ ン フ ィ ギ ュ レーシ ョ ン直後に生成で き る ほか、 後で生成で き ます。 プ ロ ジ ェ ク ト モー ド の場合、 足 り ない出力フ ァ イ ルが合成中に自動的に生成 さ れ、 ア ウ ト オブ コ ン テ キ ス ト フ ロ ーの場合は合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ル も 含まれます。非プ ロ ジ ェ ク ト モー ド の場合、 出力フ ァ イ ルは Tcl コ マ ン ド の synth_design を実行する 前に生成する 必要があ り ます。 Vivado Design Suite IP には、 次の出力フ ァ イ ルが含まれます。 • イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト • RTL ソ ース フ ァ イ ル と XDC 制約 • 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (オプシ ョ ン、 デフ ォ ル ト ) • サー ド パーテ ィ シ ミ ュ レーシ ョ ン ソ ース • サー ド パーテ ィ 合成 ソ ース • サンプル デザ イ ン (該当 IP のみ) • テ ス ト ベンチサンプル デザ イ ン (該当 IP のみ) • C モデル (該当 IP のみ) デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 30 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 アウ ト オブ コ ン テキス ト デザイ ン用の IP のス タ ン ド ア ロ ン合成 デフ ォ ル ト では、 各 IP に対 し てデザ イ ン チ ェ ッ ク ポ イ ン ト が作成 さ れ、 その IP の合成済みネ ッ ト リ ス ト と 制約が含 まれます。 IP モジ ュ ールは Vivado 合成を使用 し てで合成 さ れ、 デザ イ ン チ ェ ッ ク ポ イ ン ト は イ ンプ リ メ ン テーシ ョ ン中に使用 さ れ ます。 Vivado 合成では、 各 IP に対 し てデザ イ ン チ ェ ッ ク ポ イ ン ト を含むブ ラ ッ ク ボ ッ ク ス ス タ ブ フ ァ イ ルが挿入 さ れ る ので、 IP を別個に最適化お よ び検証 し て、 合成 ラ ン タ イ ム を削減で き ます。 こ れは、 ア ウ ト オ ブ コ ン テ キ ス ト デザ イ ン と 呼ばれます。 デザ イ ン チ ェ ッ ク ポ イ ン ト の生成を オ フ にす る と 、 IP と 最上位デザ イ ンが一緒に合成 さ れ る グ ロ ーバル ト ッ プダ ウ ン合成アプ ロ ーチが使用 さ れます。 こ のアプ ロ ーチが使用 さ れ る 場合、 合成中に追加の ロ ジ ッ ク 最適化を実行す る こ と がで き る こ と も あ り ます。 ヒ ン ト : Vivado IDE には [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス には [Generate Design Checkpoint (.dcp)] オプ シ ョ ンがあ り 、 デフ ォ ル ト 動作を制御で き る よ う にな っ てい ます。 IP の検証 ビヘ イ ビ アーま たは構造型 ロ ジ ッ ク シ ミ ュ レーシ ョ ン を実行 し て、 IP モジ ュ ールを イ ンプ リ メ ン ト し て タ イ ミ ン グ、 消費電力、 エ リ ア な ど を検証す る と 、 Vivado IP を検証で き ます。 通常は ス タ ン ド ア ロ ン IP を検証す る ために、 RTL ラ ッ パーお よ びテ ス ト ベンチを含む小 さ めの最上位デザ イ ン プ ロ ジ ェ ク ト が作成 さ れます。Vivado Design Suite では、 最上位デザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト 内で IP モジ ュ ールを検証す る こ と も で き ます。 IP は合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト を作成す る ので、 こ のボ ト ム ア ッ プ検証ス ト ラ テジは ス タ ン ド ア ロ ン ま たはプ ロ ジ ェ ク ト 内のいず れかで問題な く 実行 さ れます。 IP コ ア生成の一部 と し て、 オプ シ ョ ン でサ ン プル デザ イ ン が作成 さ れ ま す。 サ ン プル デザ イ ン を 作成す る には、 [Sources] ビ ュ ーの [IP Sources] タ ブで IP を右 ク リ ッ ク し 、 [Open Example Design] を ク リ ッ ク し ます。 サ ン プル IP モ ジ ュ ールを使用す る と 、 サンプル デザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト 内で ス タ ン ド ア ロ ン IP を検証で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 14]、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2]、お よ び 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] を参照 し て く だ さ い。 IP サブ シ ス テム ブ ロ ッ ク デザイ ンの作成 Vivado IP イ ン テ グ レー タ ー (32 ページの図 3-7) では、 AXI4 イ ン タ ー コ ネ ク ト プ ロ ト コ ルを使用 し て複数の IP を接 続す る こ と がで き ます。 Vivado IP カ タ ロ グか ら 互換性のあ る IP を選択 し 、 デザ イ ン キ ャ ンバ ス でその IP を イ ン ス タ ン シエー ト し ます。 こ の後、 IP を ダブル ク リ ッ ク し 、 コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド を起動 し ます。 イ ン タ ー コ ネ ク ト を ド ラ ッ グ ア ン ド ド ロ ッ プす る と DRC でチ ェ ッ ク さ れ る ので、互換性のあ る ピ ンが視覚的にわか り やす く な っ てい ます。AXI イ ン タ ーフ ェ イ スすべて を 1 本の ワ イ ヤで接続 し 、 ポー ト お よ び イ ン タ ーフ ェ イ ス ポー ト を配置 し て、 IP サブシ ス テ ム を残 り のデザ イ ン部分に接続 し ます。 こ の後、 こ れ ら の IP ブ ロ ッ ク デザ イ ン を ソ ース (.bd) と し てパ ッ ケージにす る と 、 ほかのデザ イ ンで再利用で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 4] ま たは 『Vivado Design Suite ユーザー ガ イ ド : エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 5] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 31 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-7 図 3‐7 : Vivado IP イ ン テグ レー タ ー カ ス タ ム IP の作成 と パ ッ ケージ Vivado IDE では、 カ ス タ ム IP や IP ブ ロ ッ ク デザ イ ン を IP にパ ッ ケージにで き ます。 こ の後、 Vivado IP カ タ ロ グか ら ア ク セ ス し 、 デザ イ ンや Vivado IP イ ン テ グ レー タ ーで使用で き ます。 IP は、 RTL ソ ース フ ァ イ ルの コ レ ク シ ョ ン、 Vivado IP イ ン テ グ レー タ ーのブ ロ ッ ク デザ イ ン ま たは Vivado Design Suite プ ロ ジ ェ ク ト 全体な ど、さ ま ざ ま な ソ ース か ら パ ッ ケージで き ます。 IP を コ ン フ ィ ギ ュ レーシ ョ ン し 、 Vivado IP カ タ ロ グお よ び IP イ ン テ グ レー タ ー内で使用 で き る よ う にす る 方法は複数あ り ます。 た と えば、 Package IP ウ ィ ザー ド では、 情報を入力 し た り 、 デー タ を収集す る プ ロ セ ス がで き る よ う にな っ てお り 、 IP を完成 し 、 AXI4 に準拠 さ せ、 コ ン フ ィ ギ ュ レーシ ョ ン可能で、 IP カ タ ロ グで使用可能な状態にで き ます。 [Create and Package IP] コ マ ン ド を使用す る と 、 エンベデ ッ ド プ ロ セ ッ サ デザ イ ン で使用す る ためのカ ス タ ム イ ン タ ーフ ェ イ ス ペ リ フ ェ ラ ル も 作成で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成 と パ ッ ケージ』 (UG1118) [参照 25] お よ び 『Vivado Design Suite チ ュ ー ト リ アル : カ ス タ ム IP の作成お よ びパ ッ ケージ』 (UG1119) [参照 26] を参照 し て く だ さ い。 IP のア ッ プグ レー ド Vivado Design Suite の リ リ ース ご と に、 新 し い IP バージ ョ ン も リ リ ース さ れます。 既に コ ン フ ィ ギ ュ レーシ ョ ン済み の ス タ テ ィ ッ ク バージ ョ ン を使用す る か、 IP を ア ッ プグ レー ド し て く だ さ い。 IP の現在の ス テー タ ス を レ ポー ト す る には、Tcl コ マ ン ド の report_ip_status を使用 し ます。必要であれば、IP を選択 し て、 それだけ を最新バージ ョ ンにア ッ プグ レー ド す る こ と も で き ます。 変更 ロ グには、 変更の詳細が記述 さ れ る ほか、 必要なデザ イ ン ア ッ プデー ト が リ ス ト さ れ ます。 た と えば、 新 し い IP バージ ョ ン で最上位ポー ト が変更 さ れた場合、 デザ イ ン を修正す る 必要 があ る こ と があ り ます。 ま た、 Tcl コ マ ン ド のreport_ip_status では、 既存 IP の タ ーゲ ッ ト デバ イ ス を変更す る こ と も で き ます。 注記 : ス タ テ ィ ッ ク バージ ョ ンの IP を使用する 場合は、その IP を使用 し たの と 同 じ ソ フ ト ウ ェ ア バージ ョ ン を使用 し て、 すべての出力フ ァ イ ルを作成す る 必要があ り ます。 Vivado Design Suite の新 し いバージ ョ ン では、 古い IP を リ コ ン フ ィ ギ ュ レーシ ョ ンす る こ と がで き ません。 ア ッ プグ レー ド を実行 し ない場合、 IP には リ コ ン フ ィ ギ ュ レーシ ョ ンがで き ない こ と を示す鍵のア イ コ ンが付 き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 32 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 Vivado Design Suite では、 デザ イ ン ま たは IP を検証す る ために複数の ロ ジ ッ ク シ ミ ュ レーシ ョ ン オプシ ョ ンが提供 さ れてい ます。 Vivado IDE に統合 さ れてい る Vivado シ ミ ュ レー タ では、 デザ イ ンのシ ミ ュ レーシ ョ ン、 波形ビ ュ ー アーでの信号の追加お よ び表示、 デザ イ ンの確認お よ びデバ ッ グ を必要に応 じ て実行で き ます。 Vivado シ ミ ュ レー タ では、 デザ イ ンのビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 構造シ ミ ュ レーシ ョ ン、 イ ンプ リ メ ン ト 済みデザ イ ンの タ イ ミ ン グ シ ミ ュ レ ーシ ョ ン を 実行で き ま す。 ま たは、 開い て い る デザ イ ン の Verilog、 VHDL ネ ッ ト リ ス ト 、 お よ び SDF フ ォ ーマ ッ ト フ ァ イ ルを記述す る こ と に よ り 、 サー ド パーテ ィ シ ミ ュ レ ー タ も 使用で き ま す。 Vivado IDE か ら は、 Mentor Graphics 社、 Synopsys 社、 Cadence 社のシ ミ ュ レー タ を起動で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 14] を参照 し て く だ さ い。 I/O ピ ン配置 Vivado IDE には I/O ピ ン配置環境が含まれてお り 、特定のパ ッ ケージ ピ ン ま たは内部ダ イ パ ッ ド に I/O ポー ト を正 し く 割 り 当て る こ と がで き ます。 さ ま ざ ま な表示ビ ュ ーお よ び表があ り 、 パ ッ ケージお よ び I/O 関連デー タ を解析で き ます。 ま た、I/O DRC お よ び同時ス イ ッ チ ノ イ ズ (SSN) の解析コ マ ン ド も あ り 、I/O 割 り 当て を検証で き る よ う にな っ てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] を参照 し て く だ さ い。 ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行 ロ ジ ッ ク 合成 Vivado 合成では、 合成 run を設定、 起動、 お よ び監視で き ま す。 Vivado IDE では、 合成結果が表示 さ れ、 レ ポー ト フ ァ イ ルが作成 さ れます[Log] ビ ュ ーか ら 合成の警告ま たはエ ラ ーを選択する と 、 RTL ソ ース フ ァ イ ルで該当す る ロ ジ ッ ク がハ イ ラ イ ト さ れます。 複数の合成 run を同時に、 ま たは 1 つずつ順に実行で き ます。Linux シ ス テ ムでは、 リ モー ト サーバー上の run が ロ ー カルで実行 さ れ ます。 複数の合成 run を実行す る と 、 複数のネ ッ ト リ ス ト が作成 さ れ、 Vivado Design Suite プ ロ ジ ェ ク ト 内に保存 さ れ ま す。 異な る バージ ョ ン の合成済みネ ッ ト リ ス ト を Vivado IDE 環境で開いて、 デバ イ スお よ びデ ザ イ ンの解析を実行す る こ と がで き ます。 ま た、 I/O ピ ン配置、 タ イ ミ ン グ、 フ ロ アプ ラ ン、 お よ び イ ンプ リ メ ン テー シ ョ ン用に制約を作成で き ます。 デザ イ ン を合成す る と 、 ク ロ ッ ク と ロ ジ ッ ク を解析お よ び配置で き る よ う にな り 、 合成済みネ ッ ト リ ス ト に対 し ては最 も 包括的な DRC を実行で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2] を参照 し て く だ さ い。 イ ン プ リ メ ン テーシ ョ ン Vivado イ ンプ リ メ ン テーシ ョ ンでは、 イ ンプ リ メ ン テーシ ョ ン run を設定、 起動、 お よ び監視で き ます。 イ ンプ リ メ ン テーシ ョ ン run 用に異な る イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン を設定 し 、 再利用可能な ス ト ラ テ ジ を作成で き ま す。 た と えば、 短い ラ ン タ イ ム、 改善 さ れたシ ス テ ム パフ ォーマ ン ス、 エ リ ア最適化の ス ト ラ テジ を作成で き ます。 run が終了す る と 、 イ ンプ リ メ ン テーシ ョ ン run の結果が表示 さ れ、 レ ポー ト フ ァ イ ルが使用可能にな り ます。 複数の イ ンプ リ メ ン テーシ ョ ン run を同時に、 ま たは 1 つずつ順に実行で き ます。Linux シ ス テ ムでは、 リ モー ト サー バーを使用で き ます。 制約セ ッ ト を作成 し て、 さ ま ざ ま な タ イ ミ ン グ制約、 物理制約、 代替デバ イ ス を設定 し て試す こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 23] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 33 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 ヒ ン ト : tcl.pre お よ び tcl.post フ ァ イ ルを使用す る と 、 Tcl ス ク リ プ ト を追加 し て合成、 イ ンプ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ーム生成の前後に読み出 さ れ る よ う にで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 18] を参照 し て く だ さ い。 合成および イ ン プ リ メ ン テーシ ョ ン run の設定 プ ロ ジ ェ ク ト モー ド を使用す る 場合、 合成お よ び イ ン プ リ メ ン テーシ ョ ン の機能を制御す る 設定を多数使用で き ま す。 こ れ ら の設定は、 run ス ト ラ テジ を使用する run に渡 さ れます。 こ れは、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で 設定で き ます。 run ス ト ラ テジは、 run の設定パ ラ メ ー タ ーの組み合わせを保存 し た も のです。 ザ イ リ ン ク ス では、 合 成お よ び イ ン プ リ メ ン テーシ ョ ン run 用にい く つかの定義済み run ス ト ラ テ ジ を提供 し てい ます。 ユーザーがカ ス タ ムの run 設定を適用す る こ と も で き ます。 ま た、 合成 と イ ンプ リ メ ン テーシ ョ ン で異な る 制約セ ッ ト を指定す る こ と も で き ます。 プ ロ ジ ェ ク ト 設定を変更す る 場合は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 2] の 「[Manage IP] プ ロ ジ ェ ク ト の使用」 お よ び 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テーシ ョ ン』 (UG904) [参照 3] の 「 イ ンプ リ メ ン テーシ ョ ン ス ト ラ テジのカ ス タ マ イ ズ」 を参照 し て く だ さ い。 ヒ ン ト : ア ウ ト オブ コ ン テ キ ス ト モジ ュ ールの run は、プ ロ ジ ェ ク ト 内の Vivado Design Suite IP を合成す る ために作 成で き ます。 IP のデザ イ ン チ ェ ッ ク ポ イ ン ト を生成する 場合、 デフ ォ ル ト ではデザ イ ンの各 run に対 し て ア ウ ト オ ブ コ ン テ キ ス ト (ス タ ン ド ア ロ ン) の run が作成 さ れます。 run の作成および管理 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で合成お よ び イ ンプ リ メ ン テーシ ョ ンの設定を指定 し た ら 、 次のいずれかの方 法で合成 run ま たは イ ンプ リ メ ン テーシ ョ ン run を実行で き ます。 • Flow Navigator で [Run Synthesis]、 [Run Implementation]、 ま たは [Generate Bitstream] を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで run を選択 し 、 右 ク リ ッ ク し て [Launch Runs] を ク リ ッ ク す る か、 ま たはツールバーの [Launch Selected Runs] ボ タ ン を ク リ ッ ク し ます。 • [Flow] → [Run Synthesis]、[Flow] → [Run Implementation]、 ま たは [Flow] → [Generate Bitstream] を ク リ ッ ク し ます。 複数の合成 run ま たは イ ンプ リ メ ン テーシ ョ ン run を作成 し て、 さ ま ざ ま な制約お よ びツール設定を試 し てみ る こ と がで き ます。 その他の run を作成す る には、 次の手順に従い ます。 1. Flow Navigator で [Synthesis] ま たは [Implementation] を右 ク リ ッ ク し ます。 2. [Create Synthesis Runs] ま たは [Create Implementation Runs] を ク リ ッ ク し ます。 3. Create New Runs ウ ィ ザー ド (35 ページの図 3-8) で、 制約セ ッ ト お よ び タ ーゲ ッ ト パーツ を選択 し ます。 イ ンプ リ メ ン テーシ ョ ン run の作成では、 複数の合成 run が存在する 場合はネ ッ ト リ ス ト も 選択で き ます。 さ ま ざ ま な ス ト ラ テ ジ、 制約セ ッ ト 、 ま たはデバ イ ス を指定 し た複数の run を作成で き ます。 run が複数あ る 場合、 実行オプ シ ョ ン を指定で き ます。 選択 し た run を順次実行する か、 複数の ロ ーカル プ ロ セ ッ サで同時に実行で き ます。 注記 : Linux でのみ、 リ モー ト ホ ス ト を設定お よ び使用で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 34 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 3-8 図 3‐8 : 複数の合成 run および イ ン プ リ メ ン テーシ ョ ン run の作成 [Design Runs] ビ ュ ーでの run の管理 [Design Runs] ビ ュ ー (図 3-9) には、 run の ス テー タ スお よ び情報が表示 さ れ、 ポ ッ プア ッ プ メ ニ ュ ーか ら は 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-9 図 3‐9 : [Design Runs] ウ ィ ン ド ウ run の リ セ ッ ト Flow Navigator で [Synthesis] ま たは [Implementation] を右 ク リ ッ ク し 、次のポ ッ プア ッ プ メ ニ ュ ーを使用 し て run を リ セ ッ ト し ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] の 「[Manage IP] プ ロ ジ ェ ク ト の使用」 を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 35 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 • [Reset Runs] では、 run が元の状態に リ セ ッ ト さ れます。 オプシ ョ ンで run デ ィ レ ク ト リ か ら 生成 さ れた フ ァ イ ル を削除で き ます。 • [Reset to Previous Step] では リ ス ト さ れた段階に run を リ セ ッ ト し ます。 ヒ ン ト : 実行 さ れてい る プ ロ セ ス を停止する には、 Vivado IDE の右上の [Cancel] ボ タ ン を ク リ ッ ク し ます。 LSF を使用 し た リ モー ト サーバー フ ァ ームへのア ク セス リ モー ト Linux ホ ス ト で run を起動す る には、 LSF (Load Sharing Facility) サーバー フ ァ ーム に直接ア ク セ ス し ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] の 「 リ モー ト ホ ス ト お よ び LSF の使用」 を参照 し て く だ さ い。 イ ン ク リ メ ン タ ル コ ンパイルを使用 し た イ ン プ リ メ ン テーシ ョ ンの実行 イ ン ク リ メ ン タ ル コ ンパ イ ルを使用 し て Vivado イ ンプ リ メ ン テーシ ョ ン を実行す る と 、 小 さ いデザ イ ン変更を処理 で き ます。 イ ン ク リ メ ン タ ル コ ンパ イ ルでは、 変更の範囲お よ び変更 し た タ イ ミ ン グ ク リ テ ィ カル ロ ジ ッ ク の量に よ っ て、 ラ ン タ イ ムが削減で き 、 既存の結果を保持で き ます。 Tcl コ マ ン ド の read_checkpoint に -incremental オプシ ョ ン を付け て、 配線済みデザ イ ン チ ェ ッ ク ポ イ ン ト を指定 し て、 リ フ ァ レ ン ス と し て使用 さ れ る よ う に し ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テーシ ョ ン』 (UG904) [参照 3] の 「 イ ン ク リ メ ン タ ル コ ンパ イ ル」 を参照 し て く だ さ い。 ログ フ ァ イル、 メ ッ セージ、 レポー ト 、 プ ロパテ ィ の表示 ロ グ フ ァ イルの表示 [Log] ビ ュ ー (36 ページの図 3-10) で [Synthesis]、 [Implementation]、 [Simulation] タ ブを ク リ ッ ク する と 、 合成、 イ ンプ リ メ ン テーシ ョ ン、 シ ミ ュ レーシ ョ ンの標準出力を確認で き ます。 こ の出力は、 Vivado IDE の起動デ ィ レ ク ト リ に書 き込まれ る vivado.log フ ァ イ ルに も 含まれます。 X-Ref Target - Figure 3-10 図 3‐10 : ログ フ ァ イルの表示 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 36 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 メ ッ セージの表示 [Messages] ビ ュ ー (図 3-11) では、 メ ッ セージがデザ イ ン段階、 お よ びエ ラ ー、 ク リ テ ィ カル警告、 警告、 情報、 ス テー タ ス と い っ た重要度別に分類 さ れ ます。 [Messages] ビ ュ ーの上部にあ る チ ェ ッ ク ボ ッ ク ス のオ ン/オ フ を切 り 替 え て、 表示す る メ ッ セージ を選択で き ます。 メ ッ セージのカ テ ゴ リ を展開表示す る と 、 個々の メ ッ セージ を表示で き ま す。 [Collapse All] ア イ コ ン を ク リ ッ ク す る と 、 主なデザ イ ン段階のみが表示 さ れ ま す。 こ れに よ り 、 特定の メ ッ セージ を見つけやす く な り ます。 多 く の メ ッ セージには リ ン ク が含 ま れてお り 、 ク リ ッ ク す る と RTL フ ァ イ ルの該 当す る 行が開 き ます。 ソ ース の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 21] の 「[Messages] ウ ィ ン ド ウ の使用」 を参照 し て く だ さ い。 X-Ref Target - Figure 3-11 図 3‐11 : メ ッ セージの表示 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 37 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 レポー ト の表示 [Reports] ビ ュ ー (図 3-12) には、 複数の標準的な レ ポー ト が Tcl コ マ ン ド の launch_runs を使用 し て生成 さ れます。 レ ポー ト を ダブル ク リ ッ ク す る と 、 Vivado IDE テ キ ス ト エデ ィ タ ーで開 き ます。 [Tcl Console] ビ ュ ーで該当す る Tcl コ マ ン ド を入力 し て、 カ ス タ ム レ ポー ト を作成す る こ と も で き ます。 詳細については、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 21] の 「[Reports] ウ ィ ン ド ウ の使用」 お よ び 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] の 「レ ポー ト お よ び メ ッ セージ」 を参照 し て く だ さ い。 X-Ref Target - Figure 3-12 図 3‐12 : レポー ト の表示 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 38 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 デバイ ス プ ロパテ ィ の表示 エ ラ ボ レー ト 済み、 合成済み、 ま たは イ ンプ リ メ ン ト 済みデザ イ ン を開いた状態で、 [Tools] → [Edit Device Properties] を ク リ ッ ク し て [Edit Device Properties] ダ イ ア ロ グ ボ ッ ク ス (図 3-13) を開 く と 、 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン を 表示お よ び設定で き ます。 こ の コ マ ン ド は、 デザ イ ンが開いてい る と き にのみ使用で き ます。 各プ ロ パテ ィ の詳細に ついては、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 15] の 「デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム設定」 を参照 し て く だ さ い。 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド の設定 については、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] の 「デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド の設定」 を参照 し て く だ さ い。 注記 : [Edit] → [Device Properties] は、 デザ イ ンが開いてい る と き に し か使用で き ません。 X-Ref Target - Figure 3-13 図 3‐13 : デバイ ス プ ロパテ ィ の表示 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 39 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 デザイ ン解析および制約定義の実行 RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ン の後に、 解析お よ び制約の割 り 当て を実行で き ます。 デザ イ ン の問題を早期に特定す る ため、 イ ン プ リ メ ン テーシ ョ ン の前に タ イ ミ ン グ シ ミ ュ レーシ ョ ン、 リ ソ ース予 測、 接続性の解析、 DRC な ど のデザ イ ン解析を実行で き ま す。 さ ま ざ ま な合成 run ま たは イ ン プ リ メ ン テーシ ョ ン run 結果を開 く と 、 解析お よ び制約の割 り 当てがで き ます。 こ れは、 デザ イ ン を開 く と わか り ます。 デザ イ ン を開 く と 、 Vivado IDE でネ ッ ト リ ス ト が コ ンパ イ ル さ れ、 タ ーゲ ッ ト デバ イ ス に対す る 物理制約お よ び タ イ ミ ン グ制約が適用 さ れ ます。 デザ イ ンは、 開いて、 保存 し て、 閉 じ る こ と がで き ます。 新 し いデザ イ ン を開 く と 、 メ モ リ 容量を確保す る ため、 既に開いてい る デザ イ ン を閉 じ る か ど う か を確認する メ ッ セージが表示 さ れます。 既に 開いてい る デザ イ ン を閉 じ る 必要はな く 、 複数のデザ イ ン を同時に開いてお く こ と がで き ます。 合成済みデザ イ ン を 開 く と 、 ネ ッ ト リ ス ト と 制約が表示 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 ネ ッ ト リ ス ト 、 制約、 イ ンプ リ メ ン テーシ ョ ン結果が表示 さ れます。 デザ イ ン デー タ は異な る ビ ュ ーに さ ま ざ ま な形式で表示で き 、 ビ ュ ーのデー タ は連動 し てい ます。 デザ イ ン を開 く と 、 Vivado IDE の さ ま ざ ま な解析お よ びレ ポー ト 機能が使用で き る よ う にな り ます。 た と えば、 内部 デバ イ スお よ び外部物理パ ッ ケージの対話型グ ラ フ ィ カル表示で、デバ イ ス リ ソ ース を解析で き ます。ま た、[Netlist]、 [Device]、 [Schematic]、 [Hierarchy] ビ ュ ーを使用 し て タ イ ミ ン グお よ び物理制約を適用 し て解析す る こ と も で き ます。 詳細は、『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 23] を参照 し て く だ さ い。 注記 : デザ イ ンが開いてい る と き に制約を変更す る と 、 変更を元の XDC ソ ース フ ァ イ ルに保存す る か、 新 し い制約 セ ッ ト を作成す る か を選択す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の 「[Save Constraints As] コ マ ン ド を使用 し た制約セ ッ ト の作成」 を 参照 し て く だ さ い。 エ ラ ボレー ト 済み RTL デザイ ン を開 く エ ラ ボ レー ト 済みデザ イ ン を開 く と 、Vivado Design Suite が拡張 さ れ、RTL ネ ッ ト リ ス ト が コ ンパ イ ル さ れ、 タ ーゲ ッ ト デバ イ ス に対 し て物理制約お よ び タ イ ミ ン グ制約が適用 さ れます。エ ラ ボ レー ト 済みデザ イ ンの さ ま ざ ま なエ レ メ ン ト が メ モ リ に読み込ま れ る と 、必要に応 じ て解析お よ び変更 し て、デザ イ ン を完了 さ せ る こ と がで き ます。詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の 「RTL デザ イ ンのエ ラ ボ レーシ ョ ン」 を参照 し て く だ さ い。 Vivado Design Suite には、 lint DRC お よ びチ ェ ッ ク ツールが含まれ、 ロ ジ ッ ク が正 し いか ど う かデザ イ ン を解析で き る よ う にな っ てい ます。 ロ ジ ッ ク が正 し く コ ンパ イ ル さ れたか、 欠けてい る モジ ュ ールはないか、 イ ン タ ーフ ェ イ ス の不一致がないかな ど をチ ェ ッ ク で き ます。 [Messages] ビ ュ ーで メ ッ セージの リ ン ク を ク リ ッ ク す る と 、 Vivado IDE テ キ ス ト エデ ィ タ ーで RTL フ ァ イ ルの該当す る 行が表示 さ れます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び 階層を さ ま ざ ま な方法で調べ る こ と がで き ます。 [Schematic] ビ ュ ーには、 RTL ベース の ロ ジ ッ ク コ ン ス ト ラ ク ト を 使用 し て、 RTL の接続が表示 さ れます。 [Schematic] ビ ュ ーで ロ ジ ッ ク を選択 し た り 、 Vivado IDE テ キ ス ト エデ ィ タ ー で RTL フ ァ イ ルの特定の行を確認 し た り で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の 「 ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブ」 を参照 し て く だ さ い。 注記 : RTL エ ラ ボ レーシ ョ ンでは、 FPGA テ ク ノ ロ ジへのマ ッ プは実行 さ れません。 レ ジ ス タ な ど、 ロ ジ ッ ク 階層の特定の ロ ジ ッ ク イ ン ス タ ン ス に定義 さ れてい る 制約は、 RTL エ ラ ボ レーシ ョ ン では 解決で き ない場合があ り ます。 エ ラ ボ レーシ ョ ン中に生成 さ れ る ロ ジ ッ ク 名 と 階層は、 合成中に生成 さ れ る も の と 一 致 し ない可能性があ り ます。 そのため、 こ れ ら の制約が定義 さ れてい る 場合、 RTL デザ イ ン を エ ラ ボ レー ト し た と き に制約マ ッ プに関す る 警告ま たはエ ラ ー メ ッ セージが表示 さ れ る こ と があ り ますが、 合成を実行する と 、 こ れ ら の問 題は回避 さ れます。 Vivado IDE の I/O 配置機能を使用す る と 、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を コ ン フ ィ ギ ュ レーシ ョ ン し てエ ラ ボ レー ト 済み RTL デザ イ ンに割 り 当て、 DRC を実行で き ます。 可能であれば、 合成後に I/O 配置を実行 し て く だ さ い。 こ れに よ り 、 ク ロ ッ ク お よ び ロ ジ ッ ク 制約が最適にな り 、 合成後に実行する DRC が よ り 詳細に実行 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 40 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 ヒ ン ト : [Report DRC] コ マ ン ド を ク リ ッ ク する と 、 RTL お よ び I/O の DRC が実行 さ れ、 非同期 ク ロ ッ ク 、 ラ ッ チな ど の ロ ジ ッ ク の問題が特定 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 12] の 「DRC の実行」 を参照 し て く だ さ い。 エ ラ ボ レー ト 済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。 • Flow Navigator の [RTL Analysis] セ ク シ ョ ンで [Open Elaborated Design] を ク リ ッ ク し ます。 • Flow Navigator で [RTL Analysis] を右 ク リ ッ ク し 、 [New Elaborated Design] を ク リ ッ ク し ます。 • [Flow] → [Open Elaborated Design] を ク リ ッ ク し ます。 図 3-14 は、 エ ラ ボ レー ト 済み RTL デザ イ ン を開いた場合のデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を示 し てい ます。 回路図で ロ ジ ッ ク イ ン ス タ ン ス を選択す る と 、 RTL ソ ース フ ァ イ ルお よ びエ ラ ボ レー ト 済み RTL ネ ッ ト リ ス ト で特定の イ ン ス タ ン ス が選択 さ れます。 X-Ref Target - Figure 3-14 図 3‐14 : エ ラ ボレー ト 済み RTL デザイ ン を開 く 合成済みデザイ ン を開 く 合成済みデザ イ ン を開 く と 、 Vivado Design Suite で合成済みネ ッ ト リ ス ト が開かれ、 タ ーゲ ッ ト デバ イ ス に対 し て物 理制約お よ び タ イ ミ ン グ制約が適用 さ れ ま す。 合成済みデザ イ ン の さ ま ざ ま なエ レ メ ン ト が メ モ リ に読み込ま れ る と 、 必要に応 じ て解析お よ び変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ ト リ ス ト 、 デバ ッ グ コ ア、 お よ び コ ン フ ィ ギ ュ レーシ ョ ンに保存で き ます。 合成済みデザ イ ン を使用す る と 、 早期の タ イ ミ ン グ、 消費電力、 使用率予測の よ う なデザ イ ン タ ス ク を多 く 実行す る こ と がで き 、 デザ イ ン が指定す る タ ーゲ ッ ト で要件を満たす こ と がで き る のか ど う か判断で き ま す。 デザ イ ン は、 Vivado IDE のビ ュ ーを使用 し て さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選択す る と 、 ほかの ビ ュ ーで も 選択 さ れ ま す。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] な ど の さ ま ざ ま な ビ ュ ーか ら 、 RTL デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 41 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 フ ァ イ ルの問題のあ る 行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに調べ る こ と がで き ます。 タ イ ミ ン グ制約を適用 し た り 、 よ り 詳細な タ イ ミ ン グ解析を実行 し た り も で き ます。 I/O ポー ト の物理制約、 フ ロ アプ ラ ン、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を イ ン タ ラ ク テ ィ ブに定義す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参 照 13] を参照 し て く だ さ い。 Vivado IDE の I/O 配置機能を使用す る と 、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を コ ン フ ィ ギ ュ レーシ ョ ン し て合成済みデ ザ イ ンに割 り 当て、 DRC を実行で き ます。 [Report DRC] コ マ ン ド を ク リ ッ ク す る と 、 包括的な DRC が実行 さ れ、 ロ ジ ッ ク の問題が特定 さ れ ま す。 詳細については、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 11] の 「DRC の実行」 お よ び 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] の 「DRC レ ポー ト の使用」 を参照 し て く だ さ い。 合成済みデザ イ ンでは、 プ ロ グ ラ ム済みFPGA のテ ス ト お よ びデバ ッ グ をサポー ト する ために、デバ ッ グ コ ア ロ ジ ッ ク を設定お よ び イ ンプ リ メ ン ト で き ます。 [Schematic or Netlist] ビ ュ ーで、 イ ン タ ラ ク テ ィ ブにデバ ッ グ用の信号を選 択 し 、 その後デバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ン し 、 デザ イ ンに挿入 し ます。 コ アの ロ ジ ッ ク お よ び接続は、 デ ザ イ ンの合成がア ッ プデー ト さ れて も 、 で き る 限 り 保持 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 15] の 「 イ ン シ ス テ ム ロ ジ ッ ク デザ イ ンのデバ ッ グ フ ロ ー」 を参照 し て く だ さ い。 合成済みデザ イ ン を開 く には、 次のいずれか を実行 し ます。 • Flow Navigator の [Synthesis] セ ク シ ョ ン で [Open Synthesized Design] を ク リ ッ ク し ます。 • Flow Navigator で [Synthesis] を右 ク リ ッ ク し 、 [New Synthesized Design] を ク リ ッ ク し ます。 • [Flow] → [Open Synthesized Design] を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。 図 3-15 は、 合成済みデザ イ ン を開いた場合のデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を示 し てい ます。 X-Ref Target - Figure 3-15 図 3‐15 : [Open Synthesized Design] デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 42 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 イ ン プ リ メ ン ト 済みデザイ ン を開 く Flow Navigator か ら イ ン プ リ メ ン ト 済みデザ イ ン を開 く と 、 Vivado IDE でその イ ンプ リ メ ン ト 済みネ ッ ト リ ス ト が開 き 、 イ ンプ リ メ ン テーシ ョ ン、 配置、 お よ ぼ配線結果に使用 さ れ る タ ーゲ ッ ト デバ イ ス に対す る 物理制約お よ び タ イ ミ ン グ制約が適用 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ンの配置済みの ロ ジ ッ ク と 配線済みの接続が メ モ リ に読み込 まれ る と 、 必要に応 じ て解析お よ び変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ ト リ ス ト 、 イ ン プ リ メ ン テーシ ョ ン結果、 お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン に保存で き ま す。 Vivado IDE で は複数の イ ンプ リ メ ン テーシ ョ ン run を設定で き る ので、ど の完了済みの イ ンプ リ メ ン テーシ ョ ン run を選択 し て も 、 イ ンプ リ メ ン ト 済みデザ イ ン を開 く こ と がで き ます。 イ ンプ リ メ ン ト 済みデザ イ ンでは、 タ イ ミ ン グ解析、 消費電力解析、 使用量統計の よ う なデザ イ ン タ ス ク を多 く 実行 す る こ と がで き 、 デザ イ ン が必要なパ フ ォ ーマ ン ス タ ーゲ ッ ト の要件を満たす こ と がで き る のか ど う か判断で き ま す。 デザ イ ンは、 Vivado IDE のビ ュ ーを使用 し て さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選 択す る と 、 ほかの ビ ュ ーで も 選択 さ れ ます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] な ど の さ ま ざ ま な ビ ュ ーか ら 、 ソ ース の RTL フ ァ イ ルの問題のあ る 行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに調べ る こ と がで き ます。 タ イ ミ ン グ制約を適用 し た り 、 よ り 詳細な タ イ ミ ン グ解析を実行 し た り も で き ます。 ま た、 イ ン タ ラ ク テ ィ ブに フ ロ アプ ラ ンやデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン制約を 適用 し た り 、 今後の run 用に制約を保存 し た り も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン 解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を参照 し て く だ さ い。 [Device] ビ ュ ーでは、 [Routing Resources] を ク リ ッ ク し て、 配置 ま たは配線結果を確認で き ま す。 拡大す る と 、 [Device] ビ ュ ーに表示 さ れ る 詳細な情報が増え ます。 配置配線、 お よ びル ッ ク ア ッ プ テーブル (LUT) お よ び ラ ン ダ ム ア ク セ ス メ モ リ (RAM) の初期化な ど のデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を イ ン タ ラ ク テ ィ ブに変更す る こ と も で き ます。 [Device] ビ ュ ーま たは [Schematic] ビ ュ ーで結果を ク リ ッ ク し て、 RTL フ ァ イ ルの問題の行に ク ロ ス プ ロ ーブ す る こ と も で き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに調べ る こ と がで き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を 参照 し て く だ さ い。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。 • Flow Navigator の [Implementation] セ ク シ ョ ンで [Open Implemented Design] を ク リ ッ ク し ます。 • [Flow] → [Open Implemented Design] を ク リ ッ ク し ます。 • [Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。 ヒ ン ト : Flow Navigator の メ ニ ュ ーはア ク テ ィ ブ run の状態に よ っ て異な る ので、 ア ク テ ィ ブ run が イ ンプ リ メ ン ト さ れ て い な い場合は [Open Implemented Design] コ マ ン ド が淡色表示に な っ て い る こ と が あ り ま す。 こ の場合、 Flow Navigator で [Implementation] を右 ク リ ッ ク し て、 完了 し た イ ンプ リ メ ン テーシ ョ ン run の イ ンプ リ メ ン ト 済みデザ イ ン を開 く こ と がで き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 43 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 図 3-16 に イ ンプ リ メ ン ト 済みデザ イ ンのデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を表示 し ます。 注記 : [Device] ビ ュ ーには、 最後に閉 じ た と き の状態に よ り 、 配置のみが表示 さ れ る 場合 と 配線 も 表示 さ れ る 場合が あ リ ます。 [Device] ビ ュ ーで [Routing Resources] ボ タ ン を ク リ ッ ク す る と 、 配置ま たは配線のみを表示す る よ う に表 示を切 り 替え る こ と がで き ます。 X-Ref Target - Figure 3-16 図 3‐16 : [Open Implemented Design] デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 44 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 最新でないデザイ ンのア ッ プデー ト 設計プ ロ セ ス では、 通常 ソ ース フ ァ イ ル ま たは制約の変更が必要です。 こ れ ら の フ ァ イ ルの依存性は Vivado IDE で 管理 さ れ、 表示 さ れてい る デザ イ ン デー タ が最新でな く な る と それが示 さ れ ます。 た と えば、 タ ーゲ ッ ト パーツや ア ク テ ィ ブ制約セ ッ ト な ど のプ ロ ジ ェ ク ト 設定を変更す る と 、 デザ イ ンが最新の状態でな く な り ます。 ソ ース フ ァ イ ル、 ネ ッ ト リ ス ト 、 ま たは イ ンプ リ メ ン テーシ ョ ン結果がア ッ プデー ト さ れ る と 、 開いた合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ンのデザ イ ン ビ ュ ー バナーに 「out-of-date」 と い う メ ッ セージが表示 さ れ、 run が最新の状 態ではない こ と が示 さ れます (図 3-17)。 デザ イ ンの ど の部分が最新ではないのか を確認する には、 [more info] リ ン ク を ク リ ッ ク し ます。 X-Ref Target - Figure 3-17 図 3‐17 : デザイ ンの再読み込みが必要である こ と を示すバナー デザ イ ン ビ ュ ー バナーか ら 、 最新でないデザ イ ンに対 し て次のいずれかの動作を実行 し ます。 • [More Info] を ク リ ッ ク す る と 開 く [Out-of-Date Due to] ウ ィ ン ド ウ に表示 さ れ る [Force up-to-date] リ ン ク を ク リ ッ ク し ます。 ア ク テ ィ ブな合成ま たは イ ンプ リ メ ン テーシ ョ ン run の NEEDS_REFRESH プ ロ パテ ィ が リ セ ッ ト さ れ、 run が最 新の状態であ る と マー ク さ れます。 こ の コ マ ン ド を Tcl で実行す る 場合は、 次の よ う な コ ー ド にな り ます。 set_property NEEDS_REFRESH false [get_runs synth_2] 注記 : こ の コ マ ン ド は、 デザ イ ンに少 し だけ変更を加えてお り 、 デザ イ ン を更新 し た く ない場合に使用 し ます。 • [Reload] を ク リ ッ ク し て現在のデザ イ ンの メ モ リ 内の表示を更新 し 、 デザ イ ン デー タ への変更を保存 し ます。 • [Close Design] を ク リ ッ ク し 、 最新の状態でないデザ イ ン を閉 じ ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 45 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 デザイ ン タ ス ク実行のためのビ ュ ー レ イ アウ ト の使用 デザ イ ン を開 く と 、 I/O 配置、 フ ロ アプ ラ ン、 デバ ッ グ コ ン フ ィ ギ ュ レーシ ョ ン な ど の特定のデザ イ ン タ ス ク を実行 し やすい よ う に し た複数のデフ ォ ル ト ビ ュ ーレ イ ア ウ ト が提供 さ れます (図 3-18)。 レ イ ア ウ ト を変更す る と 、特定の デザ イ ン タ ス ク を実行す る のに適 し た ビ ュ ーが表示 さ れます。 カ ス タ ム ビ ュ ー レ イ ア ウ ト は、 [Save Layout As] コ マ ン ド で作成で き ます。 注記 : デフ ォ ル ト ビ ュ ー レ イ ア ウ ト は、 デザ イ ンが開いてい る と き にのみ使用で き ます。 X-Ref Target - Figure 3-18 図 3‐18 : レ イ アウ ト の選択 デザイ ンへの変更の保存 Vivado IDE では、 メ モ リ でア ク テ ィ ブ デザ イ ン を イ ン タ ラ ク テ ィ ブに編集 し ます。 制約やネ ッ ト リ ス ト を変更 し た り 、 消費電力解析特性、 ハー ド ウ ェ ア コ ン フ ィ ギ ュ レ ーシ ョ ン モー ド パ ラ メ ー タ ー、 デバ ッ グ コ ン フ ィ ギ ュ レ ー シ ョ ン な ど のデザ イ ン パ ラ メ ー タ ーを変更 し た場合な どは、必ずデザ イ ン を保存する よ う に し て く だ さ い。 開いたデ ザ イ ン を イ ン タ ラ ク テ ィ ブに編集す る 場合、 次のセ ク シ ョ ンに示す よ う に、 その変更点は元の XDC フ ァ イ ルに保存 す る か、 新 し い制約セ ッ ト に保存で き ます。 元の XDC 制約 フ ァ イルへの変更の保存 デザ イ ンに加えた変更を元の XDC 制約フ ァ イ ルに保存する には、 [File] → [Save Constraints] を ク リ ッ ク す る か、 ま た はツールバーの [Save Constraints] ボ タ ン を ク リ ッ ク し ます。 開いてい る デザ イ ンに対 し て加え ら れた制約、デバ ッ グ コ アお よ びコ ン フ ィ ギ ュ レーシ ョ ン、デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン設定の変更がすべて保存 さ れ ます。 Vivado IDE では、 可能な限 り 元の フ ァ イ ル フ ォ ーマ ッ ト が保持 さ れ ます。追加 し た制約は、フ ァ イ ルの最後に追加 さ れます。既存の制約への変更は、元の フ ァ イ ルの場所に保持 さ れます。 新 し い XDC 制約フ ァ イルへの変更の保存 デザ イ ンへの変更を新 し い制約セ ッ ト に保存す る には、[File] → [Save Constraints As] を ク リ ッ ク し て、新 し い制約フ ァ イ ルを作成 し ます。 こ れに よ り 、 元の制約 ソ ース フ ァ イ ルを保持 し た ま ま で変更を保存で き ます。 新 し い制約セ ッ ト には、 変更を含むす べてのデザ イ ン制約が含まれます。 こ の よ う にす る と 、 元の XDC ソ ース フ ァ イ ルを変更せずに保持で き ます。 新 し い制約セ ッ ト を ア ク テ ィ ブに し てお く と 、次回の run の実行時やデザ イ ン を開いた と き に適用 さ れ る よ う にで き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 46 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 デザイ ン を閉 じ る デザ イ ン を閉 じ る と 、 メ モ リ 内のデザ イ ン数を減 ら し 、 ソ ース を編集で き る 場所が複数にな る のを避け る こ と がで き ます。 別のデザ イ ン表示に移動す る 前に、 デザ イ ン を閉 じ る よ う ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る こ と があ り ます。 デザ イ ン を閉 じ る には、 次のいずれか を実行 し ます。 • デザ イ ンの タ イ ト ル バーで X ボ タ ン を ク リ ッ ク し ます。 • Flow Navigator でデザ イ ン を右 ク リ ッ ク し 、 [Close] を ク リ ッ ク し ます。 イ ン プ リ メ ン テーシ ョ ン結果の解析 イ ン プ リ メ ン ト 済みデザ イ ン が開いてい る 場合は、 [Device] ビ ュ ーに配置配線結果が表示 さ れます。 [Timing Results] ビ ュ ーで タ イ ミ ン グ パ ス を選択す る と 、 [Device] ビ ュ ーにその配置配線が表示 さ れます。 ま た、 配置配線を イ ン タ ラ ク テ ィ ブに編集 し て、 デザ イ ン目標を達成 し た り 、 LUT 式、 RAM 初期化、 位相 ロ ッ ク ループ (PLL) コ ン フ ィ ギ ュ レーシ ョ ン な ど のデザ イ ンの特性評価を実行す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] の 「 イ ンプ リ メ ン テーシ ョ ン結果の解析 と 表示」 を参照 し て く だ さ い。 重要 : 変更は、 イ ンプ リ メ ン ト 済みデザ イ ンの イ ン メ モ リ バージ ョ ンにのみ加え ら れます。 run を リ セ ッ ト す る と 変 更は失われます。 変更を保存す る には、 第 4 章の 「デザ イ ン チ ェ ッ ク ポ イ ン ト へのデザ イ ンの変更点の保存」 に示す よ う に、 [Save Checkpoint] コ マ ン ド を使用 し ます。 タ イ ミ ング解析の実行 Vivado IDE では、 タ イ ミ ン グ解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 [Tools] → [Timing] コ マ ン ド を使用 し て、 さ ま ざ ま な タ イ ミ ン グ解析パ ラ メ ー タ ーを使用 し てみて く だ さ い。 ク ロ ッ ク ネ ッ ト ワ ー ク レ ポー ト お よ び ク ロ ッ ク の相互関係レ ポー ト には、 ク ロ ッ ク の ト ポ ロ ジお よ び関係を表示で き ます。 ス ラ ッ ク ヒ ス ト グ ラ ムには、 デザ イ ン の全体的な タ イ ミ ン グ パフ ォ ーマ ン ス が表示 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] の 「 イ ンプ リ メ ン テーシ ョ ン結果の解析 と 表示」 を参照 し て く だ さ い。 ま た、 Vivado IDE には、 Tcl コ ン ソ ールお よ び SDC 制約オプシ ョ ン を使用 し て さ ま ざ ま な タ イ ミ ン グ解析オプシ ョ ン が提供 さ れてい ます。 多数の標準レ ポー ト Tcl コ マ ン ド があ り 、 ク ロ ッ ク 構造、 ロ ジ ッ ク の関係、 デザ イ ンに適用 さ れてい る 制約な ど に関す る 情報を取得で き ます。 詳細については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を参照す る か、 help report_* を入力 し て く だ さ い。 DRC、 消費電力、 リ ソ ース使用率の解析 Vivado IDE では、 消費電力、 リ ソ ー ス使用率、 DRC 解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 デザ イ ン の ど の段階で も 、 消費電力パ ラ メ ー タ ーを指定 し てすばや く 消費電力を予測で き ます。 ま た、 さ ま ざ ま な タ イ プのデ バ イ ス リ ソ ース使用率統計を解析で き る ほか、広範囲の DRC が用意 さ れてお り 、 ユーザーが設定 し て実行で き ます。 結果の レ ポー ト には、 問題のオブジ ェ ク ト への リ ン ク が含まれます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 13] を参照 し て く だ さ い。 ヒ ン ト : 多数の標準 レ ポー ト Tcl コ マ ン ド が あ り 、 デザ イ ン に関す る 情報を取得で き ま す。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 47 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 デバイ スのプ ログ ラ ム、 ハー ド ウ ェ ア検証、 および デバ ッ グ Vivado IDE の Vivado ロ ジ ッ ク 解析環境には、デザ イ ン を検証お よ びデバ ッ グす る ための多数の機能があ り ます。 RTL ま たは合成済みネ ッ ト リ ス ト に ILA (Integrated Logic Analyzer) や Debug Hub コ ア な ど の IP デバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ンお よ び イ ン プ リ メ ン ト で き ま す。 Vivado IDE で合成済み ま たは イ ン プ リ メ ン ト 済みデザ イ ン を開 く と 、 必要なプ ロ ーブ信号を選択 し て コ アに コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れ てい る ど の run に対 し て も 、 Vivado ロ ジ ッ ク 解析を起動 し てハー ド ウ ェ ア を検証で き ます。 ま た、 完了 し た ど の イ ン プ リ メ ン テーシ ョ ン run に対 し て も 、 ビ ッ ト ス ト リ ーム フ ァ イ ルを生成で き ます。 ビ ッ ト ス ト リ ーム フ ァ イ ル生成 オプシ ョ ン も 設定可能です。 Vivado デバ イ ス プ ロ グ ラ マーを起動 し てデバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンお よ びプ ロ グ ラ ムで き ます。 Vivado ロ ジ ッ ク 解析は Vivado IDE か ら 直接実行で き 、 配線お よ びデバ イ ス リ ソ ース を解析で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 15] の 「 ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブ」 を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 48 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 表 3-1 は、 プ ロ ジ ェ ク ト の作成、 イ ンプ リ メ ン テーシ ョ ン、 レ ポー ト を制御す る プ ロ ジ ェ ク ト モー ド の基本的な Tcl コ マ ン ド を示 し てい ます。 ヒ ン ト : デザ イ ン タ ス ク に関連す る Tcl コ マ ン ド を 理解す る には、 Vivado IDE で コ マ ン ド を 実行 し 、 [Tcl Console] ビ ュ ーま たは vivado.jou フ ァ イ ルで構文を確認す る のが最適な方法です。 表 3‐1 : プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド コ マン ド 説明 create_project Vivado Design Suite プ ロ ジ ェ ク ト を作成 し ます。 引数 と し てプ ロ ジ ェ ク ト 名、 保存場所、 デザ イ ンの最上位モジ ュ ール名、 タ ーゲ ッ ト パーツ を指定 し ます。 add_files プ ロ ジ ェ ク ト に ソ ース フ ァ イ ルを追加 し ます。 Verilog (.v)、 VHDL (.vhd ま たは .vhdl)、 System Verilog (.sv)、IP (.xcoま たは.xci)、XDC 制約 (.xdc ま たは .sdc)、System Generator モジ ュ ール (.mdl) な ど の ソ ース を追加で き ます。 個々の フ ァ イ ルを追加す る か、 デ ィ レ ク ト リ 全体を指定 し て有 効な フ ァ イ ルが自動的に追加 さ れ る よ う にす る こ と も で き ます。 注記 : UltraScale では .xco フ ァ イ ルはサポー ト さ れな く な っ てい ます。 set_property Vivado Design Suite で さ ま ざ ま な目的で使用 さ れます。 プ ロ ジ ェ ク ト では、 ソ ース の VHDL ラ イ ブ ラ リ 、 シ ミ ュ レーシ ョ ンのみの ソ ース、 タ ーゲ ッ ト 制約フ ァ イ ル、 ツール設定な ど を定義 で き ます。 import_files 指定の フ ァ イ ルを現在の フ ァ イ ル セ ッ ト に イ ン ポー ト し 、 プ ロ ジ ェ ク ト に追加 し ま す。 XDC フ ァ イ ルを制約セ ッ ト に割 り 当て る のに も 使用 し ます。 launch_runs launch_runs -to_step 合成、 イ ンプ リ メ ン テーシ ョ ン、 ま たはビ ッ ト ス ト リ ーム生成を開始 し ます。 こ の コ マ ン ド に は、 個々の イ ンプ リ メ ン テーシ ョ ン コ マ ン ド と 、 run の完了後に標準レ ポー ト を生成す る コ マ ン ド が含まれます。 すべての イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス を 1 つの コ マ ン ド で実行 し 、 進 行状況を管理 し ます。 -to_step オプシ ョ ン を使用す る と 、 個々の イ ンプ リ メ ン テーシ ョ ン コ マ ン ド お よ びビ ッ ト ス ト リ ーム生成を個別に実行で き ます。 wait_on_run run が完了す る ま で待っ てか ら Tcl ス ク リ プ ト の次の コ マ ン ド を実行 し ます。 open_run 合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ン を レ ポー ト お よ び解析用に開き ます。 レ ポー ト や解析の Tcl を使用 し て情報を取得する には、 デザ イ ン を開いてお く 必要があ り ます。 close_design メ モ リ 内のデザ イ ン を閉 じ ます。 start_gui stop_gui メ モ リ 内の現在のデザ イ ンで Vivado IDE を起動 し 、 終了 し ます。 注記 : こ の文書には、 使用可能な Tcl コ マ ン ド すべての説明が含まれ る わけではあ り ません。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 49 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例 次の例は、 RTL プ ロ ジ ェ ク ト と ネ ッ ト リ ス ト プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト を示 し てい ます。 最初の ス ク リ プ ト 例の run_bft_kintex7_project.tcl は、 次 の Vivado Design Suite イ ン ス ト ー ル デ ィ レ ク ト リ に 含 ま れ ま す。 <install_dir>/Vivado/2015.1/examples/Vivado_Tutorial ス ク リ プ ト は、 Vivado Tcl シ ェ ルま たは Vivado IDE の Tcl コ ン ソ ールか ら 呼び出す こ と がで き ます。 RTL プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト # run_bft_kintex7_project.tcl # BFT sample design # # NOTE:-Typical usage would be "vivado -mode tcl -source run_bft_kintex7_project.tcl" # -To use -mode batch comment out the "start_gui" and "open_run impl_1" to save time # create_project project_bft ./Tutorial_Created_Data/project_bft -part xc7k70tfbg484-2 add_files {./Sources/hdl/FifoBuffer.v ./Sources/hdl/async_fifo.v ./Sources/hdl/bft.vhdl} add_files -fileset sim_1 ./Sources/hdl/bft_tb.v add_files ./Sources/hdl/bftLib set_property library bftLib [get_files {./Sources/hdl/bftLib/round_4.vhdl \ ./Sources/hdl/bftLib/round_3.vhdl ./Sources/hdl/bftLib/round_2.vhdl ./Sources/hdl/bftLib/round_1.vhdl \ ./Sources/hdl/bftLib/core_transform.vhdl ./Sources/hdl/bftLib/bft_package.vhdl}] import_files -force import_files -fileset constrs_1 -force -norecurse ./Sources/bft_full_kintex7.xdc # Mimic GUI behavior of automatically setting top and file compile order update_compile_order -fileset sources_1 update_compile_order -fileset sim_1 # Launch Synthesis launch_runs synth_1 wait_on_run synth_1 open_run synth_1 -name netlist_1 # Generate a timing and power reports and write to disk report_timing_summary -delay_type max -report_unconstrained -check_timing_verbose \ -max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_bft_batch/syn_timing.rpt report_power -file ./Tutorial_Created_Data/project_bft_batch/syn_power.rpt # Launch Implementation launch_runs impl_1 -to_step write_bitstream wait_on_run impl_1 # Generate a timing and power reports and write to disk # comment out the open_run for batch mode open_run impl_1 report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose \ -max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_bft_batch/imp_timing.rpt report_power -file ./Tutorial_Created_Data/project_bft_batch/imp_power.rpt # comment out the for batch mode start_gui デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 50 第 3 章 : プ ロ ジ ェ ク ト モー ド の使用 ネ ッ ト リ ス ト プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト # Kintex-7 Netlist Example Design # # STEP#1:Create Netlist Project, add EDIF sources, and add constraints # create_project -force project_K7_netlist ./Tutorial_Created_Data/project_K7_netlist -part xc7k70tfbg676-2 # Property required to define Netlist project set_property design_mode GateLvl [current_fileset] add_files {./Sources/netlist/top.edif} import_files -force import_files -fileset constrs_1 -force ./Sources/top_full.xdc # # STEP#2:Configure and Implementation, write bitstream, and generate reports # launch_runs impl_1 wait_on_run impl_1 launch_runs impl_1 -to_step write_bitstream wait_on_run impl_1 open_run impl_1 report_timing_summary -delay_type min_max -report_unconstrained -check_timing_verbose \ -max_paths 10 -input_pins -file ./Tutorial_Created_Data/project_K7_netlist/imp_timing.rpt report_power -file ./Tutorial_Created_Data/project_K7_netlist/imp_power.rpt # # STEP#3:Start IDE for design analysis # start_gui デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 51 第 4章 非プ ロ ジ ェ ク ト モー ド の使用 概要 非プ ロ ジ ェ ク ト モー ド では、 Tcl コ マ ン ド を使用 し て フ ロ ーを実行す る こ と で、 デザ イ ン を コ ンパ イ ルで き ます。 イ ン メ モ リ プ ロ ジ ェ ク ト が メ モ リ 内で作成 さ れ ますが、 デ ィ ス ク には書 き 込ま れ ま せん。 Tcl コ マ ン ド を使用す る と 、 柔軟なデザ イ ン の設定お よ び実行、 解析お よ びデバ ッ グが可能です。 Tcl コ マ ン ド は、 バ ッ チ モー ド で実行す る か、 Vivado® Design Suite Tcl シ ェ ル ま たは Vivado IDE の Tcl コ ン ソ ールか ら 実行で き ま す。 非プ ロ ジ ェ ク ト モー ド の フ ロ ーを使用す る と 、 ユーザーが各デザ イ ン フ ロ ー段階を完全に制御で き ますが、 ソ ース フ ァ イ ル、 レ ポー ト 、 中間 結果 (デザ イ ン チ ェ ッ ク ポ イ ン ト ) を手動で管理する 必要があ り ます。 さ ま ざ ま な レ ポー ト を生成 し 、 デザ イ ン ルー ル チ ェ ッ ク (DRC) を実行 し 、 イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス のすべての段階のデザ イ ン チ ェ ッ ク ポ イ ン ト を書 き 出す こ と が可能です。 プ ロ ジ ェ ク ト モー ド の場合 と 異な り 、 複数の run の作成お よ び管理、 ソ ース フ ァ イ ル管理、 デザ イ ン状態の レ ポー ト な ど の機能は含ま れません。 ソ ース フ ァ イ ルがア ッ プデー ト さ れ る たびに、 デザ イ ン を手動で実行 し 直す必要があ り ます。 こ のモー ド の場合、 デフ ォ ル ト ではレ ポー ト や中間フ ァ イ ルは作成 さ れません。 必要に応 じ て Tcl コ マ ン ド を使用 し て、 さ ま ざ ま な レ ポー ト やデザ イ ン チ ェ ッ ク ポ イ ン ト を作成で き ます。 ま た、 Vivado IDE の GUI ベース の デザ イ ン の解析お よ び制約の設定を実行す る こ と も で き ま す。 現在のデザ イ ンは、 メ モ リ ま たは保存 し たデザ イ ン チ ェ ッ ク ポ イ ン ト のいずれかで開 く こ と がで き ます。 Vivado IDE を非プ ロ ジ ェ ク ト モー ド で起動す る と 、 Flow Navigator、 プ ロ ジ ェ ク ト サマ リ 、 Vivado IP カ タ ロ グ な ど の プ ロ ジ ェ ク ト モー ド の機能は含ま れ ません。 非プ ロ ジ ェ ク ト モー ド の場合、 Vivado IDE 内で合成 run や イ ンプ リ メ ン テーシ ョ ン run を開いた り 変更 し た り で き ません。 ただ し 、 デザ イ ン ソ ース フ ァ イ ルが元のデ ィ レ ク ト リ にあ る 場合は、 Vivado IDE の別のビ ュ ーでデザ イ ン オブジ ェ ク ト を選択す る と それが ク ロ ス プ ロ ーブ さ れます。 た と えば、 デザ イ ン オブジ ェ ク ト を選択 し て、 [Go To Instantiation]、 [Go To Definition] ま たは [Go To Source] コ マ ン ド を使用す る と 、 関連す る RTL ソ ース フ ァ イ ルが開いて、 該当する 行がハ イ ラ イ ト さ れます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 52 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド の利点 非プ ロ ジ ェ ク ト モー ド を使用す る と 、 デザ イ ン フ ロ ーの各段階を ユーザーが完全に制御で き 、 コ ンパ イ ル ス タ イ ル のデザ イ ン フ ロ ーの利点を生かす こ と がで き ます。 こ のモー ド の場合、 デザ イ ンはユーザーが手動で管理 し ます。 • HDL ソ ース フ ァ イ ル、 制約、 お よ び IP の管理 • 依存性の管理 • 合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果の生成お よ び保存 Vivado Design Suite には、 デザ イ ンお よ び IP を作成、 コ ン フ ィ ギ ュ レ ーシ ョ ン、 イ ン プ リ メ ン ト 、 解析、 管理す る Vivado Tcl コ マ ン ド がすべて含まれます。 非プ ロ ジ ェ ク ト モー ド では、 Tcl コ マ ン ド を使用 し て次が実行で き ます。 • フ ロ ー全体か ら デザ イ ン を コ ンパ イ ル • デザ イ ン を解析 し て レ ポー ト を作成 デザイ ン ソ ースの読み込み 非プ ロ ジ ェ ク ト モー ド の場合、 さ ま ざ ま なデザ イ ン ソ ース が イ ン メ モ リ デザ イ ンに読み込まれ、 イ ンプ リ メ ン テー シ ョ ン ツールで処理 さ れます。 Vivado Design Suite の ソ ース フ ァ イ ルは、 read_verilog、 read_vhdl、 read_ip、 read_edif、 ま たは read_xdc な ど、 フ ァ イ ルの種類に よ っ てそれぞれ read_... で始ま る Tcl コ マ ン ド を使用 し て読み込む こ と がで き ます。 ソ ース は、 Tcl ス ク リ プ ト ま たは イ ン タ ラ ク テ ィ ブな フ ロ ーが開始 さ れ る たびに読み込 む必要があ り ます。 ソ ース フ ァ イルの管理 非プ ロ ジ ェ ク ト モー ド の場合、 フ ァ イ ルを イ ン メ モ リ デザ イ ンに特定の順序で読み込む こ と で、 ソ ース フ ァ イ ルを 手動で管理で き ます。 フ ァ イ ルの管理方法やフ ァ イ ルのデ ィ レ ク ト リ を ユーザーが完全に制御で き る よ う にな っ てい ます。 ソ ースは、 ネ ッ ト ワー ク 接続 さ れてい る デ ィ レ ク ト リ か ら も 使用で き ます。 読み取 り 専用の権限 し かない ソ ー ス は、 その よ う に処理 さ れます。 リ ビ ジ ョ ン管理シ ス テムの使用 ど の複数のデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ビ ジ ョ ン を保存する のに、ソ ース管理シ ス テ ム を使用す る のが 一般的です。 RCS (Revision Control System)、 CVS (Concurrent Versions System)、 SVN (Subversion)、 ClearCase、 Perforce、 Git、 Bitkeeper な ど のシ ス テ ム が よ く 利用 さ れてい ますが、 Vivado ツールはど のシ ス テ ム に も 対応で き ます。 Vivado Design Suite では、 リ ビ ジ ョ ン管理下でデザ イ ン フ ロ ーを通 し て フ ァ イ ルが使用 さ れ、 生成 さ れます。 非プ ロ ジ ェ ク ト モー ド を使用す る 場合、 リ ビ ジ ョ ン管理 ソ フ ト ウ ェ アは簡単に使用で き ます。 まず、 設計者が必要な ソ ース フ ァ イ ルを ロ ーカル デ ィ レ ク ト リ 構造にチ ェ ッ ク ア ウ ト し 、 ソ ース を最上位デザ イ ン に イ ン ス タ ン シエー ト し て、 デザ イ ン を作成 し ます。 新 し い ソ ース フ ァ イ ル も 作成 し て、 Tcl コ マ ン ド の中の さ ま ざ ま な read_* コ マ ン ド を 使用 し てデザ イ ンに読み込む必要があ る こ と も あ り ます。デザ イ ン フ ァ イ ルは、Vivado 合成お よ び イ ンプ リ メ ン テー シ ョ ン ツールに渡 さ れますが、 ソ ース フ ァ イ ルは、 元のデ ィ レ ク ト リ に保持 さ れ ます。 チ ェ ッ ク ア ウ ト さ れた ソ ー ス は、 イ ン タ ラ ク テ ィ ブに、 ま たは コ ー ド エデ ィ タ ーを使用 し てデザ イ ン セ ッ シ ョ ン中に Tcl コ マ ン ド で変更で き ま す。 ソ ース フ ァ イ ルは、 こ の後必要に応 じ て ソ ー ス管理シ ス テ ム に戻 さ れます。 デザ イ ン チ ェ ッ ク ポ イ ン ト 、 解析 レ ポー ト 、 ビ ッ ト ス ト リ ーム フ ァ イ ルな ど のデザ イ ン結果 も リ ビ ジ ョ ン管理用にチ ェ ッ ク イ ンで き ます。 リ ビ ジ ョ ン 管理 ソ フ ト ウ ェ ア の詳細につい て は、 『UltraFast™ 設計手法 ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 22] の 「Vivado ツールでの ソ ース管理シ ス テ ムの使用」 を参照 し て く だ さ い。 . デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 53 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 ビデオ : Vivado ツールで リ ビ ジ ョ ン管理シ ス テ ム を使用す る 際のベス ト プ ラ ク テ ィ ス については、Vivado Design Suite オン ラ イ ン ビデオ : Vivado バージ ョ ン管理シ ス テ ムの概要を参照 し て く だ さ い。 サー ド パーテ ィ の合成済みネ ッ ト リ ス ト の使用 Vivado Design Suite では、 サー ド パーテ ィ の合成ツールを使用す る 場合な ど、 合成済みネ ッ ト リ ス ト の イ ン プ リ メ ン テーシ ョ ンがサポー ト さ れます。 外部合成ツールでは、 Verilog ま たは EDIF ネ ッ ト リ ス ト と 制約フ ァ イ ルが生成 さ れ ます。 こ れ ら のネ ッ ト リ ス ト は、 プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかで、 ス タ ン ド ア ロ ン で使用す る か、 RTL フ ァ イ ル と 混合 し て使用で き ます。 IP の操作 非プ ロ ジ ェ ク ト モー ド の場合、 IP の出力フ ァ イ ルは合成を実行す る 前に生成する 必要があ り ます。 IP は、 RTL ソ ー スお よ び制約を使用す る か、合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト を最上位デザ イ ンの ソ ース と し て使用す る よ う に コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 デフ ォ ル ト では、 各 IP に対 し て独立 し た階層モジ ュ ール (ア ウ ト オブ コ ン テ キ ス ト ) のデザ イ ン チ ェ ッ ク ポ イ ン ト が生成 さ れます。 非プ ロ ジ ェ ク ト モー ド の場合、 IP の イ ンプ リ メ ン ト は、 次のいずれかの方法で実行で き ます。 • Vivado IP カ タ ロ グ を使用 し て生成 し た IP (.xci 形式) Out-of-Context (ス タ ン ド ア ロ ン) のデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ルが IP デ ィ レ ク ト リ にあ る 場合は、それが イ ン プ リ メ ン テーシ ョ ン に使用 さ れ、 合成ではブ ラ ッ ク ボ ッ ク ス が挿入 さ れ ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ルが IP デ ィ レ ク ト リ にない場合は、 RTL お よ び制約 ソ ース がグ ロ ーバルな合成お よ び イ ンプ リ メ ン テー シ ョ ンに使用 さ れます。 • IP 用に合成 さ れたネ ッ ト リ ス ト (.dcp 形式) 合成済みネ ッ ト リ ス ト を使用す る と 、 IP を ス タ ン ド ア ロ ンで構造的に検証で き る ので、 安定 し た既知のネ ッ ト リ ス ト を提供で き ます。 Vivado IP フ ァ イ ルが IP デ ィ レ ク ト リ にあ る 場合は、 そのデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ル も 使用 さ れます。 • IP を コ ン フ ィ ギ ュ レーシ ョ ンお よ び生成する Tcl コ マ ン ド のセ ッ ト Tcl を使用す る と 、 run ご と に IP が コ ン フ ィ ギ ュ レーシ ョ ン、 生成、 お よ び合成 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] の 「IP 操作用 Tcl コ マ ン ド 」 を 参照 し て く だ さ い。 ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 Vivado IDE に統合 さ れてい る Vivado シ ミ ュ レー タ では、 デザ イ ンのシ ミ ュ レーシ ョ ン、 波形ビ ュ ーアーでの信号の 追加お よ び表示、 デザ イ ンの確認お よ びデバ ッ グ を必要に応 じ て実行で き ます。 Vivado シ ミ ュ レー タ は、 完全に統合 さ れた混合モー ド シ ミ ュ レー タ で、 アナ ロ グ波形を表示す る 機能を備え てい ます。 Vivado シ ミ ュ レー タ では、 デザ イ ン の ビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 構造シ ミ ュ レーシ ョ ン、 イ ン プ リ メ ン ト 済みデザ イ ン の タ イ ミ ン グ シ ミ ュ レーシ ョ ン を実行で き ます。 ま たは、 開いてい る デザ イ ンの Verilog、 VHDL ネ ッ ト リ ス ト 、 お よ び SDF フ ォーマ ッ ト フ ァ イ ルを記述す る こ と に よ り 、 サー ド パーテ ィ シ ミ ュ レー タ も 使用で き ます。 ModelSim お よ び Questa シ ミ ュ レー タ を Vivado IDE か ら 起動 で き ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 54 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 詳細は、『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 14] の 「サー ド パーテ ィ シ ミ ュ レー タ の使用」 を参照 し て く だ さ い。 ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行 非プ ロ ジ ェ ク ト モー ド では、 各 イ ンプ リ メ ン テーシ ョ ン手順は、 コ ン フ ィ ギ ュ レーシ ョ ン可能な Tcl コ マ ン ド を使用 し て起動 さ れ、 デザ イ ンは メ モ リ で コ ンパ イ ル さ れます。 イ ンプ リ メ ン テーシ ョ ン手順は、 「非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例」 に示す よ う に、 特定の順序で実行する 必要があ り ます。 必要に応 じ て、 power_opt_design ま たは phys_opt_design な ど の手順を実行す る こ と も で き ます。 非プ ロ ジ ェ ク ト モー ド では、 プ ロ ジ ェ ク ト モー ド で し かサポー ト さ れない run ス ト ラ テ ジの代わ り に、 さ ま ざ ま な コ マ ン ド を使用 し て ツール動作を制御で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 3] を参照 し て く だ さ い。 重要なデザ イ ン手順の後は、 デザ イ ン解析お よ び制約の定義のためにデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し てお き ま す。 デザ イ ン チ ェ ッ ク ポ イ ン ト は、 ビ ッ ト ス ト リ ームの生成を除 き 、 デザ イ ン プ ロ セ ス を続行す る ための開始ポ イ ン ト と し ては使用で き ません。 こ れ ら は、 単に解析お よ び制約定義のためのデザ イ ンの スナ ッ プシ ョ ッ ト にすぎ ませ ん。 ヒ ン ト : 各デザ イ ン手順が終了 し た ら 、 Vivado IDE を起動 し て、 「Vivado IDE を使用 し たデザ イ ン解析」 に示す方法 でア ク テ ィ ブなデザ イ ンに対 し て イ ン タ ラ ク テ ィ ブな グ ラ フ ィ カル デザ イ ン解析お よ び制約定義がで き ます。 レポー ト の生成 vivado.log お よ び vivado.jou を除 き 、 レ ポー ト は Tcl コ マ ン ド を使用 し て手動で生成す る 必要があ り ます。 デ ザ イ ン プ ロ セ ス のど の段階で も 、 さ ま ざ ま な レ ポー ト を生成で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] ま た は 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テ ー シ ョ ン』 (UG904) [参照 3] を参照 し て く だ さ い。 デザイ ン チ ェ ッ ク ポ イ ン ト の使用 デザ イ ン チ ェ ッ ク ポ イ ン ト を使用す る と 、デザ イ ンの現在の状態の ス ナ ッ プシ ョ ッ ト を撮る こ と がで き ます。 現在の ネ ッ ト リ ス ト 、 制約、 お よ び イ ンプ リ メ ン テーシ ョ ン結果が、 デザ イ ン チ ェ ッ ク ポ イ ン ト に保存 さ れます。 デザ イ ン チ ェ ッ ク ポ イ ン ト を使用す る と 、 次が実行で き ます。 • 必要であればデザ イ ン を復元 • デザ イ ン解析を実行 • 制約を定義 • デザ イ ン フ ロ ーに従っ て処理 デザ イ ン チ ェ ッ ク ポ イ ン ト は、 フ ロ ーの異な る 段階で書 き 出す こ と がで き ます。 重要なデザ イ ン手順の後は、 デザ イ ン解析お よ び制約の定義のためにデザ イ ン チ ェ ッ ク ポ イ ン ト を書 き 出 し てお き ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト を 読み込む と デザ イ ン を復元で き る ので、 問題をデバ ッ グする 際に便利です。 デザ イ ン チ ェ ッ ク ポ イ ン ト は、 デザ イ ン を現在の イ ンプ リ メ ン テーシ ョ ン状態ですべて保存 し た も のです。 デザ イ ン フ ロ ーの残 り は、 Tcl コ マ ン ド を使用 し て実行で き ますが、 新規 ソ ース をデザ イ ンに追加す る こ と はで き ません。 注記 : Tcl コ マ ン ド の write_checkpoint <file_name>.dcp お よ び read_checkpoint <file_name>.dcp を 使用 し て も デザ イ ン チ ェ ッ ク ポ イ ン ト を書 き 込みお よ び読み出 し で き ます。 Vivado IDE でチ ェ ッ ク ポ イ ン ト を表示 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 55 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 す る には、 Tcl コ マ ン ド の open_checkpoint <file_name>.dcp を使用 し ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を参照 し て く だ さ い。 重要 : プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド で IP を使用する 場合は、 DCP フ ァ イ ルではな く 、 XCI フ ァ イ ルを常に使用 し て く だ さ い。 こ う す る こ と で、 IP 出力フ ァ イ ルがすべてのデザ イ ン フ ロ ー段階で一貫 し て使用 さ れ る よ う にな り ます。 IP が ス タ ン ド ア ロ ン (Out-of-Context) で合成 さ れ、 既に関連す る DCP フ ァ イ ルがあ る 場合は、 その DCP フ ァ イ ルが自動的に使用 さ れ、 IP が合成 し 直 さ れ る こ と はあ り ません。 詳細は、 『Vivado Design Suite ユー ザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 1] の 「出力フ ァ イ ルの生成」 を参照 し て く だ さ い。 Vivado IDE を使用 し たデザイ ン解析 非プ ロ ジ ェ ク ト モー ド の場合、 デザ イ ン手順の後に Vivado IDE を起動す る と 、 ア ク テ ィ ブなデザ イ ンに対 し て イ ン タ ラ ク テ ィ ブな グ ラ フ ィ カル デザ イ ン解析お よ び制約定義がで き ます。 ア ク テ ィ ブ デザイ ン で Vivado IDE を開 く 非プ ロ ジ ェ ク ト モー ド では、 次の コ マ ン ド を使用 し て メ モ リ 内のア ク テ ィ ブ デザ イ ンに対す る Vivado IDE を起動お よ び終了 し ます。 • start_gui : メ モ リ 内のア ク テ ィ ブ デザ イ ン を Vivado IDE で開 き ます。 • stop_gui : Vivado IDE を終了 し 、 Vivado Design Suite シ ェ ルに戻 り ます。 注意 : GUI か ら Vivado Design Suite を閉 じ た場合は、 Vivado Design Suite Tcl シ ェ ルが閉 じ 、 メ モ リ にデザ イ ンは保存 さ れません。 ア ク テ ィ ブ デザ イ ン を変更せずに Vivado Design Suite Tcl シ ェ ルに戻る には、 exit コ マ ン ド ではな く 、 stop_gui コ マ ン ド を入力 し て く だ さ い。 デザ イ ン プ ロ セ ス の各段階が終了 し た ら 、 Vivado IDE を開いて メ モ リ にあ る 現在のデザ イ ン を解析お よ び操作で き ます (57 ページの図 4-1)。 Flow Navigator、 プ ロ ジ ェ ク ト サマ リ 、 ソ ースへのア ク セ スお よ び管理、 run な ど の Vivado IDE の機能は非プ ロ ジ ェ ク ト モー ド では使用で き ま せんが、 解析お よ び制約変更の機能の多 く は、 [Tools] メ ニ ュ ー か ら 使用で き ます。 重要 : ただ し 、 メ モ リ 内のア ク テ ィ ブ デザ イ ン に対 し て Vivado IDE で加え た変更は、 自動的にはダ ウ ン ス ト リ ーム ツールに適用 さ れません。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 56 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 X-Ref Target - Figure 4-1 図 4‐1 : ア ク テ ィ ブ デザイ ン で Vivado IDE を開 く ア ク テ ィ ブ デザイ ンへの変更の保存 メ モ リ 内でデザ イ ン を変更す る ので、 加え た変更は Vivado IDE Tcl セ ッ シ ョ ンの残 り の フ ロ ーで使用 さ れ る ダ ウ ン ス ト リ ーム ツールに自動的に渡 さ れます。 こ れに よ り 、 現在の run に影響を与えた り 、 今後の実行用に変更を保存 し た り で き ます。 今後の実行用に制約を保存する には、 [File] → [Export] → [Export Constraints] を ク リ ッ ク し ます。 新 し い 制約フ ァ イ ルを作成す る か、 元の フ ァ イ ルに上書 き で き ます。 注記 : 制約を エ ク ス ポー ト す る 場合は、 Tcl コ マ ン ド の write_xdc を実行 し ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] を参照 し て く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 57 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 Vivado IDE でデザイ ン チ ェ ッ ク ポ イ ン ト を開 く Vivado IDE を使用す る と 、 デザ イ ン チ ェ ッ ク ポ イ ン ト と し て保存 さ れたデザ イ ン を解析で き ます (図 4-2)。 Tcl コ マ ン ド (synth_design、opt_design、power_opt_design、place_design、phys_opt_design、route_design) を使用 し て非プ ロ ジ ェ ク ト モー ド でデザ イ ン を実行 し 、任意の段階でデザ イ ン を保存 し て、後の Vivado IDE セ ッ シ ョ ンで読み込む こ と がで き ます。 配線済みデザ イ ンか ら 開始 し 、 タ イ ミ ン グ を解析 し 、 タ イ ミ ン グ問題を回避で き る よ う に配置を調整 し 、 デザ イ ン が完全に配線 さ れていない状態で あ っ て も 、 後で使用で き る よ う に保存Vivado IDE の ビ ュ ー バナーに、 開いてい る デザ イ ン チ ェ ッ ク ポ イ ン ト の名前が表示 さ れます。 X-Ref Target - Figure 4-2 図 4‐2 : Vivado IDE でデザイ ン チ ェ ッ ク ポ イ ン ト を開 く デザイ ン チ ェ ッ ク ポ イ ン ト へのデザイ ンの変更点の保存 デザ イ ン チ ェ ッ ク ポ イ ン ト は開 き 、 解析 し 、 保存で き ます。 新 し いデザ イ ン チ ェ ッ ク ポ イ ン ト に変更を保存す る こ と も で き ます。 • [File] → [Save Checkpoint] を ク リ ッ ク し 、 現在のデザ イ ン チ ェ ッ ク ポ イ ン ト に加えた変更を保存 し ます。 • [File] → [Write Checkpoint] を ク リ ッ ク し 、デザ イ ン チ ェ ッ ク ポ イ ン ト の現在の状態を新 し いデザ イ ン チ ェ ッ ク ポ イ ン ト と し て保存 し ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 58 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 表 4-1 は、 基本的な非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド を示 し てい ま す。 非プ ロ ジ ェ ク ト モー ド を使用す る 場 合、 デザ イ ンは read_verilog、 read_vhdl、 read_edif、 read_ip、 read_bd お よ び read_xdc コ マ ン ド を使 用 し て コ ンパ イ ル さ れます。 ソ ースは コ ンパ イ ル用に順序付け ら れ、 合成に渡 さ れます。 Vivado Design Suite Tcl シ ェ ルま たは Tcl バ ッ チ ス ク リ プ ト の使用に関する 詳細は、 第 2 章の 「Tcl の使用」 を参照 し て く だ さ い。 注記 : こ の文書には、 使用可能な Tcl コ マ ン ド すべての説明が含まれ る わけではあ り ません。 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 19] お よ び 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能 の使用』 (UG894) [参照 18] も 参照 し て く だ さ い。 表 4‐1 : 非プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド コマン ド 説明 read_edif EDIF ま たは NGC ネ ッ ト リ ス ト フ ァ イ ルを現在のプ ロ ジ ェ ク ト のデザ イ ン ソ ー ス フ ァ イ ル セ ッ ト に イ ン ポー ト し ます。 read_verilog 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に Verilog (.v) お よ び System Verilog (.sv) ソ ース フ ァ イ ルを読み込 みます。 read_vhdl 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に VHDL (.vhd ま たは .vhdl) ソ ース フ ァ イ ルを読み込みます。 read_ip 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に既存の IP (.xci ま たは .xco) プ ロ ジ ェ ク ト フ ァ イ ルを読み込み ます。 Vivado IP (.xci) の場合、 ネ ッ ト リ ス ト が IP デ ィ レ ク ト リ にあれば、 デザ イ ン チ ェ ッ ク ポ イ ン ト (.dcp) の合成済みネ ッ ト リ ス ト が IP の イ ンプ リ メ ン ト に使用 さ れます。ネ ッ ト リ ス ト が IP デ ィ レ ク ト リ にない場合は、 RTL ソ ー ス が最上位デザ イ ン の残 り と 一緒に使用 さ れ ま す。 .xco IP プ ロ ジ ェ ク ト では .ngc ネ ッ ト リ ス ト が使用 さ れます。 注記 : UltraScale では .xco フ ァ イ ルはサポー ト さ れな く な っ てい ます。 read_checkpoint デザ イ ン チ ェ ッ ク ポ イ ン ト を イ ン メ モ リ デザ イ ンに読み込みます。 read_xdc 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に .sdc ま たは .xdc フ ォーマ ッ ト の制約 ソ ース フ ァ イ ルを読み込 みます。 read_bd 非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に既存の IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン (.bd) を読み込 みます。 set_param set_property デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン、 ツール設定の定義な ど、 さ ま ざ ま な目的に使用 し ます。 link_design セ ッ シ ョ ンでネ ッ ト リ ス ト ソ ース を使用 し てい る 場合に、デザ イ ン を合成用に コ ンパ イ ル し ま す。 synth_design デザ イ ンの最上位モジ ュ ール と タ ーゲ ッ ト パーツ を引数 と し て Vivado 合成を実行 し ます。 opt_design 高レベルのデザ イ ン最適化を実行 し ます。 power_opt_design シ ス テ ム全体の消費電力を削減す る ため ク ロ ッ ク ゲーテ ィ ン グ を実行 し ます(オプシ ョ ン)。 place_design デザ イ ン を配置 し ます。 phys_opt_design タ イ ミ ン グ ま たは配線性を向上す る ため物理 ロ ジ ッ ク 最適化を実行 し ます(オプシ ョ ン)。 route_design デザ イ ン を配線 し ます。 report_* デザ イ ン プ ロ セ ス の さ ま ざ ま な段階の レ ポー ト を生成 し ます。 write_bitstream ビ ッ ト ス ト リ ーム フ ァ イ ルを生成 し て DRC を実行 し ます。 write_checkpoint フ ロ ーの任意の段階でのデザ イ ン を保存 し ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト には、 ネ ッ ト リ ス ト 、 制約 (フ ロ ーで実行 さ れた最適化を含む)、 イ ンプ リ メ ン テーシ ョ ン結果が含まれます。 start_gui stop_gui メ モ リ 内の現在のデザ イ ンで Vivado IDE を起動 し 、 終了 し ます。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 59 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例 次は、 Vivado Design Suite に含まれ る BFT サンプル デザ イ ンの非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト です。 デザ イ ン チ ェ ッ ク ポ イ ン ト を使用 し て フ ロ ーの さ ま ざ ま な段階でデー タ ベース の状態を保存する 方法 と 、さ ま ざ ま な レ ポー ト を手動で生成す る 方法を示 し てい ます。 run_bft_kintex7_batch.tcl ス ク リ プ ト は、 次の Vivado Design Suite イ ン ス ト ール デ ィ レ ク ト リ に含まれます。 <install_dir>/Vivado/2015.1/examples/Vivado_Tutorial ス ク リ プ ト は、 Vivado Tcl シ ェ ルま たは Vivado IDE の Tcl コ ン ソ ールか ら 呼び出す こ と がで き ます。 # run_bft_kintex7_batch.tcl # bft sample design # A Vivado script that demonstrates a very simple RTL-to-bitstream non-project batch flow # # NOTE:typical usage would be "vivado -mode tcl -source run_bft_kintex7_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_kintex7.xdc # # STEP#2: run synthesis, report utilization and timing estimates, write checkpoint design # synth_design -top bft -part xc7k70tfbg484-2 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 optimzation, report utilization and timing estimates, write checkpoint design # opt_design place_design phys_opt_design write_checkpoint -force $outputDir/post_place 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 $outputDir/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 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 60 第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用 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 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 61 付録 A その他のソ ースおよび法的通知 ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 参考資料 1. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) 2. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) 3. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) 4. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) 5. 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG898) 6. 『Vivado Design Suite チ ュ ー ト リ アル : エンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザ イ ン』 (UG940) 7. 『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデル ベース の DSP デザ イ ン』 (UG897) 8. 『Vivado Design Suite ユーザー ガ イ ド : 高位合成』 (UG902) 9. 『Vivado Design Suite チ ュ ー ト リ アル : 高位合成』 (UG871) 10. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) 11. 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) 12. 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) 13. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) 14. 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) 15. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 16. 『Vivado Design Suite ユーザー ガ イ ド : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG909) 17. 『Vivado Design Suite チ ュ ー ト リ アル : パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン』 (UG947) 18. 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 24 日 japan.xilinx.com 62 付録 A : その他のソ ースおよび法的通知 19. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) 20. 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888) 21. 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) 22. 『UltraFast™ 設計手法 (Vivado Design Suite 用)』 (UG949) 23. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 24. 『ISE か ら Vivado Design Suite への移行手法ガ イ ド 』 (UG911) 25. 『Vivado Design Suite ユーザー ガ イ ド : カ ス タ ム IP の作成 と パ ッ ケージ』 (UG1118) 26. 『Vivado Design Suite チ ュ ー ト リ アル : カ ス タ ム IP の作成 と パ ッ ケージ』 (UG1118) 27. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado IP イ ン テ グ レー タ ーを使用 し たデザ イ ン 28. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado IP イ ン テ グ レー タ ーを使用 し た Zynq デバ イ ス の設計 29. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン を実行 30. Vivado Design Suite ビデオ チ ュ ー ト リ アル : Vivado バージ ョ ン管理の概要 31. Vivado Design Suite ビデオ チ ュ ー ト リ アル 32. Vivado Design Suite の資料 ト レーニ ング リ ソ ース ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを 提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。 1. Vivado Design Suite 入門ワ ー ク シ ョ ッ プ ト レーニ ン グ コ ース 2. Vivado デザ イ ン ツール フ ロ ー 3. Vivado での FPGA 設計導入 法的通知 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 Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; 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 such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos. © Copyright 2012– 2015 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. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 デザイ ン フ ローの概要 UG892 (v2015.1) 2015 年 4 月 1 日 UG892 (v2015.2) 2015 年 6 月 japan.xilinx.com 24 日 63
© Copyright 2025 ExpyDoc