Xilinx Vivado Design Suite ユーザー ガイド : デザイン フローの概要

Vivado Design Suite
ユーザー ガ イ ド
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
Notice of Disclaimer
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum
extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES
AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including
negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with,
the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage
(including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such
damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct
any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify,
distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the
Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms
contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application
requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical
Applications:http://www.xilinx.com/warranty.htm#critapps.
© Copyright 2012-2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands
included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective
owners.
本資料は英語版 (v2013.4) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。
資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。
日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] ま でお知 ら せ く だ さ
い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け
てお り ません。 あ ら か じ めご了承 く だ さ い。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2013/03/20
2013.1
第 1 章 「概要」 に 「Vivado Design Suite の主な機能」 を追加
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド に関す る 情報を第 2 章 「使用モデル」 に追加
「Tcl の使用」 、 「Vivado IDE の使用」 、 「シ ス テ ム レベルのデザ イ ン フ ロ ー オプシ ョ ン」 を
第 2 章 「使用モデル」 に追加
プ ロ ジ ェ ク ト モー ド に関す る 情報を第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」 に移動 し 、 新 し
いセ ク シ ョ ン を追加
非プ ロ ジ ェ ク ト モー ド に関す る 情報を第 4 章 「非プ ロ ジ ェ ク ト モー ド の使用」 に移動 し 、
新 し いセ ク シ ョ ン を追加
「表 3-2 : プ ロ ジ ェ ク ト モー ド 専用の Tcl コ マ ン ド 」 を削除
「図 4-2 : 非プ ロ ジ ェ ク ト モー ド 専用の Tcl コ マ ン ド 」 を削除
2013/06/19
2013.2
Vivado IP イ ン テ グ レー タ ーが早期ア ク セ ス用であ る こ と を記述 し た文を削除
Tcl コ マ ン ド の write_edif、 write_verilog、 お よ び write_vhdl に 関す る 情報 を
第 2 章 「使用モデル」 の 「Vivado IP カ タ ロ グ を使用 し た IP の作成」 に追加
図 3-1、「」、図 3-4、図 3-5、図 3-7、図 3-8、図 3-9、図 3-10、図 3-11、図 3-13、図 3-14、図 3-15、
お よ び 図 4-2 を ア ッ プデー ト
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
2
日付
バージ ョ ン
改訂内容
2013/10/02
2013.3
第 1 章 「概要」 の 「RTL ま たはネ ッ ト リ ス ト か ら デバ イ ス プ ロ グ ラ ム ま でのデザ イ ン フ
ロ ー」 を ア ッ プデー ト
第 2 章 「使用モデル」 に 「プ ロ ジ ェ ク ト を再作成す る Tcl ス ク リ プ ト の作成」 を追加
ネ ッ ト リ ス ト ベース のプ ロ ジ ェ ク ト を 「概要」 に追加、 「プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ
プ ト の例」 お よ び第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」 の 「IP の操作」 を ア ッ プデー ト
第 4 章 「非プ ロ ジ ェ ク ト モー ド の使用」 の 「IP の操作」 を ア ッ プデー ト
2013/12/18
2013.4
技術的情報のア ッ プデー ト な し 、 再 リ リ ース し たのみ
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
3
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : 概要
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
シ ス テ ム レベルのデザ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Vivado Design Suite の主な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
第 2 章 : 使用モデル
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tcl の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado IDE の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ス テ ム レベルのデザ イ ン フ ロ ー オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
15
16
17
第 3 章 : プ ロ ジ ェ ク ト モー ド の使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プ ロ ジ ェ ク ト モー ド の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
プ ロ ジ ェ ク ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flow Navigator の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ス テ ム レベルのデザ イ ン入力の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O ピ ン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ロ ジ ッ ク 合成お よ び イ ンプ リ メ ン テーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン解析お よ び制約の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デバ イ ス のプ ロ グ ラ ム、 ハー ド ウ ェ ア検証、 お よ びデバ ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
23
24
25
26
28
31
31
32
34
42
第 4 章 : 非プ ロ ジ ェ ク ト モー ド の使用
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
非プ ロ ジ ェ ク ト モー ド の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン ソ ース の読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP の操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ロ ジ ッ ク 合成お よ び イ ンプ リ メ ン テーシ ョ ンの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
レ ポー ト の生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン チ ェ ッ ク ポ イ ン ト の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado IDE を使用 し たデザ イ ン解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
43
44
46
46
46
47
47
47
48
付録 A : その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
4
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
リ フ ァ レ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
5
第 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 ス ク リ プ ト を使用 し て、 デザ イ ン解析を含む
デザ イ ン フ ロ ー全体を実行 し た り 、 フ ロ ーの一部のみを実行で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
6
シ ス テム レ ベルのデザイ ン フ ロー
シ ス テム レ ベルのデザイ ン フ ロー
図 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 のデザイ ン フ ロー
Vivado Design Suite の主な機能
業界標準に基づいたデザイ ン
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 (電子シ ス テ ム設計自動化) エ コ シ ス
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
7
Vivado Design Suite の主な機能
テ ムで Vivado Design Suite が さ ら にサポー ト 可能に も な り ます。 ま た、Vivado Design Suite には多 く のサー ド パーテ ィ
ツールが統合 さ れてい ます。
IP デザイ ン と シ ス テム レ ベル デザイ ンの統合
Vivado Design Suite は、 IP を ス タ ン ド ア ロ ン のモジ ュ ール と し て、 ま たはシ ス テ ム レベル デザ イ ン の一部 と し て設
定、 イ ン プ リ メ ン ト 、 検証お よ び統合す る ための環境を提供す る ツールです。 IP には、 エ ンベデ ッ ド プ ロ セ ッ サ、
DSP デジ タ ル信号処理モジ ュ ール、 C ベース のアルゴ リ ズ ム デザ イ ン な ど も 含まれます。 カ ス タ ム IP は IP-XACT プ
ロ ト コ ルに し たがっ てパ ッ ケージ さ れ、 Vivado IP カ タ ロ グか ら 使用で き ます。 IP カ タ ロ グか ら は、 IP に素早 く ア ク
セ ス で き 、 コ ン フ ィ ギ ュ レーシ ョ ン、 イ ン ス タ ン シエーシ ョ ン、 検証で き ます。 ザ イ リ ン ク ス IP では AXI4 イ ン タ ー
コ ネ ク ト 標準が使用 さ れ、 よ り 高速なシ ス テ ム レベルの統合がで き る よ う にな っ てい ます。 既存の IP は、 RTL ま た
はネ ッ ト リ ス ト の ど ち ら かの形式のデザ イ ンで使用で き ます。
Vivado IP イ ン テ グ レー タ ー環境では、 AMBA AXI4 イ ン タ ーコ ネ ク ト プ ロ ト コ ルを使用 し て さ ま ざ ま な IP を統合で
き ます。 ブ ロ ッ ク デザ イ ン形式の イ ン タ ーフ ェ イ ス を使用 し て イ ン タ ラ ク テ ィ ブに IP を コ ン フ ィ ギ ュ レーシ ョ ン し
た り 、 接続 し た り 、 回路図の よ う な DRC を元に修正 さ れた接続を描画 し て、 イ ン タ ーフ ェ イ ス全体を簡単に接続で
き ま す。 こ れ ら の IP ブ ロ ッ ク デザ イ ンは、 こ の後パ ッ ケージに さ れて、 1 つのデザ イ ン ソ ー ス と し て扱われ ま す。
ブ ロ ッ ク デザ イ ンは、 デザ イ ン プ ロ ジ ェ ク ト で使用で き た り 、 ほかのプ ロ ジ ェ ク ト と 共有で き ます。
エ ンベデ ッ ド プ ロ セ ッ サ ハー ド ウ ェ ア デザイ ン
Vivado IP イ ン テ グ レ ー タ ー環境は、 Zynq® デバ イ ス ま たは MicroBlaze™ プ ロ セ ッ サ を使用 し た エ ンベデ ッ ド プ ロ
セ ッ サ デザ イ ン を作成す る 際の メ イ ン イ ン タ ーフ ェ イ ス です。 Vivado Design Suite は Xilinx Platform Studio (XPS) と
も 統合 さ れてお り 、 MicroBlaze マ イ ク ロ プ ロ セ ッ サ コ ア を作成、 コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理で き ます。 コ ア
はは、 Vivado IDE に統合 さ れ、 管理 さ れ ます。 編集す る XPS ソ ース を選択す る と 、 XPS ツールが自動的に起動 し ま
す。 XPS を ス タ ン ド ア ロ ン ツール と し て実行 し 、 その結果の出力フ ァ イ ルを Vivado IDE の ソ ース フ ァ イ ル と し て使
用す る こ と も で き ます。 XPS は、 Vivado IDE の Zynq デバ イ ス デザ イ ンには使用で き ません。 Vivado IDE の Zynq デ
バ イ ス デザ イ ンには、 新 し い Vivado IP イ ン テ グ レー タ ー環境を ご使用 く だ さ い。
重要 : Vivado IP イ ン テ グ レー タ ー は、 Zynq デバ イ スお よ び MicroBlaze プ ロ セ ッ サを タ ーゲ ッ ト にす る デザ イ ン を含
めたエンベデ ッ ド プ ロ セ ッ サ デザ イ ン用の Xilinx Platform Studio (XPS) に代わ る も のです。 Vivado Design Suite では、
XPS で MicroBlaze プ ロ セ ッ サ を タ ーゲ ッ ト にす る デザ イ ンのみがサポー ト さ れ ます。 ISE Design Suite と EDK では、
XPS で Zynq デバ イ スお よ び MicroBlaze プ ロ セ ッ サ を タ ーゲ ッ ト にす る デザ イ ンがサポー ト さ れます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド ハー ド ウ ェ ア デザ イ ン』 (UG898) [参照 1] を参照 し て く
だ さ い。 エンベデ ッ ド ハー ド ウ ェ ア デザ イ ンに関す る IP イ ン テ グ レー タ ーの詳細は、 『Vivado Design Suite ユーザー
ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参照 2] を参照 し て く だ さ い。
モデル ベースおよび高位合成ベースの 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) [参照 3] を
参照 し て く だ さ い。
高位合成を使用 し た DSP デザイ ン
Vivado Design Suite は、 Vivado HLS と 統合 さ れてお り 、 C ベース の DSP フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る ための
ソ リ ュ ーシ ョ ン を提供 し てい ます。 Vivado HLS か ら の RTL 出力は Vivado IDE で RTL ソ ース フ ァ イ ル と し て使用で
き ます。 RTL 出力は、 Vivado IP パ ッ ケージ ャ ーで IP-XACT 準拠の IP にパ ッ ケージ さ れてか ら 、 IP カ タ ロ グで使用
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
8
Vivado Design Suite の主な機能
で き る よ う にな り ます。 ま た、 System Generator ロ ジ ッ ク で Vivado HLS ロ ジ ッ ク モジ ュ ールを使用す る と 、 DSP モ
ジ ュ ールの準備がで き ます。IP パ ッ ケージ ャ ーは、 カ ス タ ムのザ イ リ ン ク ス IP コ ン フ ィ ギ ュ レーシ ョ ン、 サー ド パー
テ ィ 、 ま たはユーザー I P をパ ッ ケージする ために使用で き ます。 こ の後、 パ ッ ケージ さ れた IP を IP カ タ ロ グに表
示で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』
(UG994) [参照 2] お よ び 『Vivado Design Suite ユーザー ガ イ ド : 高位合成』 (UG902) [参照 4] を参照 し て く だ さ い。
RTL またはネ ッ ト リ ス ト か ら デバイ ス プ ログ ラ ムま でのデザイ ン フ ロー
Vivado Design Suite では、 さ ま ざ ま なデザ イ ン フ ロ ーをサポー ト す る ために さ ま ざ ま なデザ イ ン入力方法が使用で き
ます。
•
RTL フ ロ ー
Vivado 合成お よ び イ ンプ リ メ ン テーシ ョ ンでは、 Verilog、 VHDL、 SystemVerilog、 お よ びザ イ リ ン ク ス デザ イ ン
制約 (XDC) な ど の複数の ソ ース フ ァ イ ルの種類がサポー ト さ れます。 ま た、 Vivado HLS を使用 し て、 C ベーエ
ス の ソ ース を使用 し てデザ イ ン部分を コ ンパ イ ルす る こ と も で き ます。
•
サー ド パーテ ィ 合成フ ロ ー
Vivado 合成で EDIF ま たは構造型 Verilog な ど のサー ド パーテ ィ 合成 ソ ース がサポー ト さ れ ます。 Synopsys デザ
イ ン制約 (SDC) も サポー ト さ れますが、XDC コ ン ス ト ラ ク ト を使用する こ と をお勧め し ます。Vivado IP は Vivado
合成を使用 し て合成 さ れます。 Vivado Design Suite IP ソ ース は、 通常サー ド パーテ ィ 合成ツールでは合成で き ま
せんが、 メ モ リ イ ン タ ーフ ェ イ ス ジ ェ ネ レー タ ー (MIG) コ ア な ど の例外 も あ り ます。
主な フ ローの機能
Vivado Design Suite には、 次の機能が含まれます。
•
Vivado 合成
•
Vivado イ ンプ リ メ ン テーシ ョ ン
•
Vivado タ イ ミ ン グ解析
•
Vivado 消費電力解析
•
ビ ッ ト ス ト リ ーム生成
こ れ ら の機能は、 集積度が高いデザ イ ン のパ フ ォ ーマ ン ス の増加、 ラ ン タ イ ム の削減の ために設計 さ れてい ま す。
Vivado 合成お よ び イ ンプ リ メ ン テーシ ョ ン機能は、 タ イ ミ ン グ ド リ ブ ン で SDC ま たは XDC 形式の制約を使用 し ま
す。 デザ イ ン プ ロ セ ス の各段階で、 さ ま ざ ま な レ ポー ト お よ び解析機能が使用で き ます。 Vivado Design Suite Tcl シ ェ
ルま たは Vivado IDE の Tcl コ ン ソ ールに Tcl コ マ ン ド を入力 し て Tcl バ ッ チ ス ク リ プ ト を使用す る か、 Vivado IDE を
使用す る と 、 フ ロ ー全体を実行で き ます。 デザ イ ン結果を改善す る には、 複数の run を作成 し て さ ま ざ ま な合成ま た
は イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン、 タ イ ミ ン グお よ び物理制約、 ま たはデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を試
し てみます。
Vivado IDE は、 デザ イ ン プ ロ ジ ェ ク ト を使用 し て、 デザ イ ン プ ロ セ ス全体を コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理 し
ます。 ソ ース、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンお よ び run の結果は、 Vivado Design Suite プ ロ ジ ェ ク ト 内に保存 さ
れ、 管理 さ れ ま す。 デザ イ ン ス テー タ ス に よ り 、 ソ ース フ ァ イ ルがア ッ プデー ト さ れた場合や run 結果が古い場合
な ど、 ス テー タ ス の変更がわか り ます。 Vivado IDE では、 標準的な レ ポー ト のセ ッ ト 、 ツールの メ ッ セージ、 ロ グ を
生成 し て表示で き ます。 イ ンプ リ メ ン テーシ ョ ンでは、 Vivado 消費電力最適化、 Vivado 物理最適化、 お よ び run ス ト
ラ テジな ど、デザ イ ン ク ロ ージ ャ ーを達成する ためのア ド バン ス オプシ ョ ンが使用で き ます。詳細は、『Vivado Design
Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 5] お よ び 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ
ン』 (UG904) [参照 6] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
9
Vivado Design Suite の主な機能
I/O ピ ン配置および フ ロ ア プ ラ ン Vivado IDE には I/O ピ ン配置環境が含まれてお り 、 デバ イ ス パ ッ ケージ ピ ン ま たは内部ダ イ パ ッ ド に I/O ポー ト を
正 し く 割 り 当て る こ と がで き ます。 Vivado ピ ン配置ツールに表示 さ れ る ビ ュ ーお よ び表を使用する と 、 デバ イ スお よ
びデザ イ ンに関す る I/O デー タ を解析で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク
の配置』 (UG899) [参照 7] を参照 し て く だ さ い。
Vivado IDE には、 イ ンプ リ メ ン テーシ ョ ン結果の改善に役立つア ド バン ス フ ロ アプ ラ ン機能が提供 さ れてい ます。 こ
れには、 特定エ リ ア内に指定 し た ロ ジ ッ ク を強制的に使用 し た り 、 特定の配置ま たは配線を次の run のために イ ン タ
ラ ク テ ィ ブに ロ ッ ク し た り す る 機能が含まれます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ
び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
デザイ ン解析および検証
Vivado IDE では、 デザ イ ン プ ロ セ ス の各段階でデザ イ ン を解析、 検証、 変更で き ます。 回路のパフ ォーマ ン ス は、 デ
ザ イ ン プ ロ セ ス で中間結果を解析す る と 改善で き ます。 こ の解析は、 RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ン プ
リ メ ン テーシ ョ ンの後に実行で き ます。
Vivado シ ミ ュ レー タ を使用す る と 、 デザ イ ン の各段階で ビヘ イ ビ アお よ び構造 ロ ジ ッ ク シ ミ ュ レーシ ョ ン を実行で
き ます。 こ のシ ミ ュ レー タ では、Verilog お よ び VHDL 混合モー ド のシ ミ ュ レーシ ョ ンがサポー ト さ れ、結果が Vivado
IDE の波形ビ ュ ーアーに表示 さ れ ます。 サー ド パーテ ィ シ ミ ュ レー タ を使用す る こ と も で き ます。 詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 9] を参照 し て く だ さ い。
結果は、 Vivado IDE のデザ イ ン プ ロ セ ス の各段階で イ ン タ ラ ク テ ィ ブに解析で き ます。 デザ イ ンお よ び解析機能に
は、 タ イ ミ ン グ解析、 消費電力概算お よ び解析、 デバ イ ス使用量統計、 デザ イ ン ルール チ ェ ッ ク (DRC)、 I/O ピ ン配
置、 フ ロ アプ ラ ン、 イ ン タ ラ ク テ ィ ブな配置配線解析を含む も の も あ り ます。 詳細は、 『Vivado Design Suite ユーザー
ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
デバイ ス プ ログ ラ ムおよびハー ド ウ ェ ア検証
イ ン プ リ メ ン ト をす る と 、 Vivado ラ ボ ツール環境内でデバ イ ス を プ ロ グ ラ ムお よ び解析で き ます。 デバ ッ グ信号は
合成後には RTL で簡単に識別で き 、 フ ロ ー全体でプ ロ セ ス さ れます。 デバ ッ グ コ アは コ ン フ ィ ギ ュ レーシ ョ ン し て
RTL ま たは合成済みネ ッ ト リ ス ト のいずれかに挿入で き ます。 Vivado ロ ジ ッ ク アナ ラ イ ザーを使用す る と 、 ハー ド
ウ ェ ア検証 も で き ます。 こ の イ ン タ ーフ ェ イ ス には、 Vivado シ ミ ュ レー タ と 同 じ 共通の波形ビ ュ ーアーが使用 さ れま
す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 10] を参照 し て く だ さ
い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
10
第 2章
使用モデル
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド
Vivado® Design Suite では、 プ リ フ ァ レ ン ス に よ っ て、 さ ま ざ ま な方法で ツールを実行で き ます。 プ ロ ジ ェ ク ト ベー
ス の方法を使用 し て、 デザ イ ン プ ロ セ スお よ びデザ イ ン デー タ を自動的に管理 さ せ る こ と も で き ます。 こ の方法は、
「プ ロ ジ ェ ク ト モー ド 」 と 呼ばれます。 プ ロ ジ ェ ク ト を使用する と 、 デ ィ ス ク 上にデ ィ レ ク ト リ 構造が作成 さ れ、 そ
れを利用 し てデザ イ ン ソ ース フ ァ イ ル、 run の結果、 お よ びプ ロ ジ ェ ク ト ス テー タ ス が管理 さ れます。 run 構造を使
用 し て、合成お よ び イ ンプ リ メ ン テーシ ョ ン プ ロ セ スお よ び run ス テー タ ス を自動的に管理 し ます。デザ イ ン フ ロ ー
全体を Vivado IDE で 1 回 ク リ ッ ク す る だけで実行で き ます。 フ ロ ー全体は、 Tcl コ マ ン ド を使用 し て ス ク リ プ ト 記述
す る こ と も で き ます。プ ロ ジ ェ ク ト の使用方法については、第 3 章「プ ロ ジ ェ ク ト モー ド の使用」を参照 し て く だ さ い。
ま た、Tcl ス ク リ プ ト ベース の コ ンパ イ ル方法を使用する と 、ソ ースやデザ イ ン プ ロ セ ス を ユーザーが管理で き ます。
こ の方法は、 「非プ ロ ジ ェ ク ト モー ド 」 と 呼ばれます。 こ のモー ド では、 ソ ース が現在の場所か ら 読み込まれ、 デザ
イ ンが メ モ リ 内で コ ンパ イ ル さ れます。 Tcl コ マ ン ド を使用 し 、 デザ イ ン パ ラ メ ー タ ーお よ び イ ンプ リ メ ン テーシ ョ
ン オプシ ョ ン を設定 し て、 各手順を個別に実行す る 必要があ り ます。 デザ イ ン プ ロ セ ス の ど の段階で も 、 Tcl を使用
し てデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し 、 レ ポー ト を生成で き ます。 ま た、 各デザ イ ン段階で、 デザ イ ンの解析お よ
び制約の設定を実行す る ために Vivado IDE を開 く こ と がで き ます。 ア ク テ ィ ブ デザ イ ンは メ モ リ で確認で き る ので、
変更をす る と 自動的にその後の フ ロ ーにその内容が渡 さ れます。 た と えば、 ア ッ プデー ト し た内容は、 新規制約フ ァ
イ ル ま たはデザ イ ン チ ェ ッ ク ポ イ ン ト に保存で き ます。 非プ ロ ジ ェ ク ト モー ド の詳細については、 第 4 章 「非プ ロ
ジ ェ ク ト モー ド の使用」 を参照 し て く だ さ い。
注記 : ソ ース フ ァ イ ル と run 結果の管理、 デザ イ ンお よ びツール コ ン フ ィ ギ ュ レーシ ョ ン の保存、 デザ イ ン ス テー
タ ス、 IP 統合な ど のプ ロ ジ ェ ク ト モー ド の機能の一部は、 非プ ロ ジ ェ ク ト モー ド では使用で き ません。
ヒ ン ト : ど ち ら のモー ド で も Tcl ス ク リ プ ト のバ ッ チ モー ド で実行で き る ほか、 Vivado IDE で イ ン タ ラ ク テ ィ ブに実
行で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
11
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド
機能の違い
プ ロ ジ ェ ク ト 構造に よ り 、 Vivado IDE ではデザ イ ンの履歴が管理 さ れ、 デザ イ ンに関す る 有益な情報が保存 さ れます
が、 機能の多 く は自動化 さ れてい る ので、 こ のモー ド の場合はユーザーの制御で き る こ と は少な く な り ます。 た と え
ば、 各 run ご と に レ ポー ト フ ァ イ ルの標準セ ッ ト のみが生成 さ れ ます。 次の自動化機能は、 プ ロ ジ ェ ク ト モー ド を
使用 し た場合にのみ使用で き ます。
•
ソ ース フ ァ イ ルの管理お よ びス テー タ ス
•
Vivado IP カ タ ロ グお よ び Vivado IP イ ン テ グ レー タ ーを使用 し た IP コ ン フ ィ ギ ュ レーシ ョ ンお よ び統合
•
統合 メ ッ セージお よ び自動生成の標準レ ポー ト
•
ツール設定お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ンの保存お よ び再利用
•
複数の合成お よ び イ ンプ リ メ ン テーシ ョ ン run の試行
•
制約セ ッ ト の使用お よ び管理
•
run 結果の管理お よ びス テー タ ス
•
Flow Navigator
•
[Project Summary] ビ ュ ー
非プ ロ ジ ェ ク ト モー ド の場合、 各ア ク シ ョ ンは Tcl コ マ ン ド で実行で き ます。 すべての処理は メ モ リ 内で実行 さ れ る
ので、 フ ァ イ ルやレ ポー ト は自動的には生成 さ れません。 デザ イ ン を コ ンパ イ ルする たびに、 ソ ース の定義、 ツール
お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン パ ラ メ ー タ ーの設定、 すべての Tcl コ マ ン ド の実行、 必要な レ ポー ト フ ァ
イ ルの生成を実行す る 必要があ り ます。 デ ィ ス ク 上にプ ロ ジ ェ ク ト は作成 さ れないので、 ソ ース フ ァ イ ルは元の場所
に配置 さ れた ま ま にな り 、 デザ イ ン出力は指定 し た と き にのみ、 指定 し た箇所に作成 さ れ ま す。 こ の方法では、 Tcl
コ マ ン ド の優れた機能をすべて活用で き 、 デザ イ ン プ ロ セ ス全体を完全に制御で き ます。
表 2-1 は、 プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の機能の違いを示 し てい ます。
表 2‐1 : プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド の機能の違い
フ ローの要素
プ ロ ジ ェ ク ト モー ド
非プ ロ ジ ェ ク ト モー ド
デザ イ ン ソ ース フ ァ イ ルの管理
自動
手動
フ ロ ー ナビ ゲーシ ョ ン
ガイ ド
手動
フ ロ ーのカ ス タ マ イ ズ
制限あ り
制限な し
レ ポー ト
自動
手動
解析段階
デザ イ ンのみ
デザ イ ン お よ びデザ イ ン チ ェ ッ
クポイン ト
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
12
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド
コ マ ン ド の違い
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 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
13
プ ロ ジ ェ ク ト モー ド と 非プ ロ ジ ェ ク ト モー ド
図 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 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
14
Tcl の使用
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)
[参照 11] お よ び 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] を 参照 し て く だ さ い。
Vivado ツールでの Tcl の使用方法の詳細については、 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』
(UG888) [参照 13] を参照 し て く だ さ い。プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかを使用 し た Tcl
ベース のアプ ロ ーチに関す る 詳細は、 第 3 章 「プ ロ ジ ェ ク ト モー ド の使用」 ま たは 第 4 章 「非プ ロ ジ ェ ク ト モー ド
の使用」 を参照 し て く だ さ い。
Vivado Design Suite Tcl シ ェ ルの起動
Linux コ マ ン ド プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し て、Vivado Design Suite Tcl
シ ェ ルを起動 し ます。
vivado -mode tcl
注記 : Windows の場合、[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2013.x] → [Vivado 2013.x
Tcl Shell] を ク リ ッ ク し て も 起動で き ます。
バ ッ チ Tcl ス ク リ プ ト を使用 し た Vivado ツールの起動
Vivado ツールはを起動 し た と き に Tcl ス ク リ プ ト を提供 し てお く と 、 バ ッ チ モー ド で使用で き ます。 Linux コ マ ン ド
プ ロ ンプ ト ま たは Windows の コ マ ン ド プ ロ ンプ ト で次の コ マ ン ド を使用 し ます。
vivado -mode batch -source <your_Tcl_script>
注記 : バ ッ チ モー ド の場合、 指定 し た ス ク リ プ ト が実行 さ れてか ら Vivado ツールが閉 じ ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
15
Vivado IDE の使用
Tcl フ ローでの Vivado IDE の使用
T c l を使用す る 場合で も 、 Vivado IDE での イ ン タ ラ ク テ ィ ブな GUI ベース の解析お よ び制約定義機能を利用で き
ます。 第 4 章の 「Vivado IDE を使用 し たデザ イ ン解析」 に示す よ う に、 デザ イ ン サ イ ク ルのど の段階で も Vivado IDE
でデザ イ ン を開 く こ と がで き ます。 ま た、 第 4 章の 「デザ イ ン チ ェ ッ ク ポ イ ン ト の使用」 に示す よ う に、 デザ イ ン
チ ェ ッ ク ポ イ ン ト も ど の段階でで も 保存 し て、 Vivado IDE で後で開 く こ と がで き ます。
Vivado IDE の使用
Vivado IDE では、 デザ イ ンお よ び IP を作成、 イ ンプ リ メ ン ト 、 お よ び検証す る イ ン タ ーフ ェ イ ス が提供 さ れてい ま
す。 プ ロ ジ ェ ク ト モー ド の場合、 Vivado IDE ではすべてのデザ イ ン ソ ース、 コ ン フ ィ ギ ュ レーシ ョ ン、 結果を管理
す る プ ッ シ ュ ボ タ ンのデザ イ ン フ ロ ーがサポー ト さ れてい ます。 Vivado IDE では、 メ モ リ でデザ イ ン を開 く と い う
コ ン セプ ト を使用す る こ と で、 デザ イ ン フ ロ ー中で も 制約の割 り 当てお よ び解析を有効にで き ます。 デザ イ ン を開 く
と 、 デザ イ ン ネ ッ ト リ ス ト がデザ イ ン フ ロ ーの特定段階で読み込ま れ、 制約がデザ イ ンに割 り 当て ら れ、 デザ イ ン
が タ ーゲ ッ ト デバ イ ス に適用 さ れます。 こ れに よ り 、 各段階でデザ イ ン を視覚化 し て処理で き ます。 デザ イ ンは RTL
エ ラ ボ レーシ ョ ン、 合成 ま たは イ ン プ リ メ ン テーシ ョ ン後に開 く こ と がで き 、 制約、 ロ ジ ッ ク ま たはデバ イ ス コ ン
フ ィ ギ ュ レーシ ョ ン、 お よ び イ ンプ リ メ ン テーシ ョ ン結果に変更を加え る こ と がで き ます。 ま た、 デザ イ ン チ ェ ッ ク
ポ イ ン ト を使用 し て、 デザ イ ンの現在の状態を保存で き ます。 Vivado IDE の詳細は、 『Vivado Design Suite ユーザー ガ
イ ド : Vivado IDE の使用』 (UG893) [参照 14] を参照 し て く だ さ い。
推奨 : Vivado IDE はプ ロ ジ ェ ク ト 作業デ ィ レ ク ト リ か ら 起動 し て く だ さ い。 こ れに よ り 、 起動デ ィ レ ク ト リ に書 き 込
まれ る プ ロ ジ ェ ク ト フ ァ イ ル、 ロ グ フ ァ イ ル、 ジ ャ ーナル フ ァ イ ルが見つけやす く な り ます。
Windows での Vivado IDE の起動
[ス タ ー ト ] → [すべてのプ ロ グ ラ ム] → [Xilinx Design Tools] → [Vivado 2013.x] を ク リ ッ ク し ます。
注記 : ま たは、 デス ク ト ッ プの Vivado IDE のシ ョ ー ト カ ッ ト を ダブル ク リ ッ ク し ます。
X-Ref Target - Figure 2-2
図 2‐2 : Vivado IDE デス ク ト ッ プ ア イ コ ン
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
16
シ ス テム レ ベルのデザイ ン フ ロー オプ シ ョ ン
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
シ ス テム レ ベルのデザイ ン フ ロー オプ シ ョ ン
Vivado Design Suite には、 デザ イ ン デー タ を収集お よ び管理す る オプシ ョ ンが複数含まれ る ほか、 ツール環境を イ ン
タ ラ ク テ ィ ブに使用す る さ ま ざ ま な方法が含まれます。
デザイ ン ソ ース フ ァ イルの作成 と 管理
Vivado Design Suite には、デザ イ ン ソ ース フ ァ イ ルを作成お よ び管理す る さ ま ざ ま な方法があ り ます。新規 ソ ース は、
Vivado IDE の ウ ィ ザー ド を使用す る か、 Vivado IDE テ キ ス ト エデ ィ タ ーやサー ド パーテ ィ のテ キ ス ト エデ ィ タ ーを
使用 し て作成で き ます。 Vivado IDE か ら は、 標準 RTL お よ び XDC 言語テ ンプ レー ト を使用 し て、 さ ま ざ ま な ロ ジ ッ
ク フ ァ ン ク シ ョ ンお よ びデザ イ ン制約を簡単に作成す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ
イ ド : Vivado IDE の使用』 (UG893) [参照 14] お よ び 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン
入力』 (UG895) [参照 15] を参照 し て く だ さ い。
プ ロ ジ ェ ク ト モー ド での ソ ース フ ァ イルの管理
プ ロ ジ ェ ク ト モー ド の場合、 ソ ース管理はプ ロ ジ ェ ク ト 基盤で実行 さ れます。 Vivado IDE では、 RTL デザ イ ン ソ ー
ス、 シ ミ ュ レーシ ョ ン ソ ー ス、 制約 ソ ース な ど の さ ま ざ ま な種類の ソ ース が個別に管理 さ れ、 複数バージ ョ ン のシ
ミ ュ レーシ ョ ン ま たはデザ イ ン制約セ ッ ト を イ ネーブルにす る ソ ース セ ッ ト の コ ン セプ ト が使用 さ れます。こ れに よ
り 、 1 つのデザ イ ン プ ロ ジ ェ ク ト 内で さ ま ざ ま なデザ イ ン制約セ ッ ト を管理お よ び使用で き ます。 Vivado IDE では、
シ ミ ュ レーシ ョ ンに も 同 じ アプ ロ ーチを使用 し て、 モジ ュ ール レベルのシ ミ ュ レーシ ョ ン セ ッ ト の管理を有効に し 、
さ ま ざ ま なデザ イ ンのパーツ を シ ミ ュ レーシ ョ ン し ます。
ソ ース を追加す る 場合は、 リ モー ト デ ィ レ ク ト リ か ら ソ ース を参照す る か、 ソ ース を ロ ーカルのプ ロ ジ ェ ク ト デ ィ
レ ク ト リ 構造に コ ピー し ます。 ソ ース は、 ネ ッ ト ワー ク 接続 さ れてい る デ ィ レ ク ト リ か ら も 使用で き ます。 ど ち ら の
方法で も 、Vivado IDE ではフ ァ イ ルの タ イ ム ス タ ンプか ら 、 ア ッ プデー ト がないか ど う か確認 さ れます。 ソ ース フ ァ
イ ルを変更す る と 、 Vivado IDE のプ ロ ジ ェ ク ト ス テー タ ス が変更 さ れ、 合成ま たは イ ンプ リ メ ン テーシ ョ ン run が期
限切れであ る か ど う かが示 さ れます。 読み取 り 専用の権限 し かない ソ ース は、 その よ う に処理 さ れます。
Vivado IDE に ソ ース を追加す る 場合、 RTL フ ァ イ ルを オプシ ョ ン で ス キ ャ ン し て、 ソ ース デ ィ レ ク ト リ にあ る 可能
性のあ る ‘include フ ァ イ ルやほかのグ ロ ーバル ソ ース フ ァ イ ルを検索す る よ う にで き ます。 指定 し たデ ィ レ ク ト
リ やデ ィ レ ク ト リ ツ リ ー内のすべての ソ ース フ ァ イ ルの種類は、[Add Sources] コ マ ン ド で追加で き ます。Vivado IDE
では、 デ ィ レ ク ト リ お よ びその下位デ ィ レ ク ト リ を ス キ ャ ン し て、 既知の ソ ース タ イ プのセ ッ ト と 一致す る 拡張子の
フ ァ イ ルを イ ン ポー ト し ます。
ソ ー ス フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れ る と 、 コ ンパ イ ル順が決 ま っ て、 [Sources] ビ ュ ーに表示 さ れ ま す。 こ れ
に よ り 、 不正な形式の RTL やモジ ュ ールの欠損な ど を識別 し やす く な り ます。 [Messages] ビ ュ ーには、 RTL コ ンパ イ
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
17
シ ス テム レ ベルのデザイ ン フ ロー オプ シ ョ ン
ルに関す る メ ッ セージが表示 さ れ、 メ ッ セージ を ク リ ッ ク す る と 、 該当す る RTL ソ ース が表示 さ れ る よ う にな り ま
す。 ま た、 ソ ース フ ァ イ ルを イ ネーブル/デ ィ ス エーブルにに し て、 コ ン フ ィ ギ ュ レーシ ョ ン を制御で き ます。
非プ ロ ジ ェ ク ト モー ド でのソ ース フ ァ イルの管理
非プ ロ ジ ェ ク ト モー ド の場合、 フ ァ イ ルを イ ン メ モ リ デザ イ ンに特定の順序で読み込む こ と で、 ソ ース フ ァ イ ルを
手動で管理で き ます。 フ ァ イ ルの管理方法やフ ァ イ ルのデ ィ レ ク ト リ を ユーザーが完全に制御で き る よ う にな っ てい
ます。 ソ ースは、 ネ ッ ト ワー ク 接続 さ れてい る デ ィ レ ク ト リ か ら も 使用で き ます。 読み取 り 専用の権限 し かない ソ ー
ス は、 その よ う に処理 さ れます。
ソ ースのバージ ョ ン管理シ ス テム
Vivado Design Suite では、 デー タ 管理お よ びス ト レージ シ ス テ ム を複数の方法で制御で き ます。
リ モー ト 、 読み取 り 専用 ソ ースの使用
Vivado Design Suite では、 プ ロ ジ ェ ク ト を作成す る 際ま たは非プ ロ ジ ェ ク ト モー ド で読み込む際に リ モー ト ソ ー ス
フ ァ イ ルを使用で き ます。 ソ ース フ ァ イ ルは読み取 り 専用で、 フ ァ イ ルを メ モ リ で コ ンパ イ ル し ますが、 元の フ ァ イ
ルに変更を保存す る こ と はで き ません。 ソ ース フ ァ イ ル フ ァ イ ルは必要であれば、 別のデ ィ レ ク ト リ に保存 さ れま
す。
プ ロ ジ ェ ク ト のアー カ イ ブ
Vivado IDE では、 [Archive Project] コ マ ン ド で ソ ース フ ァ イ ル、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン、 run 結果デー タ (
オプシ ョ ン) な ど を含むプ ロ ジ ェ ク ト 全体の ZIP フ ァ イ ルが作成 さ れます。 プ ロ ジ ェ ク ト で リ モー ト ソ ース が使用 さ
れ る 場合、 フ ァ イ ルは ロ ーカルのプ ロ ジ ェ ク ト に コ ピー さ れ る ので、 アーカ イ ブ プ ロ ジ ェ ク ト にすべての フ ァ イ ルが
含まれ る よ う にな り ます。
プ ロ ジ ェ ク ト を再作成する Tcl ス ク リ プ ト の作成
Vivado IDE で [Write Project Tcl] コ マ ン ド を実行す る と 、 ソ ース フ ァ イ ル、 IP、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を
含むプ ロ ジ ェ ク ト 全体を実行で き る Tcl ス ク リ プ ト が作成で き ます。 こ の ス ク リ プ ト は、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ
構造の代わ り に ソ ース管理シ ス テ ムにチ ェ ッ ク イ ンで き ます。
IP の コ ン フ ィ ギ ュ レーシ ョ ンおよび統合
Vivado Design Suite には、 IP コ ン フ ィ ギ ュ レーシ ョ ン、 統合、 管理をす る 柔軟なプ ラ グ ア ン ド プ レ イ 環境が提供 さ れ
てい ます。 こ れに よ り 、 IP をデザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト 内、 ま たは ス タ ン ド ア ロ ン で コ ン フ ィ ギ ュ レー
シ ョ ンお よ び検証で き ます。
Vivado IP カ タ ログ を使用 し た IP の作成
Vivado IP カ タ ロ グには、 選択 し た タ ーゲ ッ ト デバ イ ス で使用可能な現在のザ イ リ ン ク ス LogiCORE™ IP すべてが リ
ス ト さ れます。 IP カ タ ロ グには Vivado IP パ ッ ケージ ャ ーを使用 し て カ ス タ ム IP を追加する こ と も で き ます。
IP は ス タ ン ド ア ロ ン モジ ュ ール と し て コ ン フ ィ ギ ュ レーシ ョ ンお よ び検証 し て、 別の互換性のあ る デバ イ ス のデザ
イ ンで使用す る こ と も で き ます。ま た、再利用可能な IP を コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理す る ための IP 管理デ ィ
レ ク ト リ が作成 さ れ ます。 Vivado IP カ タ ロ グは、 IP モジ ュ ールの コ ン フ ィ ギ ュ レーシ ョ ンお よ び生成に使用で き ま
す。 結果は、 Vivado IP コ ア フ ァ イ ル (XCI) お よ びその IP の RTL ソ ース フ ァ イ ルのセ ッ ト にな り ます。 こ れ ら の フ ァ
イ ル を IP リ ポ ジ ト リ に保存す る と 、 プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド で こ れ ら の I P フ ァ イ ル
セ ッ ト を再利用お よ び使用で き ま す。 RTL はデザ イ ン の最上位 ロ ジ ッ ク と 一緒に合成 さ れ ま す。 ま た、 必要で あれ
ば、 ボ ト ム ア ッ プ合成機能を使用 し て、 プ ロ ジ ェ ク ト 内で IP を別々に合成する こ と も で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
18
シ ス テム レ ベルのデザイ ン フ ロー オプ シ ョ ン
IP は、IP がデザ イ ンの最上位であ る プ ロ ジ ェ ク ト を作成する と 、ス タ ン ド ア ロ ンで検証す る こ と も で き ます。モジ ュ ー
ルは、 別々に構造的にシ ミ ュ レーシ ョ ン さ れ、 合成 さ れ、 イ ンプ リ メ ン ト で き ます。 合成済みネ ッ ト リ ス ト デザ イ ン
(DCP) はほかのデザ イ ンで ソ ース と し て使用で き ます。 こ れに よ り 、 制約ネ ッ ト リ ス ト が イ ンプ リ メ ン テーシ ョ ン中
に 使 用 さ れ、 デ ザ イ ン の 合 成 ラ ン タ イ ム を 削 減 で き ま す。 合成 が 終 了 し た ら 、 Tcl コ マ ン ド の write_edif、
write_verilog、 お よ び write_vhdl を使用 し 、 サー ド パーテ ィ 合成お よ びシ ミ ュ レ ーシ ョ ン に必要な出力フ ァ
イ ルを生成で き ます。
IP の コ ン フ ィ ギ ュ レーシ ョ ンお よ び管理詳細については、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』
(UG896) [参照 16] を参照 し て く だ さ い。
Vivado IP イ ン テグ レー タ ーを使用 し た IP ブ ロ ッ ク デザイ ンの作成
Vivado IDE の Vivado IP イ ン テ グ レー タ ーを使用す る と 、 複数の IP を 1 つの IP サブシ ス テ ム に ま と め る こ と がで き
ます。 こ の環境は、 IP シ ス テ ム を コ ン フ ィ ギ ュ レーシ ョ ン、 接続、 パ ッ ケージする イ ン タ ラ ク テ ィ ブなデザ イ ン キ ャ
ンバ ス です。 IP が業界標準の AXI4 イ ン タ ー コ ネ ク ト プ ロ ト コ ルを使用 し て接続 さ れ る と 、 イ ン タ ーフ ェ イ ス全体を
1 本の ワ イ ヤで接続で き ます。IP サブシ ス テ ムが完了 し た ら 、 ス タ ン ド ア ロ ンの IP モジ ュ ールで使用 し たの と 同 じ 方
法でそれを最上位デザ イ ンに イ ン ス タ ン シエー ト で き ます。 こ れ ら の IP ブ ロ ッ ク デザ イ ンは、 IP カ タ ロ グ を使用 し
て も パ ッ ケージお よ び再利用で き ます。
Vivado IP カ タ ログ用のカ ス タ ム IP のパ ッ ケージ
Vivado Design Suite では、Vivado IP カ タ ロ グ ま たは Vivado IP イ ン テ グ レー タ ーで利用で き る よ う にカ ス タ ム IP をパ ッ
ケージで き ます。 Vivado IDE で [Package IP ] コ マ ン ド を使用する と 、 IP の情報を入力 し てデー タ を収集す る 方法が手
順を追っ て実行で き る よ う にな っ てい ます。 デー タ 形式お よ び コ ン テ ン ツ規格は、 設定 さ れます。 IP がパ ッ ケージ さ
れた ら 、 その IP が IP カ タ ロ グに表示 さ れます。
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) [参照 7] を参照 し て く だ さ い。
サー ド パーテ ィ デザイ ン ソ フ ト ウ ェ ア ツールの使用
ザ イ リ ン ク ス では、 複数のサー ド パーテ ィ デザ イ ン ツーのサプ ラ イ ヤー と 提携 し てい ま す。 次の ソ フ ト ウ ェ ア ソ
リ ュ ーシ ョ ンには、 合成お よ びシ ミ ュ レーシ ョ ン ツールのみが含まれます。
ロ ジ ッ ク 合成の実行
Vivado Design Suite では、 Synopsys 社お よ び Mentor Graphics 社か ら 提供 さ れ る ザ イ リ ン ク ス FPGA ロ ジ ッ ク 合成ツー
ルの使用がサポー ト さ れてい ます。 Vivado Design Suite では、 構造 Verilog ま たは EDIF 形式の合成済みのネ ッ ト リ ス
ト を イ ン ポー ト し て、 イ ンプ リ メ ン テーシ ョ ン中に使用で き ます。 ま た、 Vivado Design Suite では、 ロ ジ ッ ク 合成ツー
ルか ら 出力 さ れ る 制約 (SDC ま たは XDC) を使用す る こ と も で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
19
シ ス テム レ ベルのデザイ ン フ ロー オプ シ ョ ン
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行
Vivado IDE では、 Mentor Graphics 社、 Cadence 社、 Synopsys 社か ら 提供 さ れ る ロ ジ ッ ク シ ミ ュ レーシ ョ ン ツールが
サポー ト さ れます。 Mentor Graphics 社の ModelSim シ ミ ュ レー タ は、 Vivado IDE に直接組み込まれてい ます。 すべて
のサポー ト さ れ る サー ド パーテ ィ の ロ ジ ッ ク シ ミ ュ レー タ 用にネ ッ ト リ ス ト が出力 さ れます。 Vivado Design Suite か
ら は、 デザ イ ン フ ロ ーの ど の段階で も 完全な Verilog ま たは VHDL ネ ッ ト リ ス ト を エ ク ス ポー ト し て、 サー ド パー
テ ィ シ ミ ュ レー タ で使用で き ます。 ま た、 SAIF 形式の イ ンプ リ メ ン テーシ ョ ン後の遅延を エ ク ス ポー ト し て、 サー
ド パーテ ィ の タ イ ミ ン グ シ ミ ュ レーシ ョ ンで使用する こ と も で き ます。
注記 : ザ イ リ ン ク ス IP の中には、 RTL ソ ース を Verilog ま たは VHDL 形式のいずれかで提供する も のがあ り ます。 合
成後は、 いずれかの言語で構造型ネ ッ ト リ ス ト が作成で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
20
第 3章
プ ロ ジ ェ ク ト モー ド の使用
概要
プ ロ ジ ェ ク ト モー ド の場合、 Vivado® Design Suite でプ ロ ジ ェ ク ト デ ィ レ ク ト リ 構造が作成 さ れ、 ソ ース フ ァ イ ル、
制約、 IP デー タ 、 合成お よ び イ ンプ リ メ ン テーシ ョ ン run の結果、 レ ポー ト な ど を含むデザ イ ンが自動的に管理 さ れ
ます。 Vivado Design Suite では、 ソ ース フ ァ イ ルの ス テー タ ス、 コ ン フ ィ ギ ュ レーシ ョ ン、 デザ イ ンの状態な ど も 管
理お よ びレ ポー ト さ れます。
作成で き る のは、 RTL ベー ス のプ ロ ジ ェ ク ト 、 ま たは合成済みネ ッ ト リ ス ト ベー ス のプ ロ ジ ェ ク ト です。 ネ ッ ト リ
ス ト プ ロ ジ ェ ク ト は、 サー ド パーテ ィ 合成ツールで主に使用 さ れ、 デザ イ ン プ ロ セ ス は合成後か ら 管理 さ れ ま す。
ネ ッ ト リ ス ト デザ イ ン を解析 し 、 制約を割 り 当てて管理 し 、 デザ イ ン を イ ンプ リ メ ン ト し て解析 し 、 デバ イ ス をプ ロ
グ ラ ム し てデバ ッ グ し た ら 、 フ ロ ー全体で ソ ース と 出力を管理で き ます。
Vivado IDE では、 合成お よ び イ ン プ リ メ ン テーシ ョ ン な ど の定義済みデザ イ ン フ ロ ー手順 を 起動す る には、 Flow
Navigator (図 3-1) を使用で き ます。 [Generate Bitstream] を ク リ ッ ク す る と 、 デザ イ ンが合成お よ び イ ン プ リ メ ン ト さ
れてか ら 、 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れます。 こ の環境では、 プ ッ シ ュ ボ タ ン デザ イ ン フ ロ ーが提供 さ れ
る ほか、 ア ド バン ス なデザ イ ン管理お よ び解析機能 も 提供 さ れます。 run は さ ま ざ ま な イ ンプ リ メ ン テーシ ョ ン コ マ
ン ド を統合 し た ラ ッ パー Tcl ス ク リ プ ト に よ り 実行 さ れ、 自動的に標準レ ポー ト が生成 さ れます。 さ ま ざ ま な run ス
ト ラ テジ を使用す る こ と で、配線密度お よ び タ イ ミ ン グ ク ロ ージ ャ な ど の さ ま ざ ま なデザ イ ンの問題点を見つけ る こ
と がで き ます。
注記 : run ス ト ラ テジは、 プ ロ ジ ェ ク ト モー ド にのみ適用で き ます。 非プ ロ ジ ェ ク ト モー ド の場合、 すべての指示子
お よ び コ マ ン ド オプシ ョ ン を手動で設定する 必要があ り ます。
プ ロ ジ ェ ク ト モー ド は Vivado IDE ま た は Tcl コ マ ン ド / ス ク リ プ ト を 使用 し て 実行で き ま す。 プ ロ ジ ェ ク ト 内で
Vivado IDE と Tcl を切 り 替え て使用す る こ と も で き ます。 ただ し 、 プ ロ ジ ェ ク ト モー ド の機能は Vivado IDE で使用
し た方が有利です。 Vivado IDE でプ ロ ジ ェ ク ト を開 く か作成す る と 、 デザ イ ンの現在の状態、 run の結果、 生成 さ れ
た レ ポー ト お よ び メ ッ セージが表示 さ れます。 ソ ース の作成お よ び変更、 制約の適用、 デバ ッ グ情報の適用、 ツール
設定の指定、 デザ イ ン タ ス ク の実行な ど が可能です。
推奨 : プ ロ ジ ェ ク ト モー ド は、 Vivado ツールの動作 と ザ イ リ ン ク ス®の推奨事項を理解す る 一番簡単なモー ド です。
RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ンの後にデザ イ ン を開 き 、 解析お よ び制約の定義を実行
で き ます。 デザ イ ン を開 く と 、 Vivado ツールで タ ーゲ ッ ト デバ イ ス に対す る ネ ッ ト リ ス ト と 制約が コ ンパ イ ル さ れ、
Vivado IDE でデザ イ ンが表示 さ れます。 デザ イ ン を開いた ら 、 さ ま ざ ま な解析お よ びレ ポー ト 機能を使用 し て、 異な
る 条件や観点か ら デザ イ ン を解析で き ます。 制約お よ びデザ イ ン変更を適用 し て保存す る こ と も で き ます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ
さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
21
プ ロ ジ ェ ク ト モー ド の利点
X-Ref Target - Figure 3-1
;
図 3‐1 : Vivado IDE の Flow Navigator
プ ロ ジ ェ ク ト モー ド の利点
デザ イ ンが自動的に管理 さ れ る プ ロ ジ ェ ク ト モー ド には、 次の よ う な利点があ り ます。
•
プ ロ ジ ェ ク ト ス テー タ ス、 HDL ソ ース、 制約フ ァ イ ル、 お よ び IP コ アが自動的に管理 さ れます。
•
プ ロ ジ ェ ク ト 階層に合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果が生成 さ れます。
•
イ ンプ リ メ ン テーシ ョ ン結果か ら RTL ソ ース フ ァ イ ルへの ク ロ ス プ ロ ーブな ど、 高度なデザ イ ン解析機能があ
り ます。
•
run ス ト ラ テジに よ り コ マ ン ド オプシ ョ ンの設定が自動化 さ れ、 標準レ ポー ト も 自動的に生成 さ れます。
•
複数の run を作成 し て さ ま ざ ま な制約お よ びコ マ ン ド オプシ ョ ン を設定お よ び確認で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
22
プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用
プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用
表 3-1 は、 プ ロ ジ ェ ク ト の作成、 イ ンプ リ メ ン テーシ ョ ン、 レ ポー ト を制御す る プ ロ ジ ェ ク ト モー ド の基本的な Tcl
コ マ ン ド を示 し てい ま す。 デザ イ ン タ ス ク に関連す る Tcl コ マ ン ド を理解す る には、 Vivado IDE で コ マ ン ド を実行
し 、 [Tcl Console] ビ ュ ーま たは vivado.jou フ ァ イ ルで構文を確認する のが最適な方法です。
注記 : こ の文書には、使用可能な Tcl コ マ ン ド すべての説明が含まれ る わけではあ り ませんので、『Vivado Design Suite
Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] お よ び 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機
能の使用』 (UG894) [参照 11] も 参照 し て く だ さ い。
表 3‐1 : プ ロ ジ ェ ク ト モー ド での基本 Tcl コ マ ン ド
コ マン ド
説明
create_project
Vivado Design Suite プ ロ ジ ェ ク ト を作成 し ます。 引数 と し てプ ロ ジ ェ ク ト 名、 保存場所、 デザ
イ ンの最上位モジ ュ ール名、 タ ーゲ ッ ト パーツ を指定 し ます。
add_files
プ ロ ジ ェ ク ト に ソ ース フ ァ イ ルを追加 し ます。 Verilog (.v)、 VHDL (.vhd ま たは .vhdl)、 System
Verilog (.sv)、 IP (.xcoま たは.xci)、 XDC 制約 (.xdc ま たは .sdc)、 XPS か ら のエンベデ ッ ド プ ロ
セ ッ サ サブシ ス テ ム (.xmp)、System Generator モジ ュ ール (.mdl) な ど の ソ ース を追加で き ます。
個々のフ ァ イ ルを追加する か、 デ ィ レ ク ト リ 全体を指定 し て有効な フ ァ イ ルが自動的に追加 さ
れ る よ う にす る こ と も で き ます。
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 に含まれ る BFT サン プル デザ イ ン を使用 し た RTL プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト と ネ ッ
ト リ ス ト プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト の例です。 ど ち ら の例で も 、 simpl_design の よ う な基本 コ マ ン ド の多 く
が launch_runs コ マ ン ド の一部 と し て実行 さ れます。
RTL プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト
#
# STEP#1:Create Project, add and configure sources and configure design
#
create_project project_bft ./project_bft -part xc7k70tfbg484-2
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
23
プ ロ ジ ェ ク ト の作成
add_files {./Sources/hdl/async_fifo.v ./Sources/hdl/bft.vhdl
./Sources/hdl/FifoBuffer.v}
add_files./Sources/hdl/bftLib
set_property library bftLib [get_files -of_objects sources_1 [glob
./Sources/hdl/*.vhdl]]
import_files -force
import_files -fileset constrs_1 -force ./Sources/bft_full.xdc
#
# STEP#2:Configure and launch Synthesis and Implementation and generate reports
#
launch_runs synth_1
wait_on_run synth_1
launch_runs impl_1
wait_on_run impl_1
launch_runs impl_1 -to_step bitgen
wait_on_run impl_1
#
# STEP#3:Start IDE for design analysis
#
start_gui
stop_gui
ネ ッ ト リ ス ト プ ロ ジ ェ ク ト の Tcl ス ク リ プ ト
#
# STEP#1:Create Project, add and configure sources and configure design
#
create_project -force project_K7_batch ./project_K7_batch -part xc7k70tfbg676-3
set_property design_mode GateLvl [current_fileset]
add_files {../rev_1/K7.edf}
import_files -force
import_files -fileset constrs_1 -force ./Sources/K7_full.xdc
#
# STEP#2:Configure and launch Synthesis and Implementation and generate reports
#
launch_runs impl_1
wait_on_run impl_1
launch_runs impl_1 -to_step bitgen
wait_on_run impl_1
#
# STEP#3:Start IDE for design analysis
#
start_gui
stop_gui
プ ロ ジ ェ ク ト の作成
Vivado Design Suite では、 さ ま ざ ま なデザ イ ン目的別に さ ま ざ ま なプ ロ ジ ェ ク ト タ イ プがサポー ト さ れます。 た と え
ば、RTL ソ ースやサー ド パーテ ィ 合成プ ロ バ イ ダーか ら の合成済みネ ッ ト リ ス ト を使用 し てプ ロ ジ ェ ク ト を作成で き
る ほか、 空の I/O 配置プ ロ ジ ェ ク ト を作成 し て、 デバ イ ス を確認 し た り 、 早期ピ ン配置を実行 し た り す る こ と も で き
ます。 Vivado IDE では、 選択 し たプ ロ ジ ェ ク ト タ イ プに関連す る コ マ ン ド のみが表示 さ れます。
Vivado IDE で Create Project ウ ィ ザー ド を使用す る と 、 プ ロ ジ ェ ク ト を簡単に作成で き ます。 ウ ィ ザー ド を使用す る
と 、 プ ロ ジ ェ ク ト 名やプ ロ ジ ェ ク ト を保存す る デ ィ レ ク ト リ 、 プ ロ ジ ェ ク ト タ イ プ (RTL、 ネ ッ ト リ ス ト な ど)、 タ ー
ゲ ッ ト パー ツ な ど を定義で き ま す。 RTL、 IP、 XDC/SDC 制約、 シ ミ ュ レ ーシ ョ ン テ ス ト ベン チ、 System Generator
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
24
Flow Navigator の理解
(XMP) か ら の DSP モジ ュ ール、 Vivado 高位合成 (HLS) か ら の ソ ース、 Xilinx Platform Studio (XPS) か ら のプ ロ セ ッ サ
モジ ュ ール、 XPS か ら の メ モ リ 初期化フ ァ イ ル (BMM)、 デザ イ ンに関す る 文書な ど、 さ ま ざ ま な タ イ プの ソ ース を
追加で き ます。 ソ ース を追加す る 際は、 ソ ース を元の場所か ら 参照す る か、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に コ ピーす る
か を指定で き ます。 Vivado Design Suite では各フ ァ イ ルの タ イ ム ス タ ン プが監視 さ れ、 ス テー タ ス が レ ポー ト さ れま
す。 フ ァ イ ルが変更 さ れ る と 、 ソ ース ま たはデザ イ ンの ス テー タ ス が最新でな く な っ た こ と が示 さ れます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] を参照 し て く だ さ い。
Flow Navigator の理解
Flow Navigator (図 3-2) では、 プ ロ ジ ェ ク ト の設定、 合成、 イ ンプ リ メ ン テーシ ョ ン、 ビ ッ ト ス ト リ ームの生成な ど の
主なデザ イ ン プ ロ セ ス タ ス ク を制御 し ます。 Flow Navigator で使用可能な コ マ ン ド お よ びオプシ ョ ンは、 デザ イ ンの
ス テー タ ス に よ っ て異な り ます。 必要なデザ イ ン タ ス ク が終了する ま で、 実行で き ない手順は淡色表示 さ れます。
X-Ref Target - Figure 3-2
図 3‐2 : Flow Navigator
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
25
シ ス テム レ ベルのデザイ ン入力の実行
こ れ ら のデザ イ ン タ ス ク が完了 し た ら 、 デザ イ ン結果を開き 、 解析 し た り 、 制約を適用 し た り で き ます。 こ れには、
Flow Navigator で [Open Elaborated Design]、 [Open Synthesized Design]、 ま たは [Open Implemented Design] を ク リ ッ ク し
ます。 詳細は、 「デザ イ ン解析お よ び制約の定義」 を参照 し て く だ さ い。
デザ イ ン を 開 く と 、 デザ イ ン フ ロ ーに適 し た よ く 使用 さ れ る コ マ ン ド のセ ッ ト が Flow Navigator に表示 さ れ ま す。
Flow Navigator で こ れ ら の コ マ ン ド を ク リ ッ ク す る と 、 既に開いていない場合はデザ イ ンが開 き 、 操作が実行 さ れま
す。 図 3-3 に合成に関連す る コ マ ン ド を示 し ます。
X-Ref Target - Figure 3-3
図 3‐3 : Flow Navigator の [Synthesis] セ ク シ ョ ン
シ ス テム レ ベルのデザイ ン入力の実行
自動化 さ れた階層 ソ ース フ ァ イルの コ ンパイル と 管理
Vivado IDE の [Sources] ビ ュ ー (図 3-4) では、 ソ ース フ ァ イ ルの管理を自動化す る 機能があ り ます。 こ の ビ ュ ーには
タ ブが複数含まれ、 さ ま ざ ま な方法で ソ ース が表示 さ れます。 プ ロ ジ ェ ク ト を開 く か、 変更する と 、 [Sources] ビ ュ ー
でそのプ ロ ジ ェ ク ト ソ ース の ス テー タ ス がア ッ プデー ト さ れます。 デザ イ ン ソ ース の コ ンパ イ ルが素早 く 実行 さ れ、
ソ ー ス がダ ウ ン ス ト リ ーム ツールで コ ン パ イ ル さ れ る 順序に [Sources] ビ ュ ーの [Compile Order] タ ブに表示 さ れ ま
す。 RTL 階層の コ ンパ イ ルに関す る 潜在的な問題があ る 場合は、 [Message ] ビ ュ ーに レ ポー ト さ れます。 ソ ース の詳
細については、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] を参照 し て
く だ さ い。
注記 : モジ ュ ールを最上位モジ ュ ール と し て明確に設定 し た場合、 そのモジ ュ ールは保持 さ れ、合成に渡 さ れますが、
最上位モジ ュ ール と し て指定 し ていない場合は、 Vivado ツールでプ ロ ジ ェ ク ト 内の使用可能な ソ ース フ ァ イ ルの中
か ら 最適なモジ ュ ールが最上位モジ ュ ール と し て選択 さ れます。 フ ァ イ ルに構文エ ラ ーがあ っ た り 、 エ ラ ボ レー ト し
ない場合は、 Vivado ツールでそれが最上位モジ ュ ール と し て選択 さ れ る こ と はあ り ません。
制約お よ びシ ミ ュ レーシ ョ ン ソ ース は、 セ ッ ト に分類 さ れます。 制約セ ッ ト は、 制約の確認や管理に使用 し ます。 さ
ま ざ ま なシ ミ ュ レーシ ョ ン ソ ース セ ッ ト を使用す る こ と で、 異な る シ ミ ュ レーシ ョ ン セ ッ ト を開始で き ます。 ソ ー
ス はどれで も 追加、 削除、 デ ィ ス エーブル、 ま たはア ッ プデー ト で き ます。 制約の詳細については、 『Vivado Design
Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 17] を参照 し て く だ さ い。 シ ミ ュ レ ーシ ョ ン の詳細につい ては、
『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 9] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
26
シ ス テム レ ベルのデザイ ン入力の実行
X-Ref Target - Figure 3-4
図 3‐4 : [Sources] ビ ュ ーでの階層デザイ ン ソ ース フ ァ イルのコ ンパイル
RTL の開発
Vivado IDE には、 RTL の開発に役立つ次の よ う な機能が含まれてい ます。
•
ソ ース フ ァ イ ルを作成お よ び編集する Vivado IDE テ キ ス ト エデ ィ タ ー
•
言語テ ンプ レー ト か ら ロ ジ ッ ク コ ン ス ト ラ ク ト の例を コ ピーする 機能
•
検索条件を入力 し てテ ンプ レー ト ラ イ ブ ラ リ を検索可能な [Find in Files] 機能
•
RTL エ ラ ボ レーシ ョ ンお よ び イ ン タ ラ ク テ ィ ブな解析
•
RTL デザ イ ン ルール チ ェ ッ ク (DRC)
•
RTL 制約の割 り 当て と I/O 配置
RTL の開発お よ び解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参
照 15] を参照 し て く だ さ い。 RTL ベース の I/O ピ ン配置の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び
ク ロ ッ ク の配置』 (UG899) [参照 7] を参照 し て く だ さ い。
RTL のエ ラ ボレーシ ョ ンおよび解析
エ ラ ボ レー ト 済み RTL デザ イ ン を開 く と 、 RTL ソ ース フ ァ イ ルが コ ンパ イ ル さ れて RTL ネ ッ ト リ ス ト が イ ン タ ラ ク
テ ィ ブ解析用に読み込ま れ、RTL 構造、構文、ロ ジ ッ ク 定義を確認で き ます。次の解析お よ びレ ポー ト 機能があ り ます。
•
RTL の コ ンパ イ ル検証お よ び構文チ ェ ッ ク
•
ネ ッ ト リ ス ト お よ び回路図の確認
•
デザ イ ン ルール チ ェ ッ ク
•
RTL ポー ト リ ス ト を使用 し た初期 I/O ピ ン配置
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
27
IP の操作
•
1 つの ビ ュ ーで RTL ソ ース フ ァ イ ル内の イ ン ス タ ン シエーシ ョ ンお よ び ロ ジ ッ ク 定義な ど のオブジ ェ ク ト を選
択す る と 、 ほかのビ ュ ーで も 自動選択
RTL の開発お よ び解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参
照 15] を参照 し て く だ さ い。 RTL ベース の I/O ピ ン配置の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び
ク ロ ッ ク の配置』 (UG899) [参照 7] を参照 し て く だ さ い。
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) [参照 16] を参照 し て く だ さ い。
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 イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) [参
照 2] を参照 し て く だ さ い。
Vivado IP カ タ ログ を使用 し た IP の コ ン フ ィ ギ ュ レーシ ョ ン
Vivado IP カ タ ロ グ ( 図 3-5) に は、 プ ロ ジ ェ ク ト で 選択 し た タ ー ゲ ッ ト デ バ イ ス で 使用可能 な ザ イ リ ン ク ス
LogiCORE™ IP が表示 さ れます。 IP カ タ ロ グには、 各 IP のバージ ョ ンお よ び ラ イ セ ン ス情報、 該当す る デー タ シー
ト が含ま れ ます。 IP を ダブル ク リ ッ ク す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド が起動 さ れ、 デザ イ ンに対す る
IP の コ ン フ ィ ギ ュ レーシ ョ ンお よ び イ ン ス ト ール プ ロ セ ス を開始で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
28
IP の操作
X-Ref Target - Figure 3-5
図 3‐5 : Vivado IP カ タ ログ
出力 フ ァ イルの生成
Vivado Design Suite IP には、 その IP の合成、 イ ン プ リ メ ン テーシ ョ ンお よ び検証に使用す る ための さ ま ざ ま な出力
フ ァ イ ルが含まれます。 こ れ ら の出力フ ァ イ ルは、 IP の コ ン フ ィ ギ ュ レーシ ョ ン直後に生成で き る ほか、 後で生成で
き ます。 プ ロ ジ ェ ク ト モー ド の場合、 足 り ない出力フ ァ イ ルが合成中に自動的に生成 さ れます。 IP で ス タ ン ド ア ロ ン
の Out-of-Context フ ロ ーがサポー ト さ れ る 場合は、合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ル も 含まれます。
非プ ロ ジ ェ ク ト モー ド の場合、 出力フ ァ イ ルは Tcl コ マ ン ド の synth_design を実行す る 前に生成す る 必要があ り
ます。
Vivado Design Suite IP には、 次の出力フ ァ イ ルが含まれます。
•
イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト
•
RTL ソ ース フ ァ イ ル と XDC 制約
•
合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト (オプシ ョ ン)
•
サー ド パーテ ィ シ ミ ュ レーシ ョ ン ソ ース
•
サー ド パーテ ィ 合成 ソ ース
•
サンプル デザ イ ン (該当 IP のみ)
•
テ ス ト ベンチサンプル デザ イ ン (該当 IP のみ)
•
C モデル (該当 IP のみ)
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
29
IP の操作
Out‐of‐Context デザイ ン用の IP のス タ ン ド ア ロ ン合成
デフ ォ ル ト では、 各 IP に対 し てデザ イ ン チ ェ ッ ク ポ イ ン ト が作成 さ れ、 その IP の合成済みネ ッ ト リ ス ト と 制約が含
まれます。 IP モジ ュ ールは Vivado 合成を使用 し てで合成 さ れ、 デザ イ ン チ ェ ッ ク ポ イ ン ト は イ ンプ リ メ ン テーシ ョ
ン中に使用 さ れ ます。 Vivado 合成では、 各 IP に対 し てデザ イ ン チ ェ ッ ク ポ イ ン ト を含むブ ラ ッ ク ボ ッ ク ス ス タ ブ
フ ァ イ ルが挿入 さ れます。 こ れに よ り 、 IP を別個に最適化お よ び検証で き る ので、 合成 ラ ン タ イ ムが削減で き ます。
こ れは、 Out-of-Context デザ イ ン と 呼ばれます。
デザ イ ン チ ェ ッ ク ポ イ ン ト の生成を オ フ にす る と 、 IP と 最上位デザ イ ンが一緒に合成 さ れ る グ ロ ーバル ト ッ プダ ウ
ン合成アプ ロ ーチが使用 さ れます。 こ のアプ ロ ーチが使用 さ れ る 場合、 合成中に追加の ロ ジ ッ ク 最適化を実行す る こ
と がで き る こ と も あ り ます。
ヒ ン ト : Vivado IDE には [Generate Output Products] ダ イ ア ロ グ ボ ッ ク ス には [Generate Design Checkpoint (.dcp)] オプ
シ ョ ンがあ り 、 デフ ォ ル ト 動作を制御で き る よ う にな っ てい ます。
IP の検証
ビヘ イ ビ ア ま たは構造型 ロ ジ ッ ク シ ミ ュ レーシ ョ ン を実行 し て、IP モジ ュ ールを イ ンプ リ メ ン ト し て タ イ ミ ン グ、消
費電力、 エ リ ア な ど を検証す る と 、Vivado IP を検証で き ます。通常は ス タ ン ド ア ロ ン IP を検証す る ために、 RTL ラ ッ
パーお よ びテ ス ト ベンチを含む小 さ めの最上位デザ イ ン プ ロ ジ ェ ク ト が作成 さ れます。 Vivado Design Suite では、 最
上位デザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト 内で IP モジ ュ ール を検証す る こ と も で き ま す。 IP は合成済みデザ イ ン
チ ェ ッ ク ポ イ ン ト を作成す る ので、 こ のボ ト ム ア ッ プ検証ス ト ラ テジは ス タ ン ド ア ロ ン ま たはプ ロ ジ ェ ク ト 内のいず
れかで問題な く 実行 さ れます。
IP コ ア生成の一部 と し て、 オプ シ ョ ン でサ ン プル デザ イ ン が作成 さ れ ま す。 サ ン プル デザ イ ン を 作成す る には、
[Sources] ビ ュ ーで IP を右 ク リ ッ ク し 、 [Open Example Design] を ポ ッ プア ッ プ メ ニ ュ ーか ら ク リ ッ ク し ます。 サンプ
ル IP モジ ュ ールを使用す る と 、サンプル デザ イ ン プ ロ ジ ェ ク ト の コ ン テ キ ス ト 内で ス タ ン ド ア ロ ン IP を検証で き ま
す。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 9]、 『Vivado Design Suite
ユーザー ガ イ ド : 合成』 (UG901) [参照 5]、お よ び 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
[参照 16] を参照 し て く だ さ い。
IP ブ ロ ッ ク デザイ ンの作成
Vivado IP イ ン テ グ レー タ ー (図 3-6) では、AXI4 イ ン タ ーコ ネ ク ト プ ロ ト コ ルを使用 し て複数の IP を接続す る こ と が
で き ます。 Vivado IP カ タ ロ グか ら 互換性のあ る IP を選択 し 、 デザ イ ン キ ャ ンバ ス でその IP を イ ン ス タ ン シエー ト
し ます。 こ の後、 IP を ダブル ク リ ッ ク し 、 コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ザー ド を起動 し ます。 イ ン タ ー コ ネ ク ト を
ド ラ ッ グ ア ン ド ド ロ ッ プす る と DRC でチ ェ ッ ク さ れ る ので、互換性のあ る ピ ンが視覚的にわか り やす く な っ てい ま
す。 AXI イ ン タ ーフ ェ イ スすべて を 1 本の ワ イ ヤで接続 し 、 ポー ト お よ び イ ン タ ーフ ェ イ ス ポー ト を配置 し て、 IP
サブシ ス テ ム を残 り のデザ イ ン部分に接続 し ま す。 こ の後、 こ れ ら の IP ブ ロ ッ ク デザ イ ン をパ ッ ケージにす る と 、
ほかのデザ イ ンで再利用で き ます。詳細は、『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP
サブシ ス テ ムの設計』 (UG994) [参照 2] ま たは 『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド ハー ド ウ ェ ア デ
ザ イ ン』 (UG898) [参照 1] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
30
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行
X-Ref Target - Figure 3-6
図 3‐6 : Vivado IP イ ン テグ レー タ ー
カ ス タ ム IP の作成 と パ ッ ケージ
Vivado IDE では、 カ ス タ ム IP や IP ブ ロ ッ ク デザ イ ン を IP にパ ッ ケージにで き ます。 こ の後、 Vivado IP カ タ ロ グか
ら ア ク セ ス し 、 デザ イ ンや Vivado IP イ ン テ グ レー タ ーで使用で き ます。 Package IP ウ ィ ザー ド では、 情報を入力 し た
り 、 デー タ を収集す る プ ロ セ ス がで き る よ う にな っ てお り 、 IP を完成 し て、 IP カ タ ロ グ で使用可能な状態にで き ま
す。 [Create and Package IP] コ マ ン ド を使用す る と 、 エンベデ ッ ド プ ロ セ ッ サ デザ イ ンで使用する ためのカ ス タ ム イ
ン タ ーフ ェ イ ス ペ リ フ ェ ラ ル も 作成で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』
(UG896) [参照 16] を参照 し て く だ さ い。
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行
Vivado Design Suite では、 デザ イ ン ま たは IP を検証す る ために複数の ロ ジ ッ ク シ ミ ュ レーシ ョ ン オプシ ョ ンが提供
さ れてい ます。 Vivado IDE に統合 さ れてい る Vivado シ ミ ュ レー タ では、 デザ イ ンのシ ミ ュ レーシ ョ ン、 波形ビ ュ ー
アーでの信号の追加お よ び表示、 デザ イ ンの確認お よ びデバ ッ グ を必要に応 じ て実行で き ます。 Vivado シ ミ ュ レー タ
では、 デザ イ ンのビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 構造シ ミ ュ レーシ ョ ン、 イ ンプ リ メ ン ト 済みデザ イ ンの タ イ ミ ン
グ シ ミ ュ レ ーシ ョ ン を 実行で き ま す。 ま たは、 開い て い る デザ イ ン の Verilog、 VHDL ネ ッ ト リ ス ト 、 お よ び SDF
フ ォ ーマ ッ ト フ ァ イ ルを記述す る こ と に よ り 、 サー ド パーテ ィ シ ミ ュ レ ー タ も 使用で き ま す。 Vivado IDE か ら は、
Mentor Graphics 社の ModelSim お よ び Questa シ ミ ュ レー タ を起動で き ます。詳細は、『Vivado Design Suite ユーザー ガ
イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 9] ま たは 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ び
デバ ッ グ』 (UG908) [参照 10] を参照 し て く だ さ い。
I/O ピ ン配置 Vivado IDE には I/O ピ ン配置環境が含まれてお り 、特定のパ ッ ケージ ピ ン ま たは内部ダ イ パ ッ ド に I/O ポー ト を正 し
く 割 り 当て る こ と がで き ます。 さ ま ざ ま な表示ビ ュ ーお よ び表があ り 、 パ ッ ケージお よ び I/O 関連デー タ を解析で き
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
31
ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行
ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 7] を参照 し て く だ さ
い。
ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行
ロ ジ ッ ク 合成
Vivado 合成では、 合成 run を設定、 起動、 お よ び監視で き ま す。 Vivado IDE では、 合成結果が表示 さ れ、 レ ポー ト
フ ァ イ ルが作成 さ れます[Log] ビ ュ ーか ら 合成の警告ま たはエ ラ ーを選択する と 、 RTL ソ ース フ ァ イ ルで該当す る ロ
ジ ッ ク がハ イ ラ イ ト さ れます。
複数の合成 run を同時に、 ま たは 1 つずつ順に実行で き ます。Linux シ ス テ ムでは、 リ モー ト サーバー上の run が ロ ー
カルで実行 さ れ ます。 複数の合成 run を実行す る と 、 複数のネ ッ ト リ ス ト が作成 さ れ、 Vivado Design Suite プ ロ ジ ェ
ク ト 内に保存 さ れ ま す。 異な る バージ ョ ン の合成済みネ ッ ト リ ス ト を Vivado IDE 環境で開いて、 デバ イ スお よ びデ
ザ イ ンの解析を実行す る こ と がで き ます。 ま た、 I/O ピ ン配置、 タ イ ミ ン グ、 フ ロ アプ ラ ン、 お よ び イ ンプ リ メ ン テー
シ ョ ン用に制約を作成で き ます。 デザ イ ン を合成す る と 、 ク ロ ッ ク と ロ ジ ッ ク を解析お よ び配置で き る よ う にな り 、
合成済みネ ッ ト リ ス ト に対 し ては最 も 包括的な DRC を実行で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 5] を参照 し て く だ さ い。
イ ン プ リ メ ン テーシ ョ ン
Vivado イ ンプ リ メ ン テーシ ョ ンでは、 イ ンプ リ メ ン テーシ ョ ン run を設定、 起動、 お よ び監視で き ます。 イ ンプ リ メ
ン テーシ ョ ン run 用に異な る イ ン プ リ メ ン テーシ ョ ン オプシ ョ ン を設定 し 、 再利用可能な ス ト ラ テ ジ を作成で き ま
す。 た と えば、 短い ラ ン タ イ ム、 改善 さ れたシ ス テ ム パフ ォーマ ン ス、 エ リ ア最適化の ス ト ラ テジ を作成で き ます。
run が終了す る と 、 イ ンプ リ メ ン テーシ ョ ン run の結果が表示 さ れ、 レ ポー ト フ ァ イ ルが使用可能にな り ます。
複数の イ ンプ リ メ ン テーシ ョ ン run を同時に、 ま たは 1 つずつ順に実行で き ます。Linux シ ス テ ムでは、 リ モー ト サー
バーを使用で き ます。 制約セ ッ ト を作成 し て、 さ ま ざ ま な タ イ ミ ン グ制約、 物理制約、 代替デバ イ ス を設定 し て試す
こ と がで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 6] を参照
し て く だ さ い。
ヒ ン ト : tcl.pre お よ び tcl.post フ ァ イ ルを使用す る と 、 Tcl ス ク リ プ ト を追加 し て合成、 イ ンプ リ メ ン テーシ ョ
ン、 ビ ッ ト ス ト リ ーム生成の前後に読み出 さ れ る よ う にで き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl
ス ク リ プ ト 機能の使用』 (UG894) [参照 11] を参照 し て く だ さ い。
合成および イ ン プ リ メ ン テーシ ョ ン run の設定
プ ロ ジ ェ ク ト モー ド を使用す る 場合、 合成お よ び イ ン プ リ メ ン テーシ ョ ン の機能を制御す る 設定を多数使用で き ま
す。 こ れ ら の設定は、 run ス ト ラ テジ を使用する run に渡 さ れます。 こ れは、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で
設定で き ます。 run ス ト ラ テジは、 run の設定パ ラ メ ー タ ーの組み合わせを保存 し た も のです。 ザ イ リ ン ク ス では、 合
成お よ び イ ン プ リ メ ン テーシ ョ ン run 用にい く つかの定義済み run ス ト ラ テ ジ を提供 し てい ます。 ユーザーがカ ス タ
ムの run 設定を適用す る こ と も で き ます。 ま た、 合成 と イ ンプ リ メ ン テーシ ョ ン で異な る 制約セ ッ ト を指定す る こ と
も で き ます。
プ ロ ジ ェ ク ト 設定の変更 に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 5] お よ び
『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 6] を参照 し て く だ さ い。 制約の詳細
は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] お よ び 『Vivado Design
Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 17] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
32
ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行
ヒ ン ト : Out-of-Context モジ ュ ールの run は、プ ロ ジ ェ ク ト 内の Vivado Design Suite IP を合成す る ために作成で き ます。
IP のデザ イ ン チ ェ ッ ク ポ イ ン ト を生成す る 場合、デフ ォ ル ト ではデザ イ ンの各 run に対 し て Out-of-Context (ス タ ン ド
ア ロ ン) の 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 ウ ィ ザー ド (図 3-7) で、 制約セ ッ ト お よ び タ ーゲ ッ ト パーツ を選択 し ます。
イ ンプ リ メ ン テーシ ョ ン run の作成では、 複数の合成 run が存在する 場合はネ ッ ト リ ス ト も 選択で き ます。 さ ま ざ ま
な ス ト ラ テ ジ、 制約セ ッ ト 、 ま たはデバ イ ス を指定 し た複数の run を作成で き ます。 run が複数あ る 場合、 実行オプ
シ ョ ン を指定で き ます。 選択 し た run を順次実行する か、 複数の ロ ーカル プ ロ セ ッ サで同時に実行で き ます。
注記 : Linux でのみ、 リ モー ト ホ ス ト を設定お よ び使用で き ます。
X-Ref Target - Figure 3-7
図 3‐7 : 複数の合成 run および イ ン プ リ メ ン テーシ ョ ン run の作成
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
33
デザイ ン解析および制約の定義
[Design Runs] ビ ュ ーでの run の管理
[Design Runs] ビ ュ ー (図 3-8) には、 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-8
図 3‐8 : [Design Runs] ビ ュ ー
デザイ ン解析および制約の定義
RTL エ ラ ボ レーシ ョ ン、 合成、 お よ び イ ンプ リ メ ン テーシ ョ ン の後に、 解析お よ び制約の割 り 当て を実行で き ます。
デザ イ ン の問題を早期に特定す る ため、 イ ン プ リ メ ン テーシ ョ ン の前に タ イ ミ ン グ シ ミ ュ レーシ ョ ン、 リ ソ ース予
測、 接続性の解析、 DRC な ど のデザ イ ン解析を実行で き ま す。 さ ま ざ ま な合成 run ま たは イ ン プ リ メ ン テーシ ョ ン
run 結果を開 く と 、 解析お よ び制約の割 り 当てがで き ます。 こ れは、 デザ イ ン を開 く と わか り ます。
デザ イ ン を開 く と 、 Vivado IDE でネ ッ ト リ ス ト が コ ンパ イ ル さ れ、 タ ーゲ ッ ト デバ イ ス に対す る 物理制約お よ び タ
イ ミ ン グ制約が適用 さ れ ます。 デザ イ ンは、 開いて、 保存 し て、 閉 じ る こ と がで き ます。 新 し いデザ イ ン を開 く と 、
メ モ リ 容量を確保す る ため、 既に開いてい る デザ イ ン を閉 じ る か ど う か を確認する メ ッ セージが表示 さ れます。 既に
開いてい る デザ イ ン を閉 じ る 必要はな く 、 複数のデザ イ ン を同時に開いてお く こ と がで き ます。 合成済みデザ イ ン を
開 く と 、 ネ ッ ト リ ス ト と 制約が表示 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 ネ ッ ト リ ス ト 、 制約、 イ ンプ
リ メ ン テーシ ョ ン結果が表示 さ れます。 デザ イ ン デー タ は異な る ビ ュ ーに さ ま ざ ま な形式で表示で き 、 ビ ュ ーのデー
タ は連動 し てい ます。
デザ イ ン を開 く と 、 Vivado IDE の さ ま ざ ま な解析お よ びレ ポー ト 機能が使用で き る よ う にな り ます。 た と えば、 内部
デバ イ スお よ び外部物理パ ッ ケージの対話型グ ラ フ ィ カル表示で、デバ イ ス リ ソ ース を解析で き ます。ま た、[Netlist]、
[Device]、 [Schematic]、 [Hierarchy] ビ ュ ーを使用 し て タ イ ミ ン グお よ び物理制約を適用 し て解析す る こ と も で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] お よ び
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 17] を参照 し て く だ さ い。
注記 : デザ イ ンが開いてい る と き に制約を変更す る と 、 変更を元の XDC ソ ース フ ァ イ ルに保存す る か、 新 し い制約
セ ッ ト を作成す る か を選択す る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド :
シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] お よ び 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
[参照 17] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
34
デザイ ン解析および制約の定義
エ ラ ボレー ト 済み RTL デザイ ン を開 く
エ ラ ボ レー ト 済みデザ イ ン を開 く と 、Vivado Design Suite が拡張 さ れ、RTL ネ ッ ト リ ス ト が コ ンパ イ ル さ れ、 タ ーゲ ッ
ト デバ イ ス に対 し て物理制約お よ び タ イ ミ ン グ制約が適用 さ れます。エ ラ ボ レー ト 済みデザ イ ンの さ ま ざ ま なエ レ メ
ン ト が メ モ リ に読み込ま れ る と 、必要に応 じ て解析お よ び変更 し て、デザ イ ン を完了 さ せ る こ と がで き ます。詳細は、
『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] を参照 し て く だ さ い。
Vivado Design Suite には、 リ ン ク お よ びチ ェ ッ ク ツールが含まれ、 ロ ジ ッ ク が正 し いか ど う かデザ イ ン を解析で き る
よ う にな っ てい ます。 ロ ジ ッ ク が正 し く コ ンパ イ ル さ れたか、 欠けてい る モジ ュ ールはないか、 イ ン タ ーフ ェ イ ス の
不一致がないかな ど をチ ェ ッ ク で き ます。 [Messages] ビ ュ ーで メ ッ セージの リ ン ク を ク リ ッ ク す る と 、 Vivado IDE テ
キ ス ト エデ ィ タ ーで RTL フ ァ イ ルの該当す る 行が表示 さ れます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階
層を さ ま ざ ま な方法で調べ る こ と がで き ます。 [Schematic] ビ ュ ーには、 RTL ベース の ロ ジ ッ ク コ ン ス ト ラ ク ト を使
用 し て、 RTL の接続が表示 さ れ ます。 [Schematic] ビ ュ ーで ロ ジ ッ ク を選択 し た り 、 Vivado IDE テ キ ス ト エデ ィ タ ー
で RTL フ ァ イ ルの特定の行を確認 し た り で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お
よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
注記 : RTL エ ラ ボ レーシ ョ ンでは、 FPGA テ ク ノ ロ ジへのマ ッ プは実行 さ れません。
レ ジ ス タ な ど、 ロ ジ ッ ク 階層の特定の ロ ジ ッ ク イ ン ス タ ン ス に定義 さ れてい る 制約は、 RTL エ ラ ボ レーシ ョ ン では
解決で き ない場合があ り ます。 エ ラ ボ レーシ ョ ン中に生成 さ れ る ロ ジ ッ ク 名 と 階層は、 合成中に生成 さ れ る も の と 一
致 し ない可能性があ り ます。 そのため、 こ れ ら の制約が定義 さ れてい る 場合、 RTL デザ イ ン を エ ラ ボ レー ト し た と き
に制約マ ッ プに関す る 警告ま たはエ ラ ー メ ッ セージが表示 さ れ る こ と があ り ますが、 合成を実行する と 、 こ れ ら の問
題は回避 さ れます。
Vivado IDE の I/O 配置機能を使用す る と 、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を コ ン フ ィ ギ ュ レーシ ョ ン し てエ ラ ボ レー
ト 済み RTL デザ イ ンに割 り 当て、 DRC を実行で き ます。 可能であれば、 合成後に I/O 配置を実行 し て く だ さ い。 こ
れに よ り 、 ク ロ ッ ク お よ び ロ ジ ッ ク 制約が最適にな り 、 合成後に実行する DRC が よ り 詳細に実行 さ れます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899) [参照 7] を参照 し て く だ さ い。
ヒ ン ト : [Report DRC] コ マ ン ド を ク リ ッ ク する と 、 RTL お よ び I/O の DRC が実行 さ れ、 非同期 ク ロ ッ ク 、 ラ ッ チな ど
の ロ ジ ッ ク の問題が特定 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』
(UG895) [参照 15] を参照 し て く だ さ い。
エ ラ ボ レー ト 済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。
•
Flow Navigator の [RTL Analysis] セ ク シ ョ ンで [Open Elaborated Design] を ク リ ッ ク し ます。
•
Flow Navigator で [RTL Analysis] を右 ク リ ッ ク し 、 [New Elaborated Design] を ク リ ッ ク し ます。
•
[Flow] → [Open Elaborated Design] を ク リ ッ ク し ます。
図 3-9 は、 エ ラ ボ レー ト 済み RTL デザ イ ン を開いた場合のデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を示 し てい ます。 回路図で
ロ ジ ッ ク イ ン ス タ ン ス を選択す る と 、 RTL ソ ース フ ァ イ ルお よ びエ ラ ボ レー ト 済み RTL ネ ッ ト リ ス ト で特定の イ ン
ス タ ン ス が選択 さ れます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
35
デザイ ン解析および制約の定義
X-Ref Target - Figure 3-9
図 3‐9 : エ ラ ボレー ト 済み RTL デザイ ン を開 く
合成済みデザイ ン を開 く
合成済みデザ イ ン を開 く と 、 Vivado Design Suite で合成済みネ ッ ト リ ス ト が開かれ、 タ ーゲ ッ ト デバ イ ス に対 し て物
理制約お よ び タ イ ミ ン グ制約が適用 さ れ ま す。 合成済みデザ イ ン の さ ま ざ ま なエ レ メ ン ト が メ モ リ に読み込ま れ る
と 、 必要に応 じ て解析お よ び変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ ト リ ス
ト 、 デバ ッ グ コ ア、 お よ び コ ン フ ィ ギ ュ レーシ ョ ンに保存で き ます。
合成済みデザ イ ン を使用す る と 、 早期の タ イ ミ ン グ、 消費電力、 使用率予測の よ う なデザ イ ン タ ス ク を多 く 実行す る
こ と がで き 、 デザ イ ン が指定す る タ ーゲ ッ ト で要件を満たす こ と がで き る のか ど う か判断で き ま す。 デザ イ ン は、
Vivado IDE のビ ュ ーを使用 し て さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選択す る と 、 ほかの
ビ ュ ーで も 選択 さ れ ま す。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] な ど の さ ま ざ ま な ビ ュ ーか ら 、 RTL
フ ァ イ ルの問題のあ る 行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ
ラ ク テ ィ ブに調べ る こ と がで き ます。 タ イ ミ ン グ制約を適用 し た り 、 よ り 詳細な タ イ ミ ン グ解析を実行 し た り も で き
ます。 I/O ポー ト の物理制約、 フ ロ アプ ラ ン、 デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を イ ン タ ラ ク テ ィ ブに定義す る こ と
も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参
照 8] を参照 し て く だ さ い。
Vivado IDE の I/O 配置機能を使用す る と 、 イ ン タ ラ ク テ ィ ブに I/O ポー ト を コ ン フ ィ ギ ュ レーシ ョ ン し て合成済みデ
ザ イ ンに割 り 当て、 DRC を実行で き ます。 [Report DRC] コ マ ン ド を ク リ ッ ク す る と 、 包括的な DRC が実行 さ れ、 ロ
ジ ッ ク の問題が特定 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899)
[参照 7] お よ び 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8]
を参照 し て く だ さ い。
合成済みデザ イ ンでは、 プ ロ グ ラ ム済みFPGA のテ ス ト お よ びデバ ッ グ をサポー ト する ために、デバ ッ グ コ ア ロ ジ ッ
ク を設定お よ び イ ンプ リ メ ン ト で き ます。 [Schematic or Netlist] ビ ュ ーで、 イ ン タ ラ ク テ ィ ブにデバ ッ グ用の信号を選
択 し 、 その後デバ ッ グ コ ア を コ ン フ ィ ギ ュ レーシ ョ ン し 、 デザ イ ンに挿入 し ます。 コ アの ロ ジ ッ ク お よ び接続は、 デ
ザ イ ンの合成がア ッ プデー ト さ れて も 、 で き る 限 り 保持 さ れます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ
ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 10] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
36
デザイ ン解析および制約の定義
合成済みデザ イ ン を開 く には、 次のいずれか を実行 し ます。
•
Flow Navigator の [Synthesis] セ ク シ ョ ン で [Open Synthesized Design] を ク リ ッ ク し ます。
•
Flow Navigator で [Synthesis] を右 ク リ ッ ク し 、 [New Synthesized Design] を ク リ ッ ク し ます。
•
[Flow] → [Open Synthesized Design] を ク リ ッ ク し ます。
•
[Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。
図 3-10 は、 合成済みデザ イ ン を開いた場合のデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を示 し てい ます。
X-Ref Target - Figure 3-10
図 3‐10 : 合成済みデザイ ン を開 く
イ ン プ リ メ ン ト 済みデザイ ン を開 く
Flow Navigator か ら イ ン プ リ メ ン ト 済みデザ イ ン を開 く と 、 Vivado IDE でその イ ンプ リ メ ン ト 済みネ ッ ト リ ス ト が開
き 、 イ ンプ リ メ ン テーシ ョ ン、 配置、 お よ ぼ配線結果に使用 さ れ る タ ーゲ ッ ト デバ イ ス に対す る 物理制約お よ び タ イ
ミ ン グ制約が適用 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ンの配置済みの ロ ジ ッ ク と 配線済みの接続が メ モ リ に読み込
まれ る と 、 必要に応 じ て解析お よ び変更 し て、 デザ イ ン を完了 さ せ る こ と がで き ます。 変更は、 制約フ ァ イ ル、 ネ ッ
ト リ ス ト 、 イ ン プ リ メ ン テーシ ョ ン結果、 お よ びデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン に保存で き ま す。 Vivado IDE で
は複数の イ ンプ リ メ ン テーシ ョ ン run を設定で き る ので、ど の完了済みの イ ンプ リ メ ン テーシ ョ ン run を選択 し て も 、
イ ンプ リ メ ン ト 済みデザ イ ン を開 く こ と がで き ます。
イ ンプ リ メ ン ト 済みデザ イ ンでは、 タ イ ミ ン グ解析、 消費電力解析、 使用量統計の よ う なデザ イ ン タ ス ク を多 く 実行
す る こ と がで き 、 デザ イ ン が必要なパ フ ォ ーマ ン ス タ ーゲ ッ ト の要件を満たす こ と がで き る のか ど う か判断で き ま
す。 デザ イ ンは、 Vivado IDE のビ ュ ーを使用 し て さ ま ざ ま な方法で解析で き ます。 1 つのビ ュ ーでオブジ ェ ク ト を選
択す る と 、 ほかの ビ ュ ーで も 選択 さ れ ます。 [Messages]、 [Schematic]、 [Device]、 [Package]、 [Find] な ど の さ ま ざ ま な
ビ ュ ーか ら 、 ソ ース の RTL フ ァ イ ルの問題のあ る 行に ク ロ ス プ ロ ーブで き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク
の接続お よ び階層を イ ン タ ラ ク テ ィ ブに調べ る こ と がで き ます。 タ イ ミ ン グ制約を適用 し た り 、 よ り 詳細な タ イ ミ ン
グ解析を実行 し た り も で き ます。 ま た、 イ ン タ ラ ク テ ィ ブに フ ロ アプ ラ ンやデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン制約を
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
37
デザイ ン解析および制約の定義
適用 し た り 、 今後の run 用に制約を保存 し た り も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン
解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
[Device] ビ ュ ーでは、 [Routing Resources]
を ク リ ッ ク し て、 配置 ま たは配線結果を確認で き ま す。 拡大す る と 、
[Device] ビ ュ ーに表示 さ れ る 詳細な情報が増え ます。 配置配線、 お よ びル ッ ク ア ッ プ テーブル (LUT) お よ び ラ ン ダ ム
ア ク セ ス メ モ リ (RAM) の初期化な ど のデザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン を イ ン タ ラ ク テ ィ ブに変更す る こ と も で き
ます。 [Device] ビ ュ ーま たは [Schematic] ビ ュ ーで結果を ク リ ッ ク し て、 RTL フ ァ イ ルの問題の行に ク ロ ス プ ロ ーブ
す る こ と も で き ます。 [Schematic] ビ ュ ーでは、 ロ ジ ッ ク の接続お よ び階層を イ ン タ ラ ク テ ィ ブに調べ る こ と がで き ま
す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を
参照 し て く だ さ い。
イ ンプ リ メ ン ト 済みデザ イ ン を開 く には、 次のいずれかを実行 し ます。
•
Flow Navigator の [Implementation] セ ク シ ョ ンで [Open Implemented Design] を ク リ ッ ク し ます。
•
[Flow] → [Open Implemented Design] を ク リ ッ ク し ます。
•
[Design Runs] ビ ュ ーで run の名前を ダブル ク リ ッ ク し ます。
ヒ ン ト : Flow Navigator の メ ニ ュ ーはア ク テ ィ ブ run の状態に よ っ て異な る ので、 ア ク テ ィ ブ run が イ ンプ リ メ ン ト さ
れ て い な い場合は [Open Implemented Design] コ マ ン ド が淡色表示に な っ て い る こ と が あ り ま す。 こ の場合、 Flow
Navigator で [Implementation] を右 ク リ ッ ク し て、 完了 し た イ ンプ リ メ ン テーシ ョ ン run の イ ンプ リ メ ン ト 済みデザ イ
ン を開 く こ と がで き ます。
図 3-11 に イ ンプ リ メ ン ト 済みデザ イ ンのデフ ォ ル ト ビ ュ ー レ イ ア ウ ト を表示 し ます。
注記 : [Device] ビ ュ ーには、 最後に閉 じ た と き の状態に よ り 、 配置のみが表示 さ れ る 場合 と 配線 も 表示 さ れ る 場合が
あ リ ます。 [Device] ビ ュ ーで [Routing Resources] ボ タ ン を ク リ ッ ク す る と 、 配置ま たは配線のみを表示す る よ う に表
示を切 り 替え る こ と がで き ます。
X-Ref Target - Figure 3-11
図 3‐11 : イ ン プ リ メ ン ト 済みデザイ ン を開 く
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
38
デザイ ン解析および制約の定義
最新でないデザイ ンのア ッ プデー ト
設計プ ロ セ ス では、 通常 ソ ース フ ァ イ ル ま たは制約の変更が必要です。 こ れ ら の フ ァ イ ルの依存性は Vivado IDE で
管理 さ れ、 表示 さ れてい る デザ イ ン デー タ が最新でな く な る と それが示 さ れ ます。 た と えば、 タ ーゲ ッ ト パーツや
ア ク テ ィ ブ制約セ ッ ト な ど のプ ロ ジ ェ ク ト 設定を変更す る と 、 デザ イ ンが最新の状態でな く な り ます。 ソ ース フ ァ イ
ル、 ネ ッ ト リ ス ト 、 ま たは イ ンプ リ メ ン テーシ ョ ン結果がア ッ プデー ト さ れ る と 、 開いた合成済みデザ イ ン ま たは イ
ンプ リ メ ン ト 済みデザ イ ンのデザ イ ン ビ ュ ー バナーに 「out-of-date」 と い う メ ッ セージが表示 さ れ、 run が最新の状
態ではない こ と が示 さ れます (図 3-12)。 デザ イ ンの ど の部分が最新ではないのか を確認する には、 [more info] リ ン ク
を ク リ ッ ク し ます。
X-Ref Target - Figure 3-12
図 3‐12 : デザイ ンの再読み込みが必要である こ と を示すバナー
デザ イ ン ビ ュ ー バナーか ら 、 最新でないデザ イ ンに対 し て次のいずれかの動作を実行 し ます。
•
[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] を ク リ ッ ク し 、 最新の状態でないデザ イ ン を閉 じ ます。
デザイ ン タ ス ク実行のためのビ ュ ー レ イ アウ ト の使用
デザ イ ン を開 く と 、 I/O 配置、 フ ロ アプ ラ ン、 デバ ッ グ コ ン フ ィ ギ ュ レーシ ョ ン な ど の特定のデザ イ ン タ ス ク を実行
し やすい よ う に し た複数のデフ ォ ル ト ビ ュ ーレ イ ア ウ ト が提供 さ れます (図 3-13)。 レ イ ア ウ ト を変更す る と 、特定の
デザ イ ン タ ス ク を実行す る のに適 し た ビ ュ ーが表示 さ れます。 カ ス タ ム ビ ュ ー レ イ ア ウ ト は、 [Save Layout As] コ マ
ン ド で作成で き ます。
注記 : デフ ォ ル ト ビ ュ ー レ イ ア ウ ト は、 デザ イ ンが開いてい る と き にのみ使用で き ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
39
デザイ ン解析および制約の定義
X-Ref Target - Figure 3-13
図 3‐13 : レ イ アウ ト の選択
デザイ ンへの変更の保存
Vivado IDE では、 メ モ リ でア ク テ ィ ブ デザ イ ン を イ ン タ ラ ク テ ィ ブに編集 し ます。 制約やネ ッ ト リ ス ト を変更 し た
り 、 消費電力解析特性、 ハー ド ウ ェ ア コ ン フ ィ ギ ュ レ ーシ ョ ン モー ド パ ラ メ ー タ ー、 デバ ッ グ コ ン フ ィ ギ ュ レ ー
シ ョ ン な ど のデザ イ ン パ ラ メ ー タ ーを変更 し た場合な どは、必ずデザ イ ン を保存する よ う に し て く だ さ い。 開いたデ
ザ イ ン を イ ン タ ラ ク テ ィ ブに編集す る 場合、 次のセ ク シ ョ ンに示す よ う に、 その変更点は元の XDC フ ァ イ ルに保存
す る か、 新 し い制約セ ッ ト に保存で き ます。
元の XDC 制約 フ ァ イルへの変更の保存
デザ イ ンに加えた変更を元の XDC 制約フ ァ イ ルに保存する には、 [File] → [Save Constraints] を ク リ ッ ク す る か、 ま た
はツールバーの [Save Constraints] ボ タ ン
を ク リ ッ ク し ます。
開いてい る デザ イ ンに対 し て加え ら れた制約、デバ ッ グ コ アお よ びコ ン フ ィ ギ ュ レーシ ョ ン、デザ イ ン コ ン フ ィ ギ ュ
レーシ ョ ン設定の変更がすべて保存 さ れ ます。 Vivado IDE では、 可能な限 り 元の フ ァ イ ル フ ォ ーマ ッ ト が保持 さ れ
ます。追加 し た制約は、フ ァ イ ルの最後に追加 さ れます。既存の制約への変更は、元の フ ァ イ ルの場所に保持 さ れます。
新 し い XDC 制約フ ァ イルへの変更の保存
デザ イ ンへの変更を新 し い制約セ ッ ト に保存す る には、[File] → [Save Constraints As] を ク リ ッ ク し て、新 し い制約フ ァ
イ ルを作成 し ます。
こ れに よ り 、 元の制約 ソ ース フ ァ イ ルを保持 し た ま ま で変更を保存で き ます。 新 し い制約セ ッ ト には、 変更を含むす
べてのデザ イ ン制約が含まれます。 こ の よ う にす る と 、 元の XDC ソ ース フ ァ イ ルを変更せずに保持で き ます。 新 し
い制約セ ッ ト を ア ク テ ィ ブに し てお く と 、次回の run の実行時やデザ イ ン を開いた と き に適用 さ れ る よ う にで き ます。
デザイ ン を閉 じ る
デザ イ ン を閉 じ る と 、 メ モ リ 内のデザ イ ン数を減 ら し 、 ソ ース を編集で き る 場所が複数にな る のを避け る こ と がで き
ます。 別のデザ イ ン表示に移動す る 前に、 デザ イ ン を閉 じ る よ う ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る こ と があ り ます。
デザ イ ン を閉 じ る には、 次のいずれか を実行 し ます。
•
デザ イ ンの タ イ ト ル バーで X ボ タ ン を ク リ ッ ク し ます。
•
Flow Navigator でデザ イ ン を右 ク リ ッ ク し 、 [Close] を ク リ ッ ク し ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
40
デザイ ン解析および制約の定義
メ ッ セージの表示
[Messages] ビ ュ ー (図 3-14) では、 メ ッ セージがエ ラ ー、 ク リ テ ィ カル警告、 警告、 情報、 ス テー タ ス と いっ た重要度
別に分類 さ れ ます。 [Messages] ビ ュ ーの上部にあ る チ ェ ッ ク ボ ッ ク ス のオ ン/オ フ を切 り 替え て、 表示す る メ ッ セー
ジ を選択で き ます。 メ ッ セージのカ テ ゴ リ を展開表示す る と 、 個々の メ ッ セージ を表示で き ます。 多 く の メ ッ セージ
には リ ン ク が含ま れてお り 、 ク リ ッ ク す る と RTL フ ァ イ ルの該当す る 行が開 き ま す。 ア ド バン ス な フ ィ ル タ ー方法
な ど の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 14] を参照 し て く だ さ い。
X-Ref Target - Figure 3-14
図 3‐14 : メ ッ セージの表示
レポー ト の表示
[Reports] ビ ュ ー (図 3-15) には、 複数の標準的な レ ポー ト が Tcl コ マ ン ド の launch_runs を使用 し て生成 さ れます。
レ ポー ト を ダブル ク リ ッ ク す る と 、 Vivado IDE テ キ ス ト エデ ィ タ ーで開 き ます。 [Tcl Console] ビ ュ ーで該当す る Tcl
コ マ ン ド を入力 し て、 カ ス タ ム レ ポー ト を作成する こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド :
Vivado IDE の使用』 (UG893) [参照 14] を参照 し て く だ さ い。
X-Ref Target - Figure 3-15
図 3‐15 : レポー ト の表示
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
41
デバイ スのプ ロ グ ラ ム、 ハー ド ウ ェ ア検証、 およびデバ ッ グ
イ ン プ リ メ ン テーシ ョ ン結果の解析 イ ン プ リ メ ン ト 済みデザ イ ン が開いてい る 場合は、 [Device] ビ ュ ーに配置配線結果が表示 さ れます。 [Timing Results]
ビ ュ ーで タ イ ミ ン グ パ ス を選択す る と 、 [Device] ビ ュ ーにその配置配線が表示 さ れます。 ま た、 配置配線を イ ン タ ラ
ク テ ィ ブに編集 し て、 デザ イ ン目標を達成 し た り 、 LUT 式、 RAM 初期化、 位相 ロ ッ ク ループ (PLL) コ ン フ ィ ギ ュ
レーシ ョ ン な ど のデザ イ ンの特性評価を実行す る こ と も で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デ
ザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
重要 : 変更は、 イ ンプ リ メ ン ト 済みデザ イ ンの イ ン メ モ リ バージ ョ ンにのみ加え ら れます。 run を リ セ ッ ト す る と 変
更は失われます。 変更を保存す る には、 第 4 章の 「デザ イ ン チ ェ ッ ク ポ イ ン ト へのデザ イ ンの変更点の保存」 に示す
よ う に、 [Save Checkpoint] コ マ ン ド を使用 し ます。
タ イ ミ ング解析の実行
Vivado IDE では、 タ イ ミ ン グ解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 [Tools] → [Timing] コ マ ン ド を使用
し て、 さ ま ざ ま な タ イ ミ ン グ解析パ ラ メ ー タ ーを使用 し てみて く だ さ い。 ク ロ ッ ク ネ ッ ト ワ ー ク レ ポー ト お よ び ク
ロ ッ ク の相互関係レ ポー ト には、 ク ロ ッ ク の ト ポ ロ ジお よ び関係を表示で き ます。 ス ラ ッ ク ヒ ス ト グ ラ ムには、 デザ
イ ン の全体的な タ イ ミ ン グ パフ ォ ーマ ン ス が表示 さ れ ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ
ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
ま た、 Vivado IDE には、 Tcl コ ン ソ ールお よ び SDC 制約オプシ ョ ン を使用 し て さ ま ざ ま な タ イ ミ ン グ解析オプシ ョ ン
が提供 さ れてい ます。 多数の標準レ ポー ト Tcl コ マ ン ド があ り 、 ク ロ ッ ク 構造、 ロ ジ ッ ク の関係、 デザ イ ンに適用 さ
れてい る 制約な ど に関す る 情報を取得で き ます。 詳細については、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ
イ ド 』 (UG835) [参照 12] を参照す る か、 help report_* を入力 し て く だ さ い。
DRC、 消費電力、 リ ソ ース使用率の解析
Vivado IDE では、 消費電力、 リ ソ ー ス使用率、 DRC 解析結果を グ ラ フ ィ カルに設定お よ び表示で き ます。 デザ イ ン
の ど の段階で も 、 消費電力パ ラ メ ー タ ーを指定 し てすばや く 消費電力を予測で き ます。 ま た、 さ ま ざ ま な タ イ プのデ
バ イ ス リ ソ ース使用率統計を解析で き る ほか、広範囲の DRC が用意 さ れてお り 、 ユーザーが設定 し て実行で き ます。
結果の レ ポー ト には、 問題のオブジ ェ ク ト への リ ン ク が含まれます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド :
デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 8] を参照 し て く だ さ い。
ヒ ン ト : 多数の標準 レ ポー ト Tcl コ マ ン ド が あ り 、 デザ イ ン に関す る 情報を取得で き ま す。 詳細は、 『Vivado Design
Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] を参照 し て く だ さ い。
デバイ スのプ ログ ラ ム、 ハー ド ウ ェ ア検証、 および
デバ ッ グ
Vivado IDE の Vivado ロ ジ ッ ク 解析環境には、デザ イ ン を検証お よ びデバ ッ グす る ための多数の機能があ り ます。 RTL
ま たは合成済みネ ッ ト リ ス ト に ILA (Integrated Logic Analyzer) や Debug Hub コ ア な ど の IP デバ ッ グ コ ア を コ ン フ ィ
ギ ュ レーシ ョ ンお よ び イ ンプ リ メ ン ト で き ます。 Vivado IDE で合成済みデザ イ ン を開 く と 、 必要なプ ロ ーブ信号を選
択 し て コ アに コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 ビ ッ ト ス ト リ ーム フ ァ イ ルが生成 さ れてい る ど の run に対 し て も 、
Vivado ロ ジ ッ ク 解析を起動 し てハー ド ウ ェ ア を検証で き ます。 ま た、 完了 し た ど の イ ンプ リ メ ン テーシ ョ ン run に対
し て も 、 ビ ッ ト ス ト リ ーム フ ァ イ ルを生成で き ま す。 ビ ッ ト ス ト リ ーム フ ァ イ ル生成オプシ ョ ン も 設定可能です。
Vivado デバ イ ス プ ロ グ ラ マーを起動 し てデバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンお よ びプ ロ グ ラ ム で き ます。 Vivado ロ
ジ ッ ク 解析は Vivado IDE か ら 直接実行で き 、 配線お よ びデバ イ ス リ ソ ース を解析で き ます。 詳細は、 『Vivado Design
Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 10] を参照 し て く だ さ い。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
42
第 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 ソ ース フ ァ イ ルが開いて、 該当する 行がハ イ ラ イ ト さ れます。
非プ ロ ジ ェ ク ト モー ド の利点
非プ ロ ジ ェ ク ト モー ド を使用す る と 、 デザ イ ン フ ロ ーの各段階を ユーザーが完全に制御で き ます。 こ のモー ド の場
合、 デザ イ ンはユーザーが手動で管理 し ます。
•
HDL ソ ース フ ァ イ ル、 制約、 お よ び IP の管理
•
依存性の管理
•
合成お よ び イ ンプ リ メ ン テーシ ョ ンの結果の生成お よ び保存
Vivado Design Suite には、 デザ イ ンお よ び IP を作成、 コ ン フ ィ ギ ュ レ ーシ ョ ン、 イ ン プ リ メ ン ト 、 解析、 管理す る
Vivado Tcl コ マ ン ド がすべて含まれます。 非プ ロ ジ ェ ク ト モー ド では、 Tcl コ マ ン ド を使用 し て次が実行で き ます。
•
フ ロ ー全体か ら デザ イ ン を コ ンパ イ ル
•
デザ イ ン を解析 し て レ ポー ト を作成
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
43
非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用
非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用
表 4-1 は、 基本的な非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド を示 し てい ま す。 非プ ロ ジ ェ ク ト モー ド を使用す る 場
合、 デザ イ ンは read_verilog、 read_vhdl、 read_edif、 read_ip、 お よ び read_xdc コ マ ン ド を使用 し て コ
ンパ イ ル さ れます。 ソ ースは コ ンパ イ ル用に順序付け ら れ、 合成に渡 さ れます。 Vivado Design Suite Tcl シ ェ ルま たは
Tcl バ ッ チ ス ク リ プ ト の使用に関す る 詳細は、 第 2 章の 「Tcl の使用」 を参照 し て く だ さ い。
注記 : こ の文書には、 使用可能な Tcl コ マ ン ド すべての説明が含ま れ る わけではあ り ません。 その他の コ マ ン ド につ
いては、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] お よ び 『Vivado Design Suite ユー
ザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 11] を参照 し て く だ さ い。
表 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 ネ ッ ト リ ス ト が使用 さ れます。
read_checkpoint
デザ イ ン チ ェ ッ ク ポ イ ン ト を イ ン メ モ リ デザ イ ンに読み込みます。
read_xdc
非プ ロ ジ ェ ク ト セ ッ シ ョ ン用に .sdc ま たは .xdc フ ォーマ ッ ト の制約 ソ ース フ ァ イ ルを読み込
みます。
set_param
set_property
デザ イ ン コ ン フ ィ ギ ュ レーシ ョ ン、 ツール設定の定義な ど、 さ ま ざ ま な目的に使用 し ます。
link_design
セ ッ シ ョ ンでネ ッ ト リ ス ト ソ ース を使用 し てい る 場合に、デザ イ ン を合成用に コ ンパ イ ル し ま
す。
synth_design
デザ イ ンの最上位モジ ュ ール と タ ーゲ ッ ト パーツ を引数 と し て Vivado 合成を実行 し ます。
opt_design
高レベルのデザ イ ン最適化を実行 し ます。
power_opt_design
シ ス テ ム全体の消費電力を削減す る ため ク ロ ッ ク ゲーテ ィ ン グ を実行 し ます(オプシ ョ ン)。
place_design
デザ イ ン を配置 し ます。
phys_opt_design
タ イ ミ ン グ ま たは配線性を向上す る ため物理 ロ ジ ッ ク 最適化を実行 し ます(オプシ ョ ン)。
route_design
デザ イ ン を配線 し ます。
report_*
デザ イ ン プ ロ セ ス の さ ま ざ ま な段階の レ ポー ト を生成 し ます。
write_bitstream
ビ ッ ト ス ト リ ーム フ ァ イ ルを生成 し て DRC を実行 し ます。
write_checkpoint
フ ロ ーの任意の段階でのデザ イ ン を保存 し ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト には、 ネ ッ ト リ ス
ト 、 制約 (フ ロ ーで実行 さ れた最適化を含む)、 イ ンプ リ メ ン テーシ ョ ン結果が含まれます。
start_gui
stop_gui
メ モ リ 内の現在のデザ イ ンで Vivado IDE を起動 し 、 終了 し ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
44
非プ ロ ジ ェ ク ト モー ド での Tcl コ マ ン ド の使用
非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト の例
次は、 Vivado Design Suite に含まれ る BFT サンプル デザ イ ンの非プ ロ ジ ェ ク ト モー ド の Tcl ス ク リ プ ト です。 デザ イ
ン チ ェ ッ ク ポ イ ン ト を使用 し て フ ロ ーの さ ま ざ ま な段階でデー タ ベース の状態を保存する 方法 と 、さ ま ざ ま な レ ポー
ト を手動で生成す る 方法を示 し てい ます。
# create_bft_batch.tcl
# bft sample design
# A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow
#
# NOTE:typical usage would be "vivado -mode tcl -source create_bft_batch.tcl"
#
# STEP#0: define output directory area.
#
set outputDir ./Tutorial_Created_Data/bft_output
file mkdir $outputDir
#
# STEP#1: setup design sources and constraints
#
read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ]
read_vhdl ./Sources/hdl/bft.vhdl
read_verilog [ glob ./Sources/hdl/*.v ]
read_xdc ./Sources/bft_full.xdc
#
# STEP#2: run synthesis, report utilization and timing estimates, write checkpoint
design
#
synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt
write_checkpoint -force $outputDir/post_synth
report_timing_summary -file $outputDir/post_synth_timing_summary.rpt
report_power -file $outputDir/post_synth_power.rpt
#
# STEP#3: run placement and logic optimization, report utilization and timing
estimates, write checkpoint design
#
opt_design
power_opt_design
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place
report_timing_summary -file $outputDir/post_place_timing_summary.rpt
#
# STEP#4: run router, report actual utilization and timing, write checkpoint design,
run drc, write verilog and xdc out
#
route_design
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt
report_timing -sort_by group -max_paths 100 -path_type summary -file
$output-Dir/post_route_timing.rpt
report_clock_utilization -file $outputDir/clock_util.rpt
report_utilization -file $outputDir/post_route_util.rpt
report_power -file $outputDir/post_route_power.rpt
report_drc -file $outputDir/post_imp_drc.rpt
write_verilog -force $outputDir/bft_impl_netlist.v
write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc
#
# STEP#5: generate a bitstream
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
45
デザイ ン ソ ースの読み込み
#
write_bitstream -force $outputDir/bft.bit
デザイ ン ソ ースの読み込み
非プ ロ ジ ェ ク ト モー ド の場合、 さ ま ざ ま なデザ イ ン ソ ース が イ ン メ モ リ デザ イ ンに読み込まれ、 イ ンプ リ メ ン テー
シ ョ ン ツールで処理 さ れます。 Vivado Design Suite の ソ ース フ ァ イ ルは、 read_verilog、 read_vhdl、 read_ip、
read_edif、 ま たは read_xdc な ど、 フ ァ イ ルの種類に よ っ てそれぞれ read_... で始ま る Tcl コ マ ン ド を使用 し
て読み込む こ と がで き ます。 ソ ース は、 Tcl ス ク リ プ ト ま たは イ ン タ ラ ク テ ィ ブな フ ロ ーが開始 さ れ る たびに読み込
む必要があ り ます。
サー ド パーテ ィ の合成済みネ ッ ト リ ス ト の使用
Vivado Design Suite では、 サー ド パーテ ィ の合成ツールを使用す る 場合な ど、 合成済みネ ッ ト リ ス ト の イ ン プ リ メ ン
テーシ ョ ンがサポー ト さ れます。 外部合成ツールでは、 Verilog ま たは EDIF ネ ッ ト リ ス ト と 制約フ ァ イ ルが生成 さ れ
ます。 こ れ ら のネ ッ ト リ ス ト は、 プ ロ ジ ェ ク ト モー ド ま たは非プ ロ ジ ェ ク ト モー ド のいずれかで、 ス タ ン ド ア ロ ン
で使用す る か、 RTL フ ァ イ ル と 混合 し て使用で き ます。
IP の操作
IP は、 RTL ソ ースお よ び制約を使用す る か、 合成済みデザ イ ン チ ェ ッ ク ポ イ ン ト を最上位デザ イ ンの ソ ース と し て
使用す る よ う に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 デフ ォ ル ト では、 各 IP に対 し て Out-of-Context (ス タ ン ド ア ロ ン)
のデザ イ ン チ ェ ッ ク ポ イ ン ト が生成 さ れます。
非プ ロ ジ ェ ク ト モー ド の場合、 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) [参照 16] を参照 し て く だ さ い。
ロ ジ ッ ク シ ミ ュ レーシ ョ ンの実行
Vivado IDE に統合 さ れてい る Vivado シ ミ ュ レー タ では、 デザ イ ンのシ ミ ュ レーシ ョ ン、 波形ビ ュ ーアーでの信号の
追加お よ び表示、 デザ イ ンの確認お よ びデバ ッ グ を必要に応 じ て実行で き ます。 Vivado シ ミ ュ レー タ は、 完全に統合
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
46
ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行
さ れた混合モー ド シ ミ ュ レー タ で、 アナ ロ グ波形を表示す る 機能を備え てい ます。 Vivado シ ミ ュ レー タ では、 デザ
イ ン の ビヘ イ ビ アー シ ミ ュ レーシ ョ ン、 構造シ ミ ュ レーシ ョ ン、 イ ン プ リ メ ン ト 済みデザ イ ン の タ イ ミ ン グ シ ミ ュ
レーシ ョ ン を実行で き ます。
ま たは、 開いてい る デザ イ ンの Verilog、 VHDL ネ ッ ト リ ス ト 、 お よ び SDF フ ォーマ ッ ト フ ァ イ ルを記述す る こ と に
よ り 、 サー ド パーテ ィ シ ミ ュ レー タ も 使用で き ます。 ModelSim お よ び Questa シ ミ ュ レー タ を Vivado IDE か ら 起動
で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 9] を参照 し て く だ さ い。
ロ ジ ッ ク合成および イ ン プ リ メ ン テーシ ョ ンの実行
非プ ロ ジ ェ ク ト モー ド では、 各 イ ンプ リ メ ン テーシ ョ ン手順は、 コ ン フ ィ ギ ュ レーシ ョ ン可能な Tcl コ マ ン ド を使用
し て起動 さ れ、 デザ イ ンは メ モ リ で コ ンパ イ ル さ れます。 イ ンプ リ メ ン テーシ ョ ン手順は、 「非プ ロ ジ ェ ク ト モー ド
の Tcl ス ク リ プ ト の例」 に示す よ う に、 特定の順序で実行する 必要があ り ます。 必要に応 じ て、 power_opt_design
ま たは phys_opt_design な ど の手順を実行す る こ と も で き ます。 非プ ロ ジ ェ ク ト モー ド では、 プ ロ ジ ェ ク ト モー
ド で し かサポー ト さ れない run ス ト ラ テ ジの代わ り に、 さ ま ざ ま な コ マ ン ド を使用 し て ツール動作を制御で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 6] を参照 し て く だ さ い。
重要なデザ イ ン手順の後は、 デザ イ ン解析お よ び制約の定義のためにデザ イ ン チ ェ ッ ク ポ イ ン ト を保存 し てお き ま
す。 デザ イ ン チ ェ ッ ク ポ イ ン ト は、 ビ ッ ト ス ト リ ームの生成を除 き 、 デザ イ ン プ ロ セ ス を続行す る ための開始ポ イ
ン ト と し ては使用で き ません。 こ れ ら は、 単に解析お よ び制約定義のためのデザ イ ンの スナ ッ プシ ョ ッ ト にすぎ ませ
ん。
ヒ ン ト : 各デザ イ ン手順が終了 し た ら 、 Vivado IDE を起動 し て、 「Vivado IDE を使用 し たデザ イ ン解析」 に示す方法
でア ク テ ィ ブなデザ イ ンに対 し て イ ン タ ラ ク テ ィ ブな グ ラ フ ィ カル デザ イ ン解析お よ び制約定義がで き ます。
レポー ト の生成
vivado.log お よ び vivado.jou を除 き 、 レ ポー ト は Tcl コ マ ン ド を使用 し て手動で生成す る 必要があ り ます。 デ
ザ イ ン プ ロ セ ス のど の段階で も 、 さ ま ざ ま な レ ポー ト を生成で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ
フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] ま た は 『Vivado Design Suite ユーザー ガ イ ド : イ ン プ リ メ ン テ ー シ ョ ン』
(UG904) [参照 6] を参照 し て く だ さ い。
デザイ ン チ ェ ッ ク ポ イ ン ト の使用
デザ イ ン チ ェ ッ ク ポ イ ン ト を使用す る と 、デザ イ ンの現在の状態の ス ナ ッ プシ ョ ッ ト を撮る こ と がで き ます。 現在の
ネ ッ ト リ ス ト 、 制約、 お よ び イ ンプ リ メ ン テーシ ョ ン結果が、 デザ イ ン チ ェ ッ ク ポ イ ン ト に保存 さ れます。 デザ イ ン
チ ェ ッ ク ポ イ ン ト を使用す る と 、 次が実行で き ます。
•
必要であればデザ イ ン を復元
•
デザ イ ン解析を実行
•
制約を定義
•
デザ イ ン フ ロ ーに従っ て処理
デザ イ ン チ ェ ッ ク ポ イ ン ト は、 フ ロ ーの異な る 段階で書 き 出す こ と がで き ます。 重要なデザ イ ン手順の後は、 デザ イ
ン解析お よ び制約の定義のためにデザ イ ン チ ェ ッ ク ポ イ ン ト を書 き 出 し てお き ます。 デザ イ ン チ ェ ッ ク ポ イ ン ト を
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
47
Vivado IDE を使用 し たデザイ ン解析
読み込む と デザ イ ン を復元で き る ので、 問題をデバ ッ グする 際に便利です。 デザ イ ン チ ェ ッ ク ポ イ ン ト は、 デザ イ ン
を現在の イ ンプ リ メ ン テーシ ョ ン状態ですべて保存 し た も のです。 デザ イ ン フ ロ ーの残 り は、 Tcl コ マ ン ド を使用 し
て実行で き ますが、 新規 ソ ース をデザ イ ンに追加す る こ と はで き ません。
注記 : Tcl コ マ ン ド の write_checkpoint <file_name>.dcp お よ び read_checkpoint <file_name>.dcp を
使用 し て も デザ イ ン チ ェ ッ ク ポ イ ン ト を書 き 込みお よ び読み出 し で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン
ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 12] を参照 し て く だ さ い。
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 を開いて メ モ リ にあ る 現在のデザ イ ン を解析お よ び操作で き
ます (図 4-1)。 Flow Navigator、 プ ロ ジ ェ ク ト サマ リ 、 ソ ースへのア ク セ スお よ び管理、 run な ど の Vivado IDE の機能
は非プ ロ ジ ェ ク ト モー ド では使用で き ませんが、 解析お よ び制約変更の機能の多 く は、 [Tools] メ ニ ュ ーか ら 使用で
き ます。
重要 : ただ し 、 メ モ リ 内のア ク テ ィ ブ デザ イ ン に対 し て Vivado IDE で加え た変更は、 自動的にはダ ウ ン ス ト リ ーム
ツールに適用 さ れません。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
48
Vivado IDE を使用 し たデザイ ン解析
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) [参照 12] を参照 し て く だ さ い。
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 のビ ュ ー バナーに、 開いてい る デザ イ ン チ ェ ッ ク ポ イ ン ト の名前が表示 さ れます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
49
Vivado IDE を使用 し たデザイ ン解析
X-Ref Target - Figure 4-2
図 4‐2 : Vivado IDE でデザイ ン チ ェ ッ ク ポ イ ン ト を開 く
デザイ ン チ ェ ッ ク ポ イ ン ト へのデザイ ンの変更点の保存
デザ イ ン チ ェ ッ ク ポ イ ン ト は開 き 、 解析 し 、 保存で き ます。 新 し いデザ イ ン チ ェ ッ ク ポ イ ン ト に変更を保存す る こ
と も で き ます。
•
[File] → [Save Checkpoint] を ク リ ッ ク し 、 現在のデザ イ ン チ ェ ッ ク ポ イ ン ト に加えた変更を保存 し ます。
•
[File] → [Write Checkpoint] を ク リ ッ ク し 、デザ イ ン チ ェ ッ ク ポ イ ン ト の現在の状態を新 し いデザ イ ン チ ェ ッ ク ポ
イ ン ト と し て保存 し ます。
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
japan.xilinx.com
Send Feedback
50
付録 A
その他の リ ソ ース
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照
し て く だ さ い。
http://japan.xilinx.com/support
ザ イ リ ン ク ス資料で使用 さ れ る 用語集については、 次を参照 し て く だ さ い。
http://japan.xilinx.com/company/terms.htm
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ
ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。
リ フ ァ レンス
1.
『Vivado Design Suite ユーザー ガ イ ド : エンベデ ッ ド ハー ド ウ ェ ア デザ イ ン』 (UG898)
2.
『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
3.
『Vivado Design Suite ユーザー ガ イ ド : System Generator を使用 し たモデルベース の DSP デザ イ ン』 (UG897)
4.
『Vivado Design Suite ユーザー ガ イ ド : 高位合成』 (UG902)
5.
『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901)
6.
『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904)
7.
『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク の配置』 (UG899)
8.
『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ ー テ ク ニ ッ ク 』 (UG906)
9.
『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
10. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
11. 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894)
12. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
13. 『Vivado Design Suite チ ュ ー ト リ アル : デザ イ ン フ ロ ーの概要』 (UG888)
14. 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893)
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
www.xilinx.com
Send Feedback
51
リ フ ァ レンス
15. 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベルのデザ イ ン入力』 (UG895)
16. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
17. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
18. Vivado Design Suite ビデオ チ ュ ー ト リ アル (japan.xilinx.com/training/vivado/index.htm)
19. Vivado Design Suite 資料ページ (http://japan.xilinx.com/support/documentation/dt_vivado2013-4.htm)
デザイ ン フ ローの概要
UG892 (v2013.4) 2013 年 12 月 18 日
www.xilinx.com
Send Feedback
52