Comments
Transcript
Vivado Design Suite プロパティ リファレンス ガイド (UG912)
Vivado Design Suite プ ロパテ ィ リ フ ァ レ ン ス ガイ ド UG912 (v2015.1) 2015 年 4 月 1 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2015 年 4 月 1 日 2015.1 第 1 章 「Vivado の第一級オ ブ ジ ェ ク ト 」 の オ ブ ジ ェ ク ト リ ス ト を カ テ ゴ リ 別に分類 し 、 第 2 章 「Vivado オブジ ェ ク ト の リ ス ト (アルフ ァ ベ ッ ト 順)」 のオブジ ェ ク ト リ ス ト を アル フ ァ ベ ッ ト 別に分類 第 2 章に 「IO_BANK」 、 「IO_STANDARD」 、 「PACKAGE_PIN」 、 「PKGPIN_BYTEGROUP」 、 「PKGPIN_NIBBLE」、 お よ び 「SLR」 を追加 第 3 章に 「CLOCK_REGION」、 「DELAY_BYPASS」、 お よ び 「KEEP」 を追加 第 3 章の 「INTERNAL_VREF」 で UltraScale 値を反映 第 3 章に 「KEEPER」、 「PULLDOWN」、 お よ び 「PULLUP」 を追加 し 、 RTL シ ミ ュ レーシ ョ ンでは こ れ ら の属性が表示 さ れない こ と を示す注記を追加 第 3 章に 「LVDS_PRE_EMPHASIS」 お よ び 「PRE_EMPHASIS」 に ENABLE_PRE_EMPHASIS も イ ネーブルにする 必要があ る こ と を含有 第 3 章の 「POST_CRC_SOURCE」 に、 こ のプ ロ パテ ィ が 7 シ リ ーズ FPGA にのみ適用 さ れ る こ と を示す情報を追加. Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 2 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 本書か ら 例を コ ピーす る 場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 ブ ロ ッ ク デザ イ ン オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アルフ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 14 17 19 21 23 25 27 29 31 33 37 39 43 46 48 49 51 53 55 58 61 61 64 65 75 76 78 80 86 89 93 3 HW_VIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 IO_BANK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 IO_STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 PACKAGE_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 PKGPIN_BYTEGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 PKGPIN_NIBBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 SITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 SLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 TILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 TIMING_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 第 3 章 : 主な プ ロパテ ィ の説明 プ ロ パテ ィ 情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASYNC_REG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLACK_BOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CFGBVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLOCK_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLOCK_DEDICATED_ROUTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 131 135 137 138 140 142 144 146 148 150 152 154 156 158 159 161 163 165 166 169 171 172 174 175 177 179 H_SET お よ び HU_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HIODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HLUTNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBUF_LOW_PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IN_TERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INTERNAL_VREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IO_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 185 188 191 193 195 197 199 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 4 IOBDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IOSTANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP_REPO_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROHIBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PULLDOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PULLUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REF_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REF_PIN_NAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RLOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RLOCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RLOC_ORIGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ROUTE_STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RPM_GRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SLEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . U_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . USE_DSP48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . USED_IN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VCCAUX_IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 203 206 208 210 212 214 217 219 221 225 228 230 232 234 236 238 240 242 244 246 248 250 252 254 256 257 259 261 262 263 267 269 272 274 275 277 279 282 284 286 付録 A : その他の リ ソ ース ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 288 288 289 290 5 第 1章 Vivado の第一級オブ ジ ェ ク ト 概要 本書では、 第一級オブジ ェ ク ト 、 ザ イ リ ン ク ス Vivado® Design Suite で使用可能なオブジ ェ ク ト のプ ロ パテ ィ につい て説明 し ます。 含ま れ る 内容は次の と お り です。 • 第 1 章「Vivado の第一級オブジ ェ ク ト 」 : FPGA デザ イ ン デー タ ベース をモデル化す る ため Vivado Design Suite で 使用 さ れ る さ ま ざ ま なデザ イ ンお よ びデバ イ ス のオブジ ェ ク ト について説明 し ます。 カ テ ゴ リ 別にオブジ ェ ク ト を示 し 、 次の章のオブジ ェ ク ト の説明への リ ン ク を示 し ます。 • 第 2 章 「Vivado オブジ ェ ク ト の リ ス ト (アルフ ァ ベ ッ ト 順)」 : Vivado Design Suite の第一級オブジ ェ ク ト を アル フ ァ ベ ッ ト 順に リ ス ト し ます。 オブジ ェ ク ト の定義、 関連オブジ ェ ク ト の リ ス ト 、 各オブジ ェ ク ト に関連付け ら れてい る プ ロ パテ ィ の リ ス ト を含みます。 • 第 3 章 「主なプ ロ パテ ィ の説明」 : Vivado Design Suite プ ロ パテ ィ の説明、 サポー ト さ れてい る アーキ テ ク チ ャ 、 適用可能エ レ メ ン ト 、 値、 構文例 (Verilog、 VHDL、 XDC)、 影響のあ る デザ イ ン フ ロ ー ス テ ッ プな ど について項 目別に説明 し ます。 • 付録 A 「その他の リ ソ ース」 : http://japan.xilinx.com/support のザ イ リ ン ク ス サポー ト ウ ェ ブサ イ ト か ら 入手可能 な リ ソ ースお よ び資料を リ ス ト し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 6 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 本書から例を コ ピーする場合 注意 : 本書か ら コ ー ド に構文ま たは コ ー ド 例を コ ピーする 前に、 こ のセ ク シ ョ ン を注意 し てお読み く だ さ い。 本書には、 構文お よ び コ ー ド 例が多 く 含 ま れ、 コ ー ド にプ ロ パテ ィ を挿入で き る よ う にな っ てい ま す。 こ れ ら の コ ピーを PDF か ら 直接 コ ー ド に コ ピーす る 場合、 次の よ う な問題があ り ます。 • PDF か ら Vivado Tcl コ ン ソ ール、 Tcl ス ク リ プ ト 、 XDC フ ァ イ ルへ コ ー ド 例を コ ピー し て貼 り 付け る 場合、 ダ ッ シ ュ (-) がエ ヌ ダ ッ シ ュ ま たはエム ダ ッ シ ュ に置き 換え ら れ る 可能性があ り ます。 • PDF 資料の改行マー ク が例に挿入 さ れて し ま い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。 • 次のページに ま たが る よ う な例を コ ピーす る と 、PDF のヘ ッ ダーお よ びフ ッ タ ー情報 も 一緒に コ ピー さ れて し ま い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。 こ れ ら の問題を回避す る には、 ASCII テ キ ス ト エデ ィ タ ーで コ ー ド 例にあ る 不必要なマーカーや情報を削除 し てか ら 、 コ ー ド 、 Vivado Design Suite の Tcl シ ェ ル、 ま たは Tcl コ ン ソ ールに貼 り 付け る よ う に し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 7 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ネ ッ ト リ ス ト およびデバイ ス オブ ジ ェ ク ト 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.1) 2015 年 4 月 1 日 japan.xilinx.com 8 第 1 章 : Vivado の第一級オブ ジ ェ ク ト Vivado Design Suite には、ネ ッ ト リ ス ト デザ イ ン と ま と め ら れて タ イ ミ ン グ レ ポー ト を作成する タ イ ミ ン グ オブジ ェ ク ト な ど、 第一級オブジ ェ ク ト に関す る カ テ ゴ リ がほかに も あ り ます。 ネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト に 関連付け ら れてい る タ イ ミ ン グ オブジ ェ ク ト を利用する こ と で、イ ンプ リ メ ン ト さ れたデザ イ ンの タ イ ミ ン グ解析を 完全に行 う こ と がで き ます。 タ イ ミ ン グ オブジ ェ ク ト には、 ク ロ ッ ク 、 タ イ ミ ン グ パ ス、 遅延オブジ ェ ク ト があ り ます。 オブジ ェ ク ト 間の関連性は、 オブジ ェ ク ト 同士を結ぶ矢印で示 さ れてい ます。 • 矢印が両方のオブジ ェ ク ト を指 し てい る 場合は、 ク エ リ ーを ど ち ら の方向か ら も 指定で き る 関係であ る こ と を示 し てい ます。 た と えば、 特定ネ ッ ト に接続 さ れてい る セル (get_cells -of_objects [get_nets]) を ク エ リ ー処理 し た り 、 特定セルに接続 さ れてい る ネ ッ ト (get_nets -of_objects [get_cells]) を ク エ リ ー処 理す る こ と がで き ます。 • 矢印が一方のみを指 し てい る 場合は、 その矢印の方向にのみ ク エ リ ーを指定で き る 関係であ る こ と を示 し てい ま す。 た と えば、 図 1-1 の例を使用 し て説明す る と 、 特定 ク ロ ッ ク 領域に あ る 基本エ レ メ ン ト は取得で き ま すが (get_bels -of_objects [get_clock_regions])、 特定の基本エ レ メ ン ト に関連付け ら れた ク ロ ッ ク 領域 を取得す る こ と はで き ません。 第一級オブジ ェ ク ト の説明、 ほかのオブジ ェ ク ト と の関係、 オブジ ェ ク ト で定義 さ れてい る プ ロ パテ ィ については、 後で説明 し ます。 ネ ッ ト リ ス ト オブ ジ ェ ク ト 39 ページの 「CELL」 43 ページの 「CLOCK」 101 ページの 「NET」 107 ページの 「PIN」 114 ページの 「PORT」 127 ページの 「TIMING_PATH」 デバイ ス リ ソ ース オブ ジ ェ ク ト 33 ページの 「BEL」 37 ページの 「BEL_PIN」 46 ページの 「CLOCK_REGION」 97 ページの 「IO_BANK」 99 ページの 「IO_STANDARD」 105 ページの 「PACKAGE_PIN」 110 ページの 「PKGPIN_BYTEGROUP」 112 ページの 「PKGPIN_NIBBLE」 117 ページの 「SITE」 121 ページの 「SLR」 123 ページの 「TILE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 9 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト ブ ロ ッ ク デザ イ ンは、 イ ン タ ーコ ネ ク ト さ れた 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 : ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト 次の図に示す よ う に、 ブ ロ ッ ク ダ イ ア グ ラ ム オブジ ェ ク ト には次が含まれます。 48 ページの 「DIAGRAM」 17 ページの 「BD_ADDR_SPACE」 14 ページの 「BD_ADDR_SEG」 19 ページの 「BD_CELL」 21 ページの 「BD_INTF_NET」 23 ページの 「BD_INTF_PIN」 25 ページの 「BD_INTF_PORT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 10 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 27 ページの 「BD_NET」 29 ページの 「BD_PIN」 31 ページの 「BD_PORT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 11 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ハー ド ウ ェ ア マネージ ャ ー オブ ジ ェ ク ト ハー ド ウ ェ ア マネージ ャ ーは Vivado Design Suite の機能で、 デバ イ ス プ ロ グ ラ マーま たはデバ ッ グ ボー ド へ接続 し た り 、 プ ロ グ ラ ム さ れたハー ド ウ ェ ア デバ イ ス を実行 し た り で き ます。 ハー ド ウ ェ ア マネージ ャ ーを使用す る と 、デ バ イ ス 上のデバ ッ グ ロ ジ ッ ク を実行 し て、 現在の値を設定 ま たは取 り 出す信号に ア ク セ ス で き る よ う にな り ま す。 図 1-3 は、 Vivado ハー ド ウ ェ ア マネージ ャ ーのデバ ッ グ コ ア と オブジ ェ ク ト の多 く を示 し てい ます。 X-Ref Target - Figure 1-3 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ 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) [参照 22] を参照 し て く だ さ い。 上記の図に示す よ う に、 Vivado ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト には次が含まれます。 49 ページの 「HW_AXI」 51 ページの 「HW_BITSTREAM」 53 ページの 「HW_CFGMEM」 55 ページの 「HW_DEVICE」 58 ページの 「HW_ILA」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 12 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 61 ページの 「HW_ILA_DATA」 61 ページの 「HW_PROBE」 64 ページの 「HW_SERVER」 65 ページの 「HW_SIO_GT」 75 ページの 「HW_SIO_GTGROUP」 76 ページの 「HW_SIO_IBERT」 78 ページの 「HW_SIO_PLL」 80 ページの 「HW_SIO_RX」 86 ページの 「HW_SIO_TX」 89 ページの 「HW_SYSMON」 93 ページの 「HW_TARGET」 95 ページの 「HW_VIO」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 13 第 2章 Vivado オブ ジ ェ ク ト の リ ス ト (アルフ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 14 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-1 EGBLQWIBQHW EGBLQWIBSLQ BFHOO 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.1) 2015 年 4 月 1 日 japan.xilinx.com 15 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ 次に、 ブ ロ ッ ク デザ イ ンのア ド レ ス セグ メ ン ト オブジ ェ ク ト (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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 16 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_ADDR_SPACE 説明 ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) は、 マ ス タ ー イ ン タ ーフ ェ イ ス、 ま たはブ ロ ッ ク デザ イ ン外部の AXI マ ス タ ーへ接続 さ れた AXI イ ン タ ーフ ェ イ ス ポー ト の論理的にア ド レ ス指定可能な メ モ リ 空間に割 り 当て ら れます。 Vivado Design Suite の IP イ ン テ グ レー タ ーは、 業界標準の IP-XACT デー タ フ ォーマ ッ ト に従っ て、 メ モ リ 要件お よ び機能を キ ャ プチ ャ し ます。ブ ロ ッ ク の中には複数のマ ス タ ー イ ン タ ーフ ェ イ ス に関連す る ア ド レ ス空間が 1 つ含ま れ る も のがあ り ま す。 た と えば、 シ ス テ ム バ ス お よ び高速 メ モ リ バ ス の付いたプ ロ セ ッ サな ど です。 その他の コ ン ポーネ ン ト には、 複数のマ ス タ ー イ ン タ ーフ ェ イ ス (命令用 1 つ、 デー タ 用 1 つ) に関連す る ア ド レ ス空間が複数含 まれ る も のがあ り ます。 マ ス タ ー イ ン タ ーフ ェ イ ス は、 ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) を参照 し ます。 AXI ス レーブがマ ス タ ー ア ド レ ス空間にマ ッ プ さ れ る 場合は、 マ ス タ ー ア ド レ ス セグ メ ン ト (bd_addr_seg) オブジ ェ ク ト が作成 さ れ、 ス レー ブのア ド レ ス セグ メ ン ト がマ ス タ ーへマ ッ プ さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-2 EGBLQWIBQHW EGBLQWIBSLQ BFHOO 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]] 次を使用す る と 、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間に関連する オブジ ェ ク ト を取得する こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 17 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 18 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_CELL 説明 ブ ロ ッ ク デザ イ ン セル (bd_cell オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ーの IP コ ア オブジ ェ ク ト の イ ン ス タ ン ス、 ま たは階層ブ ロ ッ ク デザ イ ン セルです。 リ ーフ セルは、 IP カ タ ロ グか ら の コ アです。 階層セルはモジ ュ ールま たはブ ロ ッ ク で、 1 つ以上の レベルの ロ ジ ッ ク を含み、 リ ーフ セル も 含みます。 bd_cell オブジ ェ ク ト の TYPE プ ロ パテ ィ では、ブ ロ ッ ク デザ イ ン セルが IP カ タ ロ グか ら の リ ーフ セル と し て (TYPE == IP)、 ま たは追加 ロ ジ ッ ク を含む階層モジ ュ ール と し て (TYPE == HIER) 識別 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-3 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW 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.1) 2015 年 4 月 1 日 japan.xilinx.com 19 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ ブ ロ ッ ク デザ イ ン セル オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのオブジ ェ ク ト の示すネ ッ ト の タ イ プに よ っ て異な り ます。 次の表には、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 20 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_INTF_NET 説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が 含まれす。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。 イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス に よ る 標準 イ ン タ ーフ ェ イ ス は、 Vivado イ ン ス ト ール デ ィ レ ク ト リ の data/ip/interfaces に含まれます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ンお よ びポー ト の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) を参照 し て く だ さ い。 ブ ロ ッ ク デザ イ ンの イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの イ ン タ ーフ ェ イ ス ピ ン を ほかの イ ン タ ーフ ェ イ ス ピ ン ま たは外部 イ ン タ ーフ ェ イ ス ポー ト に接続 し ます。 bd_intf_net オブジ ェ ク ト は、複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ ク デザ イ ン セルが接続 さ れます。すべての イ ン タ ーフ ェ イ ス ネ ッ ト には、 デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ ト へ接続 さ れ る すべてのブ ロ ッ ク デ ザ イ ン セル、 イ ン タ ーフ ェ イ ス ピ ン、 お よ び イ ン タ ーフ ェ イ ス ポー ト は電気的に接続 さ れてい ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-4 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBSLQ EGBFHOO EGBDGGUBVSDFH 図 2‐4 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ネ ッ ト Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 21 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 21 ページの図 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] ま た、 特定の 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 22 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_INTF_PIN 説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が 含まれす。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。 イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス に よ る 標準 イ ン タ ーフ ェ イ ス は、 Vivado イ ン ス ト ール デ ィ レ ク ト リ の data/ip/interfaces に含まれます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ンお よ びポー ト の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) を参照 し て く だ さ い。 ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ ン ト です。 イ ン タ ーフ ェ イ ス ピ ン では、 セルの内部は取 り 除いて、 使用 し やすい よ う に簡素化 さ れ ま す。 イ ン タ ー フ ェ イ ス ピ ンは、 階層ブ ロ ッ ク デザ イ ン セルま たは リ ーフ レベル セルに使用 さ れます。 関連オブ ジ ェ ク ト 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 を取得す る こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 23 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) get_bd_addr_spaces -of_objects [get_bd_intf_pins microblaze_0/*] プ ロパテ ィ ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ と があ り ます。 次の表には、 マ ス タ ー AXI イ ン タ ーフ ェ イ ス の ピ ン オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一 部を その値の例 と 共に リ ス ト し てい ます。 Property Type BRIDGES string CLASS string CONFIG.ADDR_WIDTH string CONFIG.ARUSER_WIDTH string CONFIG.AWUSER_WIDTH string CONFIG.BUSER_WIDTH string CONFIG.CLK_DOMAIN string CONFIG.DATA_WIDTH string CONFIG.FREQ_HZ string CONFIG.ID_WIDTH string 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 Read-only false true true true true true true true true true true true true true true true true true true false true false true true true Visible 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 Value bd_intf_pin 32 0 0 0 /clk_wiz_0_clk_out1 32 100000000 0 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 } Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 24 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_INTF_PORT 説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が 含まれす。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。 イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス に よ る 標準 イ ン タ ーフ ェ イ ス は、 Vivado イ ン ス ト ール デ ィ レ ク ト リ の data/ip/interfaces に含まれます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ンお よ びポー ト の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) を参照 し て く だ さ い。 ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト は、特別な タ イ プの階層ピ ン (ブ ロ ッ ク ダ イ ア グ ラ ムの最上位の ピ ン) で す。 ブ ロ ッ ク デザ イ ンでは、 ポー ト お よ び イ ン タ ーフ ェ イ ス が FPGA デザ イ ン全体ま たはシ ス テ ム レベル デザ イ ン 内外のブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム と 外部接続 と の通信に使用 さ れ る 主なポー ト にな り ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-6 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBS 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 に接続 さ れ る イ ン タ ーフ ェ イ ス ネ ッ ト を取得す る こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 25 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 26 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_NET 説明 ブ ロ ッ ク デザ イ ン ネ ッ ト (bd_net オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン セルの ピ ン を その他の ピ ン ま たは外部ポー ト に接続 し ます。 bd_net オブジ ェ ク ト は、 複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ ク デザ イ ン セルが接続 さ れます。すべてのネ ッ ト には、デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ ト へ接続 さ れ る すべてのブ ロ ッ ク デザ イ ン セル、 ピ ン、 お よ びポー ト は電気的に接続 さ れてい ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-7 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBLQWI EGBFHOO 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.1) 2015 年 4 月 1 日 japan.xilinx.com 27 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 28 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_PIN 説明 ブ ロ ッ ク デザ イ ン ピ ン (bd_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ ン ト です。 ブ ロ ッ ク デ ザ イ ン ピ ン を使用す る と 、 セルの内部 ロ ジ ッ ク を取 り 除いて、 使用 し やすい よ う に簡素化で き ま す。 ピ ンは、 ス カ ラ ーま たはバ ス ピ ンで、 階層ブ ロ ッ ク デザ イ ン セルま たは リ ーフ レベル セルで使用で き ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-8 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBLQWIBS 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] ま た、 次を使用す る と 、 特定の bd_pin の bd_cell ま たは bd_net を取得する こ と も で き ます。 get_bd_cells -of [get_bd_pins */Reset] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 29 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ ブ ロ ッ ク デザ イ ン ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ と があ り ます。 次 の表には、 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 30 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BD_PORT 説明 ブ ロ ッ ク デザ イ ン ポー ト は、特別な タ イ プの階層ピ ン (ダ イ ア グ ラ ムの最上位の ピ ン) です。ブ ロ ッ ク デザ イ ン では、 ポー ト は、 FPGA デザ イ ン全体ま たはシ ス テ ム レベル デザ イ ン内外のブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム と の外 部接続 と の通信に使用 さ れ る 主なポー ト です。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-9 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBFHOO EGBDGGUBVSDFH 図 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 プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 31 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ ブ ロ ッ ク デザ イ ン ポー ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、そのポー ト の タ イ プに よ っ て変わ る こ と があ り ます。 次の表には、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 32 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 33 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 34 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 オブ ジ ェ ク ト 図 2-10 にあ る よ う に、 ネ ッ ト リ ス ト デザ イ ンの リ ーフ セルは タ ーゲ ッ ト パーツ の BEL にマ ッ プす る こ と がで き ま す。 BEL は タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス のサ イ ト に ま と め ら れ、 BEL と サ イ ト の両方が タ イ ル と ク ロ ッ ク 領域 に ま と め ら れ ます。 各 BEL にはセルの ピ ンにマ ッ プす る BEL ピ ンがあ り 、 ま た BEL がネ ッ ト リ ス ト オブジ ェ ク ト であ る ネ ッ ト への接続点にな り ます。 次を使用す る と 、 SLR、 サ イ ト 、 セル、 ク ロ ッ ク 領域、 ネ ッ ト の BEL を取得で き ます。 get_bels -of [get_clock_regions X1Y3] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 35 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) セル、 サ イ ト 、 タ イ ル、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 36 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) BEL_PIN 説明 X-Ref Target - Figure 2-11 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‐11 : BEL_PIN オブ ジ ェ ク ト BEL_PIN は、 BEL オブジ ェ ク ト の ピ ン ま たは接続ポ イ ン ト で、 ロ ジ ッ ク CELL の PIN (NET の接続ポ イ ン ト ) の よ う なネ ッ ト リ ス ト オブジ ェ ク ト に関連す る デバ イ ス オブジ ェ ク ト です。 関連オブ ジ ェ ク ト 図 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 37 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) ま た、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 38 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 違反に関連付け ら れ たセルを取得で き ます。 get_cells -of [get_nets clk] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 39 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ リ ーフ セル オブジ ェ ク ト には、 次の よ う に PRIMITIVE_GROUP、 PRIMITIVE_SUBGROUP、 PRIMITIVE_TYPE と い う プ ロ パテ ィ で定義 さ れてい る タ イ プがあ り ます。 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 others others.others.others OTHERS.others.AND2B1L OTHERS.others.GND OTHERS.others.VCC CLOCK OTHERS Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 40 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PRIMITIVE_GROUP PRIMITIVE_SUBGROUP PRIMITIVE_TYPE 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 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] ヒ ン ト : report_property コ マ ン ド は、 現在のデザ イ ン で関連オブジ ェ ク ト が見つか ら なか っ た場合、 オブジ ェ ク ト が 見つか ら ない と い う 内容の警告 メ ッ セージ を返す こ と があ り ます。 こ の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 13] を参照 し て く だ さ い。 次の Tcl コ マ ン ド を使用す る と 、 階層セルま たは非 リ ーフ セルか ら プ ロ パテ ィ を戻す こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 41 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) report_property -all [lindex [get_cells -hier -filter {!IS_PRIMITIVE}] 0] も ち ろん、 特定セルのプ ロ パテ ィ を単に戻す こ と も で き ます。 report_property -all [get_cells <cell_name>] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 42 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) CLOCK 説明 CLOCK オブジ ェ ク ト を使用す る と 、 Vivado Design Suite に タ イ ム リ フ ァ レ ン ス を提供 し て、 レ ジ ス タ 間のデー タ が 安定 し て転送 さ れ る よ う にで き ます。 Vivado タ イ ム エ ン ジ ン では、 CLOCK オブジ ェ ク ト のプ ロ パテ ィ を使用 し て、 デザ イ ンのセ ッ ト ア ッ プ要件 と ホール ド 要件を計算 し 、 ス ラ ッ ク 計算でデザ イ ン タ イ ミ ン グ マージ ン を レ ポー ト し ます。タ イ ミ ン グ パ ス を正確に最大限に網羅する ためには、CLOCK オブジ ェ ク ト を正 し く 定義する 必要があ り ます。 ク ロ ッ ク は、 PERIOD と WAVEFORM プ ロ パテ ィ を使用 し て定義 し ます。 PERIOD (周期) はナ ノ 秒で指定 し 、 ク ロ ッ ク サ イ ク ルの長 さ を定義 し ま す。 こ れは波形が繰 り 返す間隔に対応 し ます。 波形は、 ク ロ ッ ク 周期内の立ち上が り エ ッ ジお よ び立ち下が り エ ッ ジの絶対時間 (ns) の リ ス ト です。 ク ロ ッ ク の定義に関する 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 周期お よ び波形は、 ク ロ ッ ク の理想的な特性を表 し ま す。 ク ロ ッ ク が 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.1) 2015 年 4 月 1 日 japan.xilinx.com 43 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 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 プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 44 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 特定 ク ロ ッ ク のプ ロ パテ ィ を レ ポー ト す る には、Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールで次の コ マ ン ド を使用 し ます。 report_property -all [get_clocks <clock_name>] <clock_name> は、 レ ポー ト す る ク ロ ッ ク の名前です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 45 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) CLOCK_REGION X-Ref Target - Figure 2-14 7LPLQJ 3DWK &HOO %HO3LQ &ORFN 5HJLRQ JH %HO 6LWH 6LWH3LQ 6LWH3LS QN 7LOH DUG 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) があ り ます。 ク ロ ッ ク 領域の I/O バン ク には、 ク ロ ッ ク 領域内の ク ロ ッ ク 配線 リ ソ ース にユーザー ク ロ ッ ク を使用す る CC (Clock Capable) ピ ンが含まれます。 ク ロ ッ ク 領域 と そ こ に含まれ る リ ソ ース の詳細については、『7 シ リ ーズ FPGA ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG472) [参照 3] ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572) [参照 9] を 参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 46 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 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 に関連す る 、 ま たは ク ロ ッ ク 領域で見つか っ た 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.1) 2015 年 4 月 1 日 japan.xilinx.com 47 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) DIAGRAM 説明 ブ ロ ッ ク デザ イ ン (.bd) は、 Vivado Design Suite の IP イ ン テ グ レー タ ー機能で作成 さ れた イ ン タ ー コ ネ ク ト さ れた IP コ アの複雑なシ ス テ ムです。 Vivado IP イ ン テ グ レー タ ー機能を使用する と 、 Vivado IP カ タ ロ グか ら の IP を イ ン ス タ ン シエー ト お よ び イ ン タ ー コ ネ ク ト し て、 複雑なデザ イ ン を作成で き ます。 ブ ロ ッ ク デザ イ ンは、 デ ィ ス ク 上の フ ァ イ ル (.bd) に書 き 込む こ と ので き る 階層デザ イ ン ですが、 Vivado ツール メ モ リ 内で diagram オブジ ェ ク ト と し て格納 さ れます。 ブ ロ ッ ク デザ イ ンは、 通常 イ ン タ ーフ ェ イ ス レベルで構築 さ れて生産性が増す よ う にな っ てい ますが、 ポー ト ま た はピ ン レベルで編集す る こ と で よ り 詳細に制御す る こ と も で き ます。 Vivado プ ロ ジ ェ ク ト には さ ま ざ ま なデザ イ ン 階層レベルで複数のダ イ ア グ ラ ムが含まれ る こ と があ る ほか、 最上位デザ イ ン と し て 1 つのダ イ ア グ ラ ムだけ を含む こ と も あ り ます。 関連オブ ジ ェ ク ト 10 ページの図 1-2 に示す よ う に、 diagram オブジ ェ ク ト には 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.1) 2015 年 4 月 1 日 japan.xilinx.com 48 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) [参照 27] を参照 し て く だ さ い。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-15 KZBFIJ KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWV KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW K KZBSUREH KZBVLRBJW KZBV ZBLODBGDWD 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.1) 2015 年 4 月 1 日 japan.xilinx.com 49 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) ま た、 hw_axi コ アには関連す る AXI ト ラ ンザ ク シ ョ ン も 含まれ、 次の よ う に取得で き ます。 get_hw_axi_txns -of [get_hw_axis] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_axi コ アに割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳 細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 50 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 プ ロ パテ ィ には、 指定のビ ッ ト ス ト リ ーム フ ァ イ ルのフ ァ イ ル パ ス も 含まれます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-16 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW 図 2‐16 : ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブ ジ ェ ク ト hw_bitstream オブジ ェ ク ト は PROGRAM.BITSTREAM プ ロ パテ ィ を使用 し て hardware_device に関連付け ら れます。次 の よ う に get_property コ マ ン ド を使用 し て hw_bitstream オブジ ェ ク ト を取得す る と 、 プ ロ パテ ィ にオブジ ェ ク ト を戻 す こ と がで き ます。 get_property PROGRAM.HW_BITSTREAM [current_hw_device] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 51 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 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.1) 2015 年 4 月 1 日 japan.xilinx.com 52 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) を参照 し て く だ さ い。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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 Read-only true false true false false false false false false false false japan.xilinx.com Visible true true true true true true true true true true true Value 28f00ap30t-bpi-x16_0 28f00ap30t-bpi-x16 hw_cfgmem 28f00ap30t-bpi-x16_0 use_file 0 0 NONE 0 1 53 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PROGRAM.FILE_1 string C:/Data/Vivado_Debug/kc705_8led.mcs PROGRAM.FILE_2 string PROGRAM.VERIFY bool PROGRAM.ZYNQ_FSBL string false true false false false true true true 0 hw_cfgmem オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト する には、ハー ド ウ ェ ア マネージ ャ ー機能が開いてい る と き に、次 の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [get_property PROGRAM.HW_CFGMEM [current_hw_device] ] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 54 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 KZ KZBVLRBVFD 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] プ ロパテ ィ hw_device オブジ ェ ク ト のプ ロ パテ ィ は、 選択 し た タ ーゲ ッ ト パーツ に よ っ て変わ り ます。 report_property コ マ ン ド を使用す る と 、hw_device オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト する こ と がで き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は hw_device オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ と その値の例を示 し てい ます。 プ ロ パテ ィ CLASS タ イプ string DID string Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 55 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 56 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 57 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) HW_ILA 説明 Integrated Logic Analyzer (ILA) デバ ッ グ コ ア を使用する と 、 コ アのデバ ッ グ プ ロ ーブ を介 し て イ ンプ リ メ ン ト さ れた デザ イ ン の信号の イ ン シ ス テ ム モニ タ リ ン グ を実行で き ます。 ILA コ アは、 特定のハー ド ウ ェ ア イ ベン ト が リ アル タ イ ムで ト リ ガー さ れて、 シ ス テ ム速度でプ ロ ーブのデー タ がキ ャ プチ ャ さ れ る よ う に コ ン フ ィ ギ ュ レーシ ョ ン で き ます。 ILA デバ ッ グ コ ア をデザ イ ンに追加す る には、 IP カ タ ロ グか ら ILA コ ア を RTL デザ イ ンに イ ン ス タ ン シエー ト す る か、 create_debug_core コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト に ILA コ ア を追加 し ます。 ILA デバ ッ グ コ アのデザ イ ンへの追加に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。 デザ イ ン か ら ビ ッ ト ス ト リ ー ム を 生成 し 、 program_hw_devices コ マ ン ド を 使用 し てデバ イ ス を プ ロ グ ラ ム す る と 、 get_hw_ilas コ マ ン ド を使用 し てハー ド ウ ェ ア マネージ ャ ーか ら デザ イ ンに含まれ る ILA デバ ッ グ コ アにア ク セ ス で き ます。 デザ イ ンの ILA デバ ッ グ コ アに割 り 当て ら れてい る デバ ッ グ プ ロ ーブは、 get_hw_probes コ マ ン ド を使用 し て取得で き ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-19 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVF KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBSUREH KZBVLRBJW KZBVLRBSOO KZBLODBGDWD K KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ 図 2‐19 : ハー ド ウ ェ ア ILA オブ ジ ェ ク ト ILA デバ ッ グ コ アは、 RTL ソ ース フ ァ イ ルま たは create_debug_core コ マ ン ド でデザ イ ンに追加で き ます。 デバ ッ グ コ アは、get_debug_cores コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト デザ イ ン で検索で き ます。 こ れ ら は Vivado Design Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 58 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 59 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 特定の hw_ila に割 り 当て ら れた実際のプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は 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 TRIGGER_STOP_TIME_SECONDS 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 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 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 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 特定の HW_ILA のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た は Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_hw_ilas] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 60 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 コ マ ン ド を使用 し てデ ィ ス ク に保存で き ます。 関連オブ ジ ェ ク ト 58 ページの図 2-19 に示す よ う に、ハー ド ウ ェ ア ILA デー タ オブジ ェ ク ト はハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ ム さ れ た ILA デバ ッ グ コ アに関連 し てい ます。 デー タ オブジ ェ ク ト は次の よ う に取得で き ます。 get_hw_ila_datas -of_objects [get_hw_ilas] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_ila_data オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と が で き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。プ ロ パテ ィ は、 次の と お り です。 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 -all [lindex [get_hw_ila_datas] 0] HW_PROBE 説明 ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト (hw_probe) は、 デザ イ ン内の信号へのア ク セ ス に使用 さ れ、 信号の値を監視お よ び駆動 し 、 FPGA デバ イ ス のハー ド ウ ェ ア イ ベン ト を ト ラ ッ ク し ます。 ハー ド ウ ェ ア プ ロ ーブは、 ILA お よ び VIO デバ ッ グ コ アの両方に追加で き ます。 デバ ッ グ プ ロ ーブは、 コ ア と 一緒に RTL デザ イ ン ソ ース の ILA デバ ッ グ コ アに追加する か、 合成済みネ ッ ト リ ス ト デザ イ ンの ILA コ アに追加で き (create_debug_probe コ マ ン ド を使用)、 その後 connect_debug_probe コ マ ン ド を使用 し てデザ イ ンの信号に接続で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 61 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) RTL デザ イ ンで VIO デバ ッ グ コ アにプ ロ ーブ を追加で き る のは、IP カ タ ロ グか ら IP コ ア を カ ス タ マ イ ズ ま たは再カ ス タ マ イ ズす る 際に信号がその コ アに接続 さ れてい る 場合のみです。 デザ イ ンへの ILA お よ び VIO デバ ッ グ コ ア と 信号プ ロ ーブの追加に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を 参照 し て く だ さ い。 デバ ッ グ コ ア と プ ロ ーブは write_debug_probes コ マ ン ド を使用 し てプ ロ ーブ フ ァ イ ル (.ltx) に記述 し 、 ハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト の PROBES.FILE お よ び PROGRAM.FILE プ ロ パテ ィ を使用 し て ビ ッ ト ス ト リ ーム フ ァ イ ル と 共 に ハ ー ド ウ ェ ア デ バ イ ス に 関 連 付 け ま す。 ハ ー ド ウ ェ ア デ バ イ ス に こ の 情報 を プ ロ グ ラ ム す る に は、 program_hw_devices コ マ ン ド を使用 し ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-20 KZBLOD KZBYLR KZBD KZBSUREH KZBLODBGDWD KZBD[LB 図 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] プ ロパテ ィ デバ ッ グ プ ロ ーブには、 ILA、 VIO_INPUT、 お よ び VIO_OUTPUT の 3 つの タ イ プがあ り ます。 hw_probe オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ は、 プ ロ ーブの タ イ プに よ っ て異な り ま す。 report_property コ マ ン ド を使用す る と 、 hw_probe オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト する こ と がで き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は、 ILA タ イ プの hw_probe オブジ ェ ク ト に割 り 当 て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。 Property CAPTURE_COMPARE_VALUE CLASS COMPARATOR_COUNT COMPARE_VALUE.0 CORE_LOCATION DISPLAY_HINT DISPLAY_VISIBILITY HW_ILA Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 Type string string int string string string string string Read-only false true true false true false false true japan.xilinx.com Visible true true true false false false false true Value eq2'hX hw_probe 4 eq2'hX 1:0 hw_ila_1 62 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) NAME PROBE_PORT PROBE_PORT_BITS PROBE_PORT_BIT_COUNT TRIGGER_COMPARE_VALUE TYPE string int int int string string true true true true false true true true true true true true 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 63 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) HW_SERVER 説明 ハー ド ウ ェ ア サーバーは、FPGA デザ イ ン をプ ロ グ ラ ムお よ びデバ ッ グす る ために使用す る 1 つま たは複数のザ イ リ ン ク ス FPGA デバ イ ス で構成 さ れた JTAG チ ェ ーン を含むハー ド ウ ェ ア ボー ド ハー ド ウ ェ ア タ ーゲ ッ ト への接続を 制御 し ます。 open_hw コ マ ン ド でハー ド ウ ェ ア マ ネージ ャ ー を 開い た ら 、 connect_hw_server コ マ ン ド を 使用 し てハー ド ウ ェ ア サーバーに ロ ーカル ま たは リ モー ト のいずれかで接続で き ます。 こ れに よ り 、 hw_server アプ リ ケーシ ョ ンが起動 さ れ、 hw_server オブジ ェ ク ト が作成 さ れます。 関連オブ ジ ェ ク ト 12 ページの図 1-3 に示す よ う に、 ハー ド ウ ェ ア サーバーは、 ハー ド ウ ェ ア マネージ ャ ーの先端のオブジ ェ ク ト で、 ハー ド ウ ェ ア タ ーゲ ッ ト への接続を管理 し ます。 hw_server に関す る オブジ ェ ク ト は、 次の よ う に取得で き ます。 get_hw_targets -of [get_hw_servers] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_server オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。次は、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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 64 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) [参照 28]を参照 し て く だ さ い。 IBERT デバ ッ グ コ ア を使用す る と 、 GTX ト ラ ン シーバーのダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) ポー ト を介 し て GT ト ラ ン ス ミ ッ タ ー と レ シーバーを設定お よ び調整で き ます。 こ れに よ り 、 GT のプ ロ パテ ィ 設定 を変更 し た り 、 ポー ト 上の値を制御す る レ ジ ス タ を変更で き ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-21 KZBVLRBVFDQ KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBVLRBJW KZBVLRBSOO KZBVLRBOLQNJURXS 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) を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 65 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 次は 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 Type string enum enum enum enum string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 Read-only true 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 false false false false false false false false false false false false 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 true true true true 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 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 66 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 0000 1 000 000 00 00000000000000000000 00000000000000000000 00000000000000000000 0000 00000000000000000000 00000000000000000000 0 000 F 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 67 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 01 084020 000000 00 03 0 7 0 004 00 04 1 3 4 5 00 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 68 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 true 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 030 0000 0 0 01 084020 0780 00 01 04 1 5 00 00 00 6 4 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 69 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.SILICON_VERSION string false true 0300 LOGIC.TIMER string false true 009736E7B9BC 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 70 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 PORT.RXDISPERR PORT.RXDLYBYPASS PORT.RXDLYEN PORT.RXDLYOVRDEN PORT.RXDLYSRESET PORT.RXDLYSRESETDONE PORT.RXELECIDLE PORT.RXELECIDLEMODE PORT.RXGEARBOXSLIP PORT.RXHEADER Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 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 00 1 0 0 0 0 1 0 0 0 71 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 7F 0 FF 0 0 0 0 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 FFFFF 000 FF 0 4 0 00 00 00 0 0 0 0 0 72 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 PORT.TXSEQUENCE PORT.TXSTARTSEQ PORT.TXSWING PORT.TXSYSCLKSEL PORT.TXUSERRDY RXDFEENABLED RXOUTCLKSEL RXOUT_DIV RXPLL RXRATE RXTERM Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 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 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 00 0 0 3 1 1 RXOUTCLKPCS 1 QPLL Use RX_OUT_DIV 900 mV 73 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 TXRATE TXUSRCLK2_FREQ TXUSRCLK_FREQ TX_DATA_WIDTH TX_INTERNAL_DATAPATH TX_PATTERN enum string string string enum enum enum enum string string string enum enum enum enum enum enum enum string string enum enum enum 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 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) 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 74 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) を 参照 し て く だ さ い。 次は 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.1) 2015 年 4 月 1 日 japan.xilinx.com 75 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 コ アは、 単純な ク ロ ッ ク や接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適化の問題ま で、 さ ま ざ ま な イ ン シ ス テ ム デバ ッ グお よ び検証の問題を解決する ために使用で き ます。 関連オブ ジ ェ ク ト 77 ペ ー ジ の 図 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.1) 2015 年 4 月 1 日 japan.xilinx.com 76 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) X-Ref Target - Figure 2-22 KZBFIJPHP KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN REH KZBVLRBJW KZBVLRBSOO KZBVLRBOLQNJURXS KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ KZBVLRBJWJURXS 図 2‐22 : hw_sio_ibert オブ ジ ェ ク ト プ ロパテ ィ report_property コ マ ン ド を使用す る と 、特定の hw_sio_ibert に割 り 当て ら れた実際のプ ロ パテ ィ を レ ポー ト す る こ と が で き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は 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.1) 2015 年 4 月 1 日 japan.xilinx.com 77 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) を参照 し て く だ さ い。 次は、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 78 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 79 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) HW_SIO_RX 説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た レ シーバー (hw_sio_rx) が含ま れま す。 高速シ リ アル デー タ は、 ボー ド 上の ト レー ス か ら GTX/GTH ト ラ ン シーバー RX の PMA、 PCS、 そ し て最後に FPGA ロ ジ ッ ク に送信 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-23 KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBVLRBJW KZBVLRBSOO KZBVLRBOLQNJURXS ZBD[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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 80 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ report_property コ マ ン ド を使用す る と 、特定の hw_sio_rx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 次は、 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 Type Read-only string true string true string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string false string 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 true true true true true 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 hw_sio_rx MGT_X0Y8/RX 00 0 0 0000 1 000 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 81 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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_CFG2 DRP.RX_DFE_KL_CFG 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.TXBUF_RESET_ON_RATE_CHANGE DRP.TXPCSRESET_TIME DRP.TXPMARESET_TIME DRP.TX_LOOPBACK_DRIVE_HIZ DRP.TX_RXDETECT_CFG DRP.TX_RXDETECT_REF ES_HORZ_MIN_MAX LINE_RATE LOGIC.ERRBIT_COUNT LOGIC.GT_SOURCES_SYSCLK LOGIC.LINK LOGIC.MGT_ERRCNT_RESET_CTRL LOGIC.MGT_ERRCNT_RESET_STAT LOGIC.MGT_RESET_CTRL LOGIC.MGT_RESET_STAT 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 084020 000000 00 03 0 7 0 004 00 04 1 3 4 5 00 000 1 8 3 0 020FEA 000 040 0F0 0E0 3010D90C 00FE 0954 0 11E00 03F03 0000 1 1 0080 09 0 0 01 01 0 1832 4 32 0.000 000000000000 0 0 0 0 0 0 1 0000 4000 0000 4000 0000 4000 82 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 PORT.EYESCANRESET string false true 0 PORT.EYESCANTRIGGER string false true 0 PORT.GTRESETSEL string false true 0 PORT.GTRXRESET string false true 0 PORT.GTTXRESET string false true 0 PORT.LOOPBACK string false true 1 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 PORT.RXCHBONDO string false true 00 PORT.RXCHBONDSLAVE string false true 0 PORT.RXCLKCORCNT string false true 0 PORT.RXCOMINITDET string false true 0 PORT.RXCOMMADET string false true 0 PORT.RXCOMMADETEN string false true 0 PORT.RXCOMSASDET string false true 0 PORT.RXCOMWAKEDET string false true 0 PORT.RXDATAVALID string false true 0 PORT.RXDDIEN string false true 0 PORT.RXDFEAGCHOLD string false true 0 PORT.RXDFEAGCOVRDEN string false true 0 PORT.RXDFECM1EN string false true 0 PORT.RXDFELFHOLD string false true 0 PORT.RXDFELFOVRDEN string false true 0 PORT.RXDFELPMRESET string false true 0 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 83 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 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 1 0 1 0 0 0 0 0 0 0 0 00 0 04 0 0 0 0 0 0 84 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PORT.RXQPISENN string false true 0 PORT.RXQPISENP string false true 0 PORT.RXRATE string false true 0 PORT.RXRATEDONE string false true 0 PORT.RXRESETDONE string false true 0 PORT.RXSLIDE string false true 0 PORT.RXSTARTOFSEQ string false true 0 PORT.RXSTATUS string false true 0 PORT.RXSYSCLKSEL string false true 3 PORT.RXUSERRDY string false true 1 PORT.RXVALID string false true 0 PORT.TXDETECTRX string false true 0 PORT.TXDLYSRESET string false true 0 PORT.TXDLYSRESETDONE string false true 0 PORT.TXPCSRESET string false true 0 PORT.TXPHDLYRESET string false true 0 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 85 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) HW_SIO_TX 説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た ト ラ ン ス ミ ッ タ ー (hw_sio_tx) が含 まれます。 パ ラ レル デー タ は、 デバ イ ス ロ ジ ッ ク か ら FPGA TX イ ン タ ーフ ェ イ ス に送信 さ れ、 PCS お よ び PMA を 介 し て TX ド ラ イ バーか ら 高速シ リ アル デー タ と し て出力 さ れます。 関連オブ ジ ェ ク ト 80 ペー ジ の図 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) を参照 し て く だ さ い。 次は、 hw_sio_tx オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。 Property CLASS DISPLAY_NAME 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 DRP.TX_INT_DATAWIDTH DRP.TX_LOOPBACK_DRIVE_HIZ DRP.TX_MAINCURSOR_SEL Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 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 Read-only true true 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 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 Value hw_sio_tx MGT_X0Y8/TX 1 0 001F 030 0000 0 0 01 084020 0780 00 01 04 1 5 00 00 00 6 4 1 0 0 86 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 PORT.TX8B10BEN string false true 0 PORT.TXBUFDIFFCTRL string false true 4 PORT.TXBUFSTATUS string false true 0 PORT.TXCHARDISPMODE string false true 00 PORT.TXCHARDISPVAL string false true 00 PORT.TXCHARISK string false true 00 PORT.TXCOMFINISH string false true 0 PORT.TXCOMINIT string false true 0 PORT.TXCOMSAS string false true 0 PORT.TXCOMWAKE string false true 0 PORT.TXDEEMPH string false true 0 PORT.TXDETECTRX string false true 0 PORT.TXDIFFCTRL string false true C PORT.TXDIFFPD string false true 0 PORT.TXDLYBYPASS string false true 1 PORT.TXDLYEN string false true 0 PORT.TXDLYHOLD string false true 0 PORT.TXDLYOVRDEN string false true 0 PORT.TXDLYSRESET string false true 0 PORT.TXDLYSRESETDONE string false true 0 PORT.TXDLYUPDOWN string false true 0 PORT.TXELECIDLE string false true 0 PORT.TXGEARBOXREADY string false true 0 PORT.TXHEADER string false true 0 PORT.TXINHIBIT string false true 0 PORT.TXMAINCURSOR string false true 00 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 87 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PORT.TXMARGIN string false true 0 PORT.TXOUTCLKFABRIC string false true 1 PORT.TXOUTCLKPCS string false true 0 PORT.TXOUTCLKSEL string false true 2 PORT.TXPCSRESET string false true 0 PORT.TXPD string false true 0 PORT.TXPDELECIDLEMODE string false true 0 PORT.TXPHALIGN string false true 0 PORT.TXPHALIGNDONE string false true 0 PORT.TXPHALIGNEN string false true 0 PORT.TXPHDLYPD string false true 0 PORT.TXPHDLYRESET string false true 0 PORT.TXPHDLYTSTCLK string false true 0 PORT.TXPHINIT string false true 0 PORT.TXPHINITDONE string false true 0 PORT.TXPHOVRDEN string false true 0 PORT.TXPISOPD string false true 0 PORT.TXPMARESET string false true 0 PORT.TXPOLARITY string false true 0 PORT.TXPOSTCURSOR string false true 03 PORT.TXPOSTCURSORINV string false true 0 PORT.TXPRBSFORCEERR string false true 0 PORT.TXPRBSSEL string false true 0 PORT.TXPRECURSOR string false true 07 PORT.TXPRECURSORINV string false true 0 PORT.TXQPIBIASEN string false true 0 PORT.TXQPISENN string false true 0 PORT.TXQPISENP string false true 0 PORT.TXQPISTRONGPDOWN string false true 0 PORT.TXQPIWEAKPUP string false true 0 PORT.TXRATE string false true 0 PORT.TXRATEDONE string false true 0 PORT.TXRESETDONE string false true 0 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.1) 2015 年 4 月 1 日 japan.xilinx.com 88 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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 KZBYLR KZBV\VPRQBUHJ KZBSUREH KZBVLR 図 2‐24 : HW_SYSMON オブ ジ ェ ク ト HW_SYSMON には、 デー タ レ ジ ス タ (HW_SYSMON_REG オブジ ェ ク ト ) が含まれ、 温度お よ び電圧の現在の値が格 納 さ れます。 現在の hw_device での こ れ ら の レ ジ ス タ の値には、 ハー ド ウ ェ ア サーバー と タ ーゲ ッ ト に接続 さ れ る 場 合、 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能を使用 し て ア ク セ ス で き ます。 hw_sysmon は、 Virtex-7 と UltraScale で異な り ます。 XADC の専用レ ジ ス タ お よ びそれ ら の読み出 し 方法の詳細は、 『UltraScale アー ク テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース Advance 仕様ユーザー ガ イ ド 』 (UG580) [参照 12] ま たは 『7 シ リ ーズ FPGA の XADC 12 ビ ッ ト 1MSPS デ ュ アル アナ ロ グ-デジ タ ル コ ンバー タ ー ユーザー ガ イ ド 』 (UG480) [参照 6] を参照 し て く だ さ い。 特定の レ ジ ス タ の値は get_hw_sysmon_reg コ マ ン ド を使用 し て System Monitor の レ ジ ス タ に格納 さ れた 16 進数値に ア ク セ ス し て取得す る こ と も で き ますが、hw_sysmon オブジ ェ ク ト の フ ォーマ ッ ト さ れたプ ロ パテ ィ と し て表示す る こ と も で き ま す。 た と えば、 レ ジ ス タ の 16 進数に直接ア ク セ ス す る のではな く 、 次の コ ー ド を 使用 し て、 指定の hw_sysmon オブジ ェ ク ト の TEMPERATURE プ ロ パテ ィ を取得で き ます。 get_property TEMPERATURE [get_hw_sysmons] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 89 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 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) を参照 し て く だ さ い。 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.1) 2015 年 4 月 1 日 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 90 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 91 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) VCCO_DDR VCCPAUX VCCPINT VP_VN VREFN VREFP Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 string string string string string string true true true true true true japan.xilinx.com true true true true true true 0.000 0.000 0.000 0.000 0.000 0.000 92 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) を参照 し て く だ さ い。 関連オブ ジ ェ ク ト 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] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_target オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。次は、hw_target オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 93 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 94 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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) を参照 し て く だ さ い。 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-26 KZBVHUYHU KZBLOD KZBWDUJHW KZBYLR KZBD[L KZBGHYLFH KZBV\VPRQ KZBSUREH KZBVLRBLE KZBVLRBJW 図 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 95 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) ま た、 hw_vio デバ ッ グ コ アには、 それに接続 さ れたプ ロ ーブが含まれてお り 、 次の よ う に取得で き ます。 get_hw_probes -of [get_hw_vios] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_vio オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 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.1) 2015 年 4 月 1 日 japan.xilinx.com 96 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) IO_BANK X-Ref Target - Figure 2-27 3RUW 3LQ &ORFN 7LPLQJ 3DWK &HOO &ORFN 5HJLRQ 3NJ3LQ B1LEEOH 3DFNDJH 3LQ %HO 6LWH&/% 6LWH3LQ 3NJ3LQ B%\WH*URXS 6LWH3LS ,2%DQN 7LOH ,2 6WDQGDUG 6/5 図 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) を内部生成する 機能な ど が含まれます。 UltraScale デバ イ ス の場合、ほ と ん ど の I/O バン ク に 52 個の IOB が含まれます (HR I/O ミ ニバン ク には 26 個の IOB)。 7 シ リ ーズの場合は、 ほ と ん ど の I/O バン ク に 50 個の IOB ( ク ロ ッ ク 領域の高 さ と 同 じ ) が含 ま れ ま す。 デバ イ ス の I/O バン ク 数は、 サ イ ズ と パ ッ ケージ ピ ン配置に よ っ て異な り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 97 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) I/O バン ク の詳細 と I/O の割 り 当てに関す る 規則については、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] お よ び U 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。 関連オブ ジ ェ ク ト 97 ページの図 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.1) 2015 年 4 月 1 日 japan.xilinx.com 98 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) IO_STANDARD X-Ref Target - Figure 2-28 3RUW 3LQ &ORFN 7LPLQJ 3DWK &HOO %HO3LQ &ORFN 5HJLRQ 3NJ3LQ B1LEEOH 3DFNDJH 3LQ %HO 6LWH&/% 6LWH3LQ 3NJ3LQ B%\WH*URXS 6LWH3LS ,2%DQN 7LOH ,2 6WDQGDUG 6/5 図 2‐28 : IO_STANDARD オブ ジ ェ ク ト 説明 IO_STANDARD オブジ ェ ク ト では、 タ ーゲ ッ ト ザ イ リ ン ク ス デバ イ ス でサポー ト さ れ る 使用可能な IOSTANDARD が定義 さ れ ます。 IO_STANDARD オブジ ェ ク ト は 「IOSTANDARD」 プ ロ パテ ィ を使用 し て PORT オブジ ェ ク ト に割 り 当て る と 、 現在のデザ イ ン で入力、 出力ま たは双方向ポー ト を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 サポー ト さ れ る 規格の詳細は、『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] お よ び U 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 99 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 特定の 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.1) 2015 年 4 月 1 日 japan.xilinx.com 100 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 101 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) • 1 つの I/O マーカーに接続す る こ と で、 階層レベルを ま た ぐ 複数の信号を接続する 場合 関連オブ ジ ェ ク ト デザ イ ン ネ ッ ト リ ス ト で、 ネ ッ ト を セルの ピ ン ま たはポー ト に接続で き ます。 ま た、 ポー ト を介 し てデザ イ ンに供給 さ れ る ク ロ ッ ク にネ ッ ト は関連付け ら れ、 デザ イ ンの タ イ ミ ン グ パ スへ と 接続 さ れます。 デザ イ ンに関す る 問題をす ばや く 見つけ出 し 解決で き る よ う に、 DRC 違反にネ ッ ト を関連付け る こ と も で き ま す。 こ れ ら の異な る デザ イ ン に 関連す る ネ ッ ト オブジ ェ ク ト は、 次の よ う に取得で き ます。 get_nets -of [get_cells dbg_hub] デザ イ ンが タ ーゲ ッ ト のザ イ リ ン ク ス FPGA にマ ッ プ さ れ る と 、 ネ ッ ト は、 デバ イ ス の ワ イ ヤ、 ノ ー ド 、 PIP な ど の 配線 リ ソ ース にマ ッ プ さ れ、 BEL ピ ン を介 し て BE:L へ、 サ イ ト ピ ン を介 し てサ イ ト へ と 接続 さ れます。 特定のネ ッ ト ま たはデザ イ ン内のネ ッ ト に関連付け ら れた ク ロ ッ ク 、 ピ ン、 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.1) 2015 年 4 月 1 日 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 102 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 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 103 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) async_reg string false true ネ ッ ト オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_nets] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 104 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PACKAGE_PIN X-Ref Target - Figure 2-30 3RUW 3LQ &ORFN 7LPLQJ 3DWK &HOO %HO3LQ &ORFN 5HJLRQ 3NJ3LQ B1LEEOH 3DFNDJH 3LQ %HO 6LWH&/% 6LWH3LQ 3NJ3LQ B%\WH*URXS 6LWH3LS ,2%DQN 7LOH 図 2‐30 : PACKAGE_PIN オブ ジ ェ ク ト 説明 PACKAGE_PIN オブジ ェ ク ト は、 デザ イ ン の特定の入力ま たは出力に関連す る ザ イ リ ン ク ス デバ イ ス パ ッ ケージの 物理的な ピ ン を示 し ます。 PACKAGE_PIN への I/O ポー ト の割 り 当てについては、 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899) [参照 16] を参照 し て く だ さ い。 PACKAGE_PIN オブジ ェ ク ト は、 「PACKAGE_PIN」 プ ロ パテ ィ を使用 し て PORT オブジ ェ ク ト に関連付け る こ と がで き ます。 関連オブ ジ ェ ク ト PACKAGE_PIN オブジ ェ ク ト は、 デザ イ ン ネ ッ ト リ ス ト の PORT オブジ ェ ク ト に関連す る ほか、 タ ーゲ ッ ト デバ イ ス の SITE、 BEL、 ま た は IO_BANK オ ブ ジ ェ ク ト に 関連 し て い ま す。 ま た、 PACKAGE_PIN オ ブ ジ ェ ク ト は PKGPIN_BYTEGROUP お よ び PKGPIN_NIBBLE オブジ ェ ク ト に も 関連 し てい ま す。 PACKAGE_PIN は、 次の Tcl コ マ ン ド を使用す る と 取得で き ます。 get_package_pins ま たは、 関連オブジ ェ ク ト を使用 し て取得で き ます。 get_package_pins -of [get_ports] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 105 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 特定のパ ッ ケージ ピ ン を 使用 し て、 ポー ト 、 サ イ ト 、 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.1) 2015 年 4 月 1 日 japan.xilinx.com 106 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PIN X-Ref Target - Figure 2-31 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 図 2‐31 : PIN オブ ジ ェ ク ト 説明 PIN はプ リ ミ テ ィ ブ ま たは階層セルの論理的な接続点です。 セルの内容はピ ン を介 し て抽出で き 、 ロ ジ ッ ク は簡単に 使用で き る よ う に簡易化 さ れます。 ま た、 ピ ンは接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ピ ン と し て定義す る こ と がで き ます。 関連オブ ジ ェ ク ト ピ ン はセルに接続 さ れ ま す。 ま た ネ ッ ト に よ り ほかのセルの ピ ン に接続す る こ と がで き ま す。 ま た、 セルの ピ ン は BEL オブジ ェ ク ト の BEL ピ ンに関連付け ら れ、 セルがマ ッ プ さ れてい る サ イ ト のサ イ ト ピ ンに も 関連付け ら れてい ます。 ク ロ ッ ク ド メ イ ンの一部 と し て ピ ンは ク ロ ッ ク に関連付け ら れてお り 、 パ ス の起点、 終点、 中間点 と し て定義 さ れてい る 場合は タ イ ミ ン グ パス の一部にな り ます。 ま た、デザ イ ンに関す る 問題をすばや く 見つけ出 し 解決で き る よ う に、DRC 違反に ピ ン を関連付け る こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 107 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) プ ロパテ ィ PIN オブジ ェ ク ト には、 ク ロ ッ ク お よ び コ ン ト ロ ール ピ ンの ピ ン タ イ プ を定義す る プ ロ パテ ィ の コ レ ク シ ョ ン が含 ま れ ます。 こ れ ら の属性を使用す る と 、 Tcl ス ク リ プ ト を記述 し た り 、 PIN オブジ ェ ク ト を使用す る 際に タ イ プ別に ピ ンの リ ス ト を フ ィ ル タ ーす る こ と がで き ます。 次の表は、 プ ロ パテ ィ を リ ス ト し た も のです。 表 2‐1 : プ ロパテ ィ 名 ク ロ ッ ク と の関係 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.1) 2015 年 4 月 1 日 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 108 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 109 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PKGPIN_BYTEGROUP X-Ref Target - Figure 2-32 3RUW 3LQ &ORFN 7LPLQJ 3DWK &HOO &ORFN 5HJLRQ 3NJ3LQ B1LEEOH 3DFNDJH 3LQ %HO 6LWH&/% 6LWH3 3NJ3LQ B%\WH*URXS 6LWH3LS ,2%DQN 7LOH 図 2‐32 : 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 の上位ま たは下位ニブ ルです。 • パ ッ ケージ ピ ン (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) [参照 16] の「UltraScale デバ イ ス の メ モ リ IP の I/O プ ラ ン ニ ン グ」を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 110 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 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.1) 2015 年 4 月 1 日 japan.xilinx.com 111 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PKGPIN_NIBBLE X-Ref Target - Figure 2-33 3RUW 3LQ &ORFN 7LPLQJ 3DWK &HOO &ORFN 5HJLRQ 3NJ3LQ B1LEEOH 3DFNDJH 3LQ %HO 6LWH&/% 6LWH3LQ 3NJ3LQ B%\WH*URXS 6LWH3LS ,2%DQN 図 2‐33 : PKGPIN_NIBBLE オブ ジ ェ ク ト 7LO 説明 PKGPIN_NIBBLE は、 PKGPIN_BYTEGROUP の一部です。 こ のオブジ ェ ク ト の詳細は、 110 ページの 「PKGPIN_BYTEGROUP」 を参照 し て く だ さ い。 関連オブ ジ ェ ク ト PKGPIN_BYTEGROUP と PKGPIN_NIBBLE は前述の よ う に、 IO_BANK、 PACKAGE_PIN、 お よ び PORT と 関連 し て い ま す。 ま た、 各 PKGPIN_NIBBLE は ザ イ リ ン ク ス デバ イ ス の SITE に 関連 し て い ま す。 関連 オ ブ ジ ェ ク ト の PKGPIN_NIBBLE は、 次の よ う な Tcl コ マ ン ド を使用する と 取得で き ます。 get_pkgpin_nibbles -of [get_iobanks 45] 次を使用す る と 、 特定の PKGPIN_NIBBLE に関連する パ ッ ケージ ピ ン オブジ ェ ク ト も 取得で き ます。 get_package_pins -of [get_pkgpin_nibbles BANK45_BYTE2_L] プ ロパテ ィ 次は、 PKGPIN_NIBBLE オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 112 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 113 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) PORT X-Ref Target - Figure 2-34 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‐34 : PORT オブ ジ ェ ク ト 説明 ポー ト は特殊 タ イ プの階層ピ ン で、 階層デザ イ ン の最上位で外部 と の接続点 と な り 、 ま た階層セルの ピ ン に内部 ロ ジ ッ ク を接続す る ため、 階層セルやブ ロ ッ ク モジ ュ ールの内部接続点 と な り ます。 ま た、 ポー ト は接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ポー ト と し て定義する こ と がで き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 114 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト デザ イ ンの最上位にあ る ポー ト は、 デバ イ ス パ ッ ケージの PACKAGE_PIN を介 し て、 FPGA 外部のダ イ の IO_BANK ま で接続 さ れます ( こ の際、 割 り 当て ら れた IOSTANDARD が使用 さ れます)。 ま た、 ポー ト はシ ス テ ム ま たはボー ド か ら デザ イ ンに ク ロ ッ ク 定義を マ ッ プす る こ と がで き 、 set_input_delay ま たは set_output_delay 制約を使用 し て外部シ ス テ ム レベル パ ス遅延に割 り 当て る 必要があ り ます。 こ れ ら の制 約の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 次の よ う な 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.1) 2015 年 4 月 1 日 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 115 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 116 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) SITE X-Ref Target - Figure 2-35 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‐35 : SITE オブ ジ ェ ク ト 説明 SITE は、 タ ーゲ ッ ト のザ イ リ ン ク ス FPGA で使用可能な さ ま ざ ま な タ イ プの ロ ジ ッ ク リ ソ ース の 1 つを表すデバ イ ス オブジ ェ ク ト で、 ル ッ ク ア ッ プテーブル (LUT)、 フ リ ッ プ フ ロ ッ プ、 マルチプ レ ク サ、 キ ャ リ ー ロ ジ ッ ク リ ソ ース な ど の基本エ レ メ ン ト (BEL) の集合体であ る SLICE/CLB が含ま れてお り 、 高速な加算、 減算、 比較演算を イ ンプ リ メ ン ト す る ために 使用 さ れ ま す。 SLICE/CLB には、 幅の大 き なマルチプ レ ク サ と 、 ス ラ イ ス か ら ス ラ イ ス を垂直方向に結ぶ専用キ ャ リ ー チ ェ ーンが含まれます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 117 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) デバ イ ス には、 次の 2 種類の タ イ プがあ り ます。 • SLICEM は分散 RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン可能です。 分散 メ モ リ は一部の LUT の コ ン フ ィ ギ ュ レー シ ョ ン機能で、 小型の 64 ビ ッ ト メ モ リ と し て動作 し ます。 • SLICEL LUT は ロ ジ ッ ク と し てのみ機能 し 、 メ モ リ と し ては機能 し ません。 2 つの ス ラ イ ス が 7 シ リ ーズ FPGA の コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) に ま と め ら れ、 2 つの CLB がデ バ イ ス の 1 つの TILE オブジ ェ ク ト に ま と め ら れます。 UltraScale アー ク テ ク チ ャ では、 CLB に 1 つの SLICE が含ま れます。 詳細は、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG471) [参照 4] ま た は 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 (UG571) [参照 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 118 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) RAMB18E1 RAMB36E1 RAMBFIFO36E1 SLICEL SLICEM STARTUP TIEOFF USR_ACCESS XADC 関連オブ ジ ェ ク ト 117 ページの図 2-35にあ る よ う に、サ イ ト は さ ま ざ ま なネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト に関連付け ら れて い ます。 フ リ ッ プ フ ロ ッ プお よ び ラ ッ チの よ う な リ ーフ セルは、 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 種類を越え る サ イ ト があ り ますが、 すべて次のプ ロ パテ ィ を共有 し てい ます。 値の例 も 示 し ます。 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 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 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 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 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 119 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) SITE_TYPE enum true true IOB33 サ イ ト オブジ ェ ク ト に割 り 当て ら れてい る プ ロ パテ ィ はど のサ イ ト タ イ プで も 同 じ です。 上記に リ ス ト さ れてい る SITE_TYPE のプ ロ パテ ィ を確認す る には、 report_property コ マ ン ド を使用 し ます。 report_property -all [lindex [get_sites -filter {SITE_TYPE == <SITE_TYPE>}] 0] <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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 120 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) SLR X-Ref Target - Figure 2-36 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‐36 : 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) [参照 23] の 「SSI デバ イ ス での設計」 を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 121 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト SLR (Super Logic Region) は、 ザ イ リ ン ク ス FPGA アーキ テ ク チ ャ ま たはデバ イ ス のダ イ ス ラ イ ス で、 121 ページの 図 2-36 に示す よ う に、 各 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.1) 2015 年 4 月 1 日 japan.xilinx.com 122 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) TILE 説明 X-Ref Target - Figure 2-37 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 6WDQGDUG 6/5 図 2‐37 : 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 CLBLL_L CLBLL_R CLBLM_L CLBLM_R CLK_BALI_REBUF CLK_BALI_REBUF_GTZ_BOT CLK_BALI_REBUF_GTZ_TOP Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 123 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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.1) 2015 年 4 月 1 日 japan.xilinx.com 124 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト 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.1) 2015 年 4 月 1 日 japan.xilinx.com 125 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) report_property -all [lindex [get_tiles -filter {TILE_TYPE == GTX_CHANNEL_1}] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 126 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) TIMING_PATH 説明 TIMING_PATH は、 デザ イ ンのエ レ メ ン ト 間の接続に基づいて定義 さ れます。 デジ タ ル デザ イ ンでは、 タ イ ミ ン グ パ ス は同 じ ク ロ ッ ク ま たは異な る 2 つの ク ロ ッ ク で制御 さ れ る 順次エ レ メ ン ト のペアで形成 さ れ、 信号を開始ま たは取 り 込みます。 典型的な タ イ ミ ン グ パ ス では、 デー タ は 1 ク ロ ッ ク 周期の間に 2 つのシーケ ン シ ャ ル セル間を転送 さ れます。 た と えば、 送信エ ッ ジが 0ns 時だ と す る と 、 到着エ ッ ジは 1 「CLOCK」 周期後にな り ます。 よ く 使用 さ れ る タ イ ミ ン グ パ ス は、 次の と お り です。 • 入力ポー ト か ら 内部シーケ ン シ ャ ル セルま でのパス • シーケ ン シ ャ ル セル間の内部パス • 内部シーケ ン シ ャ ル セルか ら 出力ポー ト ま でのパス • 内部ポー ト か ら 出力ポー ト ま でのパ ス タ イ ミ ン グ パ ス はそれぞれ独自の始点、 通過点、 終点で定義 さ れ ます。 パ ス の始点はシーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン ま たはデー タ 入力ポー ト で、 パ ス の終点はシーケ ン シ ャ ル セルのデー タ 入力ピ ン ま たはデー タ 出力ポー ト で す。 TIMING_PATH オブジ ェ ク ト は、 さ ま ざ ま な度合いで選択ま たは指定で き ます。 1 つの一意の タ イ ミ ン グ パ ス は、 始 点、通過点、終点の組み合わせで定義 さ れ、複数の タ イ ミ ン グ パ スは共通の始点、ま たは共通の終点か ら 指定で き ます。 制約は、 タ イ ミ ン グ パ ス の定義に従っ て タ イ ミ ン グ パ ス に適用 さ れます。 制約の適用 さ れ る 優先順は タ イ ミ ン グ パ ス に も 適用 さ れ、 次の順序で優先 さ れます。 1. -from -through -to (一意の タ イ ミ ン グ パ ス) 2. -from -to 3. -from -through 4. -from 5. -through -to 6. -to 7. -through ( こ の点を通 る タ イ ミ ン グ パ スすべて) タ イ ミ ン グ パ ス の詳細は、 『Vivado Design Suite ユ ーザー ガ イ ド : デザ イ ン 解析お よ び ク ロ ー ジ ャ テ ク ニ ッ ク 』 (UG906) [参照 21] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 127 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 関連オブ ジ ェ ク ト X-Ref Target - Figure 2-38 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1R &HOO 図 2‐38 : 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.1) 2015 年 4 月 1 日 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 128 第 2 章 : Vivado オブ ジ ェ ク ト の リ ス ト (アル フ ァ ベ ッ ト 順) 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 129 第 3章 主な プ ロパテ ィ の説明 プ ロパテ ィ 情報 本章では、 ザ イ リ ン ク ス Vivado® Design Suite プ ロ パテ ィ について説明 し ます。 各プ ロ パテ ィ の説明には、 該当す る 場合は次の情報が含ま れます。 • 主な使用方法を含むプ ロ パテ ィ の説明 • プ ロ パテ ィ をサポー ト す る ザ イ リ ン ク ス FPGA デバ イ ス アーキ テ ク チ ャ (UltraScale™を含む)。 例外は注記済み • プ ロ パテ ィ をサポー ト す る オブジ ェ ク ト ま たはデバ イ ス リ ソ ース • プ ロ パテ ィ に割 り 当て可能な値 • Verilog、 VHDL、 XDC の構文 • プ ロ パテ ィ の影響を受け る デザ イ ン フ ロ ーの ス テ ッ プ • 関連プ ロ パテ ィ への相互参照 重要 : HDL と XDC の両方でプ ロ パテ ィ が定義 さ れてい る 場合は、 XDC の方が優先 さ れ、 HDL プ ロ パテ ィ は上書 き さ れます。 Vivado Design Suite での こ れ ら のプ ロ パテ ィ の使用については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 130 第 3 章 : 主な プ ロパテ ィ の説明 ASYNC_REG 重要 : ASYNC_REG と IOB の両方が レ ジ ス タ に割 り 当て ら れ る と 、 「IOB」 プ ロ パテ ィ が ASYNC_REG よ り も 優先 さ れ、 レ ジ ス タ が SLICE/CLB ロ ジ ッ ク ではな く 、 ILOGIC ブ ロ ッ ク に配置 さ れます。 ASYNC_REG 属性は、 Vivado ツール フ ロ ーの さ ま ざ ま なプ ロ セ ス に影響 し ます。 ASYNC_REG では、 次が指定 さ れ ます。 • 非同期デー タ が ソ ース ク ロ ッ ク と 接続 さ れ る D 入力ピ ンで レ ジ ス タ が受信で き る ま たは • レ ジ ス タ が同期チ ェーン内の同期レ ジ ス タ であ る 。 X-Ref Target - Figure 3-1 図 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 で 識別 さ れた レ ジ ス タ を同期す る ために レ ポー ト で き ます。 次は、131 ページの図 3-1 にあ る フ リ ッ プ フ ロ ッ プ を 2 つ使用 し た、ま たは 1 段のシ ン ク ロ ナ イ ザーの Verilog 例です。 レ ジ ス タ は、 個別の ク ロ ッ ク ド メ イ ン か ら の値を同期 さ せます。 ASYNC_REG プ ロ パテ ィ の値が TRUE なのでシ ン ク ロ ナ イ ザー段に適用 さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 131 第 3 章 : 主な プ ロパテ ィ の説明 (* ASYNC_REG = "TRUE" *) reg sync_0, sync_1; 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.1) 2015 年 4 月 1 日 japan.xilinx.com 132 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 133 第 3 章 : 主な プ ロパテ ィ の説明 • phys_opt_design • power_opt_design • report_drc • write_verilog • write_vhdl 関連項目 199 ページの 「IOB」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 134 第 3 章 : 主な プ ロパテ ィ の説明 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" *) Verilog の構文例 // Designates placed_reg to be placed in FF site A5FF (* BEL = "A5FF" *) reg placed_reg; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 135 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 219 ページの 「LOC」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 136 第 3 章 : 主な プ ロパテ ィ の説明 BLACK_BOX BLACK_BOX 属性は、 すべての階層レベルをオ フ に し 、 合成でそのモジ ュ ールま たはエン テ ィ テ ィ に対 し てブ ラ ッ ク ボ ッ ク ス を作成で き る よ う にす る デバ ッ グ用の属性です。 こ の属性を指定する と 、 モジ ュ ールま たはエン テ ィ テ ィ に 対 し て有効な ロ ジ ッ ク があ っ た と し て も 、 合成ツールでその レベルに対 し てブ ラ ッ ク ボ ッ ク ス が作成 さ れます。 こ の 属性はモジ ュ ール、 エン テ ィ テ ィ 、 コ ン ポーネ ン ト に設定で き ます。 こ の属性は合成 コ ンパ イ ラ に影響す る ので、 RTL でのみ設定可能です。 ブ ラ ッ ク ボ ッ ク ス の コ ーデ ィ ン グ ス タ イ ルの詳細については、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 17] の 「ブ ラ ッ ク ボ ッ ク ス」 を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト • すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ソ ース 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.1) 2015 年 4 月 1 日 japan.xilinx.com 137 第 3 章 : 主な プ ロパテ ィ の説明 BUFFER_TYPE 重要 : BUFFER_TYPE よ り も 「CLOCK_BUFFER_TYPE」 お よ び 「IO_BUFFER_TYPE」 プ ロ パテ ィ を使用 し た方がバ ッ フ ァ ーの推論が制御 し やす く な り ます。 デ フ ォ ル ト で は、 Vivado 合成は、 ク ロ ッ ク ポ ー ト に対 し 、 入力バ ッ フ ァ ー と グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー (IBUF/BUFG) の組み合わせた も の を推論 し 、 入力ポー ト に対 し て入力バ ッ フ ァ ーを、 出力ポー ト に対 し て出力バ ッ フ ァ ーを推論 し ますが、 手動で BUFFER_TYPE プ ロ パテ ィ を指定 し 、 Vivado 合成のデフ ォ ル ト 動作を上書 き す る こ と も で き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • BUFFER_TYPE 属性は最上位ポー ト (all_inputs、 all_outputs、 get_ports) に設定で き ます。 値 • IBUF : デフ ォ ル ト の IBUF/BUFG ペアが不要な ク ロ ッ ク ポー ト に こ の値を指定 し ます。 こ の場合は ク ロ ッ ク に対 し て IBUF のみが推論 さ れます。 デフ ォ ル ト で推論 さ れ る のは IBUF と OBUF だけなので、 こ れに よ り 、 入力ま たは出力ポー ト が影響を受け る こ と はあ り ません。 • NONE : こ の値を ク ロ ッ ク ポー ト 、 入力ポー ト 、 ま たは出力ポー ト に指定す る と 、 入力ま たは出力バ ッ フ ァ ーは 推論 さ れな く な り ます。 ク ロ ッ ク ポー ト に none を指定する と 、 バ ッ フ ァ ーは使用 さ れません。 構文 Verilog 構文 (* buffer_type = "none" *) input in1; //this will result in no buffers (* buffer_type = "ibuf" *) input clk1; //this will result in a clock with no bufg VHDL 構文 entity test is port( in1 : std_logic_vector (8 downto 0); clk : std_logic; out1 : std_logic_vector(8 downto 0)); attribute buffer_type : string; attribute buffer_type of in1 : signal is "none"; end test; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 138 第 3 章 : 主な プ ロパテ ィ の説明 XDC 構文 BUFFER_TYPE プ ロ パテ ィ は、 XDC 制約フ ァ イ ルのポー ト オブジ ェ ク ト に も 使用で き ます。 set_property BUFFER_TYPE <value> [get_ports <port_name>] 説明 : • <value> には、 BUFFER_TYPE の有効な値を指定 し ます。 • <port_name> には、 プ ロ パテ ィ を設定す る ポー ト 名を指定 し ます。 影響のある処理 • 合成 関連項目 142 ページの 「CLOCK_BUFFER_TYPE」 197 ページの 「IO_BUFFER_TYPE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 139 第 3 章 : 主な プ ロパテ ィ の説明 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 DRC コ マ ン ド が CFGBVS お よ び CONFIG_VOLTAGE をチ ェ ッ ク し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • デザ イ ン (current_design) 値 • VCCO : 3.3V/2.5V 操作用に I/O バン ク 0 を コ ン フ ィ ギ ュ レーシ ョ ン • GND : 1.8V/1.5V 操作用に I/O バン ク 0 を コ ン フ ィ ギ ュ レーシ ョ ン 構文 Verilog および VHDL 構文 該当な し XDC 構文 set_property CFGBVS [VCCO | GND] [current_design] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 140 第 3 章 : 主な プ ロパテ ィ の説明 XDC の構文例 # Configure I/O Bank 0 for 3.3V/2.5V operation set_property CFGBVS VCCO [current_design] 影響のある処理 • I/O プ ラ ン ニ ン グ • DRC レ ポー ト • write_bitstream 関連項目 150 ページの 「CONFIG_MODE」 152 ページの 「CONFIG_VOLTAGE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 141 第 3 章 : 主な プ ロパテ ィ の説明 CLOCK_BUFFER_TYPE 重要 : ク ロ ッ ク 入力ポー ト には、 BUFFER_TYPE ではな く CLOCK_BUFFER_TYPE プ ロ パテ ィ を使用 し て く だ さ い。 デ フ ォ ル ト で は、 Vivado 合成 で は、 ク ロ ッ ク ポ ー ト に対 し 入力バ ッ フ ァ ー と グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー (IBUF/BUFG) の組み合わせた も のが推論 さ れますが、 CLOCK_BUFFER_TYPE プ ロ パテ ィ を使用する と 、 Vivado 合成 ツールで IBUF/BUFR ペア ま たは IBUF/BUFIO ペア な ど の異な る タ イ プの ク ロ ッ ク バ ッ フ ァ が推論 さ れ る か、 バ ッ フ ァ ーがすべて削除 さ れ る か を指定で き ます。 CLOCK_BUFFER_TYPE は、 RTL ま たは XDC で設定で き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • CLOCK_BUFFER_TYPE 属性は最上位 ク ロ ッ ク ポー ト 、 ま たはそのポー ト に接続 さ れた信号に設定 し 、 使用す る ク ロ ッ ク バ ッ フ ァ ー タ イ プ を指定 し ます。 値 • BUFG、 BUFH、 BUFIO、 BUFMR、 BUFR : ク ロ ッ ク ポー ト に対 し て入力バ ッ フ ァ ーお よ び指定 し た ク ロ ッ ク バ ッ フ ァ ーを組み合わせた も のが推論 さ れます。 • NONE : ク ロ ッ ク に対 し てバ ッ フ ァ ーは推論 さ れません。 構文 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>] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 142 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 合成 関連項目 138 ページの 「BUFFER_TYPE」 197 ページの 「IO_BUFFER_TYPE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 143 第 3 章 : 主な プ ロパテ ィ の説明 CLOCK_DEDICATED_ROUTE CLOCK_DEDICATED_ROUTE プ ロ パテ ィ は、 タ ーゲ ッ ト デバ イ ス に対す る ク ロ ッ ク 配置ルールに厳密に従 う べ き か ど う か を設定 し ます。 外部ユーザー ク ロ ッ ク は、 ク ロ ッ ク 対応入力 (CCIO) と 呼ばれ る 差動 ク ロ ッ ク ピ ンのペアか ら FPGA に供給す る 必要 があ り ます。 こ れ ら の CCIO は、 さ ま ざ ま な ク ロ ッ ク 供給機能の タ イ ミ ン グ を確約する ため、 内部のグ ロ ーバルお よ び リ ージ ョ ナル ク ロ ッ ク リ ソ ースへの専用、 高速配線を提供 し ます。 ク ロ ッ ク 配置ルールの詳細については、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ ユーザー ガ イ ド 』 (UG472) [参照 3]ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ ユー ザー ガ イ ド 』 (UG572) [参照 9] を参照 し て く だ さ い。 通常、 タ ーゲ ッ ト の FPGA の専用 ク ロ ッ ク ツ リ ーか ら ク ロ ッ ク 配線を外 し た り 、標準配線チ ャ ネルを使用す る と いっ た目的で、 ク ロ ッ ク コ ン ポーネ ン ト を配置す る 必要が出て き た と き に、 CLOCK_DEDICATED_ROUTE プ ロ パテ ィ は 使用 さ れ ま す。 専用配線が使用で き ない場合は、 CLOCK_DEDICATED_ROUTE を FALSE に設定す る と 、 ク ロ ッ ク ソ ース が ロ ー ド ク ロ ッ ク バ ッ フ ァ ーに比べて最適ではない位置に配置 さ れてい る と き 、 ク ロ ッ ク 配置 DRC がエ ラ ー か ら 警告にな り ます。 注意 : CLOCK_DEDICATED_ROUTE を False にす る と 、 ク ロ ッ ク 遅延が最適ではな く な る 可能性があ り 、 タ イ ミ ン グ な ど の問題が発生す る こ と があ り ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー (BUFG、BUFGCE、BUFGMUX、BUGCTRL) の入力に接続 さ れたネ ッ ト (get_nets) 値 • 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 144 第 3 章 : 主な プ ロパテ ィ の説明 説明 : • 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.1) 2015 年 4 月 1 日 japan.xilinx.com 145 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 146 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 142 ページの 「CLOCK_BUFFER_TYPE」 148 ページの 「CLOCK_ROOT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 147 第 3 章 : 主な プ ロパテ ィ の説明 CLOCK_ROOT ク ロ ッ ク ド ラ イ バー、 ま たはルー ト を タ ーゲ ッ ト デバ イ ス の特定 ク ロ ッ ク 領域に割 り 当て る ために使用 し ます。 CLOCK_ROOT プ ロ パテ ィ はデバ イ ス全体で ク ロ ッ ク ス キ ュ ーを管理 し やす く する こ と を目的に使用 し ます。デフ ォ ル ト では、 配置配線ツールで自動的に ク ロ ッ ク ルー ト が割 り 当て ら れ、 そのデザ イ ンに最適な タ イ ミ ン グ特性が達成 さ れます。 CLOCK_ROOT プ ロ パテ ィ を使用す る と 、 こ の ク ロ ッ ク ルー ト を手動で割 り 当て る こ と がで き ます。 CLOCK_ROOT プ ロ パテ ィ は、 グ ロ ーバル ネ ッ ト 、 ま たはそれを駆動す る セルに設定す る こ と がで き ます。 階層ネ ッ ト の場合は、 ネ ッ ト の任意箇所に こ のプ ロ パテ ィ を割 り 当て る こ と がで き ますが、 プ ロ パテ ィ は最上位 ク ロ ッ ク ネ ッ ト に設定 さ れます。 こ の割 り 当て を知 ら せ る メ ッ セージが表示 さ れます。 CLOCK_ROOT プ ロ パテ ィ は ク ロ ッ ク リ ソ ース の配置中に検証 ・ 使用 さ れ る ため、 配置前に割 り 当ててお く 必要があ り ます。 し か し 、 配置後に割 り 当て る 場合は、 配置を実行 し てそれをデザ イ ンに反映 さ せ る 必要があ り ます。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • ネ ッ ト - グ ロ ーバル ク ロ ッ ク ネ ッ ト (get_nets) • セル - ク ロ ッ ク ネ ッ ト を駆動す る グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ー (get_cells) ° BUFGCE ° BUFGCTRL ° BUFGCE_DIV ° BUFG_GT 値 • <clock_region> : タ ーゲ ッ ト デバ イ ス の ク ロ ッ ク 領域の名前を指定 し ます。 ま たは get_clock_regions コ マ ン ド に よ り 渡 さ れ る ク ロ ッ ク 領域オブジ ェ ク ト にな り ます。 • <object> : ク ロ ッ ク ネ ッ ト ま たはネ ッ ト セグ メ ン ト 、 ま たは ク ロ ッ ク ネ ッ ト を駆動す る セル (複数指定可能) 構文 Verilog および VHDL 構文 該当な し XDC 構文 set_property CLOCK_ROOT <clock_region> <List of clock nets> ま たは set_property CLOCK_ROOT <clock_region> <List of cells driving clock nets> Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 148 第 3 章 : 主な プ ロパテ ィ の説明 XDC の構文例 set_property CLOCK_ROOT X0Y0 [get_nets {clk1 clk2}] set_property CLOCK_ROOT [get_clock_regions X0Y0] [get_nets {clk1 clk2}] set_property CLOCK_ROOT X0Y0 [get_cells {clk1_BUFGCE}] 影響のある処理 • 配置 • 配線 関連項目 142 ページの 「CLOCK_BUFFER_TYPE」 146 ページの 「CLOCK_REGION」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 149 第 3 章 : 主な プ ロパテ ィ の説明 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) 値 • S_SERIAL • 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 150 第 3 章 : 主な プ ロパテ ィ の説明 構文 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.1) 2015 年 4 月 1 日 japan.xilinx.com 151 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 152 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • place_design • report_drc • write_bitstream 関連項目 140 ページの 「CFGBVS」 150 ページの 「CONFIG_MODE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 153 第 3 章 : 主な プ ロパテ ィ の説明 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) [参照 20] を参照 し て く だ さ い。 Pblock で し か使用 さ れない信号のみが Pblock に含まれます。 た と えば、 Pblock 内に BUFGMUX リ ソ ース がない場合 は、 BUFGMUX か ら のパ ス ま たは BUFGMUX へのパ ス は含め る こ と がで き ません。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • PBlock (get_pblocks) 値 • TRUE : Pblock 内の信号の配線が Pblock 範囲で定義 さ れたエ リ アに含まれます。 • FALSE : Pblock 内に信号の配線は含まれません。 こ れがデフ ォ ル ト です。 構文 Verilog および VHDL 構文 該当な し 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 154 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 配線 関連項目 174 ページの 「EXCLUDE_PLACEMENT」 242 ページの 「PBLOCK」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 155 第 3 章 : 主な プ ロパテ ィ の説明 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® デバ イ ス 適用可能なオブ ジ ェ ク ト • I/O バン ク (get_iobanks) ° High Performance (HP) バン ク タ イ プ 値 有効 な ハ イ パ フ ォ ーマ ン ス (HP) バ ン ク 番号詳細は、 『7 シ リ ー ズ FPGA パ ッ ケ ー ジ お よ び ピ ン 配置 : 製品仕様』 (UG475) [参照 5] ま たは『UltraScale アーキ テ ク チ ャ のパ ッ ケージお よ びピ ン配置 : 製品仕様ユーザー ガ イ ド 』 (UG571) [参照 11] を参照 し て く だ さ い。 構文 Verilog および VHDL 構文 該当な し XDC 構文 set_property DCI_CASCADE {slave_banks} [get_iobanks master_bank] 説明 : • slave_banks は ス レーブ バン ク のバン ク 番号の リ ス ト です。 • master_bank は指定 さ れたマ ス タ ー バン ク のバン ク 番号です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 156 第 3 章 : 主な プ ロパテ ィ の説明 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 157 第 3 章 : 主な プ ロパテ ィ の説明 DELAY_BYPASS DELAY_BYPASS プ ロ パテ ィ を使用す る と 、、ザ イ リ ン ク ス 7 シ リ ーズ FPGA で BUFIO を介 し て遅延を削減で き ます。 BUFIO には BUFR の遅延 と 合わせ る 固有の遅延があ り 、 こ れ ら の ド メ イ ン間で ス ムース なデー タ 転送がで き る よ う にな っ てい ます。 7 シ リ ーズ デバ イ ス の場合、 こ のプ ロ パテ ィ に よ り その遅延がデ ィ ス エーブルにな り ます。 アーキテ ク チ ャ サポー ト 7 シ リ ーズ FPGA 適用可能なオブ ジ ェ ク ト • BUFIO (get_cells) 値 • 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] 使用可能な段階 • タ イ ミ ン グ解析 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 158 第 3 章 : 主な プ ロパテ ィ の説明 DIFF_TERM 差動終端 (DIFF_TERM) プ ロ パテ ィ は入力お よ び双方向ポー ト の差動 I/O 規格をサポー ト し ます。 ビル ト イ ン さ れた、 100 の差動終端を イ ネーブル/デ ィ ス エーブルする のに使用 し ます。詳細は、『7 Series FPGAs SelectIO リ ソ ース ユー ザー ガ イ ド 』 (UG471) [参照 2] を参照 し て く だ さ い。 DIFF_TERM は、 差動の入力お よ び双方向ポー ト バ ッ フ ァ ーに差動終端を使用す る 必要があ り 、 ま た Vivado ツール がポー ト にオンチ ッ プ終端を追加す る 必要のあ る こ と を示 し ます。 アーキテ ク チ ャ サポー ト 7 シ リ ーズ FPGA 推奨 : UltraScale アーキ テ ク チ ャ デバ イ ス の場合は、 差動終端を イ ネーブルにす る ため、 「DIFF_TERM_ADV」 を使用 す る 必要があ り ます。 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° • 差動入力バ ッ フ ァ ーに接続 さ れた入力ポー ト ま たは双方向ポー ト 次の I/O 規格のいずれか を使用 し てい る エ レ メ ン ト : ° LVDS、 LVDS_25、 MINI_LVDS_25 ° PPDS_25 ° RSDS_25 値 • TRUE : 差動終端は イ ネーブルにな り ます。 • FALSE : 差動終端はデ ィ ス エーブルにな り ます (デフ ォ ル ト )。 構文 推奨 : 言語テ ンプ レー ト ま たは 『Vivado Design Suite 7 シ リ ーズ ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] か ら の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト を使用 し て、 適切な構文を指定 し て く だ さ い。 Verilog 構文 DIFF_TERM パ ラ メ ー タ ーを ポー ト 宣言の直前に配置 し ます。 (* DIFF_TERM = "TRUE" *) input PORT Verilog の構文例 // Enables differential termination on the specified port (* DIFF_TERM = "TRUE" *) input CLK; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 159 第 3 章 : 主な プ ロパテ ィ の説明 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] 影響のある処理 • I/O プ ラ ン ニ ン グ • report_ssn • report_power 関連項目 • 161 ページの 「DIFF_TERM_ADV」 • 191 ページの 「IBUF_LOW_PWR」 • 206 ページの 「IOSTANDARD」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 160 第 3 章 : 主な プ ロパテ ィ の説明 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 Series FPGAs 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 値 • 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 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 161 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 159 ページの 「DIFF_TERM」 • 206 ページの 「IOSTANDARD」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 162 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 163 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 合成 関連項目 • 165 ページの 「DIRECT_RESET」 • 179 ページの 「GATED_CLOCK」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 164 第 3 章 : 主な プ ロパテ ィ の説明 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 構文 該当な し 影響のある処理 • 合成 関連項目 • 163 ページの 「DIRECT_ENABLE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 165 第 3 章 : 主な プ ロパテ ィ の説明 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) 値 • FALSE : 階層を超え て最適化 さ れます。 こ れがデフ ォ ル ト 設定です。 • TRUE : 最適化が階層バ ウ ン ダ リ を超えない よ う にな り 、 階層が保持 さ れます。 イ ン ス タ ン シエー ト さ れた コ ン ポーネ ン ト ま たはネ ッ ト が最適化に よ り 削除 さ れて し ま わない よ う 、 保持 さ れます。 構文 Verilog 構文 Verilog 属性をユーザーの階層 イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 (* DONT_TOUCH = "{TRUE|FALSE}" *) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 166 第 3 章 : 主な プ ロパテ ィ の説明 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 属性は次の よ う に指定 し ます。 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 167 第 3 章 : 主な プ ロパテ ィ の説明 ); 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 関連項目 • 210 ページの 「KEEP」 • 214 ページの 「KEEP_HIERARCHY」 • 230 ページの 「MARK_DEBUG」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 168 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 169 第 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) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25]を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 170 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 171 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 172 第 3 章 : 主な プ ロパテ ィ の説明 構文 Verilog および VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは EQUALIZATION 属性を次の よ う な構文で使用 し ます。 set_property EQUALIZATION value [get_ports port_name] 説明 : • set_property EQUALIZATION は入力バ ッ フ ァ ーでの リ ニ ア イ コ ラ イ ゼーシ ョ ン を イ ネーブルに し ます。 • <Value> には指定のポー ト に対 し サポー ト さ れてい る EQUALIZATION 値の 1 つが入 り ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。 関連項目 • 228 ページの 「LVDS_PRE_EMPHASIS」 • 254 ページの 「PRE_EMPHASIS」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 173 第 3 章 : 主な プ ロパテ ィ の説明 EXCLUDE_PLACEMENT EXCLUDE_PLACEMENT は、 Pblock で定義 さ れたエ リ ア内のデバ イ ス リ ソ ース を Pblock に含まれ る ロ ジ ッ ク にのみ 使用す る こ と を示すためのプ ロ パテ ィ です。 デフ ォ ル ト では、 Vivado 配置ツールで Pblock に割 り 当て ら れない ロ ジ ッ ク を Pblock で予約 さ れた リ ソ ース範囲内に 配置で き ます。 こ のプ ロ パテ ィ を使用す る と それがで き な く な り 、 Pblock 用に ロ ジ ッ ク リ ソ ース が予約 さ れます。 ヒ ン ト : こ れは Pblock の ロ ジ ッ ク リ ソ ース を限定す る だけで、 外部の ロ ジ ッ ク では、 Pblock で定義 さ れたエ リ ア内 の配線 リ ソ ース が ま だ使用で き ます。 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト • Pblock (get_pblocks) 値 • TRUE : Pblock 内のデバ イ ス ロ ジ ッ ク リ ソ ース を Pblock に割 り 当て ら れた ロ ジ ッ ク で使用 さ れ る よ う に予約 し 、 それ以外の外部 ロ ジ ッ ク には配置 さ れない よ う に し ます。 • FALSE : Pblock 内で ロ ジ ッ ク リ ソ ース は予約 さ れません。 構文 Verilog および VHDL 構文 該当な し XDC 構文 set_property EXCLUDE_PLACEMENT TRUE [get_pblocks test] 影響のある処理 • フ ロ アプ ラ ン • 配置 関連項目 154 ページの 「CONTAIN_ROUTING」 242 ページの 「PBLOCK」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 174 第 3 章 : 主な プ ロパテ ィ の説明 FSM_ENCODING FSM_ENCODING は、 合成中の ス テー ト マシ ンのエン コ ー ド 方法を指定 し ます。 デフ ォ ル ト では、 デザ イ ンに対 し ベス ト な ソ リ ュ ーシ ョ ン を決め る 内部アルゴ リ ズ ムに基づいて、 Vivado 合成ツール が ス テー ト マシ ン のエ ン コ ーデ ィ ン グ プ ロ ト コ ルを選択 し ます。 し か し 、 FSM_ENCODING プ ロ パテ ィ を使用す る 場合は、 ユーザーが ス テー ト マシ ンのエン コ ーデ ィ ン グ を指定する こ と がで き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ス テー ト マシ ン レ ジ ス タ 値 • AUTO : FSM_ENCODING を指定 し ない場合、 こ れがデフ ォ ル ト です。 Vivado 合成ツールで最適な ス テー ト マシ ン エン コ ーデ ィ ン グ方式が決定 さ れ る よ う にな り ます。同 じ デザ イ ン で も ス テー ト マシ ン レ ジ ス タ が異な る と 、 別のエン コ ーデ ィ ン グ ス タ イ ルが使用 さ れ る こ と があ り ます。 • ONE_HOT • SEQUENTIAL • JOHNSON • GRAY • 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 構文 該当な し 影響のある処理 • 合成 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 175 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 • 177 ページの 「FSM_SAFE_STATE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 176 第 3 章 : 主な プ ロパテ ィ の説明 FSM_SAFE_STATE こ の属性は RTL と XDC の両方で設定で き ます。 Vivado 合成は、 「FSM_ENCODING」 プ ロ パテ ィ ま たは Vivado 合成の -fsm_extraction コ マ ン ド ラ イ ン オプシ ョ ン で指 定 さ れ る さ ま ざ ま な コ ン フ ィ ギ ュ レーシ ョ ンで、 有限ス テー ト マシ ン (FSM) の抽出をサポー ト し てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 17] を参照 し て く だ さ い。 し か し 、 ス テー ト マシ ンは、 デザ イ ンがエ ラ ーにな っ て し ま う 無効ス テー ト 、 ま たは到達不可能な ス テー ト に遷移す る こ と があ り ます。 FSM_SAFE_STATE 属性は、 ス テー ト マシ ンが不正な ス テー ト にな っ た と き に次の ク ロ ッ ク サ イ ク ルで既知の ス テー ト にす る ロ ジ ッ ク を、 ス テー ト マ シ ン に挿入 し ま す。 FSM が無効な ス テー ト に遷移 し た場合、 FSM_SAFE_STATE プ ロ パテ ィ で FSM が Vivado 合成で合成 さ れ る と き に使用 さ れ る 回復ス テー ト が定義 さ れます。 ヒ ン ト : FSM ス テー ト を セーフ リ カバ リ にす る だけでな く 、合成結果の質に も 影響する こ と があ り ます。 通常はエ リ アが大 き く な っ てパフ ォーマ ン ス が落ち る こ と があ り ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ス テー ト マシ ン レ ジ ス タ 値 • 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"; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 177 第 3 章 : 主な プ ロパテ ィ の説明 XDC の例 set_property fsm_safe_state reset_state [get_cells state_reg*] 影響のある処理 • 合成 関連項目 • 175 ページの 「FSM_ENCODING」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 178 第 3 章 : 主な プ ロパテ ィ の説明 GATED_CLOCK GATED_CLOCK プ ロ パテ ィ を使用す る と 、 Vivado 合成でゲーテ ッ ド ク ロ ッ ク の変換が実行で き る よ う にな り ます。 ク ロ ッ ク ゲーテ ィ ン グ ロ ジ ッ ク を変換 し て、 フ リ ッ プ フ ロ ッ プ イ ネーブル ピ ン を使用可能な場合は使用 し て く だ さ い。 こ の最適化に よ り ロ ジ ッ ク が削除 さ れ、 ネ ッ ト リ ス ト が簡略化 さ れます。 こ の RTL 属性ではゲーテ ッ ド ロ ジ ッ ク の ど の信号が ク ロ ッ ク か を指定 し ます。 こ の属性は、 ク ロ ッ ク 信号ま たは ク ロ ッ ク ポー ト に設定で き ます。 RTL でのみ設定可能です。 注記 : ま た、 Vivado 合成ツールでオプシ ョ ン を使用 し て、 変換が実行 さ れ る よ う 指定する こ と も で き ます。 synth_design -gated_clock_conversion アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ク ロ ッ ク 入力ポー ト • ク ロ ッ ク 信号 値 • FALSE : ゲーテ ッ ド ク ロ ッ ク の変換をデ ィ ス エーブルに し ます。 • TRUE : GATED_CLOCK 属性が RTL コ ー ド で設定 さ れてい る 場合に、ゲーテ ッ ド ク ロ ッ ク の変換を実行 し ます。 こ の設定では、 結果を よ り 制御で き ます。 • AUTO : 次のいずれかの条件が満た さ れ る 場合に、 ゲーテ ッ ド ク ロ ッ ク の変換を実行 し ます。 ° GATED_CLOCK プ ロ パテ ィ が TRUE に設定 さ れてい る 。 ° Vivado 合成でゲー ト が検出 さ れ、 有効な ク ロ ッ ク 制約セ ッ ト があ る 。 こ の設定では、 ツールで自動的に判断 さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 179 第 3 章 : 主な プ ロパテ ィ の説明 構文 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.1) 2015 年 4 月 1 日 japan.xilinx.com 180 第 3 章 : 主な プ ロパテ ィ の説明 H_SET および HU_SET HDL ソ ース フ ァ イ ルで定義 さ れてい る よ う に、 デザ イ ンの階層に基づいて ま と め ら れた ロ ジ ッ ク エ レ メ ン ト の集合 体が階層セ ッ ト です。 H_SET、 HU_SET、 U_SET は HDL デザ イ ン ソ ース フ ァ イ ル内の属性で、 合成 さ れたデザ イ ン や イ ン プ リ メ ン ト さ れたデザ イ ンには現われ ません。 こ れ ら は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定 義す る と き に使用 さ れます。こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 デザ イ ンの階層にあ る ロ ジ ッ ク セルに 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 に分け る こ と がで き ます。 重要 : 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) [参照 24]ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25]を参照 し て く だ さ い。 • レジス タ • LUT • マク ロ インスタンス • RAMS • RAMD • RAMB18/FIFO18 • RAMB36/FIFO36 • DSP48 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 181 第 3 章 : 主な プ ロパテ ィ の説明 値 • <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 ); 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; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 182 第 3 章 : 主な プ ロパテ ィ の説明 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; 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 183 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 • 214 ページの 「KEEP_HIERARCHY」 • 263 ページの 「RLOC」 • 267 ページの 「RLOCS」 • 269 ページの 「RLOC_ORIGIN」 • 274 ページの 「RPM」 • 275 ページの 「RPM_GRID」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 184 第 3 章 : 主な プ ロパテ ィ の説明 HIODELAY_GROUP HIODELAY_GROUP は IDELAYCTRL コ ン ポーネ ン ト を関連す る IDELAY ま たは ODELAY イ ン ス タ ン ス と と も にグ ループに ま と め、 配置お よ び複製が正 し く 行われ る よ う にす る プ ロ パテ ィ です。 HIODELAY_GROUP を使用 し て IDELAYCTRL にグループ名を割 り 当て る 場合は、 同 じ HIODELAY_GROUP プ ロ パ テ ィ を使用 し てそのグループに IDELAY ま たは ODELAY セル も 関連付け る 必要があ り ます。 重要 : 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 は各階層に 1つ し か使用で き ません。 HIODELAY_GROUP は、 次の場合に使用 し ます。 • IDELAYCTRL を含む 1 モジ ュ ールの イ ン ス タ ン ス が複数あ る 場合 および • ほかの論理階層にあ る IDELAY ま たは ODELAY と 、 その イ ン ス タ ン ス を ま と め る つ も り がない場合 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) ° IDELAY、 ODELAY、 ま たは IDELAYCTRL イ ン ス タ ン ス 値 指定 し た グループ名 構文 Verilog 構文 Verilog 属性は IDELAY、 ODELAY、 ま たは IDELAYCTRL の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 (* HIODELAY_GROUP = "value" *) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 185 第 3 章 : 主な プ ロパテ ィ の説明 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 .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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 186 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 place_design 関連項目 203 ページの 「IODELAY_GROUP」 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 • IDELAYCTRL • IDELAYE2 • ODELAYE2 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 187 第 3 章 : 主な プ ロパテ ィ の説明 HLUTNM HLUTNM を使用す る と 、互換性のあ る 入力を持つ 2 つの LUT5、SRL16 ま たは LUTRAM コ ン ポーネ ン ト が同 じ LUT6 サ イ ト に配置 さ れます。 階層ご と に HLUTNM を使用 し て、 ど ち ら も 同 じ グループ名で互換性のあ る イ ン ス タ ン ス タ イ プであ る 必要があ り ます。 HLUTNM と LUTNM の相違点 HLUTNM は各階層に 1 つ し か使用で き ません。 • 複数の LUT コ ン ポーネ ン ト を含む 1 モジ ュ ールの複数の イ ン ス タ ン ス を グループに ま と め る 場合に HLUTNM を使用 し ます。 • 別の階層にあ る 2 つの LUT コ ン ポーネ ン ト を同 じ グループに ま と め る 場合は LUTNM を使用 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) ° LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5) ° SRL (SRL16E) ° LUTRAM (RAM32X1S) 値 一意のグループ名 構文 Verilog 構文 Verilog 属性は LUT の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 Verilog 属性は、 同 じ 論理階層のペアで使用する 必要があ り ます。 (* 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 188 第 3 章 : 主な プ ロパテ ィ の説明 .I0(state_in[0]), .I1(state_in[1]), .I2(state_in[2]), .I3(state_in[3]), .I4(state_in[4]) // // // // // LUT LUT LUT LUT LUT input input input input 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 -- 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 ); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 189 第 3 章 : 主な プ ロパテ ィ の説明 -- 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 関連項目 • 225 ページの 「LUTNM」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 190 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 191 第 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 関連項目 • 206 ページの 「IOSTANDARD」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 192 第 3 章 : 主な プ ロパテ ィ の説明 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 シ リ ーズ デバ イ ス はサポー ト さ れてい ます。 適用可能なオブ ジ ェ ク ト • ポー ト (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 属性構文を最上位入力ま たは双方向ポー ト 宣言の前に配置 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 193 第 3 章 : 主な プ ロパテ ィ の説明 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] 説明 : • 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 プ ラ ン ニ ン グ • ノ イ ズ レ ポー ト • 消費電力レ ポー ト 関連項目 • 156 ページの 「DCI_CASCADE」 • 159 ページの 「DIFF_TERM」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 194 第 3 章 : 主な プ ロパテ ィ の説明 INTERNAL_VREF INTERNAL_VREF は、 I/O バン ク の内部レ ギ ュ レー タ ーの使用を指定 し て、 基準電圧を必要 と す る I/O 規格の基準電 圧を供給 し ま す。 内部で生成 さ れた基準電圧を使用す る と 、 プ リ ン ト 回路基板 (PCB) の電源レ ールを介 し て特定の VREF を提供す る 必要がな く な り 、 シ ス テ ム レベル デザ イ ンの配線混雑を削減で き ます。 ヒ ン ト : 特定の VREF 電圧提供レベルを必要 と す る ザ イ リ ン ク ス デバ イ ス がそのボー ド /シ ス テ ム上の唯一のデバ イ ス であ る 場合は、 内部 VREF を使用 し てみて く だ さ い。 詳細については、『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2] ま たは 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • I/O バン ク (get_iobanks) 値 • 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 195 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • I/O プ ラ ン ニ ン グ • place_design • DRC • report_power Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 196 第 3 章 : 主な プ ロパテ ィ の説明 IO_BUFFER_TYPE 重要 : 入力お よ び出力ポー ト には、 「BUFFER_TYPE」 ではな く IO_BUFFER_TYPE プ ロ パテ ィ を使用 し て く だ さ い。 IO_BUFFER_TYPE は最上位ポー ト に設定 し 、 バ ッ フ ァ ーを使用す る か ど う か を指定 し ます。 デフ ォ ル ト では、 Vivado 合成で入力ポー ト には入力バ ッ フ ァ ーが、 出力ポー ト には出力バ ッ フ ァ ーが推論 さ れ ま す が、 IO_BUFFER_TYPE プ ロ パテ ィ を使用す る と 、 こ のデフ ォ ル ト ビヘ イ ビ アーを無効にで き ます。 IO_BUFFER_TYPE 属性はプ ラ イ マ リ ポー ト に設定で き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • 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>] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 197 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 合成 関連項目 138 ページの 「BUFFER_TYPE」 142 ページの 「CLOCK_BUFFER_TYPE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 198 第 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}"; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 199 第 3 章 : 主な プ ロパテ ィ の説明 説明 : • port_name は最上位ポー ト です。 VHDL の構文例 ACK : in std_logic; attribute IOB : string; -- Place the register connected to ACK in the input logic site 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 200 第 3 章 : 主な プ ロパテ ィ の説明 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 ° I/O コ ン ポーネ ン ト 内の IFF レ ジ ス タ に対 し 、 遅延を ON に設定 し ます。 ° ILOGIC ブ ロ ッ ク ま でのバ ッ フ ァ ーの付いたパ ス に対 し 、 遅延を OFF に設定 し ます。 BOTH : IBUF お よ び IFD パス の両方に対 し 、 遅延を ON に設定 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 201 第 3 章 : 主な プ ロパテ ィ の説明 構文 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.1) 2015 年 4 月 1 日 japan.xilinx.com 202 第 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 では階層を越え て複数のエ レ メ ン ト を グループに ま と め る こ と がで き ます。 階層の異な る I/O 遅 延 コ ン ポーネ ン ト を グループに ま と め る には IODELAY_GROUP を使用 し ます。 HIODELAY_GROUP は、 同 じ 階層モジ ュ ールにあ る I/O 遅延コ ン ポーネ ン ト を グループに ま と め ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) ° IDELAY、 ODELAY、 ま たは IDELAYCTRL イ ン ス タ ン ス 値 指定 し た グループ名 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 203 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 204 第 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] 影響のある処理 • 配置 関連項目 • 185 ページの 「HIODELAY_GROUP」 • 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 ° IDELAYCTRL ° IDELAYE2 ° ODELAYE2 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 205 第 3 章 : 主な プ ロパテ ィ の説明 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 つのルールに沿っ てい る こ と を確認 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (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, Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 206 第 3 章 : 主な プ ロパテ ィ の説明 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] 説明 : • 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) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 207 第 3 章 : 主な プ ロパテ ィ の説明 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 コ マ ン ド を使用す る 必要があ り ます。 リ ポジ ト リ のサー ド パーテ ィ ま たはユーザー定義 IP で現在のプ ロ ジ ェ ク ト ま たはデザ イ ン で使用中のデバ イ ス の製 品 フ ァ ミ リ がサポー ト さ れ る 場合、 その IP はカ タ ロ グ に互換性の あ る IP と し て追加 さ れ ま す。 IP の互換性に タ ー ゲ ッ ト パーツ が含まれない場合、 その IP が現在のプ ロ ジ ェ ク ト ま たはデザ イ ン と 互換性がな く 、 IP カ タ ロ グには表 示 さ れない こ と があ り ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) [参照 15] を 参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • current_fileset 値 • <dir_name> - ユーザー定義 IP が格納 さ れ る 1 つま たは複数のデ ィ レ ク ト リ 名を指定 し ます。 デ ィ レ ク ト リ 名は、 相対的ま たは絶対的に指定で き 、 別々に指定す る か、 スペース で区切っ て指定 し 、 中か っ こ { } か二重引用符 " " で囲む必要があ り ます。 構文 Verilog および VHDL 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 208 第 3 章 : 主な プ ロパテ ィ の説明 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 使用可能な段階 デザ イ ン入力 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 209 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 210 第 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 構文 該当な し 使用可能な段階 合成 関連項目 • 166 ページの 「DONT_TOUCH」 • 214 ページの 「KEEP_HIERARCHY」 • 230 ページの 「MARK_DEBUG」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 211 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 212 第 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 プ ラ ン ニ ン グ • 配置 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 213 第 3 章 : 主な プ ロパテ ィ の説明 KEEP_HIERARCHY KEEP_HIERARCHY は、 最適化がバ ウ ン ダ リ を越えて実行 さ れない よ う にす る ため、 ユーザー階層の保持を指示 し ま す。 こ れで フ ロ アプ ラ ン、 解析、 デバ ッ グが し やす く な り ますが、 最適化が抑止 さ れ る ので、 デザ イ ンが大き く 、 遅 く な っ て し ま う こ と があ り ます。 推奨 : 悪影響が出ない よ う にす る には、KEEP_HIERARCHY が適用 さ れてい る モジ ュ ール イ ン ス タ ン ス の出力すべて に レ ジ ス タ を付け ます。 こ の属性は、 合成前に適用す る と 最 も 効果的です。 KEEP_HIERARCHY は、 階層レベルが変更 さ れない よ う にす る ためのプ ロ パテ ィ です。 Vivado 合成では、 RTL で指定 さ れたの と 同 じ 階層が保持 さ れ る よ う 試み ら れますが、QoR (結果の品質) を改善す る ために階層が フ ラ ッ ト に さ れた り 、 変更 さ れ る こ と も あ り ます。 イ ン ス タ ン ス に KEEP_HIERARCHY を指定す る と 、 合成でその階層レベルは変更 さ れません。 こ れが QoR に影響を与え る 場合があ り ます。 ま た、 ト ラ イ ス テー ト 出力お よ び I/O バ ッ フ ァ ーの制御 ロ ジ ッ ク を記述 す る モジ ュ ールには使用 し ないで く だ さ い。 KEEP_HIERARCHY は、 モジ ュ ール、 アーキ テ ク チ ャ レベル、 ま たは イ ン ス タ ン ス に指定で き ます。 RTL でのみ設定可能です。 アーキテ ク チ ャ サポー ト すべて 適用可能なオブ ジ ェ ク ト • セル (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) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 214 第 3 章 : 主な プ ロパテ ィ の説明 ) 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}"; 説明 : • 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 はレ ジ ス タ イ ン ス タ ン ス です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 215 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 166 ページの 「DONT_TOUCH」 • 210 ページの 「KEEP」 • 230 ページの 「MARK_DEBUG」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 216 第 3 章 : 主な プ ロパテ ィ の説明 KEEPER KEEPER は、 ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク ド ラ イ バーを適用 し 、駆動 さ れていない と き に値を 保持 し ます。 ポー ト に接続 さ れ る 出力ネ ッ ト の値が保持 さ れます。 た と えば、 指定 し たポー ト を介 し て ロ ジ ッ ク 1 が駆動 さ れ る 場合、 KEEPER は ウ ィ ー ク ま たは抵抗 1 を そのポー ト ま で駆動 し ま す。 その後ネ ッ ト ド ラ イ バーが ト ラ イ ス テー ト 状態に な る と 、 KEEPER は接続 さ れた ポー ト を 介 し て ウ ィ ー ク ま たは抵抗 1 を ネ ッ ト に駆動 し 続け、 値を保持 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よび双方向バ ッ フ ァ ー (IOBUF な ど) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ます。 バ ッ フ ァ ーに接続 さ れてい る ポー ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、 こ の機能を使用で き ま す。 • PULLUP • PULLDOWN • KEEPER 注記 : こ の属性が適用 さ れた場合、 RTL シ ミ ュ レーシ ョ ン中に KEEPER 機能が表示 さ れないので、 RTL シ ミ ュ レーシ ョ ン と イ ンプ リ メ ン ト 済みデザ イ ン間の機能的な違いが発生す る 可能性があ り ます。 こ の機能は、 ゲー ト レベルのシ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。 それ以外の場合は、 こ のプ ロ パテ ィ を使用す る 代わ り に、 PULLDOWN UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ン で こ のビヘ イ ビ アーを反 映 さ せます。 アーキテ ク チ ャ サポー ト すべて 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES : 指定 し たポー ト に接続 さ れたネ ッ ト の値を保持する ためキーパー回路を使用 し ます。 • FALSE | NO : キーパー回路を使用 し ません。 デフ ォ ル ト です。 構文 Verilog 構文 Verilog 制約を ポー ト 宣言の直前に配置 し ます。 Verilog 制約は次の よ う に指定 し ます。 (* KEEPER = " {YES|NO|TRUE|FALSE}" *) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 217 第 3 章 : 主な プ ロパテ ィ の説明 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] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 257 ページの 「PULLDOWN」 259 ページの 「PULLUP」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 218 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 219 第 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 関連項目 • 135 ページの 「BEL」 • 238 ページの 「PACKAGE_PIN」 • 242 ページの 「PBLOCK」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 220 第 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) [参照 19] を参照 し て く だ さ い。 注記 : 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.1) 2015 年 4 月 1 日 japan.xilinx.com 221 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 222 第 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 223 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • phys_opt_design • route_design 関連項目 • 135 ページの 「BEL」 • 166 ページの 「DONT_TOUCH」 • 219 ページの 「LOC」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 224 第 3 章 : 主な プ ロパテ ィ の説明 LUTNM LUTNM を使用す る と 、 互換性のあ る 入力を持つ 2 つの LUT5、 SRL16 ま たは LUTRAM コ ン ポーネ ン ト が同 じ LUT6 サ イ ト に配置 さ れます。 LUTNM はペアで指定する 必要があ り 、 ど ち ら も 同 じ グループ名で互換性のあ る イ ン ス タ ン ス タ イ プであ る 必要があ り ます。 LUTNM と HLUTNM の相違点 HLUTNM は、 別のユーザー階層にあ る 2 つの LUT コ ン ポーネ ン ト を統合する ために使用で き ます。 同 じ ユーザー階 層にあ る 2 つの LUT コ ン ポーネ ン ト を一緒のグループにす る 場合は LUTNM を使用 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) ° LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5) ° SRL (SRL16E) ° LUTRAM (RAM32X1S) 値 一意のグループ名 構文 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 ); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 225 第 3 章 : 主な プ ロパテ ィ の説明 // // // // (* 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 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 ( Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 226 第 3 章 : 主な プ ロパテ ィ の説明 O => state_out(1), I0 => state_in(0), I1 => state_in(1), I2 => state_in(2), I3 => state_in(3), I4 => state_in(4) ------- LUT LUT LUT LUT LUT LUT general output input input input input 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.1) 2015 年 4 月 1 日 japan.xilinx.com 227 第 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 : プ リ エン フ ァ シ ス を イ ネーブルに し ません (デフ ォ ル ト )。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 228 第 3 章 : 主な プ ロパテ ィ の説明 構文 Verilog および VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは LVDS_PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。 set_property LVDS_PRE_EMPHASIS <TRUE|FALSE> [get_ports port_name] 説明 : • set_property LVDS_PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。 関連項目 • 172 ページの 「EQUALIZATION」 • 254 ページの 「PRE_EMPHASIS」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 229 第 3 章 : 主な プ ロパテ ィ の説明 MARK_DEBUG Vivado ツールのハー ド ウ ェ ア マネージ ャ ー機能を使用 し て、 デバ ッ グ用に保持す る 必要があ る ネ ッ ト を指定 し ます。 こ れに よ り 、 最適化で指定 し た信号が削除 さ れな く な る か、 指定 し た信号の名前が変更 さ れ ま す。 MARK_DEBUG は、 信号を保持 し 、 Vivado ハー ド ウ ェ ア マネージ ャ ーを使用 し て FPGA プ ロ グ ラ ムお よ びデバ ッ グ中にその信号の 値を簡単に観察で き る よ う にす る ためのプ ロ パテ ィ です。 重要 : MARK_DEBUG を使用す る と 、 最適化に影響が出 る ので、 エ リ アが増加 し た り 、 パフ ォーマ ン ス が落ちた り す る こ と があ り ます。 MARK_DEBUG は、 特に、 デザ イ ン の タ イ ミ ン グ ク リ テ ィ カルなエ リ アには慎重に使用 し て く だ さ い。 ま た、 デザ イ ンの同期ポ イ ン ト にのみ適用 し て、 タ イ ミ ン グ ク ロ ージ ャ ーの影響お よ びエ リ ア と 消費電力の 増加を抑え る よ う に し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ネ ッ ト (get_nets) ° 内部配列にア ク セ ス可能なネ ッ ト すべて 注記 : 一部のネ ッ ト には専用 コ ネ ク テ ィ ビ テ ィ な ど があ り 、 デバ ッ グの と き に表示 さ れな く な る よ う な も の があ り ます。 値 • TRUE • FALSE 構文 Verilog 構文 こ の属性を設定す る には、 適切な Verilog 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。 (* MARK_DEBUG = "{TRUE|FALSE}" *) Verilog の構文例 // Marks an internal wire for debug in Vivado hardware manager (* MARK_DEBUG = "TRUE" *) wire debug_wire, Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 230 第 3 章 : 主な プ ロパテ ィ の説明 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 in Vivado hardware manager set_property MARK_DEBUG TRUE [get_nets debug_wire] 影響のある処理 • synth_design • opt_design • place_design • Vivado ハー ド ウ ェ ア マネージ ャ ー 関連項目 • 166 ページの 「DONT_TOUCH」 • 210 ページの 「KEEP」 • 214 ページの 「KEEP_HIERARCHY」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 231 第 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; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 232 第 3 章 : 主な プ ロパテ ィ の説明 VHDL 構文 signal sig1 : std_logic; attribute max_fanout : integer; attribute max_fanout : signal is 50; XDC 構文 set_property MAX_FANOUT <number> [get_nets -hier <net_name>] 影響のある処理 • 合成 • 最適化 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 233 第 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 • RTT_240 • RTT_NONE 注記 : 使用可能な I/O 規格お よ び コ ン フ ィ ギ ュ レーシ ョ ンすべてに対 し 、 すべての値が使用で き る わけではあ り ません。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 234 第 3 章 : 主な プ ロパテ ィ の説明 構文 Verilog および VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは ODT 属性を次の よ う な構文で使用 し ます。 set_property ODT <VALUE> [get_ports port_name] 説明 : • set_property ODT は ODT を イ ネーブルに し ます。 • <Value> には指定の IOSTANDARD に対 し サポー ト さ れてい る ODT 値の 1 つが入 り ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。 関連項目 • 206 ページの 「IOSTANDARD」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 235 第 3 章 : 主な プ ロパテ ィ の説明 OFFSET_CNTRL レ シーバー オ フ セ ッ ト 制御であ る OFFSET_CNTRL は、 プ ロ セ ス変動を補正す る ため、 UltraScale デバ イ ス で一部の I/O 規格に対 し 使用で き ます。 OFFSET_CNTRL はハ イ パフ ォーマ ン ス (HP) I/O にのみ割 り 当て る こ と がで き ます。 I/O 規格のサブセ ッ ト の場合、 HP I/O バン ク で、 ±35 mV ま でのプ ロ セ ス変動が原因で発生す る 入力バ ッ フ ァ ーのオ フ セ ッ ト を キ ャ ン セルす る オプシ ョ ンが UltraScale アーキ テ ク チ ャ にはあ り ます。 こ の機能は入力お よ び双方向バ ッ フ ァ ー プ リ ミ テ ィ ブに対 し 使用で き ます。 オ フ セ ッ ト キ ャ リ ブ レーシ ョ ン では、 ユーザーの イ ン タ ー コ ネ ク ト ロ ジ ッ ク デザ イ ンに制御 ロ ジ ッ ク を構築す る こ と が求め ら れます。 詳細は、 『UltraScale Series FPGAs SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) [参照 8]を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 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 は接続 さ れてい る 入力ま たは双方向ポー ト です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 236 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 配置 • 配線 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 237 第 3 章 : 主な プ ロパテ ィ の説明 PACKAGE_PIN PACKAGE_PIN では、デバ イ ス の物理的なパ ッ ケージ ピ ンへの論理デザ イ ンの最上位ポー ト の割 り 当て ま たは配置を 定義ます。 推奨 : デバ イ ス パ ッ ケージの物理的ピ ン に I/O ポー ト を割 り 当て る には、 LOC ではな く PACKAGE_PIN プ ロ パテ ィ を使用 し ます。 タ ーゲ ッ ト ザ イ リ ン ク ス FPGA のデバ イ ス リ ソ ース に ロ ジ ッ ク セルを割 り 当て る には、 LOC プ ロ パ テ ィ を使用 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (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"; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 238 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 219 ページの 「LOC」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 239 第 3 章 : 主な プ ロパテ ィ の説明 PATH_MODE PATH_MODE は、フ ァ イ ルを探す際ま たはパ ス ベース の制約ま たはプ ロ パテ ィ を読み出す際に Vivado Design Suite で パ ス が ど の よ う に処理 さ れ る か を決定す る プ ロ パテ ィ です。 Vivado 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.1) 2015 年 4 月 1 日 japan.xilinx.com 240 第 3 章 : 主な プ ロパテ ィ の説明 XDC 構文 set_property PATH_MODE AbsoluteFirst [get_files *IP/*] 影響のある処理 • プ ロ ジ ェ ク ト 管理お よ びフ ァ イ ルの位置 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 241 第 3 章 : 主な プ ロパテ ィ の説明 PBLOCK PBLOCK は Vivado Design Suite で Pblock に割 り 当て ら れ る セルに設定する 読み出 し 専用のプ ロ パテ ィ です。 Pblock と はセルの集合体で、 1 つま たは複数の長方形のエ リ ア/領域を指 し 、 こ のエ リ アで Pblock に含め ら れ る デバ イ ス リ ソ ース を指定 し ます。 Pblock は、 関連 ロ ジ ッ ク を グループに ま と めて、 タ ーゲ ッ ト デバ イ ス のあ る 領域にそ れを割 り 当て る ため、 フ ロ アプ ラ ン ニ ン グ中に使用 さ れます。デザ イ ンの フ ロ アプ ラ ン ニ ン グでの Pblock の使用につ いては、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 21] を参 照 し て く だ さ い。 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) 値 • <NAME> : セルが割 り 当て ら れ る Pblock の名前です。 こ の Pblock 名は、 create_pblock コ マ ン ド で Pblock を 作成す る と き に定義 し ます。 構文 Verilog および VHDL 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 242 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 135 ページの 「BEL」 154 ページの 「CONTAIN_ROUTING」 219 ページの 「LOC」 174 ページの 「EXCLUDE_PLACEMENT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 243 第 3 章 : 主な プ ロパテ ィ の説明 POST_CRC POST_CRC は、コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク の巡回冗長検査 (CRC) と い う エ ラ ー検出機能のオン/オ フ を設定 し 、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更があれば通知 さ れ る よ う に し ます。 POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か ら 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 244 第 3 章 : 主な プ ロパテ ィ の説明 影響のある処理 • write_bitstream • launch_runs 関連項目 • 246 ページの 「POST_CRC_ACTION」 • 248 ページの 「POST_CRC_FREQ」 • 250 ページの 「POST_CRC_INIT_FLAG」 • 252 ページの 「POST_CRC_SOURCE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 245 第 3 章 : 主な プ ロパテ ィ の説明 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] 説明 : • <VALUE> には POST_CRC_ACTION プ ロ パテ ィ で使用可能な値の 1 つが入 り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 246 第 3 章 : 主な プ ロパテ ィ の説明 XDC の構文例 set_property POST_CRC_ACTION correct_and_continue [current_design] 影響のある処理 • write_bitstream • launch_runs 関連項目 • 244 ページの 「POST_CRC」 • 248 ページの 「POST_CRC_FREQ」 • 250 ページの 「POST_CRC_INIT_FLAG」 • 252 ページの 「POST_CRC_SOURCE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 247 第 3 章 : 主な プ ロパテ ィ の説明 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 構文 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 248 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 • 244 ページの 「POST_CRC」 • 246 ページの 「POST_CRC_ACTION」 • 250 ページの 「POST_CRC_INIT_FLAG」 • 252 ページの 「POST_CRC_SOURCE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 249 第 3 章 : 主な プ ロパテ ィ の説明 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) ° 現在の イ ンプ リ メ ン ト 済みのデザ イ ン 値 • 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 250 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 • 244 ページの 「POST_CRC」 • 246 ページの 「POST_CRC_ACTION」 • 248 ページの 「POST_CRC_FREQ」 • 252 ページの 「POST_CRC_SOURCE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 251 第 3 章 : 主な プ ロパテ ィ の説明 POST_CRC_SOURCE POST_CRC_SOURCE は、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更通知用に コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク CRC のエ ラ ー検出機能が使用 さ れ る と き の、 CRC 値の ソ ース を指定 し ます。 「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。 POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か ら CRC 値を計算 し ます。 POST_CRC_SOURCE プ ロ パテ ィ は、 期待 CRC 値が予め計算 さ れた値か ら く る も のなのか、 ま たは最初の リ ー ド バ ッ ク の コ ン フ ィ ギ ュ レーシ ョ ン デー タ か ら 得 ら れ る も のなのか を定義 し ます。 アーキテ ク チ ャ サポー ト 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 252 第 3 章 : 主な プ ロパテ ィ の説明 関連項目 • 244 ページの 「POST_CRC」 • 246 ページの 「POST_CRC_ACTION」 • 248 ページの 「POST_CRC_FREQ」 • 250 ページの 「POST_CRC_INIT_FLAG」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 253 第 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 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 254 第 3 章 : 主な プ ロパテ ィ の説明 XDC 構文 XDC フ ァ イ ルでは PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。 set_property PRE_EMPHASIS value [get_ports port_name] 説明 : • set_property PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。 関連項目 • 172 ページの 「EQUALIZATION」 • 228 ページの 「LVDS_PRE_EMPHASIS」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 255 第 3 章 : 主な プ ロパテ ィ の説明 PROHIBIT PROHIBIT では、 BEL ま たは SITE を配置に使用で き ない よ う に指定 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • SITE (get_sites) • BEL (get_bels) 値 • TRUE (ま たは 1) : 指定 し た BEL ま たは SITE が配置中に使用 さ れない よ う に し ます。 構文 Verilog および VHDL 構文 該当な し 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 256 第 3 章 : 主な プ ロパテ ィ の説明 PULLDOWN PULLDOWN は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク Low を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し 、 ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク Low に確約 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ます。 バ ッ フ ァ ーに接続 さ れてい る ネ ッ ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、こ の機能を使用で き ます。 • PULLUP • PULLDOWN • KEEPER 注記 : こ の属性が適用 さ れた場合、 RTL シ ミ ュ レーシ ョ ン中に KEEPER 機能が表示 さ れないので、 RTL シ ミ ュ レーシ ョ ン と イ ンプ リ メ ン ト 済みデザ イ ン間の機能的な違いが発生す る 可能性があ り ます。 こ の機能は、 ゲー ト レベルのシ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。 それ以外の場合は、 こ のプ ロ パテ ィ を使用す る 代わ り に、 PULLDOWN UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ン で こ のビヘ イ ビ アーを反 映 さ せます。 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルダ ウ ン回路を使用 し ます。 • FALSE | NO : プルダ ウ ン回路を使用 し ません (デフ ォ ル ト )。 構文 Verilog 構文 Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。 (* PULLDOWN = " {YES|NO|TRUE|FALSE}" *) VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute pulldown: string; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 257 第 3 章 : 主な プ ロパテ ィ の説明 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] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 • 217 ページの 「KEEPER」 • 259 ページの 「PULLUP」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 258 第 3 章 : 主な プ ロパテ ィ の説明 PULLUP PULLUP は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク High を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し ます。 ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク High に確約 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よび双方向バ ッ フ ァ ー (IOBUF な ど) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ます。 バ ッ フ ァ ーに接続 さ れてい る ネ ッ ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、 こ の機能を使用で き ま す。 • PULLUP • PULLDOWN • KEEPER 注記 : こ の属性が適用 さ れた場合、 RTL シ ミ ュ レーシ ョ ン中に KEEPER 機能が表示 さ れないので、 RTL シ ミ ュ レーシ ョ ン と イ ンプ リ メ ン ト 済みデザ イ ン間の機能的な違いが発生す る 可能性があ り ます。 こ の機能は、 ゲー ト レベルのシ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト を使用 し て検証で き ます。 それ以外の場合は、 こ のプ ロ パテ ィ を使用す る 代わ り に、 PULLDOWN UNISIM を イ ン ス タ ン シエー ト し て、 RTL シ ミ ュ レーシ ョ ン で こ のビヘ イ ビ アーを反 映 さ せます。 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES : 駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルア ッ プ回路を使用 し ます。 • FALSE | NO : プルア ッ プ回路を使用 し ません (デフ ォ ル ト )。 構文 Verilog 構文 Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。 (* PULLUP = " {YES|NO|TRUE|FALSE}" *) VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute pullup: string; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 259 第 3 章 : 主な プ ロパテ ィ の説明 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] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 • 217 ページの 「KEEPER」 • 257 ページの 「PULLDOWN」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 260 第 3 章 : 主な プ ロパテ ィ の説明 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.1) 2015 年 4 月 1 日 japan.xilinx.com 261 第 3 章 : 主な プ ロパテ ィ の説明 REF_PIN_NAME こ れはデザ イ ンの ピ ンに設定す る 読み出 し 専用のプ ロ パテ ィ で、 ピ ン を識別す る 論理セル名を指定 し ます。 REF_PIN_NAME は、 ピ ンの NAME ま たは HIERARCHICAL NAME か ら 自動的に定義 さ れ、 HDL や XDC でユーザー が変更す る こ と はで き ません。 参照用に使用 し ます。 こ のプ ロ パテ ィ はデザ イ ン フ ロ ーには影響 し ませんが、特定セルやほかのオブジ ェ ク ト を識別す る ため、 フ ィ ル タ ー お よ び Vivado Tcl コ マ ン ド ク エ リ ーを定義す る のに非常に便利です。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ピ ン (get_pins) 値 該当な し 構文 該当な し 影響のある処理 なし Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 262 第 3 章 : 主な プ ロパテ ィ の説明 RLOC H_SET、 HU_SET、 U_SET な ど のセ ッ ト に割 り 当て ら れてい る ロ ジ ッ ク エ レ メ ン ト の相対的な配置を RLOC 制約は 定義 し ます。 RLOC が RTL ソ ース フ ァ イ ルにあ る 場合、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後のネ ッ ト リ ス ト でセル の読み出 し 専用に RPM プ ロ パテ ィ に変換 さ れ ます。 RLOC プ ロ パテ ィ は保持 さ れ ますが、 合成後には読み出 し 専用 プ ロ パテ ィ にな り ます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 ヒ ン ト : 階層 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.1) 2015 年 4 月 1 日 japan.xilinx.com 263 第 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.1) 2015 年 4 月 1 日 japan.xilinx.com 264 第 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 関連項目 • 181 ページの 「H_SET お よ び HU_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 265 第 3 章 : 主な プ ロパテ ィ の説明 • 263 ページの 「RLOC」 • 267 ページの 「RLOCS」 • 269 ページの 「RLOC_ORIGIN」 • 274 ページの 「RPM」 • 275 ページの 「RPM_GRID」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 266 第 3 章 : 主な プ ロパテ ィ の説明 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... : マ ク ロ のセルの名前 と 、 その相対 ロ ケーシ ョ ンはペアに し ます。 構文 Verilog および VHDL 構文 該当な し XDC 構文 XDC マ ク ロ が作成 さ れ、 セルお よ び相対 ロ ケーシ ョ ンが自動入力 さ れ る と き 、 RLOCS プ ロ パテ ィ が間接的に定義 さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 267 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 181 ページの 「H_SET お よ び HU_SET」 • 263 ページの 「RLOC」 • 269 ページの 「RLOC_ORIGIN」 • 274 ページの 「RPM」 • 275 ページの 「RPM_GRID」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 268 第 3 章 : 主な プ ロパテ ィ の説明 RLOC_ORIGIN RTL デザ イ ンで相対配置マ ク ロ (RPM) の絶対 ロ ケーシ ョ ン、 ま たは LOC を決め る のが RLOC_ORIGIN プ ロ パテ ィ で す。 RPM の定義お よ び RLOC_ORIGIN プ ロ パテ ィ の使用については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の 使用』 (UG903) [参照 18] を参照 し て く だ さ い。 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)); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 269 第 3 章 : 主な プ ロパテ ィ の説明 Verilog 例 次の最上位 Verilog モジ ュ ールは、 デザ イ ンの ffs モジ ュ ールの RLOC_ORIGIN プ ロ パテ ィ を定義 し てい ます。 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 次の例は最初の例 と 非常に類似 し てい ますが、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 値を定義 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 270 第 3 章 : 主な プ ロパテ ィ の説明 XDC 構文 RLOC_ORIGIN プ ロ パテ ィ は合成 さ れたデザ イ ンで LOC プ ロ パテ ィ に変換 さ れます。タ ーゲ ッ ト デバ イ ス に RPM の エ レ メ ン ト の 1 つを配置す る こ と で、 RPM の LOC プ ロ パテ ィ は指定で き ます。 RPM のほかにエ レ メ ン ト は、 こ の ロ ケーシ ョ ンに相対的に配置 さ れ、 LOC プ ロ パテ ィ に割 り 当て ら れます。 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ • place_design • synth_design 関連項目 • 181 ページの 「H_SET お よ び HU_SET」 • 263 ページの 「RLOC」 • 267 ページの 「RLOCS」 • 274 ページの 「RPM」 • 275 ページの 「RPM_GRID」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 271 第 3 章 : 主な プ ロパテ ィ の説明 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 : タ ーゲ ッ ト デバ イ ス の同 じ サ イ ト 内で配線全体が完了 し ていて、接続を完了 さ せ る のに配線 リ ソ ー ス は不要です。 こ れはエ ラ ーではあ り ません。 • NOLOADS : 配線に論理 ロ ー ド がないか、 配線可能な ロ ー ド ピ ンがないので、 配線は不要です。 こ れはエ ラ ーで はあ り ません。 • NODRIVER : 配線に論理 ド ラ イ バーがないか、 配線可能な ド ラ イ バーがないので、 配線は不要です。 こ れはデザ イ ン エ ラ ーです。 • HIERPORT : 配線可能な ロ ー ド ま たは ド ラ イ バーのない最上位階層ポー ト に配線が接続 さ れてい ます。 こ れはエ ラ ーではあ り ません。 • ANTENNAS : 配線に最低 1 つのア ン テナが含まれ る か (ア ン テナ と はサ イ ト ピ ンに接続する 枝葉を指すが、 その サ イ ト ピ ンが こ の論理ネ ッ ト に接続 さ れてい る こ と を表 し ていない)、 配線に少な く と も 1 つの島が含ま れます (島 と は論理ネ ッ ト に関連付け ら れてい る サ イ ト ピ ンのいずれに も 接続 さ れていない配線の一部を指す)。 こ れは 配線エ ラ ーです。 • CONFLICTS : 配線プ ロ グ ラ ムに次の配線エ ラ ーが 1 つ以上見 ら れます。 • ° 配線の競合 : こ の配線の ノ ー ド が 1 つ以上、 ほかの配線、 ま たは同 じ 配線の別の分岐で も 使用 さ れてい ます。 ° サ イ ト ピ ンの競合 : サ イ ト 内のサ イ ト ピ ンに接続 さ れてい る 論理ピ ン と 、サ イ ト 外に配線を介 し て接続 さ れ てい る 論理ネ ッ ト が異な り ます。 ° 無効サ イ ト の競合 : サ イ ト のプ ロ グ ラ ミ ン グが無効な状態であ る サ イ ト のサ イ ト のサ イ ト ピ ンに配線が接 続 さ れていて、 サ イ ト 内の配線が正 し く 接続 さ れてい る か判断で き ない状態です。 ERROR : 配線ス テー タ ス を判断す る にあ た っ て内部エ ラ ーが発生 し た状態です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 272 第 3 章 : 主な プ ロパテ ィ の説明 • NONET : 配線ス テー タ ス用に指定 さ れてい る ネ ッ ト オブジ ェ ク ト が存在 し ないか、 ま たは入力 し た よ う には検 出 さ れません。 • NOROUTE : エ ラ ーのため、 指定のネ ッ ト に対 し 配線オブジ ェ ク ト を検出で き ません。 • NOROUTESTORAGE : エ ラ ーのため、 こ のデバ イ ス に対 し ては配線ス ト レージ オブジ ェ ク ト は使用で き ません。 • UNKNOWN : エ ラ ーのため、 配線ス テー ト は計算で き ません。 構文 ROUTE_STATUS プ ロ パテ ィ の値は、 先に説明 し た値の 1 つにな り ます。 ま た、 Vivado 配線に よ り 割 り 当て ら れ る 読 み出 し 専用プ ロ パテ ィ で、 直接変更はで き ません。 影響のある処理 • デザ イ ンの配線 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 273 第 3 章 : 主な プ ロパテ ィ の説明 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) [参照 18] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • 合成 さ れたデザ イ ンのセル (get_cells) 値 • NAME : RTL ソ ース フ ァ イ ルに H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ と と も に RLOC があ る 場合のセ ッ ト 定義か ら く る RPM の名前です。 構文 RPM を定義す る ための H_SET、 HU_SET、 ま たは U_SET と RLOC が あ る RTL デザ イ ン を合成す る と RPM プ ロ パ テ ィ は派生 し 、 読み出 し 専用です。 RPM プ ロ パテ ィ を直接定義 し た り 変更す る こ と はで き ません。 関連項目 • 181 ページの 「H_SET お よ び HU_SET」 • 263 ページの 「RLOC」 • 267 ページの 「RLOCS」 • 269 ページの 「RLOC_ORIGIN」 • 275 ページの 「RPM_GRID」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 274 第 3 章 : 主な プ ロパテ ィ の説明 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) [参照 18] を 参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) 値 • ”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 つに追加 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 275 第 3 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 181 ページの 「H_SET お よ び HU_SET」 • 263 ページの 「RLOC」 • 267 ページの 「RLOCS」 • 269 ページの 「RLOC_ORIGIN」 • 274 ページの 「RPM」 • 279 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 276 第 3 章 : 主な プ ロパテ ィ の説明 SLEW SLEW は、 プ ロ グ ラ ム可能な出力 ス ルー レ ー ト を サポー ト す る I/O 規格で コ ン フ ィ ギ ュ レ ーシ ョ ン さ れた出力バ ッ フ ァ ーに対 し 、 出力バ ッ フ ァ ーの スルー レー ト を指定 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° • 接続 さ れた出力ポー ト ま たは双方向ポー ト セル (get_cells) ° 出力バ ッ フ ァ ー (すべての OBUF) 値 • 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; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 277 第 3 章 : 主な プ ロパテ ィ の説明 説明 : • 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] 影響のある処理 • I/O プ ラ ン ニ ン グ • ノ イ ズ レ ポー ト • 消費電力レ ポー ト 関連項目 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 24] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF • IOBUF_DCIEN • IOBUF_INTERMDISABLE Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 278 第 3 章 : 主な プ ロパテ ィ の説明 U_SET RLOC 制約を使用 し て、 デザ イ ン階層を ま たいで分散 し てい る デザ イ ン エ レ メ ン ト を 1 つのセ ッ ト に ま と め ます。 U_SET は HDL デザ イ ン ソ ー ス フ ァ イ ル内の属性で、 合成 さ れたデザ イ ンや イ ン プ リ メ ン ト さ れたデザ イ ンには現 われません。 U_SET は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定義す る と き に使用 さ れます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 18] を参照 し て く だ さ い。 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) [参照 24] ま た は 『UltraScale ア ー キ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 25] を参照 し て く だ さ い。 • レジス タ • マク ロ インスタンス • RAMS* • RAMD* • RAMB* • DSP48* 値 • NAME : U_SET の名前 構文 Verilog 構文 こ れは、 合成後ネ ッ ト リ ス ト で RPM を定義す る 階層ブ ロ ッ ク のセ ッ ト の内容を定義す る ため、 RLOC プ ロ パテ ィ と 組み合わせた Verilog 構文です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 279 第 3 章 : 主な プ ロパテ ィ の説明 (* 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); (* (* (* (* (* (* (* (* (* 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", 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)); 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 ); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 280 第 3 章 : 主な プ ロパテ ィ の説明 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] を参照 し て く だ さ い。 影響のある処理 • デザ イ ンの フ ロ アプ ラ ン • place_design • synth_design 関連項目 • 214 ページの 「KEEP_HIERARCHY」 • 181 ページの 「H_SET お よ び HU_SET」 • 263 ページの 「RLOC」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 281 第 3 章 : 主な プ ロパテ ィ の説明 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. モジ ュ ールお よ びエン テ ィ テ ィ 値 • LOGIC : DSP48 ブ ロ ッ ク を使用 し て大型/幅広の フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト し ます。 • YES : DSP48 ブ ロ ッ ク を使用 し て数学フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト し ます。 • NO : Vivado 合成のデフ ォ ル ト ビヘ イ ビ アーは変更 さ れません。 構文 Verilog 構文 (* use_dsp48 = "yes" *) module test(clk, in1, in2, out1); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 282 第 3 章 : 主な プ ロパテ ィ の説明 VHDL 構文 attribute use_dsp48 : string; attribute use_dsp48 of P_reg : signal is "no" XDC 構文 set_property use_dsp48 yes [get_cells -hier ….] 影響のある処理 • 合成 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 283 第 3 章 : 主な プ ロパテ ィ の説明 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 で使用す る よ う に細か く 設定する こ と も で き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • フ ァ イル 値 • 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 284 第 3 章 : 主な プ ロパテ ィ の説明 構文 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.1) 2015 年 4 月 1 日 japan.xilinx.com 285 第 3 章 : 主な プ ロパテ ィ の説明 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 デバ イ ス (High Performance (HP) バン ク の I/O のみ) 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) 値 • 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 属性は次の よ う に指定 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 286 第 3 章 : 主な プ ロパテ ィ の説明 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] 影響のある処理 • I/O プ ラ ン ニ ン グ • place_design • 消費電力レ ポー ト Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 287 付録 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 ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』 (UG895) 15. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) 16. 『Vivado Design Suite ユーザー ガ イ ド : I/O お よ び ク ロ ッ ク プ ラ ン ニ ン グ』 (UG899) 17. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) 18. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 19. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 288 20. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) 21. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) 22. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 23. 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) 24. 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) 25. 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) 26. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG995) 27. 『LogiCORE IP JTAG to AXI Master 製品ガ イ ド 』 (PG174) 28. 『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers』 (PG132) 29. Vivado Design Suite の資料 ト レーニ ン グ リ ソ ース ザ イ リ ン ク ス では、 本書に含ま れ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ー スお よ びオ ン ラ イ ン ビデオ を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。 1. Vivado Design Suite ビデオ チ ュ ー ト リ アル 2. Vivado Design Suite ビデオ チ ュ ー ト リ アル :デザ イ ン制約の概要 3. Vivado での FPGA 設計導入 ト レーニ ン グ コ ース 4. Vivado Design Suite での FPGA 設計実践 5. UltraScale アーキ テ ク チ ャ を含むデザ イ ン Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 289 付録 A : その他の リ ソ ース 法的通知 The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos. © Copyright 2012-2015 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, UltraScale, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ーム か ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2015.1) 2015 年 4 月 1 日 japan.xilinx.com 290