Vivado Design Suite プロパティ リファレンス ガイド (UG912)

Vivado Design Suite
プ ロパテ ィ リ フ ァ レ ン ス
ガイ ド
UG912 (v2015.4) 2015 年 11 月 18 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
改訂内容
2015 年 11 月 18 日
2015.4
第 3 章の 「CASCADE_HEIGHT」 を追加
デザ イ ン階層の最上位での使用に関 し て第 3 章の 「CLOCK_DEDICATED_ROUTE」 に注
記を追加
UltraScale™ アーキテ ク チ ャ デバ イ ス のみに適用 さ れ る ロ ジ ッ ク 値に関 し て明確にする た
めの記述を、 第 3 章の 「USE_DSP48」 に追加
文章の若干変更
2015 年 10 月 08 日
2015.3
標準フ ォーマ ッ ト の図に置 き 換え
「CLOCK_BUFFER_TYPE」 と 「IO_BUFFER_TYPE」 と の関係に関 し て詳細な説明を追加
第 3 章の 「CLOCK_DELAY_GROUP」 を追加
第 3 章の 「USER_CLOCK_ROOT」 を追加 し 、 「CLOCK_ROOT」 がユーザー定義のプ ロ パ
テ ィ ではな く な っ た こ と を追記
「GENERATE_SYNTH_CHECKPOINT」 を追加
「INTERNAL_VREF」 に詳細を追加
「HIODELAY_GROUP」 と 第 3 章の 「IODELAY_GROUP」 と の違いに関 し て詳細な説明を
追加
DRC チ ェ ッ ク オブジ ェ ク ト プ ロ パテ ィ 「IS_ENABLED」 お よ び 「SEVERITY」 について
の詳細を追加
制約フ ァ イ ルの 「PROCESSING_ORDER」 に関 し て情報を追加
差動ペア信号の 「PULLTYPE」 に関す る パ ラ メ ー タ ー制御についての説明を追加
2015 年 6 月 24 日
2015.2
第 2 章に 「NODE」、 「PIP ま たは SITE_PIP」、 お よ び 「WIRE」 を追加
第 3 章の 「PULLTYPE」 を追加
2015 年 4 月 1 日
2015.1
第 1 章 「Vivado Design Suite フ ァ ース ト ク ラ ス オブジ ェ ク ト 」 のオブジ ェ ク ト リ ス ト を
カ テ ゴ リ 別に分類 し 、 第 2 章 「フ ァ ース ト ク ラ ス オブジ ェ ク ト リ ス ト (アルフ ァ ベ ッ ト
順)」 のオブジ ェ ク ト リ ス ト を アルフ ァ ベ ッ ト 別に分類
第 2 章に 「IO_BANK」、 「IO_STANDARD」、 「PACKAGE_PIN」、
「PKGPIN_BYTEGROUP」、 「PKGPIN_NIBBLE」、 お よ び 「SLR」 を追加
第 3 章に 「CLOCK_REGION」、 「DELAY_BYPASS」、 お よ び 「KEEP」 を追加
UltraScale 値を反映 さ せ る ため 第 3 章の 「INTERNAL_VREF」 を更新
第 3 章に 「KEEPER」、 「PULLDOWN」、 お よ び 「PULLUP」 を追加 し 、 RTL シ ミ ュ レー
シ ョ ンでは こ れ ら の属性が表示 さ れない こ と を示す注記を追加
第 3 章の 「LVDS_PRE_EMPHASIS」 お よ び 「PRE_EMPHASIS」 に
ENABLE_PRE_EMPHASIS も イ ネーブルにす る 必要があ る こ と を追記
第 3 章の 「POST_CRC_SOURCE」 に、 こ のプ ロ パテ ィ が 7 シ リ ーズ FPGA にのみ適用 さ
れ る こ と を示す記述を追加.
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
2
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
本書か ら 例を コ ピーす る 場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ブ ロ ッ ク デザ イ ン オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アルフ ァ ベ ッ ト 順)
BD_ADDR_SEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_ADDR_SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_CELL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_INTF_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_INTF_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_INTF_PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BD_PORT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BEL_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_REGION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_AXI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_BITSTREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_CFGMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_DEVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_ILA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_ILA_DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_PROBE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_GT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_GTGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_IBERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_RX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SIO_TX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_SYSMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HW_TARGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
13
15
17
19
20
22
24
25
26
28
32
34
37
39
41
42
43
45
46
49
51
52
53
54
64
65
67
68
74
78
81
3
HW_VIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IO_BANK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IO_STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PACKAGE_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
84
86
88
91
93
95
PIP ま たは SITE_PIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
PKGPIN_BYTEGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
PKGPIN_NIBBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
SITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
SLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
TILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
TIMING_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
WIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
第 3 章 : 主な プ ロパテ ィ の説明
プ ロ パテ ィ 情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASYNC_REG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BLACK_BOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CASCADE_HEIGHT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CFGBVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_DEDICATED_ROUTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_DELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_REGION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK_ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG_VOLTAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONTAIN_ROUTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DCI_CASCADE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELAY_BYPASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIFF_TERM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIFF_TERM_ADV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIRECT_ENABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIRECT_RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DONT_TOUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DRIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EDIF_EXTRA_SEARCH_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EQUALIZATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXCLUDE_PLACEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FSM_ENCODING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FSM_SAFE_STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GATED_CLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GENERATE_SYNTH_CHECKPOINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
119
120
123
125
126
126
127
128
130
132
133
134
135
137
138
139
140
141
143
145
146
147
150
152
153
154
155
156
157
159
H_SET お よ び HU_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
HIODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
4
HLUTNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IBUF_LOW_PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IN_TERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERNAL_VREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IO_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOBDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOSTANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IP_REPO_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IS_ENABLED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KEEP_COMPATIBLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KEEP_HIERARCHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KEEPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOCK_PINS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LUTNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LVDS_PRE_EMPHASIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MARK_DEBUG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAX_FANOUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ODT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OFFSET_CNTRL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PACKAGE_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PATH_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PBLOCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POST_CRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POST_CRC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POST_CRC_FREQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POST_CRC_INIT_FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POST_CRC_SOURCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRE_EMPHASIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROCESSING_ORDER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROHIBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PULLDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PULLTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PULLUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REF_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REF_PIN_NAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RLOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RLOCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RLOC_ORIGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROUTE_STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPM_GRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SEVERITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SLEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
U_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
USE_DSP48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
USED_IN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
166
169
170
172
173
175
176
178
180
182
183
185
187
188
191
193
195
198
201
202
204
205
206
207
209
210
211
213
214
215
216
218
219
220
221
222
224
226
227
228
231
233
235
236
237
239
240
242
245
246
5
USER_CLOCK_ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
VCCAUX_IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
付録 A : その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
252
252
252
253
254
6
第 1章
Vivado Design Suite フ ァ ース ト ク ラ ス オブ
ジェク ト
概要
本書では、 フ ァ ース ト ク ラ ス オブジ ェ ク ト 、 ザ イ リ ン ク ス Vivado® Design Suite で使用可能なオブジ ェ ク ト のプ ロ パ
テ ィ について説明 し ます。 含まれ る 内容は次の と お り です。
•
第 1 章 Vivado Design Suite フ ァ ース ト ク ラ ス オブジ ェ ク ト は、 FPGA デザ イ ン デー タ ベース を モデル化す る た
め Vivado Design Suite で使用 さ れ る さ ま ざ ま なデザ イ ンお よ びデバ イ ス のオブジ ェ ク ト について説明 し ます。 カ
テ ゴ リ 別にオブジ ェ ク ト を示 し 、 次の章のオブジ ェ ク ト の説明への リ ン ク を示 し ます。
•
第 2 章 「フ ァ ース ト ク ラ ス オブジ ェ ク ト リ ス ト (アルフ ァ ベ ッ ト 順)」 は、 Vivado Design Suite のフ ァ ース ト ク ラ
ス オブジ ェ ク ト を アルフ ァ ベ ッ ト 順に リ ス ト し てい ます。 オブジ ェ ク ト の定義、 関連オブジ ェ ク ト の リ ス ト 、 各
オブジ ェ ク ト に関連付け ら れてい る プ ロ パテ ィ の リ ス ト を含みます。
•
第 3 章 「主なプ ロ パテ ィ の説明」 : Vivado Design Suite プ ロ パテ ィ の説明、 サポー ト さ れてい る アーキ テ ク チ ャ 、
適用可能エ レ メ ン ト 、 値、 構文例 (Verilog、 VHDL、 XDC)、 影響のあ る デザ イ ン フ ロ ー ス テ ッ プな ど について項
目別に説明 し ます。
•
付録 A 「その他の リ ソ ース」 : http://japan.xilinx.com/support のザ イ リ ン ク ス サポー ト ウ ェ ブサ イ ト か ら 入手可能
な リ ソ ースお よ び資料を リ ス ト し ます。
本書から例を コ ピーする場合
注意 : 本書か ら コ ー ド に構文ま たは コ ー ド 例を コ ピーする 前に、 こ のセ ク シ ョ ン を よ く お読み く だ さ い。
本書には、 構文お よ び コ ー ド 例が多 く 含 ま れ、 コ ー ド にプ ロ パテ ィ を挿入で き る よ う にな っ てい ま す。 こ れ ら の コ
ピーを PDF か ら 直接 コ ー ド に コ ピーす る 場合、 次の よ う な問題が発生す る 場合があ り ます。
•
ダ ッ シ ュ (-) は、 PDF か ら Vivado ツールの Tcl コ ン ソ ール、 Tcl ス ク リ プ ト 、 ま たは XDC フ ァ イ ルへ貼 り 付け る
と き 、 en ダ ッ シ ュ ま たは em ダ ッ シ ュ に置 き 換え ら れ る こ と があ り ます。
•
PDF 資料の改行マー ク が例に挿入 さ れて し ま い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。
•
次のページに ま たが る よ う な例を コ ピーす る と 、PDF のヘ ッ ダーお よ びフ ッ タ ー情報 も 一緒に コ ピー さ れて し ま
い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。
こ れ ら の問題を回避す る には、 ASCII テ キ ス ト エデ ィ タ ーで コ ー ド 例にあ る 不必要なマーカーや情報を削除 し てか
ら 、 コ ー ド 、 Vivado Design Suite の Tcl シ ェ ル、 ま たは Tcl コ ン ソ ールに貼 り 付け る よ う に し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
7
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
ネ ッ ト リ ス ト およびデバイ ス オブ ジ ェ ク ト
Vivado Design Suite では、 イ ン メ モ リ デザ イ ン デー タ ベース で数多 く の フ ァ ース ト ク ラ ス オブジ ェ ク ト がサポー ト
さ れてい ます。 こ のオブジ ェ ク ト は、 論理デザ イ ンのセル、 ネ ッ ト 、 ポー ト のほか、 タ ーゲ ッ ト ザ イ リ ン ク ス デバ
イ ス のデバ イ ス リ ソ ース、 プ ラ ッ ト フ ォーム ボー ド 、 Vivado Design Suite 特有の機能で使用 さ れ る オブジ ェ ク ト (IP
イ ン テ グ レー タ ーで使用 さ れ る ブ ロ ッ ク デザ イ ン オブジ ェ ク ト や Vivado ハー ド ウ ェ ア マネージ ャ ーで使用 さ れ る
ハー ド ウ ェ ア オブジ ェ ク ト な ど) です。論理デザ イ ンのネ ッ ト リ ス ト オブジ ェ ク ト は、Vivado Design Suite で タ ーゲ ッ
ト デバ イ ス ま たはボー ド のデバ イ ス オブジ ェ ク ト にマ ッ プ さ れ ま す。 8 ページの図 1-1は、 Vivado ツールの一部の
フ ァ ース ト ク ラ ス オブジ ェ ク ト の関係を表 し てい ます。 こ の図は例示用で、 すべての Vivado ツールのフ ァ ース ト ク
ラ ス オブジ ェ ク ト やその関係を示 し てい る わけではあ り ません。
X-Ref Target - Figure 1-1
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
%HO
:LUH
3DFNDJH
3LQ
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 1‐1 : ネ ッ ト リ ス ト およびデバイ ス オブ ジ ェ ク ト
図 1-1 の上部に表示 さ れてい る ネ ッ ト リ ス ト オブジ ェ ク ト は、 FPGA にプ ロ グ ラ ムす る ための論理デザ イ ンの一部で
す。 図の下半分の青色で表示 さ れてい る デバ イ ス オブジ ェ ク ト は、 実際の物理的な FPGA デバ イ ス の一部で、 ク ロ ッ
ク 領域、 タ イ ル、 サ イ ト 、 CLB な ど のエ リ ア リ ソ ース が含まれます。 ま た、 デバ イ ス オブジ ェ ク ト には、 緑色で表
示 さ れてい る パ ッ ケージ ピ ンお よ び I/O バン ク 、 紫色で表示 さ れてい る ノ ー ド 、 ワ イ ヤ、 PIP な ど の配線 リ ソ ース も
含まれてい ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
8
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
Vivado Design Suite には、ネ ッ ト リ ス ト デザ イ ン と 一緒に ま と め ら れて タ イ ミ ン グ レ ポー ト を作成する タ イ ミ ン グ オ
ブジ ェ ク ト な ど、 フ ァ ース ト ク ラ ス オブジ ェ ク ト のカ テ ゴ リ がほかに も あ り ます。 ネ ッ ト リ ス ト お よ びデバ イ ス オ
ブジ ェ ク ト に関連付け ら れてい る タ イ ミ ン グ オブジ ェ ク ト を利用する こ と で、イ ンプ リ メ ン ト さ れたデザ イ ンの タ イ
ミ ン グ解析を完全に行 う こ と がで き ます。 タ イ ミ ン グ オブジ ェ ク ト には、 ク ロ ッ ク 、 タ イ ミ ン グ パ ス、 遅延オブジ ェ
ク ト があ り ます。
オブジ ェ ク ト 間の関連性は、 オブジ ェ ク ト 同士を結ぶ矢印で示 さ れてい ます。
•
矢印が両方のオブジ ェ ク ト を指 し てい る 場合は、 ク エ リ ーを ど ち ら の方向か ら も 指定で き る 関係であ る こ と を示
し てい ます。 た と えば、 特定ネ ッ ト に接続 さ れてい る セル (get_cells -of_objects [get_nets]) を ク エ
リ ー処理 し た り 、 特定セルに接続 さ れてい る ネ ッ ト (get_nets -of_objects [get_cells]) を ク エ リ ー処
理す る こ と がで き ます。
•
矢印が一方のみを指 し てい る 場合は、 その矢印の方向にのみ ク エ リ ーを指定で き る 関係であ る こ と を示 し てい ま
す。 た と えば、 図 1-1 の例を使用 し て説明す る と 、 特定 ク ロ ッ ク 領域に あ る 基本エ レ メ ン ト は取得で き ま すが
(get_bels -of_objects [get_clock_regions])、 特定の基本エ レ メ ン ト に関連付け ら れた ク ロ ッ ク 領域
を取得す る こ と はで き ません。
フ ァ ース ト ク ラ ス オブジ ェ ク ト の説明、 ほかのオブジ ェ ク ト と の関係、 オブジ ェ ク ト で定義 さ れてい る プ ロ パテ ィ
については、 後で説明 し ます。
ネ ッ ト リ ス ト オブ ジ ェ ク ト
34 ページの 「CELL」
37 ページの 「CLOCK」
88 ページの 「NET」
95 ページの 「PIN」
104 ページの 「PORT」
115 ページの 「TIMING_PATH」
デバイ ス リ ソ ース オブ ジ ェ ク ト
28 ページの 「BEL」
32 ページの 「BEL_PIN」
39 ページの 「CLOCK_REGION」
84 ページの 「IO_BANK」
86 ページの 「IO_STANDARD」
91 ページの 「NODE」
93 ページの 「PACKAGE_PIN」
98 ページの 「PIP ま たは SITE_PIP」
100 ページの 「PKGPIN_BYTEGROUP」
102 ページの 「PKGPIN_NIBBLE」
107 ページの 「SITE」
110 ページの 「SLR」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
9
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
112 ページの 「TILE」
117 ページの 「WIRE」
ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト
ブ ロ ッ ク デザ イ ンは、 イ ン タ ーコ ネ ク ト さ れた IP コ アか ら 成 り 立つ複雑なサブシ ス テ ム デザ イ ンで、 ス タ ン ド ア ロ
ン デザ イ ン と し て使用で き る ほか、 その他のデザ イ ン に統合す る こ と も で き ます。 ブ ロ ッ ク デザ イ ン ま たはダ イ ア
グ ラ ム は、 Vivado Design Suite の IP イ ン テ グ レ ー タ ー機能を使用 し て作成で き ま す。 こ れ ら は、 Vivado Design Suite
IDE の IP イ ン テ グ レー タ ーのキ ャ ンバ ス、 ま たは Tcl コ マ ン ド を使用 し て イ ン タ ラ ク テ ィ ブに作成で き ます。
ブ ロ ッ ク デザ イ ン ダ イ ア グ ラ ム オブジ ェ ク ト は、 前に説明 し たネ ッ ト リ ス ト オブジ ェ ク ト に構造的にかな り 類似 し
てい ます。 図 1-2 は、 ブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム を構成す る 異な る デザ イ ン オブジ ェ ク ト 間の関係を示
し てい ます。
X-Ref Target - Figure 1-2
EGBSLQ
GLDJUDP
EGBSRUW
EGBLQWIBSRUW
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
EGBDGGUBVHJ
;
図 1‐2 : ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト 次の図に示す よ う に、 ブ ロ ッ ク ダ イ ア グ ラ ム オブジ ェ ク ト には次が含まれます。
41 ページの 「DIAGRAM」
15 ページの 「BD_ADDR_SPACE」
13 ページの 「BD_ADDR_SEG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
10
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
17 ページの 「BD_CELL」
19 ページの 「BD_INTF_NET」
20 ページの 「BD_INTF_PIN」
22 ページの 「BD_INTF_PORT」
24 ページの 「BD_NET」
25 ページの 「BD_PIN」
26 ページの 「BD_PORT」
ハー ド ウ ェ ア マネージ ャ ー オブ ジ ェ ク ト
ハー ド ウ ェ ア マネージ ャ ーは Vivado Design Suite の機能で、 デバ イ ス プ ロ グ ラ マーま たはデバ ッ グ ボー ド へ接続 し
た り 、 プ ロ グ ラ ム さ れたハー ド ウ ェ ア デバ イ ス を実行 し た り で き ます。 ハー ド ウ ェ ア マネージ ャ ーを使用す る と 、デ
バ イ ス 上のデバ ッ グ ロ ジ ッ ク を実行 し て、 現在の値を設定 ま たは取 り 出す信号に ア ク セ ス で き る よ う にな り ま す。
図 1-3 は、 Vivado ハー ド ウ ェ ア マネージ ャ ーのデバ ッ グ コ ア と オブジ ェ ク ト の多 く を示 し てい ます。
X-Ref Target - Figure 1-3
KZBFIJPHP
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
KZBVLRBVZHHS
KZBVLRBVFD
Q
KZBD[L
KZBV\VPRQ
KZBLOD
KZBVLRBLEHUW
KZBYLR
KZBVLRBOLQN
KZBV\VPRQBUHJ
KZBSUREH
KZBVLRBJW
KZBVLRBSOO
KZBVLRBOLQNJURXS
KZBD[LBW[Q
KZBLODBGDWD
KZBVLRBW[
KZBVLRBU[
KZBVLRBJWJURXS
;
図 1‐3 : ハー ド ウ ェ ア マネージ ャ ー オブ ジ ェ ク ト デバ ッ グ コ アは、ザ イ リ ン ク ス IP カ タ ロ グ を使用 し て RTL デザ イ ンに イ ン ス タ ン シエー ト で き ます。 ILA ま たは VIO
デバ ッ グ コ アの場合は、 ネ ッ ト リ ス ト ベー ス のデバ ッ グ フ ロ ーを使用 し て合成済みネ ッ ト リ ス ト に挿入で き ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 23] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
11
第 1 章 : Vivado Design Suite フ ァ ース ト ク ラ ス オブ ジ ェ ク ト
上記の図に示す よ う に、 Vivado ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト には次の も のが含まれます。
42 ページの 「HW_AXI」
43 ページの 「HW_BITSTREAM」
45 ページの 「HW_CFGMEM」
46 ページの 「HW_DEVICE」
49 ページの 「HW_ILA」
51 ページの 「HW_ILA_DATA」
52 ページの 「HW_PROBE」
53 ページの 「HW_SERVER」
54 ページの 「HW_SIO_GT」
64 ページの 「HW_SIO_GTGROUP」
65 ページの 「HW_SIO_IBERT」
67 ページの 「HW_SIO_PLL」
68 ページの 「HW_SIO_RX」
74 ページの 「HW_SIO_TX」
78 ページの 「HW_SYSMON」
81 ページの 「HW_TARGET」
82 ページの 「HW_VIO」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
12
第 2章
フ ァース ト ク ラス オブジ ェ ク ト リ ス ト (アル
フ ァベッ ト 順)
BD_ADDR_SEG
説明
ア ド レ ス セグ メ ン ト (bd_addr_seg オブジ ェ ク ト ) は、 メ モ リ 範囲の位置お よ びサ イ ズ を示す も ので、 範囲 (サ イ ズ) と
オプシ ョ ンで開始オ フ セ ッ ト を含みます。
さ ま ざ ま な メ モ リ マ ッ プ さ れたマ ス タ ーお よ びス レーブ イ ン タ ーフ ェ イ ス の場合、 IP イ ン テ グ レー タ ーで業界標準
の IP-XACT デー タ フ ォーマ ッ ト に従っ て、終点のマ ス タ ーお よ びス レーブの メ モ リ 要件お よ び機能を取 り 込みます。
ア ド レ ス指定可能な ス レーブ イ ン タ ーフ ェ イ ス では、 メ モ リ マ ッ プ と 呼ばれ る ア ド レ ス セグ メ ン ト コ ン テナーが参
照 さ れます。 こ れ ら の メ モ リ マ ッ プには、 た と えば S_AXI の よ う に、 通常ス レーブ イ ン タ ーフ ェ イ ス ピ ンに従っ て
名前がつけ ら れます (必須ではあ り ません)。
メ モ リ マ ッ プには、 ス レーブ ア ド レ ス セグ メ ン ト が含まれます。 こ れ ら のア ド レ ス セグ メ ン ト は、 メ モ リ マ ッ プ を
参照す る ス レーブ イ ン タ ーフ ェ イ ス のア ド レ ス デ コ ー ド ウ ィ ン ド ウ に該当 し ま す。 メ モ リ マ ッ プで指定 さ れ る 場
合、 ス レーブ セ グ メ ン ト には範囲を含め る 必要があ る ほか、 オプシ ョ ン でハー ド オ フ セ ッ ト ( ス レ ーブがそのオ フ
セ ッ ト ま たはアパーチ ャ にあ る マ ス タ ー ア ド レ ス空間にのみマ ッ プ可能な こ と を示す) を含め る こ と がで き ます。
た と えば、 通常 AXI4-Lite ス レーブ イ ン タ ーフ ェ イ ス は、 メ モ リ 範囲を示す 1 つのア ド レ ス セグ メ ン ト のみを使用 し
て ア ド レ ス セ グ メ ン ト を参照 し ますが、 ブ リ ッ ジの よ う に、 ス レーブの中には複数のア ド レ ス セ グ メ ン ト が含まれ
た り 、 各ア ド レ ス デ コ ー ド ウ ィ ン ド ウ のア ド レ ス範囲が含ま れ る も のがあ り ます。
ス レ ーブ ア ド レ ス セ グ メ ン ト は、 assign_bd_address ま たは create_bd_addr_seg コ マ ン ド を使用 し てマ ス
タ ー ア ド レ ス空間に割 り 当て ら れます。
マ ス タ ー イ ン タ ーフ ェ イ ス のア ド レ ス を指定す る と 、 ア ド レ ス空間 (bd_addr_space) と 呼ばれ る ア ド レ ス セグ メ ン ト
コ ン テナーが参照 さ れ ま す。 こ のア ド レ ス空間はセルの イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin) で参照 さ れ ま す。 外部
AXI マ ス タ ーの場合、 ア ド レ ス空間は外部 イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) で参照 さ れ ます。 さ ま ざ ま なプ ロ
ト コ ルの複数の イ ン タ ーフ ェ イ ス は、 同 じ マ ス タ ー ア ド レ ス空間を参照 し ます。 た と えば、 MicroBlaze プ ロ セ ッ サの
デー タ ア ド レ ス空間は、 DLMB、 M_AXI_DP、 お よ び M_AXI_DC イ ン タ ーフ ェ イ ス で参照 さ れます。
ア ド レ ス空間には、 マ ス タ ー ア ド レ ス セグ メ ン ト が含まれます。 こ れ ら のマ ス タ ー ア ド レ ス セグ メ ン ト はマ ス タ ー
ア ド レ ス空間に割 り 当て ら れた ス レーブ ア ド レ ス セグ メ ン ト と 、 マ ス タ ーがア ク セ スす る オ フ セ ッ ト と 範囲を参照
し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
13
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-1
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
EGBDGGUBVHJ
;
図 2‐1 : ブ ロ ッ ク デザイ ンのア ド レ ス空間およびア ド レ ス セグ メ ン ト
bd_addr_seg オブジ ェ ク ト は、 マ ス タ ー ア ド レ ス セ グ メ ン ト と ス レ ーブ ア ド レ ス セ グ メ ン ト の両方を参照 し ま す。
bd_addr_space オブジ ェ ク ト は、 メ モ リ マ ッ プ と マ ス タ ー ア ド レ ス空間の両方を参照 し ます。
関連す る ア ド レ ス空間 と ア ド レ ス セグ メ ン ト 間は、 すべて取得で き ます。 次は、 その例です。
# Get the slave address segments of a memory map space.
get_bd_addr_segs -of_objects [get_bd_addr_spaces /mdm_1/S_AXI]
# Get the master address segments of amaster address space.
get_bd_addr_segs -of_objects [get_bd_addr_spaces /Microblaze_0/Data]
# Get the slave adress segment from its referenced master address segment, or the
# master address segment from its referencing slave address segment.
get_bd_addr_segs -of_objects [get_bd_addr_segs <slave or master>_segment]
# Get the addr_segs referencing/referenced by interfaces.
# Get all Master or slave interfaces.
set vMB [get_bd_intf_pins -of_objects [get_bd_cells *] -filter {Mode == "Master"}]
set vSB [get_bd_intf_pins -of_objects [get_bd_cells *] -filter {Mode == "Slave"}]
# Get master segments
set vMS [get_bd_addr_segs -of_objects $vMB]
# Get slave segments
set vSS [get_bd_addr_segs -of_objects $vSB]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
14
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ
次に、 ブ ロ ッ ク デザ イ ンのア ド レ ス セグ メ ン ト オブジ ェ ク ト (bd_addr_seg) のプ ロ パテ ィ と 値の例を示 し ます。
Property Type
Read-only Visible Value
ACCESS
string true
true
read-write
CLASS
string true
true
bd_addr_seg
MEMTYPE
string false
true
data
NAME
string false
true
SEG_mig_0_C0_DDR4_ADDRESS_BLOCK
OFFSET
string false
true
0x80000000
PATH
string true
true
/microblaze_0/Data/SEG_mig_0_C0_DDR4_ADDRESS_BLOCK
RANGE
string false
true
2147483648
USAGE
string false
true
register
bd_addr_seg オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_addr_segs ] 0]
BD_ADDR_SPACE 説明
ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) は、 マ ス タ ー イ ン タ ーフ ェ イ ス、 ま たはブ ロ ッ ク デザ イ ン外部の AXI マ
ス タ ーへ接続 さ れた AXI イ ン タ ーフ ェ イ ス ポー ト の論理的にア ド レ ス指定可能な メ モ リ 空間に割 り 当て ら れます。
Vivado Design Suite の IP イ ン テ グ レー タ ーは、 業界標準の IP-XACT デー タ フ ォーマ ッ ト に従っ て、 メ モ リ 要件お よ
び機能を キ ャ プチ ャ し ます。ブ ロ ッ ク の中には複数のマ ス タ ー イ ン タ ーフ ェ イ ス に関連す る ア ド レ ス空間が 1 つ含ま
れ る も のがあ り ま す。 た と えば、 シ ス テ ム バ ス お よ び高速 メ モ リ バ ス の付いたプ ロ セ ッ サな ど です。 その他の コ ン
ポーネ ン ト には、 複数のマ ス タ ー イ ン タ ーフ ェ イ ス (命令用 1 つ、 デー タ 用 1 つ) に関連す る ア ド レ ス空間が複数含
まれ る も のがあ り ます。
マ ス タ ー イ ン タ ーフ ェ イ ス は、 ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) を参照 し ます。 AXI ス レーブがマ ス タ ー
ア ド レ ス空間にマ ッ プ さ れ る 場合は、 マ ス タ ー ア ド レ ス セグ メ ン ト (bd_addr_seg) オブジ ェ ク ト が作成 さ れ、 ス レー
ブのア ド レ ス セグ メ ン ト がマ ス タ ーへマ ッ プ さ れます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
15
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-2
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
EGBDGGUBVHJ
;
図 2‐2 : ブ ロ ッ ク デザイ ンのア ド レ ス空間およびア ド レ ス セグ メ ン ト
マ ス タ ー ア ド レ ス セグ メ ン ト (bd_addr_seg) は、 ブ ロ ッ ク デザ イ ンで見つか っ た AXI マ ス タ ー イ ン タ ーフ ェ イ ス の
ア ド レ ス空間に関連付け ら れてお り 、 ア ド レ ス空間はセルの イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin) で参照 さ れます。 外
部 AXI マ ス タ ーは、 イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) に関連 し てい ます。
こ れ ら の関連オブジ ェ ク ト の bd_addr_space オブジ ェ ク ト は、 次を使用する と 取得で き ます。
get_bd_addr_spaces -of_objects [get_bd_cells /microblaze_0]
get_bd_addr_segs -of_objects [get_bd_addr_spaces -of_objects [get_bd_cells
/microblaze_0]]
次を使用す る と 、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間に関連する オブジ ェ ク ト を取得する こ と も で き ます。
get_bd_intf_pins -of_objects [get_bd_addr_spaces *SLMB]
プ ロパテ ィ
次に、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間オブジ ェ ク ト (bd_addr_space) のプ ロ パテ ィ と 値の例を示 し ます。
Property Type
Read-only Visible Value
CLASS
string true
true
bd_addr_space
NAME
string false
true
SLMB
OFFSET
string false
true
PATH
string true
true
/microblaze_0_local_memory/dlmb_bram_if_cntlr/SLMB
RANGE
string false
true
4096
TYPE
string false
true
bd_addr_space オブジ ェ ク ト のプ ロ パテ ィ を確認する には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ
ルま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_addr_spaces ] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
16
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
BD_CELL 説明
ブ ロ ッ ク デザ イ ン セル (bd_cell オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ーの IP コ ア オブジ ェ ク ト の イ ン ス タ ン ス、 ま
たは階層ブ ロ ッ ク デザ イ ン セルです。 最下位セルは、 IP カ タ ロ グか ら の コ アです。 階層セルはモジ ュ ールま たはブ
ロ ッ ク で、 1 つ以上の レベルの ロ ジ ッ ク を含み、 最下位セル も 含みます。
bd_cell オブジ ェ ク ト の TYPE プ ロ パテ ィ では、ブ ロ ッ ク デザ イ ン セルが IP カ タ ロ グか ら の最下位セル と し て (TYPE
== IP)、 ま たは追加 ロ ジ ッ ク を含む階層モジ ュ ール と し て (TYPE == HIER) 識別 さ れます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-3
EGBSLQ
GLDJUDP
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
図 2‐3 : ブ ロ ッ ク デザイ ン セル 図 2-3 に示す よ う に、 ブ ロ ッ ク デザ イ ン セル (bd_cell) はブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム オブジ ェ ク ト に含ま
れ ます。 セルには、 ブ ロ ッ ク デザ イ ン ピ ン (bd_pin) と イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin) があ り ます。 ま た、 階層
にブ ロ ッ ク デザ イ ン ポー ト (bd_port) お よ び イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) を含め る こ と がで き ます。こ れ ら
は、 ネ ッ ト (bd_net) お よ び イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net) に よ り 接続 さ れます。 メ モ リ 関連のブ ロ ッ ク デザ イ
ン セルには、ア ド レ ス空間 (bd_addr_space) と ア ド レ ス セグ メ ン ト (bd_addr_seg) も 含め る こ と がで き ます。た と えば、
次を使用す る と 、 こ れ ら のオブジ ェ ク ト に関連す る ブ ロ ッ ク デザ イ ン セルを取得で き ます。
get_bd_cells -of_objects [get_bd_addr_spaces]
次を使用す る と 、 ブ ロ ッ ク デザ イ ン セルに関連す る オブジ ェ ク ト を取得で き ます。
get_bd_addr_spaces -of_objects [get_bd_cells]
ま た、 次を使用す る と 、 別のブ ロ ッ ク デザ イ ン セルの階層的オブジ ェ ク ト であ る ブ ロ ッ ク デザ イ ン セルを取得す る
こ と も で き ます。
get_bd_cells -of_objects [get_bd_cells microblaze_0_axi_periph]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
17
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ
ブ ロ ッ ク デザ イ ン セル オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのオブジ ェ ク ト の示すネ ッ ト の タ イ プに よ っ て異な
り ます。 次の表には、 Vivado Design Suite で bd_cell オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値の例 と
共に リ ス ト し てい ます。
Property
CLASS
CONFIG.C_BRK
CONFIG.C_DATA_SIZE
CONFIG.C_DBG_MEM_ACCESS
CONFIG.C_DBG_REG_ACCESS
CONFIG.C_INTERCONNECT
CONFIG.C_JTAG_CHAIN
CONFIG.C_MB_DBG_PORTS
CONFIG.C_M_AXIS_DATA_WIDTH
CONFIG.C_M_AXIS_ID_WIDTH
CONFIG.C_M_AXI_ADDR_WIDTH
CONFIG.C_M_AXI_DATA_WIDTH
CONFIG.C_M_AXI_THREAD_ID_WIDTH
CONFIG.C_S_AXI_ACLK_FREQ_HZ
CONFIG.C_S_AXI_ADDR_WIDTH
CONFIG.C_S_AXI_DATA_WIDTH
CONFIG.C_TRACE_CLK_FREQ_HZ
CONFIG.C_TRACE_CLK_OUT_PHASE
CONFIG.C_TRACE_DATA_WIDTH
CONFIG.C_TRACE_OUTPUT
CONFIG.C_TRIG_IN_PORTS
CONFIG.C_TRIG_OUT_PORTS
CONFIG.C_USE_BSCAN
CONFIG.C_USE_CONFIG_RESET
CONFIG.C_USE_CROSS_TRIGGER
CONFIG.C_USE_UART
CONFIG.C_XMTC
CONFIG.Component_Name
LOCATION
NAME
PATH
SCREENSIZE
TYPE
VLNV
Type
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
Read-only
true
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
false
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
bd_cell
0
32
0
0
2
2
1
32
7
32
32
1
100000000
32
32
200000000
90
32
0
1
1
0
0
0
0
0
design_migU_mdm_1_0
2 530 140
mdm_1
/mdm_1
120 80
ip
xilinx.com:ip:mdm:3.2
bd_cell オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_cells] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
18
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
BD_INTF_NET 説明
イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が
含まれます。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。
こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ
イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。
イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス か ら 提供 さ れてい る 標準 イ ン タ ーフ ェ イ
ス は、Vivado ツールの イ ン ス ト ール デ ィ レ ク ト リ data/ip/interfaces にあ り ます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ン、 ポー
ト についての詳細は、 『Vivado Design Suite ユーザー ガ イ ド IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』
(UG994) [参照 27] を参照 し て く だ さ い。
ブ ロ ッ ク デザ イ ンの イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの イ ン タ ーフ ェ
イ ス ピ ン を ほかの イ ン タ ーフ ェ イ ス ピ ン ま たは外部 イ ン タ ーフ ェ イ ス ポー ト に接続 し ます。 bd_intf_net オブジ ェ ク
ト は、複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ ク デザ イ ン セルが接続 さ れます。すべての イ ン タ ーフ ェ
イ ス ネ ッ ト には、 デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ ト へ接続 さ れ る すべてのブ ロ ッ ク デ
ザ イ ン セル、 イ ン タ ーフ ェ イ ス ピ ン、 お よ び イ ン タ ーフ ェ イ ス ポー ト は電気的に接続 さ れてい ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-4
EGBSLQ
GLDJUDP
EGBSRUW
EGBLQWIBSRUW
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
図 2‐4 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ネ ッ ト
19 ページの図 2-4 に示す よ う に、 ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net オブジ ェ ク ト ) はブ ロ ッ ク
デザ イ ン ま たはダ イ ア グ ラ ムで発生 し 、 イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) に接続 さ れ、 イ ン タ ーフ ェ イ ス ピ ン
(bd_intf_pin) を介 し てダ イ ア グ ラ ムのブ ロ ッ ク デザ イ ン セル (bd_cell) に接続 さ れます。 ダ イ ア グ ラ ムの bd_intf_nets、
bd_cell、 bd_intf_pin、 お よ び bd_intf_port オブジ ェ ク ト は次の よ う に取得で き ます。
get_bd_intf_nets -of_objects [get_bd_ports]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
19
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ま た、 特定の bd_intf_net に接続 さ れ る ブ ロ ッ ク デザ イ ン セル (bd_cell)、 bd_intf_pins、 ま たは bd_intf_port オブジ ェ ク
ト は次の よ う に取得で き ます。
get_bd_cells -of_objects [get_bd_intf_nets /INTERRUPT_1_1]
プ ロパテ ィ
bd_intf_net オブジ ェ ク ト のプ ロ パテ ィ には次の も のがあ り ます。
Property Type
Read-only Visible Value
CLASS
string true
true
bd_intf_net
NAME
string false
true
microblaze_0_axi_periph_to_s00_couplers
PATH
string true
true
/microblaze_0_axi_periph/microblaze_0_axi_periph_to_s00_couplers
bd_intf_net オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_intf_nets] 0]
BD_INTF_PIN
説明
イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が
含まれます。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。
こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ
イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。
イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス か ら 提供 さ れてい る 標準 イ ン タ ーフ ェ イ
ス は、Vivado ツールの イ ン ス ト ール デ ィ レ ク ト リ data/ip/interfaces にあ り ます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ン、 ポー
ト についての詳細は、 『Vivado Design Suite ユーザー ガ イ ド IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』
(UG994) [参照 27] を参照 し て く だ さ い。
ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ
ン ト です。 イ ン タ ーフ ェ イ ス ピ ン では、 セルの内部は取 り 除いて、 使用 し やすい よ う に簡素化 さ れ ま す。 イ ン タ ー
フ ェ イ ス ピ ンは、 階層ブ ロ ッ ク デザ イ ン セルま たは最下位セルに使用 さ れます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
20
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-5
EGBQHW
EGBLQWIBQHW
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
EGBDGGUBVHJ
;
図 2‐5 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ピ ン
ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ンは、 ブ ロ ッ ク デザ イ ン セル (bd_cell) に接続 さ れ、 ブ ロ ッ ク デザ イ ン ま た
は ダ イ ア グ ラ ム の イ ン タ ー フ ェ イ ス ネ ッ ト (bd_intf_net) を 使用す る こ と で、 そ の 他 の イ ン タ ー フ ェ イ ス ピ ン
(bd_intf_pin) ま たは イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) に接続で き ます。
bd_addr_space、 bd_addr_seg、 bd_cell、 お よ び bd_intf_net オブジ ェ ク ト の bd_intf_pins は、 次の よ う に取得で き ます。
get_bd_intf_pins -of_objects [get_bd_cells clk_wiz_1]
ま た、 次を使用す る と 、 特定の bd_intf ピ ンの bd_addr_spaces、 bd_addr_segs, bd_cells、 お よ び bd_intf_nets を取得す る
こ と も で き ます。
get_bd_addr_spaces -of_objects [get_bd_intf_pins microblaze_0/*]
プ ロパテ ィ ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ
と があ り ます。 次の表には、 マ ス タ ー AXI イ ン タ ーフ ェ イ ス の ピ ン オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一
部を その値の例 と 共に リ ス ト し てい ます。
Property
BRIDGES
CLASS
CONFIG.ADDR_WIDTH
CONFIG.ARUSER_WIDTH
CONFIG.AWUSER_WIDTH
CONFIG.BUSER_WIDTH
CONFIG.CLK_DOMAIN
CONFIG.DATA_WIDTH
CONFIG.FREQ_HZ
CONFIG.ID_WIDTH
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
string
string
string
string
string
string
string
string
string
string
Read-only
false
true
true
true
true
true
true
true
true
true
japan.xilinx.com
Visible
false
true
true
true
true
true
true
true
true
true
Value
bd_intf_pin
32
0
0
0
/clk_wiz_0_clk_out1
32
100000000
0
21
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
CONFIG.MAX_BURST_LENGTH
string
CONFIG.NUM_READ_OUTSTANDING
string
CONFIG.NUM_WRITE_OUTSTANDING string
CONFIG.PHASE
string
CONFIG.PROTOCOL
string
CONFIG.READ_WRITE_MODE
string
CONFIG.RUSER_WIDTH
string
CONFIG.SUPPORTS_NARROW_BURST string
CONFIG.WUSER_WIDTH
string
LOCATION
string
MODE
string
NAME
string
PATH
string
TYPE
string
VLNV
string
xilinx.com:interface:aximm_rtl:1.0
true
true
true
true
true
true
true
true
true
false
true
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
1
1
1
0.0
AXI4LITE
READ_WRITE
0
0
0
Master
M_AXI_DP
/microblaze_0/M_AXI_DP
ip
bd_intf_pin オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_intf_pins */*] 0]
ま たは、 次の Tcl ス ク リ プ ト を使用す る と 、 各ブ ロ ッ ク デザ イ ン セルの bd_intf_pin オブジ ェ ク ト それぞれのプ ロ パ
テ ィ が レ ポー ト さ れます。
foreach x [get_bd_intf_pins -of_objects [get_bd_cells]] {
puts "Next Interface Pin starts here
..............................................."
report_property -all $x
}
BD_INTF_PORT
説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が
含まれます。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。
こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ
イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。
イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス か ら 提供 さ れてい る 標準 イ ン タ ーフ ェ イ
ス は、Vivado ツールの イ ン ス ト ール デ ィ レ ク ト リ data/ip/interfaces にあ り ます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ン、 ポー
ト についての詳細は、 『Vivado Design Suite ユーザー ガ イ ド IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』
(UG994) [参照 27] を参照 し て く だ さ い。
ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト は、特別な タ イ プの階層ピ ン (ブ ロ ッ ク ダ イ ア グ ラ ムの最上位の ピ ン) で
す。 ブ ロ ッ ク デザ イ ンでは、 ポー ト お よ び イ ン タ ーフ ェ イ ス が FPGA デザ イ ン全体ま たはシ ス テ ム レベル デザ イ ン
内外のブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム と 外部接続 と の通信に使用 さ れ る 主なポー ト にな り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
22
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-6
EGBSLQ
EGBSRUW
EGBLQWIBSRUW
EGBQHW
EGBLQWIBQHW
GLDJUDP
EGBLQWIBSLQ
EGBFHOO
EGBDGGUBVSDFH
図 2‐6 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ポー ト
ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port オブジ ェ ク ト ) はブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム で
発生 し 、ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net) に よ っ てブ ロ ッ ク デザ イ ン セル (bd_cell) の ピ ン ま
でに接続 さ れ ます。 ダ イ ア グ ラ ム の bd_intf_ports、 ま たはブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ネ ッ ト へ接続 さ れ る
も のは、 次の よ う に取得で き ます。
get_bd_intf_ports -of_objects [get_bd_intf_nets]
次を使用す る と 、 bd_intf_port に接続 さ れ る イ ン タ ーフ ェ イ ス ネ ッ ト を取得す る こ と も で き ます。
get_bd_intf_nets -of_objects [get_bd_intf_ports CLK*]
プ ロパテ ィ ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのポー ト の タ イ プに よ っ て変わ
る こ と があ り ます。 次の表には、 ク ロ ッ ク の bd_intf_port オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値
の例 と 共に リ ス ト し てい ます。
Property
CLASS
LOCATION
MODE
NAME
PATH
VLNV
Type
string
string
string
string
string
string
Read-only
true
false
true
false
true
true
Visible
true
true
true
true
true
true
Value
bd_intf_port
1950 430
Master
ddr4_sdram
/ddr4_sdram
xilinx.com:interface:ddr4_rtl:1.0
bd_intf_port オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_intf_ports] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
23
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
BD_NET
説明
ブ ロ ッ ク デザ イ ン ネ ッ ト (bd_net オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン セルの ピ ン を その他の
ピ ン ま たは外部ポー ト に接続 し ます。 bd_net オブジ ェ ク ト は、 複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ
ク デザ イ ン セルが接続 さ れます。すべてのネ ッ ト には、デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ
ト へ接続 さ れ る すべてのブ ロ ッ ク デザ イ ン セル、 ピ ン、 お よ びポー ト は電気的に接続 さ れてい ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-7
EGBSLQ
EGBSRUW
EGBLQWIBSRUW
EGBQHW
EGBLQWIBQHW
EGBFHOO
GLDJUDP
EGBDGGUBVSDFH
図 2‐7 : ブ ロ ッ ク デザイ ン ネ ッ ト
ブ ロ ッ ク デザ イ ン ネ ッ ト (bd_net オブジ ェ ク ト ) はブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ムで発生 し 、 ポー ト (bd_port)
に接続 さ れ、 ピ ン (bd_pin) を介 し てダ イ ア グ ラ ムのブ ロ ッ ク デザ イ ン セル (bd_cell) に接続 さ れます。 ダ イ ア グ ラ ム
の bd_nets、 bd_cell、 bd_pin、 お よ び bd_port オブジ ェ ク ト は次の よ う に取得で き ます。
get_bd_nets -of_objects [get_bd_ports]
ま た、 特定の bd_net に接続 さ れ る bd_cells、 bd_pins、 ま たは bd_port オブジ ェ ク ト は次の よ う に取得で き ます。
get_bd_cells -of_objects [get_bd_nets clk_wiz*]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
24
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ
bd_net オブジ ェ ク ト のプ ロ パテ ィ には次の も のがあ り ます。
Property
CLASS
NAME
PATH
Type
string
string
string
Read-only
true
false
true
Visible
true
true
true
Value
bd_net
clk_wiz_1_locked
/clk_wiz_1_locked
bd_net オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_nets] 0]
BD_PIN
説明
ブ ロ ッ ク デザ イ ン ピ ン (bd_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ ン ト です。 ブ ロ ッ ク デ
ザ イ ン ピ ン を使用す る と 、 セルの内部 ロ ジ ッ ク を取 り 除いて、 使用 し やすい よ う に簡素化で き ま す。 ピ ンは、 ス カ
ラ ーま たはバ ス ピ ンで、 階層ブ ロ ッ ク デザ イ ン セルま たは最下位セルで使用で き ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-8
EGBSLQ
EGBQHW
GLDJUDP
EGBLQWIBQHW
EGBFHOO
EGBDGGUBVSDFH
図 2‐8 : ブ ロ ッ ク デザイ ン ピ ン
図 2-8 に示す よ う に、 ブ ロ ッ ク デザ イ ン ピ ンは、 ブ ロ ッ ク デザ イ ン セル (bd_cell) に接続 さ れ、 ブ ロ ッ ク デザ イ ン ま
たはダ イ ア グ ラ ム のネ ッ ト (bd_net) を使用す る こ と で、 その他の ピ ン (bd_pin) ま たはポー ト (bd_port) に接続で き ま
す。
bd_cell お よ び bd_net オブジ ェ ク ト の bd_pins は、 次の よ う に取得で き ます。
get_bd_pins -of_objects [get_bd_cells clk_wiz_1]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
25
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ま た、 次を使用す る と 、 特定の bd_pin の bd_cell ま たは bd_net を取得する こ と も で き ます。
get_bd_cells -of [get_bd_pins */Reset]
プ ロパテ ィ
ブ ロ ッ ク デザ イ ン ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ と があ り ます。 次
の表には、 Vivado Design Suite で CLK タ イ プの bd_pin オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値の
例 と 共に リ ス ト し てい ます。
Property
Type
Read-only Visible Value
CLASS
string true
true
bd_pin
CONFIG.ASSOCIATED_BUSIF string true
true
CONFIG.ASSOCIATED_RESET string true
true
CONFIG.CLK_DOMAIN
string true
true
design_migU_mig_0_1_c0_ddr4_ui_clk
CONFIG.FREQ_HZ
string true
true
250000000
CONFIG.PHASE
string true
true
0.00
DIR
string true
true
I
INTF
string true
true
FALSE
LEFT
string true
true
LOCATION
string false
true
NAME
string false
true
clk_in1
PATH
string true
true
/clk_wiz_0/clk_in1
RIGHT
string true
true
TYPE
string true
true
clk
bd_net オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_pins */*] 0]
BD_PORT
説明
ブ ロ ッ ク デザ イ ン ポー ト は、特別な タ イ プの階層ピ ン (ダ イ ア グ ラ ムの最上位の ピ ン) です。ブ ロ ッ ク デザ イ ン では、
ポー ト は、 FPGA デザ イ ン全体ま たはシ ス テ ム レベル デザ イ ン内外のブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム と の外
部接続 と の通信に使用 さ れ る 主なポー ト です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
26
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-9
EGBSLQ
EGBSRUW
EGBLQWIBSRUW
EGBQHW
EGBLQWIBQHW
GLDJUDP
EGBFHOO
EGBDGGUBV
図 2‐9 : ブ ロ ッ ク デザイ ン ポー ト
ブ ロ ッ ク デザ イ ン ポー ト (bd_port オブジ ェ ク ト ) はブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ムで発生 し 、 ブ ロ ッ ク デザ
イ ン ネ ッ ト (bd_net) に よ っ て、 ダ イ ア グ ラ ム のブ ロ ッ ク デザ イ ン セル (bd_cell) の ピ ン (bd_pin) ま で接続 さ れ ます。
ダ イ ア グ ラ ムの bd_ports、 ま たはブ ロ ッ ク デザ イ ン ネ ッ ト へ接続 さ れ る も のは、 次の よ う に取得で き ます。
get_bd_ports -of_objects [get_bd_nets]
次を使用す る と 、 bd_port オブジ ェ ク ト に接続 さ れ る イ ン タ ーフ ェ イ ス ネ ッ ト を取得で き ます。
get_bd_nets -of_objects [get_bd_ports aux_reset_in]
プ ロパテ ィ ブ ロ ッ ク デザ イ ン ポー ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、そのポー ト の タ イ プに よ っ て変わ る こ と があ り ます。
次の表には、 Vivado Design Suite で RESET タ イ プの bd_port オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その
値の例 と 共に リ ス ト し てい ます。
Property
CLASS
CONFIG.POLARITY
DIR
INTF
LEFT
LOCATION
NAME
PATH
RIGHT
TYPE
Type
string
string
string
string
string
string
string
string
string
string
Read-only
true
false
true
true
false
false
false
true
false
true
Visible
true
true
true
true
true
true
true
true
true
true
Value
bd_port
ACTIVE_LOW
I
FALSE
130 560
aux_reset_in
/aux_reset_in
rst
bd_port オブジ ェ ク ト のプ ロ パテ ィ を確認する には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_bd_ports] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
27
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
BEL
説明
BEL ま たは基本エ レ メ ン ト は、 デザ イ ンのネ ッ ト リ ス ト ビ ュ ーの最下位セルに該当す る も ので、 タ ーゲ ッ ト ザ イ リ
ン ク ス FPGA のデバ イ ス オブジ ェ ク ト で、 フ リ ッ プ フ ロ ッ プ、 LUT、 キ ャ リ ー ロ ジ ッ ク な ど の基本ネ ッ ト リ ス ト オ
ブジ ェ ク ト をデバ イ ス に配置ま たはマ ッ プす る ための も のです。
BEL はデバ イ ス上で ス ラ イ スや I/O ブ ロ ッ ク (IOB) な ど の SITE オブジ ェ ク ト に ま と め ら れてい ます。1 つのサ イ ト に
は BEL が 1 つま たは複数存在 し ます。 こ の BEL を使用 し て、デザ イ ン ネ ッ ト リ ス ト を タ ーゲ ッ ト デバ イ ス の特定の
ロ ケーシ ョ ンやデバ イ ス リ ソ ース に ロ ジ ッ ク を割 り 当て ます。
ザ イ リ ン ク ス FPGA ご と に さ ま ざ ま な異な る BEL タ イ プがあ り ます。 次は、 Kintex®-7 パーツ、 XC7K70TFBG676 の
BEL の タ イ プです。 BEL には、 次の よ う に さ ま ざ ま な タ イ プがあ り ます。
AFF AFF2
BFF BFF2
BITSLICE_CONTROL_BEL
BSCAN1 BSCAN2 BSCAN3 BSCAN4 BSCAN_BSCAN
BUFCE_BUFCE BUFCE_BUFCE_LEAF BUFCE_BUFCE_ROW
BUFFER
BUFGCE_DIV_BUFGCE_DIV BUFGCTRL_BUFGCTRL BUFG_GT_BUFG_GT BUFG_GT_BUFG_GT_SYNC
BUFHCE_BUFHCE BUFIO_BUFIO BUFMRCE_BUFMRCE BUFR_BUFR
CAPTURE_CAPTURE
CARRY4 CARRY8
CFF CFF2
CFG_IO_ACCESS
DCIRESET DCIRESET_DCIRESET
DFF DFF2
DNA_PORT DNA_PORT_DNA_PORT
DSP48E1_DSP48E1 DSP_ALU DSP_A_B_DATA DSP_C_DATA DSP_MULTIPLIER DSP_M_DATA
DSP_OUTPUT DSP_PREADD DSP_PREADD_DATA
EFF EFF2
EFUSE_USR EFUSE_USR_EFUSE_USR
F7MUX F8MUX F9MUX
FFF FFF2
FF_INIT
FIFO18E1_FIFO18E1
FRAME_ECC FRAME_ECC_FRAME_ECC
GCLK_DELAY
GFF GFF2
GTHE3_CHANNEL_GTHE3_CHANNEL
GTHE3_CHANNEL_IPAD1 GTHE3_CHANNEL_IPAD2
GTHE3_CHANNEL_OPAD1 GTHE3_CHANNEL_OPAD2
GTHE3_COMMON_GTHE3_COMMON
GTHE3_COMMON_PADN GTHE3_COMMON_PADP
GTXE2_CHANNEL_GTXE2_CHANNEL GTXE2_COMMON_GTXE2_COMMON
HARD0 HARD1
HARD_SYNC_SYNC_UNIT
HFF HFF2
HPIOBDIFFINBUF_DIFFINBUF HPIOBDIFFOUTBUF_DIFFOUTBUF
HPIOB_IBUFCTRL
HPIOB_INBUF HPIOB_OUTBUF
HPIOB_PAD HPIOB_PULL
HPIO_OUTINV HPIO_VREF
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
28
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HRIODIFFINBUF_DIFFINBUF HRIODIFFOUTBUF_DIFFOUTBUF
HRIO_IBUFCTRL
HRIO_INBUF HRIO_OUTBUF
HRIO_OUTINV HRIO_PAD HRIO_PULL
IBUFDS0_GTE3 IBUFDS1_GTE3 IBUFDS_GTE2_IBUFDS_GTE2
ICAP_BOT ICAP_ICAP ICAP_TOP
IDELAYCTRL_IDELAYCTRL
IDELAYE2_FINEDELAY_IDELAYE2_FINEDELAY
IDELAYE2_IDELAYE2
ILOGICE2_IFF
ILOGICE3_IFF ILOGICE3_ZHOLD_DELAY
INVERTER
IN_FIFO_IN_FIFO
IOB18M_INBUF_DCIEN IOB18M_OUTBUF_DCIEN IOB18M_TERM_OVERRIDE
IOB18S_INBUF_DCIEN IOB18S_OUTBUF_DCIEN IOB18S_TERM_OVERRIDE
IOB18_INBUF_DCIEN IOB18_OUTBUF_DCIEN IOB18_TERM_OVERRIDE
IOB33M_INBUF_EN IOB33M_OUTBUF IOB33M_TERM_OVERRIDE
IOB33S_INBUF_EN IOB33S_OUTBUF IOB33S_TERM_OVERRIDE
IOB33_INBUF_EN IOB33_OUTBUF IOB33_TERM_OVERRIDE
LUT5 LUT6
LUT_OR_MEM5 LUT_OR_MEM6
MASTER_JTAG
MMCME2_ADV_MMCME2_ADV MMCME3_ADV_MMCM_TOP
OBUFDS0_GTE3 OBUFDS1_GTE3
ODELAYE2_ODELAYE2
OLOGICE2_MISR OLOGICE2_OUTFF OLOGICE2_TFF
OLOGICE3_MISR OLOGICE3_OUTFF OLOGICE3_TFF
OUT_FIFO_OUT_FIFO
PAD
PCIE_2_1_PCIE_2_1 PCIE_3_1_PCIE_3_1
PHASER_IN_PHY_PHASER_IN_PHY PHASER_OUT_PHY_PHASER_OUT_PHY
PHASER_REF_PHASER_REF
PHY_CONTROL_PHY_CONTROL
PLLE2_ADV_PLLE2_ADV PLLE3_ADV_PLL_TOP PLL_SELECT_BEL
PMV2_PMV2
PULL_OR_KEEP1
RAMB18E1_RAMB18E1 RAMB18E2_U_RAMB18E2 RAMBFIFO18E2_RAMBFIFO18E2
RAMBFIFO36E1_RAMBFIFO36E1 RAMBFIFO36E2_RAMBFIFO36E2
REG_INIT
RIU_OR_BEL
RXTX_BITSLICE
SELMUX2_1
SLICEL_A5LUT SLICEL_A6LUT
SLICEL_B5LUT SLICEL_B6LUT
SLICEL_C5LUT SLICEL_C6LUT
SLICEL_CARRY4_AMUX SLICEL_CARRY4_AXOR
SLICEL_CARRY4_BMUX SLICEL_CARRY4_BXOR
SLICEL_CARRY4_CMUX SLICEL_CARRY4_CXOR
SLICEL_CARRY4_DMUX SLICEL_CARRY4_DXOR
SLICEL_D5LUT SLICEL_D6LUT SLICEL_E5LUT
SLICEL_E6LUT SLICEL_F5LUT SLICEL_F6LUT
SLICEL_G5LUT SLICEL_G6LUT SLICEL_H5LUT
SLICEL_H6LUT SLICEM_A5LUT SLICEM_A6LUT
SLICEM_B5LUT SLICEM_B6LUT SLICEM_C5LUT
SLICEM_C6LUT SLICEM_CARRY4_AMUX SLICEM_CARRY4_AXOR
SLICEM_CARRY4_BMUX SLICEM_CARRY4_BXOR
SLICEM_CARRY4_CMUX SLICEM_CARRY4_CXOR
SLICEM_CARRY4_DMUX SLICEM_CARRY4_DXOR
SLICEM_D5LUT SLICEM_D6LUT
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
29
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
SLICEM_E5LUT SLICEM_E6LUT
SLICEM_F5LUT SLICEM_F6LUT
SLICEM_G5LUT SLICEM_G6LUT
SLICEM_H5LUT SLICEM_H6LUT
STARTUP STARTUP_STARTUP
SYSMONE1_SYSMONE1 SYSMON_IPAD1 SYSMON_IPAD2
TRISTATE_TX_BITSLICE
USR_ACCESS USR_ACCESS_USR_ACCESS
XADC_XADC
XIPHY_FEEDTHROUGH_BEL
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-10
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH
6LWH3LQ
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐10 : BEL オブ ジ ェ ク ト
30 ページの図 2-10 にあ る よ う に、 ネ ッ ト リ ス ト デザ イ ンの最下位セルは タ ーゲ ッ ト パーツ の BEL にマ ッ プす る こ
と がで き ます。 BEL は タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス のサ イ ト に ま と め ら れ、 BEL と サ イ ト の両方が タ イ ル と ク
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
30
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ロ ッ ク 領域に ま と め ら れ ます。 各 BEL にはセルの ピ ン にマ ッ プす る BEL ピ ンがあ り 、 ま た BEL がネ ッ ト リ ス ト オ
ブジ ェ ク ト であ る ネ ッ ト への接続点にな り ます。
次を使用す る と 、 SLR、 サ イ ト 、 セル、 ク ロ ッ ク 領域、 ネ ッ ト の BEL を取得で き ます。
get_bels -of [get_clock_regions X1Y3]
セル、 サ イ ト 、 タ イ ル、 BEL オブジ ェ ク ト のBEL ピ ン も 次の よ う に取得で き ます。
get_cells -of [get_bels SLICE_X104Y100/B6LUT]
プ ロパテ ィ
BEL オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ は タ イ プに よ っ て異な り ます。 次は、 BEL の BUFIO タ イ プに割 り 当
て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
CONFIG.DELAY_BYPASS.VALUES
IS_RESERVED
IS_TEST
IS_USED
NAME
NUM_BIDIR
NUM_CONFIGS
NUM_INPUTS
NUM_OUTPUTS
NUM_PINS
PROHIBIT
TYPE
Type
string
string
bool
bool
bool
string
int
int
int
int
int
bool
string
Read-only
true
true
true
true
true
true
true
true
true
true
true
false
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
bel
FALSE, TRUE
0
0
0
BUFIO_X0Y13/BUFIO
0
1
1
1
2
0
BUFIO_BUFIO
BEL オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ は TYPE に よ っ て異な り ます。 上記に リ ス ト さ れてい る BEL の各 タ
イ プのプ ロ パテ ィ を確認す る には、 report_property コ マ ン ド を使用 し ます。
report_property -all [lindex [get_bels -filter {TYPE == <BEL_TYPE>}] 0]
<BEL_TYPE> には リ ス ト さ れてい る BEL タ イ プの 1 つが入 り ます。 次は、 その例です。
report_property -all [lindex [get_bels -filter {TYPE == SLICEM_CARRY4_AXOR}] 0]
report_property -all [lindex [get_bels -filter {TYPE == LUT5}] 0]
report_property -all [lindex [get_bels -filter {TYPE == IOB33S_OUTBUF}] 0]
ヒ ン ト : report_property コ マ ン ド は、 現在のデザ イ ン で関連オブジ ェ ク ト が見つか ら なか っ た場合、 オブジ ェ ク ト が
見つか ら ない と い う 内容の警告 メ ッ セージ を返す こ と があ り ます。 こ の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl
コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
31
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
BEL_PIN
説明 X-Ref Target - Figure 2-11
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
DJH
Q
6LWH
6LWH3LQ
6LWH3LS
3LS
DQN
7LOH
2
GDUG
6/5
;
図 2‐11 : BEL_PIN オブ ジ ェ ク ト BEL_PIN は、 BEL オブジ ェ ク ト の ピ ン ま たは接続ポ イ ン ト で、
ロ ジ ッ ク CELL の PIN (NET の接続ポ イ ン ト ) の よ う なネ ッ ト リ ス ト オブジ ェ ク ト に関連す る デバ イ ス オブジ ェ ク ト
です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
32
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト 図 2-11 に示す よ う に、 BEL_PIN オブジ ェ ク ト は、 BEL お よ び SITE デバ イ ス リ ソ ース と 、 PIN お よ び NET ネ ッ ト リ
ス ト オブジ ェ ク ト に関連 し てい ます。次の Tcl コ マ ン ド 形式を使用す る と 、BEL、SITE、PIN、 ま たは NET の BEL_PIN
を取得で き ます。
get_bel_pins -of_objects [get_pins usbEngine0/usbEngineSRAM/Ram_reg_9/CLKARDCLK]
ま た、 SLR、 お よ び BEL_PIN が存在す る TILE や、 BEL_PIN に関連す る NODE も 取得で き ます。
get_slr -of_objects [get_bel_pins SLICE_X8Y176/D5LUT/WA5]
プ ロパテ ィ
次は BEL_PIN オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
DIRECTION
INDEX
INDEX_IN_BEL
INDEX_IN_BUS
INDEX_IN_ELEMENT
INDEX_IN_TILE
IS_BAD
IS_BIDIR
IS_CLOCK
IS_DATA
IS_ENABLE
IS_INPUT
IS_OPTIONALLY_INVERTIBLE
IS_OUTPUT
IS_PART_OF_BUS
IS_RESET
IS_SET
IS_TEST
IS_USED
NAME
SITE_ID
SPEED_INDEX
Type
string
enum
int
int
int
int
int
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
string
int
int
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
true
Value
bel_pin
IN
1
1
1023
1
65535
0
0
0
0
1
1
0
0
0
0
0
0
0
IOB_X0Y197/OUTBUF/TRI
188
0
Vivado Design Suite Tcl シ ェ ル ま たは Tcl コ ン ソ ールで次の FOREACH ループ を使用す る と 、 特定 BEL オブジ ェ ク ト
の BEL_PIN すべてのプ ロ パテ ィ を レ ポー ト で き ます。
foreach x [get_bel_pins -of [get_bels <bel_name>]] {
puts "****************** $x *****************"
report_property -all $x
}
<bel_name> は、 レ ポー ト す る BEL オブジ ェ ク ト の名前です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
33
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
CELL
説明
CELL は、 ネ ッ ト リ ス ト ロ ジ ッ ク オブジ ェ ク ト の イ ン ス タ ン ス で、 最下位セルであ っ た り 、 階層セルであ っ た り し ま
す。 最下位セルはプ リ ミ テ ィ ブ ま たはプ リ ミ テ ィ ブ マ ク ロ で、 ネ ッ ト リ ス ト には ロ ジ ッ ク の詳細はあ り ません。 階層
セルはモジ ュ ールま たはブ ロ ッ ク で、 1 つ以上の レベルの ロ ジ ッ ク を含み、 最終的には最下位セル も 含みます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-12
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH
6LWH3LQ
図 2‐12 : CELL オブ ジ ェ ク ト
図 2-12 にあ る よ う に、 セルには外部ネ ッ ト リ ス ト を定義す る ためネ ッ ト に接続 さ れてい る ピ ンがあ り ます。 階層セ
ルにはピ ンに関連付け ら れてい る ポー ト も 含まれ、 階層の内部ネ ッ ト リ ス ト を定義す る ためネ ッ ト に内部接続 さ れて
い ます。
最下位セルは タ ーゲ ッ ト のザ イ リ ン ク ス FPGA のデバ イ ス リ ソ ース に配置ま たはマ ッ プ さ れ ます。 フ リ ッ プ フ ロ ッ
プ、 LUT、 MUX な ど の基本 ロ ジ ッ ク の場合、 セルは BEL オブジ ェ ク ト に配置 さ れ、 BRAM や DSP な ど の大型 ロ ジ ッ
ク セルの場合、 セルはサ イ ト オブジ ェ ク ト に配置 さ れます。 BEL は さ ら に大 き なサ イ ト であ る ス ラ イ ス に も ま と め
ら れ る ので、 セルは BEL お よ びサ イ ト オブジ ェ ク ト に関連付け る こ と がで き る のです。 サ イ ト は ク ロ ッ ク 領域お よ
び タ イ ルに ま と め ら れます。
ま た、 セルはデザ イ ンの タ イ ミ ン グ パ ス に関連付け ら れ る ので、 DRC 違反に も 関連付け る こ と がで き 、 デザ イ ンに
関す る 問題をすばや く 見つけ出 し 解決す る のに役立ち ます。
次を使用す る と 、 ピ ン、 タ イ ミ ン グ パ ス、 ネ ッ ト 、 BEL、 ク ロ ッ ク 領域、 サ イ ト 、 ま たは DRC 違反に関連付け ら れ
たセルを取得で き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
34
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
get_cells -of [get_nets clk]
プ ロパテ ィ 最下位セル オブジ ェ ク ト には、 次の よ う に PRIMITIVE_GROUP、 PRIMITIVE_SUBGROUP、 PRIMITIVE_TYPE と い
う プ ロ パテ ィ で定義 さ れてい る タ イ プがあ り ます。
表 2‐1 :
PRIMITIVE_GROUP
PRIMITIVE_SUBGROUP
PRIMITIVE_TYPE
BLOCKRAM
BRAM
BLOCKRAM.BRAM.RAMB18E2
BLOCKRAM.BRAM.RAMB36E2
CLB
CARRY
CLB.CARRY.CARRY8
LUT
CLB.LUT.LUT1
CLB.LUT.LUT2
CLB.LUT.LUT3
CLB.LUT.LUT4
CLB.LUT.LUT5
CLB.LUT.LUT6
LUTRAM
CLB.LUTRAM.RAM32M
CLB.LUTRAM.RAM32M16
CLB.LUTRAM.RAM32X1D
MUXF
CLB.MUXF.MUXF7
CLB.MUXF.MUXF8
SRL
CLB.SRL.SRL16E
CLB.SRL.SRLC16E
CLB.SRL.SRLC32E
Others
CLB.others.LUT6_2
BUFFER
CLOCK.BUFFER.BUFGCE
CLOCK.BUFFER.BUFGCE_DIV
PLL
CLOCK.PLL.MMCME3_ADV
CLOCK.PLL.PLLE3_ADV
CONFIGURATION
BSCAN
CONFIGURATION.BSCAN.BSCANE2
I/O
BDIR_BUFFER
I/O.BIDIR_BUFFER.IOBUFDS
BITSLICE
I/O.BITSLICE.BITSLICE_CONTROL
I/O.BITSLICE.RIU_OR
I/O.BITSLICE.RXTX_BITSLICE
I/O.BITSLICE.TX_BITSLICE_TRI
INPUT_BUFFER
I/O.INPUT_BUFFER.HPIO_VREF
I/O.INPUT_BUFFER.IBUF
I/O.INPUT_BUFFER.IBUFDS
OUTPUT_BUFFER
I/O.OUTPUT_BUFFER.IOBUFE3
I/O.OUTPUT_BUFFER.OBUF
I/O.OUTPUT_BUFFER.OBUFDS
CLOCK
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
35
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PRIMITIVE_GROUP
PRIMITIVE_SUBGROUP
PRIMITIVE_TYPE
others
others.others.others
OTHERS.others.AND2B1L
OTHERS.others.GND
OTHERS.others.VCC
REGISTER
SDR
REGISTER.SDR.FDCE
REGISTER.SDR.FDPE
REGISTER.SDR.FDRE
REGISTER.SDR.FDSE
RTL_GATE
buf
RTL_GATE.buf.RTL_INV
logical
RTL_GATE.logical.RTL_AND
RTL_GATE.logical.RTL_OR
RTL_GATE.logical.RTL_XOR
ram
RTL_MEMORY.ram.RTL_RAM
rom
RTL_MEMORY.rom.RTL_ROM
RTL_MUX
mux
RTL_MUX.mux.RTL_MUX
RTL_OPERATOR
arithmetic
RTL_OPERATOR.arithmetic.RTL_ADD
RTL_OPERATOR.arithmetic.RTL_MULT
RTL_OPERATOR.arithmetic.RTL_SUB
equality
RTL_OPERATOR.equality.RTL_EQ
shift
RTL_OPERATOR.shift.RTL_RSHIFT
flop
RTL_REGISTER.flop.RTL_REG
OTHERS
RTL_MEMORY
REGISTER
すべてのセルに共通のプ ロ パテ ィ セ ッ ト があ り ますが、各セルのグループ、 サブグループお よ び タ イ プに も 独自のプ
ロ パテ ィ があ る 場合があ り ます。PRIMITIVE_GROUP、PRIMITIVE_SUBGROUP ま たは PRIMITIVE_TYPE プ ロ パテ ィ
の値で フ ィ ル タ ーす る と 、 特定 タ イ プのセル オブジ ェ ク ト のプ ロ パテ ィ を確認で き ます。
PRIMITIVE_TYPE は列挙プ ロ パテ ィ で、 定義 さ れた値は list_property_value コ マ ン ド で戻 さ れます。
list_property_value -class cell PRIMITIVE_TYPE
ただ し 、 デザ イ ン には定義 さ れた PRIMITIVE_TYPE ご と にセルはおそ ら く 含ま れ ません。 次の Tcl コ ー ド では、 デ
ザ イ ン中の階層が検索 さ れ、 デザ イ ンのすべてのセルの PRIMITIVE_TYPE プ ロ パテ ィ が返 さ れます。
foreach x [get_cells -hierarchical *] {
lappend primTypes [get_property PRIMITIVE_TYPE $x] }
join [lsort -unique $primTypes] \n
次の コ マ ン ド を使用す る と 、 返 さ れた リ ス ト ($primTypes) か ら 特定の PRIMITIVE_TYPE のプ ロ パテ ィ を確認で き
ます。
report_property -all [lindex [get_cells -hier -filter {PRIMITIVE_TYPE == <val>}] 0]
<val> には具体的な PRIMITIVE_TYPE を指定 し ます。 た と えば、 BLOCKRAM.BRAM.RAM18E2 タ イ プのセルのプ ロ
パテ ィ を返すには、 次の コ マ ン ド を使用 し ます。
report_property -all [lindex [get_cells -hier -filter {PRIMITIVE_TYPE ==
"BLOCKRAM.BRAM.RAMB18E2"}] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
36
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ヒ ン ト : report_property コ マ ン ド は、 現在のデザ イ ン で関連オブジ ェ ク ト が見つか ら なか っ た場合、 オブジ ェ ク ト が
見つか ら ない と い う 内容の警告 メ ッ セージ を返す こ と があ り ます。 こ の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl
コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次の Tcl コ マ ン ド を使用す る と 、 階層セルま たは非最下位セルか ら プ ロ パテ ィ を戻す こ と も で き ます。
report_property -all [lindex [get_cells -hier -filter {!IS_PRIMITIVE}] 0]
も ち ろん、 特定セルのプ ロ パテ ィ を単に返す こ と も で き ます。
report_property -all [get_cells <cell_name>]
CLOCK
説明 CLOCK オブジ ェ ク ト を使用す る と 、 Vivado Design Suite で時間基準が考慮 さ れ る よ う にな り 、 信頼性を持っ て レ ジ ス
タ 間のデー タ を伝送で き る よ う にな り ます。 Vivado タ イ ミ ン グ エン ジ ンでは、 CLOCK オブジ ェ ク ト のプ ロ パテ ィ を
使用 し て、 デザ イ ンのセ ッ ト ア ッ プ要件 と ホール ド 要件を計算 し 、 ス ラ ッ ク 計算でデザ イ ン タ イ ミ ン グ マージ ン を
レ ポー ト し ます。 タ イ ミ ン グ パス をで き る だけ正確に網羅する ためには、 CLOCK オブジ ェ ク ト を正 し く 定義す る 必
要があ り ます。
ク ロ ッ ク は、 PERIOD と WAVEFORM プ ロ パテ ィ を使用 し て定義 し ます。 PERIOD (周期) はナ ノ 秒で指定 し 、 ク ロ ッ
ク サ イ ク ルの長 さ を定義 し ます。 こ れは波形が繰 り 返す時間の間隔に対応 し ます。 波形は、 ク ロ ッ ク 周期内の立ち上
が り エ ッ ジお よ び立ち下が り エ ッ ジの絶対時間 (ns) の リ ス ト です。 ク ロ ッ ク の定義については、 『Vivado Design Suite
ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 19] を参照 し て く だ さ い。
周期お よ び波形は、 ク ロ ッ ク の理想的な特性を表 し ま す。 ク ロ ッ ク が FPGA デバ イ ス に入力 さ れ、 ク ロ ッ ク ツ リ ー
を介 し て伝搬 さ れ る と 、 ク ロ ッ ク エ ッ ジに遅延が発生 し 、 ノ イ ズお よ びハー ド ウ ェ アの動作に よ り 変動す る 可能性が
あ り ます。 こ れ ら は ク ロ ッ ク ネ ッ ト ワー ク レ イ テ ン シお よ び ク ロ ッ ク のば ら つき と 呼ばれます。 Vivado Design Suite
では、 ク ロ ッ ク はデフ ォ ル ト で レ イ テ ン シお よ びば ら つ き を含む伝搬 さ れた ク ロ ッ ク と し て処理 さ れ、 ク ロ ッ ク ツ
リ ー挿入遅延お よ びば ら つ き を含む正確な ス ラ ッ ク 値が算出 さ れます。
Vivado ツールでは、 さ ま ざ ま な タ イ プの ク ロ ッ ク がサポー ト さ れます。
•
プ ラ イ マ リ ク ロ ッ ク - プ ラ イ マ リ 入力ポー ト ま たはギガ ビ ッ ト ト ラ ン シーバー ピ ン を介 し て Vivado デザ イ ン
に入力す る シ ス テ ム レベルの ク ロ ッ ク で、 create_clock コ マ ン ド で定義 し ます。 プ ラ イ マ リ ク ロ ッ ク のデザ
イ ン ソ ース では、遅延値を計算す る 際に Vivado タ イ ミ ン グ エン ジ ンで使用 さ れ る タ イ ム ゼ ロ お よ び伝搬ポ イ ン
ト を定義 し ます。
•
仮想 ク ロ ッ ク - デザ イ ンの ど のネ ッ ト リ ス ト エ レ メ ン ト に も 物理的に接続 さ れていない CLOCK オブジ ェ ク ト
で、 ク ロ ッ ク を割 り 当て る ソ ース オブジ ェ ク ト を指定せずに create_clock コ マ ン ド で定義 し ます。
•
生成 ク ロ ッ ク - MMCM な ど の ク ロ ッ ク 調整ブ ロ ッ ク と 呼ばれ る 特別なセルま たはユーザー ロ ジ ッ ク に よ り 駆動
さ れます。 生成 ク ロ ッ ク は、 create_generated_clock コ マ ン ド でマ ス タ ー ク ロ ッ ク か ら 派生 さ れた も ので、
IS_GENERATED プ ロ パテ ィ が含まれます。生成 ク ロ ッ ク の周期お よ び波形を指定する 代わ り に、マ ス タ ー ク ロ ッ
ク が調整回路で ど の よ う に変換 さ れ る か を記述す る 必要があ り ます。
ク ロ ッ ク は、 専用デバ イ ス リ ソ ース を使用 し てデザ イ ンに伝搬 さ れ ます。 ク ロ ッ ク リ ソ ース の詳細については、 『7
シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 3] ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ
キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572) [参照 9] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
37
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-13
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
図 2‐13 : CLOCK オブ ジ ェ ク ト CLOCK オブジ ェ ク ト は、 その ソ ー ス で あ る PORT、 NET、 CELL、 ま たは PIN に関連 し てお り 、 create_clock コ
マ ン ド で 定義 さ れ ま す。 ネ ッ ト リ ス ト
オ ブ ジ ェ ク ト に 関連す る ク ロ ッ ク は、 get_clock
ま たは
get_generated_clocks コ マ ン ド を使用す る と 取得で き ます。
get_clocks -of_objects [get_ports <port_name>]
ク ロ ッ ク に関連す る ネ ッ ト リ ス ト オブジ ェ ク ト (NET、 PIN、 PORT) を取得する こ と も で き ます。
get_nets -of_objects [get_clocks]
プ ロパテ ィ
次は ク ロ ッ ク オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
DIVIDE_BY
DUTY_CYCLE
EDGES
EDGE_SHIFT
INPUT_JITTER
IS_GENERATED
IS_INVERTED
IS_PROPAGATED
IS_USER_GENERATED
IS_VIRTUAL
MASTER_CLOCK
MULTIPLY_BY
NAME
PERIOD
SOURCE
SOURCE_PINS
SYSTEM_JITTER
WAVEFORM
Type
string
int
double
int*
double*
double
bool
bool
bool
bool
bool
clock
int
string
double
pin
string*
double
double*
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
clock
0.000
1
0
1
0
0
sysClk
1
fftClk_0
10.000
clkgen/mmcm_adv_inst/CLKIN1
clkgen/mmcm_adv_inst/CLKOUT5
0.050
0.000 5.000
report_property コ マ ン ド を使用す る と 、 CLOCK オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳
細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 特定 ク ロ ッ ク
のプ ロ パテ ィ を確認す る には、 Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールで次の コ マ ン ド を使用 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
38
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
report_property -all [get_clocks <clock_name>]
<clock_name> は、 レ ポー ト す る ク ロ ッ ク の名前です。
CLOCK_REGION
X-Ref Target - Figure 2-14
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH
6LWH3LQ
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐14 : CLOCK_REGION オブ ジ ェ ク ト 説明 ク ロ ッ ク 供給目的で、 各デバ イ ス は ク ロ ッ ク 領域に分割 さ れます。 CLOCK_REGION は、 ザ イ リ ン ク ス FPGA、 ま た
は ク ロ ッ ク リ ソ ー ス のセ ッ ト が使用 さ れ る デバ イ ス のエ リ ア を区別す る デバ イ ス オブジ ェ ク ト です。 ク ロ ッ ク 領域
には、 コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB)、 DSP ス ラ イ ス、 ブ ロ ッ ク RAM、 イ ン タ ーコ ネ ク ト 、 関連す る
ク ロ ッ ク が含まれます。
ク ロ ッ ク 領域の数は、 デバ イ ス のサ イ ズに よ っ て異な り ます。 UltraScale デバ イ ス は、 分割 さ れた ク ロ ッ ク 領域の列
と 行に分割 さ れ ま す。 こ れ ら の ク ロ ッ ク 領域は、 タ イ ルに並べ ら れ、 デバ イ ス の幅半分には広が ら ないので、 前の
フ ァ ミ リ と は異な り ます。
UltraScale デバ イ ス の場合、 ク ロ ッ ク 領域の高 さ は、 60 個分の CLB、 24 個分の DSP ス ラ イ ス、 12 個分のブ ロ ッ ク
RAM で、 中央には水平 ク ロ ッ ク ス パ イ ン (HCS) があ り ます。 ク ロ ッ ク 領域に一致す る 間隔にはバン ク ご と に I/O が
52 個、 ギガ ビ ッ ト ト ラ ン シーバー (GT) が 4 つあ り ます。
7 シ リ ーズ デバ イ ス の場合、 ク ロ ッ ク 領域には 50 個の CLB、 50 個の I/O を含む I/O バン ク 1 つ、 真ん中には水平 ク
ロ ッ ク 行 (HROW) があ り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
39
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ク ロ ッ ク 領域の I/O バン ク には、 ク ロ ッ ク 領域内の ク ロ ッ ク 配線 リ ソ ース にユーザー ク ロ ッ ク を使用す る CC (Clock
Capable) ピ ンが含まれます。
ク ロ ッ ク 領域 と そ こ に含まれ る リ ソ ース の詳細については、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ
ド 』 (UG472) [参照 3] ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572) [参照 9] を
参照 し て く だ さ い。
関連オブ ジ ェ ク ト CLOCK_REGION オブジ ェ ク ト は、 ク ロ ッ ク 領域のあ る デバ イ ス の SLR (Super Logic Region)、 ま たは ク ロ ッ ク 領域で
見つか っ た TILE、 SITE、 ま たは PACKAGE_BANK デバ イ ス オブジ ェ ク ト に関連づけれ ら れてい ます。 ま た、 CELL
ネ ッ ト リ ス ト オブジ ェ ク ト が配置 さ れてい る CLOCK_REGION を取得す る こ と も で き ます。
次の よ う な Tcl コ マ ン ド を使用す る と 、 関連オブジ ェ ク ト の CLOCK_REGION を取得で き 、 指定セルが配置 さ れ る ク
ロ ッ ク 領域が返 さ れます。
get_clock_regions -of [get_cells usbEngine0/u1/u0/crc16_sum_reg[7]]
ま た、 CLOCK_REGION に関連付け ら れてい る 、 ま たは CLOCK_REGION に あ る SLR、 TILE、 SITE、 BEL、 お よ び
IO_BANK デバ イ ス オブジ ェ ク ト を取得す る こ と も で き ます。 た と えば、 次の Tcl コ マ ン ド を使用す る と 、 指定セル
が配置 さ れた同 じ ク ロ ッ ク 領域にあ る I/O バン ク が返 さ れます。
get_iobanks -of_objects [get_clock_regions -of \
[get_cells usbEngine0/u1/u0/crc16_sum_reg[7]]]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、CLOCK_REGION のプ ロ パテ ィ を確認で き ます。詳細は、『Vivado Design
Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は clock_region オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
BOTTOM_RIGHT_TILE
CLASS
COLUMN_INDEX
FULL_NAME
NAME
NUM_SITES
ROW_INDEX
TOP_LEFT_TILE
Type
string
string
int
string
string
int
int
string
Read-only
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
Value
NULL_X116Y105
clock_region
1
CLOCKREGION_X1Y2
X1Y2
1418
2
CLBLL_L_X26Y149
特定の CLOCK_REGION のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [get_clock_regions <name>]
<name> は、 レ ポー ト す る ク ロ ッ ク 領域の名前です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
40
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DIAGRAM
説明
ブ ロ ッ ク デザ イ ン (.bd) は、 Vivado Design Suite の IP イ ン テ グ レー タ ー機能で作成 さ れた イ ン タ ー コ ネ ク ト さ れた IP
コ アの複雑なシ ス テ ムです。 Vivado IP イ ン テ グ レー タ ー機能を使用する と 、 Vivado IP カ タ ロ グか ら の IP を イ ン ス タ
ン シエー ト お よ び イ ン タ ー コ ネ ク ト し て、 複雑なデザ イ ン を作成で き ます。 ブ ロ ッ ク デザ イ ンは、 デ ィ ス ク 上の フ ァ
イ ル (.bd) に書 き 込む こ と ので き る 階層デザ イ ンですが、Vivado ツール メ モ リ 内でダ イ ア グ ラ ム オブジ ェ ク ト と し て
格納 さ れます。
ブ ロ ッ ク デザ イ ンは、 通常 イ ン タ ーフ ェ イ ス レベルで構築 さ れて生産性が向上す る よ う にな っ てい ますが、 ポー ト
ま たはピ ン レベルで編集す る こ と で よ り 細か く 制御す る こ と も で き ます。 Vivado Design Suite プ ロ ジ ェ ク ト には、 デ
ザ イ ン階層の さ ま ざ ま な レベルに複数のダ イ ア グ ラ ム を含め る こ と がで き ます し 、 最上位デザ イ ン と し て 1 つのダ イ
ア グ ラ ム を指定す る こ と も で き ます。
関連オブ ジ ェ ク ト
10 ページの図 1-2 に示す よ う に、 ダ イ ア グ ラ ム オブジ ェ ク ト には bd_cells、 bd_nets、 お よ び bd_ports な ど、 その他の
IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン (bd) オブジ ェ ク ト が含ま れ ます。 こ れ ら のオブジ ェ ク ト 間の関係は、 セル、
ピ ン、 ネ ッ ト な ど の標準的なネ ッ ト リ ス ト オブジ ェ ク ト 間の関係 と 類似 し てい ます。 ユーザーは、 指定 し たダ イ ア グ
ラ ム オブジ ェ ク ト か ら セル、 ア ド レ ス空間、 ア ド レ ス セグ メ ン ト 、 ネ ッ ト 、 ピ ン、 ポー ト 、 イ ン タ ーフ ェ イ ス ネ ッ
ト 、 イ ン タ ーフ ェ イ ス ピ ンお よ び イ ン タ ーフ ェ イ ス ポー ト な ど のブ ロ ッ ク デザ イ ンの各オブジ ェ ク ト を取得で き ま
す。
た と えば、 ブ ロ ッ ク デザ イ ンのネ ッ ト を取得する には、 次の Tcl コ マ ン ド を使用 し ます。
get_bd_nets -of_objects [current_bd_design]
プ ロパテ ィ
次の表には、 Vivado Design Suite でダ イ ア グ ラ ム オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を その値の例 と 共に リ ス
ト し てい ます。
Property
CLASS
COLOR
FILE_NAME
NAME
USE_IP_SHARED_DIR
Type
string
string
string
string
bool
Read-only
true
false
true
true
false
Visible
true
true
true
true
true
Value
diagram
design_1.bd
design_1
1
ダ イ ア グ ラ ム オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用 し て確認で き ます。
report_property -all [lindex [get_bd_designs] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
41
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_AXI
説明 JTAG-to-AXI Master コ ア (ハー ド ウ ェ ア AXI オブジ ェ ク ト ) は、 AXI ト ラ ンザ ク シ ョ ン を駆動 し 、 ザ イ リ ン ク ス FPGA
デバ イ ス (ハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト ) 上の AXI 信号を駆動す る AXI マ ス タ ー と し て機能す る カ ス タ マ イ
ズ可能な IP コ ア です。 AXI Master コ アは、 AXI4 イ ン タ ー フ ェ イ ス お よ び AXI-Lite プ ロ ト コ ル を サポー ト し ま す。
AXI デー タ バ ス の幅は設定可能 です。 AXI コ ア で は、 AXI4 イ ン タ ー コ ネ ク ト を 介 し て メ モ リ に マ ッ プ さ れ た
AXI4-Lite ま たは AXI4 ス レーブ を駆動で き ます。 こ の コ アは、 マ ス タ ー と し て イ ン タ ー コ ネ ク ト に接続す る こ と も 可
能です。
JTAG to AXI Master コ アは、 ザ イ リ ン ク ス IP カ タ ロ グ か ら RTL コ ー ド に イ ン ス タ ン シエー ト す る 必要があ り ま す。
JTAG-to-AXI コ アの詳細は、 『LogiCORE IP JTAG to AXI Master 製品ガ イ ド 』 (PG174) [参照 28] を参照 し て く だ さ い。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-15
KZBFIJPHP
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
KZBVLR
KZBYLR
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
UREH
KZBVLRBJW
KZBVLRBSOO
KZBD[LBW[Q
KZBVLRBW[
KZBVLRBU[
図 2‐15 : ハー ド ウ ェ ア AXI オブ ジ ェ ク ト AXI マ ス タ ー コ アは、 ザ イ リ ン ク ス IP カ タ ロ グか ら RTL ソ ース フ ァ イ ルのデザ イ ンに追加で き ます。 AXI コ アは、
get_debug_cores コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト デザ イ ンで検索で き ます。 こ れ ら は Vivado Design Suite の
ハー ド ウ ェ ア マネージ ャ ーで検索 さ れ る AXI マ ス タ ー コ ア オブジ ェ ク ト (hw_axi) ではあ り ませんが、関連は し てい
ます。
hw_axi コ アは、 プ ロ グ ラ ム済みのハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト (hw_device) のハー ド ウ ェ ア マネージ ャ ーに
含まれます。 hw_device の hw_axi は次の よ う に取得で き ます。
get_hw_axis -of [get_hw_devices]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
42
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ま た、 hw_axi コ アには関連す る AXI ト ラ ンザ ク シ ョ ン も 含まれ、 次の よ う に取得で き ます。
get_hw_axi_txns -of [get_hw_axis]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_axi コ アに割 り 当て ら れたプ ロ パテ ィ を確認で き ま す。 詳細は、 『Vivado
Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は hw_axi オブジ ェ ク ト に
割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
HW_CORE
NAME
PROTOCOL
STATUS.AXI_READ_BUSY
STATUS.AXI_READ_DONE
STATUS.AXI_WRITE_BUSY
STATUS.AXI_WRITE_DONE
STATUS.BRESP
STATUS.RRESP
Type
string
string
string
string
bool
bool
bool
bool
string
string
Read-only
true
true
true
true
true
true
true
true
true
true
Visible
true
false
true
true
true
true
true
true
true
true
Value
hw_axi
core_8
hw_axi_1
AXI4_Full
0
0
0
0
OKAY
OKAY
特定の hw_axi のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl
コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_axis] 0]
HW_BITSTREAM
説明 ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブジ ェ ク ト (hw_bitstream) は、 ビ ッ ト ス ト リ ーム フ ァ イ ルか ら 作成 さ れ、 Vivado
Design Suite のハー ド ウ ェ ア マネージ ャ ー機能でハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト (hw_device) に関連付け ら れま
す。
ビ ッ ト ス ト リ ーム フ ァ イ ルは、 write_bitstream コ マ ン ド を使用 し て配置配線済みデザ イ ンか ら 作成 さ れます。 ハー ド
ウ ェ ア ビ ッ ト ス ト リ ーム オブジ ェ ク ト は、 create_hw_bitstream コ マ ン ド を使用す る と ビ ッ ト ス ト リ ーム フ ァ イ ルか
ら 手動で作成 さ れます。 ハー ド ウ ェ ア デバ イ ス が program_hw_device コ マ ン ド でプ ロ グ ラ ム さ れ る 場合は、 自動で作
成 さ れます。
ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブジ ェ ク ト は、 デバ イ ス の PROGRAM.HW_BITSTREAM プ ロ パテ ィ を使用 し て指
定のハー ド ウ ェ ア デバ イ ス に関連付け ら れます。 こ のプ ロ パテ ィ は、 create_hw_bitstream コ マ ン ド に よ り 自動的に設
定 さ れます。 PROGRAM.FILE プ ロ パテ ィ には、 指定のビ ッ ト ス ト リ ーム フ ァ イ ルのフ ァ イ ル パ ス も 含まれます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
43
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-16
KZBFIJPHP
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
KZBVLRBVZHHS
KZBVLRBVFDQ
KZBLOD
KZBYLR
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
KZBSUREH
KZBVLRBJW
KZ VLR SOO
KZBVLRBOLQNJURXS
図 2‐16 : ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブ ジ ェ ク ト hw_bitstream オブジ ェ ク ト は PROGRAM.BITSTREAM プ ロ パテ ィ を使用 し て hardware_device に関連付け ら れます。次
の よ う に get_property コ マ ン ド を使用 し て hw_bitstream オブジ ェ ク ト を取得す る と 、 プ ロ パテ ィ のオブジ ェ ク ト を返
す こ と がで き ます。
get_property PROGRAM.HW_BITSTREAM [current_hw_device]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を
確認で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ
い。 hw_bitsream オブジ ェ ク ト には次の よ う なプ ロ パテ ィ があ り ます。 値 も 例示 し ます。
Property Type
Read-only Visible Value
CLASS
string true
true
hw_bitstream
DESIGN
string true
true
ks_counter2
DEVICE
string true
true
xc7k325t
NAME
string true
true
C:/Data/ks_counter2_k7/project_1/project_1.runs/impl_1/ks_counter2.bit
PART
string true
true
xc7k325tffg900-3
SIZE
string true
true
11443612
USERCODE string true
true
0XFFFFFFFF
hw_bitsream オ ブ ジ ェ ク ト のプ ロ パ テ ィ を 確認す る には、 Vivado ロ ジ ッ ク 解析で get_property コ マ ン ド を 使用 し て
hw_device の PROGRAM.HW_BITSTREAM プ ロ パテ ィ で定義 さ れたオブジ ェ ク ト が戻 さ れ る よ う に し ます。次の コ マ
ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [get_property PROGRAM.HW_BITSTREAM [current_hw_device]]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
44
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_CFGMEM
説明 ザ イ リ ン ク ス FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る には、 ハー ド ウ ェ ア デバ イ ス の内部 メ モ リ にデザ イ ン特定の コ
ン フ ィ ギ ュ レ ーシ ョ ン デー タ を ビ ッ ト ス ト リ ーム フ ァ イ ルの形で読み込み ま す。 hw_cfgmem では、 Vivado Design
Suite のハー ド ウ ェ ア マネージ ャ ー機能でザ イ リ ン ク ス FPGA デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンお よ びブー ト す る
ために使用 さ れ る フ ラ ッ シ ュ メ モ リ デバ イ ス が定義 さ れます。
hw_cfgmem オブジ ェ ク ト を プ ロ グ ラ ムす る には、 create_hw_cfgmem コ マ ン ド を使用 し ます。 create_hw_cfgmem オブ
ジ ェ ク ト を作成 し 、 ハー ド ウ ェ ア デバ イ ス に関連付けた ら 、 program_hw_cfgmem コ マ ン ド を使用 し て コ ン フ ィ ギ ュ
レーシ ョ ン メ モ リ を ビ ッ ト ス ト リ ームお よ びその他のデー タ でプ ロ グ ラ ムで き ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-17
KZBFIJPHP
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
KZBVLRBVZHHS
図 2‐17 : ハー ド ウ ェ ア CFGMEM オブ ジ ェ ク ト hw_cfgmem オブジ ェ ク ト は、 デバ イ ス オブジ ェ ク ト の PROGRAM.HW_CFGMEM プ ロ パテ ィ を使用 し て指定のハー
ド ウ ェ ア デバ イ ス オブジ ェ ク ト に関連付け ら れます。 hw_cfgmem オブジ ェ ク ト は、 get_property コ マ ン ド を使用 し て
ハー ド ウ ェ ア デバ イ ス か ら オブジ ェ ク ト を取得 し ます。
get_property PROGRAM.HW_CFGMEM [current_hw_device]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_cfgmem オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細
は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 hw_cfgmem オブ
ジ ェ ク ト には次の よ う なプ ロ パテ ィ があ り ます。 値 も 例示 し ます。
Property
Type
CFGMEM_NAME
string
CFGMEM_PART
cfgmem_part
CLASS
string
NAME
string
PROGRAM.ADDRESS_RANGE string
PROGRAM.BIN_OFFSET
int
PROGRAM.BLANK_CHECK
bool
PROGRAM.BPI_RS_PINS
string
PROGRAM.CFG_PROGRAM
bool
PROGRAM.ERASE
bool
PROGRAM.FILE
string
C:/Data/Vivado_Debug/kc705_8led.mcs
PROGRAM.FILE_1
string
C:/Data/Vivado_Debug/kc705_8led.mcs
PROGRAM.FILE_2
string
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Read-only
true
false
true
false
false
false
false
false
false
false
false
Visible
true
true
true
true
true
true
true
true
true
true
true
false
true
false
true
japan.xilinx.com
Value
28f00ap30t-bpi-x16_0
28f00ap30t-bpi-x16
hw_cfgmem
28f00ap30t-bpi-x16_0
use_file
0
0
NONE
0
1
45
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PROGRAM.VERIFY
PROGRAM.ZYNQ_FSBL
bool
string
false
false
true
true
0
hw_cfgmem オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 ハー ド ウ ェ ア マネージ ャ ー機能が開いてい る と き に、 次の
コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [get_property PROGRAM.HW_CFGMEM [current_hw_device] ]
HW_DEVICE
説明 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能内では、 各ハー ド ウ ェ ア タ ーゲ ッ ト にプ ロ グ ラ ム ま たはデバ ッ
グ目的で使用す る ザ イ リ ン ク ス FPGA デバ イ ス を 1 つま たは複数含め る こ と がで き ます。hw_device オブジ ェ ク ト は、
hw_server を使用 し て開いた hw_target の物理的パーツ です。現在のデバ イ ス は current_hw_device コ マ ン ド を使用 し て
指定す る か、 ま たは検索 し ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-18
KZBFIJPHP
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
K
KZBVLRBVF
KZBLOD
KZBYLR
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
図 2‐18 : ハー ド ウ ェ ア デバイ ス オブ ジ ェ ク ト ハー ド ウ ェ ア デバ イ ス はハー ド ウ ェ ア タ ーゲ ッ ト に関連付け ら れてお り 、 次の よ う に hw_target オブジ ェ ク ト のオブ
ジ ェ ク ト と し て取得で き ます。
get_hw_devices -of [get_hw_targets]
次を使用す る と 、 ハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト にプ ロ グ ラ ム さ れてい る デバ ッ グ コ ア を取得で き ます。
get_hw_ilas -of [current_hw_device]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
46
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ hw_device オブジ ェ ク ト のプ ロ パテ ィ は、 選択 し た タ ーゲ ッ ト パーツ に よ っ て変わ り ます。 report_property コ マ ン ド
を使用す る と 、 hw_device オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細は、 『Vivado Design Suite
Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は hw_device オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ と その値の例を示 し てい ます。
プ ロ パテ ィ
CLASS
type
DID
string
IDCODE
string
INDEX
int
IR_LENGTH
int
IS_SYSMON_SUPPORTED
bool
MASK
int
NAME
string
PART
string
PROBES.FILE
string
PROGRAM.FILE
string
PROGRAM.HW_BITSTREAM
hw_bitstream
PROGRAM.HW_CFGMEM
hw_cfgmem
PROGRAM.HW_CFGMEM_BITFILE
string
PROGRAM.HW_CFGMEM_TYPE
string
PROGRAM.IS_SUPPORTED
bool
PROGRAM.OPTIONS
string
REGISTER.BOOT_STATUS
string
REGISTER.BOOT_STATUS.BIT00_0_STATUS_VALID
string
REGISTER.BOOT_STATUS.BIT01_0_FALLBACK
string
string
REGISTER.BOOT_STATUS.BIT02_0_INTERNAL_PROG
string
REGISTER.BOOT_STATUS.BIT03_0_WATCHDOG_TIMEOUT_ERROR
string
REGISTER.BOOT_STATUS.BIT04_0_ID_ERROR
string
REGISTER.BOOT_STATUS.BIT05_0_CRC_ERROR
string
REGISTER.BOOT_STATUS.BIT06_0_WRAP_ERROR
string
REGISTER.BOOT_STATUS.BIT07_RESERVED
string
REGISTER.BOOT_STATUS.BIT08_1_STATUS_VALID
string
REGISTER.BOOT_STATUS.BIT09_1_FALLBACK
string
REGISTER.BOOT_STATUS.BIT10_1_INTERNAL_PROG
string
REGISTER.BOOT_STATUS.BIT11_1_WATCHDOG_TIMEOUT_ERROR
string
REGISTER.BOOT_STATUS.BIT12_1_ID_ERROR
string
REGISTER.BOOT_STATUS.BIT13_1_CRC_ERROR
string
REGISTER.BOOT_STATUS.BIT14_1_WRAP_ERROR
string
REGISTER.BOOT_STATUS.BIT15_RESERVED
string
REGISTER.CONFIG_STATUS
string
REGISTER.CONFIG_STATUS.BIT00_CRC_ERROR
string
REGISTER.CONFIG_STATUS.BIT01_DECRYPTOR_ENABLE
string
REGISTER.CONFIG_STATUS.BIT02_PLL_LOCK_STATUS
string
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
47
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
REGISTER.CONFIG_STATUS.BIT03_DCI_MATCH_STATUS
string
REGISTER.CONFIG_STATUS.BIT04_END_OF_STARTUP_(EOS)_STATUS
string
REGISTER.CONFIG_STATUS.BIT05_GTS_CFG_B_STATUS
string
REGISTER.CONFIG_STATUS.BIT06_GWE_STATUS
string
REGISTER.CONFIG_STATUS.BIT07_GHIGH_STATUS
string
REGISTER.CONFIG_STATUS.BIT08_MODE_PIN_M[0]
string
REGISTER.CONFIG_STATUS.BIT09_MODE_PIN_M[1]
string
REGISTER.CONFIG_STATUS.BIT10_MODE_PIN_M[2]
string
REGISTER.CONFIG_STATUS.BIT11_INIT_B_INTERNAL_SIGNAL_STATUS
string
REGISTER.CONFIG_STATUS.BIT12_INIT_B_PIN
string
REGISTER.CONFIG_STATUS.BIT13_DONE_INTERNAL_SIGNAL_STATUS
string
REGISTER.CONFIG_STATUS.BIT14_DONE_PIN
string
REGISTER.CONFIG_STATUS.BIT15_IDCODE_ERROR
string
REGISTER.CONFIG_STATUS.BIT16_SECURITY_ERROR
string
REGISTER.CONFIG_STATUS.BIT17_SYSTEM_MONITOR_OVER-TEMP_ALARM_S
TATUS
REGISTER.CONFIG_STATUS.BIT18_CFG_STARTUP_STATE_MACHINE_PHASE
string
string
REGISTER.CONFIG_STATUS.BIT21_RESERVED
string
REGISTER.CONFIG_STATUS.BIT25_CFG_BUS_WIDTH_DETECTION
string
REGISTER.CONFIG_STATUS.BIT27_HMAC_ERROR
string
REGISTER.CONFIG_STATUS.BIT28_PUDC_B_PIN
string
REGISTER.CONFIG_STATUS.BIT29_BAD_PACKET_ERROR
string
REGISTER.CONFIG_STATUS.BIT30_CFGBVS_PIN
string
REGISTER.CONFIG_STATUS.BIT31_RESERVED
string
REGISTER.IR
string
REGISTER.IR.BIT0_ALWAYS_ONE
string
REGISTER.IR.BIT1_ALWAYS_ZERO
string
REGISTER.IR.BIT2_ISC_DONE
string
REGISTER.IR.BIT3_ISC_ENABLED
string
REGISTER.IR.BIT4_INIT_COMPLETE
string
REGISTER.IR.BIT5_DONE
string
REGISTER.USERCODE
string
SET_UNKNOWN_DEVICE
bool
USER_CHAIN_COUNT
string
hw_device のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン
ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_devices] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
48
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_ILA
説明 Integrated Logic Analyzer (ILA) デバ ッ グ コ ア を使用する と 、 コ アのデバ ッ グ プ ロ ーブ を介 し て イ ンプ リ メ ン ト さ れた
デザ イ ンの信号を イ ン シ ス テ ム監視で き ます。 ILA コ アは、 特定ハー ド ウ ェ ア イ ベン ト が リ アル タ イ ム で ト リ ガー さ
れて、 シ ス テ ム速度でプ ロ ーブのデー タ が取 り 込まれ る よ う に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。
ILA デバ ッ グ コ ア をデザ イ ンに追加す る には、 IP カ タ ロ グか ら ILA コ ア を RTL デザ イ ンに イ ン ス タ ン シエー ト す る
か、 create_debug_core コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト に ILA コ ア を追加 し ます。 ILA デバ ッ グ コ アのデザ
イ ンへの追加に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 23]
を参照 し て く だ さ い。
デザ イ ン か ら ビ ッ ト ス ト リ ー ム を 生成 し 、 program_hw_devices コ マ ン ド を 使用 し てデバ イ ス を プ ロ グ ラ ム す る と 、
get_hw_ilas コ マ ン ド を使用 し てハー ド ウ ェ ア マネージ ャ ーか ら デザ イ ンに含まれ る ILA デバ ッ グ コ アにア ク セ ス で
き ます。 デザ イ ンの ILA デバ ッ グ コ アに割 り 当て ら れてい る デバ ッ グ プ ロ ーブは、 get_hw_probes コ マ ン ド を使用 し
て取得で き ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-19
KZBVHUYHU
KZBLOD
KZBWDUJHW
KZBYLR
KZBD[L
KZBGHYLFH
KZBV\VPRQ
KZBSUREH
KZBLODBGDWD
KZBVL
KZBD[LBW[Q
KZBVLRBW[
図 2‐19 : ハー ド ウ ェ ア ILA オブ ジ ェ ク ト ILA デバ ッ グ コ アは、 RTL ソ ース フ ァ イ ルま たは create_debug_core コ マ ン ド でデザ イ ンに追加で き ます。 デバ ッ グ
コ アは、get_debug_cores コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト デザ イ ン で検索で き ます。 こ れ ら は Vivado Design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
49
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
Suite のハー ド ウ ェ ア マネージ ャ ーに含まれ る ILA デバ ッ グ オブジ ェ ク ト (hw_ila) ではあ り ませんが、 関連は し てい
ます。
ハー ド ウ ェ ア ILA デバ ッ グ コ アは、プ ロ グ ラ ム済みのハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト (hw_device) のハー ド ウ ェ
ア マネージ ャ ーに含まれます。 hw_device の hw_ila は次の よ う に取得で き ます。
get_hw_ilas -of [current_hw_device]
ハー ド ウ ェ ア プ ロ ーブの よ う なハー ド ウ ェ ア ILA デバ ッ グ コ ア と 関連する オブジ ェ ク ト と コ アか ら キ ャ プチ ャ さ れ
たデー タ サンプル も あ り ます。 ILA デバ ッ グ コ アに関連す る オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_ila_datas -of_objects [get_hw_ilas hw_ila_2]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 特定の hw_ila に割 り 当て ら れた実際のプ ロ パテ ィ を確認で き ます。 詳細は、
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は hw_ila オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
CONTROL.CAPTURE_CONDITION
CONTROL.CAPTURE_MODE
CONTROL.DATA_DEPTH
CONTROL.IS_ILA_TO_DRIVE_TRIG_OUT_ENABLED
CONTROL.IS_TRIG_IN_TO_DRIVE_TRIG_OUT_ENABLED
CONTROL.IS_TRIG_IN_TO_ILA_ENABLED
CONTROL.TRIGGER_CONDITION
CONTROL.TRIGGER_MODE
CONTROL.TRIGGER_POSITION
CONTROL.TRIG_OUT_MODE
CONTROL.TSM_FILE
CONTROL.WINDOW_COUNT
CORE_REFRESH_RATE_MS
HW_CORE
INSTANCE_NAME
NAME
STATIC.IS_ADVANCED_TRIGGER_MODE_SUPPORTED
STATIC.IS_BASIC_CAPTURE_MODE_SUPPORTED
STATIC.IS_TRIG_IN_SUPPORTED
STATIC.IS_TRIG_OUT_SUPPORTED
STATIC.MAX_DATA_DEPTH
STATIC.TSM_COUNTER_0_WIDTH
STATIC.TSM_COUNTER_1_WIDTH
STATIC.TSM_COUNTER_2_WIDTH
STATIC.TSM_COUNTER_3_WIDTH
STATUS.CORE_STATUS
STATUS.DATA_DEPTH
STATUS.IS_TRIGGER_AT_STARTUP
STATUS.SAMPLE_COUNT
STATUS.TRIGGER_POSITION
STATUS.TSM_FLAG0
STATUS.TSM_FLAG1
STATUS.TSM_FLAG2
STATUS.TSM_FLAG3
STATUS.TSM_STATE
STATUS.WINDOW_COUNT
TRIGGER_START_TIME_SECONDS
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
Type
string
enum
enum
int
bool
bool
bool
string
enum
int
enum
string
int
int
string
string
string
bool
bool
bool
bool
int
int
int
int
int
string
int
bool
int
int
bool
bool
bool
bool
int
int
string
Read-only
true
false
false
false
true
true
true
false
false
false
true
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
hw_ila
AND
ALWAYS
1024
0
0
0
AND
BASIC_ONLY
0
DISABLED
1
500
core_1
u_ila_0
hw_ila_1
1
1
0
0
1024
15
15
15
15
IDLE
2147483647
0
0
2147483647
1
1
1
1
0
2147483647
50
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
TRIGGER_STOP_TIME_SECONDS
string
true
true
特定の HW_ILA のプ ロ パテ ィ を確認す る には、次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl
コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_ilas] 0]
HW_ILA_DATA
説明 ハー ド ウ ェ ア ILA デー タ オブジ ェ ク ト は、 現在のハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ ム さ れた ILA デバ ッ グ コ ア で
キ ャ プチ ャ さ れたデー タ リ ポジ ト リ です。 hw_ila_data オブジ ェ ク ト は、 upload_hw_ila_data コ マ ン ド に よ る FPGA デ
バ イ ス (hw_device) 上の ILA デバ ッ グ コ ア (hw_ila) か ら のデー タ を キ ャ プチ ャ す る プ ロ セ ス で作成 さ れます。
ま た、 read_hw_ila_data コ マ ン ド でデ ィ ス ク か ら ILA デー タ フ ァ イ ルを読み込んだ と き に も 作成 さ れます。
hw_ila_data オブジ ェ ク ト は、display_hw_ila_data コ マ ン ド を使用 し て Vivado ロ ジ ッ ク 解析機能の波形ウ ィ ン ド ウ に表
示で き 、 write_hw_ila_data コ マ ン ド を使用 し てデ ィ ス ク に保存で き ます。
関連オブ ジ ェ ク ト 49 ページの図 2-19 に示す よ う に、ハー ド ウ ェ ア ILA デー タ オブジ ェ ク ト はハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ ム さ れ
た ILA デバ ッ グ コ アに関連 し てい ます。 デー タ オブジ ェ ク ト は次の よ う に取得で き ます。
get_hw_ila_datas -of_objects [get_hw_ilas]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_ila_data オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細
は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 プ ロ パテ ィ は、
次の と お り です。
Property
CLASS
HW_ILA
NAME
TIMESTAMP
Type
string
string
string
string
Read-only
true
true
true
true
Visible
true
true
true
true
Value
hw_ila_data
hw_ila_1
hw_ila_data_1
Sat Mar 08 11:05:49 2014
hw_ila_data オブジ ェ ク ト のプ ロ パテ ィ を確認する には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル
ま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
-all [lindex [get_hw_ila_datas] 0]
japan.xilinx.com
51
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_PROBE
説明 ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト (hw_probe) は、 デザ イ ン内の信号へのア ク セ ス に使用 さ れ、 信号の値を監視お
よ び駆動 し 、 FPGA デバ イ ス のハー ド ウ ェ ア イ ベン ト を追跡 し ます。 ハー ド ウ ェ ア プ ロ ーブは、 ILA お よ び VIO デ
バ ッ グ コ アの両方に追加で き ます。
デバ ッ グ プ ロ ーブは、 コ ア と 一緒に RTL デザ イ ン ソ ース の ILA デバ ッ グ コ アに追加する か、 合成済みネ ッ ト リ ス ト
デザ イ ンの ILA コ アに追加で き (create_debug_probe コ マ ン ド を使用)、 その後 connect_debug_probe コ マ ン ド を使用 し
てデザ イ ンの信号に接続で き ます。
RTL デザ イ ンで VIO デバ ッ グ コ アにプ ロ ーブ を追加で き る のは、IP カ タ ロ グか ら IP コ ア を カ ス タ マ イ ズ ま たは再カ
ス タ マ イ ズす る 際に信号がその コ アに接続 さ れてい る 場合のみです。 デザ イ ンへの ILA お よ び VIO デバ ッ グ コ ア と
信号プ ロ ーブの追加に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参
照 23] を参照 し て く だ さ い。
デバ ッ グ コ ア と プ ロ ーブは write_debug_probes コ マ ン ド を使用 し てプ ロ ーブ フ ァ イ ル (.ltx) に記述 し 、 ハー ド ウ ェ ア
デバ イ ス オブジ ェ ク ト の PROBES.FILE お よ び PROGRAM.FILE プ ロ パテ ィ を使用 し て ビ ッ ト ス ト リ ーム フ ァ イ ル と
共 に ハ ー ド ウ ェ ア デ バ イ ス に 関 連 付 け ま す。 ハ ー ド ウ ェ ア デ バ イ ス に こ の 情報 を プ ロ グ ラ ム す る に は、
program_hw_devices コ マ ン ド を使用 し ます。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-20
KZBLOD
KZBYLR
KZBD[L
KZBSUREH
KZBLODBGDWD
KZBD[LBW[Q
図 2‐20 : ハー ド ウ ェ ア プ ローブ オブ ジ ェ ク ト ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト は、 hw_server を使用 し て開いた hw_target のハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ
ム さ れた ILA お よ び VIO デバ ッ グ コ アに関連付け ら れてい ま す。 こ れ ら のデバ ッ グ コ ア オブジ ェ ク ト に関連す る
hw_probe オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_probes -of [get_hw_ilas hw_ila_2]
get_hw_probes -of [get_hw_vios]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
52
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ デバ ッ グ プ ロ ーブには、 ILA、 VIO_INPUT、 お よ び VIO_OUTPUT の 3 つの タ イ プがあ り ます。 hw_probe オブジ ェ ク
ト に割 り 当て ら れ る プ ロ パテ ィ は、 プ ロ ーブの タ イ プに よ っ て異な り ま す。 report_property コ マ ン ド を使用す る と 、
hw_probe オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ま す。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ
フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は、 ILA タ イ プの hw_probe オブジ ェ ク ト に割 り 当て
ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CAPTURE_COMPARE_VALUE
CLASS
COMPARATOR_COUNT
COMPARE_VALUE.0
CORE_LOCATION
DISPLAY_HINT
DISPLAY_VISIBILITY
HW_ILA
NAME
PROBE_PORT
PROBE_PORT_BITS
PROBE_PORT_BIT_COUNT
TRIGGER_COMPARE_VALUE
TYPE
Type
string
string
int
string
string
string
string
string
string
int
int
int
string
string
Read-only
false
true
true
false
true
false
false
true
true
true
true
true
false
true
Visible
true
true
true
false
false
false
false
true
true
true
true
true
true
true
Value
eq2'hX
hw_probe
4
eq2'hX
1:0
hw_ila_1
GPIO_BUTTONS_dly
3
0
2
eq2'hX
ila
特定の hw_probe オブ ジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピ ー し て Vivado Design Suite の Tcl
シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_probes -filter {TYPE == ila}] 0]
report_property -all [lindex [get_hw_probes -filter {TYPE == vio_input}] 0]
report_property -all [lindex [get_hw_probes -filter {TYPE == vio_output}] 0]
HW_SERVER
説明 ハー ド ウ ェ ア サーバーは、FPGA デザ イ ン をプ ロ グ ラ ムお よ びデバ ッ グす る ために使用す る 1 つま たは複数のザ イ リ
ン ク ス FPGA デバ イ ス で構成 さ れた JTAG チ ェ ーン を含むハー ド ウ ェ ア ボー ド ハー ド ウ ェ ア タ ーゲ ッ ト への接続を
制御 し ます。
open_hw コ マ ン ド でハー ド ウ ェ ア マ ネージ ャ ー を 開い た ら 、 connect_hw_server コ マ ン ド を 使用 し てハー ド ウ ェ ア
サーバーに ロ ーカル ま たは リ モー ト のいずれかで接続で き ます。 こ れに よ り 、 hw_server アプ リ ケーシ ョ ンが起動 さ
れ、 hw_server オブジ ェ ク ト が作成 さ れます。
関連オブ ジ ェ ク ト 11 ページの図 1-3 に示す よ う に、 ハー ド ウ ェ ア サーバーは、 ハー ド ウ ェ ア マネージ ャ ーの先端のオブジ ェ ク ト で、
ハー ド ウ ェ ア タ ーゲ ッ ト への接続を管理 し ます。 hw_server に関す る オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_targets -of [get_hw_servers]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
53
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、hw_server オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。詳細は、
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は、 hw_target オブ
ジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
HOST
NAME
PASSWORD
PORT
SID
VERSION
Type
string
string
string
string
string
string
string
Read-only
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
Value
hw_server
localhost
localhost
60001
TCP:xcoatslab-1:3121
20
hw_target のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン
ソ ールに貼 り 付け ます。
report_property -all [get_hw_servers]
HW_SIO_GT
説明 カ ス タ マ イ ズ可能なザ イ リ ン ク ス FPGA 用の LogiCORE™ IP Integrated Bit Error Ratio Tester (IBERT) コ アは、ギガ ビ ッ
ト ト ラ ン シーバー (GT) を評価お よ び監視す る ために設計 さ れてい ます。 IBERT コ アは イ ン シ ス テ ム シ リ アル I/O の
検証お よ びデバ ッ グ を イ ネーブルに し 、 デザ イ ン内の高速シ リ アル I/O リ ン ク を計測お よ び最適化で き る よ う に し ま
す。詳細は、『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers v3.0 製品ガ イ ド 』 (PG132)
[参照 29] を参照 し て く だ さ い。
IBERT デバ ッ グ コ ア を使用す る と 、 GTX ト ラ ン シーバーのダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP)
ポー ト を介 し て GT ト ラ ン ス ミ ッ タ ー と レ シーバーを設定お よ び調整で き ます。 こ れに よ り 、 GT のプ ロ パテ ィ 設定
を変更 し た り 、 ポー ト 上の値を制御す る レ ジ ス タ を変更で き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
54
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-21
KZBVLRBVFD
Q
ZBYLR
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
KZBVLRBJW
KZBVLRBOLQNJURXS
KZBVLRBSOO
KZBD[LBW[Q
KZBVLRBW[
KZBVLRBU[
KZBVLRBJWJURXS
;
図 2‐21 : hw_sio_gt オブ ジ ェ ク ト hw_sio_gt オ ブ ジ ェ ク ト は、 hw_server、 hw_target、 hw_device、 hw_sio_gt、 hw_sio_common、 hw_sio_pll、 hw_sio_tx、
hw_sio_rx、 ま たは hw_sio_link オブジ ェ ク ト に接続 さ れます。 こ れ ら のオブジ ェ ク ト に関連付け ら れた GT オブジ ェ
ク ト は、 次の よ う に取得で き ます。
get_hw_sio_gts -of_objects [get_hw_sio_links]
次を使用す る と 、 hw_sio_gt オブジ ェ ク ト に関連付け ら れたオブジ ェ ク ト を取得す る こ と も で き ます。
get_hw_sio_gtgroups -of [get_hw_sio_gts *MGT_X0Y9]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、 特定の hw_sio_gt に割 り 当て ら れた実際のプ ロ パテ ィ を確認で き ま す。 詳細
は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は hw_sio_gt オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
CPLLREFCLKSEL
CPLL_FBDIV
CPLL_FBDIV_45
CPLL_REFCLK_DIV
DISPLAY_NAME
DRP.ALIGN_COMMA_DOUBLE
DRP.ALIGN_COMMA_ENABLE
DRP.ALIGN_COMMA_WORD
DRP.ALIGN_MCOMMA_DET
DRP.ALIGN_MCOMMA_VALUE
DRP.ALIGN_PCOMMA_DET
DRP.ALIGN_PCOMMA_VALUE
DRP.CBCC_DATA_SOURCE_SEL
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
string
enum
enum
enum
enum
string
string
string
string
string
string
string
string
string
japan.xilinx.com
Read-only
true
false
false
false
false
true
false
false
false
false
false
false
false
false
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
hw_sio_gt
GTREFCLK0
1
4
1
MGT_X0Y8
0
07F
1
1
283
1
17C
1
55
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.CHAN_BOND_KEEP_ALIGN
DRP.CHAN_BOND_MAX_SKEW
DRP.CHAN_BOND_SEQ_1_1
DRP.CHAN_BOND_SEQ_1_2
DRP.CHAN_BOND_SEQ_1_3
DRP.CHAN_BOND_SEQ_1_4
DRP.CHAN_BOND_SEQ_1_ENABLE
DRP.CHAN_BOND_SEQ_2_1
DRP.CHAN_BOND_SEQ_2_2
DRP.CHAN_BOND_SEQ_2_3
DRP.CHAN_BOND_SEQ_2_4
DRP.CHAN_BOND_SEQ_2_ENABLE
DRP.CHAN_BOND_SEQ_2_USE
DRP.CHAN_BOND_SEQ_LEN
DRP.CLK_CORRECT_USE
DRP.CLK_COR_KEEP_IDLE
DRP.CLK_COR_MAX_LAT
DRP.CLK_COR_MIN_LAT
DRP.CLK_COR_PRECEDENCE
DRP.CLK_COR_REPEAT_WAIT
DRP.CLK_COR_SEQ_1_1
DRP.CLK_COR_SEQ_1_2
DRP.CLK_COR_SEQ_1_3
DRP.CLK_COR_SEQ_1_4
DRP.CLK_COR_SEQ_1_ENABLE
DRP.CLK_COR_SEQ_2_1
DRP.CLK_COR_SEQ_2_2
DRP.CLK_COR_SEQ_2_3
DRP.CLK_COR_SEQ_2_4
DRP.CLK_COR_SEQ_2_ENABLE
DRP.CLK_COR_SEQ_2_USE
DRP.CLK_COR_SEQ_LEN
DRP.CPLL_CFG
DRP.CPLL_FBDIV
DRP.CPLL_FBDIV_45
DRP.CPLL_INIT_CFG
DRP.CPLL_LOCK_CFG
DRP.CPLL_REFCLK_DIV
DRP.DEC_MCOMMA_DETECT
DRP.DEC_PCOMMA_DETECT
DRP.DEC_VALID_COMMA_ONLY
DRP.DMONITOR_CFG
DRP.ES_CONTROL
DRP.ES_CONTROL_STATUS
DRP.ES_ERRDET_EN
DRP.ES_ERROR_COUNT
DRP.ES_EYE_SCAN_EN
DRP.ES_HORZ_OFFSET
DRP.ES_PMA_CFG
DRP.ES_PRESCALE
DRP.ES_QUALIFIER
DRP.ES_QUAL_MASK
DRP.ES_RDATA
DRP.ES_SAMPLE_COUNT
DRP.ES_SDATA
DRP.ES_SDATA_MASK
DRP.ES_UT_SIGN
DRP.ES_VERT_OFFSET
DRP.FTS_DESKEW_SEQ_ENABLE
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
7
17C
100
100
100
F
100
100
100
100
F
0
0
0
0
13
0F
1
00
11C
100
100
100
F
100
100
100
100
F
0
0
BC07DC
10
0
00001E
01C0
10
0
0
0
000A01
00
0
0
0000
1
000
000
00
00000000000000000000
00000000000000000000
00000000000000000000
0000
00000000000000000000
00000000000000000000
0
000
F
56
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.FTS_LANE_DESKEW_CFG
DRP.FTS_LANE_DESKEW_EN
DRP.GEARBOX_MODE
DRP.OUTREFCLK_SEL_INV
DRP.PCS_PCIE_EN
DRP.PCS_RSVD_ATTR
DRP.PD_TRANS_TIME_FROM_P2
DRP.PD_TRANS_TIME_NONE_P2
DRP.PD_TRANS_TIME_TO_P2
DRP.PMA_RSV
DRP.PMA_RSV2
DRP.PMA_RSV2_BIT4
DRP.PMA_RSV3
DRP.PMA_RSV4
DRP.RXBUFRESET_TIME
DRP.RXBUF_ADDR_MODE
DRP.RXBUF_EIDLE_HI_CNT
DRP.RXBUF_EIDLE_LO_CNT
DRP.RXBUF_EN
DRP.RXBUF_RESET_ON_CB_CHANGE
DRP.RXBUF_RESET_ON_COMMAALIGN
DRP.RXBUF_RESET_ON_EIDLE
DRP.RXBUF_RESET_ON_RATE_CHANGE
DRP.RXBUF_THRESH_OVFLW
DRP.RXBUF_THRESH_OVRD
DRP.RXBUF_THRESH_UNDFLW
DRP.RXCDRFREQRESET_TIME
DRP.RXCDRPHRESET_TIME
DRP.RXCDR_CFG
DRP.RXCDR_FR_RESET_ON_EIDLE
DRP.RXCDR_HOLD_DURING_EIDLE
DRP.RXCDR_LOCK_CFG
DRP.RXCDR_PH_RESET_ON_EIDLE
DRP.RXDFELPMRESET_TIME
DRP.RXDLY_CFG
DRP.RXDLY_LCFG
DRP.RXDLY_TAP_CFG
DRP.RXGEARBOX_EN
DRP.RXISCANRESET_TIME
DRP.RXLPM_HF_CFG
DRP.RXLPM_LF_CFG
DRP.RXOOB_CFG
DRP.RXOUT_DIV
DRP.RXPCSRESET_TIME
DRP.RXPHDLY_CFG
DRP.RXPH_CFG
DRP.RXPH_MONITOR_SEL
DRP.RXPMARESET_TIME
DRP.RXPRBS_ERR_LOOPBACK
DRP.RXSLIDE_AUTO_WAIT
DRP.RXSLIDE_MODE
DRP.RX_BIAS_CFG
DRP.RX_BUFFER_CFG
DRP.RX_CLK25_DIV
DRP.RX_CLKMUX_PD
DRP.RX_CM_SEL
DRP.RX_CM_TRIM
DRP.RX_DATA_WIDTH
DRP.RX_DDI_SEL
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
F
0
0
3
0
000000000000
03C
3C
64
001E7080
2070
1
0
00000000
01
1
8
0
1
1
0
0
1
3D
0
04
01
01
0B800023FF10200020
0
0
15
0
0F
001F
030
0000
0
01
00F0
00F0
06
0
01
084020
000000
00
03
0
7
0
004
00
04
1
3
4
5
00
57
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.RX_DEBUG_CFG
DRP.RX_DEFER_RESET_BUF_EN
DRP.RX_DFE_CTLE_STAGE1
DRP.RX_DFE_CTLE_STAGE2
DRP.RX_DFE_CTLE_STAGE3
DRP.RX_DFE_GAIN_CFG
DRP.RX_DFE_H2_CFG
DRP.RX_DFE_H3_CFG
DRP.RX_DFE_H4_CFG
DRP.RX_DFE_H5_CFG
DRP.RX_DFE_KL_CFG
DRP.RX_DFE_KL_CFG2
DRP.RX_DFE_LPM_CFG
DRP.RX_DFE_LPM_HOLD_DURING_EIDLE
DRP.RX_DFE_UT_CFG
DRP.RX_DFE_VP_CFG
DRP.RX_DFE_XYD_CFG
DRP.RX_DISPERR_SEQ_MATCH
DRP.RX_INT_DATAWIDTH
DRP.RX_OS_CFG
DRP.RX_SIG_VALID_DLY
DRP.RX_XCLK_SEL
DRP.SAS_MAX_COM
DRP.SAS_MIN_COM
DRP.SATA_BURST_SEQ_LEN
DRP.SATA_BURST_VAL
DRP.SATA_CPLL_CFG
DRP.SATA_EIDLE_VAL
DRP.SATA_MAX_BURST
DRP.SATA_MAX_INIT
DRP.SATA_MAX_WAKE
DRP.SATA_MIN_BURST
DRP.SATA_MIN_INIT
DRP.SATA_MIN_WAKE
DRP.SHOW_REALIGN_COMMA
DRP.TERM_RCAL_CFG
DRP.TERM_RCAL_OVRD
DRP.TRANS_TIME_RATE
DRP.TST_RSV
DRP.TXBUF_EN
DRP.TXBUF_RESET_ON_RATE_CHANGE
DRP.TXDLY_CFG
DRP.TXDLY_LCFG
DRP.TXDLY_TAP_CFG
DRP.TXGEARBOX_EN
DRP.TXOUT_DIV
DRP.TXPCSRESET_TIME
DRP.TXPHDLY_CFG
DRP.TXPH_CFG
DRP.TXPH_MONITOR_SEL
DRP.TXPMARESET_TIME
DRP.TX_CLK25_DIV
DRP.TX_CLKMUX_PD
DRP.TX_DATA_WIDTH
DRP.TX_DEEMPH0
DRP.TX_DEEMPH1
DRP.TX_DRIVE_MODE
DRP.TX_EIDLE_ASSERT_DELAY
DRP.TX_EIDLE_DEASSERT_DELAY
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
000
1
8
3
0
020FEA
000
040
0F0
0E0
00FE
3010D90C
0954
0
11E00
03F03
0000
1
1
0080
09
0
40
24
F
4
0
4
08
15
07
04
0C
04
1
10
0
0E
00000000
1
0
001F
030
0000
0
0
01
084020
0780
00
01
04
1
5
00
00
00
6
4
58
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.TX_INT_DATAWIDTH
DRP.TX_LOOPBACK_DRIVE_HIZ
DRP.TX_MAINCURSOR_SEL
DRP.TX_MARGIN_FULL_0
DRP.TX_MARGIN_FULL_1
DRP.TX_MARGIN_FULL_2
DRP.TX_MARGIN_FULL_3
DRP.TX_MARGIN_FULL_4
DRP.TX_MARGIN_LOW_0
DRP.TX_MARGIN_LOW_1
DRP.TX_MARGIN_LOW_2
DRP.TX_MARGIN_LOW_3
DRP.TX_MARGIN_LOW_4
DRP.TX_PREDRIVER_MODE
DRP.TX_QPI_STATUS_EN
DRP.TX_RXDETECT_CFG
DRP.TX_RXDETECT_REF
DRP.TX_XCLK_SEL
DRP.UCODEER_CLR
ES_HORZ_MIN_MAX
GT_TYPE
LINE_RATE
LOGIC.DEBUG_CLOCKS
LOGIC.ERRBIT_COUNT
LOGIC.ERR_INJECT_CTRL
LOGIC.FRAME_LEN
LOGIC.GT_SOURCES_SYSCLK
LOGIC.IDLE_DETECTED
LOGIC.IFG_LEN
LOGIC.LINK
LOGIC.MAX_LINERATE
LOGIC.MAX_REFCLK_FREQ
LOGIC.MGT_COORDINATE
LOGIC.MGT_ERRCNT_RESET_CTRL
LOGIC.MGT_ERRCNT_RESET_STAT
LOGIC.MGT_NUMBER
LOGIC.MGT_RESET_CTRL
LOGIC.MGT_RESET_STAT
LOGIC.PROTOCOL_ENUM
LOGIC.RXPAT_ID
LOGIC.RXRECCLK_FREQ_CNT
LOGIC.RXRECCLK_FREQ_TUNE
LOGIC.RXUSRCLK2_FREQ_CNT
LOGIC.RXUSRCLK2_FREQ_TUNE
LOGIC.RXUSRCLK_FREQ_CNT
LOGIC.RXUSRCLK_FREQ_TUNE
LOGIC.RXWORD_COUNT
LOGIC.RX_DCM_LOCK
LOGIC.RX_DCM_RESET_CTRL
LOGIC.RX_DCM_RESET_STAT
LOGIC.RX_FRAMED
LOGIC.SILICON_VERSION
LOGIC.TIMER
LOGIC.TXOUTCLK_FREQ_CNT
LOGIC.TXOUTCLK_FREQ_TUNE
LOGIC.TXPAT_ID
LOGIC.TXUSRCLK2_FREQ_CNT
LOGIC.TXUSRCLK2_FREQ_TUNE
LOGIC.TXUSRCLK_FREQ_CNT
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
1
0
0
4E
49
45
42
40
46
44
42
40
40
0
0
1832
4
0
0
32
7 Series GTX
0.000
0
000000000000
0
0000
0
0
00
0
0001DCD65000
07735940
0008
0
0
0075
0
0
0000
1
0000
4000
0000
4000
0000
4000
000000000000
1
0
0
0
0300
009736E7B9BC
0000
4000
1
0000
4000
0000
59
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
LOGIC.TXUSRCLK_FREQ_TUNE
string false
true
4000
LOGIC.TX_DCM_LOCK
string false
true
1
LOGIC.TX_DCM_RESET_CTRL
string false
true
0
LOGIC.TX_DCM_RESET_STAT
string false
true
1
LOGIC.TX_FRAMED
string false
true
0
LOOPBACK
enum
false
true
None
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8
PARENT
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT
PLL_STATUS
string false
true
LOCKED
PORT.CFGRESET
string false
true
0
PORT.CLKRSVD
string false
true
0
PORT.CPLLFBCLKLOST
string false
true
0
PORT.CPLLLOCK
string false
true
1
PORT.CPLLLOCKDETCLK
string false
true
0
PORT.CPLLLOCKEN
string false
true
1
PORT.CPLLPD
string false
true
0
PORT.CPLLREFCLKLOST
string false
true
0
PORT.CPLLREFCLKSEL
string false
true
1
PORT.CPLLRESET
string false
true
0
PORT.DMONITOROUT
string false
true
1F
PORT.EYESCANDATAERROR
string false
true
0
PORT.EYESCANMODE
string false
true
0
PORT.EYESCANRESET
string false
true
0
PORT.EYESCANTRIGGER
string false
true
0
PORT.GTREFCLKMONITOR
string false
true
1
PORT.GTRESETSEL
string false
true
0
PORT.GTRSVD
string false
true
0000
PORT.GTRXRESET
string false
true
0
PORT.GTTXRESET
string false
true
0
PORT.LOOPBACK
string false
true
0
PORT.PCSRSVDIN
string false
true
0000
PORT.PCSRSVDIN2
string false
true
00
PORT.PCSRSVDOUT
string false
true
01F3
PORT.PHYSTATUS
string false
true
1
PORT.PMARSVDIN
string false
true
00
PORT.PMARSVDIN2
string false
true
00
PORT.RESETOVRD
string false
true
0
PORT.RX8B10BEN
string false
true
0
PORT.RXBUFRESET
string false
true
0
PORT.RXBUFSTATUS
string false
true
0
PORT.RXBYTEISALIGNED
string false
true
0
PORT.RXBYTEREALIGN
string false
true
0
PORT.RXCDRFREQRESET
string false
true
0
PORT.RXCDRHOLD
string false
true
0
PORT.RXCDRLOCK
string false
true
0
PORT.RXCDROVRDEN
string false
true
0
PORT.RXCDRRESET
string false
true
0
PORT.RXCDRRESETRSV
string false
true
0
PORT.RXCHANBONDSEQ
string false
true
0
PORT.RXCHANISALIGNED
string false
true
0
PORT.RXCHANREALIGN
string false
true
0
PORT.RXCHARISCOMMA
string false
true
00
PORT.RXCHARISK
string false
true
00
PORT.RXCHBONDEN
string false
true
0
PORT.RXCHBONDI
string false
true
10
PORT.RXCHBONDLEVEL
string false
true
0
PORT.RXCHBONDMASTER
string false
true
0
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
60
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.RXCHBONDO
PORT.RXCHBONDSLAVE
PORT.RXCLKCORCNT
PORT.RXCOMINITDET
PORT.RXCOMMADET
PORT.RXCOMMADETEN
PORT.RXCOMSASDET
PORT.RXCOMWAKEDET
PORT.RXDATAVALID
PORT.RXDDIEN
PORT.RXDFEAGCHOLD
PORT.RXDFEAGCOVRDEN
PORT.RXDFECM1EN
PORT.RXDFELFHOLD
PORT.RXDFELFOVRDEN
PORT.RXDFELPMRESET
PORT.RXDFETAP2HOLD
PORT.RXDFETAP2OVRDEN
PORT.RXDFETAP3HOLD
PORT.RXDFETAP3OVRDEN
PORT.RXDFETAP4HOLD
PORT.RXDFETAP4OVRDEN
PORT.RXDFETAP5HOLD
PORT.RXDFETAP5OVRDEN
PORT.RXDFEUTHOLD
PORT.RXDFEUTOVRDEN
PORT.RXDFEVPHOLD
PORT.RXDFEVPOVRDEN
PORT.RXDFEVSEN
PORT.RXDFEXYDEN
PORT.RXDFEXYDHOLD
PORT.RXDFEXYDOVRDEN
PORT.RXDISPERR
PORT.RXDLYBYPASS
PORT.RXDLYEN
PORT.RXDLYOVRDEN
PORT.RXDLYSRESET
PORT.RXDLYSRESETDONE
PORT.RXELECIDLE
PORT.RXELECIDLEMODE
PORT.RXGEARBOXSLIP
PORT.RXHEADER
PORT.RXHEADERVALID
PORT.RXLPMEN
PORT.RXLPMHFHOLD
PORT.RXLPMHFOVRDEN
PORT.RXLPMLFHOLD
PORT.RXLPMLFKLOVRDEN
PORT.RXMCOMMAALIGNEN
PORT.RXMONITOROUT
PORT.RXMONITORSEL
PORT.RXNOTINTABLE
PORT.RXOOBRESET
PORT.RXOSHOLD
PORT.RXOSOVRDEN
PORT.RXOUTCLKFABRIC
PORT.RXOUTCLKPCS
PORT.RXOUTCLKSEL
PORT.RXPCOMMAALIGNEN
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7F
0
FF
0
0
0
0
0
1
0
61
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.RXPCSRESET
PORT.RXPD
PORT.RXPHALIGN
PORT.RXPHALIGNDONE
PORT.RXPHALIGNEN
PORT.RXPHDLYPD
PORT.RXPHDLYRESET
PORT.RXPHMONITOR
PORT.RXPHOVRDEN
PORT.RXPHSLIPMONITOR
PORT.RXPMARESET
PORT.RXPOLARITY
PORT.RXPRBSCNTRESET
PORT.RXPRBSERR
PORT.RXPRBSSEL
PORT.RXQPIEN
PORT.RXQPISENN
PORT.RXQPISENP
PORT.RXRATE
PORT.RXRATEDONE
PORT.RXRESETDONE
PORT.RXSLIDE
PORT.RXSTARTOFSEQ
PORT.RXSTATUS
PORT.RXSYSCLKSEL
PORT.RXUSERRDY
PORT.RXVALID
PORT.SETERRSTATUS
PORT.TSTIN
PORT.TSTOUT
PORT.TX8B10BBYPASS
PORT.TX8B10BEN
PORT.TXBUFDIFFCTRL
PORT.TXBUFSTATUS
PORT.TXCHARDISPMODE
PORT.TXCHARDISPVAL
PORT.TXCHARISK
PORT.TXCOMFINISH
PORT.TXCOMINIT
PORT.TXCOMSAS
PORT.TXCOMWAKE
PORT.TXDEEMPH
PORT.TXDETECTRX
PORT.TXDIFFCTRL
PORT.TXDIFFPD
PORT.TXDLYBYPASS
PORT.TXDLYEN
PORT.TXDLYHOLD
PORT.TXDLYOVRDEN
PORT.TXDLYSRESET
PORT.TXDLYSRESETDONE
PORT.TXDLYUPDOWN
PORT.TXELECIDLE
PORT.TXGEARBOXREADY
PORT.TXHEADER
PORT.TXINHIBIT
PORT.TXMAINCURSOR
PORT.TXMARGIN
PORT.TXOUTCLKFABRIC
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
0
0
0
0
0
0
00
0
04
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
FFFFF
000
FF
0
4
0
00
00
00
0
0
0
0
0
0
C
0
1
0
0
0
0
0
0
0
0
0
0
00
0
1
62
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.TXOUTCLKPCS
PORT.TXOUTCLKSEL
PORT.TXPCSRESET
PORT.TXPD
PORT.TXPDELECIDLEMODE
PORT.TXPHALIGN
PORT.TXPHALIGNDONE
PORT.TXPHALIGNEN
PORT.TXPHDLYPD
PORT.TXPHDLYRESET
PORT.TXPHDLYTSTCLK
PORT.TXPHINIT
PORT.TXPHINITDONE
PORT.TXPHOVRDEN
PORT.TXPISOPD
PORT.TXPMARESET
PORT.TXPOLARITY
PORT.TXPOSTCURSOR
PORT.TXPOSTCURSORINV
PORT.TXPRBSFORCEERR
PORT.TXPRBSSEL
PORT.TXPRECURSOR
PORT.TXPRECURSORINV
PORT.TXQPIBIASEN
PORT.TXQPISENN
PORT.TXQPISENP
PORT.TXQPISTRONGPDOWN
PORT.TXQPIWEAKPUP
PORT.TXRATE
PORT.TXRATEDONE
PORT.TXRESETDONE
PORT.TXSEQUENCE
PORT.TXSTARTSEQ
PORT.TXSWING
PORT.TXSYSCLKSEL
PORT.TXUSERRDY
RXDFEENABLED
RXOUTCLKSEL
RXOUT_DIV
RXPLL
RXRATE
RXTERM
RXTERMMODE
RXUSRCLK2_FREQ
RXUSRCLK_FREQ
RX_BER
RX_DATA_WIDTH
RX_DFE_CTLE
RX_INTERNAL_DATAPATH
RX_PATTERN
RX_RECEIVED_BIT_COUNT
STATUS
SYSCLK_FREQ
TXDIFFSWING
TXOUTCLKSEL
TXOUT_DIV
TXPLL
TXPOST
TXPRE
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
enum
enum
enum
enum
enum
enum
enum
string
string
string
enum
enum
enum
enum
string
string
string
enum
enum
enum
enum
enum
enum
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
03
0
0
0
07
0
0
0
0
0
0
0
0
0
00
0
0
3
1
1
RXOUTCLKPCS
1
QPLL
Use RX_OUT_DIV
900 mV
Programmable
0.048828
0.048828
inf
40
4-byte
PRBS 7-bit
0
NO LINK
100.000000
1.018 V (1100)
TXOUTCLKPMA
1
QPLL
0.68 dB (00011)
1.67 dB (00111)
63
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
TXRATE
TXUSRCLK2_FREQ
TXUSRCLK_FREQ
TX_DATA_WIDTH
TX_INTERNAL_DATAPATH
TX_PATTERN
enum
string
string
enum
enum
enum
false
false
false
false
false
false
true
true
true
true
true
true
Use TXOUT_DIV
0.048828
0.048828
40
4-byte
PRBS 7-bit
hw_sio_gt オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま
たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_gts] 0]
HW_SIO_GTGROUP
説明 GT グループはハー ド ウ ェ ア デバ イ ス 上の GT IO バ ン ク に関連 し てい る ので、 使用可能な GT ピ ンお よ びバ ン ク は
タ ーゲ ッ ト のザ イ リ ン ク ス FPGA に よ っ て決ま り ます。 た と えば、 Kintex-7 XC7K325 パーツには 4 つのグループがあ
り 、 それぞれに 4 つの差動 GT ピ ンのペアが含まれてい ます。 各 GT ピ ンには、 独自の レ シーバー (hw_sio_rx) と ト ラ
ン ス ミ ッ タ ー (hw_sio_tx) が含まれてい ます。 GT グループには、 区画ご と に共有 PLL ( ク ワ ッ ド PLL) も 1 つ含まれて
い ます。 GT グループは IBERT デバ ッ グ コ アで定義 さ れてお り 、 IBERT を RTL デザ イ ンに追加する と き に多数の設
定を使用 し て カ ス タ マ イ ズで き ま す。 詳細は、 『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX
Transceivers v3.0 製品ガ イ ド 』 (PG132) を参照 し て く だ さ い。
関連オブ ジ ェ ク ト GT グ ル ー プ は、 hw_device、 hw_sio_ibert、 hw_sio_gt、 hw_sio_common、 hw_sio_pll、 hw_sio_tx、 hw_sio_rx、 お よ び
hw_sio_link オブジ ェ ク ト に接続 さ れます。
こ れ ら のグループに接続 さ れた GT オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_sio_gtgroups -of [get_hw_sio_gts *MGT_X0Y9]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、hw_sio_gtgroup オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。詳
細 は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [ 参照 13] を 参照 し て く だ さ い。 次 は
hw_sio_gtgroup オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
Type
Read-only Visible Value
CLASS
string true
true
hw_sio_gtgroup
DISPLAY_NAME string true
true
Quad_117
GT_TYPE
string true
true
7 Series GTX
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117
PARENT
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT
特定の hw_sio_gtgroup のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま
たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_gtgroups] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
64
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_SIO_IBERT
説明 カ ス タ マ イ ズ可能なザ イ リ ン ク ス FPGA 用の LogiCORE™ IP Integrated Bit Error Ratio Tester (IBERT) コ アは、ギガ ビ ッ
ト ト ラ ン シーバー (GT) を評価お よ び監視す る ために設計 さ れてい ます。 IBERT コ アは イ ン シ ス テ ム シ リ アル I/O の
検証お よ びデバ ッ グ を イ ネーブルに し 、 FPGA ベース シ ス テ ムの高速シ リ アル I/O リ ン ク を計測お よ び最適化で き る
よ う に し ます。 詳細は、 『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers v3.0 製品ガ
イ ド 』 (PG132) を参照 し て く だ さ い。
IBERT デバ ッ グ コ ア を使用す る と 、 次の よ う なデバ イ ス の主な GT 機能を設定お よ び制御で き ます。
•
TX プ リ エン フ ァ シ スお よ びポ ス ト エン フ ァ シ ス
•
TX 差動振幅
•
RX イ コ ラ イ ゼーシ ョ ン
•
判定帰還等化 (DFE)
•
位相 ロ ッ ク ループ (PLL) の分周設定
IBERT コ アは、 単純な ク ロ ッ ク や接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適化の問題ま で、 さ ま ざ ま な
イ ン シ ス テ ム デバ ッ グお よ び検証の問題を解決する ために使用で き ます。
関連オブ ジ ェ ク ト 66 ペ ー ジ の 図 2-22 に 示す よ う に、 SIO IBERT デ バ ッ グ コ ア は、 hw_server、 hw_target、 hw_device、 hw_sio_gt、
hw_sio_common、 hw_sio_pll、 hw_sio_tx、 hw_sio_rx、 ま たは hw_sio_link オブジ ェ ク ト に接続 さ れます。
接続 さ れたオブジ ェ ク ト の IBERT デバ ッ グ コ アは、 次の よ う に取得で き ます。
get_hw_sio_iberts -of [get_hw_sio_plls *MGT_X0Y8/CPLL_0]
次を使用す る と 、 特定の IBERT コ アに接続 さ れたオブジ ェ ク ト も 取得で き ます。
get_hw_sio_commons -of [get_hw_sio_iberts]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
65
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
X-Ref Target - Figure 2-22
KZBFIJPHP
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
KZBVLRBVZHHS
KZBVLRBVFDQ
KZBYLR
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
H
KZBVLRBJW
KZBVLRBSOO
KZBVLRBOLQNJURXS
KZBD[LBW[Q
KZBVLRBW[
KZBVLRBU[
KZBVLRBJWJURXS
;
図 2‐22 : hw_sio_ibert オブ ジ ェ ク ト プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 特定の hw_sio_ibert に割 り 当て ら れた実際のプ ロ パテ ィ を確認で き ます。 詳細
は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は hw_sio_ibert オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
Type
Read-only Visible Value
CLASS
string true
true
hw_sio_ibert
CORE_REFRESH_RATE_MS int
false
true
0
DISPLAY_NAME
string true
true
IBERT
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT
USER_REGISTER
int
true
true
1
特定の hw_sio_ibert のプ ロ パテ ィ を確認す る には、次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは
Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_iberts] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
66
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_SIO_PLL
説明 ギガ ビ ッ ト ト ラ ン シーバー (GT) を含むザ イ リ ン ク ス デバ イ ス の場合、 シ リ アル ト ラ ン シーバー チ ャ ネルそれぞれ
に Channel PLL (CPLL) と い う リ ン グ PLL (位相 ロ ッ ク ループ) が含まれます。ザ イ リ ン ク ス UltraScale お よ び 7 シ リ ー
ズ FPGA では、 GTX の各区画に ク ワ ッ ド PLL (QPLL) と 呼ばれ る 追加の共有 PLL があ り ます。 こ の QPLL は、 高速、
高パフ ォーマ ン ス、 低消費電力のマルチ レーン アプ リ ケーシ ョ ン をサポー ト す る ための共有 LC PLL です。
関連オブ ジ ェ ク ト
hw_sio_pll オブジ ェ ク ト は、 hw_server、 hw_target、 hw_device、 hw_sio_ibert、 hw_sio_gt、 ま たは hw_sio_common に接
続 さ れます。
接続 さ れたオブジ ェ ク ト の PLL は次の よ う に取得で き ます。
get_hw_sio_plls -of [get_hw_sio_commons]
次を使用す る と 、 PLL に接続 さ れたオブジ ェ ク ト も 取得で き ます。
get_hw_sio_iberts -of [get_hw_sio_plls *MGT_X0Y8/CPLL_0]
プ ロパテ ィ
report_property コ マ ン ド を 使用す る と 、 特定の hw_sio_pll に割 り 当 て ら れ た プ ロ パ テ ィ を 確認で き ま す。 詳細は、
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は、 QPLL タ イ プ
の hw_sio_pll オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
Type
Read-only Visible Value
CLASS
string true
true
hw_sio_pll
DISPLAY_NAME
string true
true
COMMON_X0Y2/QPLL_0
DRP.QPLL_CFG
string false
true
06801C1
DRP.QPLL_CLKOUT_CFG
string false
true
0
DRP.QPLL_COARSE_FREQ_OVRD
string false
true
10
DRP.QPLL_COARSE_FREQ_OVRD_EN string false
true
0
DRP.QPLL_CP
string false
true
01F
DRP.QPLL_CP_MONITOR_EN
string false
true
0
DRP.QPLL_DMONITOR_SEL
string false
true
0
DRP.QPLL_FBDIV
string false
true
0E0
DRP.QPLL_FBDIV_MONITOR_EN
string false
true
1
DRP.QPLL_FBDIV_RATIO
string false
true
1
DRP.QPLL_INIT_CFG
string false
true
000028
DRP.QPLL_LOCK_CFG
string false
true
21E8
DRP.QPLL_LOWER_BAND
string false
true
1
DRP.QPLL_LPF
string false
true
F
DRP.QPLL_REFCLK_DIV
string false
true
10
LOGIC.QPLLRESET_CTRL
string false
true
0
LOGIC.QPLLRESET_STAT
string false
true
0
LOGIC.QPLL_LOCK
string false
true
0
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/COMMON_X0Y2/QPLL_0
PARENT
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/COMMON_X0Y2
PORT.QPLLDMONITOR
string false
true
EC
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
67
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.QPLLFBCLKLOST
PORT.QPLLLOCK
PORT.QPLLLOCKEN
PORT.QPLLOUTRESET
PORT.QPLLPD
PORT.QPLLREFCLKLOST
PORT.QPLLREFCLKSEL
PORT.QPLLRESET
PORT.QPLLRSVD1
PORT.QPLLRSVD2
QPLLREFCLKSEL
QPLL_N_DIVIDER
QPLL_REFCLK_DIV
STATUS
string
string
string
string
string
string
string
string
string
string
enum
enum
enum
string
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
1
1
0
0
0
1
0
0000
1F
GTREFCLK0
64
1
LOCKED
hw_sio_pll オブジ ェ ク ト のプ ロ パテ ィ を確認する には、次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま
たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_gts] 0]
HW_SIO_RX
説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た レ シーバー (hw_sio_rx) が含ま れて
い ます。 高速シ リ アル デー タ は、 ボー ド 上の ト レース か ら GTX/GTH ト ラ ン シーバー RX の PMA、 PCS、 そ し て最後
に FPGA ロ ジ ッ ク に送信 さ れます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
68
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-23
KZBELWVWUHDP
KZBVLRBVZHHS
KZBVLRBVFDQ
KZBD[L
KZBV\VPRQ
KZBVLRBLEHUW
KZBVLRBOLQN
KZBVLRBJW
KZBVLRBSOO
KZBVLRBOLQNJURXS
KZBD[LBW[Q
KZBVLRBW[
KZBVLRBU[
KZBVLRBJWJURXS
;
図 2‐23 : ハー ド ウ ェ ア SIO RX および TX オブ ジ ェ ク ト hw_sio_rx オブジ ェ ク ト は、 hw_server、 hw_target、 hw_device、 hw_sio_ibert、 hw_sio_gt、 ま たは hw_sio_link に接続 さ
れます。
接続 さ れたオブジ ェ ク ト の hw_sio_rx オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_sio_rxs -of [get_hw_sio_gts]
次を使用す る と 、 特定の hw_sio_rx に接続 さ れたオブジ ェ ク ト も 取得で き ます。
get_hw_sio_links -of [get_hw_sio_rxs]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、 特定の hw_sio_rx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。
詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を 参照 し て く だ さ い。 次 は、
hw_sio_rx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
DISPLAY_NAME
DRP.ES_CONTROL
DRP.ES_CONTROL_STATUS
DRP.ES_ERRDET_EN
DRP.ES_ERROR_COUNT
DRP.ES_EYE_SCAN_EN
DRP.ES_HORZ_OFFSET
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
Read-only
string true
string true
string false
string false
string false
string false
string false
string false
japan.xilinx.com
Visible
true
true
true
true
true
true
true
true
Value
hw_sio_rx
MGT_X0Y8/RX
00
0
0
0000
1
000
69
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.ES_PMA_CFG
DRP.ES_PRESCALE
DRP.ES_QUALIFIER
DRP.ES_QUAL_MASK
DRP.ES_RDATA
DRP.ES_SAMPLE_COUNT
DRP.ES_SDATA
DRP.ES_SDATA_MASK
DRP.ES_UT_SIGN
DRP.ES_VERT_OFFSET
DRP.FTS_DESKEW_SEQ_ENABLE
DRP.FTS_LANE_DESKEW_CFG
DRP.FTS_LANE_DESKEW_EN
DRP.RXBUFRESET_TIME
DRP.RXBUF_ADDR_MODE
DRP.RXBUF_EIDLE_HI_CNT
DRP.RXBUF_EIDLE_LO_CNT
DRP.RXBUF_EN
DRP.RXBUF_RESET_ON_CB_CHANGE
DRP.RXBUF_RESET_ON_COMMAALIGN
DRP.RXBUF_RESET_ON_EIDLE
DRP.RXBUF_RESET_ON_RATE_CHANGE
DRP.RXBUF_THRESH_OVFLW
DRP.RXBUF_THRESH_OVRD
DRP.RXBUF_THRESH_UNDFLW
DRP.RXCDRFREQRESET_TIME
DRP.RXCDRPHRESET_TIME
DRP.RXCDR_CFG
DRP.RXCDR_FR_RESET_ON_EIDLE
DRP.RXCDR_HOLD_DURING_EIDLE
DRP.RXCDR_LOCK_CFG
DRP.RXCDR_PH_RESET_ON_EIDLE
DRP.RXDFELPMRESET_TIME
DRP.RXDLY_CFG
DRP.RXDLY_LCFG
DRP.RXDLY_TAP_CFG
DRP.RXGEARBOX_EN
DRP.RXISCANRESET_TIME
DRP.RXLPM_HF_CFG
DRP.RXLPM_LF_CFG
DRP.RXOOB_CFG
DRP.RXOUT_DIV
DRP.RXPCSRESET_TIME
DRP.RXPHDLY_CFG
DRP.RXPH_CFG
DRP.RXPH_MONITOR_SEL
DRP.RXPMARESET_TIME
DRP.RXPRBS_ERR_LOOPBACK
DRP.RXSLIDE_AUTO_WAIT
DRP.RXSLIDE_MODE
DRP.RX_BIAS_CFG
DRP.RX_BUFFER_CFG
DRP.RX_CLK25_DIV
DRP.RX_CLKMUX_PD
DRP.RX_CM_SEL
DRP.RX_CM_TRIM
DRP.RX_DATA_WIDTH
DRP.RX_DDI_SEL
DRP.RX_DEBUG_CFG
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
000
00
00000000000000000000
00000000000000000000
00000000000000000000
0000
00000000000000000000
00000000000000000000
0
000
F
F
0
01
1
8
0
1
1
0
0
1
3D
0
04
01
01
0B800023FF10200020
0
0
15
0
0F
001F
030
0000
0
01
00F0
00F0
06
0
01
084020
000000
00
03
0
7
0
004
00
04
1
3
4
5
00
000
70
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
DRP.RX_DEFER_RESET_BUF_EN
string false
true
1
DRP.RX_DFE_CTLE_STAGE1
string false
true
8
DRP.RX_DFE_CTLE_STAGE2
string false
true
3
DRP.RX_DFE_CTLE_STAGE3
string false
true
0
DRP.RX_DFE_GAIN_CFG
string false
true
020FEA
DRP.RX_DFE_H2_CFG
string false
true
000
DRP.RX_DFE_H3_CFG
string false
true
040
DRP.RX_DFE_H4_CFG
string false
true
0F0
DRP.RX_DFE_H5_CFG
string false
true
0E0
DRP.RX_DFE_KL_CFG2
string false
true
3010D90C
DRP.RX_DFE_KL_CFG
string false
true
00FE
DRP.RX_DFE_LPM_CFG
string false
true
0954
DRP.RX_DFE_LPM_HOLD_DURING_EIDLE string false
true
0
DRP.RX_DFE_UT_CFG
string false
true
11E00
DRP.RX_DFE_VP_CFG
string false
true
03F03
DRP.RX_DFE_XYD_CFG
string false
true
0000
DRP.RX_DISPERR_SEQ_MATCH
string false
true
1
DRP.RX_INT_DATAWIDTH
string false
true
1
DRP.RX_OS_CFG
string false
true
0080
DRP.RX_SIG_VALID_DLY
string false
true
09
DRP.RX_XCLK_SEL
string false
true
0
DRP.TXBUF_RESET_ON_RATE_CHANGE
string false
true
0
DRP.TXPCSRESET_TIME
string false
true
01
DRP.TXPMARESET_TIME
string false
true
01
DRP.TX_LOOPBACK_DRIVE_HIZ
string false
true
0
DRP.TX_RXDETECT_CFG
string false
true
1832
DRP.TX_RXDETECT_REF
string false
true
4
ES_HORZ_MIN_MAX
string false
true
32
LINE_RATE
string false
true
0.000
LOGIC.ERRBIT_COUNT
string false
true
000000000000
LOGIC.GT_SOURCES_SYSCLK
string false
true
0
LOGIC.LINK
string false
true
0
LOGIC.MGT_ERRCNT_RESET_CTRL
string false
true
0
LOGIC.MGT_ERRCNT_RESET_STAT
string false
true
0
LOGIC.MGT_RESET_CTRL
string false
true
0
LOGIC.MGT_RESET_STAT
string false
true
0
LOGIC.RXPAT_ID
string false
true
1
LOGIC.RXRECCLK_FREQ_CNT
string false
true
0000
LOGIC.RXRECCLK_FREQ_TUNE
string false
true
4000
LOGIC.RXUSRCLK2_FREQ_CNT
string false
true
0000
LOGIC.RXUSRCLK2_FREQ_TUNE
string false
true
4000
LOGIC.RXUSRCLK_FREQ_CNT
string false
true
0000
LOGIC.RXUSRCLK_FREQ_TUNE
string false
true
4000
LOGIC.RXWORD_COUNT
string false
true
000000000000
LOGIC.RX_DCM_LOCK
string false
true
1
LOGIC.RX_DCM_RESET_CTRL
string false
true
0
LOGIC.RX_DCM_RESET_STAT
string false
true
0
LOGIC.RX_FRAMED
string false
true
0
LOGIC.TX_DCM_RESET_CTRL
string false
true
0
LOGIC.TX_DCM_RESET_STAT
string false
true
1
LOOPBACK
enum
false
true
Near-End PCS
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8/RX
PARENT
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8
PORT.CFGRESET
string false
true
0
PORT.CPLLRESET
string false
true
0
PORT.EYESCANDATAERROR
string false
true
0
PORT.EYESCANMODE
string false
true
0
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
71
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.EYESCANRESET
PORT.EYESCANTRIGGER
PORT.GTRESETSEL
PORT.GTRXRESET
PORT.GTTXRESET
PORT.LOOPBACK
PORT.RESETOVRD
PORT.RX8B10BEN
PORT.RXBUFRESET
PORT.RXBUFSTATUS
PORT.RXBYTEISALIGNED
PORT.RXBYTEREALIGN
PORT.RXCDRFREQRESET
PORT.RXCDRHOLD
PORT.RXCDRLOCK
PORT.RXCDROVRDEN
PORT.RXCDRRESET
PORT.RXCDRRESETRSV
PORT.RXCHANBONDSEQ
PORT.RXCHANISALIGNED
PORT.RXCHANREALIGN
PORT.RXCHARISCOMMA
PORT.RXCHARISK
PORT.RXCHBONDEN
PORT.RXCHBONDI
PORT.RXCHBONDLEVEL
PORT.RXCHBONDMASTER
PORT.RXCHBONDO
PORT.RXCHBONDSLAVE
PORT.RXCLKCORCNT
PORT.RXCOMINITDET
PORT.RXCOMMADET
PORT.RXCOMMADETEN
PORT.RXCOMSASDET
PORT.RXCOMWAKEDET
PORT.RXDATAVALID
PORT.RXDDIEN
PORT.RXDFEAGCHOLD
PORT.RXDFEAGCOVRDEN
PORT.RXDFECM1EN
PORT.RXDFELFHOLD
PORT.RXDFELFOVRDEN
PORT.RXDFELPMRESET
PORT.RXDFETAP2HOLD
PORT.RXDFETAP2OVRDEN
PORT.RXDFETAP3HOLD
PORT.RXDFETAP3OVRDEN
PORT.RXDFETAP4HOLD
PORT.RXDFETAP4OVRDEN
PORT.RXDFETAP5HOLD
PORT.RXDFETAP5OVRDEN
PORT.RXDFEUTHOLD
PORT.RXDFEUTOVRDEN
PORT.RXDFEVPHOLD
PORT.RXDFEVPOVRDEN
PORT.RXDFEVSEN
PORT.RXDFEXYDEN
PORT.RXDFEXYDHOLD
PORT.RXDFEXYDOVRDEN
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
00
0
10
0
0
00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.RXDISPERR
PORT.RXDLYBYPASS
PORT.RXDLYEN
PORT.RXDLYOVRDEN
PORT.RXDLYSRESET
PORT.RXDLYSRESETDONE
PORT.RXELECIDLE
PORT.RXELECIDLEMODE
PORT.RXGEARBOXSLIP
PORT.RXHEADER
PORT.RXHEADERVALID
PORT.RXLPMEN
PORT.RXLPMHFHOLD
PORT.RXLPMHFOVRDEN
PORT.RXLPMLFHOLD
PORT.RXLPMLFKLOVRDEN
PORT.RXMCOMMAALIGNEN
PORT.RXMONITOROUT
PORT.RXMONITORSEL
PORT.RXNOTINTABLE
PORT.RXOOBRESET
PORT.RXOSHOLD
PORT.RXOSOVRDEN
PORT.RXOUTCLKFABRIC
PORT.RXOUTCLKPCS
PORT.RXOUTCLKSEL
PORT.RXPCOMMAALIGNEN
PORT.RXPCSRESET
PORT.RXPD
PORT.RXPHALIGN
PORT.RXPHALIGNDONE
PORT.RXPHALIGNEN
PORT.RXPHDLYPD
PORT.RXPHDLYRESET
PORT.RXPHMONITOR
PORT.RXPHOVRDEN
PORT.RXPHSLIPMONITOR
PORT.RXPMARESET
PORT.RXPOLARITY
PORT.RXPRBSCNTRESET
PORT.RXPRBSERR
PORT.RXPRBSSEL
PORT.RXQPIEN
PORT.RXQPISENN
PORT.RXQPISENP
PORT.RXRATE
PORT.RXRATEDONE
PORT.RXRESETDONE
PORT.RXSLIDE
PORT.RXSTARTOFSEQ
PORT.RXSTATUS
PORT.RXSYSCLKSEL
PORT.RXUSERRDY
PORT.RXVALID
PORT.TXDETECTRX
PORT.TXDLYSRESET
PORT.TXDLYSRESETDONE
PORT.TXPCSRESET
PORT.TXPHDLYRESET
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
japan.xilinx.com
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
00
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7F
0
FF
0
0
0
1
0
1
0
0
0
0
0
0
0
0
00
0
04
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
73
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.TXPMARESET
string false
true
0
PORT.TXRESETDONE
string false
true
0
RXDFEENABLED
enum
false
true
1
RXOUTCLKSEL
enum
false
true
RXOUTCLKPCS
RXOUT_DIV
enum
false
true
1
RXPLL
enum
false
true
QPLL
RXRATE
enum
false
true
Use RX_OUT_DIV
RXTERM
enum
false
true
900 mV
RXTERMMODE
enum
false
true
Programmable
RXUSRCLK2_FREQ
string false
true
0.048828
RXUSRCLK_FREQ
string false
true
0.048828
RX_BER
string false
true
inf
RX_DATA_WIDTH
enum
false
true
40
RX_DFE_CTLE
enum
false
true
RX_INTERNAL_DATAPATH
enum
false
true
4-byte
RX_PATTERN
enum
false
true
PRBS 7-bit
RX_PLL
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/COMMON_X0Y2/QPLL_0
RX_RECEIVED_BIT_COUNT
string false
true
0
STATUS
string false
true
NO LINK
hw_sio_rx オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま
たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_rxs] 0]
HW_SIO_TX
説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た ト ラ ン ス ミ ッ タ ー (hw_sio_tx) が含
まれてい ます。パ ラ レル デー タ は、デバ イ ス ロ ジ ッ ク か ら FPGA TX イ ン タ ーフ ェ イ ス に送信 さ れ、PCS お よ び PMA
を介 し て TX ド ラ イ バーか ら 高速シ リ アル デー タ と し て出力 さ れます。
関連オブ ジ ェ ク ト
69 ペー ジ の図 2-23 は、 hw_sio_tx オ ブ ジ ェ ク ト と そ の 他の ハー ド ウ ェ ア オ ブ ジ ェ ク ト の関係 を 示 し て い ま す。
hw_sio_tx オブジ ェ ク ト は、 hw_server、 hw_target、 hw_device、 hw_sio_ibert、 hw_sio_gt、 ま たは hw_sio_link に接続 さ
れます。
接続 さ れたオブジ ェ ク ト の hw_sio_tx オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_hw_sio_txs -of [get_hw_sio_gts]
次を使用す る と 、 特定の hw_sio_tx に接続 さ れたオブジ ェ ク ト も 取得で き ます。
get_hw_sio_links -of [get_hw_sio_txs]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、 特定の hw_sio_tx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。
詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を 参照 し て く だ さ い。 次 は、
hw_sio_tx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
74
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
Property
Type
Read-only Visible Value
CLASS
string true
true
hw_sio_tx
DISPLAY_NAME
string true
true
MGT_X0Y8/TX
DRP.TXBUF_EN
string false
true
1
DRP.TXBUF_RESET_ON_RATE_CHANGE string false
true
0
DRP.TXDLY_CFG
string false
true
001F
DRP.TXDLY_LCFG
string false
true
030
DRP.TXDLY_TAP_CFG
string false
true
0000
DRP.TXGEARBOX_EN
string false
true
0
DRP.TXOUT_DIV
string false
true
0
DRP.TXPCSRESET_TIME
string false
true
01
DRP.TXPHDLY_CFG
string false
true
084020
DRP.TXPH_CFG
string false
true
0780
DRP.TXPH_MONITOR_SEL
string false
true
00
DRP.TXPMARESET_TIME
string false
true
01
DRP.TX_CLK25_DIV
string false
true
04
DRP.TX_CLKMUX_PD
string false
true
1
DRP.TX_DATA_WIDTH
string false
true
5
DRP.TX_DEEMPH0
string false
true
00
DRP.TX_DEEMPH1
string false
true
00
DRP.TX_DRIVE_MODE
string false
true
00
DRP.TX_EIDLE_ASSERT_DELAY
string false
true
6
DRP.TX_EIDLE_DEASSERT_DELAY
string false
true
4
DRP.TX_INT_DATAWIDTH
string false
true
1
DRP.TX_LOOPBACK_DRIVE_HIZ
string false
true
0
DRP.TX_MAINCURSOR_SEL
string false
true
0
DRP.TX_MARGIN_FULL_0
string false
true
4E
DRP.TX_MARGIN_FULL_1
string false
true
49
DRP.TX_MARGIN_FULL_2
string false
true
45
DRP.TX_MARGIN_FULL_3
string false
true
42
DRP.TX_MARGIN_FULL_4
string false
true
40
DRP.TX_MARGIN_LOW_0
string false
true
46
DRP.TX_MARGIN_LOW_1
string false
true
44
DRP.TX_MARGIN_LOW_2
string false
true
42
DRP.TX_MARGIN_LOW_3
string false
true
40
DRP.TX_MARGIN_LOW_4
string false
true
40
DRP.TX_PREDRIVER_MODE
string false
true
0
DRP.TX_QPI_STATUS_EN
string false
true
0
DRP.TX_RXDETECT_CFG
string false
true
1832
DRP.TX_RXDETECT_REF
string false
true
4
DRP.TX_XCLK_SEL
string false
true
0
LOGIC.ERR_INJECT_CTRL
string false
true
0
LOGIC.TXOUTCLK_FREQ_CNT
string false
true
0000
LOGIC.TXOUTCLK_FREQ_TUNE
string false
true
4000
LOGIC.TXPAT_ID
string false
true
1
LOGIC.TXUSRCLK2_FREQ_CNT
string false
true
0000
LOGIC.TXUSRCLK2_FREQ_TUNE
string false
true
4000
LOGIC.TXUSRCLK_FREQ_CNT
string false
true
0000
LOGIC.TXUSRCLK_FREQ_TUNE
string false
true
4000
LOGIC.TX_DCM_LOCK
string false
true
1
LOGIC.TX_DCM_RESET_CTRL
string false
true
0
LOGIC.TX_DCM_RESET_STAT
string false
true
1
LOGIC.TX_FRAMED
string false
true
0
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8/TX
PARENT
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8
PORT.GTTXRESET
string false
true
0
PORT.TX8B10BBYPASS
string false
true
FF
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
75
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.TX8B10BEN
PORT.TXBUFDIFFCTRL
PORT.TXBUFSTATUS
PORT.TXCHARDISPMODE
PORT.TXCHARDISPVAL
PORT.TXCHARISK
PORT.TXCOMFINISH
PORT.TXCOMINIT
PORT.TXCOMSAS
PORT.TXCOMWAKE
PORT.TXDEEMPH
PORT.TXDETECTRX
PORT.TXDIFFCTRL
PORT.TXDIFFPD
PORT.TXDLYBYPASS
PORT.TXDLYEN
PORT.TXDLYHOLD
PORT.TXDLYOVRDEN
PORT.TXDLYSRESET
PORT.TXDLYSRESETDONE
PORT.TXDLYUPDOWN
PORT.TXELECIDLE
PORT.TXGEARBOXREADY
PORT.TXHEADER
PORT.TXINHIBIT
PORT.TXMAINCURSOR
PORT.TXMARGIN
PORT.TXOUTCLKFABRIC
PORT.TXOUTCLKPCS
PORT.TXOUTCLKSEL
PORT.TXPCSRESET
PORT.TXPD
PORT.TXPDELECIDLEMODE
PORT.TXPHALIGN
PORT.TXPHALIGNDONE
PORT.TXPHALIGNEN
PORT.TXPHDLYPD
PORT.TXPHDLYRESET
PORT.TXPHDLYTSTCLK
PORT.TXPHINIT
PORT.TXPHINITDONE
PORT.TXPHOVRDEN
PORT.TXPISOPD
PORT.TXPMARESET
PORT.TXPOLARITY
PORT.TXPOSTCURSOR
PORT.TXPOSTCURSORINV
PORT.TXPRBSFORCEERR
PORT.TXPRBSSEL
PORT.TXPRECURSOR
PORT.TXPRECURSORINV
PORT.TXQPIBIASEN
PORT.TXQPISENN
PORT.TXQPISENP
PORT.TXQPISTRONGPDOWN
PORT.TXQPIWEAKPUP
PORT.TXRATE
PORT.TXRATEDONE
PORT.TXRESETDONE
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
string
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
japan.xilinx.com
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
0
4
0
00
00
00
0
0
0
0
0
0
C
0
1
0
0
0
0
0
0
0
0
0
0
00
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
03
0
0
0
07
0
0
0
0
0
0
0
0
0
76
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT.TXSEQUENCE
string false
true
00
PORT.TXSTARTSEQ
string false
true
0
PORT.TXSWING
string false
true
0
PORT.TXSYSCLKSEL
string false
true
3
PORT.TXUSERRDY
string false
true
1
TXDIFFSWING
enum
false
true
1.018 V (1100)
TXOUTCLKSEL
enum
false
true
TXOUTCLKPMA
TXOUT_DIV
enum
false
true
1
TXPLL
enum
false
true
QPLL
TXPOST
enum
false
true
0.68 dB (00011)
TXPRE
enum
false
true
1.67 dB (00111)
TXRATE
enum
false
true
Use TXOUT_DIV
TXUSRCLK2_FREQ
string false
true
0.048828
TXUSRCLK_FREQ
string false
true
0.048828
TX_DATA_WIDTH
enum
false
true
40
TX_INTERNAL_DATAPATH
enum
false
true
4-byte
TX_PATTERN
enum
false
true
PRBS 7-bit
TX_PLL
string true
true
localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/COMMON_X0Y2/QPLL_0
hw_sio_tx オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま
たは Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sio_txs] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
77
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HW_SYSMON
説明 シ ス テ ム モニ タ ー (HW_SYSMON) は、 ザ イ リ ン ク ス デバ イ ス上の Analog-to-Digital Converter (ADC) 回路で、 温度お
よ び電圧な ど の動作状況を測定す る ために使用 さ れ ます。 HW_SYSMON は、 オ ンチ ッ プ温度お よ び供給セ ンサーを
使用 し て物理的な環境を監視 し ます。 ADC は広範囲のアプ リ ケーシ ョ ンに対 し 高精度のアナ ロ グ イ ン タ ーフ ェ イ ス
を提供 し ます。 ADC は最大で 17 の外部アナ ロ グ入力チ ャ ネルにア ク セ ス で き ます。
X-Ref Target - Figure 2-24
KZBVHUYHU
KZBD[L
KZBWDUJHW
KZBV\VPRQ
KZBGHYLFH
KZBLOD
KZBVLRB
KZBYLR
KZBV\VPRQBUHJ
KZBSUREH
KZBVLRBJW
KZBD[LBW[Q
KZBLODBGDWD
KZBVLRBW[
KZBVLRB
図 2‐24 : HW_SYSMON オブ ジ ェ ク ト
HW_SYSMON には、 デー タ レ ジ ス タ (HW_SYSMON_REG オブジ ェ ク ト ) が含まれ、 温度お よ び電圧の現在の値が格
納 さ れます。 現在の hw_device での こ れ ら の レ ジ ス タ の値には、 ハー ド ウ ェ ア サーバー と タ ーゲ ッ ト に接続 さ れ る 場
合、 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能を使用 し て ア ク セ ス で き ます。 hw_sysmon は、 Virtex-7 と
UltraScale で異な り ます。 特定の XADC に関する 詳細、 お よ びその使用方法については、 『UltraScale アーキ テ ク チ ャ
シ ス テ ム モニ タ ー ユーザー ガ イ ド 』(UG580) [参照 12] ま たは 『7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable
SoC XADC デ ュ アル 12 ビ ッ ト 1 MSPS アナ ロ グ - デジ タ ル コ ンバー タ ー ユーザー ガ イ ド 』 (UG480) [参照 6] を参照 し
て く だ さ い。
特定の レ ジ ス タ の値は get_hw_sysmon_reg コ マ ン ド を使用 し て System Monitor の レ ジ ス タ に格納 さ れた 16 進数値に
ア ク セ ス し て取得す る こ と も で き ますが、hw_sysmon オブジ ェ ク ト の フ ォーマ ッ ト さ れたプ ロ パテ ィ と し て表示す る
こ と も で き ま す。 た と えば、 レ ジ ス タ の 16 進数に直接ア ク セ ス す る のではな く 、 次の コ ー ド を 使用 し て、 指定の
hw_sysmon オブジ ェ ク ト の TEMPERATURE プ ロ パテ ィ を取得で き ます。
get_property TEMPERATURE [get_hw_sysmons]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
78
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト
hw_sysmon オブジ ェ ク ト は、 現在のhw_target お よ び hw_server にプ ロ グ ラ ム さ れた hw_device のハー ド ウ ェ ア マネー
ジ ャ ーに含まれてい ます。 hw_device の hw_sysmon は次の よ う に取得で き ます。
get_hw_sysmons -of [get_hw_devices]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、hw_sysmon オブジ ェ ク ト に割 り 当て ら れた実際のプ ロ パテ ィ を確認で き ます。
詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
hw_sysmon のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ
ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_sysmons] 0]
次は、 hw_sysmon オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
ADC_A_GAIN
ADC_A_OFFSET
ADC_B_GAIN
ADC_B_OFFSET
CLASS
CONFIG_REG.ACQ
CONFIG_REG.ALM0
CONFIG_REG.ALM1
CONFIG_REG.ALM2
CONFIG_REG.ALM3
CONFIG_REG.ALM4
CONFIG_REG.ALM5
CONFIG_REG.ALM6
CONFIG_REG.AVG
CONFIG_REG.BU
CONFIG_REG.CAL0
CONFIG_REG.CAL1
CONFIG_REG.CAL2
CONFIG_REG.CAL3
CONFIG_REG.CAVG
CONFIG_REG.CD
CONFIG_REG.CH
CONFIG_REG.EC
CONFIG_REG.MUX
CONFIG_REG.OT
CONFIG_REG.PD
CONFIG_REG.SEQ
DESCRIPTION
FLAG.ALM0
FLAG.ALM1
FLAG.ALM2
FLAG.ALM3
FLAG.ALM4
FLAG.ALM5
FLAG.ALM6
FLAG.JTGD
FLAG.JTGR
FLAG.OT
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
hex
hex
hex
hex
string
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
string
binary
binary
binary
binary
binary
binary
binary
binary
binary
binary
Read-only
true
true
true
true
true
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
true
true
true
true
true
true
true
true
true
true
true
japan.xilinx.com
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
0000
007e
0000
ffbb
hw_sysmon
0
0
0
0
0
0
0
0
00
0
0
0
0
0
0
00000000
00000
0
0
0
00
0000
XADC
0
0
0
0
0
0
0
0
0
0
79
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
FLAG.REF
binary true
true
0
LOWER_TEMPERATURE
string false
true
-273.1
LOWER_TEMPERATURE_SCALE enum
false
true
CELSIUS
LOWER_VCCAUX
string false
true
0.000
LOWER_VCCBRAM
string false
true
0.000
LOWER_VCCINT
string false
true
0.000
LOWER_VCCO_DDR
string false
true
0.000
LOWER_VCCPAUX
string false
true
0.000
LOWER_VCCPINT
string false
true
0.000
MAX_TEMPERATURE
string true
true
41.7
MAX_TEMPERATURE_SCALE
enum
false
true
CELSIUS
MAX_VCCAUX
string true
true
1.805
MAX_VCCBRAM
string true
true
0.997
MAX_VCCINT
string true
true
1.000
MAX_VCCO_DDR
string true
true
0.000
MAX_VCCPAUX
string true
true
0.000
MAX_VCCPINT
string true
true
0.000
MIN_TEMPERATURE
string true
true
37.3
MIN_TEMPERATURE_SCALE
enum
false
true
CELSIUS
MIN_VCCAUX
string true
true
1.800
MIN_VCCBRAM
string true
true
0.993
MIN_VCCINT
string true
true
0.997
MIN_VCCO_DDR
string true
true
2.999
MIN_VCCPAUX
string true
true
2.999
MIN_VCCPINT
string true
true
2.999
NAME
string true
true
localhost/xilinx_tcf/Digilent/210203336599A/xc7k325t_0/SYSMON
SUPPLY_A_OFFSET
hex
true
true
006b
SUPPLY_B_OFFSET
hex
true
true
ffa9
SYSMON_REFRESH_RATE_MS
int
false
true
0
TEMPERATURE
string true
true
37.8
TEMPERATURE_SCALE
enum
false
true
CELSIUS
UPPER_TEMPERATURE
string false
true
-273.1
UPPER_TEMPERATURE_SCALE enum
false
true
CELSIUS
UPPER_VCCAUX
string false
true
0.000
UPPER_VCCBRAM
string false
true
0.000
UPPER_VCCINT
string false
true
0.000
UPPER_VCCO_DDR
string false
true
0.000
UPPER_VCCPAUX
string false
true
0.000
UPPER_VCCPINT
string false
true
0.000
VAUXP0_VAUXN0
string true
true
0.000
VAUXP1_VAUXN1
string true
true
0.000
VAUXP2_VAUXN2
string true
true
0.000
VAUXP3_VAUXN3
string true
true
0.000
VAUXP4_VAUXN4
string true
true
0.000
VAUXP5_VAUXN5
string true
true
0.000
VAUXP6_VAUXN6
string true
true
0.000
VAUXP7_VAUXN7
string true
true
0.000
VAUXP8_VAUXN8
string true
true
0.000
VAUXP9_VAUXN9
string true
true
0.000
VAUXP10_VAUXN10
string true
true
0.000
VAUXP11_VAUXN11
string true
true
0.000
VAUXP12_VAUXN12
string true
true
0.000
VAUXP13_VAUXN13
string true
true
0.000
VAUXP14_VAUXN14
string true
true
0.000
VAUXP15_VAUXN15
string true
true
0.000
VCCAUX
string true
true
1.802
VCCBRAM
string true
true
0.995
VCCINT
string true
true
0.999
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
80
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
VCCO_DDR
VCCPAUX
VCCPINT
VP_VN
VREFN
VREFP
string
string
string
string
string
string
true
true
true
true
true
true
true
true
true
true
true
true
0.000
0.000
0.000
0.000
0.000
0.000
HW_TARGET
説明 ハー ド ウ ェ ア タ ーゲ ッ ト (hw_target) と は、 ビ ッ ト ス ト リ ーム フ ァ イ ルを使用 し てプ ロ グ ラ ム、 ま たはデザ イ ン をデ
バ ッ グす る ために使用す る 、 1 つ以上のザ イ リ ン ク ス FPGA デバ イ ス か ら 構成 さ れ る JTAG チ ェーン を含むシ ス テ ム
ボー ド です。シ ス テ ム ボー ド 上のハー ド ウ ェ ア タ ーゲ ッ ト と Vivado Design Suite と の接続は、ハー ド ウ ェ ア サーバー
オブジ ェ ク ト (hw_server) で制御 さ れます。
使用可能なハー ド ウ ェ ア タ ーゲ ッ ト の 1 つへの接続を開 く には、 open_hw_target コ マ ン ド を使用 し ます。 開いた タ ー
ゲ ッ ト は、 自動的に現在のハー ド ウ ェ ア タ ーゲ ッ ト と な り ます。 Vivado の ロ ジ ッ ク 解析では、 プ ロ グ ラ ムお よ びデ
バ ッ グ コ マ ン ド が hw_server 接続を使用 し て開いた タ ーゲ ッ ト の FPGA デバ イ ス オブジ ェ ク ト (hw_device) に使用 さ
れます。
hw_target は、 open_hw_target コ マ ン ド に -jtag_mode オプシ ョ ン を付けて開 く と 、 タ ーゲ ッ ト を JTAG テ ス ト モー ド に
し てデバ イ ス の命令レ ジ ス タ (IR) と デー タ レ ジ ス タ (DR)、 ま たは タ ーゲ ッ ト のデバ イ ス にア ク セ ス で き ます。 タ ー
ゲ ッ ト を JTAG モー ド で開 く と 、 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能に hw_jtag オブジ ェ ク ト が作
成 さ れ、 JTAG TAP コ ン ト ロ ー ラ ーへア ク セ ス で き る よ う にな り ます。
サポー ト さ れ る JTAG ダ ウ ン ロ ー ド ケーブルお よ びデバ イ ス の リ ス ト は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ
グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 23] を参照 し て く だ さ い。
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-25
KZBFIJPHP
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBELWVWUHDP
図 2‐25 : ハー ド ウ ェ ア タ ーゲ ッ ト オブ ジ ェ ク ト ハー ド ウ ェ ア タ ーゲ ッ ト はハー ド ウ ェ ア サーバーに接続 さ れてお り 、次の よ う に hw_server オブジ ェ ク ト のオブジ ェ
ク ト と し て取得で き ます。
get_hw_target -of [get_hw_servers]
ま た、 次を使用す る と 、 ハー ド ウ ェ ア タ ーゲ ッ ト に接続 さ れたハー ド ウ ェ ア デバ イ ス を取得で き ます。
get_hw_devices -of [current_hw_target]
タ ーゲ ッ ト を JTAG モー ド で開 く と 、 タ ーゲ ッ ト の HW_JTAG プ ロ パテ ィ を使用 し て作成 さ れた hw_jtag オブジ ェ ク
ト にア ク セ ス で き る よ う にな り ます。
get_property HW_JTAG [current_hw_target]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
81
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、 hw_target オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細は、
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は、 hw_target オブ
ジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
Type
Read-only Visible
CLASS
string
true
true
DEVICE_COUNT
int
true
true
HW_JTAG
hw_jtag true
true
IS_OPENED
bool
true
true
NAME
string
true
true
localhost/xilinx_tcf/Digilent/210203327463A
PARAM.DEVICE
string
true
true
PARAM.FREQUENCY enum
true
true
PARAM.TYPE
string
true
true
TID
string
true
true
UID
string
true
true
Value
hw_target
1
1
jsn-JTAG-SMT1-210203327463A
15000000
xilinx_tcf
jsn-JTAG-SMT1-210203327463A
Digilent/210203327463A
hw_target のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン
ソ ールに貼 り 付け ます。
report_property -all [get_hw_targets]
HW_VIO
説明 VIO (Virtual Input/Output) デバ ッ グ コ ア (hw_vio) は、 ザ イ リ ン ク ス FPGA デバ イ ス にプ ロ グ ラ ム さ れてい る 内部信号
を リ アル タ イ ム で監視お よ び駆動で き ま す。 タ ーゲ ッ ト ハー ド ウ ェ アへの物理的な ア ク セ ス がない場合は、 こ のデ
バ ッ グ機能を使用 し て、 物理デバ イ ス上の信号を駆動お よ び監視で き ます。
VIO コ アは、 ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト を使用 し てデザ イ ンの特定の信号を監視お よ び駆動 し ます。 入力
プ ロ ーブは、 VIO コ アへの入力 と し て信号を監視 し ます。 出力プ ロ ーブは、 VIO コ アか ら 信号を指定の値に駆動 し ま
す。 プ ロ ーブの値は set_property コ マ ン ド で定義 さ れ、 commit_hw_vio コ マ ン ド でプ ロ ーブの信号に駆動 さ れます。
VIO デバ ッ グ コ アは、 ザ イ リ ン ク ス IP カ タ ロ グか ら RTL コ ー ド に イ ン ス タ ン シエー ト す る 必要があ り ます。 こ のた
め、 デザ イ ン をデバ ッ グす る 前に ど のネ ッ ト を監視お よ び駆動する のか知っ てお く 必要があ り ます。 VIO コ アは、 IP
カ タ ロ グ の [Debug & Verification] → [Debug] カ テ ゴ リ に あ り ま す。 VIO コ ア IP の 詳 細 は、 『LogiCORE IP Virtual
Input/Output 製品ガ イ ド 』 (PG159) を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
82
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-26
KZBF
KZBVHUYHU
KZBWDUJHW
KZBGHYLFH
KZBE
KZBLOD
KZBYLR
KZBD[L
KZBV\VPRQ
KZBSUREH
KZBVLRBLEHUW
KZBVLRBJW
KZ
図 2‐26 : hw_vio オブ ジ ェ ク ト VIO デバ ッ グ コ アは、 ザ イ リ ン ク ス IP カ タ ロ グか ら RTL ソ ース フ ァ イ ルのデザ イ ンに追加で き ます。 デバ ッ グ コ
アは、 get_debug_cores コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト デザ イ ン で検索で き ます。 こ れ ら は Vivado Design
Suite のハー ド ウ ェ ア マネージ ャ ーに含ま れ る VIO デバ ッ グ コ ア オブジ ェ ク ト (hw_vio) ではあ り ませんが、 関連は
し てい ます。
ハー ド ウ ェ ア VIO デバ ッ グ コ アは、プ ロ グ ラ ム済みのハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト (hw_device) のハー ド ウ ェ
ア マネージ ャ ーに含まれます。 hw_device の hw_vio は次の よ う に取得で き ます。
get_hw_vios -of [current_hw_device]
ま た、 hw_vio デバ ッ グ コ アには、 それに接続 さ れたプ ロ ーブが含まれてお り 、 次の よ う に取得で き ます。
get_hw_probes -of [get_hw_vios]
プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_vio オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細は、
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
Property
CLASS
CORE_REFRESH_RATE_MS
HW_CORE
INSTANCE_NAME
IS_ACTIVITY_SUPPORTED
NAME
Type
string
int
string
string
bool
string
Read-only
true
false
true
true
true
true
Visible
true
true
false
true
true
true
Value
hw_vio
500
core_1
i_vio_new
1
hw_vio_1
hw_vio オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_hw_vios] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
83
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
IO_BANK
X-Ref Target - Figure 2-27
3RUW
3LQ
&ORFN
7LPLQJ3DWK
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH3LQ
%HO
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
,2%DQN
7LOH
6/5
,26WDQGDUG
図 2‐27 : IO_BANK オブ ジ ェ ク ト
説明 ザ イ リ ン ク ス 7 シ リ ーズ FPGA お よ び UltraScale アーキ テ ク チ ャ には、 通常、 ハ イ パフ ォーマ ン ス (HP) お よ びハ イ
レ ン ジ (HR) I/O バン ク があ り ます。 I/O バン ク は、 I/O ブ ロ ッ ク (IOB) の集合体で、 さ ま ざ ま な標準 イ ン タ ーフ ェ イ ス
を広 く サポー ト す る 、 コ ン フ ィ ギ ャ ラ ブルな SelectIO ド ラ イ バーお よ びレ シーバー (シ ン グルエン ド と 差動の両方) が
含ま れ ます。 HP I/O バン ク は、 高速 メ モ リ と その他の最大 1.8V 電圧ま でのチ ッ プ ト ゥ チ ッ プ イ ン タ ーフ ェ イ ス の
パフ ォーマ ン ス要件を満たす よ う に設計 さ れてお り 、 最大 3.3 V 電圧ま での広い範囲の I/O 規格がサポー ト さ れてい
ます。
各 I/O バン ク には、 出力駆動電流お よ びスルー レー ト のプ ロ グ ラ マブル制御、 デジ タ ル制御 イ ン ピーダ ン ス (DCI) を
使用 し たオンチ ッ プ終端、 基準電圧 (INTERNAL_VREF) を内部生成する 機能な ど が含まれます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
84
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
UltraScale デバ イ ス の場合、ほ と ん ど の I/O バン ク に 52 個の IOB が含まれます (HR I/O ミ ニバン ク には 26 個の IOB)。
7 シ リ ーズの場合は、 ほ と ん ど の I/O バン ク に 50 個の IOB ( ク ロ ッ ク 領域の高 さ と 同 じ ) が含 ま れ ま す。 デバ イ ス の
I/O バン ク 数は、 サ イ ズ と パ ッ ケージ ピ ン配置に よ っ て異な り ます。
I/O バン ク お よ び、 I/O 割 り 当てに関す る ルールについては、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』
(UG471) [参照 2] お よ び 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て
く だ さ い。
関連オブ ジ ェ ク ト 84 ページの図 2-27 は、 I/O バン ク と ポー ト ネ ッ ト リ ス ト オブジ ェ ク ト 、 デバ イ ス の package_pin、 I/O ブ ロ ッ ク で イ
ンプ リ メ ン ト さ れた I/O 規格 と の関連を示 し てい ます。 関連する パ ッ ケージ ピ ン、 ポー ト 、 ク ロ ッ ク 領域、 ま たはサ
イ ト の I/O バン ク は、 次を使用す る と 取得で き ます。
get_iobanks -of [get_clock_regions X0Y2]
I/O バ ン ク に関連付け ら れた ポー ト 、 ク ロ ッ ク 領域、 サ イ ト 、 SLR、 I/O 規格、 パ ッ ケージ ピ ン、 pkgpin_bytegroup、
お よ び pkgpin_nibble オブジ ェ ク ト は、 次を使用する と 取得で き ます。
get_sites -of [get_iobanks 227]
プ ロパテ ィ 次は、 I/O バン ク で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
BANK_TYPE
CLASS
DCI_CASCADE
INTERNAL_VREF
IS_MASTER
IS_SLAVE
MASTER_BANK
NAME
VCCOSENSEMODE
Type
string
string
string*
double
bool
bool
string
string
string
Read-only
true
true
false
false
true
true
true
true
false
Value
BT_HIGH_PERFORMANCE
iobank
0
0
46
I/O バン ク のプ ロ パテ ィ は、 次の コ マ ン ド を使用す る と 確認で き ます。
report_property -all [lindex [get_iobanks] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
85
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
IO_STANDARD
X-Ref Target - Figure 2-28
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
%HO
:LUH
3DFNDJH
3LQ
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐28 : IO_STANDARD オブ ジ ェ ク ト
説明 IO_STANDARD オブジ ェ ク ト では、 タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス でサポー ト さ れ る 使用可能な IOSTANDARD
が定義 さ れます。IO_STANDARD オブジ ェ ク ト は IOSTANDARD プ ロ パテ ィ を使用 し て PORT オブジ ェ ク ト に割 り 当
て る と 、 現在のデザ イ ン で入力、 出力ま たは双方向ポー ト を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 サポー ト さ れてい る
規格については、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] お よ び 『UltraScale アーキ
テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
86
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト 特定の BEL、 SITE、 PACKAGE_PIN、 IO_BANK、 ま たは PORT に関連付け ら れた IO_STANDARD は、 次を使用す る
と 取得で き ます。
get_io_standards -of [get_ports ddr4_sdram_dm_n[0]]
ま た、 特定の IO_STANDARD を イ ンプ リ メ ン ト する PORT オブジ ェ ク ト は、 次を使用する と 取得で き ます。
get_ports -of [get_io_standards POD12_DCI]
ヒ ン ト : こ の場合、 ポー ト は IOSTANDARD プ ロ パテ ィ で も 検出で き ます。
get_ports -filter {IOSTANDARD==POD12_DCI}
プ ロパテ ィ 次は、 package_pin オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
DIRECTION
DRIVE_STRENGTH
HAS_VCCO_IN
HAS_VCCO_OUT
HAS_VREF
INPUT_TERMINATION
IS_DCI
IS_DIFFERENTIAL
NAME
OUTPUT_TERMINATION
SLEW
SUPPORTS_SLEW
VCCO_IN
VCCO_OUT
VREF
Type
string
string
string
bool
bool
bool
string
bool
bool
string
string
string
bool
double
double
double
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
io_standard
INPUT OUTPUT BIDIR
NA
1
1
1
SINGLE
1
0
POD12_DCI
DRIVER
SLOW MEDIUM FAST
0
1.200
1.200
0.840
package_pin オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用する と 確認で き ます。
report_property -all [lindex [get_io_standards] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
87
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
NET X-Ref Target - Figure 2-29
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH
6LWH3LQ
6LWH3LS
3LS
2%DQN
7LOH
図 2‐29 : NET オブ ジ ェ ク ト 説明
NET と い う のは、 イ ン タ ー コ ネ ク ト さ れた ピ ン、 ポー ト お よ びワ イ ヤのセ ッ ト を指 し ます。 ど の ワ イ ヤに も ネ ッ ト 名
があ り 、 その名前で ワ イ ヤ を区別 し ます。 2 本以上の ワ イ ヤに同 じ ネ ッ ト 名が付いてい る こ と があ り ます。 同 じ ネ ッ
ト 名が付いてい る ワ イ ヤは、 1 つのネ ッ ト に含まれてい る こ と を示 し 、 こ う し た ワ イ ヤに接続 さ れてい る ピ ン ま たは
ポー ト はすべて電気的に接続 さ れてい ます。
RTL ソ ース フ ァ イ ルを 1 つのネ ッ ト リ ス ト デザ イ ンにエ ラ ボ レーシ ョ ン ま たは コ ンパ イ ル し てい る と き 、 ネ ッ ト リ
ス ト デザ イ ンにネ ッ ト オブジ ェ ク ト が追加 さ れ る たびにデフ ォ ル ト ネ ッ ト 名がそのオブジ ェ ク ト に割 り 当て ら れま
す。 手動でネ ッ ト に名前を付け る こ と も で き ます。
ネ ッ ト は 1 つの信号か ら 成 る ス カ ラ ー ネ ッ ト であ っ た り 、 複数の信号か ら 成 る ス カ ラ ー ネ ッ ト のグループであ る バ
ス ネ ッ ト であ る 場合があ り ます。 バ ス を使用す る と 関連信号を便利に ま と め る こ と がで き 、 回路図を簡潔で理解 し や
すい も のにす る こ と がで き ます。 ま た、 主 と な る 回路 と ブ ロ ッ ク シ ン ボル と の接続 も 明確にな り ます。 バ ス は特に次
の場合において便利です。
•
回路図のあ る サ イ ド か ら 、 も う 一方へ と 多数の信号を配線する 場合
•
1 つのブ ロ ッ ク シ ン ボルに複数の信号を接続する 場合
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
88
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
•
1 つの I/O マーカーに接続す る こ と で、 階層レベルを ま た ぐ 複数の信号を接続する 場合
関連オブ ジ ェ ク ト デザ イ ン ネ ッ ト リ ス ト で、 ネ ッ ト を セルの ピ ン ま たはポー ト に接続で き ます。 ま た、 ポー ト を介 し てデザ イ ンに供給
さ れ る ク ロ ッ ク にネ ッ ト は関連付け ら れ、 デザ イ ンの タ イ ミ ン グ パ スへ と 接続 さ れます。 デザ イ ンに関す る 問題をす
ばや く 見つけ出 し 解決で き る よ う に、 DRC 違反にネ ッ ト を関連付け る こ と も で き ま す。 こ れ ら の異な る デザ イ ン に
関連す る ネ ッ ト オブジ ェ ク ト は、 次の よ う に取得で き ます。
get_nets -of [get_cells dbg_hub]
デザ イ ンが タ ーゲ ッ ト のザ イ リ ン ク ス FPGA にマ ッ プ さ れ る と 、 ネ ッ ト は、 デバ イ ス の ワ イ ヤ、 ノ ー ド 、 PIP な ど の
配線 リ ソ ース にマ ッ プ さ れ、 BEL ピ ン を介 し て BEL へ、 サ イ ト ピ ン を介 し てサ イ ト へ と 接続 さ れます。 特定のネ ッ
ト ま たはデザ イ ン内のネ ッ ト に関連付け ら れた ク ロ ッ ク 、 ピ ン、 BEL、 BEL_PIN、 SITE、 SITE_PIN、 TILE、 NODE、
PIP、 WIRE は、 次を使用す る と 取得で き ます。
get_bel_pins -of [get_nets ddr4_sdram_adr[0]]
プ ロパテ ィ ネ ッ ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのオブジ ェ ク ト の示すネ ッ ト の タ イ プに よ っ て異な り ます。 次の表に
は、 Vivado Design Suite でネ ッ ト オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値の例 と 共に リ ス ト し てい
ます。
Property
AREA_GROUP
BEL
BLKNM
BUFFER_TYPE
BUFG
BUS_NAME
BUS_START
BUS_STOP
BUS_WIDTH
CLASS
CLOCK_BUFFER_TYPE
CLOCK_DEDICATED_ROUTE
CLOCK_REGION_ASSIGNMENT
CLOCK_ROOT
COLLAPSE
COOL_CLK
DATA_GATE
DCI_VALUE
DIFF_TERM
DIRECT_ENABLE
DIRECT_RESET
DONT_TOUCH
DRIVE
DRIVER_COUNT
ESSENTIAL_CLASSIFICATION_VALUE
FILE_NAME
FIXED_ROUTE
FLAT_PIN_COUNT
FLOAT
GATED_CLOCK
HBLKNM
HD.NO_ROUTE_CONTAINMENT
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
string
string
string
enum
enum
string
int
int
int
string
enum
enum
string
string*
bool
bool
bool
int
bool
bool
bool
bool
int
int
int
string
string
int
bool
bool
string
bool
Read-only
true
true
true
false
true
true
true
true
true
true
false
false
false
false
true
true
true
false
false
false
false
false
true
true
false
true
false
true
true
false
true
false
japan.xilinx.com
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
true
Value
DataIn_pad_0_i
7
0
8
net
1
1
89
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
HIERARCHICALNAME
HU_SET
IBUF_DELAY_VALUE
IBUF_LOW_PWR
IFD_DELAY_VALUE
IN_TERM
IOB
IOBDELAY
IOSTANDARD
IO_BUFFER_TYPE
IS_CONTAIN_ROUTING
IS_INTERNAL
IS_REUSED
IS_ROUTE_FIXED
KEEP
KEEPER
LINE_NUMBER
LOC
MARK_DEBUG
MAXDELAY
MAXSKEW
MAX_FANOUT
METHODOLOGY_DRC_VIOS
MULTI_CLOCK_ROOT
NAME
NODELAY
NOREDUCE
OUT_TERM
PARENT
PARENT_CELL
PIN_COUNT
PULLDOWN
PULLUP
PWR_MODE
RAM_STYLE
REUSE_STATUS
RLOC
RLOC_ORIGIN
RLOC_RANGE
ROM_STYLE
ROUTE
ROUTE_STATUS
RPM_GRID
RTL_KEEP
RTL_MAX_FANOUT
S
SCHMITT_TRIGGER
SLEW
SUSPEND
TYPE
USELOWSKEWLINES
USE_DSP48
U_SET
WEIGHT
WIREAND
XBLKNM
XLNX_LINE_COL
XLNX_LINE_FILE
_HAVE_MD_DT
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
string
string
double
bool
double
enum
enum
enum
string
enum
bool
bool
bool
bool
bool
bool
int
string
bool
double
double
string
string
string*
string
bool
bool
enum
string
string
int
bool
bool
enum
enum
enum
string
string
string
enum
string
enum
enum
string
string
bool
bool
string
string
enum
bool
enum
string
int
bool
string
int
long
bool
true
true
true
false
true
true
false
false
true
false
true
true
true
false
true
true
true
true
false
true
true
false
false
false
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
false
false
true
true
true
true
true
true
true
true
true
true
false
true
false
true
true
false
false
true
japan.xilinx.com
false
false
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
false
true
true
true
true
false
false
true
true
true
true
true
true
true
false
true
true
true
false
false
false
top.DataIn_pad_0_i[0]
LVCMOS18
0
0
0
0
0
DataIn_pad_0_i[0]
DataIn_pad_0_i[0]
1
INTRASITE
SIGNAL
90
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
async_reg
string
false
true
ネ ッ ト オブジ ェ ク ト のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た
は Tcl コ ン ソ ールに貼 り 付け ます。
report_property -all [lindex [get_nets] 0]
NODE
説明 X-Ref Target - Figure 2-30
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3DFNDJH
3LQ
%HO
:LUH
6LWH&/%
6LWH3LQ
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐30 : NODE オブ ジ ェ ク ト NODE は、 ザ イ リ ン ク ス パーツ で接続 ま たは NET を配線す る ために使用す る デバ イ ス オブジ ェ ク ト です。 こ れは
WIRE の集合体で、 物理的に も 電気的に も 相互接続 さ れてい る 複数の タ イ ルに ま たが っ てい ま す。 NODE は 1 つの
SITE_PIN に接続 し た り 、 ま たは ど の ピ ン に も 接続 し ないでお く こ と がで き ま す。 単に NET を SITE に配線 し た り 、
SITE を ま たがっ て配線す る ためだけに使用 し ます。 NODE は任意数の PIP に接続で き 、 ま た電源/グ ラ ン ド で駆動す
る こ と も 可能です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
91
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト 91 ページの図 2-30にあ る よ う に、 NODE オブジ ェ ク ト は SLR、 TILE、 NET、 SITE_PIN、 WIRE、 PIP、 お よ びほかの
NODE に関連付け ら れます。 次の Tcl コ マ ン ド で、 NODE を ク エ リ ーで き ます。
get_nodes -of_objects [get_nets cpuClk]
ま た、 SLR、 お よ び NODE のあ る TILE、 ま たは特定 NODE が関連付け ら れてい る PIP、 SITE_PIN、 SPEED_MODEL、
WIRE を ク エ リ ーす る こ と も で き ます。
get_slrs -of_objects [get_nodes LIOB33_SING_X0Y199/IOB_T_OUT0]
プ ロパテ ィ
次の よ う な コ マ ン ド を使用 し て、 NODE オブジ ェ ク ト のプ ロ パテ ィ はレ ポー ト で き ます。
report_property -all [lindex [get_nodes -filter {IS_COMPLETE}] 0]
ヒ ン ト : デバ イ ス上の NODE の数は非常に多いため、 検索結果を絞 り 込むための -of_objects や -filters を使
用 し て、 get_nodes Tcl コ マ ン ド を実行す る よ う に し て く だ さ い。
プ ロ パテ ィ には次の よ う な も のがあ り ます (例 と し て値 も 表示 さ れてい ます)。
Property
CLASS
COST_CODE
COST_CODE_NAME
IS_BAD
IS_COMPLETE
IS_GND
IS_INPUT_PIN
IS_OUTPUT_PIN
IS_PIN
IS_VCC
NAME
NUM_WIRES
PIN_WIRE
SPEED_CLASS
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
string
int
enum
bool
bool
bool
bool
bool
bool
bool
string
int
int
int
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
node
14
OUTBOUND
0
1
0
0
0
0
0
CLBLL_L_X2Y50/CLBLL_LOGIC_OUTS4
2
65535
191
japan.xilinx.com
92
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PACKAGE_PIN
X-Ref Target - Figure 2-31
3RUW
3LQ
&ORFN
7LPLQJ3DWK
&HOO
%
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
,2%DQN
7LOH
図 2‐31 : PACKAGE_PIN オブ ジ ェ ク ト 説明 PACKAGE_PIN オブジ ェ ク ト は、 デザ イ ン の特定の入力ま たは出力に関連す る ザ イ リ ン ク ス デバ イ ス パ ッ ケージの
物理的な ピ ン を示 し ます。 PACKAGE_PIN への I/O ポー ト の割 り 当てについては、 『Vivado Design Suite ユーザー ガ イ
ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899) [参照 17] を参照 し て く だ さ い。
PACKAGE_PIN オブジ ェ ク ト は、 PACKAGE_PIN プ ロ パテ ィ を使用 し て PORT オブジ ェ ク ト に関連付け る こ と がで き
ます。
関連オブ ジ ェ ク ト PACKAGE_PIN オブジ ェ ク ト は、 デザ イ ン ネ ッ ト リ ス ト の PORT オブジ ェ ク ト に関連す る ほか、 タ ーゲ ッ ト デバ イ
ス の SITE、 BEL、 ま た は IO_BANK オ ブ ジ ェ ク ト に 関連 し て い ま す。 ま た、 PACKAGE_PIN オ ブ ジ ェ ク ト は
PKGPIN_BYTEGROUP お よ び PKGPIN_NIBBLE オブジ ェ ク ト に も 関連 し てい ま す。 PACKAGE_PIN は、 次の Tcl コ
マ ン ド を使用す る と 取得で き ます。
get_package_pins
ま たは、 関連オブジ ェ ク ト を使用 し て取得で き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
93
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
get_package_pins -of [get_ports]
特定のパ ッ ケージ ピ ン を 使用 し て、 ポー ト 、 サ イ ト 、 SLR、 IO_BANK、 IO_STANDARD、 PKGPIN_BYTEGROUP、
PKGPIN_NIBBLE を取得す る こ と も で き ます。
get_port -of [get_package_pins AG17]
ヒ ン ト : こ の場合、 ポー ト は PACKAGE_PIN プ ロ パテ ィ で も 見つけ る こ と がで き ます。
get_ports -filter {PACKAGE_PIN==AG17}
プ ロパテ ィ 次は、 package_pin オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
BANK
BUFIO_2_REGION
CLASS
DIFF_PAIR_PIN
IS_BONDED
IS_DIFFERENTIAL
IS_GENERAL_PURPOSE
IS_GLOBAL_CLK
IS_LOW_CAP
IS_MASTER
IS_VREF
IS_VRN
IS_VRP
MAX_DELAY
MIN_DELAY
NAME
PIN_FUNC
PIN_FUNC_COUNT
Type
string
string
string
string
bool
bool
bool
bool
bool
bool
bool
bool
bool
int
int
string
enum
int
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
44
BL
package_pin
AE21
1
1
1
0
0
1
0
0
0
72405
71685
AD21
IO_L1P_T0L_N0_DBC_44
1
package_pin オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用する と 確認で き ます。
report_property -all [lindex [get_package_pins] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
94
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PIN X-Ref Target - Figure 2-32
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH
6LWH3LQ
図 2‐32 : PIN オブ ジ ェ ク ト 説明
PIN はプ リ ミ テ ィ ブ ま たは階層セルの論理的な接続点です。 ピ ンに よ り セルの内容は抽象化 さ れ、 ロ ジ ッ ク は使いや
す く す る ため簡易化 さ れます。 ま た、 ピ ンは接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ピ ン
と し て定義す る こ と がで き ます。
関連オブ ジ ェ ク ト
ピ ン はセルに接続 さ れ ま す。 ま た ネ ッ ト に よ り ほかのセルの ピ ン に接続す る こ と がで き ま す。 ま た、 セルの ピ ン は
BEL オブジ ェ ク ト の BEL ピ ンに関連付け ら れ、 セルがマ ッ プ さ れてい る サ イ ト のサ イ ト ピ ンに も 関連付け ら れてい
ます。 ク ロ ッ ク ド メ イ ンの一部 と し て ピ ンは ク ロ ッ ク に関連付け ら れてお り 、 パ ス の起点、 終点、 中間点 と し て定義
さ れてい る 場合は タ イ ミ ン グ パス の一部にな り ます。
ま た、デザ イ ンに関す る 問題をすばや く 見つけ出 し 解決で き る よ う に、DRC 違反に ピ ン を関連付け る こ と も で き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
95
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
プ ロパテ ィ
PIN オブジ ェ ク ト には、 ク ロ ッ ク お よ び コ ン ト ロ ール ピ ンの ピ ン タ イ プ を定義す る プ ロ パテ ィ の集合体が含ま れ ま
す。 こ れ ら の属性を使用す る と 、 Tcl ス ク リ プ ト を記述 し た り 、 PIN オブジ ェ ク ト を使用す る 際に タ イ プ別に ピ ン の
リ ス ト を フ ィ ル タ ーす る こ と がで き ます。 次の表は、 プ ロ パテ ィ を リ ス ト し た も のです。
表 2‐2 :
プ ロパテ ィ 名
ク ロ ッ ク と の関係
IS_CLEAR
非同期
IS_CLOCK
説明
例
ブ ロ ッ ク 出力を 0 ス テー ト に指定
FDCE の CLR ピ ン
基準
ピ ンにはほかの ピ ン と の間にセ ッ ト ア ッ プ/ホール
ド ま たは リ カバ リ / リ ムーバル関係があ り 、 その関
係では基準ピ ン と し て動作
FDRE の C ピ ン
IS_ENABLE
同期
ブ ロ ッ ク のデー タ キ ャ プチ ャ を許可ま たは阻止
FDRE の CE ピ ン
IS_PRESET
非同期
ブ ロ ッ ク 出力を 1 ス テー ト に指定
FDPE の PRE ピ ン
IS_RESET
同期
ブ ロ ッ ク 出力を次の ク ロ ッ ク で 0 ス テー ト に変更
FDRE の R ピ ン
IS_SET
同期
ブ ロ ッ ク 出力を次の ク ロ ッ ク で 1 ス テー ト に変更
FDSE の S ピ ン
IS_SETRESET
プ ロ グ ラ マブル
プ ロ グ ラ マ ブル同期 ま た は非同期セ ッ ト / リ セ ッ
ト 。 ピ ンの ビヘ イ ビ アーはブ ロ ッ ク の属性で制御
RAMB36E2
の
RSTRAMB ピ ン
IS_WRITE_ENABLE
同期
メ モ リ ブ ロ ッ ク で書 き 込み動作を許可ま たは阻止
す る ピ ン イ ネーブル
RAMB36E2
WES ピ ン
の
ピ ン タ イ プ を定義す る こ れ ら のプ ロ パテ ィ 以外に も 、PIN オブジ ェ ク ト には次の よ う な さ ま ざ ま なプ ロ パテ ィ があ り
ます。
Property
Type
BEL
string
BUS_DIRECTION
enum
BUS_NAME
string
BUS_START
int
BUS_STOP
int
BUS_WIDTH
int
CLASS
string
CLOCK_DEDICATED_ROUTE
enum
DCI_VALUE
int
DIRECTION
enum
ESSENTIAL_CLASSIFICATION_VALUE int
FB_ACTIVE
bool
HD.ASSIGNED_PPLOCS
string*
HD.CLK_SRC
string
HD.LOC_FIXED
bool
HD.PARTPIN_LOCS
string*
HD.PARTPIN_RANGE
string*
HD.PARTPIN_TIEOFF
bool
HD.TANDEM
int
HIERARCHICALNAME
string
top.cpuEngine.dwb_biu.\retry_cntr_reg[0]
HOLD_DETOUR
int
HOLD_SLACK
double
IS_CLEAR
bool
IS_CLOCK
bool
IS_CONNECTED
bool
IS_ENABLE
bool
IS_INVERTED
bool
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Read-only
false
true
true
true
true
true
true
false
false
true
false
false
true
false
false
false
false
false
false
true
.C
false
true
true
true
true
true
false
japan.xilinx.com
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
false
true
true
true
true
true
true
true
Value
pin
IN
0
needs timing update***
0
1
1
0
0
96
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
IS_LEAF
bool
IS_ORIG_PIN
bool
IS_PRESET
bool
IS_RESET
bool
IS_REUSED
bool
IS_SET
bool
IS_SETRESET
bool
IS_WRITE_ENABLE
bool
LOGIC_VALUE
string
MARK_DEBUG
bool
NAME
string
cpuEngine/dwb_biu/retry_cntr_reg[0]/C
ORIG_PIN_NAME
string
PARENT_CELL
cell
cpuEngine/dwb_biu/retry_cntr_reg[0]
REF_NAME
string
REF_PIN_NAME
string
SETUP_SLACK
double
TARGET_SITE_PINS
string*
XLNX_LINE_COL
int
XLNX_LINE_FILE
long
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
false
false
true
true
true
true
false
false
1
0
0
0
0
0
0
0
unknown
FDCE
C
needs timing update***
次の コ マ ン ド を使用 し て ピ ンのプ ロ パテ ィ は確認で き ます。
report_property -all [lindex [get_pins] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
97
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PIP または SITE_PIP
説明 X-Ref Target - Figure 2-33
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
:LUH
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐33 : PIP オブ ジ ェ ク ト PIP は、 ザ イ リ ン ク ス パーツ で接続ま たは NET を配線する ために使用する デバ イ ス オブジ ェ ク ト です。 PIP は ARC
と も 呼ばれますが、あ る WIRE を別の WIRE に接続す る ためにプ ロ グ ラ ムす る こ と がで き る 接続マルチプ レ ク サーの
こ と を言い ます。 つま り 、 NODE を接続 し て、 デザ イ ンの特定 NET に必要な配線を作成 し ます。
SITE_PIP は配線 BEL と も いい、 SITE 内にあ る 接続マルチプ レ ク サーで、 BEL_PIN を別の BEL_PIN に、 ま たは SITE
内の SITE_PIN に接続で き ます。
関連オブ ジ ェ ク ト 98 ページの図 2-33にあ る よ う に、 PIP オブジ ェ ク ト は SLR、 TILE、 NODE、 NET、 WIRE に関連付け ら れてい ま す。
次の Tcl コ マ ン ド で、 PIP を ク エ リ ーで き ます。
get_pips -of [get_nodes INT_R_X7Y47/NW6BEG1]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
98
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ま た、 SLR、 お よ び PIP のあ る TILE、 ま たは特定 PIP が関連付け ら れてい る NODE、 SPEED_MODEL、 WIRE を ク エ
リ ーす る こ と も で き ます。
get_nodes -of_objects [get_pips INT_R_X7Y47/INT_R.BYP_ALT0->>BYP_BOUNCE0]
SITE_PIP は SITE に関連付け ら れてい ます。
get_site_pips -of [get_sites SLICE_X8Y79]
PIP プ ロパテ ィ
次の よ う な コ マ ン ド を使用 し て、 PIP オブジ ェ ク ト のプ ロ パテ ィ はレ ポー ト で き ます。
report_property -all [lindex [get_pips -of [get_tiles INT_R_X7Y47]] 0]
ヒ ン ト : デバ イ ス上の PIP の数は非常に多いため、検索結果を絞 り 込むための -of_objects や -filters を使用 し
て、 get_pips Tcl コ マ ン ド を実行す る よ う に し て く だ さ い。
プ ロ パテ ィ には次の よ う な も のがあ り ます (例 と し て値 も 表示 さ れてい ます)。
Property
Type
Read-only Visible Value
CAN_INVERT
bool
true
true
0
CLASS
string true
true
pip
IS_BUFFERED_2_0
bool
true
true
0
IS_BUFFERED_2_1
bool
true
true
1
IS_DIRECTIONAL
bool
true
true
1
IS_EXCLUDED_PIP
bool
true
true
0
IS_FIXED_INVERSION bool
true
true
0
IS_INVERTED
bool
true
true
0
IS_PSEUDO
bool
true
true
0
IS_SITE_PIP
bool
true
true
0
IS_TEST_PIP
bool
true
true
0
NAME
string true
true
INT_R_X7Y47/INT_R.BYP_ALT0->>BYP_BOUNCE0
SPEED_INDEX
int
true
true
2336
TILE
string true
true
INT_R_X7Y47
VORPAL_ID
int
true
false
SITE_PIP プ ロパテ ィ
SITE_PIP のプ ロ パテ ィ は、 次の コ マ ン ド で レ ポー ト で き ます。
get_site_pips -of [get_sites SLICE_X8Y79]
SITE_PIP のプ ロ パテ ィ には次の よ う な も のがあ り ます (例 と し て値 も 表示 さ れてい ます)。
Property
CLASS
FROM_PIN
IS_FIXED
IS_USED
NAME
SITE
TO_PIN
Type
string
string
bool
bool
string
string
string
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Read-only
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
Value
site_pip
A1
0
0
SLICE_X8Y79/D6LUT:A1
SLICE_X8Y79
O6
japan.xilinx.com
99
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PKGPIN_BYTEGROUP
X-Ref Target - Figure 2-34
3RUW
3LQ
&ORFN
7LPLQJ3DWK
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐34 : PKGPIN_BYTEGROUP オブ ジ ェ ク ト 説明 7 シ リ ーズ デバ イ ス では、 I/O バン ク の階層に I/O バン ク と パ ッ ケージ ピ ンの 2 つのオブジ ェ ク ト タ イ プが含まれて
い ます。 ザ イ リ ン ク ス UltraScale アーキ テ ク チ ャ では、 I/O バン ク 階層にバ イ ト グループ と ニブルの 2 つが追加 さ れ
てい ます。 UltraScale デバ イ ス での こ れ ら のオブジ ェ ク ト の関係は、 次の よ う に定義 さ れてい ます。
•
52 個の ピ ンの IO_BANK には、 4 つの pkgpin_bytegroups (26 個のピ ンの小型 IO_BANK には 2 つの bytegroups) が
含まれてい ます。
•
各 pkgpin_bytegroup には 13 個のパ ッ ケージ ピ ンが含まれ、 2 個 (上部 と 下部) の pkgpin_nibbles が含まれてい ま
す。
•
各パ ッ ケージ ピ ン ニブル (pkgpin_nibble) には 6 ~ 7 本の ピ ンが含まれ、 pkgpin_bytegroup の上位ま たは下位ニブ
ルです。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
100
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
•
パ ッ ケージ ピ ン (package_pin) は、I/O バン ク (iobank)、pkgpin_bytegroup、ま たは pkgpin_nibble の 1 つの ピ ン です。
UltraScale では、I/O バン ク に接続 さ れた bitslice ロ ジ ッ ク が pkgpin_bytegroups と pkgpin_nibbles に ま と め ら れます。 こ
れ ら のオブジ ェ ク ト を使用す る と 、 bitslice のグループの よ う な I/O ピ ンに関連す る 配置が実行 し やす く な り ます。 た
と えば、バ イ ト グループ と ニブルを UltraScale デバ イ ス の メ モ リ コ ン ト ロ ー ラ ーの I/O ピ ン割 り 当てに使用で き ます。
メ モ リ I/O ピ ン グループ を自動ま たは手動で I/O バン ク と バ イ ト レーンに割 り 当て ら れ る よ う に し た メ モ リ バン ク /
バ イ ト プ ラ ンナーを使用す る と 、 Vivado IDE でエ ラ ボ レー ト し た RTL デザ イ ン ま たは合成 し たデザ イ ンのいずれか
を開いて I/O プ ラ ン ニ ン グ を イ ン タ ラ ク テ ィ ブに実行で き ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : I/O
お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899) [参照 17] の 「UltraScale デバ イ ス の メ モ リ IP の I/O プ ラ ン ニ ン グ」 を参照 し
て く だ さ い。
関連オブ ジ ェ ク ト PKGPIN_BYTEGROUP と PKGPIN_NIBBLE は前述の よ う に、 IO_BANK、 PACKAGE_PIN、 お よ び PORT と 関連 し て
い ます。 ま た、 各 PKGPIN_BYTEGROUP はザ イ リ ン ク ス デバ イ ス の SITE に関連 し てい ます。 関連オブジ ェ ク ト の
PKGPIN_BYTEGROUP は、 次の よ う な Tcl コ マ ン ド を使用す る と 取得で き ます。
get_pkgpin_bytegroups -of [get_package_pins AG17]
次を使用す る と 、 特定の pkgpin_bytegroups に関連する パ ッ ケージ ピ ン オブジ ェ ク ト も 取得で き ます。
get_package_pins -of [get_pkgpin_bytegroups BANK45_BYTE2]
プ ロパテ ィ 次は、 PKGPIN_BYTEGROUP オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
INDEX_IN_IOBANK
IOBANK
NAME
Type
string
int
int
string
Read-only
true
true
true
true
Value
pkgpin_bytegroup
2
45
BANK45_BYTE2
バ イ ト グループ オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用する と 確認で き ます。
report_property -all [lindex [get_pkgpin_bytegroups] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
101
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PKGPIN_NIBBLE
X-Ref Target - Figure 2-35
3RUW
3LQ
&ORFN
7LPLQJ3DWK
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐35 : PKGPIN_NIBBLE オブ ジ ェ ク ト 説明 PKGPIN_NIBBLE は、 PKGPIN_BYTEGROUP の一部です。 こ のオブジ ェ ク ト の詳細は、 100 ページの
「PKGPIN_BYTEGROUP」 を参照 し て く だ さ い。
関連オブ ジ ェ ク ト PKGPIN_BYTEGROUP と PKGPIN_NIBBLE は前述の よ う に、 IO_BANK、 PACKAGE_PIN、 お よ び PORT と 関連 し て
い ま す。 ま た、 各 PKGPIN_NIBBLE は ザ イ リ ン ク ス デバ イ ス の SITE に 関連 し て い ま す。 関連 オ ブ ジ ェ ク ト の
PKGPIN_NIBBLE は、 次の よ う な Tcl コ マ ン ド を使用する と 取得で き ます。
get_pkgpin_nibbles -of [get_iobanks 45]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
102
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
次を使用す る と 、 特定の PKGPIN_NIBBLE に関連する パ ッ ケージ ピ ン オブジ ェ ク ト も 取得で き ます。
get_package_pins -of [get_pkgpin_nibbles BANK45_BYTE2_L]
プ ロパテ ィ 次は、 PKGPIN_NIBBLE オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
CLASS
IOBANK
NAME
PKGPIN_BYTEGROUP
TYPE
Type
string
int
string
string
string
Read-only
true
true
true
true
true
Value
pkgpin_nibble
45
BANK45_BYTE2_L
BANK45_BYTE2
L
PKGPIN_NIBBLE オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用する と 確認で き ます。
report_property -all [lindex [get_pkgpin_nibbles] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
103
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
PORT
X-Ref Target - Figure 2-36
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
:LUH
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐36 : PORT オブ ジ ェ ク ト 説明 ポー ト は特殊 タ イ プの階層ピ ンで、 階層デザ イ ンの最上位で外部 と の接続点にな る こ と も あれば、 階層セルの ピ ンに
内部 ロ ジ ッ ク を接続す る ため、 階層セルやブ ロ ッ ク モジ ュ ールの内部接続点にな る こ と も あ り ます。 ま た、 ポー ト は
接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ポー ト と し て定義する こ と がで き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
104
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト デザ イ ンの最上位にあ る ポー ト は、 デバ イ ス パ ッ ケージの PACKAGE_PIN を介 し て、 FPGA 外部のダ イ の IO_BANK
ま で接続 さ れます ( こ の際、 割 り 当て ら れた IOSTANDARD が使用 さ れます)。
ま た、 ポー ト はシ ス テ ム ま たはボー ド か ら デザ イ ンに ク ロ ッ ク 定義を マ ッ プす る こ と がで き 、 set_input_delay ま
たは set_output_delay 制約を使用 し て外部シ ス テ ム レベル パ ス遅延に割 り 当て る 必要があ り ます。 こ れ ら の制
約については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 19] を参照 し て く だ さ い。
次の よ う な Tcl コ マ ン ド を使用す る と 、 特定のパ ッ ケージ ピ ン、 IO バ ン ク 、 I/O 規格、 サ イ ト 、 セル、 ネ ッ ト 、 ク
ロ ッ ク 、 タ イ ミ ン グ パ ス、 DRC 違反に割 り 当て ら れたポー ト を取得で き ます。
get_ports -of [get_clocks]
デザ イ ン内では、 階層ネ ッ ト リ ス ト を構築す る ために、 ポー ト はネ ッ ト を介 し てセルに接続 さ れ ます。 次の コ マ ン ド
形式を使用す る と 、 ネ ッ ト 、 タ イ ミ ン グ パ ス、 サ イ ト 、 I/O バン ク 、 I/O 規格、 パ ッ ケージ ピ ン、 パ ッ ケージ ピ ン グ
ループ、 パ ッ ケージ ピ ン ニブルな ど のポー ト に関連す る オブジ ェ ク ト が取得で き ます。
get_package_pins -of [all_inputs]
プ ロパテ ィ 次は、 ポー ト オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。
Property
Type
BOARD_PART_PIN
string
BOARD_PIN
string
BUFFER_TYPE
enum
BUS_DIRECTION
enum
BUS_NAME
string
BUS_START
int
BUS_STOP
int
BUS_WIDTH
int
CLASS
string
CLOCK_BUFFER_TYPE
enum
DIFFTERMTYPE
bool
DIFF_PAIR_PORT
string
DIFF_PAIR_TYPE
enum
DIFF_TERM
bool
DIRECTION
enum
DQS_BIAS
enum
DRIVE
enum
DRIVE_STRENGTH
enum
ESSENTIAL_CLASSIFICATION_VALUE int
HD.ASSIGNED_PPLOCS
string*
HD.CLK_SRC
string
HD.LOC_FIXED
bool
HD.PARTPIN_LOCS
string*
HD.PARTPIN_RANGE
string*
HD.PARTPIN_TIEOFF
bool
HOLD_SLACK
double
IBUF_LOW_PWR
bool
INTERFACE
string
INTERMTYPE
enum
IN_TERM
enum
IOB
enum
IOBANK
int
IOSTANDARD
enum
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
Read-only Visible Value
false
true
false
false
false
true
true
true
true
true
true
true
true
true
true
true
true
true
port
false
true
false
false
0
true
true
true
true
false
true
0
false
true
IN
false
true
false
true
12
false
false
12
false
true
true
true
false
true
false
false
0
false
true
false
true
false
true
true
true
needs timing update***
false
true
0
false
true
false
false
NONE
false
true
NONE
false
true
true
true
33
false
true
LVCMOS18
105
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
IOSTD
IO_BUFFER_TYPE
IS_BEL_FIXED
IS_FIXED
IS_GT_TERM
IS_LOC_FIXED
IS_REUSED
KEEP
KEEPER
LOAD
LOC
LOGIC_VALUE
NAME
OFFCHIP_TERM
OUT_TERM
PACKAGE_PIN
PIN_TYPE
PIO_DIRECTION
PULLDOWN
PULLTYPE
PULLUP
SETUP_SLACK
SITE
SLEW
SLEWTYPE
SLEW_ADV
UNCONNECTED
USE_INTERNAL_VREF
VCCAUX_IO
XLNX_LINE_COL
XLNX_LINE_FILE
X_INTERFACE_INFO
enum
false
enum
false
bool
false
bool
false
bool
true
bool
false
bool
true
string
false
bool
false
double
false
site
false
string
true
string
false
string
false
enum
false
package_pin false
enum
true
enum
false
bool
false
string
false
bool
false
double
true
site
false
enum
false
enum
false
enum
false
bool
true
enum
false
enum
false
int
false
long
false
string
false
false
LVCMOS18
true
false
1
false
1
true
0
true
1
true
true
false
0
true
true
IOB_X1Y43
true
unknown
true
reset
true
NONE
true
true
W9
false
true
false
0
true
false
0
true
needs timing update***
false
IOB_X1Y43
true
false
false
true
0
true
true
false
false
true
次の コ マ ン ド を使用 し てポー ト のプ ロ パテ ィ は確認で き ます。
report_property -all [lindex [get_ports] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
106
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
SITE
X-Ref Target - Figure 2-37
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
3NJ3LQ
B1LEEOH
3DFNDJH
3LQ
%HO
:LUH
6LWH&/%
6LWH3LQ
3NJ3LQ
B%\WH*URXS
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐37 : SITE オブ ジ ェ ク ト 説明
SITE は、 タ ーゲ ッ ト のザ イ リ ン ク ス FPGA で使用可能な さ ま ざ ま な タ イ プの ロ ジ ッ ク リ ソ ース の 1 つを表すデバ イ
ス オブジ ェ ク ト で、
ル ッ ク ア ッ プテーブル (LUT)、 フ リ ッ プ フ ロ ッ プ、 マルチプ レ ク サー、 キ ャ リ ー ロ ジ ッ ク リ ソ ース な ど の基本エ レ
メ ン ト (BEL) の集合体であ る SLICE/CLB が含まれてお り 、 高速な加算、 減算、 比較演算を イ ン プ リ メ ン ト す る ため
に使用 さ れ ま す。 SLICE/CLB には、 幅の大 き なマルチプ レ ク サー と 、 ス ラ イ ス か ら ス ラ イ ス を垂直方向に結ぶ専用
キ ャ リ ー チ ェ ーンが含まれます。
デバ イ ス には、 次の 2 種類の タ イ プがあ り ます。
•
SLICEM は分散 RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン可能です。 分散 メ モ リ は一部の LUT の コ ン フ ィ ギ ュ レー
シ ョ ン機能で、 小型の 64 ビ ッ ト メ モ リ と し て動作 し ます。
•
SLICEL LUT は ロ ジ ッ ク と し てのみ機能 し 、 メ モ リ と し ては機能 し ません。
7 シ リ ーズ FPGA では、 2 つの ス ラ イ ス が 1 つの コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) に ま と め ら れ、 2 つの
CLB がデバ イ ス の 1 つの TILE オブジ ェ ク ト に ま と め ら れてい ます。UltraScale アー ク テ ク チ ャ の CLB には SLICE が
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
107
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
1 つ含 ま れ て い ま す。 詳細は、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レ ー シ ョ ン ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』
(UG474) [参照 4] ま た は 『UltraScale アーキ テ ク チ ャ ン フ ィ ギ ュ レ ーシ ョ ン ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』
(UG574) [参照 10] を参照 し て く だ さ い。
SITE には、 ブ ロ ッ ク RAM、 DSP、 I/O ブ ロ ッ ク 、 ク ロ ッ ク リ ソ ース、 GT ブ ロ ッ ク な ど さ ま ざ ま なデバ イ ス リ ソ ー
ス も 含まれてい ます。
デバ イ ス リ ソ ース を利用す る には、 Vivado 合成を使用 し て HDL ソ ース か ら 推論 し た り 、 FPGA ラ イ ブ ラ リ か ら プ リ
ミ テ ィ ブやマ ク ロ を イ ン ス タ ン シエー ト し た り 、 Vivado IP カ タ ロ グか ら IP コ ア を使用 し ます。 『 ラ イ ブ ラ リ ガ イ ド 』
には、 イ ン ス タ ン シエー ト 可能なプ リ ミ テ ィ ブの リ ス ト があ り ます。
使用可能な SITE タ イ プは、 使用 さ れ る ザ イ リ ン ク ス デバ イ ス に よ っ て変わ り ます。 一部ですが、 SITE タ イ プには次
の よ う な も のがあ り ます。
AMS_ADC AMS_DAC
BSCAN BSCAN_JTAG_MONE2
BUFG BUFGCTRL BUFG_LB BUFHCE
BUFIO BUFMRCE BUFR
CAPTURE
DCIRESET DNA_PORT
DRP_AMS_ADC DRP_AMS_DAC
DSP48E1
EFUSE_USR
FIFO18E1 FIFO36E1
FRAME_ECC
GLOBALSIG
GTHE2_CHANNEL GTHE2_COMMON
GTPE2_CHANNEL GTPE2_COMMON
GTXE2_CHANNEL GTXE2_COMMON
GTZE2_OCTAL
IBUFDS_GTE2 ICAP
IDELAYCTRL IDELAYE2 IDELAYE2_FINEDELAY
ILOGICE2 ILOGICE3
IN_FIFO
IOB IOB18 IOB18M IOB18S
IOB33 IOB33M IOB33S
IOBM IOBS
IPAD ISERDESE2
KEY_CLEAR
MMCME2_ADV
ODELAYE2 ODELAYE2_FINEDELAY
OLOGICE2 OLOGICE3
OPAD
OSERDESE2
OUT_FIFO
PCIE_2_1 PCIE_3_0
PHASER_IN PHASER_IN_ADV PHASER_IN_PHY
PHASER_OUT PHASER_OUT_ADV PHASER_OUT_PHY
PHASER_REF
PHY_CONTROL
PLLE2_ADV PMV2
RAMB18E1 RAMB36E1 RAMBFIFO36E1
SLICEL SLICEM
STARTUP TIEOFF
USR_ACCESS
XADC
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
108
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト
107 ページの図 2-37にあ る よ う に、サ イ ト は さ ま ざ ま なネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト に関連付け ら れて
い ます。 フ リ ッ プ フ ロ ッ プお よ び ラ ッ チの よ う な最下位セルは、BEL (SLICEL お よ び SLICEM な ど のサ イ ト にマ ッ プ
さ れてい る ) にマ ッ プ さ れてい る か、 BRAM や DSP な ど のサ イ ト に直接マ ッ プ さ れてい ます。 BEL お よ びサ イ ト は タ
イ ルに ま と め ら れ、 デバ イ ス の ク ロ ッ ク 領域お よ び SLR に割 り 当て ら れます。 ポー ト 、 ピ ン、 I/O バン ク 、 パ ッ ケー
ジ ピ ンは I/O ブ ロ ッ ク (IOB) に関連 し てい ますが、 こ の IOB も サ イ ト です。 さ ら に、サ イ ト にはピ ン ま たは SITE_PIN
があ り 、 こ れ ら は NODE、 PIP、 PIN、 お よ び NET にマ ッ プ さ れます。 こ れ ら のオブジ ェ ク ト に関連する サ イ ト は、 次
の よ う に取得で き ます。
get_sites -of [get_cells -hier microblaze_0]
サ イ ト は、 ELL、 PORT、 BEL、 BEL_PIN、 CLOCK_REGION、 SITE_PIN、 SLR、 TILE、 IO_BANK、 IO_STANDARD、
PACKAGE_PIN、 PKGPIN_BYTEGROUP、 PKGPIN_NIBBLE、 PIP、 お よ び SITE_PIP な ど の関連オブジ ェ ク ト を取得
す る ために も 使用で き ます。 次は、 その例です。
get_clock_regions -of [get_sites DSP48E2_X2Y119]
プ ロパテ ィ
ザ イ リ ン ク ス FPGA には 80 種類を越え る SITE タ イ プがあ り ますが、 すべて次のプ ロ パテ ィ を共有 し てい ます。 値の
例 も 示 し ます。
Property
ALTERNATE_SITE_TYPES
CLASS
CLOCK_REGION
IS_BONDED
IS_CLOCK_BUFFER
IS_CLOCK_PAD
IS_GLOBAL_CLOCK_BUFFER
IS_GLOBAL_CLOCK_PAD
IS_PAD
IS_REGIONAL_CLOCK_BUFFER
IS_REGIONAL_CLOCK_PAD
IS_RESERVED
IS_TEST
IS_USED
MANUAL_ROUTING
NAME
NUM_ARCS
NUM_BELS
NUM_INPUTS
NUM_OUTPUTS
NUM_PINS
PRIMITIVE_COUNT
PROHIBIT
PROHIBIT_FROM_PERSIST
RPM_X
RPM_Y
SITE_PIPS
SITE_TYPE
Type
string
string
string
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
bool
string
string
int
int
int
int
int
int
bool
bool
int
int
string
enum
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
true
true
false
true
true
true
false
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
IOB33S IOB33M
site
X0Y6
1
0
0
0
0
1
0
0
0
0
0
IOB_X0Y349
9
7
12
5
17
0
0
0
1
698
IOB33
サ イ ト オブジ ェ ク ト に割 り 当て ら れてい る プ ロ パテ ィ はど のサ イ ト タ イ プで も 同 じ です。 上記に リ ス ト さ れてい る
SITE_TYPE のプ ロ パテ ィ を確認す る には、 report_property コ マ ン ド を使用 し ます。
report_property -all [lindex [get_sites -filter {SITE_TYPE == <SITE_TYPE>}] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
109
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
<SITE_TYPE> には リ ス ト さ れてい る サ イ ト タ イ プの 1 つが入 り ます。 次は、 その例です。
report_property -all [lindex [get_sites -filter {SITE_TYPE == DSP48E1}] 0]
report_property -all [lindex [get_sites -filter {SITE_TYPE == RAMB36E1}] 0]
report_property -all [lindex [get_sites -filter {SITE_TYPE == IBUFDS_GTE2}] 0]
SLR
X-Ref Target - Figure 2-38
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
3DFNDJH
3LQ
6LWH&/%
6LWH3LQ
6LWH3LS
3LS
,2%DQN
7LOH
,2
6WDQGDUG
6/5
;
図 2‐38 : SLR オブ ジ ェ ク ト 説明 SLR (Super Logic Region) は、 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) デバ イ ス に含まれ る 1 つの FPGA ダ イ ス
ラ イ ス です。 SSI テ ク ノ ロ ジでは、 パ ッ シブ シ リ コ ン イ ン タ ーポーザーを マ イ ク ロ バンプ と Si 貫通電極 (TSV) と 一
緒に使用す る こ と で、 SLR (Super Logic Region) と 呼ばれ る 複数の FPGA ダ イ ス ラ イ ス が 1 つのパ ッ ケージに ま と め
ら れます。
各 SLR には、 ほ と ん ど のザ イ リ ン ク ス FPGA デバ イ ス に使用 さ れ る 能動回路が含まれ、 シ リ コ ン イ ン タ ーポーザー
の SLL (Super Long Lines) を介 し て接続 さ れ ま す。 SSI コ ン ポーネ ン ト の詳細は、 『UltraFast 設計手法 (Vivado Design
Suite 用)』 (UG949) [参照 24] の 「SSI デバ イ ス での設計」 を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
110
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト SLR (Super Logic Region) は、 ザ イ リ ン ク ス FPGA アーキ テ ク チ ャ ま たはデバ イ ス のダ イ ス ラ イ ス で、 110 ページの
図 2-38 に示す よ う に、 各 SLR には ク ロ ッ ク 領域、 タ イ ル、 サ イ ト 、 サ イ ト ピ ン、 BEL、 BEL ピ ン、 ノ ー ド 、 PIP、 セ
ル、 ピ ン、 I/O バン ク 、 お よ びパ ッ ケージ ピ ンが含まれます。 こ れ ら の異な る タ イ プのオブジ ェ ク ト それぞれに関連
付け ら れてい る SLR は、 次の Tcl コ マ ン ド を使用 し て検索で き ます。 こ の コ マ ン ド を実行する と 、 指定 さ れたセルに
割 り 当て ら れてい る SLR が返 さ れます。
get_slrs -of [get_cells DataIn_pad_0_i_IBUF[3]_inst]
SLR に関連す る ク ロ ッ ク 領域、 タ イ ル、 サ イ ト 、 ま たは BEL も 検索で き ます。 次の Tcl コ マ ン ド を使用する と 、 特定
の SLR に関連す る ク ロ ッ ク 領域の I/O バン ク が取得で き ます。
get_iobanks -of [get_clock_regions -of [get_slrs SLR3]]
プ ロパテ ィ
report_property コ マ ン ド を使用す る と 、 SLR のプ ロ パテ ィ を確認で き ます。 詳細は、 『Vivado Design Suite Tcl コ
マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次は SLR オブジ ェ ク ト のプ ロ パテ ィ と その値
の例です。
Property
ARCH
CHIP_TYPE
CLASS
CONFIG_ORDER_INDEX
IS_FABRIC
IS_MASTER
LOWER_RIGHT_CORNER
LOWER_RIGHT_X
LOWER_RIGHT_Y
MAX_SITE_INDEX
MAX_TILE_INDEX
MIN_SITE_INDEX
MIN_TILE_INDEX
NAME
NUM_CHANNELS
NUM_SITES
NUM_SLLS
NUM_TILES
NUM_TOP_CLOCK_CONNECTIONS
NUM_TOP_DATA_CONNECTIONS
SLR_INDEX
UPPER_LEFT_CORNER
UPPER_LEFT_X
UPPER_LEFT_Y
Type
string
string
string
int
bool
bool
int
int
int
int
int
int
int
string
int
int
int
int
int
int
int
int
int
int
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
virtex7
xc7vx1140t 0
slr
0
1
1
(0,157)
0
157
278381
266114
185588
177410
SLR1
220
92794
10780
23169
32
10780
1
(564,313)
564
313
特定の SLR のプ ロ パテ ィ を確認す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ
ン ソ ールに貼 り 付け ます。
report_property -all [get_slrs <name>]
<name> は、 レ ポー ト す る SLR の名前です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
111
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
TILE
説明 X-Ref Target - Figure 2-39
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
FNDJH
3LQ
6LWH
6LWH3LQ
6LWH3LS
3LS
2%DQN
7LOH
,2
DQGDUG
6/5
;
図 2‐39 : TILE オブ ジ ェ ク ト TILE は、SITE オブジ ェ ク ト を 1 つま たは複数含むデバ イ ス オブジ ェ ク ト です。プ ロ グ ラ マブル ロ ジ ッ ク TILE には、
SLICE/CLB、 BRAM、 I/O ブ ロ ッ ク 、 ク ロ ッ ク リ ソ ース、 GT ブ ロ ッ ク な ど さ ま ざ ま なオブジ ェ ク ト があ り ます。 構
造的には、 各 タ イ ルには入力お よ び出力が多数あ っ て、 あ る タ イ ルの入力 と 出力を別の タ イ ルに接続す る プ ロ グ ラ マ
ブル イ ン タ ー コ ネ ク ト があ り ます。
TILE の タ イ プは、使用 さ れ る ザ イ リ ン ク ス デバ イ ス に よ っ て異な り ます。使用可能な TILE_TYPE は次の と お り です。
AMS_ADC_TOP AMS_BRAM
AMS_CLB_INTF_IOB AMS_CLK AMS_CMT
AMS_DAC_TOP AMS_DRP_ADC_TOP AMS_DRP_DAC_TOP
AMS_DSP AMS_INT AMS_INT_L AMS_INT_R
AMS_IOI AMS_VBRK_INTF
BRAM_INT_INTERFACE_L BRAM_INT_INTERFACE_R
BRAM_L BRAM_R
BRKH_BRAM BRKH_B_TERM_INT
BRKH_CLB BRKH_CLK BRKH_CMT
BRKH_DSP_L BRKH_DSP_R BRKH_GTX
BRKH_INT BRKH_TERM_INT B_TERM_INT B_TERM_INT_SLV
CFG_CENTER_BOT CFG_CENTER_MID CFG_CENTER_MID_SLAVE
CFG_CENTER_TOP CFG_CENTER_TOP_SLAVE
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
112
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
CLBLL_L CLBLL_R CLBLM_L CLBLM_R
CLK_BALI_REBUF CLK_BALI_REBUF_GTZ_BOT CLK_BALI_REBUF_GTZ_TOP
CLK_BUFG_BOT_R CLK_BUFG_REBUF CLK_BUFG_TOP_R
CLK_FEED
CLK_HROW_BOT_R CLK_HROW_TOP_R
CLK_MTBF2
CLK_PMV CLK_PMV2 CLK_PMV2_SVT CLK_PMVIOB
CLK_TERM
CMT_FIFO_L CMT_FIFO_R
CMT_PMV CMT_PMV_L
CMT_TOP_L_LOWER_B CMT_TOP_L_LOWER_T
CMT_TOP_L_UPPER_B CMT_TOP_L_UPPER_T
CMT_TOP_R_LOWER_B CMT_TOP_R_LOWER_T
CMT_TOP_R_UPPER_B CMT_TOP_R_UPPER_T
DSP_L DSP_R
GTH_CHANNEL_0 GTH_CHANNEL_1 GTH_CHANNEL_2 GTH_CHANNEL_3 GTH_COMMON
GTH_INT_INTERFACE GTH_INT_INTERFACE_L
GTX_CHANNEL_0 GTX_CHANNEL_1 GTX_CHANNEL_2 GTX_CHANNEL_3 GTX_COMMON
GTX_INT_INTERFACE GTX_INT_INTERFACE_L
GTZ_BOT GTZ_BRAM
GTZ_CLB_INTF_IOB GTZ_CLK GTZ_CLK_B GTZ_CMT
GTZ_DSP
GTZ_INT GTZ_INT_L GTZ_INT_LB GTZ_INT_R GTZ_INT_RB
GTZ_IOI GTZ_TOP GTZ_VBRK_INTF
HCLK_BRAM HCLK_CLB
HCLK_CMT HCLK_CMT_L
HCLK_DSP_L HCLK_DSP_R
HCLK_FEEDTHRU_1 HCLK_FEEDTHRU_2
HCLK_FIFO_L
HCLK_GTX
HCLK_INT_INTERFACE HCLK_IOB
HCLK_IOI HCLK_IOI3
HCLK_L HCLK_L_BOT_UTURN HCLK_L_SLV HCLK_L_TOP_UTURN
HCLK_R HCLK_R_BOT_UTURN HCLK_R_SLV HCLK_R_TOP_UTURN
HCLK_TERM HCLK_TERM_GTX HCLK_VBRK HCLK_VFRAME
INT_FEEDTHRU_1 INT_FEEDTHRU_2
INT_INTERFACE_L INT_INTERFACE_R
INT_L INT_L_SLV INT_L_SLV_FLY
INT_R INT_R_SLV INT_R_SLV_FLY
IO_INT_INTERFACE_L IO_INT_INTERFACE_R
LIOB18 LIOB18_SING LIOB33 LIOB33_SING
LIOI LIOI3 LIOI3_SING LIOI3_TBYTESRC LIOI3_TBYTETERM
LIOI_SING LIOI_TBYTESRC LIOI_TBYTETERM
L_TERM_INT L_TERM_INT_BRAM
MONITOR_BOT MONITOR_BOT_SLAVE MONITOR_MID MONITOR_TOP
NULL
PCIE3_BOT_RIGHT PCIE3_INT_INTERFACE_L PCIE3_INT_INTERFACE_R
PCIE3_RIGHT PCIE3_TOP_RIGHT PCIE_BOT
PCIE_BOT_LEFT PCIE_INT_INTERFACE_L PCIE_INT_INTERFACE_LEFT_L
PCIE_INT_INTERFACE_R
PCIE_NULL PCIE_TOP PCIE_TOP_LEFT
RIOB18 RIOB18_SING RIOI RIOI_SING
RIOI_TBYTESRC RIOI_TBYTETERM
R_TERM_INT R_TERM_INT_GTX
TERM_CMT
T_TERM_INT T_TERM_INT_SLV
VBRK VBRK_EXT
VFRAME
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
113
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト TILE オブジ ェ ク ト は SLR、 CLOCK_REGION、 SITE、 SITE_PIN、 BEL お よ び BEL_PIN デバ イ ス リ ソ ース、 NODE、
WIRE、 PIP 配線 リ ソ ース、 お よ び NET ネ ッ ト リ ス ト オブジ ェ ク ト に関連 し てい ます。
た と えば、 次の コ マ ン ド を使用す る と 、 関連す る オブジ ェ ク ト の TILE を取得で き 、 タ イ ルを通 る 指定 し たネ ッ ト が
表示 さ れます。
get_tiles -of_objects [get_nets wbClk]
ま た、 TILE に関連 し た、 ま た は TILE 内で見つか っ た SLR、 CLOCK_REGION、 NODE、 PIP、 WIRE、 SITE、 BEL、
お よ び NET オブジ ェ ク ト も 取得で き ます。
get_bels -of_objects [get_tiles -filter {TILE_TYPE == GTX_CHANNEL_1}]
プ ロパテ ィ
TILE オブジ ェ ク ト には さ ま ざ ま な タ イ プがあ り 、TILE_TYPE プ ロ パテ ィ で設定で き ますが、すべての TILE オブジ ェ
ク ト に同 じ プ ロ パテ ィ セ ッ ト が含まれます。
report_property コ マ ン ド を使用す る と 、 TILE オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を確認で き ます。 詳細
は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
次は TILE オブジ ェ ク ト の CLBLL タ イ プに割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
CLASS
COLUMN
DEVICE_ID
FIRST_SITE_ID
GRID_POINT_X
GRID_POINT_Y
INDEX
INT_TILE_X
INT_TILE_Y
IS_CENTER_TILE
IS_DCM_TILE
IS_GT_CLOCK_SITE_TILE
IS_GT_SITE_TILE
NAME
NUM_ARCS
NUM_SITES
ROW
SLR_REGION_ID
TILE_PATTERN_IDX
TILE_TYPE
TILE_TYPE_INDEX
TILE_X
TILE_Y
TYPE
Type
string
int
int
int
int
int
int
int
int
bool
bool
bool
bool
string
int
int
int
int
int
enum
int
int
int
string
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Value
tile
50
0
46
50
1
167
17
0
1
0
0
0
CLBLL_L_X18Y199
146
2
1
0
13
CLBLL_L
19
-16260
320944
CLBLL_L
上記に リ ス ト さ れてい る TILE_TYPE のプ ロ パテ ィ を確認す る には、 report_property コ マ ン ド を使用 し ます。
report_property -all [lindex [get_sites -filter {TILE_TYPE == <TILE_TYPE>}] 0]
<SITE_TYPE> には リ ス ト さ れてい る サ イ ト タ イ プの 1 つが入 り ます。 次は、 その例です。
report_property -all [lindex [get_tiles -filter {TILE_TYPE == DSP_L}] 0]
report_property -all [lindex [get_tiles -filter {TILE_TYPE == BRAM_L}] 0]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
114
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
report_property -all [lindex [get_tiles -filter {TILE_TYPE == GTX_CHANNEL_1}] 0]
TIMING_PATH
説明 TIMING_PATH は、 デザ イ ンのエ レ メ ン ト 間の接続に基づいて定義 さ れます。 デジ タ ル デザ イ ンでは、 タ イ ミ ン グ パ
ス は同 じ ク ロ ッ ク ま たは異な る 2 つの ク ロ ッ ク で制御 さ れ る 順次エ レ メ ン ト のペアで形成 さ れ、 信号の ソ ースお よ び
デス テ ィ ネーシ ョ ンにな り ます。
典型的な タ イ ミ ン グ パ ス では、 1 ク ロ ッ ク 周期内で 2 つのシーケ ン シ ャ ル セル間をデー タ が転送 さ れ ます。 た と え
ば、 送信エ ッ ジが 0ns だ と す る と 、 到着エ ッ ジは 1 CLOCK 周期後にな り ます。
よ く 使用 さ れ る タ イ ミ ン グ パ ス は、 次の と お り です。
•
入力ポー ト か ら 内部シーケ ン シ ャ ル セルま でのパス
•
シーケ ン シ ャ ル セル間の内部パス
•
内部シーケ ン シ ャ ル セルか ら 出力ポー ト ま でのパス
•
内部ポー ト か ら 出力ポー ト ま でのパ ス
タ イ ミ ン グ パ ス はそれぞれ独自の始点、 通過点、 終点で定義 さ れ ます。 パ ス の始点はシーケ ン シ ャ ル セルの ク ロ ッ
ク ピ ン ま たはデー タ 入力ポー ト で、 パ ス の終点はシーケ ン シ ャ ル セルのデー タ 入力ピ ン ま たはデー タ 出力ポー ト で
す。
TIMING_PATH オブジ ェ ク ト は、 詳細をいろいろ と 設定 し なが ら 、 選択ま たは指定で き ます。 1 つの タ イ ミ ン グ パ ス
は、 始点、 通過点、 終点の組み合わせで定義 さ れます。 共通の始点ま たは共通の終点か ら 、 複数の タ イ ミ ン グ パ ス を
指定で き ます。
制約は、 タ イ ミ ン グ パ ス の定義に従っ て タ イ ミ ン グ パ ス に適用 さ れます。 制約の適用 さ れ る 優先順は タ イ ミ ン グ パ
ス に も 適用 さ れ、 次の順序で優先 さ れます。
1.
-from -through -to (1 つの タ イ ミ ン グ パ ス)
2.
-from -to
3.
-from -through
4.
-from
5.
-through -to
6.
-to
7.
-through ( こ の点を通 る タ イ ミ ン グ パ スすべて)
タ イ ミ ン グ パ ス の詳細については、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ
ク 』 (UG906) [参照 22] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
115
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
関連オブ ジ ェ ク ト X-Ref Target - Figure 2-40
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
図 2‐40 : TIMING_PATH オブ ジ ェ ク ト TIMING_PATH オブ ジ ェ ク ト は、 get_timing_paths コ マ ン ド で取得で き ま す。 こ れに よ り 、 関連す る CLOCK、
PIN、 PORT、 ま たは CELL オブジ ェ ク ト を使用 し て タ イ ミ ン グ を指定 し 、 パ ス の始点、 通過点、 終点を識別す る こ と
がで き ます。
get_timing_paths -from fftEngine/control_reg_reg[1] -max_paths 10
ま た、 指定 し た タ イ ミ ン グ パ ス に関連する CELL、 NET、 PIN、 ま たは PORT オブジ ェ ク ト も 取得で き ます。
get_nets -of_objects [get_timing_paths -max_paths 10]
プ ロパテ ィ
次は TIMING_PATH オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。
Property
Type
Read-only Visible
CLASS
string true
true
CLOCK_PESSIMISM
double true
true
CORNER
string true
true
DATAPATH_DELAY
double true
true
DELAY_TYPE
string true
true
ENDPOINT_CLOCK
clock
true
true
ENDPOINT_CLOCK_DELAY
double true
true
ENDPOINT_CLOCK_EDGE
double true
true
ENDPOINT_PIN
pin
true
true
cpuEngine/or1200_immu_top/qmemimmu_cycstb_o_reg/D
EXCEPTION
string true
true
GROUP
string true
true
INPUT_DELAY
double true
true
INTER_SLR_COMPENSATION double true
true
LOGIC_LEVELS
int
true
true
NAME
string true
true
cpuEngine/or1200_immu_top/qmemimmu_cycstb_o_reg/D}
OUTPUT_DELAY
double true
true
REQUIREMENT
double true
true
SKEW
double true
true
SLACK
double true
true
STARTPOINT_CLOCK
clock
true
true
STARTPOINT_CLOCK_DELAY double true
true
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
Value
timing_path
-0.661
Slow
6.934
max
cpuClk_3
-2.149
20.000
cpuClk_3
16
{usbEngine0/u4/inta_reg/C -->
10.000
-0.057
2.865
usbClk_2
-2.754
116
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
STARTPOINT_CLOCK_EDGE
STARTPOINT_PIN
UNCERTAINTY
USER_UNCERTAINTY
double
pin
double
double
true
true
true
true
true
true
true
true
10.000
usbEngine0/u4/inta_reg/C
0.202
TIMING_PATH オブジ ェ ク ト のプ ロ パテ ィ は、 次の コ マ ン ド を使用 し て確認で き ます。
report_property -all [lindex [get_timing_paths] 0]
WIRE
説明 X-Ref Target - Figure 2-41
1HW
3RUW
3LQ
&ORFN
7LPLQJ
3DWK
1RGH
&HOO
%HO3LQ
&ORFN
5HJLRQ
%HO
:LUH
H
6LWH&/%
6LWH3LQ
6LWH3LS
3LS
QN
7LOH
UG
6/5
;
図 2‐41 : WIRE オブ ジ ェ ク ト WIRE は、 ザ イ リ ン ク ス パーツ での接続点ま たは NET を配線する ために使用する デバ イ ス オブジ ェ ク ト です。 ワ イ
ヤは、 1 つの タ イ ルの中にあ る イ ン タ ー コ ネ ク ト の金属線です。 ワ イ ヤは、 PIP、 電源/グ ラ ン ド 、 SITE_PIN の間を接
続 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
117
第 2 章 : フ ァ ース ト ク ラ ス オブ ジ ェ ク ト リ ス ト (アル フ ァ ベ ッ ト 順)
ヒ ン ト : WIRE オブジ ェ ク ト を、 デザ イ ン の Verilog フ ァ イ ルの ワ イ ヤ エ ン テ ィ テ ィ と 混同 し ない よ う に し て く だ さ
い。 こ れ ら の ワ イ ヤは、 WIRE オブジ ェ ク ト で定義 さ れ る デザ イ ンの配線 リ ソ ース ではな く 、 デザ イ ンの NET に関連
付け ら れていてい ます。
関連オブ ジ ェ ク ト 98 ページの図 2-33にあ る よ う に、 WIRE オブジ ェ ク ト は TILE、 NODE、 PIP、 NET に関連付け ら れてい ます。 次の Tcl
コ マ ン ド で、 WIRE を ク エ リ ーで き ます。
get_wires -of [get_tiles INT_R_X7Y47]
ま た、 WIRE のあ る TILE、 ま たは特定 WIRE が関連付け ら れてい る NODE を ク エ リ ーする こ と も で き ます。
get_nodes -of_objects [get_wires INT_R_X7Y47/NW6BEG1]
プ ロパテ ィ
次の よ う な コ マ ン ド を使用 し て、 WIRE オブジ ェ ク ト のプ ロ パテ ィ はレ ポー ト で き ます。
report_property -all [lindex [get_wires -of [get_nodes INT_R_X7Y47/NW6BEG1]] 0]
ヒ ン ト : デバ イ ス上の WIRE の数は非常に多いため、検索結果を絞 り 込むための -of_objects や -filters を使用
し て、 get_wires Tcl コ マ ン ド を実行す る よ う に し て く だ さ い。
プ ロ パテ ィ には次の よ う な も のがあ り ます (例 と し て値 も 表示 さ れてい ます)。
Property
CLASS
COST_CODE
ID_IN_TILE_TYPE
IS_CONNECTED
IS_INPUT_PIN
IS_OUTPUT_PIN
IS_PART_OF_BUS
NAME
NUM_DOWNHILL_PIPS
NUM_INTERSECTS
NUM_PIPS
NUM_TILE_PORTS
NUM_UPHILL_PIPS
SPEED_INDEX
TILE_NAME
TILE_PATTERN_OFFSET
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
Type
string
int
int
bool
bool
bool
bool
string
int
int
int
int
int
int
string
int
Read-only
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
Visible
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
japan.xilinx.com
Value
wire
3
123
1
0
0
0
INT_R_X7Y47/NW6BEG1
0
1
20
0
20
2232
INT_R_X7Y47
0
118
第 3章
主な プ ロパテ ィ の説明
プ ロパテ ィ 情報
本章では、 ザ イ リ ン ク ス Vivado® Design Suite プ ロ パテ ィ について説明 し ます。 各プ ロ パテ ィ の説明には、 該当す る
場合は次の情報が含ま れます。
•
プ ロ パテ ィ の説明 (主な使用方法 も 含む)
•
プ ロ パテ ィ をサポー ト す る ザ イ リ ン ク ス FPGA デバ イ ス アーキ テ ク チ ャ (UltraScale™を含む)。 例外は注記済み
•
プ ロ パテ ィ をサポー ト す る オブジ ェ ク ト ま たはデバ イ ス リ ソ ース
•
プ ロ パテ ィ に割 り 当て可能な値
•
Verilog、 VHDL、 XDC の構文
•
プ ロ パテ ィ の影響を受け る デザ イ ン フ ロ ーの ス テ ッ プ
•
関連プ ロ パテ ィ への相互参照
重要 : HDL と XDC の両方でプ ロ パテ ィ が定義 さ れてい る 場合は、 XDC の方が優先 さ れ、 HDL プ ロ パテ ィ は上書 き
さ れます。
Vivado Design Suite での こ れ ら のプ ロ パテ ィ の使用方法については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使
用』 (UG903) [参照 19] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
119
第 3 章 : 主な プ ロパテ ィ の説明
ASYNC_REG
重要 : ASYNC_REG と IOB の両方が レ ジ ス タ に割 り 当て ら れ る と 、 「IOB」 プ ロ パテ ィ が ASYNC_REG よ り も 優先 さ
れ、 レ ジ ス タ が SLICE/CLB ロ ジ ッ ク ではな く 、 ILOGIC ブ ロ ッ ク に配置 さ れます。
ASYNC_REG 属性は、 Vivado ツール フ ロ ーの さ ま ざ ま なプ ロ セ ス に影響 し ます。 ASYNC_REG では、 次が指定 さ れ
ます。
•
ソ ース ク ロ ッ ク に相対 し て D 入力ピ ンで、 レ ジ ス タ は非同期デー タ を受信で き る
ま たは
•
レ ジ ス タ が同期チ ェーン内の同期レ ジ ス タ であ る
X-Ref Target - Figure 3-1
VQG!
UFY
,%8)
FON
,
,%8)
%8)*
,
FON
WF
FON
&
&
V\QF
&(
%8)*
V\QF
BQBLQY
&(
4
&
&/5
&/5
&(
'
4
'
)'&(
'
,
,
/87
&/5
HQ
4
)'&(
)'&(
VHQGHU
UHFHLYHUB
,%8)
,
FON
%8)*
,
;
図 3‐1 : ク ロ ッ ク ド メ イ ンの同期
シ ミ ュ レ ーシ ョ ン中に タ イ ミ ン グ違反が発生す る と 、 デ フ ォ ル ト では レ ジ ス タ エ レ メ ン ト か ら X ま たは未知の ス
テー ト (1 で も 0 で も ない値) が出力 さ れます。 こ の場合、 エ レ メ ン ト の駆動する も のすべての入力が X と 表示 さ れ、
未知の ス テー ト にな り ます。 こ の状態の ま ま に し てお く と 、 デザ イ ンのかな り の部分が未知にな っ た り 、 シ ミ ュ レー
タ で こ の ス テー ト か ら 回復で き ない こ と があ り ます。 ASYNC_REG では、 タ イ ミ ン グ違反が発生 し て も 最後の既知の
値を出力す る よ う に レ ジ ス タ が変更 さ れます。
Vivado 合成では、 こ の属性は 「DONT_TOUCH」 属性 と し て処理 さ れ、 ASYNC_REG プ ロ パテ ィ を ネ ッ ト リ ス ト に挿
入 し ます。 こ れに よ り 、 合成で レ ジ ス タ ま たは周辺 ロ ジ ッ ク が最適化 さ れな く な り 、 デザ イ ン フ ロ ーのダ ウ ン ス ト
リ ーム ツールに ASYNC_REG プ ロ パテ ィ が渡 さ れます。
ASYNC_REG を指定す る と 、 最適化、 配置、 配線に も 影響 し 、 メ タ ス テーブルにな る 可能性のあ る MTBF (平均故障
間隔) が改善 さ れます。 ASYNC_REG が指定 さ れてい る と 、 配置ツールで非同期チ ェーンの フ リ ッ プ フ ロ ッ プ同士が
近 く に配置 さ れ、 MTBF を最長にで き ます。 ASYNC_REG が設定 さ れ直接接続 さ れてい る レ ジ ス タ に、 互換性のあ る
制御セ ッ ト があ り 、 ま た レ ジ ス タ 数が ス ラ イ ス の使用可能な リ ソ ース数を超え ない場合は、 グループに ま と め ら れて
1 つの ス ラ イ ス に一緒に配置 さ れます。
ヒ ン ト : UltraScale デバ イ ス の場合、 report_synchronizer_mtbf を使用す る と 、 MTBF (平均故障間隔) が ASYNC_REG で
識別 さ れた レ ジ ス タ を同期す る ために レ ポー ト で き ます。
次は、120 ページの図 3-1 にあ る フ リ ッ プ フ ロ ッ プ を 2 つ使用 し た、ま たは 1 段のシ ン ク ロ ナ イ ザーの Verilog 例です。
レ ジ ス タ は、 個別の ク ロ ッ ク ド メ イ ン か ら の値を同期 さ せます。 ASYNC_REG プ ロ パテ ィ の値が TRUE なのでシ ン
ク ロ ナ イ ザー段に適用 さ れます。
(* ASYNC_REG = "TRUE" *) reg sync_0, sync_1;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
120
第 3 章 : 主な プ ロパテ ィ の説明
always @(posedge clk) begin
sync_1 <= sync_0;
sync_0 <= en;
...
ASYNC_REG プ ロ パテ ィ を使用す る と 、 レ ジ ス タ がグループ化 さ れ る ので、 で き る だけ近 く に配置す る こ と がで き ま
す。
X-Ref Target - Figure 3-2
図 3‐2 : レ ジ ス タ のグループ化
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ソ ース RTL で宣言 さ れた信号
•
イ ン ス タ ン シエー ト さ れた レ ジ ス タ セル (get_cells)
°
レ ジ ス タ (FD、 FDCE、 FDPE、 FDRE、 FDSE)
値
•
TRUE : レ ジ ス タ は同期チ ェーンの一部で、 イ ンプ リ メ ン テーシ ョ ン中 も 保持 さ れ、 チ ェーンのその他の レ ジ ス
タ の近 く に配置 さ れて、 MTBF レ ポー ト に使用 さ れます。
•
FALSE : レ ジ ス タ は最適化で削除 さ れ る か、 SRL、 DSP、 ま たは RAMB な ど のブ ロ ッ ク に吸収 さ れます。 特殊な
シ ミ ュ レーシ ョ ン、 配置、 配線規則は適用 さ れません(デフ ォ ル ト )。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
121
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog 構文
Verilog 属性はレ ジ ス タ の イ ン ス タ ン シエーシ ョ ン ま たは reg 宣言の直前に配置 し ます。
(* ASYNC_REG = "{TRUE|FALSE}" *)
Verilog の構文例
// Designates sync_regs as receiving asynchronous data
(* ASYNC_REG = "TRUE" *) reg [2:0] sync_regs;
VHDL 構文
推論 さ れた ロ ジ ッ ク に対 し て次の よ う に VHDL 属性を宣言お よ び指定 し ます。
attribute ASYNC_REG : string;
attribute ASYNC_REG of name: signal is "TRUE";
ま たは、 イ ン ス タ ン シエー ト さ れた ロ ジ ッ ク に対 し て次の よ う に VHDL 属性を指定 し ます。
attribute ASYNC_REG of name: label is "TRUE";
name は、 次のいずれかにな り ます。
•
シ ン ク ロ ナ イ ザー レ ジ ス タ に推論 さ れ る 宣言済みの信号
•
イ ン ス タ ン シエー ト さ れた レ ジ ス タ の イ ン ス タ ン ス名
VHDL の構文例
attribute ASYNC_REG : string;
signal sync_regs : std_logic_vector(2 downto 1);
-- Designates sync_regs as receiving asynchronous data
attribute ASYNC_REG of sync_regs: signal is "TRUE";
XDC 構文
set_property ASYNC_REG value [get_cells <instance_name>]
説明 :
•
<instance_name> はレ ジ ス タ セルです。
XDC の構文例
# Designates sync_regs as receiving asynchronous data
set_property ASYNC_REG TRUE [get_cells sync_regs*]
影響のある処理
•
launch_xsim
•
synth_design
•
place_design
•
route_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
122
第 3 章 : 主な プ ロパテ ィ の説明
•
phys_opt_design
•
power_opt_design
•
report_drc
•
write_verilog
•
write_vhdl
関連項目
175 ページの 「IOB」
BEL
BEL は、 SLICE/CLB 内の、 ま たは複数のセルを含んでい る 可能性のあ る ほかのサ イ ト 内の特定の配置を指定 し ます。
通常 LOC プ ロ パテ ィ と 一緒に使用 し て、 レ ジ ス タ ま たは LUT の正確な配置を指定 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
レ ジ ス タ (FD、 FDCE、 FDPE、 FDRE、 FDSE)
°
LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 LUT6、 LUT6_2)
°
SRL (SRL16E、 SRLC32E)
°
LUTRAM (RAM32X1S、 RAM64X1S)
°
コ ン フ ィ ギ ュ レーシ ョ ン コ ン ポーネ ン ト (BSCAN、 ICAP な ど)
値
•
BEL = <name>
BEL の ロ ジ ッ ク コ ン テ ン ツ次第で、 BEL の名前は変わ り ます。 ま た、 BEL 名には BEL のサ イ ト 名を含め る こ と
も で き ます。 た と えば、 BSCAN_X0Y0/BSCAN お よ び SLICE_X1Y199/A5FF な ど が有効な BEL 名です。
構文
Verilog 構文 Verilog 属性を イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。推論 さ れた レ ジ ス タ の SRL ま たは LUTRAM の reg 宣言
前に配置す る こ と も で き ます。
(* BEL = "site_name" *)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
123
第 3 章 : 主な プ ロパテ ィ の説明
Verilog の構文例
// Designates placed_reg to be placed in FF site A5FF
(* BEL = "A5FF" *) reg placed_reg;
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute BEL : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute BEL of instance_name : label is "site_name";
説明 :
•
instance_name は LUT、 SRL、 LUTRAM な ど の イ ン ス タ ン シエー ト 済みレ ジ ス タ の イ ン ス タ ン ス名です。
VHDL の構文例
-- Designates instantiated register instance placed_reg to be placed in FF site A5FF
attribute BEL of placed_reg : label is "A5FF";
推論済み イ ン ス タ ン ス の場合、 VHDL 属性は次の よ う に指定 し ます。
attribute BEL of signal_name : signal is "site_name";
説明 :
•
signal_name は LUT、 SRL、 LUTRAM な ど の推論済みレ ジ ス タ の信号名です。
VHDL の構文例
-- Designates instantiated register instance placed_reg to be placed in FF site A5FF
attribute BEL of placed_reg : signal is "A5FF";
XDC 構文
set_property BEL site_name [get_cells instance_name]
説明 :
•
instance_name はレ ジ ス タ、 LUT、 SRL、 LUTRAM ま たはその他のセル イ ン ス タ ン ス です。
XDC の構文例
# Designates placed_reg to be placed in FF site A5FF
set_property BEL A5FF [get_cells placed_reg]
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
place_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
124
第 3 章 : 主な プ ロパテ ィ の説明
関連項目
193 ページの 「LOC」
BLACK_BOX
BLACK_BOX 属性は、 すべての階層レベルをオ フ に し 、 合成でそのモジ ュ ールま たはエン テ ィ テ ィ に対 し てブ ラ ッ ク
ボ ッ ク ス を作成で き る よ う にす る デバ ッ グ用の属性です。 こ の属性を指定する と 、 モジ ュ ールま たはエン テ ィ テ ィ に
対 し て有効な ロ ジ ッ ク があ っ た と し て も 、 合成ツールでその レベルに対 し てブ ラ ッ ク ボ ッ ク ス が作成 さ れます。 こ の
属性はモジ ュ ール、 エン テ ィ テ ィ 、 コ ン ポーネ ン ト に設定で き ます。
こ の属性は合成 コ ンパ イ ラ に影響す る ので、 RTL でのみ設定可能です。
ブ ラ ッ ク ボ ッ ク ス の コ ー ド 記述に関 し ては、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 18] の こ のセ
ク シ ョ ン を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
•
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ソ ース RTL のモジ ュ ール、 エン テ ィ テ ィ 、 ま たは コ ン ポーネ ン ト
値
•
TRUE (ま たは YES) : 合成中に コ ン ポーネ ン ト ま たはモジ ュ ールをブ ラ ッ ク ボ ッ ク ス と し てマー ク し ます。
•
FALSE (ま たは NO) : コ ン ポーネ ン ト ま たはモジ ュ ールを ブ ラ ッ ク ボ ッ ク ス と し てマー ク し ません。 こ れがデ
フ ォ ル ト です。
構文
Verilog 構文
Verilog の場合、 モジ ュ ールの BLACK_BOX 属性には値が必要な く 、 その存在自体でブ ラ ッ ク ボ ッ ク ス が定義 さ れま
す。
(* black_box *) module test(in1, in2, clk, out1);
VHDL 構文
attribute black_box
attribute black_box
: string;
of beh : architecture is "yes";
XDC 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
125
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
合成
BUFFER_TYPE
重要 : こ のプ ロ パテ ィ はサポー ト さ れな く な り ま し た。 「CLOCK_BUFFER_TYPE」 お よ び 「IO_BUFFER_TYPE」 プ ロ
パテ ィ に置 き 換え ら れてい ます。
CASCADE_HEIGHT
CASCADE_HEIGHT 属性は、 ブ ロ ッ ク RAM に配置 さ れ る 大型 RAM のカ ス ケー ド チ ェーンの長 さ を指定 し ます。 複
数のブ ロ ッ ク RAM で構成 さ れ る RAM を記述する と 、 Vivado 合成で ど の よ う に コ ン フ ィ ギ ュ レーシ ョ ン さ れ る かが
決定 さ れます。
通常は、 ブ ロ ッ ク RAM がカ ス ケー ド 接続 さ れます。 こ の属性は、 チ ェーンの長 さ を短 く し た り 、 長 さ に制限を加え
た り す る のに使用で き ます。 値を 0 ま たは 1 に設定する と 、 ブ ロ ッ ク RAM のカ ス ケー ド 接続がオ フ にな り ます。
こ の属性は、 合成で処理 さ れ る ので、 RTL ソ ース フ ァ イ ルで RAM に設定 さ れます。
アーキテ ク チ ャ サポー ト
•
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
RAM セル (get_cells)
値
•
<VALUE>: CASCADE_HEIGHT には整数を指定 し ます。
構文
Verilog 構文
(* cascade_height = 4 *) reg [31:0] ram [(2**15) - 1:0];
VHDL 構文
attribute cascade_height : integer;
attribute cascade_height of ram : signal is 4;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
126
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
該当な し
影響のある処理
•
合成
CFGBVS
ザ イ リ ン ク ス デバ イ ス では 3.3V、 2.5V、 1.8V、 ま たは 1.5V の I/O を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ
イ ス がサポー ト さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス には、 バン ク 0 の JTAG ピ ン、 バン ク 0 の専用
コ ン フ ィ ギ ュ レーシ ョ ン ピ ンが含ま れ る ほか、 特定 コ ン フ ィ ギ ュ レーシ ョ ン モー ド に関連 し た ピ ンが 7 シ リ ーズの
場合はバン ク 14 と 15 に、 UltraScale アーキ テ ク チ ャ の場合はバン ク 65 に含まれます。
バン ク 0 で適切な コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス電圧をサポー ト する には、 I/O バン ク を 3.3V/2.5 ま たは
1.8V/1.5V 操作用に コ ン フ ィ ギ ュ レーシ ョ ンす る ため、 CFGBVS (Configuration Bank Voltage Select) ピ ン を VCC_0 ま た
は GND に それぞれ設定す る 必要が あ り ま す。 CFGBVS は、 VCCO_0 と GND を 参照す る ロ ジ ッ ク 入力 ピ ン です。
CFGBVS ピ ンが VCCO_0 電源に接続 さ れてい る 場合、 コ ン フ ィ ギ ュ レーシ ョ ン中、 バン ク 0 の I/O は 3.3V ま たは 2.5
V での操作をサポー ト し ます。 CFGBVS ピ ン が GND に接続 さ れてい る 場合、 コ ン フ ィ ギ ュ レーシ ョ ン中、 バン ク 0
の I/O は 1.8V ま たは 1.5V での操作をサポー ト し ます。
CFGBVS ピ ン の設定に よ り 常にバン ク 0 の I/O 電圧サポー ト が決ま り ま す。 7 シ リ ーズ デバ イ ス の場合はバン ク 14
お よ びバン ク 15 が、 UltraScale アーキテ ク チ ャ の場合はバン ク 65 が HR バン ク タ イ プなので、 CFGBVS ピ ン と それ
に該当す る 「CONFIG_VOLTAGE」 プ ロ パテ ィ に よ り 、 コ ン フ ィ ギ ュ レーシ ョ ン中にサポー ト さ れ る I/O 電圧が決ま
り ます。
重要 : 1.8V/1.5V I/O 操作の場合に CFGBVS が GND に設定 さ れてい る 場合、 ザ イ リ ン ク ス FPGA への損傷を避け る た
め、 バン ク 0 への VCCO_0 電源お よ び I/O 信号は 1.8V 以下にする 必要があ り ます。
CFGBVS に 関 し て は、 『7 シ リ ー ズ FPGA コ ン フ ィ ギ ュ レ ー シ ョ ン ユ ー ザ ー ガ イ ド 』 (UG470) [ 参照 1] ま た は
『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 7] を参照 し て く だ さ い。
デ ザ イ ン の CONFIG_MODE 設 定 の 互換性 を 確認す る た め、 Report
CONFIG_VOLTAGE をチ ェ ッ ク し ます。
DRC
コマン ド が
CFGBVS
および
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
値
•
VCCO : 3.3V/2.5V 操作の場合、 I/O バン ク 0 を コ ン フ ィ ギ ュ レーシ ョ ン
•
GND : 1.8V/1.5V 操作の場合、 I/O バン ク 0 を コ ン フ ィ ギ ュ レーシ ョ ン
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
127
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CFGBVS [VCCO | GND] [current_design]
XDC の構文例
# Configure I/O Bank 0 for 3.3V/2.5V operation
set_property CFGBVS VCCO [current_design]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
DRC レ ポー ト
•
write_bitstream
関連項目
135 ページの 「CONFIG_MODE」
137 ページの 「CONFIG_VOLTAGE」
CLOCK_BUFFER_TYPE
デ フ ォ ル ト で は、 Vivado 合成 で は、 ク ロ ッ ク ポ ー ト に対 し 入力バ ッ フ ァ ー と グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー
(IBUF/BUFG) の組み合わせた も のが推論 さ れ ま すが、 「IO_BUFFER_TYPE」 お よ び CLOCK_BUFFER_TYPE プ ロ パ
テ ィ を 一緒に使用 し て、 Vivado 合成 ツ ールで、 デ フ ォ ル ト バ ッ フ ァ ー タ イ プ を 変更 し た り (IBUF/BUFR ペアや、
BUFIO ク ロ ッ ク バ ッ フ ァ ーで入力バ ッ フ ァ ーな し に変更する な ど)、 こ れ ら のバ ッ フ ァ ーを ま と めて削除 し た り で き
ます。
CLOCK_BUFFER_TYPE プ ロ パテ ィ は、指定ネ ッ ト やポー ト オブジ ェ ク ト に対 し 、 ど の タ イ プの ク ロ ッ ク バ ッ フ ァ ー
を 推論す る か を 指定 し ま す。 「IO_BUFFER_TYPE」 プ ロ パテ ィ は、 ポー ト に対 し 、 入力バ ッ フ ァ ー ま たは出力バ ッ
フ ァ ーの ど ち ら を推論す る か を指定 し ます。
ヒ ン ト : CLOCK_BUFFER_TYPE プ ロ パテ ィ を使用す る 場合は、 タ ーゲ ッ ト ネ ッ ト に KEEP が設定 さ れ る こ と にな り
ます。 こ れは、 ネ ッ ト 名を保持 し 、 RTL 最適化中にネ ッ ト が削除 さ れない よ う にする ための も のです。
CLOCK_BUFFER_TYPE は RTL ま たは XDC で定義で き ます。
注記 : MAX_FANOUT は、 CLOCK_BUFFER_TYPE の設定 さ れてい る ネ ッ ト には設定で き ません。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
128
第 3 章 : 主な プ ロパテ ィ の説明
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports) : CLOCK_BUFFER_TYPE を最上位 ク ロ ッ ク ポー ト に適用 し 、 ど の タ イ プの ク ロ ッ ク バ ッ
フ ァ ーを使用す る か、 ま たは ク ロ ッ ク バ ッ フ ァ ーを使用 し ないか を設定 し ます。
•
ネ ッ ト (get_nets) : CLOCK_BUFFER_TYPE を最上位 ク ロ ッ ク ポー ト に接続 さ れてい る 信号に適用 し 、 ど の タ イ プ
の ク ロ ッ ク バ ッ フ ァ ーを使用す る か、 ま たは ク ロ ッ ク バ ッ フ ァ ーを使用 し ないか を設定 し ます。
値
•
BUFG、 BUFH、 BUFIO、 BUFMR、 BUFR : ク ロ ッ ク ポー ト ま たはネ ッ ト に対 し 、 指定 ク ロ ッ ク バ ッ フ ァ ーを
推論す る よ う に し ます。
•
NONE : ク ロ ッ ク に対 し 、 ク ロ ッ ク バ ッ フ ァ ーを推論 し ない よ う に し ます。
注記 : 「IO_BUFFER_TYPE」
を NONE に指定す る と 、 Vivado 合成はバ ッ フ ァ ーを推論 し ません。
構文
Verilog 構文
(* clock_buffer_type = "none" *) input clk1;
VHDL 構文
entity test is port(
in1 : std_logic_vector (8 downto 0);
clk : std_logic;
out1 : std_logic_vector(8 downto 0));
attribute clock_buffer_type : string;
attribute clock_buffer_type of clk: signal is "BUFR";
end test;
XDC 構文
set_property CLOCK_BUFFER_TYPE BUFMR [get_ports <port_name>]
影響のある処理
•
合成
関連項目 173 ページの 「IO_BUFFER_TYPE」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
129
第 3 章 : 主な プ ロパテ ィ の説明
CLOCK_DEDICATED_ROUTE
デフ ォ ル ト では、 CLOCK_DEDICATED_ROUTE プ ロ パテ ィ は イ ネーブル (TRUE) にな っ ていて、 ク ロ ッ ク リ ソ ース
配置 DRC はエ ラ ー コ ンデ ィ シ ョ ン と みな さ れ る よ う にな っ てい ま す。 こ のエ ラ ー コ ンデ ィ シ ョ ン は、 配線ま たは
ビ ッ ト ス ト リ ーム生成の前に修正す る 必要が あ り ま す。 CLOCK_DEDICATED_ROUTE=FALSE の設定にな っ てい る
と 、 配置 DRC が警告レベルに下げ ら れ る ので、 Vivado の配線プ ロ グ ラ ムでデバ イ ス配線を使用 し て、 ク ロ ッ ク 兼用
I/O (CCIO) を、 MMCM な ど のグ ロ ーバル ク ロ ッ ク リ ソ ース に接続で き ます。
注意 : CLOCK_DEDICATED_ROUTE を FALSE に設定す る と 、 ク ロ ッ ク 遅延が最適な も のにな ら ない可能性があ り 、
タ イ ミ ン グ違反な ど の問題が発生す る 場合があ り ます。
外部ユーザー ク ロ ッ ク は、 ク ロ ッ ク 兼用入力 (CCIO) と 呼ばれ る 差動 ク ロ ッ ク ピ ン ペア を介 し て FPGA に供給す る
必要があ り ます。 こ れ ら の CCIO は、 さ ま ざ ま な ク ロ ッ ク 供給機能の タ イ ミ ン グ を確約する ため、 内部のグ ロ ーバル
お よ び リ ージ ョ ナル ク ロ ッ ク リ ソ ースへの専用、高速配線を提供 し ます。 ク ロ ッ ク 配置ルールに関 し ては、『7 シ リ ー
ズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 3] ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ
リ ソ ース ユーザー ガ イ ド 』 (UG572) [参照 9] を参照 し て く だ さ い。
通常、 タ ーゲ ッ ト の FPGA の専用 ク ロ ッ ク ツ リ ーか ら ク ロ ッ ク 配線を外 し た り 、 標準配線チ ャ ネルを使用する と
いっ た目的で、 ク ロ ッ ク コ ン ポーネ ン ト を配置する 必要が出て き た と き に、 CLOCK_DEDICATED_ROUTE プ ロ パ
テ ィ は使用 さ れます。 こ のデバ イ ス配線は、 ク ロ ッ ク が内部専用であれば問題はないか も し れませんが、 ク ロ ッ ク
は、 妥当な ス ピー ド の I/O イ ン タ ーフ ェ イ ス には使用で き ません。 専用配線が使用で き ない場合は、
CLOCK_DEDICATED_ROUTE を FALSE に設定す る と 、 ク ロ ッ ク ソ ース が ロ ー ド ク ロ ッ ク バ ッ フ ァ ーに比べて最適
ではない位置に配置 さ れてい る と き 、 ク ロ ッ ク 配置 DRC がエ ラ ーか ら 警告にな り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー (BUFG、 BUFGCE、 BUFGMUX、 BUGCTRL) の入力に接続 さ れてい る ネ ッ ト
(get_nets)
重要 : CLOCK_DEDICATED_ROUTE は、 デザ イ ン階層の最上位にあ る ネ ッ ト セ グ メ ン ト 、 ま たは最上位ネ ッ ト に設
定す る 必要があ り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
130
第 3 章 : 主な プ ロパテ ィ の説明
値
•
TRUE : ク ロ ッ ク 配置 DRC 違反がエ ラ ーにな り ます (デフ ォ ル ト )。
•
FALSE : ク ロ ッ ク 配置 DRC 違反が警告に格下げ さ れます。 専用高速 ク ロ ッ ク 配線が使用 さ れない よ う にす る た
め、 ク ロ ッ ク コ ン ポーネ ン ト (BUFG、 MMCM、 PLL な ど) が配置 さ れ る たびに こ れを使用する 必要があ り ます。
•
BACKBONE : 基本的な ク ロ ッ ク 配置ルールに違反す る ロ ケーシ ョ ン制約を割 り 当て る 場合は こ の値を使用す る
必要があ る こ と があ り ますが、 通常は推奨 さ れません。 MMCM ま たは PLL が ソ ース の CCIO ピ ンか ら かな り 離
れた位置に配置 さ れ る 場合は こ の値を使用 し ます。 ワ イ ヤの長 さ が長 く な る 分、 CCIO か ら MMCM ま での タ イ
ミ ン グ パ ス に遅延が追加 さ れ ますが、 こ れは MMCM や PLL フ ィ ー ド バ ッ ク に よ っ ては完全には削除 さ れ ませ
ん。 遅延が追加 さ れて も デザ イ ンの タ イ ミ ン グが満た さ れ る 場合は BACKBONE を使用 し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CLOCK_DEDICATED_ROUTE [TRUE | FALSE | BACKBONE] [get_nets net_name]
説明 :
•
net_name は、 グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーの入力に接続 さ れた信号名です。
XDC の構文例
# Designates clk_net to have relaxed clock placement rules
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_net]
影響のある処理
•
place_design
•
report_drc
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
131
第 3 章 : 主な プ ロパテ ィ の説明
CLOCK_DELAY_GROUP
CLOCK_DELAY_GROUP プ ロ パテ ィ は、 同 じ MMCM ま たは PLL ソ ース を持つ関連 ク ロ ッ ク を設定 し ます。 こ れ ら
の ク ロ ッ ク は、 配置お よ び配線中にグループに ま と めて、 ク ロ ッ ク 間の タ イ ミ ン グ パ ス の ク ロ ッ ク ス キ ュ ーを低減
す る 必要があ り ます。
ヒ ン ト : ク ロ ッ ク 比較 (CLOCK_DELAY_GROUP を使用) は、 同 じ PLL/MMCM か ら の ク ロ ッ ク に対 し て使用 さ れ ま
す。
アーキテ ク チ ャ サポー ト
UltraScale アーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ク ロ ッ ク ネ ッ ト (get_nets)
値
•
NAME : 指定 ク ロ ッ ク ネ ッ ト の遅延に一致す る よ う 、 配線プ ロ グ ラ ムで使用 さ れ る 名前 (文字列)
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CLOCK_DELAY_GROUP <name> [get_nets <clk_nets>]
説明 :
•
<name> は、 指定 ク ロ ッ ク ネ ッ ト に関連付け ら れ る 名前です。
•
<clk_nets> は、 共通の MMCM ま たは PLL ソ ース を共有する ク ロ ッ ク ネ ッ ト の リ ス ト です。
XDC の構文例
# Define a clock group to reduce skew between the nets.
set_property CLOCK_DELAY_GROUP grp12 [get_nets {clk1_net clk2_net}
影響のある処理
•
place_design
•
report_drc
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
132
第 3 章 : 主な プ ロパテ ィ の説明
CLOCK_REGION
こ のプ ロ パテ ィ を使用す る と 、 ク ロ ッ ク バ ッ フ ァ ーを UltraScale デバ イ ス の特定の CLOCK_REGION に割 り 当て る こ
と がで き ます。 Vivado 配置ツールでは、 ク ロ ッ ク バ ッ フ ァ ーがその領域内の最適なサ イ ト に割 り 当て ら れます。
UltraScale デバ イ ス の場合、 7 シ リ ーズ デザ イ ン の ク ロ ッ ク プ ラ ン ニ ン グ の場合 と 異な り 、 な る べ く ク ロ ッ ク バ ッ
フ ァ ーを特定サ イ ト に固定 し ない よ う に し て く だ さ い。 その代わ り 、 ク ロ ッ ク バ ッ フ ァ ーを特定の CLOCK_REGION
に割 り 当てて、 Vivado 配置ツールで ク ロ ッ ク リ ソ ース を使用で き る よ う に し て、 最適な ソ リ ュ ーシ ョ ンに し ます。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー セル (get_cells)
°
BUFG セル (BUFGCE、 BUFGCTRL、 BUFG_GT、 BUFGCE_DIV)
値
•
<VALUE>: セルを配置す る CLOCK_REGION を指定 し ます。 CLOCK_REGION は、 X#Y# の よ う な名前で指定す
る か、 ま たは get_clock_regions Tcl コ マ ン ド で渡 さ れ る 値を使用 し ます。
注記 : get_clock_regions コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参
照 13] を参照 し て く だ さ い。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CLOCK_REGION [VALUE] [get_cells <cell>]
説明 :
•
<cell> は、 グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーの イ ン ス タ ン ス です。
XDC の構文例
CLOCK_RERGION のユーザー割 り 当ては、 次の よ う に XDC で実行で き ます。
set_property CLOCK_REGION X4Y6 [get_cells {sys_clk_pll/inst/clkf_buf}]
影響のある処理
•
place_design
•
report_drc
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
133
第 3 章 : 主な プ ロパテ ィ の説明
関連項目
128 ページの 「CLOCK_BUFFER_TYPE」
134 ページの 「CLOCK_ROOT」
CLOCK_ROOT
CLOCK_ROOT は読み出 し 専用のプ ロ パテ ィ で、 物理デザ イ ンのグ ロ ーバル ク ロ ッ ク ネ ッ ト の ク ロ ッ ク ルー ト ま た
は ド ラ イ バーの現在の リ ソ ース割 り 当て を反映 し てい ます。
重要 : CLOCK_ROOT プ ロ パテ ィ は、 ユーザー定義可能で し たが、 読み出 し 専用に変更にな り ま し た。 ユーザー定義
で き る プ ロ パテ ィ は、 USER_CLOCK_ROOT に変更にな っ てい ます。
CLOCK_ROOT は読み出 し 専用のプ ロ パテ ィ で、Vivado 配置プ ロ グ ラ ムに よ っ て割 り 当て ら れ る ク ロ ッ ク ルー ト を反
映 し てい ます。 デフ ォ ル ト では、 配置配線ツールで自動的に ク ロ ッ ク ルー ト が割 り 当て ら れ、 そのデザ イ ンに最適な
タ イ ミ ン グ特性が達成 さ れます。
CLOCK_ROOT の値は、 ユーザー定義の 「USER_CLOCK_ROOT」 プ ロ パテ ィ が定義 さ れてい る 場合は、 それに一致
し てい る 必要があ り ます。 USER_CLOCK_ROOT を使用する 場合は、 ク ロ ッ ク ルー ト を手動で割 り 当て る こ と がで き
ます。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ネ ッ ト - グ ロ ーバル ク ロ ッ ク ネ ッ ト (get_nets)
値
•
<clock_region | pblock_name> : タ ーゲ ッ ト パーツ の ク ロ ッ ク 領域名、 ま たは現在のデザ イ ン で定義 さ れてい る
Pblock 名を指定 し ます。
•
<object> : 1 つま たは複数の ク ロ ッ ク ネ ッ ト 、 ま たはネ ッ ト セグ メ ン ト を指定 し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CLOCK_ROOT <clock_region | pblock> <List of clock nets>
XDC の構文例
set_property CLOCK_ROOT X0Y0 [get_nets {clk1 clk2}]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
134
第 3 章 : 主な プ ロパテ ィ の説明
set_property CLOCK_ROOT [get_clock_regions X1Y3] [get_nets {clk1 clk2}]
影響のある処理
•
配置
•
配線
関連項目
128 ページの 「CLOCK_BUFFER_TYPE」
133 ページの 「CLOCK_REGION」
248 ページの 「USER_CLOCK_ROOT」
CONFIG_MODE
CONFIG_MODE プ ロ パテ ィ は、 ピ ン割 り 当て、 DRC レ ポー ト 、 ビ ッ ト ス ト リ ーム生成に対 し 、 ど のデバ イ ス コ ン
フ ィ ギ ュ レーシ ョ ン モー ド を使用す る か を定義 し ます。
重 要 : COMPATIBLE_CONFIG_MODES プ ロ パ テ ィ は 2013. 3 リ リ ー ス で サ ポ ー ト さ れ な く な り ま し た。 こ の
CONFIG_MODE プ ロ パテ ィ に置 き 換え ら れてい ます。
ザ イ リ ン ク ス FPGA は、 特別な コ ン フ ィ ギ ュ レーシ ョ ン ピ ン を使用 し て、 アプ リ ケーシ ョ ン別の コ ン フ ィ ギ ュ レー
シ ョ ン デー タ ま たはビ ッ ト ス ト リ ーム を内部 メ モ リ に読み込む こ と に よ っ て、 コ ン フ ィ ギ ュ レーシ ョ ン さ れます。 コ
ン フ ィ ギ ュ レーシ ョ ン デー タ パ ス には一般的に 2 種類あ り ます。 必要なデバ イ ス ピ ンの数を最小限に抑え る ために
使用 さ れ る シ リ ア ル デー タ パ ス、 よ り 高速 な コ ン フ ィ ギ ュ レ ー シ ョ ン 用 の パ ラ レ ル デー タ パ ス の 2 つ で す。
CONFIG_MODE プ ロ パテ ィ を使用 し て、 デザ イ ンに対 し ど のモー ド を使用す る か を定義 し ます。
デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド に関 し ては、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』
(UG470) [参照 1] ま たは 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 7] を参
照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
値
ヒ ン ト : 次の値がすべて、 すべてのアーキ テ ク チ ャ に適用 さ れ る わけではあ り ません。 7 シ リ ーズ FPGA の コ ン フ ィ
ギ ュ レーシ ョ ン ユーザー ガ イ ド [参照 1] ま たは UltraScale アーキ テ ク チ ャ の コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ
ド [参照 7] を参照 し て く だ さ い。
•
S_SERIAL
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
135
第 3 章 : 主な プ ロパテ ィ の説明
•
M_SERIAL
•
S_SELECTMAP
•
M_SELECTMAP
•
B_SCAN
•
S_SELECTMAP+READBACK
•
M_SELECTMAP+READBACK
•
B_SCAN+READBACK
•
S_SELECTMAP32
•
S_SELECTMAP32+READBACK
•
S_SELECTMAP16
•
S_SELECTMAP16+READBACK
•
SPIx1
•
SPIx2
•
SPIx4
•
BPI8
•
BPI16
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CONFIG_MODE <value> [current_design]
<value> には コ ン フ ィ ギ ュ レーシ ョ ン モー ド を指定 し ます。
XDC の構文例
# Specify using Configuration Mode Serial Peripheral Interface, 4-bit width
set_property CONFIG_MODE {SPIx4} [current_design]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
place_design
•
report_drc
•
write_bitstream
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
136
第 3 章 : 主な プ ロパテ ィ の説明
CONFIG_VOLTAGE
ザ イ リ ン ク ス デバ イ ス では 3.3V、 2.5V、 1.8V、 ま たは 1.5V の I/O を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ
イ ス がサポー ト さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス には、 バン ク 0 の JTAG ピ ン、 バン ク 0 の専用
コ ン フ ィ ギ ュ レーシ ョ ン ピ ンが含ま れ る ほか、 特定 コ ン フ ィ ギ ュ レーシ ョ ン モー ド に関連 し た ピ ンが 7 シ リ ーズの
場合はバ ン ク 14 と 15 に、 UltraScale アーキ テ ク チ ャ の場合はバ ン ク 65 に含 ま れ ま す。 CONFIG_VOLTAGE プ ロ パ
テ ィ や VCCO_0 電圧は 3.3、 2.5、 1.8、 ま たは 1.5 に設定で き ます。
バン ク 0 の ピ ンの I/O 電圧サポー ト を決め る には、 CONFIG_VOLTAGE を正 し い コ ン フ ィ ギ ュ レーシ ョ ン電圧に設定
す る 必要があ り ます。コ ン フ ィ ギ ュ レーシ ョ ン電圧に関 し ては、『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー
ガ イ ド 』 (UG470) [参照 1] ま たは 『UltraScale アーキテ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参
照 7] を参照 し て く だ さ い。
CFGBVS ピ ン の設定に よ り 常にバン ク 0 の I/O 電圧サポー ト が決ま り ま す。 7 シ リ ーズ デバ イ ス の場合はバン ク 14
お よ びバン ク 15 が、 UltraScale アーキテ ク チ ャ の場合はバン ク 65 が HR バン ク タ イ プなので、 CFGBVS ピ ン と それ
に該当す る CONFIG_VOLTAGE プ ロ パテ ィ に よ り 、 コ ン フ ィ ギ ュ レーシ ョ ン中にサポー ト さ れ る I/O 電圧が決ま り ま
す。
デザ イ ンで CONFIG_MODE 設定の互換性を確認する ため、 Report DRC チ ェ ッ ク がバン ク 0、 14、 15 (7 シ リ ーズ)、 65
(UltraScale ア ー キ テ ク チ ャ ) で実行 さ れ ま す。 DRC の メ ッ セー ジ は、 そ のバ ン ク に対す る IOSTANDARD お よ び
CONFIG_VOLTAGE 設定に基づいて表示 さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン電圧は、 IBIS モデルを エ ク ス ポー ト す る
際に も 使用 さ れます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
値
•
1.5、 1.8、 2.5、 ま たは 3.3
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property CONFIG_VOLTAGE {1.5 | 1.8 | 2.5 | 3.3} [current_design]
XDC の構文例
# Configure I/O Bank 0 for 1.8V operation
set_property CONFIG_VOLTAGE 1.8 [current_design]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
137
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
place_design
•
report_drc
•
write_bitstream
関連項目
127 ページの 「CFGBVS」
135 ページの 「CONFIG_MODE」
CONTAIN_ROUTING
CONTAIN_ROUTING プ ロ パテ ィ は、 Pblock 内に含 ま れ る 信号の配線を その Pblock で定義 さ れ る エ リ ア内の配線 リ
ソ ース に制限す る ために使用 し ます。 こ れに よ り 、 Pblock 内の信号が Pblock 外に配線 さ れ る こ と はな く な る ので、 デ
ザ イ ンの再利用性が高 く な り ます。
デフ ォ ル ト では、 Pblock の定義に よ り Pblock に割 り 当て ら れ る ロ ジ ッ ク の配置が Pblock で定義 さ れたエ リ ア内に制
限 さ れます。 こ のプ ロ パテ ィ には、 配線 と 同 じ 効果があ り ます。 CONTAIN_ROUTING は Pblock 専用のプ ロ パテ ィ で、
XDC フ ァ イ ルで create_pblock コ マ ン ド の後に指定す る 必要があ り ます。
ヒ ン ト : CONTAIN_ROUTING は、 階層デザ イ ン フ ロ ーの OOC モジ ュ ールに関連す る すべての Pblock に使用する こ
と をお勧め し ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) [参照 21] を参照 し て く だ
さ い。
Pblock で し か使用 さ れない信号のみが Pblock に含まれます。 た と えば、 Pblock 内に BUFGMUX リ ソ ース がない場合
は、 BUFGMUX か ら のパ ス ま たは BUFGMUX へのパ ス は含め る こ と がで き ません。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
PBlock (get_pblocks)
値
•
TRUE : Pblock 内の信号の配線が Pblock 範囲で定義 さ れたエ リ アに含まれます。
•
FALSE : Pblock 内に信号の配線は含まれません。 こ れがデフ ォ ル ト です。
構文
Verilog および VHDL 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
138
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
set_property CONTAIN_ROUTING <TRUE | FALSE> [get_pblocks <pblock_name>]
説明 :
•
<pblock_name> には、 プ ロ パテ ィ を設定する Pblock 名を指定 し ます。
XDC の例
set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine0]
set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine1]
影響のある処理
•
配線
関連項目 154 ページの 「EXCLUDE_PLACEMENT」
210 ページの 「PBLOCK」
DCI_CASCADE
DCI_CASCADE は、 ハ イ パフ ォーマ ン ス (HP) I/O バン ク のグループ内でのマ ス タ ー /ス レーブ関係を定義 し ます。 デ
ジ タ ル制御 イ ン ピーダ ン ス (DCI) の基準電圧は、 マ ス タ ーの I/O バン ク か ら ス レーブの I/O バン ク ま でチ ェーン接続
さ れてい ます。
DCI_CASCADE は、 ど の隣接バン ク が DCI カ ス ケー ド 機能を使用す る か を指定す る ので、 基準抵抗器を マ ス タ ー バ
ン ク と 共有す る こ と にな り ます。 同 じ I/O バン ク 列にあ る 複数の I/O バン ク が DCI を使用 し ていて、 同 じ VRN/VRP
抵抗値を使用す る 場合、 1 ペアの ピ ンだけ を高精度抵抗器に接続すれば よ い よ う にす る ため、 内部 VRN お よ び VRP
ノ ー ド がカ ス ケー ド さ れ ます。 DCI_CASCADE はマ ス タ ー バン ク 、 お よ び こ の機能に関連付け ら れてい る すべての
ス レーブ バン ク を識別 し ます。 詳細は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] ま
たは 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
•
Kintex®-7 デバ イ ス
•
Kintex UltraScale デバ イ ス
•
Virtex®-7 デバ イ ス
•
Virtex UltraScale デバ イ ス
•
大型 タ イ プの Zynq®-7000 All Programmable SoC デバ イ ス
適用可能なオブ ジ ェ ク ト
•
I/O バン ク (get_iobanks)
°
High Performance (HP) バン ク タ イ プ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
139
第 3 章 : 主な プ ロパテ ィ の説明
値
有効な HP バン ク 番号。 詳細は、 『7 シ リ ーズ FPGA パ ッ ケージ お よ びピ ン配置ユーザー ガ イ ド 』 (UG475) [参照 5] ま
たは 『UltraScale お よ び UltraScale+ FPGA のパ ッ ケージお よ びピ ン配置製品仕様ユーザー ガ イ ド 』 (UG575) [参照 11]
を参照 し て く だ さ い。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property DCI_CASCADE {slave_banks} [get_iobanks master_bank]
説明 :
•
slave_banks は ス レーブ バン ク のバン ク 番号の リ ス ト です。
•
master_bank は指定 さ れたマ ス タ ー バン ク のバン ク 番号です。
XDC の構文例
# Designate Bank 14 as a master DCI Cascade bank and Banks 15 and 16 as its slaves
set_property DCI_CASCADE {15 16} [get_iobanks 14]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
place_design
•
DRC
•
write_bitstream
•
report_power
DELAY_BYPASS
DELAY_BYPASS プ ロ パテ ィ を使用す る と 、 ザ イ リ ン ク ス 7 シ リ ーズ FPGA で BUFIO を介 し て遅延を削減で き ます。
BUFIO には、 BUFR の遅延 と 一致 さ せ る ための内在遅延があ り 、 ド メ イ ン間で ス ムース なデー タ 転送がで き る よ う に
な っ てい ます。 7 シ リ ーズ デバ イ ス の場合は、 こ のプ ロ パテ ィ に よ り その遅延はデ ィ ス エーブルにな り ます。
アーキテ ク チ ャ サポー ト
7 シ リ ーズ FPGA
適用可能なオブ ジ ェ ク ト
•
BUFIO (get_cells)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
140
第 3 章 : 主な プ ロパテ ィ の説明
値
•
TRUE : 遅延バ イ パ ス を イ ネーブルに し ます。
•
FALSE : 遅延バ イ パス をデ ィ ス エーブルに し ます(デフ ォ ル ト )。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property DELAY_BYPASS TRUE [get_ cells <cells>]
説明 :
•
<cells> は内在遅延をバ イ パ スす る BUFIO セルの リ ス ト です。
XDC の構文例
set_ property -name DELAY_ BYPASS TRUE [get_ cells clk_ bufio]
使用可能な段階
•
タ イ ミ ン グ解析
DIFF_TERM
差動終端 (DIFF_TERM) プ ロ パテ ィ は入力お よ び双方向ポー ト の差動 I/O 規格を サポー ト し ます。 ビル ト イ ン さ れた
100  の差動終端を イ ネーブル/デ ィ ス エーブルす る のに使用 し ま す。 詳細は、 『7 シ リ ーズ FPGA SelectIO リ ソ ー ス
ユーザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。
DIFF_TERM は、 差動の入力お よ び双方向ポー ト バ ッ フ ァ ーに差動終端を使用す る 必要があ り 、 ま た Vivado ツール
がポー ト にオンチ ッ プ終端を追加す る 必要のあ る こ と を示 し ます。
アーキテ ク チ ャ サポー ト
7 シ リ ーズ FPGA
推奨 : UltraScale アーキ テ ク チ ャ デバ イ ス の場合は、 差動終端を イ ネーブルにす る ため、 「DIFF_TERM_ADV」 を使用
す る 必要があ り ます。
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
•
差動入力バ ッ フ ァ ーに接続 さ れた入力ポー ト ま たは双方向ポー ト
次の I/O 規格のいずれか を使用 し てい る エ レ メ ン ト :
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
141
第 3 章 : 主な プ ロパテ ィ の説明
°
LVDS、 LVDS_25、 MINI_LVDS_25
°
PPDS_25
°
RSDS_25
値
•
TRUE : 差動終端は イ ネーブルにな り ます。
•
FALSE : 差動終端はデ ィ ス エーブルにな り ます(デフ ォ ル ト )。
構文
推奨 : 言語テ ンプ レー ト ま たは 『Vivado Design Suite 7 シ リ ーズ ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] か ら の イ ン ス
タ ン シエーシ ョ ン テ ンプ レー ト を使用 し て、 適切な構文を指定 し て く だ さ い。
Verilog 構文
DIFF_TERM パ ラ メ ー タ ーを ポー ト 宣言の直前に配置 し ます。
(* DIFF_TERM = "TRUE" *) input PORT
Verilog の構文例
// Enables differential termination on the specified port
(* DIFF_TERM = "TRUE" *) input CLK;
VHDL 構文
VHDL 属性は次の よ う に宣言 し て指定 し ます。
attribute DIFF_TERM : string;
attribute DIFF_TERM of port_name : signal is "TRUE";
VHDL の構文例
-- Designates differential termination on the specified port
attribute DIFF_TERM of CLK : signal is "TRUE";
XDC 構文
set_property DIFF_TERM TRUE [get_ports port_name]
説明 :
•
set_property DIFF_TERM はポー ト オブジ ェ ク ト に割 り 当て る こ と がで き ます。
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。
XDC の構文例
# Enables differential termination on port named CLK_p
set_property DIFF_TERM TRUE [get_ports CLK_p]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
142
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
report_ssn
•
report_power
関連項目
143 ページの 「DIFF_TERM_ADV」
169 ページの 「IBUF_LOW_PWR」
180 ページの 「IOSTANDARD」
DIFF_TERM_ADV
ア ド バン ス差動終端 (DIFF_TERM_ADV) プ ロ パテ ィ は UltraScale アーキ テ ク チ ャ でのみ使用す る も ので、 入力ま たは
双方向ポー ト の、 ビル ト イ ン さ れた 100  の差動終端を イ ネーブル/デ ィ ス エーブルす る ために使用 し ます。
DIFF_TERM_ADV は入力お よ び双方向ポー ト にのみ使用で き 、 ま た適切な VCCO 電圧で し か使用で き ません。 100 
の実効差動終端を提供す る には、 I/O バン ク の VCCO は、 HP I/O バン ク の場合は 1.8V に接続 し 、 HR I/O バン ク の場合
は 2.5V に接続す る 必要があ り ます。詳細は、『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571)
[参照 8] を参照 し て く だ さ い。
ヒ ン ト : 7 シ リ ーズ デザ イ ン を UltraScale アーキ テ ク チ ャ に移行する には、「DIFF_TERM」 プ ロ パテ ィ を使用す る と 適
切な DIFF_TERM_ADV 値に自動的にア ッ プデー ト さ れます。
DIFF_TERM_ADV お よ び DIFF_TERM は、 差動の入力お よ び双方向ポー ト バ ッ フ ァ ーに差動終端を使用す る 必要が
あ り 、 ま た Vivado Design Suite がポー ト にオンチ ッ プ終端を追加する 必要のあ る こ と を示 し ます。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
•
差動入力バ ッ フ ァ ーに接続 さ れた入力ポー ト ま たは双方向ポー ト
次の I/O 規格のいずれか を使用 し てい る オブジ ェ ク ト :
°
LVDS、 LVDS_25、 MINI_LVDS_25、 SUB_LVDS、 お よ び SUB_LVDS_25
°
LVPECL
°
PPDS_25
°
RSDS_25
°
SLVS_400_25、 お よ び SLVS_400_18
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
143
第 3 章 : 主な プ ロパテ ィ の説明
値
•
TERM_100 : オンチ ッ プ差動終端で100  を使用する 。
•
TERM_NONE : オンチ ッ プ差動終端を使用 し ません。 (デフ ォ ル ト )。
注記 : UltraScale デバ イ ス には DIFF_TERM プ ロ パテ ィ も 使用で き ます。
°
DIFF_TERM = TRUE の場合、 DIFF_TERM_ADV = TERM_100 にな り ます。
°
DIFF_TERM = FALSE の場合、 DIFF_TERM_ADV = TERM_NONE にな り ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property DIFF_TERM_ADV TERM_100 [get_ports port_name]
説明 :
•
set_property DIFF_TERM_ADV は入力ま たは双方向ポー ト に割 り 当て る こ と がで き ます。
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。
XDC の構文例
# Enables differential termination on port named CLK_p
set_property DIFF_TERM_ADV TERM_100 [get_ports CLK_p]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
report_ssn
•
report_power
関連項目
141 ページの 「DIFF_TERM」
180 ページの 「IOSTANDARD」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
144
第 3 章 : 主な プ ロパテ ィ の説明
DIRECT_ENABLE
入力ポー ト ま たはその他の信号に DIRECT_ENABLE を指定す る と 、 複数の イ ネーブルがあ る 可能性があ る 場合や合
成ツールで フ リ ッ プ フ ロ ッ プの イ ネーブル ラ イ ンが必ず使用 さ れ る よ う に し たい場合、 それ ら の信号が フ リ ッ プ フ
ロ ッ プの イ ネーブル ラ イ ンに直接送 ら れ る よ う にな り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
DIRECT_ENABLE 属性はポー ト ま たは信号に設定で き ます。
値
•
TRUE (ま たは YES) : フ リ ッ プ フ ロ ッ プの イ ネーブル ラ イ ン を使用 し ます。
•
FALSE (ま たは NO) : 合成ツールに フ リ ッ プ フ ロ ッ プの イ ネーブル ラ イ ン を使用する よ う に伝え ません。 こ れが
デフ ォ ル ト です。
構文
Verilog 例
(* direct_enable = “yes” *) input ena3;
VHDL コ ー ド 例
entity test is port(
in1 : std_logic_vector (8 downto 0);
clk : std_logic;
ena1, ena2, ena3 : in std_logic
out1 : std_logic_vector(8 downto 0));
attribute direct_enable : string;
attribute direct_enable of ena3: signal is "yes";
end test;
XDC 構文
該当な し
影響のある処理
•
合成
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
145
第 3 章 : 主な プ ロパテ ィ の説明
関連項目
146 ページの 「DIRECT_RESET」
157 ページの 「GATED_CLOCK」
DIRECT_RESET
入力ポー ト ま たはその他の信号に DIRECT_RESET を 指定す る と 、 複数の リ セ ッ ト が あ る 可能性が あ る 場合や合成
ツールで フ リ ッ プ フ ロ ッ プの リ セ ッ ト ラ イ ンが必ず使用 さ れ る よ う に し たい場合、 それ ら の信号が フ リ ッ プ フ ロ ッ
プの リ セ ッ ト ラ イ ンに直接送 ら れ る よ う にな り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
DIRECT_RESET 属性はポー ト ま たは信号に設定で き ます。
値
•
TRUE (ま たは YES) : 合成ツールに フ リ ッ プ フ ロ ッ プの RESET ラ イ ン を使用する よ う に伝え ます。
•
FALSE (ま たは NO) : 合成ツールに フ リ ッ プ フ ロ ッ プの RESET ラ イ ン を使用す る よ う に伝え ません。 こ れがデ
フ ォ ル ト です。
構文
Verilog 例
(* direct_reset = "yes" *) input rst3;
VHDL コ ー ド 例
entity test is port(
in1 : std_logic_vector (8 downto 0);
clk : std_logic;
rst1, rst2, rst3 : in std_logic
out1 : std_logic_vector(8 downto 0));
attribute direct_reset : string;
attribute direct_reset of rst3: signal is “yes”;
end test;
XDC 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
146
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
合成
関連項目
145 ページの 「DIRECT_ENABLE」
DONT_TOUCH
DONT_TOUCH は、 ユーザー階層ま たは イ ン ス タ ン シエー ト 済み コ ン ポーネ ン ト を最適化 し ない よ う に指定す る も の
で、 こ れに よ り 最適化がバ ウ ン ダ リ を越えて実行 さ れない よ う にな り ます。 こ れで フ ロ アプ ラ ン、 解析、 デバ ッ グが
し やす く な り ますが、 最適化が抑止 さ れ る ので、 デザ イ ンが大 き く 、 遅 く な っ て し ま う こ と があ り ます。
DONT_TOUCH プ ロ パテ ィ は KEEP ま たは KEEP_HIERARCHY プ ロ パテ ィ と 同 じ よ う に機能 し ますが、 KEEP お よ び
KEEP_HIERARCHY と は異な り 配置配線に フ ォ ワ ー ド ア ノ テー ト さ れ る ので、 イ ン プ リ メ ン テーシ ョ ン中に ロ ジ ッ
ク 最適化で削除 さ れ る こ と はあ り ません。
推奨 : DONT_TOUCH が適用 さ れてい る モジ ュ ール イ ン ス タ ン ス の出力すべてに レ ジ ス タ を付け ます。 こ の属性は、
合成前に適用す る と 最 も 効果的です。
注記 : モ ジ ュ ール ま たはエ ン テ ィ テ ィ のポー ト には設定で き ま せん。 特定のポー ト を 保持す る 必要が あ る 場合は、
flatten_hierarchy = “none” に設定す る か、 モジ ュ ールま たはエン テ ィ テ ィ 自体に DONT_TOUCH を設定 し ます。
推奨 : こ の属性は RTL で設定す る こ と をお勧め し ます。 XDC フ ァ イ ルが読み込まれ る 前に、 保持す る 必要のあ る 信
号が最適化で削除 さ れて し ま う こ と があ り ます。 こ の属性を RTL で設定 し ておけば、 必ず適用 さ れます。
DONT_TOUCH、 KEEP、 ま たは KEEP_HIERARCHY を使用す る 場合は注意が必要です。 ほかの属性が DONT_TOUCH
属性 と 競合す る 場合は、 DONT_TOUCH 属性が優先 さ れます。
ネ ッ ト に設定 さ れた DONT_TOUCH はそのネ ッ ト が保持 さ れ る こ と のみを確約 し 、 ド ラ イ バーや駆動 さ れてい る ロ
ジ ッ ク は変更す る 可能性があ り ます。 階層ネ ッ ト の場合は、 DONT_TOUCH が設定 さ れてい る 部分のみが保持 さ れ る
ので、 保持す る 必要のな る セグ メ ン ト にはすべて DONT_TOUCH を設定す る 必要があ り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
こ の属性は信号、 モジ ュ ール、 エン テ ィ テ ィ 、 コ ン ポーネ ン ト に設定で き ます。
°
セル (get_cells)
°
ネ ッ ト (get_nets)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
147
第 3 章 : 主な プ ロパテ ィ の説明
値
•
FALSE : 階層を越え て最適化 さ れます。 こ れがデフ ォ ル ト 設定です。
•
TRUE : 最適化が階層バ ウ ン ダ リ を越えない よ う にな り 、 階層が保持 さ れます。 イ ン ス タ ン シエー ト さ れた コ ン
ポーネ ン ト ま たはネ ッ ト が最適化に よ り 削除 さ れて し ま わない よ う 、 保持 さ れます。
構文
Verilog 構文
Verilog 属性をユーザーの階層 イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。
(* DONT_TOUCH = "{TRUE|FALSE}" *)
Verilog の構文例
// Preserve the hierarchy of instance CLK1_rst_sync
(* DONT_TOUCH = "TRUE" *) reset_sync #(
.STAGES(5)
) CLK1_rst_sync (
.RST_IN(RST | ~LOCKED),
.CLK(clk1_100mhz),
.RST_OUT(rst_clk1)
);
ワ イ ヤの例
(* dont_touch = "true" *) wire sig1;
assign sig1 = in1 & in2;
assign out1 = sig1 & in2;
モ ジ ュ ールの例
(* DONT_TOUCH = "true|yes" *)
module example_dt_ver
(clk,
In1,
In2,
out1);
イ ン ス タ ン スの例
(* DONT_TOUCH = "true|yes" *) example_dt_ver U0
(.clk(clk),
.in1(a),
.in2(b),
out1(c));
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute DONT_TOUCH : string;
VHDL 属性は次の よ う に指定 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
148
第 3 章 : 主な プ ロパテ ィ の説明
attribute DONT_TOUCH of name: label is "{TRUE|FALSE}";
説明 :
•
name はユーザー定義の イ ン ス タ ン ス の名前です。
VHDL の構文例
attribute DONT_TOUCH : string;
-- Preserve the hierarchy of instance CLK1_rst_sync
attribute DONT_TOUCH of CLK1_rst_sync: label is "TRUE";
…
CLK1_rst_sync : reset_sync
PORT MAP (
RST_IN => RST_LOCKED,
CLK => clk1_100mhz,
RST_OUT
=> rst_clk1
);
XDC 構文
set_property DONT_TOUCH {TRUE|FALSE} [get_cells <instance_name>]
set_property DONT_TOUCH {TRUE|FALSE} [get_nets <net_name>]
説明 :
•
instance_name は最下位セルま たは階層セルにな り ます。
•
net_name は階層ネ ッ ト の名前にな り ます。
XDC の構文例
# Preserve the hierarchy of instance CLK1_rst_sync
set_property DONT_TOUCH TRUE [get_cells CLK1_rst_sync]
# Preserve all segments of the hierarchical net named by the Tcl variables
set_property DONT_TOUCH [get_nets -segments $hier_net]
影響のある処理
•
synth_design
•
opt_design
•
phys_opt_design
•
floorplanning
関連項目
185 ページの 「KEEP」
188 ページの 「KEEP_HIERARCHY」
202 ページの 「MARK_DEBUG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
149
第 3 章 : 主な プ ロパテ ィ の説明
DRIVE
プ ロ グ ラ マブル出力駆動電流をサポー ト す る I/O 規格で コ ン フ ィ ギ ュ レーシ ョ ン さ れた出力バ ッ フ ァ ーに対 し 、 出力
バ ッ フ ァ ーの駆動電流を mA で指定 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
出力バ ッ フ ァ ーに接続 さ れた出力ま たは双方向ポー ト
値
整数値 :
•
2
•
4
•
6
•
8
•
12 (デフ ォ ル ト )
•
16
•
24 (UltraScale アーキテ ク チ ャ には こ の値は使用で き ません)
構文
Verilog 構文
推論 さ れて イ ン ス タ ン シエー ト さ れた出力バ ッ フ ァ ーの場合、 適切な Verilog 属性構文を最上位出力ポー ト 宣言の前
に配置 し ます。
(* DRIVE = "{2|4|6|8|12|16|24}" *)
Verilog の構文例
// Sets the drive strength on the STATUS output port to 2 mA
(* DRIVE = "2" *) output STATUS,
VHDL 構文
推論 さ れて イ ン ス タ ン シエー ト さ れた出力バ ッ フ ァ ーの場合、適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に
配置 し ます。
VHDL 属性は次の よ う に宣言 し て指定 し ます。
attribute DRIVE : integer;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
150
第 3 章 : 主な プ ロパテ ィ の説明
attribute DRIVE of port_name : signal is value;
説明 :
•
port_name は最上位出力ポー ト です。
VHDL の構文例
STATUS : out std_logic;
attribute DRIVE : integer;
-- Sets the drive strength on the STATUS output port to 2 mA
attribute DRIVE of STATUS : signal is 2;
XDC 構文
set_property DRIVE value [get_ports port_name]
説明 :
•
port_name は出力ま たは双方向ポー ト です。
XDC の構文例
# Sets the drive strength of the port STATUS to 2 mA
set_property DRIVE 2 [get_ports STATUS]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
ノ イ ズ レ ポー ト
•
消費電力レ ポー ト
関連項目
『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ
ブ ラ リ ガ イ ド 』 (UG974) [参照 26] にあ る 次のデザ イ ン エ レ メ ン ト を参照 し て く だ さ い。
•
OBUF
•
OBUFT
•
IOBUF
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
151
第 3 章 : 主な プ ロパテ ィ の説明
EDIF_EXTRA_SEARCH_PATHS
こ のプ ロ パテ ィ を使用 し 、 Vivado Design Suite の現在の フ ァ イ ルセ ッ ト で検索パ ス を定義 し 、 デザ イ ン で参照 さ れ る
EDIF フ ァ イ ルが検索 さ れ る よ う に し ます。
ヒ ン ト : Vivado Design Suite でブ ラ ッ ク ボ ッ ク ス に関連す る EDIF ネ ッ ト リ ス ト が検出で き なか っ た場合は、 イ ンプ リ
メ ン テーシ ョ ンに次の よ う なエ ラ ー メ ッ セージが表示 さ れます。 こ れは、 EDIF_EXTRA_SEARCH_PATHS: を定義す
る と 修正で き ます。
“ERROR: [Opt 31-30] Blackbox module11 is driving pin I of primitive cell OBUF_inst.The blackbox cannot be found in the
existing library.”
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ソ ース フ ァ イ ルセ ッ ト (current_fileset)
値
•
Pathname : 現在の フ ァ イ ルセ ッ ト で使用 さ れ る EDIF フ ァ イ ルを検出で き る よ う に Vivado ツールの検索パ ス を
指定 し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property EDIF_EXTRA_SEARCH_PATHS <path_to_edif_file> [current_fileset]
XDC の構文例
# Specifies search path for EDIF files
set_property EDIF_EXTRA_SEARCH_PATHS C:/Data/Design1/EDIF [current_fileset]
影響のある処理
•
link_design
•
opt_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
152
第 3 章 : 主な プ ロパテ ィ の説明
EQUALIZATION
EQUALIZATION は伝送 ラ イ ン での周波数に依存 し た減衰を な く すめ、 差動レ シーバーで使用で き 、 特定の I/O 規格
を イ ンプ リ メ ン ト し ます。
リ ニア レ シーバーの EQUALIZATION は レ シーバーで AC ゲ イ ン を提供 し 、伝送 ラ イ ン での高周波 ロ ス を補正 し ます。
ヒ ン ト : 全体的なシ グナル イ ン テ グ リ テ ィ を向上 さ せ る ため、 レ シーバーでの イ コ ラ イ ゼーシ ョ ンは、 ト ラ ン ス ミ ッ
タ ーでの 「PRE_EMPHASIS」 と 組み合わせる こ と がで き ます。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
値
重要 : EQUALIZATION の値は特にキ ャ リ ブ レーシ ョ ン さ れてい ません。 デザ イ ン で使用 さ れてい る 周波数 と 伝送 ラ
イ ンに合わせたベス ト な設定を決め る には、 シ ミ ュ レーシ ョ ン を実行す る こ と を推奨 し ます。 場合に よ っ ては、 イ コ
ラ イ ゼーシ ョ ンの レベルが低いほ う が高い場合 よ り も 良い結果を生む こ と があ り ます。 イ コ ラ イ ゼーシ ョ ンの レベル
を上げ過ぎ る と 、 信号の質を改善す る よ り も 悪化 さ せ る こ と があ り ます。
EQUALIZATION 属性に使用で き る 値は次の と お り です。
•
•
HP I/O バン ク
°
EQ_LEVEL0
°
EQ_LEVEL1
°
EQ_LEVEL2
°
EQ_LEVEL3
°
EQ_LEVEL4
°
EQ_NONE (デフ ォ ル ト )
HR I/O バン ク
°
EQ_LEVEL0、 EQ_LEVEL0_DC_BIAS
°
EQ_LEVEL1、 EQ_LEVEL1_DC_BIAS
°
EQ_LEVEL2、 EQ_LEVEL2_DC_BIAS
°
EQ_LEVEL3、 EQ_LEVEL3_DC_BIAS
°
EQ_LEVEL4、 EQ_LEVEL4_DC_BIAS
°
EQ_NONE (デフ ォ ル ト )
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
153
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC フ ァ イ ルでは EQUALIZATION 属性を次の よ う な構文で使用 し ます。
set_property EQUALIZATION value [get_ports port_name]
説明 :
•
set_property EQUALIZATION は入力バ ッ フ ァ ーでの リ ニ ア イ コ ラ イ ゼーシ ョ ン を イ ネーブルに し ます。
•
<Value> には指定のポー ト に対 し サポー ト さ れてい る EQUALIZATION 値の 1 つが入 り ます。
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。
関連項目 201 ページの 「LVDS_PRE_EMPHASIS」
218 ページの 「PRE_EMPHASIS」
EXCLUDE_PLACEMENT
EXCLUDE_PLACEMENT は、 Pblock で定義 さ れたエ リ ア内のデバ イ ス リ ソ ース を Pblock に含まれ る ロ ジ ッ ク にのみ
使用す る こ と を示すためのプ ロ パテ ィ です。
デフ ォ ル ト では、 Vivado 配置ツールで Pblock に割 り 当て ら れない ロ ジ ッ ク を Pblock で予約 さ れた リ ソ ース範囲内に
配置で き ます。 こ のプ ロ パテ ィ を使用す る と それがで き な く な り 、 Pblock 用に ロ ジ ッ ク リ ソ ース が予約 さ れます。
ヒ ン ト : こ れは Pblock の ロ ジ ッ ク リ ソ ー ス を限定す る だけで、 外部の ロ ジ ッ ク では、 Pblock で定義 さ れたエ リ ア内
の配線 リ ソ ース が ま だ使用で き ます。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
•
Pblock (get_pblocks)
値
•
TRUE : Pblock 内のデバ イ ス ロ ジ ッ ク リ ソ ース を Pblock に割 り 当て ら れた ロ ジ ッ ク で使用 さ れ る よ う に予約 し 、
それ以外の外部 ロ ジ ッ ク には配置 さ れない よ う に し ます。
•
FALSE : Pblock 内で ロ ジ ッ ク リ ソ ース は予約 さ れません。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
154
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property EXCLUDE_PLACEMENT TRUE [get_pblocks test]
影響のある処理
•
フ ロ アプ ラ ン
•
配置
関連項目
138 ページの 「CONTAIN_ROUTING」
210 ページの 「PBLOCK」
FSM_ENCODING
FSM_ENCODING は、 合成中の ス テー ト マシ ンのエン コ ー ド 方法を指定 し ます。
デフ ォ ル ト では、 デザ イ ンに対 し ベス ト な ソ リ ュ ーシ ョ ン を決め る 内部アルゴ リ ズ ムに基づいて、 Vivado 合成ツール
が ス テー ト マシ ン のエ ン コ ーデ ィ ン グ プ ロ ト コ ルを選択 し ます。 し か し 、 FSM_ENCODING プ ロ パテ ィ を使用す る
場合は、 ユーザーが ス テー ト マシ ンのエン コ ーデ ィ ン グ を指定する こ と がで き ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ス テー ト マシ ン レ ジ ス タ
値
•
AUTO : FSM_ENCODING を指定 し ない場合、 こ れがデフ ォ ル ト です。 Vivado 合成ツールで最適な ス テー ト マシ
ン エン コ ーデ ィ ン グ方式が決定 さ れ る よ う にな り ます。同 じ デザ イ ン で も ス テー ト マシ ン レ ジ ス タ が異な る と 、
別のエン コ ーデ ィ ン グ ス タ イ ルが使用 さ れ る こ と があ り ます。
•
ONE_HOT
•
SEQUENTIAL
•
JOHNSON
•
GRAY
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
155
第 3 章 : 主な プ ロパテ ィ の説明
•
NONE : Vivado 合成ツール内で指定 し た ス テー ト マシ ン レ ジ ス タ の ス テー ト マシ ン エン コ ーデ ィ ン グがデ ィ ス
エーブルにな り ます。 こ の場合、 ス テー ト マシ ンは ロ ジ ッ ク と し て合成 さ れます。
Verilog 構文
(* fsm_encoding = "one_hot" *) reg [7:0] my_state;
VHDL 構文
type count_state is (zero, one, two, three, four, five, six, seven);
signal my_state : count_state;
attribute fsm_encoding : string;
attribute fsm_encoding of my_state : signal is "sequential";
XDC 構文
該当な し
影響のある処理
•
合成
関連項目
156 ページの 「FSM_SAFE_STATE」
FSM_SAFE_STATE こ の属性は RTL と XDC の両方で設定で き ます。
Vivado 合成は、 「FSM_ENCODING」 プ ロ パテ ィ ま たは Vivado 合成の -fsm_extraction コ マ ン ド ラ イ ン オプシ ョ ン で指
定 さ れ る さ ま ざ ま な コ ン フ ィ ギ ュ レーシ ョ ンで、 有限ス テー ト マシ ン (FSM) の抽出をサポー ト し てい ます。 詳細は、
『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 18] を参照 し て く だ さ い。
し か し 、 ス テー ト マシ ンは、 デザ イ ンがエ ラ ーにな っ て し ま う 無効ス テー ト 、 ま たは到達不可能な ス テー ト に遷移す
る こ と があ り ます。 FSM_SAFE_STATE 属性は、 ス テー ト マシ ンが不正な ス テー ト にな っ た と き に次の ク ロ ッ ク サ イ
ク ルで既知の ス テー ト にす る ロ ジ ッ ク を、 ス テー ト マ シ ン に挿入 し ま す。 FSM が無効な ス テー ト に遷移 し た場合、
FSM_SAFE_STATE プ ロ パテ ィ で FSM が Vivado 合成で合成 さ れ る と き に使用 さ れ る 回復ス テー ト が定義 さ れます。
ヒ ン ト : こ のプ ロ パテ ィ は FSM ス テー ト を セーフ リ カバ リ にす る のですが、 合成結果の質に も 影響す る 可能性があ
り ます。 通常は、 エ リ アが大 き く な っ て し ま い。 パフ ォーマ ン ス が落ち る こ と があ り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
156
第 3 章 : 主な プ ロパテ ィ の説明
適用可能なオブ ジ ェ ク ト
•
ス テー ト マシ ン レ ジ ス タ
値
•
reset_state : Vivado 合成で指定 さ れてい る よ う に RESET ス テー ト ま で ス テー ト マシ ン を再実行 し ます。
•
power_on_state : Vivado 合成で指定 さ れてい る よ う に POWER_ON ス テー ト ま で ス テー ト マシ ン を再実行 し ます。
•
default_state : 1 ビ ッ ト /フ リ ッ プの Hamming-2 エン コ ー ド 検出を使用 し て、 ス テー ト マシ ン で定義 さ れた よ う に、
ス テー ト マシ ン をデフ ォ ル ト ス テー ト に、 その ス テー ト に到達で き ない場合で も 戻 し ます。
•
auto_safe_state : Hamming-3 エン コ ーデ ィ ン グ を暗示 し ます。
構文
Verilog 例
(* fsm_safe_state = "reset_state" *) reg [2:0] state;
(* fsm_safe_state = "reset_state" *) reg [7:0] my_state;
VHDL コ ー ド 例
type count_state is (zero, one, two, three, four, five, six, seven);
signal my_state : count_state;
attribute fsm_safe_state : string;
attribute fsm_safe_state of my_state : signal is "power_on_state";
XDC の例
set_property fsm_safe_state reset_state [get_cells state_reg*]
影響のある処理
•
合成
関連項目
155 ページの 「FSM_ENCODING」
GATED_CLOCK GATED_CLOCK プ ロ パテ ィ を使用す る と 、 Vivado 合成でゲーテ ッ ド ク ロ ッ ク の変換が実行で き る よ う にな り ます。
ク ロ ッ ク ゲーテ ィ ン グ ロ ジ ッ ク を変換 し て、 フ リ ッ プ フ ロ ッ プ イ ネーブル ピ ン を使用可能な場合は使用 し て く だ さ
い。 こ の最適化に よ り ロ ジ ッ ク が削除 さ れ、 ネ ッ ト リ ス ト が簡略化 さ れます。
こ の RTL 属性ではゲーテ ッ ド ロ ジ ッ ク の ど の信号が ク ロ ッ ク か を指定 し ます。 こ の属性は、 ク ロ ッ ク 信号ま たは ク
ロ ッ ク ポー ト に設定で き ます。
RTL でのみ設定可能です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
157
第 3 章 : 主な プ ロパテ ィ の説明
注記 : ま た、 Vivado 合成ツールでオプシ ョ ン を使用 し て、 変換が実行 さ れ る よ う 指定する こ と も で き ます。
synth_design -gated_clock_conversion
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ク ロ ッ ク 入力ポー ト
•
ク ロ ッ ク 信号
値
•
FALSE : ゲーテ ッ ド ク ロ ッ ク の変換をデ ィ ス エーブルに し ます。
•
TRUE : GATED_CLOCK 属性が RTL コ ー ド で設定 さ れてい る 場合に、ゲーテ ッ ド ク ロ ッ ク の変換を実行 し ます。
こ の設定では、 結果を よ り 制御で き ます。
•
AUTO : 次のいずれかの条件が満た さ れ る 場合に、 ゲーテ ッ ド ク ロ ッ ク の変換を実行 し ます。
°
GATED_CLOCK プ ロ パテ ィ が TRUE に設定 さ れてい る 。
°
Vivado 合成でゲー ト が検出 さ れ、 有効な ク ロ ッ ク 制約セ ッ ト があ る 。 こ の設定では、 ツールで自動的に判断
さ れます。
構文
Verilog 例
(* gated_clock = "true" *) input clk;
VHDL コ ー ド 例
entity test is port (
in1, in2 : in std_logic_vector(9 downto 0);
en : in std_logic;
clk : in std_logic;
out1 : out std_logic_vector( 9 downto 0));
attribute gated_clock : string;
attribute gated_clock of clk : signal is "true";
end test;
XDC の例
該当な し
影響のある処理
•
合成
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
158
第 3 章 : 主な プ ロパテ ィ の説明
GENERATE_SYNTH_CHECKPOINT
デフ ォ ル ト では、 Vivado Design Suite は、 ア ウ ト オブ コ ン テ キ ス ト (OOC) デザ イ ン フ ロ ーを使用 し て、 Vivado IP カ
タ ロ グか ら の IP コ アお よ び Vivado IP イ ン テ グ レー タ ーか ら のブ ロ ッ ク デザ イ ン を合成 し ます。OOC フ ロ ーでは、合
成結果をデザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) フ ァ イ ルに保存で き る ので、 デザ イ ン サ イ ク ル時間を短縮 し 、 デザ イ ン
の反復作業を省 く こ と がで き ます。 GENERATE_SYNTH_CHECKPOINT プ ロ パテ ィ は、 合成後のチ ェ ッ ク ポ イ ン ト を
生成す る と き に、 出力フ ァ イ ルを関連 IP フ ァ イ ル (XCI) 用にす る か、 ブ ロ ッ ク デザ イ ン (BD) フ ァ イ ル用にす る か を
設定 し ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 16] の こ のセ ク シ ョ
ン、 ま たは 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
[参照 27] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
Vivado Design Suite は自動的に合成 さ れたデザ イ ン チ ェ ッ ク ポ イ ン ト フ ァ イ ル (DCP) を生成 し ます。 こ れは、 IP ま た
はブ ロ ッ ク デザ イ ンの出力フ ァ イ ルを生成する と き に、 ア ウ ト オブ コ ン テ キ ス ト (OOC) デザ イ ン フ ロ ーをサポー ト
す る ために必要な フ ァ イ ルです。 合成 さ れたデザ イ ン が開 き 、 すべての OOC チ ェ ッ ク ポ イ ン ト が統合 さ れ る ま で、
OOC モジ ュ ールは最上位デザ イ ンではブ ラ ッ ク ボ ッ ク ス と し て表示 さ れます。
重要 : Vivado イ ンプ リ メ ン テーシ ョ ンでは、 IP お よ び BD の DCP か ら ネ ッ ト リ ス ト を抽出 し て、 ブ ラ ッ ク ボ ッ ク ス
が解決 さ れます。
含まれてい る IP ま たは BD の出力フ ァ イ ルを生成す る と き 、合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) の作成な ど、OOC
フ ロ ーを使用す る か ど う か、 ま たは IP を最上位デザ イ ン の一部 と し て グ ロ ーバルに合成す る か決め る こ と がで き ま
す。
OOC フ ロ ーをデ ィ ス エーブルに し 、 指定 さ れた XCI ま たは BD フ ァ イ ルの合成 さ れた DCP 出力フ ァ イ ルを生成 し な
い よ う にす る には、 GENERATE_SYNTH_CHECKPOINT プ ロ パテ ィ を FALSE ま たは 0 に設定 し ます。
こ のプ ロ パテ ィ は、 何 ら かの理由で IP が ロ ッ ク さ れてい る 場合のみ、 読み出 し 専用にな り ます。 こ の場合は、 Vivado
IDE で [Tools] → [Report IP Status] を ク リ ッ ク する か、 report_ip_status と い う Tcl コ マ ン ド を実行 し て、 IP がなぜ ロ ッ
ク さ れてい る のか を確認 し ます。 DCP は、 Vivado IP カ タ ロ グの最新バージ ョ ンに IP を ア ッ プグ レー ド し てか ら でな
い と 、 生成で き ません。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 16] の こ の
セ ク シ ョ ン を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
IP フ ァ イ ル (XCI) ま たはブ ロ ッ ク デザ イ ン フ ァ イ ル (BD)
•
(get_files)
値
•
TRUE : OOC デザ イ ン フ ロ ーを イ ネーブルにす る ため、 IP ま たはブ ロ ッ ク デザ イ ンの出力フ ァ イ ルの一部 と し
て、 合成デザ イ ン チ ェ ッ ク ポ イ ン ト (DCP) を生成 し ます(デフ ォ ル ト )。
•
FALSE : 合成 DCP を生成せず、 OOC フ ロ ーをデ ィ ス エーブルに し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
159
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property GENERATE_SYNTH_CHECKPOINT {TRUE | FALSE} [get_files <filename>]
説明 :
•
<filename> は IP (XCI) ま たはブ ロ ッ ク デザ イ ン (BD) の フ ァ イ ル名です。
XDC の構文例
set_property GENERATE_SYNTH_CHECKPOINT false [get_files char_fifo.xci]
ヒ ン ト : XCI ま たは BD 以外の フ ァ イ ルで、 オブジ ェ ク ト に GENERATE_SYNTH_CHECKPOINT を割 り 当てた り 、 ク
エ リ ー し よ う と す る と 、 警告が表示 さ れます。
影響のある処理
•
合成
•
イ ンプ リ メ ン テーシ ョ ン
H_SET および HU_SET
HDL ソ ース フ ァ イ ルで定義 さ れてい る よ う に、 デザ イ ンの階層に基づいて ま と め ら れた ロ ジ ッ ク エ レ メ ン ト の集合
体が階層セ ッ ト です。 H_SET、 HU_SET、 U_SET は HDL デザ イ ン ソ ース フ ァ イ ル内の属性で、 合成 さ れたデザ イ ン
や イ ン プ リ メ ン ト さ れたデザ イ ンには表れません。 こ れ ら は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定義
す る と き に使用 さ れます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー
ガ イ ド : 制約の使用』 (UG903) [参照 19] を参照 し て く だ さ い。
デザ イ ンの階層にあ る ロ ジ ッ ク セルに RLOC プ ロ パテ ィ が設定 さ れてい る と 、 H_SET は暗示的に使用 さ れます。 あ
る 階層ブ ロ ッ ク 内の ロ ジ ッ ク エ レ メ ン ト で、RLOC プ ロ パテ ィ が設定 さ れてい る も のは、同 じ 階層セ ッ ト (H_SET) に
自動的に割 り 当て ら れます。
モ ジ ュ ールの イ ン ス タ ン ス 名に基づい て、 各階層モ ジ ュ ールに H_SET プ ロ パテ ィ が割 り 当て ら れ ま す。 各階層モ
ジ ュ ールに H_SET 名は 1 つ し かない場合があ り 、 ま たその階層内のすべての ロ ジ ッ ク エ レ メ ン ト は、 その H_SET の
エ レ メ ン ト にな り ます。
注記 : HU_SET ま たは U_SET が定義 さ れていないが、 RLOC が定義 さ れてい る 場合は、 H_SET のみが定義 さ れます。
ま た、 デザ イ ン の階層に依存 し ない ユーザー定義階層セ ッ ト (HU_SET) ま たはユーザー定義セ ッ ト (U_SET) を手動
で作成す る こ と がで き ます。
1 つの階層モジ ュ ールに対 し 複数の HU_SET 名を定義 し 、特定階層の イ ン ス タ ン ス を特定 HU_SET に割 り 当て る こ と
がで き ます。 こ れで、 1 つの階層モジ ュ ールの ロ ジ ッ ク エ レ メ ン ト を複数の HU_SET に分け る こ と がで き ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
160
第 3 章 : 主な プ ロパテ ィ の説明
重要 : H_SET ま たは HU_SET を使用 し てい る 場合、 合成 さ れたデザ イ ンで RPM の階層を保持する には、 Vivado 合成
で KEEP_HIERARCHY プ ロ パテ ィ も 必要にな り ます。
RTL ソ ー ス フ ァ イ ルに RLOC も あ る 場合は、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後ネ ッ ト リ ス ト でセル
に対す る 読み出 し 専用の RPM プ ロ パテ ィ に変換 さ れます。 Vivado Design Suite のテ キ ス ト エデ ィ タ ーで RTL ソ ース
フ ァ イ ルを開 く と 、 HU_SET お よ び U_SET が表示 さ れますが、 セル オブジ ェ ク ト の [Properties] ビ ュ ーでは RPM プ
ロ パテ ィ が表示 さ れます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
次のデザ イ ン エ レ メ ン ト 、 ま たはそのカ テ ゴ リ ーで HU_SET は使用す る こ と がで き ます。 特定デザ イ ン エ レ メ ン ト
の詳細については、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale
アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 26] を参照 し て く だ さ い。
•
レジス タ
•
LUT
•
マク ロ インスタンス
•
RAMS
•
RAMD
•
RAMB18/FIFO18
•
RAMB36/FIFO36
•
DSP48
値
•
<NAME> : HU_SET の名前
構文
Verilog 構文
こ れは、 合成後ネ ッ ト リ ス ト で RPM を定義す る 階層ブ ロ ッ ク のセ ッ ト の内容を定義す る ため、 RLOC プ ロ パテ ィ と
組み合わせた Verilog 構文です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。
(* RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
Verilog 例
こ れは、モジ ュ ールでのシ フ ト レ ジ ス タ フ リ ッ プ フ ロ ッ プの RLOC お よ び HU_SET プ ロ パテ ィ を定義する Verilog モ
ジ ュ ールです。
module ffs (
input clk,
input d,
output q
);
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
161
第 3 章 : 主な プ ロパテ ィ の説明
wire
wire
wire
wire
wire
wire
wire
wire
sr_0,
sr_1,
sr_2,
sr_3,
sr_4,
sr_5,
sr_6,
sr_7,
wire
inr, inrn, outr;
inv
inv
inv
inv
inv
inv
inv
inv
inv
(sr_0, sr_0n);
(sr_1, sr_1n);
(sr_2, sr_2n);
(sr_3, sr_3n);
(sr_4, sr_4n);
(sr_5, sr_5n);
(sr_6, sr_6n);
(sr_7, sr_7n);
(inr, inrn);
(*
(*
(*
(*
(*
(*
(*
(*
(*
FD
i0
i1
i2
i3
i4
i5
i6
i7
i8
sr_0n;
sr_1n;
sr_2n;
sr_3n;
sr_4n;
sr_5n;
sr_6n;
sr_7n;
RLOC = "X0Y0", HU_SET = "h0" *) FD sr0
RLOC = "X0Y0", HU_SET = "h0" *) FD sr1
RLOC = "X0Y1", HU_SET = "h0" *) FD sr2
RLOC = "X0Y1", HU_SET = "h0" *) FD sr3
RLOC = "X0Y0", HU_SET = "h1" *) FD sr4
RLOC = "X0Y0", HU_SET = "h1" *) FD sr5
RLOC = "X0Y1", HU_SET = "h1" *) FD sr6
RLOC = "X0Y1", HU_SET = "h1" *) FD sr7
LOC = "SLICE_X0Y0" *) FD inq (.C(clk),
outq (.C(clk), .D(sr_0n), .Q(outr));
(.C(clk), .D(sr_1n), .Q(sr_0));
(.C(clk), .D(sr_2n), .Q(sr_1));
(.C(clk), .D(sr_3n), .Q(sr_2));
(.C(clk), .D(sr_4n), .Q(sr_3));
(.C(clk), .D(sr_5n), .Q(sr_4));
(.C(clk), .D(sr_6n), .Q(sr_5));
(.C(clk), .D(sr_7n), .Q(sr_6));
(.C(clk), .D(inrn), .Q(sr_7));
.D(d), .Q(inr));
assign q = outr;
endmodule // ffs
先ほ ど の例では、 ffs モジ ュ ールの イ ン ス タ ン ス に KEEP_HIERARCHY プ ロ パテ ィ を指定 し て、 階層を保持 し 、 合成
さ れたデザ イ ンで RPM を定義す る 必要があ り ます。
module top (
input clk,
input d,
output q
);
wire
c1, c2;
(* KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1);
(* KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2);
(* KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q);
endmodule // top
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute HU_SET : string;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
162
第 3 章 : 主な プ ロパテ ィ の説明
VHDL 制約は次の よ う に指定 し ます。
attribute HU_SET of {component_name | entity_name | label_name} :
{component|entity|label} is "NAME";
説明 :
•
{component_name | entity_name | label_name} はデザ イ ン エ レ メ ン ト です。
•
{component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。
•
"NAME" には HU_SET の名前を指定 し ます。
XDC 構文
HU_SET プ ロ パテ ィ は XDC 制約を使用 し ては定義で き ません。 RLOC と と も に ロ ジ ッ ク エ レ メ ン ト に設定 さ れてい
る HU_SET プ ロ パテ ィ は、 RPM を定義 し 、 その結果合成 さ れたデザ イ ンのネ ッ ト リ ス ト に読み出 し 専用の RPM プ ロ
パテ ィ が設定 さ れます。
ヒ ン ト : デ ザ イ ン 内 で RPM の よ う に 機能す る マ ク ロ オ ブ ジ ェ ク ト を Vivado Design Suite で 定義す る に は、
create_macro ま たは update_macro を使用 し ます。 こ れ ら の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン
ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
place_design
•
synth_design
関連項目
188 ページの 「KEEP_HIERARCHY」
228 ページの 「RLOC」
231 ページの 「RLOCS」
233 ページの 「RLOC_ORIGIN」
236 ページの 「RPM」
242 ページの 「U_SET」
HIODELAY_GROUP
HIODELAY_GROUP は IDELAYCTRL コ ン ポーネ ン ト を関連す る IDELAY ま たは ODELAY イ ン ス タ ン ス と と も にグ
ループに ま と め、 配置お よ び複製が正 し く 行われ る よ う にす る プ ロ パテ ィ です。
HIODELAY_GROUP を使用 し て IDELAYCTRL にグループ名を割 り 当て る 場合は、 同 じ HIODELAY_GROUP プ ロ パ
テ ィ を使用 し てそのグループに IDELAY ま たは ODELAY セル も 関連付け る 必要があ り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
163
第 3 章 : 主な プ ロパテ ィ の説明
重要 : HIODELAY_GROUP には複数のセルを含め る こ と がで き ますが、1 つのセルに 1 つの HIODELAY_GROUP し か
割 り 当て ら れません。
次の例は、 set_property を使用 し て、 特定の IDELAYCTRL に関連付け ら れてい る IDELAY/ODELAY エ レ メ ン ト をす
べて グループに ま と めてい ます。
set_property HIODELAY_GROUP IO_DLY1 [get_cells MY_IDELAYCTRL_inst]
set_property HIODELAY_GROUP IO_DLY1 [get_cells MY_IDELAY_inst]
set_property HIODELAY_GROUP IO_DLY1 [get_cells MY_ODELAY_inst]
HIODELAY_GROUP と IODELAY_GROUP の相違点
HIODELAY_GROUP の名前は階層ご と に決め ら れてい ますが、 IODELAY_GROUP の名前は階層を越え て も その ま ま
使用で き ます。 HIODELAY_GROUP は、 次の場合に使用 し ます。
•
IDELAYCTRL を含むモジ ュ ールの イ ン ス タ ン ス が複数あ る
および
•
指定 イ ン ス タ ン ス を、 ほかの論理階層にあ る IDELAY ま たは ODELAY イ ン ス タ ン ス と ま と め る つ も り がない
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
IDELAY、 ODELAY、 ま たは IDELAYCTRL イ ン ス タ ン ス
値
指定 し た グループ名
構文
Verilog 構文
Verilog 属性は IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。
(* HIODELAY_GROUP = "value" *)
Verilog の構文例
//
//
//
//
//
Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
IDELAYCTRL: IDELAYE2/ODELAYE2 Tap Delay Value Control
Virtex-7
Xilinx HDL Language Template, version 2014.1
Specifies DDR_INTERFACE group name for IDELAYs/ODELAYs and IDELAYCTRL
(* HIODELAY_GROUP = “DDR_INTERFACE” *)
IDELAYCTRL DDR_IDELAYCTRL_inst (
.RDY(),
// 1-bit output: Ready output
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
164
第 3 章 : 主な プ ロパテ ィ の説明
.REFCLK(REFCLK), // 1-bit input: Reference clock input
.RST(1’b0)
// 1-bit input: Active high reset input
);
// End of DDR_IDELAYCTRL_inst instantiation
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute HIODELAY_GROUP : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute HIODELAY_GROUP of instance_name : label is "group_name";
説明 :
•
instance_name は イ ン ス タ ン シエー ト 済みの IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン ス名です。
VHDL の構文例
// Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
attribute HIODELAY_GROUP : STRING;
attribute HIODELAY_GROUP of DDR_IDELAYCTRL_inst: label is "DDR_INTERFACE";
begin
-- IDELAYCTRL: IDELAYE2/ODELAYE2 Tap Delay Value Control
-Virtex-7
-- Xilinx HDL Language Template, version 2014.1
DDR_IDELAYCTRL_inst : IDELAYCTRL
port map (
RDY => open,
-- 1-bit output: Ready output
REFCLK => REFCLK, -- 1-bit input: Reference clock input
RST => ‘0’
-- 1-bit input: Active high reset input
);
-- End of DDR_IDELAYCTRL_inst instantiation
XDC 構文
set_property HIODELAY_GROUP group_name [get_cells instance_name]
説明 :
•
instance_name は IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン ス名です。
XDC の構文例
# Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
set_property HIODELAY_GROUP DDR_INTERFACE [get_cells DDR_IDELAYCTRL_inst]
影響のある処理
place_design
関連項目
178 ページの 「IODELAY_GROUP」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
165
第 3 章 : 主な プ ロパテ ィ の説明
『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ
ブ ラ リ ガ イ ド 』 (UG974) [参照 26] にあ る 次のデザ イ ン エ レ メ ン ト を参照 し て く だ さ い。
•
IDELAYCTRL
•
IDELAYE2
•
ODELAYE2
HLUTNM
HLUTNM を使用す る と 、互換性のあ る 入力を持つ 2 つの LUT5、SRL16 ま たは LUTRAM コ ン ポーネ ン ト が同 じ LUT6
サ イ ト に配置 さ れます。 階層ご と に HLUTNM を使用 し て、 ど ち ら も 同 じ グループ名で互換性のあ る イ ン ス タ ン ス タ
イ プであ る 必要があ り ます。
HLUTNM と LUTNM の相違点
ヒ ン ト : HLUTNM と LUTNM の目的は類似 し てい る ので、 同 じ 階層で使用 さ れ る 場合はそれぞれ異な る 値を設定す
る 必要があ り ます。 LUTNM と HLUTNM の値が同 じ LUT は Vivado の配線プ ロ グ ラ ム で ま と め ら れ る か、 ま たは値
に関 し て警告 メ ッ セージが表示 さ れます。
•
異な る 階層にあ る 場合 も 含め、 デザ イ ンの ど こ かに存在す る
LUTNM を使用 し ます。
•
階層モジ ュ ールの イ ン ス タ ン ス が複数デザ イ ンに含まれ る 場合は、 HLUTNM を使用 し て、 その階層モジ ュ ール
の LUT コ ン ポーネ ン ト を ま と め ます。
°
2 つの LUT
コ ン ポーネ ン ト を ま と め る には、
HLUTNM は各階層に 1 つ し か使用で き ません。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5)
°
SRL (SRL16E)
°
LUTRAM (RAM32X1S)
値
一意のグループ名
構文
Verilog 構文
Verilog 属性は LUT の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 Verilog 属性は、 同 じ 論理階層のペアで使用す る 必
要があ り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
166
第 3 章 : 主な プ ロパテ ィ の説明
(* HLUTNM = "group_name" *)
Verilog の構文例
// Designates state0_inst to be placed in same LUT6 as state1_inst
// LUT5: 5-input Look-Up Table with general output (Mapped to a LUT6)
//
Virtex-7
// Xilinx HDL Language Template, version 2014.1
(* HLUTNM = "LUT_group1" *) LUT5 #(
.INIT(32'ha2a2aea2) // Specify LUT Contents
) state0_inst (
.O(state_out[0]), // LUT general output
.I0(state_in[0]), // LUT input
.I1(state_in[1]), // LUT input
.I2(state_in[2]), // LUT input
.I3(state_in[3]), // LUT input
.I4(state_in[4]) // LUT input
);
// End of state0_inst instantiation
// LUT5: 5-input Look-Up Table with general output (Mapped to a LUT6)
//
Virtex-7
// Xilinx HDL Language Template, version 2014.1
(* HLUTNM = "LUT_group1" *) LUT5 #(
.INIT(32'h00330073) // Specify LUT Contents
) state1_inst (
.O(state_out[1]), // LUT general output
.I0(state_in[0]), // LUT input
.I1(state_in[1]), // LUT input
.I2(state_in[2]), // LUT input
.I3(state_in[3]), // LUT input
.I4(state_in[4]) // LUT input
);
// End of state1_inst instantiation
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute HLUTNM : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute HLUTNM of instance_name : label is "group_name";
説明 :
•
instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。
VHDL 属性は、 同 じ 論理階層のペアで使用する 必要があ り ます。
VHDL の構文例
-- Designates state0_inst to be placed in same LUT6 as state1_inst
attribute HLUTNM : string;
attribute HLUTNM of state0_inst : label is "LUT_group1";
attribute HLUTNM of state1_inst : label is "LUT_group1";
begin
-- LUT5: 5-input Look-Up Table with general output (Mapped to SLICEM LUT6)
-Virtex-7
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
167
第 3 章 : 主な プ ロパテ ィ の説明
-- Xilinx HDL Language Template, version 2014.1
state0_inst : LUT5
generic map (
INIT => X"a2a2aea2") -- Specify LUT Contents
port map (
O => state_out(0), -- LUT general output
I0 => state_in(0), -- LUT input
I1 => state_in(1), -- LUT input
I2 => state_in(2), -- LUT input
I3 => state_in(3), -- LUT input
I4 => state_in(4)
-- LUT input
);
-- End of state0_inst instantiation
-- LUT5: 5-input Look-Up Table with general output (Mapped to SLICEM LUT6)
-Virtex-7
-- Xilinx HDL Language Template, version 2014.1
State1_inst : LUT5
generic map (
INIT => X"00330073") -- Specify LUT Contents
port map (
O => state_out(1), -- LUT general output
I0 => state_in(0), -- LUT input
I1 => state_in(1), -- LUT input
I2 => state_in(2), -- LUT input
I3 => state_in(3), -- LUT input
I4 => state_in(4)
-- LUT input
);
-- End of state1_inst instantiation
XDC 構文
set_property HLUTNM group_name [get_cells instance_name]
説明 :
•
instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。
XDC の構文例
# Designates state0_inst LUT5 to be placed in same LUT6 as state1_inst
set_property HLUTNM LUT_group1 [get_cells state0_inst]
set_property HLUTNM LUT_group1 [get_cells state1_inst]
影響のある処理
•
place_design
関連項目
198 ページの 「LUTNM」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
168
第 3 章 : 主な プ ロパテ ィ の説明
IBUF_LOW_PWR
IBUF_LOW_PWR プ ロ パテ ィ は、 パフ ォーマ ン ス と 消費電力の ト レー ド オ フ を オプシ ョ ンで提供 し ます。
IBUF_LOW_PWR プ ロ パテ ィ は入力ポー ト に適用 さ れます。 デフ ォ ル ト では TRUE に設定 さ れ、 低電力モー ド でその
ポー ト に対 し て入力バ ッ フ ァ ーが イ ンプ リ メ ン ト さ れ ます。 FALSE に設定 し た場合は、 ハ イ パフ ォ ーマ ン ス モー ド
にな り ます。
消費電力の変更は XPE (XPower Estimator) ま たは Vivado Design Suite の report_power コ マ ン ド を使用 し て予測で き
ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
SSTL や HSTL な ど の VREF ベース の I/O 規格、ま たは LVDS や DIFF_HSTL な ど の差動規格が指定 さ れてい る 入
力ポー ト (get_ports)
値
•
TRUE : 低電力モー ド でそのポー ト に対 し て入力ま たは双方向バ ッ フ ァ ーを イ ンプ リ メ ン ト し ます。 こ れがデ
フ ォ ル ト 値です。
•
FALSE : ハ イ パフ ォーマ ン ス モー ド で入力ま たは双方向バ ッ フ ァ ーを イ ンプ リ メ ン ト し ます。
構文
Verilog 構文
推論 さ れて イ ン ス タ ン シエー ト さ れた入力バ ッ フ ァ ーお よ び双方向バ ッ フ ァ ーの場合、 適切な Verilog 属性構文を最
上位出力ポー ト 宣言の前に配置 し ます。
(* IBUF_LOW_PWR = "FALSE" *)
Verilog の構文例
// Sets the input buffer to high performance
(* IBUF_LOW_PWR = "FALSE" *) input STATE,
VHDL 構文
推論 さ れて イ ン ス タ ン シエー ト さ れた入力バ ッ フ ァ ーの場合、適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に
配置 し ます。
VHDL 属性は次の よ う に宣言 し て指定 し ます。
attribute IBUF_LOW_PWR : boolean;
attribute IBUF_LOW_PWR of port_name : signal is TRUE | FALSE;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
169
第 3 章 : 主な プ ロパテ ィ の説明
説明 :
•
port_name は最上位出力ポー ト です。
VHDL の構文例
STATE : in std_logic;
attribute IBUF_LOW_PWR : boolean;
-- Sets the input buffer to high performance
attribute IBUF_LOW_PWR of STATE : signal is FALSE;
XDC 構文
DIRECTION が IN ま たは INOUT のポー ト オブジ ェ ク ト に IBUF_LOW_PWR をプ ロ パテ ィ と し て割 り 当て ます。
set_property IBUF_LOW_PWR TRUE [get_ports port_name]
説明 :
•
set_property IBUF_LOW_PWR はポー ト オブジ ェ ク ト に割 り 当て る こ と がで き ます。
•
port_name は入力ま たは双方向ポー ト です。
影響のある処理
•
report_power
•
report_timing
関連項目
180 ページの 「IOSTANDARD」
IN_TERM
IN_TERM は、 キ ャ リ ブ レー ト さ れない入力終端の イ ン ピーダ ン ス値を指定 し 、 ハ イ レ ン ジ (HR) バン ク 入力でのみ
サ ポ ー ト さ れ て い ま す。 ハ イ パ フ ォ ー マ ン ス (HP) バ ン ク の入力に は、 オ ン チ ッ プ終端の DCI (Digital Controlled
Impedance) の 「IOSTANDARD」 を使用 し ます。
重要 : UltraScale アーキ テ ク チ ャ の場合、 キ ャ リ ブ レー ト さ れない終端を指定する には、 IN_TERM ではな く 「ODT」
を使用 し て く だ さ い。
終端は常に入力にあ り 、 ま た出力バ ッ フ ァ ーが ト ラ イ ス テー ト にな っ てい る 場合は双方向ピ ンにあ り ます。 し か し 、
キ ャ リ ブ レー ト さ れない分割終端オプシ ョ ン と 、 ト ラ イ ス テー ト の分割終端 DCI と の重要な違いは、 DCI の場合は、
VRN お よ び VRP ピ ン での外部基準抵抗にキ ャ リ ブ レー ト す る のですが、 こ の機能の場合は、 温度、 プ ロ セ ス、 電圧
の変動を補正す る ためのキ ャ リ ブ レーシ ョ ン ルーチンのない内部抵抗を使用す る 点です。 こ のオプシ ョ ンには、 40、
50、 60 の テ ブナ ン 等価抵抗値 を 指定で き ま す。 詳細は、 『7 シ リ ーズ FPGA SelectIO リ ソ ー ス ユーザー ガ イ ド 』
(UG471) [参照 2] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
ハ イ レ ン ジ (HR) バン ク 入力でのみ 7 シ リ ーズ デバ イ ス はサポー ト さ れてい ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
170
第 3 章 : 主な プ ロパテ ィ の説明
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
接続 さ れた入力ポー ト ま たは双方向ポー ト
値
•
NONE (デフ ォ ル ト )
•
UNTUNED_SPLIT_40
•
UNTUNED_SPLIT_50
•
UNTUNED_SPLIT_60
構文
Verilog 構文
こ の属性を設定す る には、 適切な Verilog 属性構文を最上位入力ま たは双方向ポー ト 宣言の前に配置 し ます。
(* IN_TERM = "{NONE|UNTUNED_SPLIT_40|UNTUNED_SPLIT_50|UNTUNED_SPLIT_60}" *)
Verilog の構文例
// Sets an on-chip input impedance of 50 Ohms to input ACT5
(* IN_TERM = "UNTUNED_SPLIT_50" *) input ACT5,
VHDL 構文
こ の属性を設定す る には、 適切な VHDL 属性構文を最上位入力ま たは双方向ポー ト 宣言の前に配置 し ます。
VHDL 属性は次の よ う に宣言 し ます。
attribute IN_TERM : string;
VHDL 属性は次の よ う に指定 し ます。
attribute IN_TERM of
port_name : signal is value;
説明 :
•
port_name は最上位の入力ま たは双方向ポー ト です。
VHDL の構文例
ACT5 : in std_logic;
attribute IN_TERM : string;
-- Sets an on-chip input impedance of 50 Ohms to input ACT5
attribute IN_TERM of ACT5 : signal is “UNTUNED_SPLIT_50”;
XDC 構文
set_property IN_TERM value [get_ports port_name]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
171
第 3 章 : 主な プ ロパテ ィ の説明
説明 :
•
IN_TERM はポー ト オブジ ェ ク ト 、 お よ びポー ト オブジ ェ ク ト に接続 さ れてい る ネ ッ ト に割 り 当て る こ と がで
き ます。
•
port_name は入力ま たは双方向ポー ト です。
XDC の構文例
# Sets an on-chip input impedance of 50 Ohms to input ACT5
set_property IN_TERM UNTUNED_SPLIT_50 [get_ports ACT5]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
ノ イ ズ レ ポー ト
•
消費電力レ ポー ト
関連項目
139 ページの 「DCI_CASCADE」
141 ページの 「DIFF_TERM」
INTERNAL_VREF
差動入力バ ッ フ ァ ーのシ ン グルエン ド I/O 規格には、 入力基準電圧 (VREF) が必要です。 VREF が I/O バン ク 内で必要
な場合は、 外部 VREF 供給 と し て専用 VREF ピ ン を使用す る か、 INTERNAL_VREF プ ロ パテ ィ を使用 し て内部生成
さ れた VREF を使用 し ます。 あ る いは、 UltraScale デバ イ ス の HP I/O バン ク の場合は、 HPIO_VREF プ リ ミ テ ィ ブ を
介 し てア ク セ スす る VREF ス キ ャ ン を使用 し ます。
INTERNAL_VREF プ ロ パテ ィ は、 基準電圧を必要 と す る I/O 規格の基準電圧 (VREF) を供給す る ため、 I/O バン ク に
内部レ ギ ュ レー タ を使用す る こ と を指定 し ます。 内部で生成 さ れた基準電圧を使用する と 、 プ リ ン ト 回路基板 (PCB)
の電源レールを介 し て特定の VREF を提供す る 必要がな く な り 、 シ ス テ ム レベル デザ イ ンの配線混雑を削減で き ま
す。
ヒ ン ト : 特定の VREF 電圧提供レベルを必要 と す る ザ イ リ ン ク ス デバ イ ス がそのボー ド /シ ス テ ム上の唯一のデバ イ
ス であ る 場合は、 内部 VREF を使用 し てみて く だ さ い。
詳細については、『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] ま たは 『UltraScale アーキ テ
ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
I/O バン ク (get_iobanks)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
172
第 3 章 : 主な プ ロパテ ィ の説明
値
•
0.60
•
0.675
•
0.7 (UltraScale のみ)
•
0.75
•
0.84 (UltraScale のみ)
•
0.90
注記 : すべての値がすべての タ イ プの I/O バン ク でサポー ト さ れ る わけではあ り ません。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property INTERNAL_VREF {value} [get_iobanks bank]
説明 :
•
value は基準電圧値です。
XDC の構文例
# Designate Bank 14 to have a reference voltage of 0.75 Volts
set_property INTERNAL_VREF 0.75 [get_iobanks 14]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
place_design
•
DRC
•
report_power
IO_BUFFER_TYPE
最上位ポー ト に IO_BUFFER_TYPE を適用 し 、 IBUF お よ び OBUF を使用す る か、 入力ま たは出力バ ッ フ ァ ーを使用
し ないか を設定 し ます。 こ の属性は、 任意のプ ラ イ マ リ ポー ト ま たは信号に設定で き ます。
デフ ォ ル ト では、 Vivado 合成で入力ポー ト には入力バ ッ フ ァ ーが、 出力ポー ト には出力バ ッ フ ァ ーが推論 さ れ ま す
が、 手動で IO_BUFFER_TYPE プ ロ パテ ィ を使用 し て、 指定ポー ト ま たはネ ッ ト に対 し 、 こ のデフ ォ ル ト 動作をデ ィ
ス エーブルにす る こ と がで き ます。
ヒ ン ト : IO_BUFFER_TYPE プ ロ パテ ィ を使用す る 場合は、 タ ーゲ ッ ト ネ ッ ト に KEEP が設定 さ れ る こ と にな り ます。
こ れは、 ネ ッ ト 名を保持 し 、 RTL 最適化中にネ ッ ト が削除 さ れない よ う にする ための も のです。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
173
第 3 章 : 主な プ ロパテ ィ の説明
IO_BUFFER_TYPE は、 「CLOCK_BUFFER_TYPE」 と 併用 し て使用す る と 、 ク ロ ッ ク 信号に対 し 、 推論す る べ き バ ッ
フ ァ ーの組み合わせを決め る こ と がで き ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports): IO_BUFFER_TYPE を最上位ポー ト に適用 し て、 バ ッ フ ァ ー挿入をデ ィ ス エーブルに し ます。
•
ネ ッ ト (get_nets): IO_BUFFER_TYPE を最上位ポー ト に接続 さ れてい る 任意の信号に適用 し て、 バ ッ フ ァ ー挿入
をデ ィ ス エーブルに し ます。
値 •
NONE : こ の値を入力ポー ト ま たは出力ポー ト に指定す る と 、 入力ま たは出力バ ッ フ ァ ーは推論 さ れな く な り ま
す。
構文 Verilog 例
(* io_buffer_type = "none" *) input in1;
VHDL コ ー ド 例
entity test is port(
in1 : std_logic_vector (8 downto 0);
clk : std_logic;
out1 : std_logic_vector(8 downto 0));
attribute io_buffer_type : string;
attribute io_buffer_type of out1: signal is "none";
end test;
XDC の例
set_property IO_BUFFER_TYPE NONE [get_ports <port_name>]
影響のある処理
•
合成
関連項目 128 ページの 「CLOCK_BUFFER_TYPE」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
174
第 3 章 : 主な プ ロパテ ィ の説明
IOB
IOB を使用す る と 、Vivado ツールで入力ま たは出力 ロ ジ ッ ク ブ ロ ッ ク (I/O ブ ロ ッ ク ま たは IOB) に接続 さ れた レ ジ ス
タ が配置 さ れ る よ う にな り 、 タ イ ミ ン グが改善 さ れ ます。 こ の属性は、 I/O バ ッ フ ァ ーに配置す る レ ジ ス タ に接続 さ
れたポー ト に設定 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
レ ジ ス タ に接続 さ れ る ポー ト すべて
値
•
TRUE : 接続 し た レ ジ ス タ を I/O ブ ロ ッ ク に配置 し ます。
•
FALSE : 指定 し た レ ジ ス タ を I/O ブ ロ ッ ク に配置 し ません(デフ ォ ル ト )。
構文
Verilog 構文
こ の属性を設定す る には、 適切な Verilog 属性構文を最上位ポー ト 宣言の前に配置 し ます。
(* IOB = "{TRUE|FALSE}" *)
Verilog の構文例
// Place the register connected to ACK in the input logic site
(* IOB = "TRUE" *) input ACK,
VHDL 構文
こ の属性を設定す る には、 適切な VHDL 属性構文を最上位ポー ト 宣言の前に配置 し ます。
VHDL 属性は次の よ う に宣言 し て指定 し ます。
attribute IOB : string;
attribute IOB of <port_name>: signal is "{TRUE|FALSE}";
説明 :
•
port_name は最上位ポー ト です。
VHDL の構文例
ACK : in std_logic;
attribute IOB : string;
-- Place the register connected to ACK in the input logic site
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
175
第 3 章 : 主な プ ロパテ ィ の説明
attribute IOB of ACK: signal is "TRUE";
XDC 構文
set_property IOB value [get_ports port_name]
説明 :
•
value は TRUE ま たは FALSE です。
XDC の構文例
# Place the register connected to ACK in the input logic site
set_property IOB TRUE [get_ports ACK]
影響のある処理
•
place_design
IOBDELAY
IOBDELAY (Input Output Block Delay) プ ロ パテ ィ は、 シ ス テ ム同期デー タ 入力を取 り 込むための入力ホール ド タ イ ム
を緩和す る ため、 ILOGIC ブ ロ ッ ク の遅延の追加/削除を指定 し ます。
ILOGIC ブ ロ ッ ク は I/O ブ ロ ッ ク (IOB) の隣にあ り 、 IOB を介 し て FPGA にデー タ が入 る たびにそのデー タ を取 り 込
む同期エ レ メ ン ト を含んでい ます。 7 シ リ ーズ FPGA の ILOGIC ブ ロ ッ ク は、 HP I/O バン ク では ILOGICE2 と し て、
HR I/O バン ク では ILOGICE3 と し て コ ン フ ィ ギ ュ レーシ ョ ンする こ と がで き ます。 ILOGICE2 と ILOGICE3 は機能的
には同 じ ですが、 ILOGICE3 には IOBDELAY と と も に コ ン フ ィ ギ ュ レーシ ョ ン で き る ゼ ロ ホール ド 遅延エ レ メ ン ト
(ZHOLD) があ る のが違いです。IOBDELAY の詳細は、『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471)
[参照 2] ま たは 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
•
セル
•
ネッ ト
値
•
NONE : IBUF お よ び入力フ リ ッ プ フ ロ ッ プ (IFD) パ ス の両方に対 し 、 遅延を OFF に設定 し ます。
•
IBUF
•
°
I/O コ ン ポーネ ン ト 内の任意の レ ジ ス タ に対 し 、 遅延を OFF に設定 し ます。
°
ILOGIC ブ ロ ッ ク ま でのバ ッ フ ァ ーの付いたパ ス に対 し 、 遅延を ON に設定 し ます。
IFD
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
176
第 3 章 : 主な プ ロパテ ィ の説明
•
°
I/O コ ン ポーネ ン ト 内の IFF レ ジ ス タ に対 し 、 遅延を ON に設定 し ます。
°
ILOGIC ブ ロ ッ ク ま でのバ ッ フ ァ ーの付いたパ ス に対 し 、 遅延を OFF に設定 し ます。
BOTH : IBUF お よ び IFD パス の両方に対 し 、 遅延を ON に設定 し ます。
構文
Verilog 例
Verilog 制約をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。
Verilog 制約は次の よ う に指定 し ます。
(* IOBDELAY = {NONE|BOTH|IBUF|IFD} *)
VHDL コ ー ド 例
VHDL 制約は次の よ う に宣言 し ます。
attribute iobdelay: string;
VHDL 制約は次の よ う に指定 し ます。
attribute iobdelay of {component_name |label_name }: {component|label} is
“{NONE|BOTH|IBUF|IFD}”;
XDC 構文
set_property IOBDELAY value [get_cells cell_name]
説明 :
•
value には、 NONE、 IBUF、 IFD、 BOTH のいずれかが入 り ます。
XDC の構文例
set_property IOBDELAY "BOTH" [get_nets
{data0_I}]
影響のある処理
•
タ イ ミ ング
•
配置
•
配線
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
177
第 3 章 : 主な プ ロパテ ィ の説明
IODELAY_GROUP
IODELAY_GROUP は IDELAYCTRL セルを関連す る IDELAY お よ び ODELAY セル と と も にグループに ま と め、 配置
お よ び複製が正 し く 行われ る よ う に し ます。
IODELAY_GROUP を使用 し て IDELAYCTRL にグループ名を割 り 当て る 場合は、 同 じ IODELAY_GROUP プ ロ パテ ィ
を使用 し てそのグループに IDELAY ま たは ODELAY セル も 関連付け る 必要があ り ます。
重要 : IODELAY_GROUP には複数のセルを含め る こ と がで き ますが、 1 つのセルに 1 つの IODELAY_GROUP し か割
り 当て ら れません。 .
次の例は、 set_property を使用 し て、 特定の IDELAYCTRL に関連付け ら れてい る IDELAY/ODELAY エ レ メ ン ト をす
べて グループに ま と めてい ます。
set_property IODELAY_GROUP IO_DLY1 [get_cells MY_IDELAYCTRL_inst]
set_property IODELAY_GROUP IO_DLY1 [get_cells MY_IDELAY_inst]
set_property IODELAY_GROUP IO_DLY1 [get_cells MY_ODELAY_inst]
IODELAY_GROUP と HIODELAY_GROUP の相違点 IODELAY_GROUP は違 う 階層にあ る エ レ メ ン ト 同士を ま と め る こ と がで き ますが、 HIODELAY_GROUP の名前は階
層 ご と に 決 め ら れ て い ま す。 異 な る 階 層 の I/O 遅延 コ ン ポ ー ネ ン ト を 1 つ の グ ル ー プ に ま と め る に は、
IODELAY_GROUP を使用 し ます。
HIODELAY_GROUP は、 同 じ 階層モジ ュ ールにあ る I/O 遅延コ ン ポーネ ン ト を グループに ま と め ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
IDELAY、 ODELAY、 ま たは IDELAYCTRL イ ン ス タ ン ス
値
指定 し た グループ名
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
178
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog 構文
Verilog 属性は IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。
(* IODELAY_GROUP = "value" *)
Verilog の構文例
//
//
//
//
//
Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
IDELAYCTRL: IDELAYE2/ODELAYE2 Tap Delay Value Control
Virtex-7
Xilinx HDL Language Template, version 2014.1
Specifies DDR_INTERFACE group name for IDELAYs/ODELAYs and IDELAYCTRL
(* IODELAY_GROUP = “DDR_INTERFACE” *)
IDELAYCTRL DDR_IDELAYCTRL_inst (
.RDY(),
// 1-bit output: Ready output
.REFCLK(REFCLK), // 1-bit input: Reference clock input
.RST(1’b0)
// 1-bit input: Active high reset input
);
// End of DDR_IDELAYCTRL_inst instantiation
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute IODELAY_GROUP : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute IODELAY_GROUP of instance_name : label is "group_name";
説明 :
•
instance_name は イ ン ス タ ン シエー ト 済みの IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン ス名です。
VHDL の構文例
// Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
attribute IODELAY_GROUP : STRING;
attribute IODELAY_GROUP of DDR_IDELAYCTRL_inst: label is "DDR_INTERFACE";
begin
-- IDELAYCTRL: IDELAYE2/ODELAYE2 Tap Delay Value Control
-Virtex-7
-- Xilinx HDL Language Template, version 2014.1
DDR_IDELAYCTRL_inst : IDELAYCTRL
port map (
RDY => open,
-- 1-bit output: Ready output
REFCLK => REFCLK, -- 1-bit input: Reference clock input
RST => ‘0’
-- 1-bit input: Active high reset input
);
-- End of DDR_IDELAYCTRL_inst instantiation
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
179
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
set_property IODELAY_GROUP group_name [get_cells instance_name]
説明 :
•
group_name はユーザー指定の IODELAY_GROUP 名です。
•
instance_name は IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン ス名です。
XDC の構文例
# Specifies a group name of DDR_INTERFACE to an instantiated IDELAYCTRL
set_property IODELAY_GROUP DDR_INTERFACE [get_cells DDR_IDELAYCTRL_inst]
影響のある処理
•
配置
関連項目
163 ページの 「HIODELAY_GROUP」
『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ
ブ ラ リ ガ イ ド 』 (UG974) [参照 26] にあ る 次のデザ イ ン エ レ メ ン ト を参照 し て く だ さ い。
°
IDELAYCTRL
°
IDELAYE2
°
ODELAYE2
IOSTANDARD
IOSTANDARD は、 タ ーゲ ッ ト デバ イ ス で入力、 出力、 ま たは双方向ポー ト を コ ン フ ィ ギ ュ レーシ ョ ンす る のに ど の
プ ロ グ ラ マブル I/O 規格を使用す る か を指定 し ます。
重 要 : Vivado Design Suite が デ ザ イ ン か ら ビ ッ ト ス ト リ ー ム を 生成す る 前 に、 I/O バ ン ク の す べ て の ポ ー ト で
IOSTANDARD を定義す る 必要があ り ます。 ただ し 、 IOSTANDARD は GT ま たは XADC には適用で き ません。
1 つの I/O バン ク に複数の異な る IOSTANDARD を含め る こ と がで き ますが、 こ れ ら の IOSTANDARD には互換性が
な く てはな り ません。 1 つの I/O バン ク に異な る 入力、 出力、 双方向 I/O 規格を組み合わせ る 場合は、 次のルールに
従っ て く だ さ い。
1.
同 じ 出力 CCO 要件を持つ出力規格は、 同 じ バン ク に ま と め る こ と がで き ます。
2.
同 じ CCO お よ び VREF要件を持つ入力規格は、 同 じ バン ク に ま と め る こ と がで き ます。
3.
同 じ CCO 要件を持つ入力規格お よ び出力規格は、 同 じ バン ク に ま と め る こ と がで き ます。
4.
ほかの規格 と 双方向 I/O 規格を組み合わせる 場合は、 双方向規格が最初の 3 つのルールに沿っ てい る こ と を確認
し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
180
第 3 章 : 主な プ ロパテ ィ の説明
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
任意のポー ト - I/O ポー ト の RTL ソ ース で IOSTANDARD を定義す る か、 ポー ト セルの XDC 制約 と し て定
義 し ます。
値
タ ーゲ ッ ト にす る ザ イ リ ン ク ス FPGA に よ っ て有効な I/O 規格は異な り ます。 デバ イ ス別の IOSTANDARD について
は、 『7 シ リ ー ズ FPGA SelectIO リ ソ ー ス ユーザー ガ イ ド 』 (UG471) [参照 2] お よ び 『UltraScale ア ー キ テ ク チ ャ
SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。
構文
Verilog 構文
こ のパ ラ メ ー タ ーを設定す る には、 適切な Verilog 構文を最上位ポー ト 宣言の前に配置 し ます。
(* IOSTANDARD = "value" *)
Verilog の構文例
// Sets the I/O Standard on the STATUS output to LVCMOS12
(* IOSTANDARD = "LVCMOS12" *) output STATUS,
VHDL 構文
適切な VHDL 属性構文を最上位ポー ト 宣言の前に配置 し ます。
VHDL 属性は次の よ う に宣言 し て指定 し ます。
attribute IOSTANDARD : string;
attribute IOSTANDARD of <port_name>: signal is "<standard>";
説明 :
•
port_name は最上位出力ポー ト です。
VHDL の構文例
STATUS : out std_logic;
attribute IOSTANDARD : string;
-- Sets the I/O Standard on the STATUS output to LVCMOS12
attribute IOSTANDARD of STATUS: signal is "LVCMOS12";
XDC 構文
IOSTANDARD は、 デザ イ ン内のポー ト オブジ ェ ク ト に XDC 制約 と し て定義する こ と も で き ます。
set_property IOSTANDARD value [get_ports port_name]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
181
第 3 章 : 主な プ ロパテ ィ の説明
説明 :
•
port_name は最上位ポー ト です。
XDC の構文例
# Sets the I/O Standard on the STATUS output to LVCMOS12
set_property IOSTANDARD LVCMOS12 [get_ports STATUS]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
ノ イ ズ レ ポー ト
•
消費電力レ ポー ト
•
DRC レ ポー ト
•
place_design
関連項目
『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ
ブ ラ リ ガ イ ド 』 (UG974) [参照 26] にあ る 次のデザ イ ン エ レ メ ン ト を参照 し て く だ さ い。
•
OBUF
•
OBUFT
•
IOBUF
IP_REPO_PATHS
こ のプ ロ パテ ィ を使用す る と 、 Vivado Design Suite で使用す る カ ス タ ム IP カ タ ロ グ を作成で き ます。
IP_REPO_PATHS プ ロ パテ ィ は、 サー ド パーテ ィ ま たはユーザー定義の IP を含む 1 つま たは複数のデ ィ レ ク ト リ への
パ ス を定義 し ま す。 指定 し たデ ィ レ ク ト リ お よ び下位デ ィ レ ク ト リ で IP 定義が検索 さ れ、 Vivado Design Suite IP カ
タ ロ グに追加 さ れ、 デザ イ ン入力や IP イ ン テ グ レー タ ー機能で使用で き る よ う にな り ます。
こ のプ ロ パテ ィ は、 現在のプ ロ ジ ェ ク ト の現在の フ ァ イ ルセ ッ ト に割 り 当て ら れます。
ヒ ン ト : IP_REPO_PATHS プ ロ パテ ィ が作成時にそれぞれの新規プ ロ ジ ェ ク ト に割 り 当て ら れ る よ う に Vivado Design
Suite を設定す る には、 Vivado IDE で [Tools] →[Options] → [General] → [IP Catalog] フ ィ ール ド の [Default IP Repository
Search Paths] でパ ス を指定 し ます。 こ のデフ ォ ル ト の IP リ ポジ ト リ 検索パ ス は、 vivado.ini フ ァ イ ルに保存 さ れ、
IP_REPO_PATHS を使用 し て新 し いプ ロ ジ ェ ク ト に追加 さ れます。
IP_REPO_PATHS は <component>.xml フ ァ イ ルを検索 し ま す。 こ の <component> はカ タ ロ グ に追加す る IP の名前で
す。 XML フ ァ イ ルでは、 IP を定義する さ ま ざ ま な フ ァ イ ルが識別 さ れます。 IP_REPO_PATHS プ ロ パテ ィ では、 リ ポ
ジ ト リ の各 IP の XML フ ァ イ ルを直接指定する 必要はあ り ません。 IP カ タ ロ グが指定 し た IP リ ポジ ト リ の下位フ ォ
ルダーか ら 、 カ タ ロ グに追加す る IP が検索 さ れます。
重要 : IP_REPO_PATHS プ ロ パテ ィ に IP カ タ ロ グへ追加 さ れ る 新 し い IP リ ポジ ト リ デ ィ レ ク ト リ が含ま れ る よ う に
設定 し た後は、 update_ip_catalog コ マ ン ド を使用す る 必要があ り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
182
第 3 章 : 主な プ ロパテ ィ の説明
リ ポジ ト リ のサー ド パーテ ィ ま たはユーザー定義 IP で現在のプ ロ ジ ェ ク ト ま たはデザ イ ン で使用中のデバ イ ス の製
品 フ ァ ミ リ がサポー ト さ れ る 場合、 その IP はカ タ ロ グ に互換性の あ る IP と し て追加 さ れ ま す。 IP の互換性に タ ー
ゲ ッ ト パーツ が含まれない場合、 その IP が現在のプ ロ ジ ェ ク ト ま たはデザ イ ン と 互換性がな く 、 IP カ タ ロ グには表
示 さ れない こ と があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 16] を
参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
current_fileset
値
•
<dir_name> - ユーザー定義 IP が格納 さ れ る 1 つま たは複数のデ ィ レ ク ト リ 名を指定 し ます。 デ ィ レ ク ト リ 名は、
相対的ま たは絶対的に指定で き 、 別々に指定す る か、 スペース で区切っ て指定 し 、 中か っ こ { } か二重引用符 " "
で囲む必要があ り ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property IP_REPO_PATHS {<ip_directories>} [current_fileset]
説明 :
•
<ip_directories> は、 サー ド パーテ ィ ま たはユーザー定義のパ ッ ケージ さ れた IP 定義を含むデ ィ レ ク ト リ を 1 つ
ま たは複数指定 し ます。
XDC の構文例
set_property IP_REPO_PATHS {c:/Data/Designs C:/myIP} [current_fileset]
update_ip_catalog
使用可能な段階
•
デザ イ ン入力
IS_ENABLED
IS_ENABLED プ ロ パテ ィ は、 Report DRC を 実行す る と き 、 Vivado Design Suite で個々のデザ イ ン ルール チ ェ ッ ク
(DRC) を イ ネーブルにす る かデ ィ ス エーブルにす る か決め る こ と がで き ます。DRC の実行に関 し ては、『Vivado Design
Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
183
第 3 章 : 主な プ ロパテ ィ の説明
ビル ト イ ン DRC で も カ ス タ ム DRC で も 、 イ ネーブル/デ ィ ス エーブルにす る こ と がで き ます。 カ ス タ ム のデザ イ ン
ルール チ ェ ッ ク を記述す る 場合は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参
照 14] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
重要 : Vivado ではビル ト イ ン DRC オブジ ェ ク ト の重要度をデ ィ ス エーブルに し た り 、 格下げす る こ と がで き ますが、
不測の結果を招いた り 、デバ イ ス を恒久的に損傷 し て し ま う 可能性があ る ため、で き る 限 り 変更は し ないで く だ さ い。
DRC オブジ ェ ク ト をデフ ォ ル ト 設定に リ セ ッ ト する には、 reset_drc_check と い う Tcl コ マ ン ド を使用 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
デザ イ ン ルールチ ェ ッ ク オブジ ェ ク ト (get_drc_checks)
値
•
TRUE : report_drc コ マ ン ド 実行中に使用する 指定 DRC を イ ネーブルに し ます。 (デフ ォ ル ト )。
•
FALSE : report_drc 実行中にルールが評価 さ れない よ う に、 DRC をデ ィ ス エーブルに し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property IS_ENABLED {TRUE | FALSE} [get_drc_checks <id>]
説明 :
•
<id> は Vivado Design Suite で認識 さ れ る DRC ID です。
XDC の構文例
set_property IS_ENABLED false [get_drc_checks RAMW-1]
影響のある処理
•
report_drc
•
write_bitstream
関連項目 239 ページの 「SEVERITY」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
184
第 3 章 : 主な プ ロパテ ィ の説明
KEEP
最適化が実行 さ れない よ う にす る には、 KEEP 属性を使用 し ます。 信号が削除 さ れた り ロ ジ ッ ク ブ ロ ッ ク に吸収 さ れ
る よ う な場合に、 こ の属性を指定す る と 、 配置 さ れた信号を保持 し 、 その信号を ネ ッ ト リ ス ト に抽出で き る よ う にな
り ます。
た と えば、 2 ビ ッ ト の AND ゲー ト の出力で別の AND ゲー ト を駆動する 信号に KEEP 制約を設定す る と 、 信号は両方
の AND ゲー ト を含む よ り 大 き い LUT には統合 さ れません。
KEEP は、 タ イ ミ ン グ制約 と も よ く 併用 さ れます。 通常は最適化 さ れ る 信号に タ イ ミ ン グ制約が設定 さ れてい る 場合、
KEEP を設定す る と 最適化 さ れな く な り 、 正 し い タ イ ミ ン グ規則が使用 さ れます。
ただ し 、何 も 駆動 し ていない信号に KEEP を設定する 際には注意が必要です。 こ う いっ た信号が合成で保持 さ れ る と 、
ダ ウ ン ス ト リ ーム プ ロ セ ス で問題 と な る こ と があ り ます。
注記 : KEEP はモジ ュ ールま たはエン テ ィ テ ィ のポー ト には設定で き ません。 特定のポー ト を保持す る 必要があ る 場
合は、 flatten_hierarchy = “none” に設定す る か、 モジ ュ ールま たはエン テ ィ テ ィ 自体に DONT_TOUCH を設定 し ます。
注意 : KEEP を ほかの属性 と 共に使用す る 場合は注意が必要です。 ほかの属性が KEEP 属性 と 競合す る 場合、 通常
KEEP 属性が優先 さ れます。
例:
•
あ る 信号に MAX_FANOUT 属性が設定 さ れてお り 、 こ の信号で駆動 さ れ る 信号に KEEP 属性が設定 さ れてい る
場合、 KEEP 属性が設定 さ れてい る 信号ではフ ァ ン ア ウ ト 複製は実行 さ れません。
•
RAM STYLE="block" と 設定 さ れてい る 場合、 その RAM の一部 と な る べ き レ ジ ス タ に KEEP が設定 さ れてい る
と 、 KEEP 属性のためにブ ロ ッ ク RAM が推論 さ れません。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
こ の属性は信号、 レ ジ ス タ 、 ワ イ ヤに設定で き ます。
°
get_nets
°
get_cells
値
•
TRUE : 信号を保持 し ます。
•
FALSE : 信号が必要に応 じ て最適化 さ れ る よ う に し ます。 FALSE を使用 し て も 、 信号が無条件に削除 さ れ る こ と
はあ り ません。 デフ ォ ル ト は FALSE です。
推奨 : こ の属性は RTL のみで設定 し て く だ さ い。 XDC フ ァ イ ルが読み込ま れ る 前に、 保持す る 必要のあ る 信号が最
適化で削除 さ れて し ま う こ と があ り ます。 こ の属性を RTL で設定 し ておけば、 必ず適用 さ れます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
185
第 3 章 : 主な プ ロパテ ィ の説明
構文
こ のセ ク シ ョ ンの構文例は、 特定の ツールま たは手法で こ の制約を使用する 方法を示 し てい ます。 ツールま たは手法
が リ ス ト さ れていない場合は、 その ツールま たは手法では こ の制約は使用で き ません。
Verilog 構文
Verilog 制約をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。
Verilog 制約は次の よ う に指定 し ます。
(* KEEP = “{TRUE|FALSE|SOFT}” *)
Verilog 例
(* keep = “true” *) wire sig1;
assign sig1 = in1 & in2;
assign out1 = sig1 & in2;
VHDL 構文
VHDL 制約は次の よ う に宣言 し ます。
attribute keep : string;
VHDL 制約は次の よ う に指定 し ます。
attribute keep of signal_name : signal is “{TRUE|FALSE}”;
VHDL 例
signal sig1 : std_logic;
attribute keep : string;
attribute keep of sig1 : signal is “true”;
....
....
sig1 <= in1 and in2;
out1 <= sig1 and in3;
XDC 構文
該当な し
使用可能な段階
•
合成
関連項目
147 ページの 「DONT_TOUCH」
188 ページの 「KEEP_HIERARCHY」
202 ページの 「MARK_DEBUG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
186
第 3 章 : 主な プ ロパテ ィ の説明
KEEP_COMPATIBLE
FPGA デザ イ ン プ ロ セ ス 中に、 デバ イ ス を よ り 大 き い も のや、 別のパーツ に変更す る 必要が出て く る こ と があ り ま
す。 KEEP_COMPATIBLE プ ロ パテ ィ では、 必要に応 じ てデザ イ ンの タ ーゲ ッ ト デバ イ ス を変更す る こ と がで き る よ
う に、 現在のデザ イ ン と 互換性があ る はずの 1 つま たは複数のザ イ リ ン ク ス FPGA パーツの リ ス ト を定義 し ます。 こ
れに よ り 、 指定 し たデバ イ ス間には互換性のない IO ま たは PACKAGE_PINS が使用 さ れない よ う にな り 、 デザ イ ン
が現在のパーツ ま たは互換性のあ る パーツにマ ッ プで き る よ う にな り ます。
KEEP_COMPATIBLE プ ロ パテ ィ を使用する と 、 I/O ピ ン割 り 当てが指定 し た互換性のあ る デバ イ ス の リ ス ト 間で動作
す る よ う に、 デザ イ ン フ ロ ーの早期段階で互換性のあ る 代替デバ イ ス を定義で き ます。 Vivado Design Suite では、 全
パーツ で共通ではない ピ ンへ I/O ポー ト が割 り 当て ら れない よ う にパ ッ ケージ ピ ン に PROHIBIT プ ロ パテ ィ が定義
さ れます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
current_design
値
COMPATIBLE_PART は、 現在の タ ーゲ ッ ト パーツのデバ イ ス と パ ッ ケージ を組み合わせて定義 さ れます。 た と えば、
xc7k70tfbg676-2 パーツには、 次の よ う なプ ロ パテ ィ があ り ます。
NAME xc7k325tffg676-2
DEVICE xc7k325t
PACKAGE ffg676
COMPATIBLE_PARTS xc7k160tfbg676 xc7k160tffg676 xc7k325tfbg676
xc7k410tfbg676 xc7k410tffg676 xc7k70tfbg676
パーツ オブジ ェ ク ト の COMPATIBLE_PARTS プ ロ パテ ィ では、 さ ま ざ ま な DEVICE お よ び PACKAGE が リ ス ト さ れ
ます。 SPEED は指定 さ れません。 こ の結果、 互換性のあ る パーツは次の よ う にな り ます。
xc7k160tfbg676-1
xc7k160tfbg676-2
xc7k160tfbg676-2L
xc7k160tfbg676-3
xc7k160tffg676-1
xc7k160tffg676-2
xc7k160tffg676-2L
xc7k160tffg676-3
xc7k325tfbg676-1
xc7k325tfbg676-2
xc7k325tfbg676-2L
xc7k325tfbg676-3
xc7k410tfbg676-1
xc7k410tfbg676-2
xc7k410tfbg676-2L
xc7k410tfbg676-3
xc7k410tffg676-1
xc7k410tffg676-2
xc7k410tffg676-2L
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
187
第 3 章 : 主な プ ロパテ ィ の説明
xc7k410tffg676-3
xc7k70tfbg676-1
xc7k70tfbg676-2
xc7k70tfbg676-2L
xc7k70tfbg676-3
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property KEEP_COMPATIBLE {value1 value2 valueN} [current_design]
{value1 value2 valueN} は、 PART オブジ ェ ク ト に定義 さ れ る 、 1 つま たは複数の COMPATIBLE_PARTS にな り ます。 現
在のデザ イ ンの タ ーゲ ッ ト パーツ に対する COMPATIBLE_PART は、 次の Tcl コ マ ン ド を使用する と 取得で き ます。
get_property COMPATIBLE_PARTS [get_property PART [current_design]]
XDC の構文例
set_property KEEP_COMPATIBLE {xc7k160tfbg676 xc7k410tffg676} [current_design]
使用可能な段階
•
I/O プ ラ ン ニ ン グ
•
配置
KEEP_HIERARCHY
KEEP_HIERARCHY は、 最適化がバ ウ ン ダ リ を越えて実行 さ れない よ う にす る ため、 ユーザー階層の保持を指示 し ま
す。 こ れで フ ロ アプ ラ ン、 解析、 デバ ッ グが し やす く な り ますが、 最適化が抑止 さ れ る ので、 デザ イ ンが大き く 、 遅
く な っ て し ま う こ と があ り ます。
推奨 : 悪影響が出ない よ う にす る には、KEEP_HIERARCHY が適用 さ れてい る モジ ュ ール イ ン ス タ ン ス の出力すべて
に レ ジ ス タ を付け ます。 こ の属性は、 合成前に適用す る と 最 も 効果的です。
KEEP_HIERARCHY は、 階層レベルが変更 さ れない よ う にす る ためのプ ロ パテ ィ です。 Vivado 合成では、 RTL で指定
さ れたの と 同 じ 階層が保持 さ れ る よ う に し ますが、 QoR (結果の品質) を改善す る ために階層が フ ラ ッ ト に さ れた り 、
変更 さ れ る こ と も あ り ます。
イ ン ス タ ン ス に KEEP_HIERARCHY を指定す る と 、 合成でその階層レベルは変更 さ れません。
こ れが QoR に影響を与え る 場合があ り ます。 ま た、 ト ラ イ ス テー ト 出力お よ び I/O バ ッ フ ァ ーの制御 ロ ジ ッ ク を記述
す る モジ ュ ールには使用 し ないで く だ さ い。 KEEP_HIERARCHY は、 モジ ュ ール、 アーキ テ ク チ ャ レベル、 ま たは
イ ン ス タ ン ス に指定で き ます。 RTL でのみ設定可能です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
188
第 3 章 : 主な プ ロパテ ィ の説明
アーキテ ク チ ャ サポー ト
すべて
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
ユーザー定義の イ ン ス タ ン ス
値
•
FALSE (デフ ォ ル ト )
階層を越え て最適化 さ れます。
•
TRUE
最適化が階層バ ウ ン ダ リ を越え ない よ う にな り 、 階層が保持 さ れます。
構文
Verilog 構文
Verilog 属性をユーザーの階層 イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。
(* KEEP_HIERARCHY = "{TRUE|FALSE}" *)
Verilog の構文例
// Preserve the hierarchy of instance CLK1_rst_sync
(* KEEP_HIERARCHY = "TRUE" *) reset_sync #(
.STAGES(5)
) CLK1_rst_sync (
.RST_IN(RST | ~LOCKED),
.CLK(clk1_100mhz),
.RST_OUT(rst_clk1)
);
モ ジ ュ ールの場合
(* keep_hierarchy = "yes" *) module bottom (in1, in2, in3, in4, out1, out2);
イ ン ス タ ン スの場合
(* keep_hierarchy = "yes" *)bottom u0 (.in1(in1), .in2(in2), .out1(temp1));
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute KEEP_HIERARCHY : string;
VHDL 属性は次の よ う に指定 し ます。
attribute KEEP_HIERACHRY of name: label is "{TRUE|FALSE}";
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
189
第 3 章 : 主な プ ロパテ ィ の説明
説明 :
•
name はユーザー定義の イ ン ス タ ン ス の名前です。
VHDL の構文例
attribute KEEP_HIERARCHY : string;
-- Preserve the hierarchy of instance CLK1_rst_sync
attribute KEEP_HIERARCHY of CLK1_rst_sync: label is "TRUE";
…
CLK1_rst_sync : reset_sync
PORT MAP (
RST_IN => RST_LOCKED,
CLK => clk1_100mhz,
RST_OUT
=> rst_clk1
);
モ ジ ュ ールの場合
attribute keep_hierarchy : string;
attribute keep_hierarchy of beh : architecture is "yes";
イ ン ス タ ン スの場合
attribute keep_hierarchy : string;
attribute keep_hierarchy of u0 : label is "yes";
XDC 構文
set_property KEEP_HIERARCHY {TRUE|FALSE} [get_cells instance_name]
説明 :
•
instance_name はレ ジ ス タ イ ン ス タ ン ス です。
XDC の構文例
# Preserve the hierarchy of instance CLK1_rst_sync
set_property KEEP_HIERARCHY TRUE [get_cells CLK1_rst_sync]
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
opt_design
•
phys_opt_design
•
synth_design
関連項目
147 ページの 「DONT_TOUCH」
185 ページの 「KEEP」
202 ページの 「MARK_DEBUG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
190
第 3 章 : 主な プ ロパテ ィ の説明
KEEPER
重要 : KEEPER プ ロ パテ ィ はサポー ト さ れな く な り ま し た。 「PULLTYPE」 に置き 換え て く だ さ い。
KEEPER は、 ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク ド ラ イ バーを適用 し 、駆動 さ れていない と き に値を
保持 し ます。 ポー ト に接続 さ れ る 出力ネ ッ ト の値が保持 さ れます。
た と えば、 指定 し たポー ト を介 し て ロ ジ ッ ク 1 が駆動 さ れ る 場合、 KEEPER は ウ ィ ー ク ま たは抵抗 1 を そのポー ト ま
で駆動 し ま す。 その後ネ ッ ト ド ラ イ バーが ト ラ イ ス テー ト 状態に な る と 、 KEEPER は接続 さ れた ポー ト を 介 し て
ウ ィ ー ク ま たは抵抗 1 を ネ ッ ト に駆動 し 続け、 値を保持 し ます。
入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど
) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま
す。 バ ッ フ ァ ーに接続 さ れてい る ポー ト オブジ ェ ク ト に次の値のいずれか を設定 し て、 PULLTYPE プ ロ パテ ィ を追
加す る と 、 こ の機能を実行で き ます。
•
PULLUP
•
PULLDOWN
•
KEEPER
注記 : こ の属性が適用 さ れた場合、 RTL シ ミ ュ レーシ ョ ン中には KEEPER 機能が表示 さ れないので、 RTL シ ミ ュ レー
シ ョ ン と イ ンプ リ メ ン ト 済みデザ イ ン間の機能的な差が出て く る 可能性があ り ます。 こ の機能は、 ゲー ト レベルのシ
ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。あ る いは、 こ のプ ロ パテ ィ を使用する 代わ り に、PULLDOWN
UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ンに こ の動作を反映 さ せます。
アーキテ ク チ ャ サポー ト
すべて
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports): 最上位ポー ト に適用 し ます。
値
•
TRUE | YES : 指定 し たポー ト に接続 さ れたネ ッ ト の値を保持する ためキーパー回路を使用 し ます。
•
FALSE | NO : キーパー回路を使用 し ません。 デフ ォ ル ト です。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
191
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog 構文
Verilog 制約を ポー ト 宣言の直前に配置 し ます。
Verilog 制約は次の よ う に指定 し ます。
(* KEEPER = " {YES|NO|TRUE|FALSE}" *)
VHDL 構文
VHDL 制約は次の よ う に宣言 し て指定 し ます。
attribute keeper: string;
attribute keeper of signal_name : signal is “{YES|NO|TRUE|FALSE}”;
XDC 構文
set_property KEEPER {TRUE|FALSE} [get_ports port_name]
説明 :
•
port_name は、 入力、 出力、 入出力ポー ト の名前です。
XDC の構文例
# Use a keeper circuit to preserve the value on the specified port
set_property KEEPER TRUE [get_ports wbWriteOut]
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
関連項目
221 ページの 「PULLDOWN」
222 ページの 「PULLTYPE」
224 ページの 「PULLUP」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
192
第 3 章 : 主な プ ロパテ ィ の説明
LOC
LOC は、 タ ーゲ ッ ト のザ イ リ ン ク ス FPGA のデバ イ ス リ ソ ース に ロ ジ ッ ク セルを配置 し ます。
推奨 : デバ イ ス パ ッ ケージの物理的ピ ン に I/O ポー ト を割 り 当て る には、 LOC ではな く PACKAGE_PIN プ ロ パテ ィ
を使用 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
プ リ ミ テ ィ ブ セルすべて
値
サ イ ト 名 (SLICE_X15Y14 ま たは RAMB18_X6Y9 な ど)
構文
Verilog 構文
Verilog 属性は コ ン ポーネ ン ト の イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。
推論 さ れた レ ジ ス タ の SRL ま たは LUTRAM の reg を 1 つのデバ イ ス サ イ ト に配置で き る 場合は、 こ の Verilog 属性
はその reg 宣言前に も 配置で き ます。
(* LOC = "site_name" *)
// Designates placed_reg to be placed in SLICE site SLICE_X0Y0
(* LOC = "SLICE_X0Y0" *) reg placed_reg;
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute LOC : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute LOC of instance_name : label is "site_name";
説明 :
•
instance_name は イ ン ス タ ン シエー ト 済みプ リ ミ テ ィ ブの イ ン ス タ ン ス名です。
VHDL の構文例
-- Designates instantiated register instance placed_reg to be placed
-- in SLICE site SLICE_X0Y0
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
193
第 3 章 : 主な プ ロパテ ィ の説明
attribute LOC of placed_reg : label is "SLICE_X0Y0";
推論済み イ ン ス タ ン ス の場合、 VHDL 属性は次の よ う に指定 し ます。
attribute LOC of signal_name : signal is "site_name";
説明 :
•
signal_name は 1 つのサ イ ト に配置可能な推論済みプ リ ミ テ ィ ブの信号名です。
VHDL の構文例
-- Designates inferred register placed_reg to be placed in SLICE site SLICE_X0Y0
attribute LOC of placed_reg : signal is "SLICE_X0Y0";
XDC 構文
set_property LOC site_name [get_cells instance_name]
説明 :
•
instance_name はプ リ ミ テ ィ ブ イ ン ス タ ン ス です。
XDC の構文例
# Designates placed_reg to be placed in SLICE site SLICE_X0Y0
set_property LOC SLICE_X0Y0 [get_cells placed_reg]
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
place_design
関連項目
123 ページの 「BEL」
207 ページの 「PACKAGE_PIN」
210 ページの 「PBLOCK」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
194
第 3 章 : 主な プ ロパテ ィ の説明
LOCK_PINS
LOCK_PINS はセル プ ロ パテ ィ で、 ザ イ リ ン ク ス FPGA デバ イ ス リ ソ ース の物理 LUT 入力 (A6、 A5、 A4...) への論理
LUT 入力 (I0、 I1、 I2...) のマ ッ ピ ン グ を指定 し ます。 タ イ ミ ン グ ク リ テ ィ カルな LUT 入力を、 最高速の A6 お よ び A5
の物理 LUT 入力にマ ッ プす る ために使用す る のが一般的です。
デフ ォ ル ト では、 LUT ピ ンは番号の大 き い も のか ら 小 さ い も のへ順番にマ ッ プ さ れます。 最大番号の論理ピ ンは最大
番号の物理ピ ンにマ ッ プ さ れます。
•
A6LUT に配置 さ れた LUT6 のデフ ォ ル ト の ピ ン マ ッ ピ ン グは次の よ う にな り ます。
I5:A6 I4:A5 I3:A4 I2:A3 I1:A2 I0:A1
•
A5LUT に配置 さ れた LUT5 のデフ ォ ル ト の ピ ン マ ッ ピ ン グは次の よ う にな り ます。
I5:A5 I4:A4 I3:A3 I2:A2 I1:A1
•
A6LUT に配置 さ れた LUT2 のデフ ォ ル ト の ピ ン マ ッ ピ ン グは次の よ う にな り ます。
I1:A6 I0:A5
LOCK_PINS プ ロ パテ ィ は Vivado 配線で使用 さ れますが、 タ イ ミ ン グ を改善で き る よ う な場合で も 、 ロ ッ ク さ れてい
る LUT での ピ ン マ ッ ピ ン グは変更 さ れ ません。 LOCK_PINS は指定配線で も 重要です。 指定配線に よ り 接続 さ れて
い る ピ ンが別の ピ ン と ス ワ ッ プ さ れ る 場合、 指定配線はその LUT の接続 と 一致 し な く な り 、 エ ラ ーにな り ます。 指
定配線ネ ッ ト に よ り 駆動 さ れ る LUT セルすべての ピ ンは、 LOCK_PINS を使用 し て ロ ッ ク し てお く 必要があ り ます。
指定配線の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) [参照 20] を参照 し て く
だ さ い。
注記 : DONT_TOUCH は LOCK_PINS を暗示 し ません。
「phys_opt_design -critical_pin_opt」 と い う コ マ ン ド で最適化を実行する 場合、 LOCK_PINS プ ロ パテ ィ が
設 定 さ れ て い る セ ル は 最 適 化 さ れ ず、 LOCK_PINS
で 指定 さ れ て い る ピ ン
マ ッ ピ ン グ は 保 持 さ れ ま す。
phys_opt_design コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を
参照 し て く だ さ い。
LOCK_PINS プ ロ パテ ィ がセルか ら 削除 さ れ る と 、 ピ ン マ ッ ピ ン グは消去 さ れ、 ピ ン を自由に ス ワ ッ プで き る よ う に
な り ます。 し か し 、 現行の ピ ン割 り 当てはす ぐ に変更にはな り ません。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
LUT セル (get_cells)
値
•
LOCK_PINS {I0:A6 I1:A5} : 1 つま たは複数の ピ ン マ ッ ピ ン グ ペア。論理ピ ン と 物理ピ ンのペア を使用 し て、
LUT 論理ピ ンが LUT 物理ピ ンに割 り 当て ら れます。
°
LOCK_PINS の値にはピ ン マ ッ ピ ン グ を順不同に リ ス ト で き 、 HDL の場合はカ ン マで、 XDC の場合はホ ワ
イ ト スペース で区切 り ます。
°
イ ン ス タ ン ス ピ ンの範囲は LUT1 の場合は I0、 LUT6 の場合は I0 か ら I5 ま でにな り ます。 物理ピ ンの範囲
は、 LUT6 の場合は A6 (最速) か ら A1 ま で、 LUT5 の場合は A5 (最速) か ら A1 ま でにな り ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
195
第 3 章 : 主な プ ロパテ ィ の説明
ヒ ン ト : ISE でサポー ト さ れてい る ALL の値、 ま たは ALL を暗示す る 値な し は、 Vivado Design Suite ではサポー ト さ
れてい ません。 すべての ピ ン を ロ ッ ク す る には、 各ピ ン を明示的に指定す る 必要があ り ます。 リ ス ト さ れていない論
理ピ ンは、 デフ ォ ル ト のマ ッ ピ ン グで物理ピ ンにマ ッ プ さ れます。
構文
Verilog 構文
LOCK_PINS の値は Verilog 属性 と し て、 イ ン ス タ ン シエー ト さ れた LUT セル (LUT6、 LUT5 な ど) に配置 し て割 り 当
て る こ と がで き ます。
次の例は、 LOCK_PINS を使用 し て、 I1 を A5 に、 I2 を A6 に ピ ン マ ッ プ し 、 LUT_inst_0 と い う LUT セルに配置 し て
い ます。
(* LOCK_PINS = "I1:A5, I2:A6" *) LUT6 #(.INIT(64'h1) ) LUT_inst_0 (...
Verilog 例
module top (
i0,
i1,
i2,
i3,
i4,
i5,
o0);
input i0;
input i1;
input i2;
input i3;
input i4;
input i5;
output o0;
(* LOCK_PINS = "I1:A5,I2:A6" *)
LUT6 #(
.INIT(64'h0000000000000001))
LUT_inst_0
(.I0(i0),
.I1(i1),
.I2(i2),
.I3(i3),
.I4(i4),
.I5(i5),
.O(o0));
endmodule
VHDL 構文
LOCK_PINS の値は VHDL 属性 と し て、 イ ン ス タ ン シエー ト さ れた LUT セル (LUT6、 LUT5 な ど) に配置 し て割 り 当
て る こ と がで き ます。
次の例は、 LOCK_PINS を使用 し て、 I1 を A5 に、 I2 を A6 に ピ ン マ ッ プ し 、 LUT_inst_0 と い う LUT セルに配置 し て
い ます。
attribute LOCK_PINS : string;
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
196
第 3 章 : 主な プ ロパテ ィ の説明
attribute LOCK_PINS of LUT_inst_0 : label is "I1:A5, I2:A6";
...
VHDL の例
entity top is port (
i0, i1, i2, i3, i4, i5 : in std_logic;
o0 : out std_logic
);
end entity top;
architecture struct of top is
attribute lock_pins : string;
attribute lock_pins of LUT_inst_0 : label is "I1:A5, I2:A6";
begin
LUT_inst_0 : LUT6 generic map (
INIT => "1"
) port map (
I0 => i0,
I1 => i1,
I2 => i2,
I3 => i3,
I4 => i4,
I5 => i5,
O => o0
);
end architecture struct;
XDC 構文
Vivado Design Suite で set_property と い う Tcl コ マ ン ド を使用 し 、LUT セルに LOCK_PINS プ ロ パテ ィ を設定で き ます。
set_property LOCK_PINS {pin pairs} [get_cells instance_name]
説明 :
•
instance_name には LUT セルが 1 つま たは複数入 り ます。
重要 : XDC の場合は Tcl リ ス ト 構文に合わせ る ため、ピ ン ペア を ホ ワ イ ト スペース で区切る 必要があ り ますが、HDL
構文の場合はカ ン マで値を区切 る 必要があ り ます。
XDC の構文例
% set myLUT2 [get_cells u0/u1/i_365]
% set_property LOCK_PINS {I0:A5 I1:A6} $myLUT2
% get_property LOCK_PINS $myLUT2
I0:A5 I1:A6
% reset_property LOCK_PINS $myLUT2
% set myLUT6 [get_cells u0/u1/i_768]
% set_property LOCK_PINS I0:A6 ; # mapping of I1 through I5 are dont-cares
影響のある処理
•
phys_opt_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
197
第 3 章 : 主な プ ロパテ ィ の説明
•
route_design
関連項目
123 ページの 「BEL」
147 ページの 「DONT_TOUCH」
193 ページの 「LOC」
LUTNM
LUTNM を使用す る と 、 互換性のあ る 入力を持つ 2 つの LUT5、 SRL16 ま たは LUTRAM コ ン ポーネ ン ト が同 じ LUT6
サ イ ト に配置 さ れます。 LUTNM はペアで指定する 必要があ り 、 ど ち ら も 同 じ グループ名で互換性のあ る イ ン ス タ ン
ス タ イ プであ る 必要があ り ます。
HLUTNM と LUTNM の相違点
ヒ ン ト : HLUTNM と LUTNM の目的は類似 し てい る ので、 同 じ 階層で使用 さ れ る 場合はそれぞれ異な る 値を設定す
る 必要があ り ます。 LUTNM と HLUTNM の値が同 じ LUT は Vivado の配線プ ロ グ ラ ム で ま と め ら れ る か、 ま たは値
に関 し て警告 メ ッ セージが表示 さ れます。
•
異な る 階層にあ る 場合 も 含め、 デザ イ ンの ど こ かに存在す る
LUTNM を使用 し ます。
•
階層モジ ュ ールの イ ン ス タ ン ス が複数デザ イ ンに含まれ る 場合は、 HLUTNM を使用 し て、 その階層モジ ュ ール
の LUT コ ン ポーネ ン ト を ま と め ます。
°
2 つの LUT
コ ン ポーネ ン ト を ま と め る には、
HLUTNM は各階層に 1 つ し か使用で き ません。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
°
LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5)
°
SRL (SRL16E)
°
LUTRAM (RAM32X1S)
値
グループ名
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
198
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog 構文
Verilog 属性は LUT の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 Verilog 属性は、 同 じ 論理階層のペアで使用す る 必
要があ り ます。
(* LUTNM = "group_name" *)
Verilog の構文例
// Designates state0_inst to be placed in same LUT6 as state1_inst
// LUT5: 5-input Look-Up Table with general output (Mapped to a LUT6)
(* LUTNM = "LUT_group1" *) LUT5 #(
.INIT(32'ha2a2aea2) // Specify LUT Contents
) state0_inst (
.O(state_out[0]), // LUT general outpu
.I0(state_in[0]), // LUT input
.I1(state_in[1]), // LUT input
.I2(state_in[2]), // LUT input
.I3(state_in[3]), // LUT input
.I4(state_in[4]) // LUT input
);
// End of state0_inst instantiation
// LUT5: 5-input Look-Up Table with general output (Mapped to a LUT6)
//
Virtex-7
// Xilinx HDL Language Template, version 2014.1
(* LUTNM = "LUT_group1" *) LUT5 #(
.INIT(32'h00330073) // Specify LUT Contents
) state1_inst (
.O(state_out[1]), // LUT general output
.I0(state_in[0]), // LUT input
.I1(state_in[1]), // LUT input
.I2(state_in[2]), // LUT input
.I3(state_in[3]), // LUT input
.I4(state_in[4]) // LUT input
);
// End of state1_inst instantiation
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute LUTNM : string;
イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。
attribute LUTNM of instance_name : label is "group_name";
説明 :
•
instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。
VHDL 属性は、 同 じ 論理階層のペアで使用する 必要があ り ます。
VHDL の構文例
-- Designates state0_inst to be placed in same LUT6 as state1_inst
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
199
第 3 章 : 主な プ ロパテ ィ の説明
attribute LUTNM : string;
attribute LUTNM of state0_inst : label is "LUT_group1";
attribute LUTNM of state1_inst : label is "LUT_group1";
begin
-- LUT5: 5-input Look-Up Table with general output (Mapped to SLICEM LUT6)
state0_inst : LUT5
generic map (
INIT => X"a2a2aea2") -- Specify LUT Contents
port map (
O => state_out(0), -- LUT general output
I0 => state_in(0), -- LUT input
I1 => state_in(1), -- LUT input
I2 => state_in(2), -- LUT input
I3 => state_in(3), -- LUT input
I4 => state_in(4)
-- LUT input
);
-- End of state0_inst instantiation
-- LUT5: 5-input Look-Up Table with general output (Mapped to SLICEM LUT6)
-Virtex-7
-- Xilinx HDL Language Template, version 2014.1
State1_inst : LUT5
generic map (
INIT => X"00330073") -- Specify LUT Contents
port map (
O => state_out(1), -- LUT general output
I0 => state_in(0), -- LUT input
I1 => state_in(1), -- LUT input
I2 => state_in(2), -- LUT input
I3 => state_in(3), -- LUT input
I4 => state_in(4)
-- LUT input
);
-- End of state1_inst instantiation
XDC 構文
set_property LUTNM group_name [get_cells instance_name]
説明 :
•
instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。
XDC の構文例
# Designates state0_inst LUT5 to be placed in same LUT6 as state1_inst
set_property LUTNM LUT_group1 [get_cells U1/state0_inst]
set_property LUTNM LUT_group1 [get_cells U2/state1_inst]
影響のある処理
•
place_design
関連項目
「HLUTNM」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
200
第 3 章 : 主な プ ロパテ ィ の説明
LVDS_PRE_EMPHASIS
UltraScale で は、 伝送 ラ イ ン で 高周波 ロ ス が 発生す る 高周波信号 の シ グ ナ ル イ ン テ グ リ テ ィ を 改善す る た め、
LVDS_PRE_EMPHASIS プ ロ パテ ィ が使用 さ れます。
あ る I/O 規格を イ ンプ リ メ ン ト す る ド ラ イ バーでの伝送 ラ イ ン ロ ス を補 う ため、 LVDS ト ラ ン ス ミ ッ タ ーのプ リ エン
フ ァ シ ス は信号遷移で電圧をブース ト し ます。DDR4 HP I/O バン ク お よ び LVDS TX HP/HR I/O バン ク のプ リ エン フ ァ
シ ス は、 シ ン ボル間の干渉を低減 し 、 伝送 ラ イ ン ロ ス の影響を最低限に抑え る ために使用で き ます。
ヒ ン ト : 全体的な シ グナル イ ン テ グ リ テ ィ を向上 さ せ る ため、 ト ラ ン ス ミ ッ タ ーでのプ リ エ ン フ ァ シ ス は、 レ シー
バーでの 「EQUALIZATION」 と 組み合わせ る こ と がで き ます。
ト ラ ン ス ミ ッ タ ーのプ リ エン フ ァ シ ス は、 レ シーバー側でのシ グナル イ ン テ グ リ テ ィ に も 重要です。 プ リ エン フ ァ シ
ス は信号エ ッ ジ レー ト を高め、 それは周辺信号の ク ロ ス ト ー ク も 高め ます。
プ リ エ ン フ ァ シ ス の影響は伝送 ラ イ ン特性に依存 し てい る ため、 影響が最小限の も ので あ る こ と を確認す る にはシ
ミ ュ レーシ ョ ンが必要です。 信号をオーバーエン フ ァ シ スする と 、 信号の質は改善 さ れ る よ り む し ろ悪化す る 可能性
があ り ます。
LVDS_PRE_EMPHASIS=TRUE お よ び LVDS_PRE_EMPHASIS=FALSE を使用する と 、 2 つの異な る I/O 規格にな り 、 1
つの I/O バン ク に配置で き な く な り 、 report_drc 中に次の配置デザ イ ン ルール違反にな る 可能性があ り ます。
ERROR : [DRC 23-20] Rule violation (DIFFSTDLIMIT-1) Too many true differential output
standards in bank.
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
値
•
TRUE : 差動入力お よ び双方向バ ッ フ ァ ーのプ リ エン フ ァ シ ス を イ ネーブルに し 、 LVDS I/O を イ ンプ リ メ ン ト し
ます。 TRUE に設定す る 場合は、 TX_BITSLICE の ENABLE_PRE_EMPHASIS プ ロ パテ ィ も TRUE に設定す る 必
要があ り ます。
•
FALSE : プ リ エン フ ァ シ ス を イ ネーブルに し ません(デフ ォ ル ト )。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC フ ァ イ ルでは LVDS_PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
201
第 3 章 : 主な プ ロパテ ィ の説明
set_property LVDS_PRE_EMPHASIS <TRUE|FALSE> [get_ports port_name]
説明 :
•
set_property LVDS_PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。
関連項目 153 ページの 「EQUALIZATION」
218 ページの 「PRE_EMPHASIS」
MARK_DEBUG
ハー ド ウ ェ ア デバ ッ グ用に、 ネ ッ ト を合成中に保持す る よ う にす る には、 MARK_DEBUG を使用 し ます。 最適化に
よ り 、 指定信号の名前が削除 さ れて し ま っ た り 、 変更 さ れた り する 可能性を防ぐ こ と がで き ます。 MARK_DEBUG が
設定 さ れてい る 信号の値は、 ハー ド ウ ェ ア デバ ッ グ中に簡単に監視で き ます。
重要 : MARK_DEBUG を使用す る と 、 最適化に影響が出 る ので、 エ リ アが増加 し た り 、 パフ ォーマ ン ス が落ちた り す
る こ と があ り ます。 MARK_DEBUG は、 特に、 デザ イ ン の タ イ ミ ン グ ク リ テ ィ カルなエ リ アには慎重に使用 し て く
だ さ い。 ま た、 デザ イ ンの同期ポ イ ン ト にのみ適用 し て、 タ イ ミ ン グ ク ロ ージ ャ ーの影響お よ びエ リ ア と 消費電力の
増加を抑え る よ う に し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ネ ッ ト (get_nets)
°
内部配列にア ク セ ス可能なネ ッ ト すべて
注記 : 一部のネ ッ ト には専用 コ ネ ク テ ィ ビ テ ィ な ど があ り 、 デバ ッ グの と き に表示 さ れな く な る よ う な も の
があ り ます。
値
•
TRUE : デバ ッ グ中に使用す る 信号を保持 し ます。
•
FALSE : 信号を保持 し ません。 (デフ ォ ル ト )。
構文
Verilog 構文
こ の属性を設定す る には、 適切な Verilog 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。
(* MARK_DEBUG = "{TRUE|FALSE}" *)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
202
第 3 章 : 主な プ ロパテ ィ の説明
Verilog の構文例
// Marks an internal wire for debug in Vivado hardware manager
(* MARK_DEBUG = "TRUE" *) wire debug_wire,
VHDL 構文
こ の属性を設定す る には、 適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。
VHDL 属性は次の よ う に宣言 し ます。
attribute MARK_DEBUG : string;
VHDL 属性は次の よ う に指定 し ます。
attribute MARK_DEBUG of signal_name : signal is “{TRUE|FALSE}”;
説明 :
•
signal_name は内部信号です。
VHDL の構文例
signal debug_wire : std_logic;
attribute MARK_DEBUG : string;
-- Marks an internal wire for debug in Vivado hardware manager
attribute MARK_DEBUG of debug_wire : signal is “TRUE”;
XDC 構文
set_property MARK_DEBUG value [get_nets <net_name>]
説明 : <net_name> は信号名です。
XDC の構文例
# Marks an internal wire for debug
set_property MARK_DEBUG TRUE [get_nets debug_wire]
影響のある処理
•
synth_design
•
opt_design
•
place_design
•
Vivado ハー ド ウ ェ ア マネージ ャ ー
関連項目
147 ページの 「DONT_TOUCH」
185 ページの 「KEEP」
188 ページの 「KEEP_HIERARCHY」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
203
第 3 章 : 主な プ ロパテ ィ の説明
MAX_FANOUT
MAX_FANOUT は、 レ ジ ス タ お よ び信号の フ ァ ン ア ウ ト の制限を設定 し ます。 整数値を指定 し ます。
MAX_FANOUT は、 合成のグ ロ ーバル オプシ ョ ン -fanout_limit のデフ ォ ル ト 値 よ り も 優先 さ れます。 デザ イ ン全体の
デ フ ォ ル ト 値 は、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [Synthesis] ペー ジ ま た は synth_design コ マ ン ド の
-fanout_limit オプシ ョ ン を使用 し て設定 し ます。
重要 : MAX_FANOUT 属性は強制的に適用 さ れ ま すが、 -fanout_limit はガ イ ド ラ イ ン と し て使用 さ れ、 強制 さ れ ませ
ん。 フ ァ ン ア ウ ト を厳密に制御す る 必要があ る 場合は、 MAX_FANOUT を使用 し て く だ さ い。 ま た、 -fanout_limit オ
プシ ョ ン と は異な り 、 MAX_FANOUT は制御信号に も 適用 さ れます。 -fanout_limit オプシ ョ ンは制御信号 (セ ッ ト 、 リ
セ ッ ト 、ク ロ ッ ク イ ネーブルな ど) には適用 さ れないので、こ れ ら の信号を複製す る 必要があ る 場合は MAX_FANOUT
を使用 し て く だ さ い。
こ の属性は、 レ ジ ス タ お よ び組み合わせ信号にのみ使用で き ます。 フ ァ ン ア ウ ト の制限に従 う ため、 レ ジ ス タ ま たは
組み合わせ信号を駆動す る 信号が複製 さ れます。 こ の属性は RTL ま たは XDC で設定で き ます。
アーキテ ク チ ャ
すべてのデバ イ ス
適用可能エ レ メ ン ト
•
レ ジ ス タ お よ び組み合わせ信号
値
•
整数値 : 信号を分配す る ために、 ド ラ イ バーを複製する 回数の最大値を指定 し ます。
構文
Verilog 構文
信号
(* max_fanout = 50 *) reg sig1;
VHDL 構文 signal sig1 : std_logic;
attribute max_fanout : integer;
attribute max_fanout of sig1: signal is 50;
XDC 構文
set_property MAX_FANOUT <number> [get_nets -hier <net_name>]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
204
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
合成
ODT
ODT (On-Die Termination) プ ロ パテ ィ は、 サポー ト さ れてい る I/O 規格の DCI (digitally controlled impedance) お よ び非
DCI バージ ョ ンの両方に対 し 、 ODT の値を定義する のに使用 し ます。 外部抵抗ではな く ODT を使用す る 利点は、 レ
シーバー側の ス タ ブ を完全に除去す る こ と でシ グナル イ ン テ グ リ テ ィ が改善 さ れ る 点です。
ODT は、 HSTL、 SSTL、 POD、 お よ び HSUL 規格の入力で分割終端ま たはシ ン グル終端をサポー ト し てい ます。 I/O
バン ク の VCCO は、 予期どお り の動作を得 る ため、 ODT 属性に合わせた電圧レベルに接続 し てお く 必要があ り ます。
特定 I/O 規格に必要 な VCCO レ ベルに関 し て は、 『UltraScale ア ー キ テ ク チ ャ SelectIO リ ソ ー ス ユーザー ガ イ ド 』
(UG571) [参照 8] を参照 し て く だ さ い。
パ ラ レル終端をサポー ト す る I/O 規格の場合は、 DCI は VCCO /2 の電圧レベルのテブナン等価抵抗ま たは分割終端抵
抗を作成 し ます。 POD お よ び HSUL 規格の場合は、 DCI は VCCO 電圧レベルのシ ン グル終端をサポー ト し てい ます。
終端抵抗の正確な値は ODT の値に よ っ て決ま り ます。 分割抵抗の DCI に使用可能な ODT 値は、 RTT_40、 RTT_48、
RTT_60、 RTT_NONE です。
注記 : DCI はハ イ パフ ォーマ ン ス (HP) I/O バン ク でのみ使用可能です。ハ イ レ ン ジ (HR) I/O バン ク では DCI はサポー
ト さ れてい ません。
HR お よ び HP の I/O バン ク の両方に、 オプシ ョ ンのキ ャ リ ブ レーシ ョ ン な し のオンチ ッ プ分割終端機能があ り 、 こ れ
は、 HSTL お よ び SSTL 規格に対 し 、 タ ーゲ ッ ト 抵抗値の 2 倍の抵抗を付加す る 2 つの内部抵抗器を使用 し てテブナ
ン等価回路を作成 し ます。 POD お よ び HSUL の I/O 規格の場合は、 キ ャ リ ブ レーシ ョ ン な し のオンチ ッ プ シ ン グル
終端機能があ り ます。 終端は常に入力にあ り 、 ま た出力バ ッ フ ァ ーが ト ラ イ ス テー ト にな っ てい る 場合は双方向ポー
ト にあ り ます。
DCI ベース の I/O 規格を使用す る こ と に よ り 、デザ イ ン で DCI ま たはキ ャ リ ブ レー ト な し の終端の ど ち ら が使用 さ れ
る かが決ま り ます。 DCI と キ ャ リ ブ レー ト な し の両方の I/O 規格で、 終端抵抗の値は ODT 属性に よ っ て決ま り ます。
し か し 、 キ ャ リ ブ レー ト な し のオプシ ョ ン と DCI と の重要な違いは、 DCI の場合は、 VRN お よ び VRP ピ ン での外部
基準抵抗にキ ャ リ ブ レー ト す る のですが、 キ ャ リ ブ レー ト な し の入力終端機能の場合は、 温度、 プ ロ セ ス、 電圧の変
動を補正す る ためのキ ャ リ ブ レーシ ョ ン ルーチンのない、ODT 属性に よ っ て決定 さ れ る 内部抵抗を使用する 点です。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
入力お よ び双方向バ ッ フ ァ ーに接続 さ れてい る も の
値
•
RTT_40
•
RTT_48
•
RTT_60
•
RTT_120
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
205
第 3 章 : 主な プ ロパテ ィ の説明
•
RTT_240
•
RTT_NONE
注記 : 使用可能な I/O 規格お よ び コ ン フ ィ ギ ュ レーシ ョ ンすべてに対 し 、 すべての値が使用で き る わけではあ り
ません。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC フ ァ イ ルでは ODT 属性を次の よ う な構文で使用 し ます。
set_property ODT <VALUE> [get_ports port_name]
説明 :
•
set_property ODT は ODT を イ ネーブルに し ます。
•
<Value> には指定の IOSTANDARD に対 し サポー ト さ れてい る ODT 値の 1 つが入 り ます。
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。
関連項目
180 ページの 「IOSTANDARD」
OFFSET_CNTRL
レ シーバー オ フ セ ッ ト 制御であ る OFFSET_CNTRL は、 プ ロ セ ス変動を補正す る ため、 UltraScale デバ イ ス で一部の
I/O 規格に対 し 使用で き ます。 OFFSET_CNTRL はハ イ パフ ォーマ ン ス (HP) I/O にのみ割 り 当て る こ と がで き ます。
I/O 規格のサブセ ッ ト の場合、 HP I/O バン ク で、 ±35 mV ま でのプ ロ セ ス変動が原因で発生す る 入力バ ッ フ ァ ーのオ フ
セ ッ ト を キ ャ ン セルす る オプシ ョ ンが UltraScale アーキ テ ク チ ャ にはあ り ます。
こ の機能は入力お よ び双方向バ ッ フ ァ ー プ リ ミ テ ィ ブに対 し 使用で き ます。
オ フ セ ッ ト キ ャ リ ブ レーシ ョ ン では、 ユーザーの イ ン タ ー コ ネ ク ト ロ ジ ッ ク デザ イ ンに制御 ロ ジ ッ ク を構築す る こ
と が求め ら れます。 詳細は、 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照
し て く だ さ い。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
最上位ポー ト
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
206
第 3 章 : 主な プ ロパテ ィ の説明
値
OFFSET_CNTRL 属性に使用で き る 値は次の と お り です。
•
CNTRL_NONE (デフ ォ ル ト ) - オ フ セ ッ ト キ ャ ン セルを イ ネーブルに し ません。
•
FABRIC - 任意の I/O バン ク でオ フ セ ッ ト キ ャ ン セルを実行 し ます。
重要 : オ フ セ ッ ト キ ャ ン セルを実行す る には、 デバ イ ス にオ フ セ ッ ト 制御回路が必要です。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC フ ァ イ ルでは OFFSET_CNTRL 属性を次の よ う な構文で使用 し ます。
set_property OFFSET_CNTRL value [get_ports port_name]
説明 :
•
set_property OFFSET_CNTRL はオ フ セ ッ ト キ ャ ン セル機能を イ ネーブルに し ます。
•
<Value> には有効な OFFSET_CNTRL 値のいずれかが入 り ます。
•
port_name は接続 さ れてい る 入力ま たは双方向ポー ト です。
影響のある処理
•
配置
•
配線
PACKAGE_PIN
PACKAGE_PIN では、デバ イ ス の物理的なパ ッ ケージ ピ ンへの論理デザ イ ンの最上位ポー ト の割 り 当て ま たは配置を
定義ます。
推奨 : デバ イ ス パ ッ ケージの物理的ピ ン に I/O ポー ト を割 り 当て る には、 LOC ではな く PACKAGE_PIN プ ロ パテ ィ
を使用 し ます。 タ ーゲ ッ ト ザ イ リ ン ク ス FPGA のデバ イ ス リ ソ ース に ロ ジ ッ ク セルを割 り 当て る には、 LOC プ ロ パ
テ ィ を使用 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
207
第 3 章 : 主な プ ロパテ ィ の説明
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
最上位ポー ト
値
パ ッ ケージ ピ ン名
構文
Verilog 構文
Verilog 属性を ポー ト 宣言の直前に配置 し ます。
(* PACKAGE_PIN = "pin_name" *)
Verilog の構文例
// Designates port CLK to be placed on pin B26
(* PACKAGE_PIN = "B26" *) input CLK;
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute PACKAGE_PIN : string;
VHDL 属性は次の よ う に指定 し ます。
attribute PACKAGE_PIN of port_name : signal is "pin_name";
VHDL の構文例
-- Designates CLK to be placed on pin B26
attribute PACKAGE_PIN of CLK : signal is "B26";
XDC 構文
set_property PACKAGE_PIN pin_name [get_ports port_name]
XDC の構文例
# Designates CLK to be placed on pin B26
set_property PACKAGE_PIN B26 [get_ports CLK]
影響のある処理
•
ピ ン プラ ンニング
•
place_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
208
第 3 章 : 主な プ ロパテ ィ の説明
関連項目
193 ページの 「LOC」
PATH_MODE
PATH_MODE は、 フ ァ イ ルを検索す る 際、 ま たはパス ベース の制約ま たはプ ロ パテ ィ を読み出す際に、 Vivado Design
Suite でパ ス がど の よ う に処理 さ れ る か を決定する プ ロ パテ ィ です。
プ ロ ジ ェ ク ト のすべての フ ァ イ ル、 お よ びフ ァ イ ル と デ ィ レ ク ト リ を参照する ほ と ん ど のプ ロ パテ ィ に対 し て、 フ ァ
イ ルま たはデ ィ レ ク ト リ への相対パ ス と 絶対パ ス の両方を Vivdado Design Suite は保存お よ び維持 し よ う と し ます。プ
ロ ジ ェ ク ト を開 く と 、 その フ ァ イ ルお よ びデ ィ レ ク ト リ の検索に、 こ れ ら のパ ス が使用 さ れ ます。 デフ ォ ル ト では、
Vivado Design Suite は こ れ ら のパス の検索に [RelativeFirst] が使用 さ れ る ので、 最初に相対パ ス が、 その後に絶対パ ス
が検索 さ れ ます。 PATH_MODE プ ロ パテ ィ を使用す る と 、 Vivado ツールでの指定 し たオブジ ェ ク ト の フ ァ イ ル パ ス
ま たはプ ロ パテ ィ の処理方法を変更で き ます。
ヒ ン ト : 一部のパ ス では、 特に Windows でパス の ド ラ イ ブが異な る 場合、 Vivado では相対パス が維持で き ません。 こ
れ ら の場合、 絶対パ ス のみが保存 さ れます。
[RelativeFirst] ま たは [AbsoluteFirst] 設定が使用 さ れ る と 、 オブジ ェ ク ト の検索に代替パ ス ま たは 2 つ目のパ ス を使用
す る 必要があ る 場合、 Vivado ツールで警告が表示 さ れます。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
•
ソ ース フ ァ イ ル (get_files)
値
•
RelativeFirst : プ ロ ジ ェ ク ト ま での相対パ ス を使用 し て フ ァ イ ルを検索 し ます。 こ のパ ス を使用 し て フ ァ イ ルを
検索で き ない場合は、 絶対パ ス を使用 し ます。 こ れがデフ ォ ル ト 値で、 ほ と ん ど の場合に適 し てい ます。
•
AbsoluteFirst : 絶対パス を使用 し て フ ァ イ ルを検索 し ます。 フ ァ イ ルを検索で き ない場合は、 相対パ ス を使用 し
ます。 AbsoluteFirst ま たは AbsoluteOnly は、 フ ァ イ ルが決ま っ た リ ポジ ト リ に保存 さ れてい る 場合 (た と えば、 デ
ザ イ ン グループ ま たは会社全体で使用 さ れ る 標準フ ァ イ ル) や IP の ラ イ ブ ラ リ に向いてい ます。
•
RelativeOnly : 相対パ ス のみを使用 し て フ ァ イ ルを検索 し ます。フ ァ イ ルを検索で き ない場合は、それを示す メ ッ
セージが表示 さ れ、 フ ァ イ ルが存在 し ない も の と し て処理 さ れ ま す。 RelativeOnly ま たは AbsoluteOnly 設定は、
同 じ フ ァ イ ル名の フ ァ イ ルが複数あ り 、 正 し い フ ァ イ ルを必ず見つけ出す必要のあ る 場合に向いてい ます。
•
AbsoluteOnly : 絶対パ ス のみを使用 し て フ ァ イ ルを検索 し ます。フ ァ イ ルを検索で き ない場合は、それを示す メ ッ
セージが表示 さ れ、 フ ァ イ ルが存在 し ない も の と し て処理 さ れます。
構文
Verilog および VHDL 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
209
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
set_property PATH_MODE AbsoluteFirst [get_files *IP/*]
影響のある処理
•
プ ロ ジ ェ ク ト 管理お よ びフ ァ イ ルの位置
PBLOCK
PBLOCK は Vivado Design Suite で Pblock に割 り 当て ら れ る セルに設定する 読み出 し 専用のプ ロ パテ ィ です。
Pblock と はセルの集合体で、 1 つま たは複数の長方形のエ リ ア/領域を指 し 、 こ のエ リ アで Pblock に含め ら れ る デバ
イ ス リ ソ ース を指定 し ます。 Pblock は、 関連 ロ ジ ッ ク を グループに ま と めて、 タ ーゲ ッ ト デバ イ ス のあ る 領域にそ
れを割 り 当て る ため、 フ ロ アプ ラ ン ニ ン グ中に使用 さ れます。デザ イ ンの フ ロ アプ ラ ン ニ ン グでの Pblock の使用につ
いては、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 22] を参
照 し て く だ さ い。
Pblock は create_pblock Tcl コ マ ン ド を使用 し て作成 し 、 add_cells_to_pblock コ マ ン ド を使用 し てセルに追
加 し ます。 次の コ ー ド で Pblock を定義 し ます。
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add {SLICE_X8Y105:SLICE_X23Y149}
resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29}
1 行目は Pblock を作成 し 、 それに名前を指定 し ます。
2 行目は Pblock に ロ ジ ッ ク セルを割 り 当て ます。 こ の場合、 指定の階層モジ ュ ールにあ る セルがすべて Pblock に割
り 当て ら れます。 特定の Pblock に割 り 当て ら れたセルには PBLOCK プ ロ パテ ィ が割 り 当て ら れます。
後続の コ マ ン ド resize_pblock は、 Pblock 内に含まれ る デバ イ ス リ ソ ース の範囲を指定 し て、 Pblock のサ イ ズ を
定義 し ます。 Pblock には、 SLICE/CLB、 DSP48、 RAMB18、 RAMB36 と い う 4 つのデバ イ ス リ ソ ース タ イ プのグ リ ッ
ド に分かれてい ます。 こ れ ら の タ イ プに当てはま ら ない ロ ジ ッ ク は、デバ イ ス の任意位置に配置す る こ と がで き ます。
特定の階層レベルにブ ロ ッ ク RAM のみを制約す る には、 それ以外の Pblock グ リ ッ ド をデ ィ ス エーブルに し ます (ま
たは単に定義 し ない)。
上記の Tcl コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て
く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
210
第 3 章 : 主な プ ロパテ ィ の説明
値
•
<NAME> : セルが割 り 当て ら れ る Pblock の名前です。 こ の Pblock 名は、 create_pblock コ マ ン ド で Pblock を
作成す る と き に定義 し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
Pblock は 次の Tcl コ マ ン ド を使用 し て、 XDC フ ァ イ ルあ る いは直接デザ イ ン で定義す る こ と がで き ます。
create_pblock <pblock_name>
XDC の例
次の コ ー ド で Pblock を定義 し ます。
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add {SLICE_X8Y105:SLICE_X23Y149}
resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29}
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
place_design
関連項目
123 ページの 「BEL」
138 ページの 「CONTAIN_ROUTING」
193 ページの 「LOC」
154 ページの 「EXCLUDE_PLACEMENT」
POST_CRC
POST_CRC は、コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク の巡回冗長検査 (CRC) と い う エ ラ ー検出機能のオン/オ フ を設定 し 、
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更があれば通知 さ れ る よ う に し ます。
POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。
コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
211
第 3 章 : 主な プ ロパテ ィ の説明
ら CRC 値を計算 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームの読み込みが終了する と 、 コ ン フ ィ ギ ュ レーシ ョ
ン ビ ッ ト ス ト リ ームはデバ イ ス に対 し Check CRC 命令を出力 し 、 それに続いて あ ら か じ め計算 さ れた CRC 値が出力
さ れます。デバ イ ス に よ り 計算 さ れた CRC 値がビ ッ ト ス ト リ ームの期待 CRC 値に一致 し ない と 、デバ イ ス は INIT_B
を Low に し 、 コ ン フ ィ ギ ュ レーシ ョ ン を中止 し ます。 詳細は、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー
ガ イ ド 』 (UG470) [参照 1] ま たは 『UltraScale アーキテ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参
照 7] を参照 し て く だ さ い。
CRC がデ ィ ス エーブルの場合、 CRC 値の代わ り に定数値が ビ ッ ト ス ト リ ームに挿入 さ れ、 デバ イ ス で CRC 値は算出
さ れません。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
°
現在の イ ンプ リ メ ン ト 済みのデザ イ ン
値
•
DISABLE : Post CRC チ ェ ッ ク 機能をデ ィ ス エーブルに し ます (デフ ォ ル ト )。
•
ENABLE : Post CRC チ ェ ッ ク 機能を イ エーブルに し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property POST_CRC ENABLE | DISABLE [current_design]
XDC の構文例
set_property POST_CRC Enable [current_design]
影響のある処理
•
write_bitstream
•
launch_runs
関連項目
213 ページの 「POST_CRC_ACTION」
214 ページの 「POST_CRC_FREQ」
215 ページの 「POST_CRC_INIT_FLAG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
212
第 3 章 : 主な プ ロパテ ィ の説明
216 ページの 「POST_CRC_SOURCE」
POST_CRC_ACTION POST_CRC_ACTION は コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク CRC エ ラ ー検出モー ド に使用 さ れ ま す。 こ のプ ロ パテ ィ
は、 CRC の不一致が検出 さ れた と き のデバ イ ス の対処方法を決め る も ので、 その対処方法には、 エ ラ ー訂正、 操作実
行、 コ ン フ ィ ギ ュ レーシ ョ ン停止があ り ます。
リ ー ド バ ッ ク 中、 シ ン ド ロ ーム ビ ッ ト は毎フ レーム計算 さ れます。 シ ン グル ビ ッ ト エ ラ ーが検出 さ れ る と 、 リ ー ド
バ ッ ク はす ぐ に中止 さ れ ま す。 POST_CRC_ACTION プ ロ パテ ィ に よ り 訂正が行われ る 場合、 リ ー ド バ ッ ク CRC ロ
ジ ッ ク がシ ン グル ビ ッ ト エ ラ ーの訂正を実行 し ます。 エ ラ ーが出てい る フ レームは再度 リ ー ド バ ッ ク さ れ、 シ ン ド
ロ ームの情報を使用 し て、 エ ラ ーにな っ てい る ビ ッ ト は修正 さ れて フ レームに書 き 戻 さ れます。 POST_CRC_ACTION
が Correct_And_Continue に設定 さ れ て い る 場合は、 リ ー ド バ ッ ク ロ ジ ッ ク が最初の ア ド レ ス か ら 再開始 し ま す。
Correct_And_Halt に設定 さ れてい る 場合は、 リ ー ド バ ッ ク ロ ジ ッ ク は訂正後に停止 し ます。詳細は、『7 シ リ ーズ FPGA
コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド 』 (UG470) [参照 1] ま たは 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レ ー
シ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 7] を参照 し て く だ さ い。
「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
°
現在の イ ンプ リ メ ン ト 済みのデザ イ ン
値
•
HALT : CRC の不一致が検出 さ れ る と 、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、 比較 CRC の計算、 そ し て あ ら か じ め
計算 さ れた CRC と の比較が中止にな り ます。
•
CONTINUE : CRC の比較に よ り CRC の不一致が検出 さ れ る と 、ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、比較 CRC の
計算、 あ ら か じ め計算 さ れた CRC と の比較は続行 し ます。
•
CORRECT_AND_CONTINUE : CRC の比較に よ り CRC の不一致が検出 さ れ る と 、 それは訂正 さ れ、 ビ ッ ト ス ト
リ ームの リ ー ド バ ッ ク 、 比較 CRC の計算、 あ ら か じ め計算 さ れた CRC と の比較は続行 し ます。
•
CORRECT_AND_HALT : CRC の不一致が検出 さ れ る と 、 それは訂正 さ れ、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、
比較 CRC の計算、 あ ら か じ め計算 さ れた CRC と の比較は中止にな り ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property POST_CRC_ACTION <VALUE> [current_design]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
213
第 3 章 : 主な プ ロパテ ィ の説明
説明 :
•
<VALUE> には POST_CRC_ACTION プ ロ パテ ィ で使用可能な値の 1 つが入 り ます。
XDC の構文例
set_property POST_CRC_ACTION correct_and_continue [current_design]
影響のある処理
•
write_bitstream
•
launch_runs
関連項目
211 ページの 「POST_CRC」
214 ページの 「POST_CRC_FREQ」
215 ページの 「POST_CRC_INIT_FLAG」
216 ページの 「POST_CRC_SOURCE」
POST_CRC_FREQ
POST_CRC_FREQ は、 現在のデザ イ ンに対 し 、 コ ン フ ィ ギ ュ レーシ ョ ン CRC チ ェ ッ ク が実行 さ れ る 周波数を設定 し
ます。
「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。 POST_CRC プ ロ パテ ィ を イ
ネーブルにす る と 、ビ ッ ト ス ト リ ームの予め計算 さ れてい る 値 と 、コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ セルを リ ー ド バ ッ
ク す る こ と で計算 さ れ る 内部 CRC 値を周期的に比較で き る よ う にな り ます。
POST_CRC_FREQ は、 リ ー ド バ ッ ク の周波数を MHz で定義 し 、 デフ ォ ル ト 値は 1MHz です。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
°
現在の イ ンプ リ メ ン ト 済みのデザ イ ン
値
•
MHz で周波数を定数で指定 し ます。 使用で き る 値は次の と お り です。
°
1 2 3 4 6 7 8 10 12 13 16 17 22 25 26 27 33 40 44 50 66 100
°
デフ ォ ル ト = 1 MHz
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
214
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property POST_CRC_FREQ <VALUE> [current_design]
説明 :
•
<VALUE> には POST_CRC_FREQ プ ロ パテ ィ で使用可能な値の 1 つが入 り ます。
XDC の構文例
set_property POST_CRC_FREQ 50 [current_design]
影響のある処理
•
write_bitstream
•
launch_runs
関連項目
211 ページの 「POST_CRC」
213 ページの 「POST_CRC_ACTION」
215 ページの 「POST_CRC_INIT_FLAG」
216 ページの 「POST_CRC_SOURCE」
POST_CRC_INIT_FLAG
POST_CRC_INIT_FLAG は、SEU (Single Event Upset) エ ラ ー信号の出力 と し て INIT_B ピ ン を イ ネーブルにす る か ど う
か を決定 し ます。
エ ラ ー コ ンデ ィ シ ョ ンは常に FRAME_ECC サ イ ト か ら 出力 さ れ ます。 し か し 、 POST_CRC_INIT_FLAG が イ ネーブ
ルにな っ てい る 場合 (デフ ォ ル ト )、 CRC エ ラ ーが発生する と INIT_B ピ ン も それを フ ラ グ し ます。
「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
215
第 3 章 : 主な プ ロパテ ィ の説明
°
現在の イ ンプ リ メ ン ト 済みのデザ イ ン
値
•
DISABLE : INIT_B ピ ン を使用せず、 FRAME_ECC サ イ ト が CRC エ ラ ー信号の ソ ース にな り ます。
•
ENABLE : INIT_B ピ ンは イ ネーブルにな り 、 こ れが CRC エ ラ ー信号の ソ ース にな り ます。 こ れがデフ ォ ル ト 設
定です。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property POST_CRC_INIT_FLAG ENABLE | DISABLE [curent_design]
XDC の構文例
set_property POST_CRC_INIT_FLAG Enable [current_design]
影響のある処理
•
write_bitstream
•
launch_runs
関連項目
211 ページの 「POST_CRC」
213 ページの 「POST_CRC_ACTION」
214 ページの 「POST_CRC_FREQ」
216 ページの 「POST_CRC_SOURCE」
POST_CRC_SOURCE
POST_CRC_SOURCE は、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更通知用に コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク CRC
のエ ラ ー検出機能が使用 さ れ る と き の、 CRC 値の ソ ース を指定 し ます。
「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。
POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。
コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か
ら CRC 値を計算 し ます。 POST_CRC_SOURCE プ ロ パテ ィ は、 期待 CRC 値が予め計算 さ れた値か ら く る も のなのか、
ま たは最初の リ ー ド バ ッ ク の コ ン フ ィ ギ ュ レーシ ョ ン デー タ か ら 得 ら れ る も のなのか を定義 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
216
第 3 章 : 主な プ ロパテ ィ の説明
アーキテ ク チ ャ サポー ト
7 シ リ ーズ FPGA
適用可能なオブ ジ ェ ク ト
•
デザ イ ン (current_design)
°
現在の イ ンプ リ メ ン ト 済みのデザ イ ン
値
•
PRE_COMPUTED : ビ ッ ト ス ト リ ームか ら 期待 CRC 値を決定 し ます。 こ れがデフ ォ ル ト 設定です。
•
FIRST_READBACK : こ の後繰 り 返 さ れ る リ ー ド バ ッ ク での比較用に、 最初の リ ー ド バ ッ ク か ら 実際の CRC 値を
取得 し ます。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property POST_CRC_SOURCE FIRST_READBACK | PRE_COMPUTED [current_design]
XDC の構文例
set_property POST_CRC_SOURCE PRE_COMPUTED [current_design]
影響のある処理
•
write_bitstream
•
launch_runs
関連項目
211 ページの 「POST_CRC」
213 ページの 「POST_CRC_ACTION」
214 ページの 「POST_CRC_FREQ」
215 ページの 「POST_CRC_INIT_FLAG」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
217
第 3 章 : 主な プ ロパテ ィ の説明
PRE_EMPHASIS
伝送 ラ イ ンで高周波 ロ ス が発生す る 高周波信号のシ グナル イ ン テ グ リ テ ィ を改善する ため、 PRE_EMPHASIS プ ロ パ
テ ィ が使用 さ れ ます。 ト ラ ン ス ミ ッ タ ー プ リ エ ン フ ァ シ ス (PRE_EMPHASIS) 機能に よ り 、 あ る I/O 規格の信号 ド ラ
イ バーにプ リ エン フ ァ シ ス を使用で き る よ う にな り ます。
ヒ ン ト : 全体的な シ グナル イ ン テ グ リ テ ィ を向上 さ せ る ため、 ト ラ ン ス ミ ッ タ ーでのプ リ エ ン フ ァ シ ス は、 レ シー
バーでの 「EQUALIZATION」 と 組み合わせ る こ と がで き ます。
理想的な信号は、 周波数のシ ン ボル間隔内で ロ ジ ッ ク 遷移を実行 し ます。 し か し ロ ス の多い伝送 ラ イ ン ではシ ン ボル
間隔が長 く な る 可能性があ り ます。 伝送 ラ イ ン ロ ス を踏ま え、 プ リ エン フ ァ シ ス は遷移で電圧ゲ イ ン を提供 し ます。
周波数 ド メ イ ンでは、 プ リ エン フ ァ シ ス に よ り デー タ ス ト リ ームの各遷移で高周波が引き 上げ ら れます。
プ リ エン フ ァ シ ス の選択は、 レ シーバー側でのシ グナル イ ン テ グ リ テ ィ に も 重要です。 プ リ エン フ ァ シ ス は信号エ ッ
ジ レー ト を高め、 それは周辺信号の ク ロ ス ト ー ク も 高め ます。
プ リ エン フ ァ シ ス の ク ロ ス ト ー ク お よ び信号不連続性の影響は伝送 ラ イ ン特性に依存 し てい る ため、 影響が最小限の
も のであ る こ と を確認す る にはシ ミ ュ レーシ ョ ンが必要です。 信号をオーバーエン フ ァ シ スする と 、 信号の質は改善
さ れ る よ り む し ろ悪化す る 可能性があ り ます。
アーキテ ク チ ャ サポー ト
UltraScale
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
値
PRE_EMPHASIS 属性に使用で き る 値は次の と お り です。
•
RDRV_240 : プ リ エン フ ァ シ ス を イ ネーブルに し ます。 イ ネーブルにす る 場合は、 TX_BITSLICE の
ENABLE_PRE_EMPHASIS プ ロ パテ ィ も TRUE に設定する 必要があ り ます。
•
RDRV_NONE : ト ラ ン ス ミ ッ タ ーのプ リ エン フ ァ シ ス を イ ネーブルに し ません(デフ ォ ル ト )。
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC フ ァ イ ルでは PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。
set_property PRE_EMPHASIS value [get_ports port_name]
説明 :
•
set_property PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
218
第 3 章 : 主な プ ロパテ ィ の説明
•
port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。
関連項目 153 ページの 「EQUALIZATION」
201 ページの 「LVDS_PRE_EMPHASIS」
PROCESSING_ORDER
PROCESSING_ORDER プ ロ パ テ ィ は、 Vivado Design Suite で XDC フ ァ イ ル が 処理 さ れ る 順 序 を 設定 し ま す。
PROCESSING_ORDER に指定で き る 値は、 EARLY、 NORMAL、 LATE のいずれかです。
デフ ォ ル ト では、Vivado Design Suite は IP コ アの XDC フ ァ イ ルを まず読み込み、それか ら 最上位デザ イ ンの制約フ ァ
イ ルセ ッ ト に定義 さ れてい る ユーザー XDCフ ァ イ ルを読み込みます。 こ の順序で処理す る と 、 IP コ アに必要な制約
を IP に定義 し 、後で処理 さ れ る ユーザー制約で こ れ ら の IP 制約を上書き する こ と がで き ます。詳細は、『Vivado Design
Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 19] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
制約フ ァ イ ルのデフ ォ ル ト の処理順序は次の と お り です。
1.
ユーザー制約を EARLY に設定
2.
IP 制約を EARLY に設定 (デフ ォ ル ト )
3.
ユーザー制約を NORMAL に設定
4.
IP 制約を LATE に設定 ( ク ロ ッ ク 依存関係を含む)
5.
ユーザー制約を LATE に設定
共通の PROCESSING_ORDER が設定 さ れてい る ユーザー制約フ ァ イ ルは、 制約セ ッ ト に定義 さ れてい る 順序で処理
さ れ ます。 つ ま り Vivado IDE に表示 さ れてい る 順序で処理 さ れ ます。 Vivado IDE で フ ァ イ ルの コ ンパ イ ル順序を変
更す る か、 reorder_files コ マ ン ド を使用す る と 、 こ の フ ァ イ ルの処理順序を変更で き ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
制約フ ァ イ ル、 XDC ま たは Tcl (get_files)
値
•
EARLY : ほかの制約フ ァ イ ル よ り も 先に、 こ の フ ァ イ ルを処理 し ます。
•
NORMAL : EARLY に設定 さ れてい る フ ァ イ ルの後、 LATE に設定 さ れてい る フ ァ イ ルの前に、 こ の フ ァ イ ルを
処理 し ます(デフ ォ ル ト )。
•
LATE : ほかの制約フ ァ イ ルの後に、 こ の フ ァ イ ルを処理 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
219
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property PROCESSING_ORDER {EARLY | NORMAL | LATE} [get_files <filename>]
説明 :
•
<filename> は XDC ま たは Tcl フ ァ イ ルの名前にな り ます。
XDC の構文例
set_property PROCESSING_ORDER EARLY [get_files char_fifo_ooc.xdc]
影響のある処理
•
合成
•
イ ンプ リ メ ン テーシ ョ ン
PROHIBIT
PROHIBIT では、 BEL ま たは SITE を配置に使用で き ない よ う に指定 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
SITE (get_sites)
•
BEL (get_bels)
値
•
TRUE (ま たは 1) : 指定 し た BEL ま たは SITE が配置中に使用 さ れない よ う に し ます。
構文
Verilog および VHDL 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
220
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
set_property PROHIBIT 1 [get_sites site]
XDC の構文例
# Prohibit the use of package pin Y32
set_property prohibit 1 [get_sites Y32]
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
place_design
PULLDOWN
重要 : PULLDOWN プ ロ パテ ィ はサポー ト さ れな く な り ま し た。 「PULLTYPE」 に置 き 換えて く だ さ い。
PULLDOWN は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク Low を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し 、
ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク Low に確約 し ます。
入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど
) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま
す。 バ ッ フ ァ ーに接続 さ れ て い る ポ ー ト ま た は ネ ッ ト オ ブ ジ ェ ク ト に次の プ ロ パ テ ィ の いずれ か を 設定 し て、
PULLTYPE プ ロ パテ ィ を追加す る と 、 こ の機能を実行で き ます。
•
PULLUP
•
PULLDOWN
•
KEEPER
注記 : こ のプ ロ パテ ィ が適用 さ れ る と 、 PULLDOWN 機能は、 RTL シ ミ ュ レーシ ョ ン中には表示 さ れません。 RTL シ
ミ ュ レーシ ョ ン と イ ンプ リ メ ン ト さ れたデザ イ ン と では、機能的な差が出て く る 可能性があ り ます。こ の機能は、ゲー
ト レベルのシ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。 あ る いは、 こ のプ ロ パテ ィ を使用す る 代わ り
に、 PULLDOWN UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ンに こ の動作を反映 さ せます。
詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク
チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 26] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports): 最上位ポー ト に適用 し ます。
値
•
TRUE | YES : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルダ ウ ン回路を使用 し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
221
第 3 章 : 主な プ ロパテ ィ の説明
•
FALSE | NO : プルダ ウ ン回路を使用 し ません(デフ ォ ル ト )。
構文
Verilog 構文
Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。
(* PULLDOWN = " {YES|NO|TRUE|FALSE}" *)
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute pulldown: string;
VHDL 属性は次の よ う に指定 し ます。
attribute pulldown of signal_name : signal is “{YES|NO|TRUE|FALSE}”;
XDC 構文
set_property PULLDOWN {TRUE|FALSE} [get_ports port_name]
説明 :
•
port_name は、 入力、 出力、 入出力ポー ト の名前です。
XDC の構文例
# Use a pulldown circuit
set_property PULLDOWN TRUE [get_ports wbWriteOut]
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
関連項目
191 ページの 「KEEPER」
224 ページの 「PULLUP」
PULLTYPE
重要 : 「KEEPER」、 「PULLDOWN」、 「PULLUP」 プ ロ パテ ィ はサポー ト さ れな く な り ま し た。 PULLTYPE プ ロ パテ ィ
に置 き 換え ら れてい ます。
入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど
) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
222
第 3 章 : 主な プ ロパテ ィ の説明
す。 バ ッ フ ァ ーに接続 さ れ て い る ポ ー ト ま た は ネ ッ ト オ ブ ジ ェ ク ト に次の プ ロ パ テ ィ の いずれ か を 設定 し て、
PULLTYPE プ ロ パテ ィ を追加す る と 、 こ の機能を実行で き ます。
•
PULLUP
•
PULLDOWN
•
KEEPER
注記 : こ のプ ロ パテ ィ が適用 さ れ る と 、 KEEPER、 PULLDOWN、 ま たは PULLUP 機能は、 RTL シ ミ ュ レーシ ョ ン中
には表示 さ れません。 RTL シ ミ ュ レーシ ョ ン結果 と 、 イ ンプ リ メ ン ト さ れたデザ イ ン と では、 機能的な差が出て く る
可能性があ り ま す。 RTL シ ミ ュ レーシ ョ ン に こ の動作を反映 さ せ る には、 PULLTYPE プ ロ パテ ィ を使用す る 代わ り
に、 オブジ ェ ク ト を含む合成後のゲー ト レベル ネ ッ ト リ ス ト を使用す る か、 デザ イ ン に適切な UNISIM オブジ ェ ク
ト を イ ン ス タ ン シエー ト す る と 、 こ の機能を検証で き ます。
差動入力ま たは出力に対 し ては、 次のパ ラ メ ー タ ーを設定 し 、 優先す る 終端ス ト ラ テジ を定義 し ます。
set_parameter iconstr.diffPairPulltype { AUTO | SAME | OPPOSITE }
説明 :
•
AUTO : すべてのアーキテ ク チ ャ で こ れがデフ ォ ル ト の値です。
°
7 シ リ ーズ デバ イ ス の場合は、 差動ペアに最後に指定 し た PULLTYPE プ ロ パテ ィ が優先 さ れます。
°
UltraScale お よ び UltraScale+ アーキ テ ク チ ャ の場合は、 AUTO も OPPOSITE も 同 じ です。
•
SAME : 正 も 負 も 同 じ 値にな り ます (PULLTYPE プ ロ パテ ィ で定義 さ れてい る 値に よ り ますが、 PULLUP ま たは
PULLDOWN にな る )。
•
OPPOSITE : PULLTYPE の設定にかかわ ら ず、 P 側は PULLUP、 N 側は PULLDOWN にな り ます。
詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク
チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 26] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports) : 最上位ポー ト に適用 し ます。
値
•
KEEPER : 指定 し たポー ト に接続 さ れたネ ッ ト の値を保持す る ためキーパー回路を使用 し ます。
•
PULLDOWN : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルダ ウ ン回路を使用 し ます。
•
PULLUP : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルア ッ プ回路を使用 し ます。
•
{} (NULL) : キーパー、 プルダ ウ ン、 ま たはプルア ッ プ回路を使用 し ません。 (デフ ォ ル ト )。
構文
Verilog 構文
Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。
(* PULLTYPE = " {KEEPER|PULLDOWN|PULLUP| }" *)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
223
第 3 章 : 主な プ ロパテ ィ の説明
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute PULLTYPE: string;
VHDL 属性を次の よ う に指定 し ます。
attribute PULLTYPE of signal_name : signal is “{KEEPER|PULLDOWN|PULLUP| }”;
XDC 構文
set_property PULLTYPE {KEEPER|PULLDOWN|PULLUP| } [get_ports port_name]
説明 :
•
port_name は、 入力、 出力、 入出力ポー ト の名前です。
XDC の構文例
set_property PULLTYPE PULLUP [get_ports wbWriteOut]
ま たは
set_property PULLTYPE {} [get_ports wbWriteOut]
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
関連項目
191 ページの 「KEEPER」
221 ページの 「PULLDOWN」
224 ページの 「PULLUP」
PULLUP
重要 : PULLUP プ ロ パテ ィ はサポー ト さ れな く な り ま し た。 「PULLTYPE」 に置き 換え て く だ さ い。
PULLUP は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク High を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し ます。
ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク High に確約 し ます。
入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど
) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま
す。 バ ッ フ ァ ーに接続 さ れてい る ポー ト オブジ ェ ク ト に次の値のいずれか を設定 し て、 PULLTYPE プ ロ パテ ィ を追
加す る と 、 こ の機能を実行で き ます。
•
PULLUP
•
PULLDOWN
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
224
第 3 章 : 主な プ ロパテ ィ の説明
•
KEEPER
注記 : こ のプ ロ パテ ィ が適用 さ れ る と 、 PULLUP 機能は、 RTL シ ミ ュ レーシ ョ ン中には表示 さ れません。 RTL シ ミ ュ
レーシ ョ ン と イ ンプ リ メ ン ト さ れたデザ イ ン と では、 機能的な差が出て く る 可能性があ り ます。 こ の機能は、 ゲー ト
レベルのシ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。 あ る いは、 こ のプ ロ パテ ィ を使用す る 代わ り に、
PULLUP UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ンに こ の動作を反映 さ せます。
詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク
チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 26] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports) : 最上位ポー ト に適用 し ます。
値
•
TRUE | YES : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルア ッ プ回路を使用 し ます。
•
FALSE | NO : プルア ッ プ回路を使用 し ませんデフ ォ ル ト です。
構文
Verilog 構文
Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。
(* PULLUP = " {YES|NO|TRUE|FALSE}" *)
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute pullup: string;
VHDL 属性は次の よ う に指定 し ます。
attribute pullup of signal_name : signal is “{YES|NO|TRUE|FALSE}”;
XDC 構文
set_property PULLUP {TRUE|FALSE} [get_ports port_name]
説明 :
•
port_name は、 入力、 出力、 入出力ポー ト の名前です。
XDC の構文例
set_property PULLUP TRUE [get_ports wbWriteOut]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
225
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
関連項目
191 ページの 「KEEPER」
221 ページの 「PULLDOWN」
222 ページの 「PULLTYPE」
REF_NAME
こ れはデザ イ ンのセルに設定す る 読み出 し 専用のプ ロ パテ ィ で、 セルを識別す る 論理セル名を指定 し ます。
こ の REF_NAME プ ロ パテ ィ は Vivado Design Suite に よ り 自動的に定義 さ れ、 HDL や XDC でユーザーが変更す る こ
と はで き ません。 参照用に使用 し ます。
こ のプ ロ パテ ィ はデザ イ ン フ ロ ーには影響 し ませんが、特定セルやほかのオブジ ェ ク ト を識別す る ため、 フ ィ ル タ ー
お よ び Vivado Tcl コ マ ン ド ク エ リ ーを定義す る のに非常に便利です。
た と えば、 RAM セルの ク ロ ッ ク ピ ン を選択す る には、 セルの REF_NAME プ ロ パテ ィ に基づいて ピ ン オブジ ェ ク ト
を フ ィ ル タ ーにかけ ます。
get_pins -hier */*W*CLK -filter {REF_NAME =~ *RAM* && IS_PRIMITIVE}
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
値
該当な し
構文
該当な し
影響のある処理
なし
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
226
第 3 章 : 主な プ ロパテ ィ の説明
REF_PIN_NAME
こ れはデザ イ ンの ピ ンに設定す る 読み出 し 専用のプ ロ パテ ィ で、 ピ ン を識別す る 論理セル名を指定 し ます。
REF_PIN_NAME は、 ピ ンの NAME ま たは HIERARCHICAL NAME か ら 自動的に定義 さ れ、 HDL や XDC でユーザー
が変更す る こ と はで き ません。 参照用に使用 し ます。
こ のプ ロ パテ ィ はデザ イ ン フ ロ ーには影響 し ませんが、特定セルやほかのオブジ ェ ク ト を識別す る ため、 フ ィ ル タ ー
お よ び Vivado Tcl コ マ ン ド ク エ リ ーを定義す る のに非常に便利です。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ピ ン (get_pins)
値
該当な し
構文
該当な し
影響のある処理
なし
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
227
第 3 章 : 主な プ ロパテ ィ の説明
RLOC
H_SET、 HU_SET、 U_SET な ど のセ ッ ト に割 り 当て ら れてい る ロ ジ ッ ク エ レ メ ン ト の相対的な配置を RLOC 制約は
定義 し ます。
RLOC が RTL ソ ース フ ァ イ ルにあ る 場合、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後のネ ッ ト リ ス ト でセル
の読み出 し 専用に RPM プ ロ パテ ィ に変換 さ れ ます。 RLOC プ ロ パテ ィ は保持 さ れ ますが、 合成後には読み出 し 専用
プ ロ パテ ィ にな り ます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー ガ
イ ド : 制約の使用』 (UG903) [参照 19] を参照 し て く だ さ い。
ヒ ン ト : 階層 RPM を ビル ド す る 際は、synth_design -flatten_hierarchy none を使用 し て RLOC プ ロ パテ ィ
が該当す る 階層レベルで保持 さ れ る よ う にす る 必要があ り ます。
タ ーゲ ッ ト デバ イ スへのセ ッ ト 全体の実際の配置には関係な く 、セ ッ ト に含まれ る ほかのエ レ メ ン ト に相対 し てセ ッ
ト 内のエ レ メ ン ト の配置を定義で き ます。 た と えば、 RLOC 制約が 1 列に ま と め ら れた 8 個の フ リ ッ プ フ ロ ッ プか ら
成 る グループに適用 さ れてい る 場合、 マ ッ プ プ ロ グ ラ ムはその列を維持 し 、 1 つのユニ ッ ト と し て フ リ ッ プ フ ロ ッ プ
のグループ全体を移動 し ます。 それ と は対照的に、 LOC 制約は、 ほかのデザ イ ン エ レ メ ン ト への参照な し に、 タ ー
ゲ ッ ト デバ イ ス にデザ イ ン エ レ メ ン ト の絶対 ロ ケーシ ョ ン を定義 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
RTL ソ ース フ ァ イ ルの イ ン ス タ ン ス ま たはモジ ュ ール
値
ス ラ イ ス ベース の XY 軸を使用 し て RLOC は指定 さ れます。
RLOC=XmYn
説明 :
•
m は X 軸の値を示す整数です。
•
n は Y 軸の値を示す整数です。
ヒ ン ト : RLOC 制約の X お よ び Y の値はデザ イ ン エ レ メ ン ト 間の順序お よ び関連性を定義 し 、 タ ーゲ ッ ト デバ イ ス
での絶対 ロ ケーシ ョ ン を定義す る も のではないため、 こ れ ら の値は負の値にな る 場合があ り ます。
構文
Verilog 構文
RLOC プ ロ パテ ィ は、 RTL ソ ース フ ァ イ ル内で H_SET、 HU_SET、 ま たは U_SET で指定 さ れ る セ ッ ト 内のデザ イ ン
エ レ メ ン ト の相対配置を定義す る Verilog 属性です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直
前に配置 し ます。
(* RLOC = "XmYn", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
228
第 3 章 : 主な プ ロパテ ィ の説明
Verilog 例
こ れは、 ffs 階層モジ ュ ールでシ フ ト レ ジ ス タ フ リ ッ プ フ ロ ッ プの RLOC プ ロ パテ ィ を定義す る Verilog モジ ュ ール
です。
module inv (input a, output z);
LUT1 #(.INIT(2'h1)) lut1 (.I0(a), .O(z));
endmodule // inv
module ffs
(
input clk,
input d,
output q
);
wire
wire
wire
wire
wire
wire
wire
wire
sr_0,
sr_1,
sr_2,
sr_3,
sr_4,
sr_5,
sr_6,
sr_7,
wire
inr, inrn, outr;
inv
inv
inv
inv
inv
inv
inv
inv
inv
(sr_0, sr_0n);
(sr_1, sr_1n);
(sr_2, sr_2n);
(sr_3, sr_3n);
(sr_4, sr_4n);
(sr_5, sr_5n);
(sr_6, sr_6n);
(sr_7, sr_7n);
(inr, inrn);
(*
(*
(*
(*
(*
(*
(*
(*
(*
FD
i0
i1
i2
i3
i4
i5
i6
i7
i8
sr_0n;
sr_1n;
sr_2n;
sr_3n;
sr_4n;
sr_5n;
sr_6n;
sr_7n;
RLOC = "X0Y0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
RLOC = "X0Y1" *) FD sr1 (.C(clk), .D(sr_2n), .Q(sr_1));
RLOC = "X0Y2" *) FD sr2 (.C(clk), .D(sr_3n), .Q(sr_2));
RLOC = "X0Y3" *) FD sr3 (.C(clk), .D(sr_4n), .Q(sr_3));
RLOC = "X0Y4" *) FD sr4 (.C(clk), .D(sr_5n), .Q(sr_4));
RLOC = "X0Y5" *) FD sr5 (.C(clk), .D(sr_6n), .Q(sr_5));
RLOC = "X0Y6" *) FD sr6 (.C(clk), .D(sr_7n), .Q(sr_6));
RLOC = "X0Y7" *) FD sr7 (.C(clk), .D(inrn), .Q(sr_7));
LOC = "SLICE_X0Y0" *) FD inq (.C(clk), .D(d), .Q(inr));
outq (.C(clk), .D(sr_0n), .Q(outr));
assign q = outr;
endmodule // ffs
ヒ ン ト : 先の例では、RLOC プ ロ パテ ィ があ る ので、ffs 階層モジ ュ ールの FD イ ン ス タ ン ス に H_SET プ ロ パテ ィ が使
用 さ れてい る こ と が暗示 さ れてい ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
229
第 3 章 : 主な プ ロパテ ィ の説明
先の例では、 ffs モジ ュ ールの イ ン ス タ ン ス に KEEP_HIERARCHY プ ロ パテ ィ を指定 し て、 合成 さ れたデザ イ ンで 階
層を保持 し 、 RPM を定義す る 必要があ り ます。
module top
(
input clk,
input d,
output q
);
wire
c1, c2;
(* RLOC_ORIGIN = "X1Y1", KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1);
(* RLOC_ORIGIN = "X3Y3", KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2);
(* RLOC_ORIGIN = "X5Y5", KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q);
endmodule // top
VHDL 構文
VHDL 制約は次の よ う に宣言 し ます。
attribute RLOC: string;
VHDL 制約は次の よ う に指定 し ます。
attribute RLOC of {component_name | entity_name | label_name} :
{component|entity|label} is “XmYn”;
説明 :
•
{component_name | entity_name | label_name} にはデザ イ ン エ レ メ ン ト を指定 し ます。
•
{component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。
•
XmYn は指定 さ れたデザ イ ン エ レ メ ン ト の RLOC 値を定義 し ます。
XDC 構文
RLOC プ ロ パテ ィ は XDC 制約を使用 し ては定義で き ません。 RLOC プ ロ パテ ィ は相対的に配置 さ れたマ ク ロ (RPM)
のオブジ ェ ク ト の相対 ロ ケーシ ョ ン を定義 し 、 ま た合成 さ れたデザ イ ンのネ ッ ト リ ス ト では読み出 し 専用の RPM お
よ び RLOC プ ロ パテ ィ にな り ます。
ヒ ン ト : デ ザ イ ン 内 で RPM の よ う に 機能す る マ ク ロ オ ブ ジ ェ ク ト を Vivado Design Suite で 定義す る に は、
create_macro ま たは update_macro を使用 し ます。 こ れ ら の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン
ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
•
place_design
•
synth_design
関連項目
160 ページの 「H_SET お よ び HU_SET」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
230
第 3 章 : 主な プ ロパテ ィ の説明
228 ページの 「RLOC」
231 ページの 「RLOCS」
233 ページの 「RLOC_ORIGIN」
236 ページの 「RPM」
237 ページの 「RPM_GRID」
242 ページの 「U_SET」
RLOCS
RLOCS は、Vivado Design Suite の create_macro Tcl コ マ ン ド に よ り 作成 さ れた XDC マ ク ロ オブジ ェ ク ト に割 り 当
て ら れ る 読み出 し 専用のプ ロ パテ ィ です。RLOCS が update_macro コ マ ン ド でア ッ プデー ト さ れ る と マ ク ロ に割 り
当て ら れます。こ れ ら の コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13]
を参照 し て く だ さ い。
RPM と 同様に、 XDC マ ク ロ はセル グループ を相対的に配置 し ます。 マ ク ロ は多 く の点で RPM の類似 し てい ますが、
大 き な違い も あ り ます。
•
RLOC プ ロ パテ ィ と 、 H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ の組み合わせで RTL ソ ース フ ァ イ ルで RPM
は定義 さ れます。
•
RPM は合成後のデザ イ ン では変更で き ません。
•
マ ク ロ は、 相対配置制約に よ り グループ化 さ れた最下位セルか ら 作成 さ れ、 合成後に変更で き ます。
•
RPM を自動的にマ ク ロ に変換す る こ と はで き ません。
•
RPM はデザ イ ン オブジ ェ ク ト ではな く 、 XDC マ ク ロ コ マ ン ド を RPM に使用す る こ と はで き ません。
rlocs 引数にあ る よ う に、 update_macro コ マ ン ド でRLOCS プ ロ パテ ィ の相対配置の値を指定 し ます。
"cell0 rloc0 cell1 rloc1 … cellN rlocN"
XDC マ ク ロ オブジ ェ ク ト の割 り 当て ら れてい る RLOCS プ ロ パテ ィ を変更する には、 update_macro コ マ ン ド を使
用 し ます。
RLOCS プ ロ パテ ィ は XDC マ ク ロ の一部であ る 個々のセルそれぞれに対 し RLOC プ ロ パテ ィ に変換 さ れ ま す。 こ の
後、RLOC プ ロ パテ ィ は、マ ク ロ のセルの相対配置を定義す る こ と に よ り 、RPM に対す る の と 同 じ よ う に機能 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
値
•
Cell1 RLOC1 Cell2 RLOC2 Cell3 RLOC3... : マ ク ロ のセルの名前 と 、 その相対 ロ ケーシ ョ ンはペアに し ます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
231
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
XDC マ ク ロ が作成 さ れ、 セルお よ び相対 ロ ケーシ ョ ンが自動入力 さ れ る と き 、 RLOCS プ ロ パテ ィ が間接的に定義 さ
れます。
XDC の例
create_macro macro1
update_macro macro1 {u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5 X0Y1}
report_property -all [get_macros macro1]
Property
Type
Read-only Visible
ABSOLUTE_GRID bool
true
true
CLASS
string
true
true
NAME
string
true
true
RLOCS
string* true
true
Value
0
macro
macro1
u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
•
place_design
•
synth_design
関連項目
160 ページの 「H_SET お よ び HU_SET」
228 ページの 「RLOC」
233 ページの 「RLOC_ORIGIN」
236 ページの 「RPM」
237 ページの 「RPM_GRID」
242 ページの 「U_SET」
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
232
第 3 章 : 主な プ ロパテ ィ の説明
RLOC_ORIGIN
RTL デザ イ ンで相対配置マ ク ロ (RPM) の絶対 ロ ケーシ ョ ン、 ま たは LOC を決め る のが RLOC_ORIGIN プ ロ パテ ィ で
す。 RPM の定義お よ び RLOC_ORIGIN プ ロ パテ ィ の使用については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の
使用』 (UG903) [参照 19] を参照 し て く だ さ い。
RPM は、 RTL デザ イ ンで H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ を使用 し て、 セ ッ ト にデザ イ ン エ レ メ ン ト を
割 り 当て る こ と で定義 さ れます。 こ の後、 RLOC プ ロ パテ ィ を使用 し て、 相互相対的にデザ イ ン エ レ メ ン ト の配置が
割 り 当て ら れます。 タ ーゲ ッ ト デバ イ スへのセ ッ ト 全体の実際の配置には関係な く 、 セ ッ ト に含まれ る ほかのエ レ メ
ン ト に相対 し てセ ッ ト 内のエ レ メ ン ト の配置を定義で き ます。
RPM のエ レ メ ン ト 、その相対的配置を定義 し 終え る と 、RLOC_ORIGIN プ ロ パテ ィ で、タ ーゲ ッ ト デバ イ スへの RPM
の絶対配置を定義で き ます。 RLOC_ORIGIN プ ロ パテ ィ は、 合成中に LOC 制約に変換 さ れます。
Vivado Design Suite では、 RLOC_ORIGIN プ ロ パテ ィ は RPM の左下 を定義 し ま す。 こ れは、 RLOC_ORIGIN プ ロ パ
テ ィ が X0Y0 のデザ イ ン エ レ メ ン ト であ る こ と が一般的です。 RPM の残 り のセルは、 グループの原点を基準 と し た
相対 ロ ケーシ ョ ン (RLOC) を使用 し て配置 さ れます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
RTL ソ ース フ ァ イ ル内の イ ン ス タ ン ス
値
ス ラ イ ス ベース の XY 軸を使用 し て RLOC は指定 さ れます。
RLOC_ORIGIN=XmYn
説明 :
•
m は整数の値で、 RPM の左下、 タ ーゲ ッ ト デバ イ ス の X 軸の絶対値を表 し ます。
•
n は整数の値で、 RPM の左下、 タ ーゲ ッ ト デバ イ ス の Y 軸の絶対値を表 し ます。
構文
Verilog 構文
RLOC_ORIGIN プ ロ パテ ィ は、 タ ーゲ ッ ト デバ イ ス での RPM の絶対配置を定義す る Verilog 属性です。 Verilog 属性
は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。
(* RLOC_ORIGIN = "XmYn", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
Verilog 例
次の最上位 Verilog モジ ュ ールは、 デザ イ ンの ffs モジ ュ ールの RLOC_ORIGIN プ ロ パテ ィ を定義 し てい ます。
module top
(
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
233
第 3 章 : 主な プ ロパテ ィ の説明
input clk,
input d,
output q
);
wire
c1, c2;
(* RLOC_ORIGIN = "X1Y1", KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1);
(* RLOC_ORIGIN = "X3Y3", KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2);
(* RLOC_ORIGIN = "X5Y5", KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q);
endmodule // top
次の例は最初の例 と 非常に類似 し てい ますが、RLOC_ORIGIN は最初の ffs モジ ュ ール u0 だけに割 り 当て ら れていて、
残 り は相対配置用に RLOC プ ロ パテ ィ で定義 さ れてい る 点が異な り ます。
module top
(
input clk,
input d,
output q
);
wire
c1, c2;
// what would happen if the origin places the RPM outside
// device?
(* RLOC_ORIGIN = "X74Y15", RLOC = "X0Y0" *) ffs u0 (clk, d, c1);
(* RLOC = "X1Y1" *) ffs u1 (clk, c1, c2);
(* RLOC = "X2Y2" *) ffs u2 (clk, c2, q);
endmodule // top
VHDL 構文
VHDL 制約は次の よ う に宣言 し ます。
attribute RLOC_ORIGIN: string;
VHDL 制約は次の よ う に指定 し ます。
attribute RLOC_ORIGIN of {component_name | entity_name | label_name} :
{component|entity|label} is “XmYn”;
説明 :
•
{component_name | entity_name | label_name} にはデザ イ ン エ レ メ ン ト を指定 し ます。
•
{component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。
•
XmYn は指定 さ れたデザ イ ン エ レ メ ン ト の RLOC_ORIGIN 値を定義 し ます。
XDC 構文
RLOC_ORIGIN プ ロ パテ ィ は合成 さ れたデザ イ ンで LOC プ ロ パテ ィ に変換 さ れます。タ ーゲ ッ ト デバ イ ス に RPM の
エ レ メ ン ト の 1 つを配置す る こ と で、 RPM の LOC プ ロ パテ ィ は指定で き ます。 RPM のほかにエ レ メ ン ト は、 こ の ロ
ケーシ ョ ンに相対的に配置 さ れ、 LOC プ ロ パテ ィ に割 り 当て ら れます。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
234
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
•
place_design
•
synth_design
関連項目
160 ページの 「H_SET お よ び HU_SET」
228 ページの 「RLOC」
231 ページの 「RLOCS」
236 ページの 「RPM」
237 ページの 「RPM_GRID」
242 ページの 「U_SET」
ROUTE_STATUS
ROUTE_STATUS は読み出 し 専用のプ ロ パテ ィ で、 ネ ッ ト 配線の最新情報を反映 さ せる ため、 Vivado 配線プ ロ グ ラ ム
でネ ッ ト に割 り 当て ます。
こ のプ ロ パテ ィ は、 get_property ま たは report_property コ マ ン ド を使用 し て、 個々のネ ッ ト 別ま たはネ ッ ト
のグループ別に検索で き ます。
デザ イ ン全体の ROUTE_STATUS を確認する には、 report_route_status コ マ ン ド を使用 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ネ ッ ト (get_nets)
値
•
ROUTED : ネ ッ ト が完全に配置配線 さ れます。
•
PARTIAL : ネ ッ ト のすべての ピ ンお よ びポー ト が配置 さ れ、 ネ ッ ト の一部は配線 さ れてい ますが、 配線 さ れてい
ない部分があ る ので route_design を実行する 必要があ り ます。
•
UNPLACED : 配置 さ れていない ピ ンやポー ト があ り 、 配置を完了 さ せる ため place_design を実行す る 必要が
あ り ます。
•
UNROUTED : ネ ッ ト のすべての ピ ンお よ びポー ト が配置 さ れてい ますが、 ネ ッ ト に配線デー タ がないため、配線
を完了 さ せ る のに route_design を実行する 必要があ り ます。
•
INTRASITE : タ ーゲ ッ ト デバ イ ス の同 じ サ イ ト 内で配線全体が完了 し ていて、接続を完了 さ せ る のに配線 リ ソ ー
ス は不要です。 こ れはエ ラ ーではあ り ません。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
235
第 3 章 : 主な プ ロパテ ィ の説明
•
NOLOADS : 配線に論理 ロ ー ド がないか、 配線可能な ロ ー ド ピ ンがないので、 配線は不要です。 こ れはエ ラ ーで
はあ り ません。
•
NODRIVER : 配線に論理 ド ラ イ バーがないか、 配線可能な ド ラ イ バーがないので、 配線は不要です。 こ れはデザ
イ ン エ ラ ーです。
•
HIERPORT : 配線可能な ロ ー ド ま たは ド ラ イ バーのない最上位階層ポー ト に配線が接続 さ れてい ます。 こ れはエ
ラ ーではあ り ません。
•
ANTENNAS : 配線に最低 1 つのア ン テナが含まれ る か (ア ン テナ と はサ イ ト ピ ンに接続する 枝葉を指すが、 その
サ イ ト ピ ンが こ の論理ネ ッ ト に接続 さ れてい る こ と を表 し ていない)、 配線に少な く と も 1 つの島が含ま れます
(島 と は論理ネ ッ ト に関連付け ら れてい る サ イ ト ピ ンのいずれに も 接続 さ れていない配線の一部を指す)。 こ れは
配線エ ラ ーです。
•
CONFLICTS : 配線プ ロ グ ラ ムに次の配線エ ラ ーが 1 つ以上見 ら れます。
°
配線の競合 : こ の配線の ノ ー ド が 1 つ以上、 ほかの配線、 ま たは同 じ 配線の別の分岐で も 使用 さ れてい ます。
°
サ イ ト ピ ンの競合 : サ イ ト 内のサ イ ト ピ ンに接続 さ れてい る 論理ピ ン と 、サ イ ト 外に配線を介 し て接続 さ れ
てい る 論理ネ ッ ト が異な り ます。
°
無効サ イ ト の競合 : サ イ ト のプ ロ グ ラ ミ ン グが無効な状態であ る サ イ ト のサ イ ト のサ イ ト ピ ンに配線が接
続 さ れていて、 サ イ ト 内の配線が正 し く 接続 さ れてい る か判断で き ない状態です。
•
ERROR : 配線ス テー タ ス を判断す る にあ た っ て内部エ ラ ーが発生 し た状態です。
•
NONET : 配線ス テー タ ス用に指定 さ れてい る ネ ッ ト オブジ ェ ク ト が存在 し ないか、 ま たは入力 し た よ う には検
出 さ れません。
•
NOROUTE : エ ラ ーのため、 指定のネ ッ ト に対 し 配線オブジ ェ ク ト を検出で き ません。
•
NOROUTESTORAGE : エ ラ ーのため、 こ のデバ イ ス に対 し ては配線ス ト レージ オブジ ェ ク ト は使用で き ません。
•
UNKNOWN : エ ラ ーのため、 配線ス テー ト は計算で き ません。
構文
ROUTE_STATUS プ ロ パテ ィ の値は、 先に説明 し た値の 1 つにな り ます。 ま た、 Vivado 配線に よ り 割 り 当て ら れ る 読
み出 し 専用プ ロ パテ ィ で、 直接変更はで き ません。
影響のある処理
•
デザ イ ンの配線
RPM
RTL ソ ース フ ァ イ ルで H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ を使用 し て定義 さ れたセ ッ ト の ロ ジ ッ ク エ レ メ
ン ト に RPM は割 り 当て ら れ、 読み出 し 専用にな っ てい ます。
RTL ソ ー ス フ ァ イ ルに RLOC も あ る 場合は、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後ネ ッ ト リ ス ト でセル
に対す る 読み出 し 専用の RPM プ ロ パテ ィ に変換 さ れます。 Vivado Design Suite のテ キ ス ト エデ ィ タ ーで RTL ソ ース
フ ァ イ ルを開 く と 、 HU_SET お よ び U_SET が表示 さ れますが、 セル オブジ ェ ク ト の [Properties] ビ ュ ーでは RPM プ
ロ パテ ィ が表示 さ れます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー
ガ イ ド : 制約の使用』 (UG903) [参照 19] を参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
236
第 3 章 : 主な プ ロパテ ィ の説明
適用可能なオブ ジ ェ ク ト
•
合成 さ れたデザ イ ンのセル (get_cells)
値
•
NAME : RTL ソ ース フ ァ イ ルに H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ と と も に RLOC があ る 場合のセ ッ
ト 定義か ら く る RPM の名前です。
構文
RPM を定義す る ための H_SET、 HU_SET、 ま たは U_SET と RLOC が あ る RTL デザ イ ン を合成す る と RPM プ ロ パ
テ ィ は派生 し 、 読み出 し 専用です。 RPM プ ロ パテ ィ を直接定義 し た り 変更す る こ と はで き ません。
関連項目
160 ページの 「H_SET お よ び HU_SET」
228 ページの 「RLOC」
231 ページの 「RLOCS」
233 ページの 「RLOC_ORIGIN」
237 ページの 「RPM_GRID」
242 ページの 「U_SET」
RPM_GRID
RPM_GRID プ ロ パテ ィ は RLOC グ リ ッ ド を相対座標ではな く 絶対座標で定義 し ます。 RPM_GRID シ ス テ ムは、 セル
が異な る サ イ ト タ イ プ (ス ラ イ ス、 ブ ロ ッ ク RAM、 DSP な ど の組み合わせ) に属す RPM に使用 さ れます。 セルは さ
ま ざ ま なサ イ ズのサ イ ト に配置 さ れ る 可能性があ る ので、 タ ーゲ ッ ト デバ イ ス に直接配置で き る RPM_GRID シ ス テ
ムでは絶対座標の RPM_GRID を使用 し ます。
RPM_GRID 値は、 Vivado IDE でサ イ ト を選択す る と 、 [Site Properties] ビ ュ ーに表示 さ れます。 座標は、 RPM_X お よ
び RPM_Y サ イ ト プ ロ パテ ィ を使用 し て Tcl コ マ ン ド で検索す る こ と も で き ます。 RPM_GRID プ ロ パテ ィ の使用、 絶
対座標を使用 し た RPM の定義については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 19] を
参照 し て く だ さ い。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
セル (get_cells)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
237
第 3 章 : 主な プ ロパテ ィ の説明
値
•
”GRID” : 指定のRLOC が、 通常 RLOC で指定 さ れ る 相対座標ではな く 、 タ ーゲ ッ ト デバ イ ス か ら の絶対座標で
あ る こ と を Vivado Design Suite に知 ら せ る ため、 RPM_GRID プ ロ パテ ィ と GRID キーワー ド を組み合わせます。
構文
Verilog 構文
Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。
(* RPM_GRID = "GRID" *)
Verilog 例
module iddr_regs
(
input clk, d,
output y, z
);
(* RLOC = "X130Y195" *) IDDR ireg (.C(clk_i), .D(d), .Q1(q1), .Q2(q2));
defparam ireg.DDR_CLK_EDGE = "SAME_EDGE";
(* RLOC = "X147Y194" *) FD q1reg (.C(clk_i), .D(q1), .Q(y));
(* RLOC = "X147Y194", RPM_GRID = "GRID" *) FD q2reg (.C(clk_i), .D(q2), .Q(z));
endmodule // iddr_regs
VHDL 構文
RPM_GRID シ ス テ ム を使用す る には、 まず属性を定義 し 、 それをデザ イ ン エ レ メ ン ト の 1 つに追加 し ます。
attribute RPM_GRID of ram0 : label is "GRID";
VHDL 制約は次の よ う に宣言 し ます。
attribute RPM_GRID : string;
VHDL 制約は次の よ う に指定 し ます。
attribute RPM_GRID of {component_name | entity_name} :
{component|entity} is “GRID”;
XDC 構文
RPM_GRID プ ロ パテ ィ は RTL ソ ース フ ァ イ ルで割 り 当て ら れ、 XDC フ ァ イ ルや Tcl コ マ ン ド では定義す る こ と はで
き ません。し か し 、XDC マ ク ロ の場合は、update_macros コ マ ン ド に -absolute_grid オプシ ョ ン を使用 し ます。
影響のある処理
•
論理か ら 物理へのマ ッ ピ ン グ
•
place_design
•
synth_design
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
238
第 3 章 : 主な プ ロパテ ィ の説明
関連項目
160 ページの 「H_SET お よ び HU_SET」
228 ページの 「RLOC」
231 ページの 「RLOCS」
233 ページの 「RLOC_ORIGIN」
236 ページの 「RPM」
242 ページの 「U_SET」
SEVERITY
SEVERITY プ ロ パ テ ィ を 設定 し て、 Report DRC を 実行す る と き の、 Vivado Design Suite で個々のデザ イ ン ルール
チ ェ ッ ク (DRC) に割 り 当て ら れてい る 重要度を変更で き ます。DRC の実行に関 し ては、『Vivado Design Suite ユーザー
ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) [参照 15] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ビル ト イ ン DRC、 カ ス タ ム DRC の ど ち ら に対 し て も 、 重要度を設定で き ます。 カ ス タ ム のデザ イ ン ルール チ ェ ッ
ク を記述す る 場合は、 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894) [参照 14] の こ のセ
ク シ ョ ン を参照 し て く だ さ い。
た と えば、 次の コ マ ン ド はエ ラ ーを警告に格下げ し ます。
set_property SEVERITY {Warning} [get_drc_checks REQP-83]
重要 : Vivado ではビル ト イ ン DRC オブジ ェ ク ト の重要度をデ ィ ス エーブルに し た り 、 格下げす る こ と がで き ますが、
不測の結果を招いた り 、デバ イ ス を恒久的に損傷 し て し ま う 可能性があ る ため、で き る 限 り 変更は し ないで く だ さ い。
DRC オブジ ェ ク ト をデフ ォ ル ト 設定に リ セ ッ ト する には、 reset_drc_check と い う Tcl コ マ ン ド を使用 し ます。 ビル ト
イ ン DRC チ ェ ッ ク の場合は、 Vivado ツールで定義 さ れてい る デフ ォ ル ト 設定に戻 り ます。 カ ス タ ム DRC の場合は、
create_drc_check コ マ ン ド で作成 し た と き に定義 し たデフ ォ ル ト 設定に戻 り ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
デザ イ ン ルールチ ェ ッ ク オブジ ェ ク ト (get_drc_checks)
値
•
Fatal
•
Error
•
{Critical Warning}
•
Warning
•
Advisory
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
239
第 3 章 : 主な プ ロパテ ィ の説明
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property SEVERITY {<VALUE>} [get_drc_checks <id>]
説明 :
•
<VALUE> は、 Vivado ツールで認識 さ れてい る DRC 重要度、 Advisory、 Warning、 {Critical Warning}、 Error、 Fatal
のいずれかにな り ます。
•
<id> は Vivado Design Suite で認識 さ れ る DRC ID です。
XDC の構文例
set_property SEVERITY {Critical Warning} [get_drc_checks RAMW-1]
影響のある処理
•
report_drc
•
write_bitstream
関連項目 183 ページの 「IS_ENABLED」
SLEW
SLEW は、 プ ロ グ ラ ム可能な出力 ス ルー レ ー ト を サポー ト す る I/O 規格で コ ン フ ィ ギ ュ レ ーシ ョ ン さ れた出力バ ッ
フ ァ ーに対 し 、 出力バ ッ フ ァ ーの スルー レー ト を指定 し ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
°
•
接続 さ れた出力ポー ト ま たは双方向ポー ト
セル (get_cells)
°
出力バ ッ フ ァ ー (すべての OBUF)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
240
第 3 章 : 主な プ ロパテ ィ の説明
値
•
SLOW (デフ ォ ル ト )
•
MEDIUM - UltraScale アーキ テ ク チ ャ の場合は、 ハ イ パフ ォーマ ン ス (HP) I/O でのみ使用で き ます。
•
FAST
構文
Verilog 構文
I/O バ ッ フ ァ ーを推論す る 際に こ の属性を設定す る には、適切な Verilog 属性構文を最上位出力ポー ト 宣言の前に配置
し ます。
(* DRIVE = "{SLOW|FAST}" *)
Verilog の構文例
// Sets the Slew rate to be FAST
(* SLEW = "FAST" *) output FAST_DATA,
VHDL 構文
I/O バ ッ フ ァ ーを推論す る 際に こ の属性を設定す る には、 適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に配置
し ます。
VHDL 属性は次の よ う に宣言 し ます。
attribute SLEW : string;
VHDL 属性は次の よ う に指定 し ます。
attribute SLEW of port_name : signal is value;
説明 :
•
port_name は最上位出力ポー ト です。
VHDL の構文例
FAST_DATA : out std_logic;
attribute SLEW : string;
-- Sets the Slew rate to be FAST
attribute SLEW of STATUS : signal is “FAST”;
XDC 構文
set_property SLEW value [get_ports port_name]
説明 :
•
port_name は出力ま たは双方向ポー ト です。
XDC の構文例
# Sets the Slew rate to be FAST
set_property SLEW FAST [get_ports FAST_DATA]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
241
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
ノ イ ズ レ ポー ト
•
消費電力レ ポー ト
関連項目
『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ
ブ ラ リ ガ イ ド 』 (UG974) [参照 26] にあ る 次のデザ イ ン エ レ メ ン ト を参照 し て く だ さ い。
•
OBUF
•
OBUFT
•
IOBUF
•
IOBUF_DCIEN
•
IOBUF_INTERMDISABLE
U_SET
RLOC 制約を使用 し て、 デザ イ ン階層を ま たいで分散 し てい る デザ イ ン エ レ メ ン ト を 1 つのセ ッ ト に ま と め ます。
U_SET は HDL デザ イ ン ソ ー ス フ ァ イ ル内の属性で、 合成 さ れたデザ イ ンや イ ン プ リ メ ン ト さ れたデザ イ ンには表
れません。 U_SET は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定義す る と き に使用 さ れます。 こ れ ら のプ ロ
パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 19]
を参照 し て く だ さ い。
H_SET ま た は HU_SET はデザ イ ン 階層に基づい て ロ ジ ッ ク エ レ メ ン ト のセ ッ ト を 定義す る のに使用 さ れ ま すが、
U_SET を使用す る と 、 ユーザー定義の ロ ジ ッ ク エ レ メ ン ト を手動で作成で き 、 こ のセ ッ ト はデザ イ ンの階層には依
存 し ません。
RTL ソ ース フ ァ イ ルに RLOC も あ る 場合は、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後ネ ッ ト リ ス ト でセル
に対す る 読み出 し 専用の RPM プ ロ パテ ィ に変換 さ れます。 Vivado Design Suite のテ キ ス ト エデ ィ タ ーで RTL ソ ース
フ ァ イ ルを開 く と 、 HU_SET お よ び U_SET が表示 さ れますが、 セル オブジ ェ ク ト の [Properties] ビ ュ ーでは RPM プ
ロ パテ ィ が表示 さ れます。
重要 : 階層モジ ュ ールに U_SET 制約を設定す る と 、 それ以下の階層にあ る RLOC 制約が設定 さ れたすべてのプ リ ミ
テ ィ ブ シ ン ボルに U_SET 制約が適用 さ れます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
適用可能なオブ ジ ェ ク ト
次のデザ イ ン エ レ メ ン ト 、 ま たはそのカ テ ゴ リ ーで U_SET は使用する こ と がで き ます。 特定デザ イ ン エ レ メ ン ト の
詳細については、『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 25] ま たは『UltraScale アー
キ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 26] を参照 し て く だ さ い。
•
レジス タ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
242
第 3 章 : 主な プ ロパテ ィ の説明
•
マク ロ インスタンス
•
RAMS*
•
RAMD*
•
RAMB*
•
DSP48*
値
•
NAME : U_SET の名前
構文
Verilog 構文
こ れは、 合成後ネ ッ ト リ ス ト で RPM を定義す る 階層ブ ロ ッ ク のセ ッ ト の内容を定義す る ため、 RLOC プ ロ パテ ィ と
組み合わせた Verilog 構文です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。
(* RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
Verilog 例
こ れは、 モジ ュ ールでのシ フ ト レ ジ ス タ フ リ ッ プ フ ロ ッ プの RLOC お よ び U_SET プ ロ パテ ィ を定義す る Verilog モ
ジ ュ ールです。
module ffs (
input clk,
input d,
output q
);
wire
wire
wire
wire
wire
wire
wire
wire
sr_0,
sr_1,
sr_2,
sr_3,
sr_4,
sr_5,
sr_6,
sr_7,
wire
inr, inrn, outr;
inv
inv
inv
inv
inv
inv
inv
inv
inv
(sr_0, sr_0n);
(sr_1, sr_1n);
(sr_2, sr_2n);
(sr_3, sr_3n);
(sr_4, sr_4n);
(sr_5, sr_5n);
(sr_6, sr_6n);
(sr_7, sr_7n);
(inr, inrn);
i0
i1
i2
i3
i4
i5
i6
i7
i8
sr_0n;
sr_1n;
sr_2n;
sr_3n;
sr_4n;
sr_5n;
sr_6n;
sr_7n;
(* RLOC = "X0Y0", U_SET = "Uset0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
(* RLOC = "X0Y0", U_SET = "Uset0" *) FD sr1 (.C(clk), .D(sr_2n), .Q(sr_1));
(* RLOC = "X0Y1", U_SET = "Uset0" *) FD sr2 (.C(clk), .D(sr_3n), .Q(sr_2));
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
243
第 3 章 : 主な プ ロパテ ィ の説明
(*
(*
(*
(*
(*
(*
FD
RLOC = "X0Y1", U_SET = "Uset0" *) FD sr3 (.C(clk), .D(sr_4n), .Q(sr_3));
RLOC = "X0Y0", U_SET = "Uset1" *) FD sr4 (.C(clk), .D(sr_5n), .Q(sr_4));
RLOC = "X0Y0", U_SET = "Uset1" *) FD sr5 (.C(clk), .D(sr_6n), .Q(sr_5));
RLOC = "X0Y1", U_SET = "Uset1" *) FD sr6 (.C(clk), .D(sr_7n), .Q(sr_6));
RLOC = "X0Y1", U_SET = "Uset1" *) FD sr7 (.C(clk), .D(inrn), .Q(sr_7));
LOC = "SLICE_X0Y0" *) FD inq (.C(clk), .D(d), .Q(inr));
outq (.C(clk), .D(sr_0n), .Q(outr));
assign q = outr;
endmodule // ffs
定義 さ れてい る 特定の階層に設定す る HU_SET プ ロ パテ ィ と は異な り 、 U_SET プ ロ パテ ィ は階層全体に設定で き ま
す。 こ の例では、 最上位モジ ュ ールに よ り フ リ ッ プ フ ロ ッ プ モジ ュ ールの イ ン ス タ ン ス が 3 つ定義 さ れてい ますが、
U_SET は Uset_0 お よ び Uset_1 の 2 つ し か作成 さ れてい ません。 こ の 2 つのセ ッ ト には、 次に定義 さ れてい る 3 つの
フ リ ッ プ フ ロ ッ プ モジ ュ ール イ ン ス タ ン スすべてか ら のフ リ ッ プ フ ロ ッ プが含まれてい ます。
module top (
input clk,
input d,
output q
);
wire
c1, c2;
ffs u0 (clk, d, c1);
ffs u1 (clk, c1, c2);
ffs u2 (clk, c2, q);
endmodule // top
VHDL 構文
VHDL 属性は次の よ う に宣言 し ます。
attribute U_SET : string;
VHDL 制約は次の よ う に指定 し ます。
attribute U_SET of {component_name | entity_name | label_name} :
{component|entity|label} is "NAME";
説明 :
•
{component_name | entity_name | label_name} にはデザ イ ン エ レ メ ン ト を指定 し ます。
•
{component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。
•
"NAME" には U_SET の名前を指定 し ます。
XDC 構文
U_SET プ ロ パテ ィ は XDC 制約を使用 し ては定義で き ません。 RLOC と と も に ロ ジ ッ ク エ レ メ ン ト に設定 さ れてい る
U_SET プ ロ パテ ィ は、 RPM を定義 し 、 その結果合成 さ れたデザ イ ン のネ ッ ト リ ス ト に読み出 し 専用の RPM プ ロ パ
テ ィ が設定 さ れます。
ヒ ン ト : デ ザ イ ン 内 で RPM の よ う に 機能す る マ ク ロ オ ブ ジ ェ ク ト を Vivado Design Suite で 定義す る に は、
create_macro ま たは update_macro を使用 し ます。 こ れ ら の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン
ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
244
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
デザ イ ンの フ ロ アプ ラ ン
•
place_design
•
synth_design
関連項目
188 ページの 「KEEP_HIERARCHY」
160 ページの 「H_SET お よ び HU_SET」
228 ページの 「RLOC」
USE_DSP48
USE_DSP48 プ ロ パテ ィ を使用す る と 、 Vivado Design Suite で数学モジ ュ ールが タ ーゲ ッ ト デバ イ ス で DSP48 ブ ロ ッ
ク に合成 さ れ る よ う にな り ます。
デ フ ォ ル ト では、 乗算器、 乗加算器、 乗減算器、 乗累算器 タ イ プ の構造が DSP48 ブ ロ ッ ク に割 り 当 て ら れ ま す。
USE_DSP48 プ ロ パテ ィ を指定 し ない場合、 Vivado 合成では ロ ジ ッ ク が自動的に正 し く 推論 さ れます。 加算器、 減算
器、 ア キ ュ ム レー タ も こ れ ら のブ ロ ッ ク に含め る こ と はで き ますが、デフ ォ ル ト では DSP48 ブ ロ ッ ク ではな く ロ ジ ッ
ク を使用 し て イ ン プ リ メ ン ト さ れ ます。 USE_DSP48 属性を使用す る と 、 こ のデフ ォ ル ト 動作が変更 さ れ、 デバ イ ス
で DSP48 ブ ロ ッ ク を使用 し て こ れ ら の構造が定義 さ れ る よ う に も な り ます。
DSP48 は、 カ ウ ン タ ー、 マルチプ レ ク サー、 お よ びシ フ ト レ ジ ス タ な ど、 数学以外の多 く の ロ ジ ッ ク フ ァ ン ク シ ョ
ン を イ ンプ リ メ ン ト す る ために も 使用で き ます。 ただ し 、 マルチプ レ ク サーな ど の複雑なモジ ュ ールの場合は、 手動
で DSP48 を手動で イ ン ス タ ン シエー ト する 必要があ り ます。
こ のプ ロ パテ ィ は、 次の よ う に RTL で信号上の属性 と し て設定で き ます。
(* use_dsp48 = "yes" *) module test(clk, in1, in2, out1);
USE_DSP48 は RTL ソ ース でモジ ュ ールに適用で き ますが、 それが指定 さ れたモジ ュ ールにのみ適用 さ れ ます。 下位
モジ ュ ールには個別に指定す る か、 指定 し ないで く だ さ い。 こ れは、 デザ イ ンの階層セルに XDC 制約 と し て適用す
る こ と も で き ます。
アーキテ ク チ ャ サポー ト
すべてのデバ イ ス
適用可能なオブ ジ ェ ク ト
こ の属性は、 RTL の信号、 アーキ テ ク チ ャ お よ び コ ン ポーネ ン ト 、 エ ン テ ィ テ ィ お よ びモジ ュ ールに指定で き ます。
優先順位は次の と お り です。
1.
信号
2.
アーキ テ ク チ ャ お よ び コ ン ポーネ ン ト
3.
モジ ュ ールお よ びエン テ ィ テ ィ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
245
第 3 章 : 主な プ ロパテ ィ の説明
値
•
YES : DSP48 ブ ロ ッ ク を使用 し て数学フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト し ます。
•
NO : Vivado 合成のデフ ォ ル ト ビヘ イ ビ アーは変更 さ れません。
•
LOGIC : UltraScale アーキ テ ク チ ャ のみ。 DSP48 ブ ロ ッ ク を使用 し て大型/幅広の フ ァ ン ク シ ョ ン を イ ンプ リ メ ン
ト し ます。
構文
Verilog 構文
(* use_dsp48 = "yes" *) module test(clk, in1, in2, out1);
VHDL 構文
attribute use_dsp48 : string;
attribute use_dsp48 of P_reg : signal is "no"
XDC 構文
set_property use_dsp48 yes [get_cells -hier ….]
影響のある処理
•
合成
USED_IN
USED_IN プ ロ パテ ィ は Vivado Design Suite のデザ イ ン フ ァ イ ル (v、 vhd、 xdc、 tcl) に設定 し 、 こ れ ら の フ ァ イ ルが
FPGA デザ イ ンの ど の段階で使用 さ れ る か を指定 し ます。
た と えば、 イ ンプ リ メ ン テーシ ョ ンではな く 、 Vivado 合成で XDC フ ァ イ ルを使用す る よ う 、 USED_IN プ ロ パテ ィ で
指定で き ます。 ま た、 合成ではな く シ ミ ュ レーシ ョ ンで HDL ソ ース フ ァ イ ル (v ま たは vhd) を使用す る よ う 指定す
る こ と も で き ます。
ヒ ン ト : USED_IN_SYNTHESIS、 USED_IN_SIMULATION、 USED_IN_IMPLEMENTATION プ ロ パテ ィ は USED_IN プ
ロ パテ ィ に関連付け ら れてお り 、 ツールに よ り 自動的に USED_IN ({synthesis, simulation, implementation} に変換 さ れ
ます。
ま た、 Tcl フ ァ イ ルを単に イ ンプ リ メ ン テーシ ョ ン で使用す る よ う に設定す る のではな く 、 USED_IN opt_design ま た
は place_design で使用す る よ う に細か く 設定す る こ と も で き ます。
アーキテ ク チ ャ サポー ト
すべてのアーキ テ ク チ ャ
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
246
第 3 章 : 主な プ ロパテ ィ の説明
適用可能なオブ ジ ェ ク ト
•
フ ァ イル
値
•
synthesis
•
implementation
•
simulation
•
out_of_context
•
opt_design
•
power_opt_design
•
place_design
•
phys_opt_design
•
route_design
•
write_bitstream
•
post_write_bitstream
•
synth_blackbox_stub
•
testbench
•
board
•
single_language
構文
Verilog および VHDL 構文
該当な し
XDC 構文
set_property USED_IN {<value>} [get_files <files>]
説明 :
•
<value> には有効な USED_IN 値が 1 つま たは複数入 り ます。
•
<files> には USED_IN プ ロ パテ ィ を設定す る フ ァ イ ル名が入 り ます。
XDC の構文例
# Designates the specified files as used in simulation
set_property USED_IN {synthesis simulation} [get_files *.vhdl]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
247
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
合成
•
シ ミ ュ レーシ ョ ン
•
イ ンプ リ メ ン テーシ ョ ン
•
ビ ッ ト ス ト リ ーム生成
USER_CLOCK_ROOT
ク ロ ッ ク ド ラ イ バー、 ま たはルー ト を、 タ ーゲ ッ ト デバ イ ス の特定の ク ロ ッ ク 領域ま たは Pblock に割 り 当て る のに
使用 し ます。
USER_CLOCK_ROOT プ ロ パテ ィ は、 デバ イ ス全体の ク ロ ッ ク ス キ ュ ーを管理 し やす く す る ための も のです。 デフ ォ
ル ト では、 配置配線ツールで自動的に ク ロ ッ ク ルー ト が割 り 当て ら れ、 そのデザ イ ンに最適な タ イ ミ ン グ特性が達成
さ れます。 ツールで割 り 当て ら れた ク ロ ッ ク ルー ト は、 読み出 し 専用の 「CLOCK_ROOT」 プ ロ パテ ィ で定義 さ れま
す。 USER_CLOCK_ROOT を使用す る 場合は、 ク ロ ッ ク ルー ト を手動で割 り 当て る こ と がで き ます。
重要 : USER_CLOCK_ROOT プ ロ パテ ィ はグ ロ ーバル ク ロ ッ ク ネ ッ ト に設定で き 、 グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー
(BUFG) で直接駆動 さ せ る ネ ッ ト セグ メ ン ト にのみ割 り 当て る こ と がで き ます。
USER_CLOCK_ROOT プ ロ パテ ィ は ク ロ ッ ク リ ソ ース配線中に検証 さ れ使用 さ れ る ので、 配置の前に、 割 り 当て を し
てお く 必要があ り ます。 し か し 、 プ ロ パテ ィ を配置の後に割 り 当てた場合は、 ク ロ ッ ク ツールを イ ンプ リ メ ン ト す る
ために配置を再実行す る 必要があ り ます。
アーキテ ク チ ャ サポー ト
UltraScale デバ イ ス
適用可能なオブ ジ ェ ク ト
•
ネ ッ ト - グ ロ ーバル ク ロ ッ ク ネ ッ ト (get_nets)
値
•
<clock_region | pblock_name> : タ ーゲ ッ ト パーツ の ク ロ ッ ク 領域名、 ま たは現在のデザ イ ン で定義 さ れてい る
Pblock 名 を 指 定 し ま す。 ク ロ ッ ク 領域 は、 名前 で 指定す る か、 ま た は get_clock_regions コ マ ン ド で
clock_region オブジ ェ ク ト と し て渡 し ます。 同様に Pblock も 、 名前で指定す る j か、 ま たは get_pblocks コ マ
ン ド で渡 し ます。
•
<object> : 1 つま たは複数の ク ロ ッ ク ネ ッ ト 、 ま たはネ ッ ト セグ メ ン ト を指定 し ます。
構文
Verilog および VHDL 構文
該当な し
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
248
第 3 章 : 主な プ ロパテ ィ の説明
XDC 構文
set_property USER_CLOCK_ROOT <clock_region | pblock> <List of clock nets>
XDC の構文例
set_property USER_CLOCK_ROOT X1Y0 [get_nets {clk1 clk2}]
set_property USER_CLOCK_ROOT [get_clock_regions X0Y0] [get_nets {clk1 clk2}]
ヒ ン ト : 次の例に示す よ う に、 グ ロ ーバル バ ッ フ ァ ー イ ン ス タ ン ス、 ま たは出力ピ ン を使用 し て、 ク ロ ッ ク ネ ッ ト
を定義す る こ と も で き ます。
set_property USER_CLOCK_ROOT X1Y0 [get_nets -of [get_pins bufferName/O]]
影響のある処理
•
配置
•
配線
関連項目
128 ページの 「CLOCK_BUFFER_TYPE」
133 ページの 「CLOCK_REGION」
134 ページの 「CLOCK_ROOT」
VCCAUX_IO
VCCAUX_IO は、 指定 し た I/O の VCCAUX_IO レールの動作電圧を指定 し ます。
VCCAUX_IO プ ロ パテ ィ の割 り 当てが正 し い こ と をチ ェ ッ ク す る DRC があ り ます。
•
VCCAUXIOBT (警告) : VCCAUX_IO の値が NORMAL ま たは HIGH にな っ てい る ポー ト が HP バン ク のみに配置
さ れてい る こ と を確認 し ます。
•
VCCAUXIOSTD (警告) : VCCAUX_IO の値が NORMAL ま たは HIGH にな っ てい る ポー ト が HR バン ク でのみサ
ポー ト さ れてい る IOSTANDARD を使用 し ていない こ と を確認 し ます。
•
VCCAUXIO (エ ラ ー ) : VCCAUX_IO の値が NORMAL にな っ てい る ポー ト が、 VCCAUX_IO の値が HIGH にな っ
てい る ポー ト と し て同 じ バン ク に制約/配置 さ れていない こ と を確認 し ます。
アーキテ ク チ ャ サポー ト
7 シ リ ーズ FPGA、 お よ び Zynq All Programmable SoC デバ イ ス のハ イ パフ ォーマ ン ス (HP) バン ク I/O のみ
適用可能なオブ ジ ェ ク ト
•
ポー ト (get_ports)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
249
第 3 章 : 主な プ ロパテ ィ の説明
値
•
DONTCARE (デフ ォ ル ト )
•
NORMAL
•
HIGH
構文
Verilog 構文
こ の属性を設定す る には、 適切な Verilog 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。
(* VCCAUXIO = "{DONTCARE|NORMAL|HIGH}" *)
Verilog の構文例
// Specifies a “HIGH” voltage for the VCCAUX_IO rail connected to this I/O
(* VCCAUX_IO = "HIGH" *) input ACT3,
VHDL 構文
こ の属性を設定す る には、 適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。
VHDL 属性は次の よ う に宣言 し ます。
attribute VCCAUX_IO : string;
VHDL 属性は次の よ う に指定 し ます。
attribute VCCAUX_IO of port_name : signal is value;
説明 :
•
port_name は最上位ポー ト です。
VHDL の構文例
ACT3 : in std_logic;
attribute VCCAUX_IO : string;
-- Specifies a HIGH voltage for the VCCAUX_IO rail connected to this I/O
attribute VCCAUX_IO of ACT3 : signal is “HIGH”;
XDC 構文
set_property VCCAUX_IO value [get_ports port_name]
説明 :
•
port_name は最上位ポー ト です。
XDC の構文例
# Specifies a HIGH voltage for the VCCAUX_IO rail connected to this I/O
set_property VCCAUX_IO HIGH [get_ports ACT3]
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
250
第 3 章 : 主な プ ロパテ ィ の説明
影響のある処理
•
I/O プ ラ ン ニ ン グ
•
place_design
•
消費電力レ ポー ト
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
251
付録 A
その他の リ ソ ース
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ
ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。
参考資料
こ のガ イ ド の補足情報は、 次の資料を参照 し て く だ さ い。
1.
『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470 : 英語版、 日本語版)
2.
『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471 : 英語版、 日本語版)
3.
『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472 : 英語版、 日本語版)
4.
『7 シ リ ーズ FPGA コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG474 : 英語版、 日本語版)
5.
『7 シ リ ーズ FPGA パ ッ ケージお よ びピ ン配置ガ イ ド 』 (UG475 : 英語版、 日本語版)
6.
『7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC XADC デュ アル 12 ビ ッ ト 1MSPS アナ ロ グ-デジ タ ル
コ ンバー タ ー ユーザー ガ イ ド 』 (UG480 : 英語版、 日本語版)
7.
『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570 : 英語版、 日本語版)
8.
『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571 : 英語版、 日本語版)
9.
『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572 : 英語版、 日本語版)
10. 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG574 : 英語版、日本語版)
11. 『Kintex UltraScale お よ び Virtex UltraScale FPGA のパ ッ ケージお よ びピ ン配置ユーザー ガ イ ド 』 (UG575 : 英語版、
日本語版)
12. 『UltraScale アーキ テ ク チ ャ シ ス テ ム モニ タ ー ユーザー ガ イ ド 』 (UG580 : 英語版、 日本語版)
13. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)
14. 『Vivado Design Suite ユーザー ガ イ ド : Tcl ス ク リ プ ト 機能の使用』 (UG894)
15. 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895)
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
252
付録 A : その他の リ ソ ース
16. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896)
17. 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899)
18. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901)
19. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903)
20. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904)
21. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905)
22. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906)
23. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908)
24. 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949)
25. 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953)
26. 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974)
27. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994)
28. 『LogiCORE IP JTAG to AXI Master 製品ガ イ ド 』 (PG174)
29. 『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers』 (PG132)
30. Vivado Design Suite の資料
ト レーニ ング リ ソ ース
ザ イ リ ン ク ス では、本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオを
提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
1.
Vivado Design Suite ビデオ チ ュ ー ト リ アル
2.
Vivado Design Suite ビデオ チ ュ ー ト リ アル : デザ イ ン制約の概要
3.
Vivado での FPGA 設計導入 ト レーニ ン グ コ ース
4.
Vivado Design Suite での FPGA 設計実践
5.
UltraScale アーキテ ク チ ャ を含むデザ イ ン
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
253
付録 A : その他の リ ソ ース
お読み く だ さ い : 重要な法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同 じ )
に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れ ます。 適
用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供
さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ ら
に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは貴
社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わない
(契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る かを問わない) も の と し 、 当該損失ま たは損害には、
直接、 間接、 特別、 付随的、 結果的な損失 ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の損失、
その他あ ら ゆ る 種類の損失や損害を含みま す) が含 ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能で あ っ た
り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受け ていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に含ま れ る
いかな る 誤 り も 訂正す る 義務を負わず、本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ません。事前
の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一定の製品は、
ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件
を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件に従 う こ と に
な り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケーシ ョ ンに使用す る
ために、設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を使用す る 場合の リ ス
ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク ス の販売条件を参照
し て く だ さ い。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
Vivado プ ロパテ ィ リ フ ァ レ ン ス
UG912 (v2015.4) 2015 年 11 月 18 日
japan.xilinx.com
254