Vivado Design Suite プ ロパテ ィ リ フ ァ レ ン ス ガイ ド UG912 (v2014.2) 2014 年 8 月 5 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先しま す。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用 の上、最新情報につきましては、必ず最新英語版をご参照ください。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2014 年 8 月 5 日 2014.2 44 ページの 「ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト 」 お よ び82 ページの 「hw_sysmon」 を追加 2014 年 6 月 4 日 2014.2 136 ページの 「IP_REPO_PATHS」 お よ び146 ページの 「KEEP_COMPATIBLE」 を追加 current_design を使用す る ために 「POST_CRC_ACTION」 の XDC 構文を変更 get_ports を使用す る ために 「PULLUP」 お よ び 「PULLDOWN」 の XDC 構文 と 例を変更 2014 年 5 月 9 日 2014.1 第 1 章 「Vivado の第一級オブジ ェ ク ト 」 に26 ページの 「ブ ロ ッ ク デザ イ ン オブジ ェ ク ト 」 お よ び44 ページの 「ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト 」 を追加 第 2 章 「主 な プ ロ パ テ ィ の 説 明」 に 「BLACK_BOX」 、 「CLOCK_BUFFER_TYPE」 、 「C O N TA I N _ R O U T I N G 」 、 「E X C L U D E _ P L A C E M E N T 」 、 「I O _ B U F F E R _ T Y P E 」 、 「MAX_FANOUT」、 「PATH_MODE」 お よ び 「USE_DSP48」 プ ロ パテ ィ を追加 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 2 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 第一級オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 本書か ら 例を コ ピーす る 場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 BEL (基本エ レ メ ン ト ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 セル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ネ ッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ピ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 サ イ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ブ ロ ッ ク デザ イ ン オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 BD_ADDR_SEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 BD_ADDR_SPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 BD_CELL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 BD_INTF_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 BD_INTF_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 BD_INTF_PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 BD_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 BD_PIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 BD_PORT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ハー ド ウ ェ ア マネージ ャ ー オブジ ェ ク ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HW_VIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 44 45 47 48 50 53 55 56 57 58 68 69 71 73 79 82 85 87 3 第 2 章 : 主な プ ロパテ ィ の説明 プ ロ パテ ィ 情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 ASYNC_REG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 BEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 BLACK_BOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 CFGBVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 CLOCK_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 CLOCK_DEDICATED_ROUTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 CLOCK_ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 CONFIG_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 CONFIG_VOLTAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 CONTAIN_ROUTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 DCI_CASCADE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 DIFF_TERM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 DIFF_TERM_ADV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 DONT_TOUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 DRIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 EQUALIZATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 EXCLUDE_PLACEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 FSM_ENCODING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 FSM_SAFE_STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 H_SET お よ び HU_SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HIODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HLUTNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBUF_LOW_PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IN_TERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INTERNAL_VREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP_REPO_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IO_BUFFER_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IOBDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IODELAY_GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IOSTANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 122 126 128 131 133 135 136 137 139 140 142 144 146 148 150 152 154 157 160 161 162 164 165 167 168 170 172 173 4 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 176 177 178 179 180 182 183 184 185 188 190 192 194 195 197 200 203 204 206 付録 A : その他の リ ソ ース ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 208 208 208 209 5 第 1章 Vivado の第一級オブ ジ ェ ク ト 概要 本書では、 第一級オブジ ェ ク ト 、 ザ イ リ ン ク ス Vivado® Design Suite で使用可能なオブジ ェ ク ト のプ ロ パテ ィ につい て説明 し ます。 含ま れ る 内容は次の と お り です。 • 第 1 章「Vivado の第一級オブジ ェ ク ト 」 : FPGA デザ イ ン デー タ ベース をモデル化す る ため Vivado Design Suite で 使用 さ れ る さ ま ざ ま なデザ イ ンお よ びデバ イ ス のオブジ ェ ク ト について説明 し ます。 オブジ ェ ク ト の定義、 関連 オブジ ェ ク ト の リ ス ト 、 オブジ ェ ク ト に関連付け ら れてい る プ ロ パテ ィ の リ ス ト が こ れに含まれます。 • 第 2 章 「主なプ ロ パテ ィ の説明」 : Vivado Design Suite プ ロ パテ ィ に対 し 、 プ ロ パテ ィ の説明、 サポー ト さ れてい る アーキ テ ク チ ャ 、 適用可能エ レ メ ン ト 、 値、 構文例 (Verilog、 VHDL、 XDC)、 影響の あ る デザ イ ン フ ロ ー ス テ ッ プ、 と いっ た項目に分けて説明があ り ます。 • 付録 A 「その他の リ ソ ース」 : http://japan.xilinx.com/support のザ イ リ ン ク ス サポー ト ウ ェ ブサ イ ト か ら 入手可能 な リ ソ ースお よ び資料が リ ス ト さ れてい ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 6 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 第一級オブ ジ ェ ク ト Vivado Design Suite では、イ ン メ モ リ デザ イ ン デー タ ベース で数多 く の第一級オブジ ェ ク ト がサポー ト さ れてい ます。 こ れ ら のオブジ ェ ク ト は、 デザ イ ン ま たは論理ネ ッ ト リ ス ト 、 お よ び タ ーゲ ッ ト のザ イ リ ン ク ス FPGA ま たはデバ イ ス を表 し ます。 ネ ッ ト リ ス ト オブジ ェ ク ト と デバ イ ス オブジ ェ ク ト と の関係は、 デザ イ ン をデバ イ ス にマ ッ プす る のに使用 さ れます。 図 1-1 は一部の Vivado 第一級オブジ ェ ク ト の関連性を示 し た も のです。 X-Ref Target - Figure 1-1 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 6WDQGDUG 図 1‐1 : Vivado の第一級オブ ジ ェ ク ト 図 1-1 に表示 さ れてい る オブジ ェ ク ト は、 ネ ッ ト リ ス ト オブジ ェ ク ト ま たはデバ イ ス オブジ ェ ク ト と し て定義 さ れ てい ます。 上の図で ピ ン ク 色で表示 さ れてい る ネ ッ ト リ ス ト オブジ ェ ク ト は、 FPGA にプ ロ グ ラ ムす る ロ ジ ッ ク デ ザ イ ン の一部で、 ロ ジ ッ ク セル、 ピ ン、 ポー ト 、 ネ ッ ト が含ま れ ます。 青色で表示 さ れてい る デバ イ ス オブジ ェ ク ト は、 実際の物理的な FPGA デバ イ ス の一部で、 ク ロ ッ ク 領域、 タ イ ル、 サ イ ト 、 BEL (基本エ レ メ ン ト ) な ど の リ ソ ース が含まれます。 ま た、 図 1-1 のデバ イ ス オブジ ェ ク ト には、 緑色で表示 さ れ る パ ッ ケージ ピ ンお よ び I/O バン ク 、 紫色で表示 さ れてい る ノ ー ド 、 ワ イ ヤ、 PIP な ど の配線 リ ソ ース も 含まれてい ます。 オブジ ェ ク ト 間の関連性は、 オブジ ェ ク ト 同士を結ぶ矢印で示 さ れてい ます。 矢印が両方のオブジ ェ ク ト を指 し てい る 場合は、 ク エ リ ーを ど ち ら の方向か ら も 指定で き る 関係であ る こ と を示 し てい ます。 た と えば、 特定ネ ッ ト に接続 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 7 第 1 章 : Vivado の第一級オブ ジ ェ ク ト さ れて い る セル (get_cells -of_objects [get_nets]) を ク エ リ ー処理 し た り 、 特定セルに接続 さ れて い る ネ ッ ト (get_nets -of_objects [get_cells]) を ク エ リ ー処理す る こ と がで き ます。 矢印が一方のみを指 し てい る 場合は、 その矢印の方向にのみ ク エ リ ーを指定で き る 関係であ る こ と を示 し てい ます。 た と えば、 7 ページの図 1-1 の例を使用 し て説明す る と 、 特定 ク ロ ッ ク 領域にあ る 基本エ レ メ ン ト は取得で き ますが (get_bels -of_objects [get_clock_regions])、 特定の基本エ レ メ ン ト に関連付け ら れた ク ロ ッ ク 領域を取得す る こ と はで き ま せん。 ま た、 特定基本エ レ メ ン ト を タ イ ルに関連付け る こ と はで き ま すが (get_tiles -of_objects [get_bels])、 タ イ ル を基本エ レ メ ン ト に関連付け る こ と はで き ません。 こ の図は説明用の も のであ り 、 Vivado 第一級オブジ ェ ク ト すべて を網羅 し た も のではな く 、 ま たその関連性をすべて 説明 し てい る わけではあ り ません。 第一級オブジ ェ ク ト の説明、 ほかのオブジ ェ ク ト と の関係、 オブジ ェ ク ト で定義 さ れてい る プ ロ パテ ィ については、 こ の章の後で説明 し ます。 Vivado Design Suite には、 タ イ ミ ン グ オブジ ェ ク ト な ど、 オブジ ェ ク ト に関す る カ テ ゴ リ がほかに も あ り ます。 タ イ ミ ン グ オブジ ェ ク ト は暫定的な タ イ ミ ン グ レ ポー ト を作成す る ためネ ッ ト リ ス ト デザ イ ンに ま と め ら れてい ます。 ネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト に関連付け ら れてい る タ イ ミ ン グ オブジ ェ ク ト を利用す る こ と で、 イ ン プ リ メ ン ト さ れたデザ イ ン の タ イ ミ ン グ解析を完全に行 う こ と がで き ま す。 タ イ ミ ン グ オブジ ェ ク ト には、 ク ロ ッ ク 、 タ イ ミ ン グ パ ス、 遅延オブジ ェ ク ト があ り ます。 本書から例を コ ピーする場合 注意 : 本書か ら コ ー ド に構文ま たは コ ー ド 例を コ ピーする 前に、 こ のセ ク シ ョ ン を注意 し てお読み く だ さ い。 本書には、 構文お よ び コ ー ド 例が多 く 含 ま れ、 コ ー ド にプ ロ パテ ィ を挿入で き る よ う にな っ てい ま す。 こ れ ら の コ ピーを PDF か ら 直接 コ ー ド に コ ピーす る 場合、 次の よ う な問題があ り ます。 • PDF か ら Vivado Tcl コ ン ソ ール、 Tcl ス ク リ プ ト 、 XDC フ ァ イ ルへ コ ー ド 例を コ ピー し て貼 り 付け る 場合、 ダ ッ シ ュ (-) がエ ヌ ダ ッ シ ュ ま たはエム ダ ッ シ ュ に置き 換え ら れ る 可能性があ り ます。 • PDF 資料の改行マー ク が例に挿入 さ れて し ま い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。 • 次のページに ま たが る よ う な例を コ ピーす る と 、PDF のヘ ッ ダーお よ びフ ッ タ ー情報 も 一緒に コ ピー さ れて し ま い、 Tcl ス ク リ プ ト や XDC フ ァ イ ルでエ ラ ーを引 き 起 こ し ます。 こ れ ら の問題を回避す る には、 ASCII テ キ ス ト エデ ィ タ ーで コ ー ド 例にあ る 不必要なマーカーや情報を削除 し てか ら 、 コ ー ド 、 Vivado Design Suite の Tcl シ ェ ル、 ま たは Tcl コ ン ソ ールに貼 り 付け る よ う に し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 8 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BEL (基本エ レ メ ン ト ) 説明 BEL ま たは基本エ レ メ ン ト は、 デザ イ ンのネ ッ ト リ ス ト ビ ュ ーの リ ーフ セルに該当する も ので、 タ ーゲ ッ ト ザ イ リ ン ク ス FPGA のデバ イ ス オブジ ェ ク ト で、 フ リ ッ プ フ ロ ッ プ、 LUT、 キ ャ リ ー ロ ジ ッ ク な ど の基本ネ ッ ト リ ス ト オ ブジ ェ ク ト をデバ イ ス に配置ま たはマ ッ プす る ための も のです。 BEL はデバ イ ス上で ス ラ イ スや I/O ブ ロ ッ ク (IOB) な ど の 「サ イ ト 」 オブジ ェ ク ト に ま と め ら れてい ます。 1 つのサ イ ト には BEL が 1 つま たは複数存在 し ます。 こ の BEL を使用 し て、デザ イ ン ネ ッ ト リ ス ト を タ ーゲ ッ ト デバ イ ス の 特定の ロ ケーシ ョ ンやデバ イ ス リ ソ ース に ロ ジ ッ ク を割 り 当て ます。 ザ イ リ ン ク ス FPGA ご と に さ ま ざ ま な異な る BEL タ イ プがあ り ます。 次は、 Kintex-7 パーツ、 XC7K325TFFG900 の BEL の タ イ プです。 BEL には、 次の よ う に さ ま ざ ま な タ イ プがあ り ます。 BSCAN_BSCAN BUFFER BUFGCTRL_BUFGCTRL BUFHCE_BUFHCE BUFIO_BUFIO BUFMRCE_BUFMRCE BUFR_BUFR CAPTURE_CAPTURE CARRY4 DCIRESET_DCIRESET DNA_PORT_DNA_PORT DSP48E1_DSP48E1 EFUSE_USR_EFUSE_USR FF_INIT FIFO18E1_FIFO18E1 FRAME_ECC_FRAME_ECC GTXE2_CHANNEL_GTXE2_CHANNEL GTXE2_COMMON_GTXE2_COMMON HARD0 HARD1 IBUFDS_GTE2_IBUFDS_GTE2 ICAP_ICAP 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 MMCME2_ADV_MMCME2_ADV 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 PHASER_IN_PHY_PHASER_IN_PHY PHASER_OUT_PHY_PHASER_OUT_PHY PHASER_REF_PHASER_REF PHY_CONTROL_PHY_CONTROL PLLE2_ADV_PLLE2_ADV PMV2_PMV2 PULL_OR_KEEP1 RAMB18E1_RAMB18E1 RAMBFIFO36E1_RAMBFIFO36E1 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 9 第 1 章 : Vivado の第一級オブ ジ ェ ク ト REG_INIT SELMUX2_1 SLICEL_CARRY4_AMUX SLICEL_CARRY4_AXOR SLICEL_CARRY4_BMUX SLICEL_CARRY4_BXOR SLICEL_CARRY4_CMUX SLICEL_CARRY4_CXOR SLICEL_CARRY4_DMUX SLICEL_CARRY4_DXOR SLICEM_CARRY4_AMUX SLICEM_CARRY4_AXOR SLICEM_CARRY4_BMUX SLICEM_CARRY4_BXOR SLICEM_CARRY4_CMUX SLICEM_CARRY4_CXOR SLICEM_CARRY4_DMUX SLICEM_CARRY4_DXOR STARTUP_STARTUP USR_ACCESS_USR_ACCESS XADC_XADC 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-2 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 6WDQGDUG 図 1‐2 : BEL オブ ジ ェ ク ト 図 1-2 にあ る よ う に、ネ ッ ト リ ス ト デザ イ ンの リ ーフ セルは タ ーゲ ッ ト パーツの BEL にマ ッ プす る こ と がで き ます。 BEL は タ ーゲ ッ ト ザ イ リ ン ク ス FPGA のサ イ ト に ま と め ら れ、 BEL と サ イ ト の両方が ク ロ ッ ク 領域 と タ イ ルに ま と め ら れ ます。 各 BEL にはセルの ピ ン にマ ッ プす る BEL ピ ンがあ り 、 ま た BEL がネ ッ ト リ ス ト オブジ ェ ク ト であ る ネ ッ ト への接続点にな り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 10 第 1 章 : Vivado の第一級オブ ジ ェ ク ト サ イ ト 、 セル、 ク ロ ッ ク 領域、 ネ ッ ト オブジ ェ ク ト の BEL は取得で き ます。 次は、 その例です。 get_bels -of [get_clock_regions X1Y3] セル、 サ イ ト 、 タ イ ル、 BEL オブジ ェ ク ト のBEL ピ ン も 次の よ う に取得で き ます。 get_cells -of [get_bels SLICE_X104Y100/B6LUT] プ ロパテ ィ BEL オブジ ェ ク ト に割 り 当て ら れ る プ ロ パテ ィ は タ イ プに よ っ て異な り ます。 次は、 BEL の BUFIO タ イ プに割 り 当 て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。 BUFIO_X0Y25/BUFIO のプ ロ パテ ィ Property Type CLASS string CONFIG.DELAY_BYPASS.VALUES string IS_RESERVED bool IS_TEST bool IS_USED bool NAME string NUM_BIDIR int NUM_CONFIGS int NUM_INPUTS int NUM_OUTPUTS int NUM_PINS int PROHIBIT bool TYPE string Read-only true true true true true true true true true true true false true Visible Value true bel true FALSE, TRUE true 0 true 0 true 0 true BUFIO_X0Y25/BUFIO true 0 true 1 true 1 true 1 true 2 true 0 true 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)[参照 9] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 11 第 1 章 : Vivado の第一級オブ ジ ェ ク ト セル 説明 セルは、 ネ ッ ト リ ス ト ロ ジ ッ ク オブジ ェ ク ト の イ ン ス タ ン ス で、 リ ーフ セルであ っ た り 、 階層セルであ っ た り し ま す。 リ ーフ セルはプ リ ミ テ ィ ブ ま たはプ リ ミ テ ィ ブ マ ク ロ で、 ネ ッ ト リ ス ト には ロ ジ ッ ク の詳細はあ り ません。 階 層セルはモジ ュ ールま たはブ ロ ッ ク で、 1 つ以上の レベルの ロ ジ ッ ク を含み、 最終的には リ ーフ セル も 含みます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-3 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS 図 1‐3 : セル オブ ジ ェ ク ト 図 1-3 にあ る よ う に、 セルには外部ネ ッ ト リ ス ト を定義す る ためネ ッ ト に接続 さ れてい る ピ ンがあ り ます。 階層セル にはピ ンに関連付け ら れてい る ポー ト も 含まれ、 階層の内部ネ ッ ト リ ス ト を定義す る ためネ ッ ト に内部接続 さ れてい ます。 リ ーフ セルは タ ーゲ ッ ト のザ イ リ ン ク ス FPGA のデバ イ ス リ ソ ース に配置ま たはマ ッ プ さ れます。 フ リ ッ プ フ ロ ッ プ、 LUT、 MUX な ど の基本 ロ ジ ッ ク の場合、 セルは BEL オブジ ェ ク ト に配置 さ れ、 BRAM や DSP な ど の大型 ロ ジ ッ ク セルの場合、 セルはサ イ ト オブジ ェ ク ト に配置 さ れます。 BEL は さ ら に大 き なサ イ ト であ る ス ラ イ ス に も ま と め ら れ る ので、 セルは BEL お よ びサ イ ト オブジ ェ ク ト に関連付け る こ と がで き る のです。 サ イ ト は ク ロ ッ ク 領域お よ び タ イ ルに ま と め ら れます。 ま た、 セルはデザ イ ンの タ イ ミ ン グ パ ス に関連付け ら れ る ので、 DRC 違反に も 関連付け る こ と がで き 、 デザ イ ンに 関す る 問題をすばや く 見つけ出 し 解決す る のに役立ち ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 12 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ リ ーフ セル オブジ ェ ク ト には、PRIMITIVE_GROUP、PRIMITIVE_SUBGROUP、PRIMITIVE_TYPE と い う プ ロ パテ ィ で定義 さ れてい る タ イ プがあ り ます。 た と えば、 ザ イ リ ン ク ス UltraScale™ アーキ テ ク チ ャ デバ イ ス の場合のセルの さ ま ざ ま な グループ、 下位グループ を次に リ ス ト し ます。 表 1‐1 : UltraScale デバイ スの PRIMITIVE_GROUP および PRIMITIVE_SUBGROUP PRIMITIVE_GROUP PRIMITIVE_SUBGROUP ADVANCED MAC GT INTERLAKEN PCIE SYSMON PROCESSOR ARITHMETIC DSP BLOCKRAM FIFO BRAM CLB CARRY LUT MUXF SRL LUTRAM CLOCK BUFFER MUX PLL CONFIGURATION BSCAN DNA EFUSE ECC ICAP MASTER_JTAG STARTUP I/O IMPEDANCE INPUT_BUFFER WEAK_DRIVER OUTPUT_BUFFER BIDIR_BUFFER Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 13 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DELAY SERDES DCI_RESET BITSLICE REGISTER SDR DDR METASTABILITY LATCH すべてのセルに共通のプ ロ パテ ィ セ ッ ト があ る ほか、 セルの各グループ、 サブグループお よ び タ イ プご と に も 独自の プ ロ パテ ィ があ る 場合 も あ り ます。 PRIMITIVE_GROUP、 PRIMITIVE_SUBGROUP ま たは PRIMITIVE_TYPE プ ロ パ テ ィ の値で フ ィ ル タ ーす る と 、 特定 タ イ プのセル オブジ ェ ク ト のプ ロ パテ ィ を確認で き ます。 次の Tcl コ ー ド では、 デザ イ ン中の階層が検索 さ れ、 デザ イ ン のすべてのセルの PRIMITIVE_TYPE プ ロ パテ ィ の独 自の発生が戻 さ れます。 foreach x [get_cells -hierarchical *] { lappend primTypes [get_property PRIMITIVE_TYPE $x] } join [lsort -unique $primTypes] \n 次 の コ マ ン ド を 使 用 す る と 、 戻 さ れ た PRIMITIVE_TYPE プ ロ パ テ ィ PRIMITIVE_TYPE のすべてのプ ロ パテ ィ を レ ポー ト で き ます。 ($primTypes) の リ ス ト か ら 特定 の 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)[参照 9] を参照 し て く だ さ い。 次の Tcl コ マ ン ド を使用す る と 、 階層セルま たは非 リ ーフ セルか ら プ ロ パテ ィ を戻す こ と も で き ます。 report_property -all [lindex [get_cells -hier -filter {!IS_PRIMITIVE}] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 14 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ネッ ト X-Ref Target - Figure 1-4 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 6WDQGDUG 図 1‐4 : ネ ッ ト オブ ジ ェ ク ト 説明 ネ ッ ト と い う のは、 イ ン タ ー コ ネ ク ト さ れた ピ ン、 ポー ト お よ びワ イ ヤのセ ッ ト を指 し ます。 ど の ワ イ ヤに も ネ ッ ト 名があ り 、その名前で ワ イ ヤ を区別 し ます。2 本以上の ワ イ ヤに同 じ ネ ッ ト 名が付いてい る こ と があ り ます。同 じ ネ ッ ト 名が付いてい る ワ イ ヤは、 1 つのネ ッ ト に含まれてい る こ と を示 し 、 こ う し た ワ イ ヤに接続 さ れてい る ピ ン ま たは ポー ト はすべて電気的に接続 さ れてい ます。 RTL ソ ース フ ァ イ ルを 1 つのネ ッ ト リ ス ト デザ イ ンにエ ラ ボ レーシ ョ ン ま たは コ ンパ イ ル し てい る と き 、 ネ ッ ト リ ス ト デザ イ ンにネ ッ ト オブジ ェ ク ト が追加 さ れ る たびにデフ ォ ル ト ネ ッ ト 名がそのオブジ ェ ク ト に割 り 当て ら れま す。 手動でネ ッ ト に名前を付け る こ と も で き ます。 ネ ッ ト は 1 つの信号か ら 成 る ス カ ラ ー ネ ッ ト であ っ た り 、 複数の信号か ら 成 る ス カ ラ ー ネ ッ ト のグループであ る バ ス ネ ッ ト であ る 場合があ り ます。 バ ス を使用す る と 関連信号を便利に ま と め る こ と がで き 、 回路図を簡潔で理解 し や Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 15 第 1 章 : Vivado の第一級オブ ジ ェ ク ト すい も のにす る こ と がで き ます。 ま た、 主 と な る 回路 と ブ ロ ッ ク シ ン ボル と の接続 も 明確にな り ます。 バ ス は特に次 の場合において便利です。 • 回路図のあ る サ イ ド か ら 、 も う 一方へ と 多数の信号を配線する 場合 • 1 つのブ ロ ッ ク シ ン ボルに複数の信号を接続する 場合 • 1 つの I/O マーカーに接続す る こ と で、 階層レベルを ま た ぐ 複数の信号を接続する 場合 関連オブ ジ ェ ク ト デザ イ ン ネ ッ ト リ ス ト で、 ネ ッ ト を セルの ピ ン ま たはポー ト に接続で き ます。 デザ イ ンが タ ーゲ ッ ト のザ イ リ ン ク ス FPGA にマ ッ プ さ れ る と 、 ネ ッ ト は、 デバ イ ス の ワ イ ヤ、 ノ ー ド 、 PIP な ど の配線 リ ソ ース にマ ッ プ さ れ、 BEL ピ ン を介 し て BE:L へ、 サ イ ト ピ ン を介 し てサ イ ト へ と 接続 さ れます。 ま た、 ポー ト を介 し てデザ イ ンに供給 さ れ る ク ロ ッ ク にネ ッ ト は関連付け ら れ、 デザ イ ンの タ イ ミ ン グ パ スへ と 接続 さ れます。 デザ イ ンに関す る 問題をすばや く 見つけ出 し 解決で き る よ う に、 DRC 違反にネ ッ ト を関連付け る こ と も で き ます。 プ ロパテ ィ ネ ッ ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのオブジ ェ ク ト の示すネ ッ ト の タ イ プに よ っ て異な り ます。 次の表に は、 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 DONT_TOUCH DRIVE DRIVER_COUNT ESSENTIAL_CLASSIFICATION_VALUE FILE_NAME FIXED_ROUTE FLAT_PIN_COUNT FLOAT GATED_CLOCK HBLKNM HIERARCHICALNAME HU_SET Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 Type string string string enum enum string int int int string enum enum string string* bool bool bool int bool bool int int int string string int bool bool string string string Read-only true true true false true true true true true true false false false false true true true false false false true true false true false true true false 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 false true true true true true true true true false false Value net 0 1 1 CLK_P 16 第 1 章 : Vivado の第一級オブ ジ ェ ク ト IBUF_DELAY_VALUE IBUF_LOW_PWR IFD_DELAY_VALUE IN_TERM IOB IOBDELAY IOSTANDARD IO_BUFFER_TYPE IS_CONTAIN_ROUTING IS_REUSED IS_ROUTE_FIXED KEEP KEEPER LINE_NUMBER LOC MARK_DEBUG MAXDELAY MAXSKEW MAX_FANOUT METHODOLOGY_DRC_VIOS 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 double bool double enum enum enum string enum bool bool bool bool bool int string bool double double 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 true false true true false false true false true true false true true true true false true true 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 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 false false true true true true false false true true true true true true true false true true true false false 1 LVDS 0 0 0 0 CLK_P CLK_P 1 INTRASITE SIGNAL ネ ッ ト オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_nets] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 17 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ピ ン X-Ref Target - Figure 1-5 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 図 1‐5 : ピ ン オブ ジ ェ ク ト 説明 ピ ンはプ リ ミ テ ィ ブ ま たは階層セルの論理的な接続点です。 セルの内容はピ ン を介 し て抽出で き 、 ロ ジ ッ ク は簡単に 使用で き る よ う に簡易化 さ れます。 ま た、 ピ ンは接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ピ ン と し て定義す る こ と がで き ます。 関連オブ ジ ェ ク ト ピ ン はセルに接続 さ れ ま す。 ま た ネ ッ ト に よ り ほかのセルの ピ ン に接続す る こ と がで き ま す。 ま た、 セルの ピ ン は BEL オブジ ェ ク ト の BEL ピ ンに関連付け ら れ、 セルがマ ッ プ さ れてい る サ イ ト のサ イ ト ピ ンに も 関連付け ら れてい ます。 ク ロ ッ ク ド メ イ ンの一部 と し て ピ ンは ク ロ ッ ク に関連付け ら れてお り 、 パ ス の起点、 終点、 中間点 と し て定義 さ れてい る 場合は タ イ ミ ン グ パス の一部にな り ます。 ま た、デザ イ ンに関す る 問題をすばや く 見つけ出 し 解決で き る よ う に、DRC 違反に ピ ン を関連付け る こ と も で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 18 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ ピ ンのプ ロ パテ ィ には次の も のがあ り ます。 Property BEL BUS_DIRECTION BUS_NAME BUS_START BUS_STOP BUS_WIDTH CLASS CLOCK_DEDICATED_ROUTE DCI_VALUE DIRECTION ESSENTIAL_CLASSIFICATION_VALUE FB_ACTIVE HD.ASSIGNED_PPLOCS HD.CLK_SRC HD.LOC_FIXED HD.PARTPIN_LOCS HD.PARTPIN_RANGE HIERARCHICALNAME HOLD_DETOUR HOLD_SLACK IS_CLEAR IS_CLOCK IS_CONNECTED IS_ENABLE IS_INVERTED IS_LEAF IS_PRESET IS_RESET IS_REUSED IS_SETRESET LOGIC_VALUE NAME PARENT_CELL REF_NAME REF_PIN_NAME SETUP_SLACK TARGET_SITE_PINS XLNX_LINE_COL XLNX_LINE_FILE Type string enum string int int int string enum int enum int bool string* string bool string* string* string int double bool bool bool bool bool bool bool bool bool bool string string cell string string double string* int long Read-only false true true true true true true false false true false false true false false false false true false true true true true true false true true true true true true true true true true true false false false Visible true true true true true true true true true true true true true true false true true false true true true true true true true true true true true true true true true true true true true false false Value pin IN 0 sinegen.DONT_EAT_reg.C needs timing update*** 0 1 1 0 0 1 0 0 0 0 needs timing update*** DONT_EAT_reg/C DONT_EAT_reg FDRE C needs timing update*** 次の コ マ ン ド を使用 し て ピ ンのプ ロ パテ ィ は確認で き ます。 report_property -all [lindex [get_pins] 0 ] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 19 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ポー ト X-Ref Target - Figure 1-6 1HW 3RUW 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 6WDQGDUG 図 1‐6 : ポー ト オブ ジ ェ ク ト 説明 ポー ト は特殊 タ イ プの階層ピ ン で、 階層デザ イ ン の最上位で外部 と の接続点 と な り 、 ま た階層セルの ピ ン に内部 ロ ジ ッ ク を接続す る ため、 階層セルやブ ロ ッ ク モジ ュ ールの内部接続点 と な り ます。 ま た、 ポー ト は接続を 1 つ含むス カ ラ ー と し て、 ま たは複数の信号を ま と め る バ ス ポー ト と し て定義する こ と がで き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 20 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 関連オブ ジ ェ ク ト デザ イ ンの最上位にあ る ポー ト は、 IOSTANDARD が指定 さ れた状態で、 デバ イ ス パ ッ ケージのパ ッ ケージ ピ ン を介 し て、 デバ イ ス の IOBANK を介 し て FPGA 外部へ接続 し ます。 ま た、 ポー ト はシ ス テ ム ま たはボー ド か ら デザ イ ンに ク ロ ッ ク 定義を マ ッ プす る こ と がで き 、 set_input_delay ま たは set_output_delay 制約を使用 し て タ イ ミ ン グ パ ス に割 り 当て る 必要が あ り ま す。 制約の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 し て く だ さ い。 階層セル内部では、 ポー ト はセルに割 り 当て ら れ、 セル内のネ ッ ト に接続 し ます。 プ ロパテ ィ 次は、 ポー ト オブジ ェ ク ト で検出 さ れたプ ロ パテ ィ と その値の例を示 し てい ます。 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 port DIFF_PAIR_TYPE enum DIFF_TERM bool DIFF_TERM_ADV enum DIRECTION enum DQS_BIAS enum DRIVE enum DRIVE_ADV enum DRIVE_STRENGTH enum EQUALIZATION 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* HOLD_SLACK double IBUF_LOW_PWR bool INTERFACE string INTERMTYPE enum IN_TERM enum IOB enum IOBANK int IOSTANDARD enum IOSTD enum IO_BUFFER_TYPE enum IS_BEL_FIXED bool IS_FIXED bool IS_GT_TERM bool IS_LOC_FIXED bool IS_REUSED bool Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 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 CLK_P true true N false true 0 false true false true IN false true false true 0 false false false false 0 false true false true true true false true false false 0 false true false true true true needs timing update*** false true 1 false true false false NONE false true NONE false true true true 33 false true LVDS false false LVDS false true false false 1 false false 1 true true 0 false true 1 true true 21 第 1 章 : Vivado の第一級オブ ジ ェ ク ト KEEPER LOAD LOC LOGIC_VALUE LVDS_PRE_EMPHASIS NAME ODT OFFCHIP_TERM OFFSET_CNTRL OUTPUT_IMPEDANCE OUT_TERM PACKAGE_PIN PIN_TYPE PIO_DIRECTION PRE_EMPHASIS PULLDOWN PULLTYPE PULLUP SETUP_SLACK SITE SLEW SLEWTYPE SLEW_ADV UNCONNECTED USE_INTERNAL_VREF VCCAUX_IO XLNX_LINE_COL XLNX_LINE_FILE X_IFC_LOGICAL_NAME x_interface_info bool false double false site false string true enum false string false enum false string false enum false enum false enum false package_pin false enum true enum false 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 true string false false 0 true true IOB_X1Y75 true needs timing update*** true true CLK_N true true NONE true true true true AD11 false true true false 0 true false 0 true needs timing update*** false IOB_X1Y75 true false false true 0 true true false false 139264 true CLK true 次の コ マ ン ド を使用 し てポー ト のプ ロ パテ ィ は確認で き ます。 report_property -all [lindex [get_ports] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 22 第 1 章 : Vivado の第一級オブ ジ ェ ク ト サイ ト X-Ref Target - Figure 1-7 3LQ &ORFN 7LPLQJ 3DWK 1RGH &HOO %HO3LQ &ORFN 5HJLRQ %HO :LUH 3DFNDJH 3LQ 6LWH 6LWH3LQ 6LWH3LS 3LS ,2%DQN 7LOH ,2 図 1‐7 : サイ ト オブ ジ ェ ク ト 説明 サ イ ト は、 タ ーゲ ッ ト のザ イ リ ン ク ス FPGA で使用可能な さ ま ざ ま な タ イ プの ロ ジ ッ ク リ ソ ース の 1 つを表すデバ イ ス オブジ ェ ク ト です。 ル ッ ク ア ッ プテーブル (LUT)、 フ リ ッ プ フ ロ ッ プ、 マルチプ レ ク サ、 キ ャ リ ー ロ ジ ッ ク リ ソ ース な ど の基本エ レ メ ン ト (BEL) の集合体であ る ス ラ イ ス がサ イ ト に含まれてお り 、 ス ラ イ ス か ら ス ラ イ ス を垂直方向に結ぶ専用キ ャ リ ー チ ェ ーン を使用 し て、 高速な加算、 減算、 比較演算を イ ン プ リ メ ン ト す る ために使用 さ れ ます。 2 つの ス ラ イ ス が 7 シ リ ーズ FPGA の 1 つの コ ン フ ィ ギ ャ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) に ま と め ら れますが、 こ れはデバ イ ス の タ イ ル オブジ ェ ク ト の 1 タ イ プです。 SLICEM は分散 RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン可能です。分散 メ モ リ は一部の LUT の コ ン フ ィ ギ ュ レーシ ョ ン 機能で、 小型の 64 ビ ッ ト メ モ リ と し て動作 し ます。 SLICEL LUT は ロ ジ ッ ク と し てのみ機能 し 、 メ モ リ と し ては機 能 し ません。 サ イ ト には、 ブ ロ ッ ク RAM、 I/O ブ ロ ッ ク 、 ク ロ ッ ク リ ソ ース、 GT ブ ロ ッ ク な ど さ ま ざ ま なオブジ ェ ク ト も 含まれ てい ます。 Vivado 合成を 使用 し て HDL ソ ー ス か ら 推論 し た り 、 FPGA ラ イ ブ ラ リ か ら プ リ ミ テ ィ ブやマ ク ロ を イ ン ス タ ン シ エー ト し た り 、 Vivado IP カ タ ロ グか ら IP コ ア を使用 し て、 ス ラ イ ス リ ソ ース を利用す る こ と がで き ます。 『 ラ イ ブ ラ リ ガ イ ド 』 には、 イ ン ス タ ン シエー ト 可能なプ リ ミ テ ィ ブの リ ス ト があ り ます。 使用可能な SITE タ イ プは、 使用 さ れ る ザ イ リ ン ク ス FPGA に よ っ て変わ り ます。 使用可能な SITE タ イ プには、 次が 含まれます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 23 第 1 章 : Vivado の第一級オブ ジ ェ ク ト AMS_ADC AMS_DAC BSCAN BSCAN_JTAG_MONE2 BUFG BUFGCTRL BUFG_LB BUFHCE BUFIO BUFMRCE BUFR CAPTURE DCIRESET DNA_PORT DRP_AMS_ADC DRP_AMS_DAC DSP48E1 EFUSE_USR FIFO18E1 FIFO36E1 FRAME_ECC GLOBALSIG GTHE2_CHANNEL GTHE2_COMMON GTPE2_CHANNEL GTPE2_COMMON GTXE2_CHANNEL GTXE2_COMMON GTZE2_OCTAL IBUFDS_GTE2 ICAP IDELAYCTRL IDELAYE2 IDELAYE2_FINEDELAY ILOGICE2 ILOGICE3 IN_FIFO IOB IOB18 IOB18M IOB18S IOB33 IOB33M IOB33S IOBM IOBS IPAD ISERDESE2 KEY_CLEAR MMCME2_ADV ODELAYE2 ODELAYE2_FINEDELAY OLOGICE2 OLOGICE3 OPAD OSERDESE2 OUT_FIFO PCIE_2_1 PCIE_3_0 PHASER_IN PHASER_IN_ADV PHASER_IN_PHY PHASER_OUT PHASER_OUT_ADV PHASER_OUT_PHY PHASER_REF PHY_CONTROL PLLE2_ADV PMV2 RAMB18E1 RAMB36E1 RAMBFIFO36E1 SLICEL SLICEM STARTUP TIEOFF USR_ACCESS XADC 関連オブ ジ ェ ク ト 23 ページの図 1-7にあ る よ う に、サ イ ト は さ ま ざ ま なネ ッ ト リ ス ト お よ びデバ イ ス オブジ ェ ク ト に関連付け ら れてい ます。 リ ーフ セルの フ リ ッ プ フ ロ ッ プお よ び ラ ッ チは、 ス ラ イ ス な ど のサ イ ト にマ ッ プ さ れてい る BEL にマ ッ プ さ れてい る か、 BRAM や DSP な ど のサ イ ト に直接マ ッ プ さ れてい ます。 BEL お よ びサ イ ト は タ イ ルに ま と め ら れ、 デ バ イ ス の ク ロ ッ ク 領域に割 り 当て ら れます。 ポー ト 、 ピ ン、 I/O バン ク 、 パ ッ ケージ ピ ンは I/O ブ ロ ッ ク (IOB) に関連 し てい ますが、 こ の IOB も サ イ ト です。 さ ら に、 サ イ ト にはピ ン ま たはサ イ ト ピ ンがあ り 、 こ れ ら は ノ ー ド 、 ピ ン、 ネ ッ ト にマ ッ プ さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 24 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ ザ イ リ ン ク ス 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 SITE_TYPE Type string string string bool bool bool bool bool bool bool bool bool bool bool string string int int int int int int bool bool int int string enum Read-only true true true true true true true true true true true true true true false true true true true true true true false true true true false true Visible true true true true true true true true true true true true true true true true true true true true true true true true true true true true Value IOB33S IOB33M site X0Y6 1 0 0 0 0 1 0 0 0 0 0 IOB_X0Y349 9 7 12 5 17 0 0 0 1 698 IOB33 サ イ ト オブジ ェ ク ト に割 り 当て ら れてい る プ ロ パテ ィ はど のサ イ ト タ イ プで も 同 じ です。24 ページの表 に リ ス ト さ れてい る サ イ ト タ イ プのプ ロ パテ ィ を確認する には、 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 25 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト ブ ロ ッ ク デザ イ ンは、 イ ン タ ーコ ネ ク ト さ れた IP コ アか ら 成 り 立つ複雑なサブシ ス テ ム デザ イ ンで、 ス タ ン ド ア ロ ン デザ イ ン と し て使用で き る ほか、 その他のデザ イ ン に統合す る こ と も で き ます。 ブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム は、 Vivado Design Suite の IP イ ン テ グ レ ー タ ー機能を使用 し て作成で き ま す。 こ れ ら は、 Vivado Design Suite IDE の IP イ ン テ グ レー タ ーのキ ャ ンバ ス、 ま たは Tcl コ マ ン ド を使用 し て イ ン タ ラ ク テ ィ ブに作成で き ます。 ブ ロ ッ ク デザ イ ン ダ イ ア グ ラ ム オブジ ェ ク ト は、 前に説明 し たネ ッ ト リ ス ト オブジ ェ ク ト に構造的にかな り 類似 し てい ます。 図 1-8 は、 ブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム を構成す る 異な る デザ イ ン オブジ ェ ク ト 間の関係を示 し てい ます。 X-Ref Target - Figure 1-8 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBSLQ EGBFHOO EGBDGGUBVSDFH EGBDGGUBVHJ 図 1‐8 : ブ ロ ッ ク デザイ ン オブ ジ ェ ク ト 次の図に示す よ う に、 ブ ロ ッ ク ダ イ ア グ ラ ム オブジ ェ ク ト には次が含まれます。 「DIAGRAM」 「BD_ADDR_SEG」 「BD_ADDR_SPACE」 「BD_CELL」 「BD_INTF_NET」 「BD_INTF_PIN」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 26 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 「BD_INTF_PORT」 「BD_NET」 「BD_PIN」 「BD_PORT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 27 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DIAGRAM 説明 ブ ロ ッ ク デザ イ ン (.bd) は、 Vivado Design Suite の IP イ ン テ グ レー タ ー機能で作成 さ れた イ ン タ ー コ ネ ク ト さ れた IP コ アの複雑なシ ス テ ムです。 Vivado IP イ ン テ グ レー タ ー機能を使用する と 、 Vivado IP カ タ ロ グか ら の IP を イ ン ス タ ン シエー ト お よ び イ ン タ ー コ ネ ク ト し て、 複雑なデザ イ ン を作成で き ます。 ブ ロ ッ ク デザ イ ンは、 デ ィ ス ク 上の フ ァ イ ル (.bd) に書 き 込む こ と ので き る 階層デザ イ ン ですが、 Vivado ツール メ モ リ 内で diagram オブジ ェ ク ト と し て格納 さ れます。 ブ ロ ッ ク デザ イ ンは、 通常 イ ン タ ーフ ェ イ ス レベルで構築 さ れて生産性が増す よ う にな っ てい ますが、 ポー ト ま た はピ ン レベルで編集す る こ と で よ り 詳細に制御す る こ と も で き ます。 Vivado プ ロ ジ ェ ク ト には さ ま ざ ま なデザ イ ン 階層レベルで複数のダ イ ア グ ラ ムが含まれ る こ と があ る ほか、 最上位デザ イ ン と し て 1 つのダ イ ア グ ラ ムだけ を含む こ と も あ り ます。 関連オブ ジ ェ ク ト 26 ページの図 1-8 に示す よ う に、 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 [get_bd_designs] ま たは、 Vivado Design Suite に複数のブ ロ ッ ク デザ イ ンがあ る 場合は、 次を使用 し ます。 report_property -all [lindex [get_bd_designs] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 28 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BD_ADDR_SEG 説明 ブ ロ ッ ク デザ イ ン ア ド レ ス セグ メ ン ト (bd_addr_seg オブジ ェ ク ト ) は、 それの含まれ る ブ ロ ッ ク デザ イ ンのア ド レ ス空間にエ リ アの ロ ケーシ ョ ンお よ びサ イ ズ を示 し ます。 ア ド レ ス セグ メ ン ト は、 指定 し たア ド レ ス オ フ セ ッ ト で 開始 さ れ、 該当す る 範囲で続行 さ れ る ア ド レ ス空間の一部を示 し てい ます。 さ ま ざ ま な メ モ リ マ ッ プ さ れたマ ス タ ーお よ びス レーブ イ ン タ ーフ ェ イ ス の場合、 IP イ ン テ グ レー タ ーは業界標準 の IP-XACT デー タ フ ォ ーマ ッ ト に従っ て、 エ ン ド ポ イ ン ト のマ ス タ ーお よ び ス レ ーブの メ モ リ 要件お よ び機能を キ ャ プチ ャ し ます。 ス レーブ イ ン タ ーフ ェ イ ス には、 ス レーブ を それに関連す る マ ス タ ーのア ド レ ス空間にマ ッ プす る ために、 メ モ リ マ ッ プ と い う address_space コ ン テナーが含まれます。 こ れ ら の メ モ リ マ ッ プには、た と えば S_AXI の よ う に、 通常ス レーブ イ ン タ ーフ ェ イ ス ピ ンに従っ て名前がつけ ら れます (必須ではあ り ません)。 各ス レーブ イ ン タ ーフ ェ イ ス ピ ンの メ モ リ マ ッ プには、 ア ド レ ス セグ メ ン ト (bd_addr_seg オブジ ェ ク ト ) が含まれ ます。 ア ド レ ス セグ メ ン ト は、 create_bd_addr_seg コ マ ン ド を使用 し て ア ド レ ス空間に割 り 当て る こ と がで き ます。 こ れ ら のア ド レ ス セグ メ ン ト は、AXI ス レーブのア ド レ ス デコ ー ド ウ ィ ン ド ウ に該当 し ます。た と えば、通常 AXI4-Lite ス レーブにはア ド レ ス範囲を示すア ド レ ス セグ メ ン ト が 1 つだけ含まれますが、 ブ リ ッ ジの よ う に、 ス レーブの中に は複数のア ド レ ス セグ メ ン ト が含まれた り 、 各ア ド レ ス デ コ ー ド ウ ィ ン ド ウ のア ド レ ス範囲が含まれ る も のがあ り ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-9 EGBLQWIBQHW EGBLQWIBSLQ BFHOO EGBDGGUBVSDFH EGBDGGUBVHJ 図 1‐9 : ブ ロ ッ ク デザイ ンのア ド レ ス空間およびア ド レ ス セグ メ ン ト ブ ロ ッ ク デザ イ ンのア ド レ ス セグ メ ン ト オブジ ェ ク ト の bd_addr_seg は、 ブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム で 見つか っ た AXI マ ス タ ー ブ ロ ッ ク デザ イ ン セルのア ド レ ス空間に関連付け ら れます。 ア ド レ ス空間は、 セル上の イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin) に、 外部 AXI マ ス タ ーの場合は イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) に関連付け ら れます。 ア ド レ ス空間は、 マ ッ プ さ れた ス レーブ イ ン タ ーフ ェ イ ス の メ モ リ 空間であ る bd_addr_segs にセグ メ ン ト 分け さ れます。 こ れ ら の関連オブジ ェ ク ト の bd_addr_space オブジ ェ ク ト は取得で き ます。 get_bd_addr_segs -of_objects [get_bd_addr_spaces /mdm_1/S_AXI] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 29 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 次を使用す る と 、 ブ ロ ッ ク デザ イ ンのア ド レ ス セグ メ ン ト に関連す る オブジ ェ ク ト を取得す る こ と も で き ます。 get_bd_intf_pin -of [get_bd_addr_segs /microblaze*] プ ロパテ ィ 次に、 ブ ロ ッ ク デザ イ ンのア ド レ ス セグ メ ン ト オブジ ェ ク ト (bd_addr_seg) のプ ロ パテ ィ と 値の例を示 し ます。 Property ACCESS CLASS NAME OFFSET PATH RANGE USAGE Type string string string string string string string Read-only true true false false true false true Visible true true true true true true true Value read-write bd_addr_seg Reg 65536 register bd_addr_seg オブ ジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピ ー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_addr_segs ] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 30 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BD_ADDR_SPACE 説明 ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) は、 マ ス タ ー イ ン タ ーフ ェ イ ス、 ま たはブ ロ ッ ク デザ イ ン外部の AXI マ ス タ ーへ接続 さ れた AXI イ ン タ ーフ ェ イ ス ポー ト 、 ま たはダ イ ア グ ラ ム で論理的にア ド レ ス指定可能な メ モ リ 空間 です。 Vivado Design Suite の IP イ ン テ グ レー タ ーは、 業界標準の IP-XACT デー タ フ ォーマ ッ ト に従っ て、 メ モ リ 要件お よ び機能を キ ャ プチ ャ し ます。ブ ロ ッ ク の中には複数のマ ス タ ー イ ン タ ーフ ェ イ ス に関連す る ア ド レ ス空間が 1 つ含ま れ る も のがあ り ま す。 た と えば、 シ ス テ ム バ ス お よ び高速 メ モ リ バ ス の付いたプ ロ セ ッ サな ど です。 その他の コ ン ポーネ ン ト には、 複数のマ ス タ ー イ ン タ ーフ ェ イ ス (命令用 1 つ、 デー タ 用 1 つ) に関連す る ア ド レ ス空間が複数含 まれ る も のがあ り ます。 マ ス タ ー イ ン タ ーフ ェ イ ス には、 ア ド レ ス空間 (bd_addr_space オブジ ェ ク ト ) が含まれます。 ス レーブがマ ス タ ー ア ド レ ス空間にマ ッ プ さ れ る 場合、 ア ド レ ス セグ メ ン ト オブジ ェ ク ト (bd_addr_seg) が作成 さ れ、 ス レーブのア ド レ ス セグ メ ン ト がマ ス タ ーへマ ッ プ さ れます。 関連オブ ジ ェ ク ト 29 ページの図 1-9 に示す よ う に、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間セグ メ ン ト (bd_addr_seg) は、 ブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム で見つか っ た AXI マ ス タ ー イ ン タ ーフ ェ イ ス のア ド レ ス空間に関連付け ら れます。 ア ド レ ス空 間 は、 セ ル上 の イ ン タ ー フ ェ イ ス ピ ン (bd_intf_pin) に、 外部 AXI マ ス タ ー の 場合は イ ン タ ー フ ェ イ ス ポ ー ト (bd_intf_port) に関連付け ら れ ま す。 ア ド レ ス空間は、 マ ッ プ さ れた ス レーブ イ ン タ ーフ ェ イ ス の メ モ リ 空間で あ る bd_addr_segs にセグ メ ン ト 分け さ れます。 こ れ ら の関連オブジ ェ ク ト の bd_addr_space オブジ ェ ク ト は、 次を使用す る と 取得で き ます。 get_bd_addr_spaces -of_objects [get_bd_cells /microblaze_0] 次を使用す る と 、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間に関連する オブジ ェ ク ト を取得する こ と も で き ます。 get_bd_intf_pins -of_objects [get_bd_addr_spaces *SLMB] プ ロパテ ィ 次に、 ブ ロ ッ ク デザ イ ンのア ド レ ス空間オブジ ェ ク ト (bd_addr_space) のプ ロ パテ ィ と 値の例を示 し ます。 Property Type Read-only Visible Value CLASS string true true bd_addr_space NAME string false true S_AXI_CTRL OFFSET string false true PATH string true true /microblaze_0_local_memory/dlmb_bram_if_cntlr/S_AXI_CTRL 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 31 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BD_CELL 説明 ブ ロ ッ ク デザ イ ン セル (bd_cell オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ーの IP コ ア オブジ ェ ク ト の イ ン ス タ ン ス、 ま たは階層ブ ロ ッ ク デザ イ ン セルです。 リ ーフ セルは、 IP カ タ ロ グか ら の コ アです。 階層セルはモジ ュ ールま たはブ ロ ッ ク で、 1 つ以上の レベルの ロ ジ ッ ク を含み、 リ ーフ セル も 含みます。 bd_cell オブジ ェ ク ト の TYPE プ ロ パテ ィ では、ブ ロ ッ ク デザ イ ン セルが IP カ タ ロ グか ら の リ ーフ セル と し て (TYPE == IP)、 ま たは追加 ロ ジ ッ ク を含む階層モジ ュ ール と し て (TYPE == HIER) 識別 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-10 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBSLQ EGBFHOO EGBDGGUBVSDFH 図 1‐10 : ブ ロ ッ ク デザイ ン セル 図 1-10 に示す よ う に、 ブ ロ ッ ク デザ イ ン セル (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 32 第 1 章 : 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_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_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 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 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 Value bd_cell 0 32 0 0 2 2 1 32 32 1 100000000 32 32 1 1 0 0 0 1 0 design_1_mdm_0_0 4 1524 450 mdm_0 /mdm_0 220 100 ip xilinx.com:ip:mdm:3.1 bd_cell オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_cells] 0] BD_INTF_NET 説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が 含まれす。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。 イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス に よ る 標準 イ ン タ ーフ ェ イ ス は、 Vivado イ ン ス ト ール デ ィ レ ク ト リ の data/ip/interfaces に含まれます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ンお よ びポー ト の詳細は、 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 33 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) を参照 し て く だ さ い。 ブ ロ ッ ク デザ イ ンの イ ン タ ーフ ェ イ ス ネ ッ ト (bd_intf_net オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの イ ン タ ーフ ェ イ ス ピ ン を ほかの イ ン タ ーフ ェ イ ス ピ ン ま たは外部 イ ン タ ーフ ェ イ ス ポー ト に接続 し ます。 bd_intf_net オブジ ェ ク ト は、複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ ク デザ イ ン セルが接続 さ れます。すべての イ ン タ ーフ ェ イ ス ネ ッ ト には、 デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ ト へ接続 さ れ る すべてのブ ロ ッ ク デ ザ イ ン セル、 イ ン タ ーフ ェ イ ス ピ ン、 お よ び イ ン タ ーフ ェ イ ス ポー ト は電気的に接続 さ れてい ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-11 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBSLQ EGBFHOO EGBDGGUBVSDFH 図 1‐11 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ネ ッ ト 34 ページの図 1-11 に示す よ う に、 ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ネ ッ ト (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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 34 第 1 章 : Vivado の第一級オブ ジ ェ ク ト bd_intf_net オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_intf_nets] 0] BD_INTF_PIN 説明 イ ン タ ーフ ェ イ ス と は共通の フ ァ ン ク シ ョ ン を共有す る 信号を グループ化 し た も ので、 個別信号 と 複数バ ス の両方が 含まれす。 た と えば、 AXI4-Lite マ ス タ ーには多 く の信号 と 複数のバ ス が含まれ、 こ れ ら はすべて接続に必要です。 こ れ ら の信号お よ びバ ス を イ ン タ ーフ ェ イ ス にグループ化す る と 、Vivado IP イ ン テ グ レー タ ーで共通の イ ン タ ーフ ェ イ ス が識別で き る よ う にな り 、 自動的に 1 つの手順で自動的に複数の接続が実行 さ れます。 イ ン タ ーフ ェ イ ス は、 IP-XACT 規格を使用 し て定義 さ れます。 ザ イ リ ン ク ス に よ る 標準 イ ン タ ーフ ェ イ ス は、 Vivado イ ン ス ト ール デ ィ レ ク ト リ の data/ip/interfaces に含まれます。 イ ン タ ーフ ェ イ ス ネ ッ ト 、 ピ ンお よ びポー ト の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG994) を参照 し て く だ さ い。 ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン (bd_intf_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ ン ト です。 イ ン タ ーフ ェ イ ス ピ ン では、 セルの内部は取 り 除いて、 使用 し やすい よ う に簡素化 さ れ ま す。 イ ン タ ー フ ェ イ ス ピ ンは、 階層ブ ロ ッ ク デザ イ ン セルま たは リ ーフ レベル セルに使用 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-12 EGBQHW EGBLQWIBQHW EGBLQWIBSLQ EGBFHOO EGBDGGUBVSDFH EGBDGGUBVHJ 図 1‐12 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ピ ン ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ンは、 ブ ロ ッ ク デザ イ ン セル (bd_cell) に接続 さ れ、 ブ ロ ッ ク デザ イ ン ま た は ダ イ ア グ ラ ム の イ ン タ ー フ ェ イ ス ネ ッ ト (bd_intf_net) を 使用す る こ と で、 そ の 他 の イ ン タ ー フ ェ イ ス ピ ン (bd_intf_pin) ま たは イ ン タ ーフ ェ イ ス ポー ト (bd_intf_port) に接続で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 35 第 1 章 : Vivado の第一級オブ ジ ェ ク ト bd_addr_space、 bd_addr_seg、 bd_cell、 お よ び bd_intf_net オブジ ェ ク ト の bd_intf_pins は、 次の よ う に取得で き ます。 get_bd_intf_pins -of_objects [get_bd_cells clk_wiz_1] ま た、 次を使用す る と 、 特定の bd_intf ピ ンの bd_addr_spaces、 bd_addr_segs, bd_cells、 お よ び bd_intf_nets を取得す る こ と も で き ます。 get_bd_addr_spaces -of_objects [get_bd_intf_pins microblaze_0/*] プ ロパテ ィ ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ と があ り ます。 次の表には、 マ ス タ ー AXI イ ン タ ーフ ェ イ ス の ピ ン オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一 部を その値の例 と 共に リ ス ト し てい ます。 Property 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 32 100000000 0 1 1 1 0.000 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 36 第 1 章 : 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 1-13 EGBSLQ GLDJUDP EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW EGBLQWIBS EGBFHOO EGBDGGUBVSDFH 図 1‐13 : ブ ロ ッ ク デザイ ン イ ン タ ー フ ェ イ ス ポー ト ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 37 第 1 章 : Vivado の第一級オブ ジ ェ ク ト get_bd_intf_nets -of_objects [get_bd_intf_ports CLK*] プ ロパテ ィ ブ ロ ッ ク デザ イ ン イ ン タ ーフ ェ イ ス ポー ト オブジ ェ ク ト の特定のプ ロ パテ ィ は、 そのポー ト の タ イ プに よ っ て変わ る こ と があ り ます。 次の表には、 ク ロ ッ ク の bd_intf_port オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値 の例 と 共に リ ス ト し てい ます。 Property CLASS CONFIG.FREQ_HZ LOCATION MODE NAME PATH VLNV Type string string string string string string string Read-only true false false true false true true Visible true true true true true true true Value bd_intf_port 100000000 130 460 Slave CLK_IN1_D /CLK_IN1_D xilinx.com:interface:diff_clock_rtl:1.0 bd_intf_port オブ ジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピ ー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_ports] 0] BD_NET 説明 ブ ロ ッ ク デザ イ ン ネ ッ ト (bd_net オブジ ェ ク ト ) は、 IP イ ン テ グ レー タ ー ブ ロ ッ ク デザ イ ン セルの ピ ン を その他の ピ ン ま たは外部ポー ト に接続 し ます。 bd_net オブジ ェ ク ト は、 複数レベルのデザ イ ン階層を介 し て接続 さ れ、 ブ ロ ッ ク デザ イ ン セルが接続 さ れます。すべてのネ ッ ト には、デザ イ ン で識別で き る よ う な名前が付 き ます。 こ れ ら のネ ッ ト へ接続 さ れ る すべてのブ ロ ッ ク デザ イ ン セル、 ピ ン、 お よ びポー ト は電気的に接続 さ れてい ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 38 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-14 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBLQWI EGBFHOO EGBDGGUBVSDFH 図 1‐14 : ブ ロ ッ ク デザイ ン ネ ッ ト ブ ロ ッ ク デザ イ ン ネ ッ ト (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*] プ ロパテ ィ 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_pin オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_nets] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 39 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BD_PIN 説明 ブ ロ ッ ク デザ イ ン ピ ン (bd_pin オブジ ェ ク ト ) は、 ブ ロ ッ ク デザ イ ン セルの論理的接続ポ イ ン ト です。 ブ ロ ッ ク デ ザ イ ン ピ ン を使用す る と 、 セルの内部 ロ ジ ッ ク を取 り 除いて、 使用 し やすい よ う に簡素化で き ま す。 ピ ンは、 ス カ ラ ーま たはバ ス ピ ンで、 階層ブ ロ ッ ク デザ イ ン セルま たは リ ーフ レベル セルで使用で き ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-15 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBLQWIBS EGBFHOO EGBDGGUBVSDFH 図 1‐15 : ブ ロ ッ ク デザイ ン ピ ン 図 1-15 に示す よ う に、 ブ ロ ッ ク デザ イ ン ピ ンは、 ブ ロ ッ ク デザ イ ン セル (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 40 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ ブ ロ ッ ク デザ イ ン ピ ン オブジ ェ ク ト の特定のプ ロ パテ ィ は、 その ピ ンの タ イ プに よ っ て変わ る こ と があ り ます。 次 の表には、 Vivado Design Suite で CLK タ イ プの bd_pin オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ の一部を その値の 例 と 共に リ ス ト し てい ます。 Property CLASS CONFIG.ASSOCIATED_BUSIF CONFIG.ASSOCIATED_RESET CONFIG.CLK_DOMAIN CONFIG.FREQ_HZ CONFIG.PHASE DIR INTF LEFT LOCATION NAME PATH RIGHT TYPE Type string string string string string string string string string string string string string string Read-only true true true true true true true true true false false true true true Visible true true true true true true true true true true true true true true Value bd_pin design_1_clk_wiz_1_0_clk_out1 100000000 0.0 O FALSE clk_out1 /clk_wiz_1/clk_out1 clk bd_net オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_bd_pins */*] 0] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 41 第 1 章 : Vivado の第一級オブ ジ ェ ク ト BD_PORT 説明 ブ ロ ッ ク デザ イ ン ポー ト は、特別な タ イ プの階層ピ ン (ダ イ ア グ ラ ムの最上位の ピ ン) です。ブ ロ ッ ク デザ イ ン では、 ポー ト は、 FPGA デザ イ ン全体ま たはシ ス テ ム レベル デザ イ ン内外のブ ロ ッ ク デザ イ ン ま たはダ イ ア グ ラ ム と の外 部接続 と の通信に使用 さ れ る 主なポー ト です。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-16 EGBSLQ EGBSRUW EGBLQWIBSRUW EGBQHW EGBLQWIBQHW GLDJUDP EGBFHOO EGBDGGUBVSDFH 図 1‐16 : ブ ロ ッ ク デザイ ン ピ ン ブ ロ ッ ク デザ イ ン ポー ト (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 42 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 43 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ハー ド ウ ェ ア マネージ ャ ー オブ ジ ェ ク ト ハー ド ウ ェ ア マネージ ャ ーは Vivado Design Suite の機能で、 デバ イ ス プ ロ グ ラ マーま たはデバ ッ グ ボー ド へ接続 し た り 、 プ ロ グ ラ ム さ れたハー ド ウ ェ ア デバ イ ス を実行 し た り で き ます。 ハー ド ウ ェ ア マネージ ャ ーを使用す る と 、デ バ イ ス上のデバ ッ グ ロ ジ ッ ク を実行 し て、現在の値を設定ま たは取 り 出す信号にア ク セ ス で き る よ う にな り ます。 プ ロ グ ラ ム さ れたデバ イ ス のデバ ッ グ コ アには、「HW_ILA」, 「HW_VIO」、「HW_AXI」, 「hw_sysmon」、「HW_SIO_IBERT」 コ ア な ど があ り ます (図 1-17)。 X-Ref Target - Figure 1-17 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‐17 : ハー ド ウ ェ ア マネージ ャ ー オブ ジ ェ ク ト デバ ッ グ コ アは、ザ イ リ ン ク ス IP カ タ ロ グ を使用 し て RTL デザ イ ンに イ ン ス タ ン シエー ト で き ます。 ILA の場合は、 ネ ッ ト リ ス ト ベー ス のデバ ッ グ フ ロ ーを使用 し て合成済みネ ッ ト リ ス ト に挿入で き ま す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) [参照 16] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 44 第 1 章 : 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) [参照 20] を参照 し て く だ さ い。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-18 KZBFIJ KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWV KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW K KZBSUREH KZBVLRBJW KZBV ZBLODBGDWD KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ 図 1‐18 : ハー ド ウ ェ ア 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 45 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 46 第 1 章 : 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 1-19 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW 図 1‐19 : ハー ド ウ ェ ア ビ ッ ト ス ト リ ーム オブ ジ ェ ク ト hw_bitstream オブジ ェ ク ト は PROGRAM.BITSTREAM プ ロ パテ ィ を使用 し て hardware_device に関連付け ら れます。次 の よ う に get_property コ マ ン ド を使用 し て hw_bitstream オブジ ェ ク ト を ク エ リ ーす る と 、 プ ロ パテ ィ にオブジ ェ ク ト を戻す こ と がで き ます。 get_property PROGRAM.HW_BITSTREAM [current_hw_device] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 47 第 1 章 : 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]] HW_CFGMEM 説明 ザ イ リ ン ク ス FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る には、 ハー ド ウ ェ ア デバ イ ス の内部 メ モ リ にデザ イ ン特定の コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ を ビ ッ ト ス ト リ ーム フ ァ イ ルの形で読み込み ま す。 hw_cfgmem では、 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能でザ イ リ ン ク ス FPGA デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンお よ びブー ト す る ために使用 さ れ る フ ラ ッ シ ュ メ モ リ デバ イ ス が定義 さ れます。 hw_cfgmem オブジ ェ ク ト を プ ロ グ ラ ムす る には、 create_hw_cfgmem コ マ ン ド を使用 し ます。 create_hw_cfgmem オブ ジ ェ ク ト を作成 し 、 ハー ド ウ ェ ア デバ イ ス に関連付けた ら 、 program_hw_cfgmem コ マ ン ド を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を ビ ッ ト ス ト リ ームお よ びその他のデー タ でプ ロ グ ラ ムで き ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-20 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS 図 1‐20 : ハー ド ウ ェ ア CFGMEM オブ ジ ェ ク ト Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 48 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 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 PROGRAM.FILE_1 string C:/Data/Vivado_Debug/kc705_8led.mcs PROGRAM.FILE_2 string PROGRAM.VERIFY bool PROGRAM.ZYNQ_FSBL string Read-only true false true false false false false false false false false Visible true true true true true true true true true true true false true false false false true true true Value 28f00ap30t-bpi-x16_0 28f00ap30t-bpi-x16 hw_cfgmem 28f00ap30t-bpi-x16_0 use_file 0 0 NONE 0 1 0 hw_cfgmem オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト する には、ハー ド ウ ェ ア マネージ ャ ー機能が開いてい る と き に、次 の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [get_property PROGRAM.HW_CFGMEM [current_hw_device] ] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 49 第 1 章 : Vivado の第一級オブ ジ ェ ク ト HW_DEVICE 説明 Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能内では、 各ハー ド ウ ェ ア タ ーゲ ッ ト にプ ロ グ ラ ム ま たはデバ ッ グ目的で使用す る ザ イ リ ン ク ス FPGA デバ イ ス を 1 つま たは複数含め る こ と がで き ます。hw_device オブジ ェ ク ト は、 開いたハー ド ウ ェ ア タ ーゲ ッ ト の物理的パーツ です。 current_hw_device コ マ ン ド では、 現在のデバ イ ス が指定 さ れ る か、 戻 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-21 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZ KZBVLRBVFD KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN 図 1‐21 : ハー ド ウ ェ ア デバイ ス オブ ジ ェ ク ト ハー ド ウ ェ ア デバ イ ス はハー ド ウ ェ ア タ ーゲ ッ ト に関連付け ら れてお り 、 次の よ う に 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 50 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 51 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 52 第 1 章 : 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 1-22 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVF KZBLOD KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBSUREH KZBVLRBJW KZBVLRBSOO KZBLODBGDWD K KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ 図 1‐22 : ハー ド ウ ェ ア ILA オブ ジ ェ ク ト ILA デバ ッ グ コ アは、 RTL ソ ース フ ァ イ ルま たは create_debug_core コ マ ン ド でデザ イ ンに追加で き ます。 デバ ッ グ コ アは、get_debug_cores コ マ ン ド を使用 し て合成済みネ ッ ト リ ス ト デザ イ ン で検索で き ます。 こ れ ら は Vivado Design Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 53 第 1 章 : 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] プ ロパテ ィ 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com Type string enum enum int bool bool bool string enum int enum string int int string string string bool bool bool bool int int int int int string int bool int int bool bool bool bool int int string Read-only true false false false true true true false false false true false false false true true true true true true true true true true true true true true true true true true true true true true true true Visible true true true true true true true true true true true true true true false true true true true true true true true true true true true true true true true true true true true true true true Value hw_ila AND ALWAYS 1024 0 0 0 AND BASIC_ONLY 0 DISABLED 1 500 core_1 u_ila_0 hw_ila_1 1 1 0 0 1024 15 15 15 15 IDLE 2147483647 0 0 2147483647 1 1 1 1 0 2147483647 54 第 1 章 : Vivado の第一級オブ ジ ェ ク ト TRIGGER_STOP_TIME_SECONDS string true true 特定の HW_ILA のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま た は Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_hw_ilas] 0] HW_ILA_DATA 説明 ハー ド ウ ェ ア ILA デー タ オブジ ェ ク ト は、 現在のハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ ム さ れた ILA デバ ッ グ コ ア で キ ャ プチ ャ さ れたデー タ リ ポジ ト リ です。 hw_ila_data オブジ ェ ク ト は、 upload_hw_ila_data コ マ ン ド に よ る FPGA デ バ イ ス (hw_device) 上の ILA デバ ッ グ コ ア (hw_ila) か ら のデー タ を キ ャ プチ ャ す る プ ロ セ ス で作成 さ れます。 ま た、 read_hw_ila_data コ マ ン ド でデ ィ ス ク か ら ILA デー タ フ ァ イ ルを読み込んだ と き に も 作成 さ れます。 hw_ila_data オブジ ェ ク ト は、display_hw_ila_data コ マ ン ド を使用 し て Vivado ロ ジ ッ ク 解析機能の波形ウ ィ ン ド ウ に表 示で き 、 write_hw_ila_data コ マ ン ド を使用 し てデ ィ ス ク に保存で き ます。 関連オブ ジ ェ ク ト 53 ページの図 1-22 に示す よ う に、ハー ド ウ ェ ア 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 -all [lindex [get_hw_ila_datas] 0] japan.xilinx.com 55 第 1 章 : Vivado の第一級オブ ジ ェ ク ト HW_PROBE 説明 ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト (hw_probe) は、 デザ イ ン内の信号へのア ク セ ス に使用 さ れ、 信号の値を監視お よ び駆動 し 、 FPGA デバ イ ス のハー ド ウ ェ ア イ ベン ト を ト ラ ッ ク し ます。 ハー ド ウ ェ ア プ ロ ーブは、 ILA お よ び VIO デバ ッ グ コ アの両方に追加で き ます。 デバ ッ グ プ ロ ーブは、 コ ア と 一緒に RTL デザ イ ン ソ ース の ILA デバ ッ グ コ アに追加する か、 合成済みネ ッ ト リ ス ト デザ イ ンの ILA コ アに追加で き (create_debug_probe コ マ ン ド を使用)、 その後 connect_debug_probe コ マ ン ド を使用 し てデザ イ ンの信号に接続で き ます。 RTL デザ イ ンで VIO デバ ッ グ コ アにプ ロ ーブ を追加で き る のは、IP カ タ ロ グか ら IP コ ア を カ ス タ マ イ ズ ま たは再カ ス タ マ イ ズす る 際に信号がその コ アに接続 さ れてい る 場合のみです。 デザ イ ンへの ILA お よ び VIO デバ ッ グ コ ア と 信号プ ロ ーブの追加に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を 参照 し て く だ さ い。 デバ ッ グ コ ア と プ ロ ーブは write_debug_probes コ マ ン ド を使用 し てプ ロ ーブ フ ァ イ ル (.ltx) に記述 し 、 ハー ド ウ ェ ア デバ イ ス オブジ ェ ク ト の PROBES.FILE お よ び PROGRAM.FILE プ ロ パテ ィ を使用 し て ビ ッ ト ス ト リ ーム フ ァ イ ル と 共 に ハ ー ド ウ ェ ア デ バ イ ス に 関 連 付 け ま す。 ハ ー ド ウ ェ ア デ バ イ ス に こ の 情報 を プ ロ グ ラ ム す る に は、 program_hw_devices コ マ ン ド を使用 し ます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-23 KZBLOD KZBYLR KZBD KZBSUREH KZBLODBGDWD KZBD[LB 図 1‐23 : ハー ド ウ ェ ア プ ローブ オブ ジ ェ ク ト ハー ド ウ ェ ア プ ロ ーブ オブジ ェ ク ト は、 開いたハー ド ウ ェ ア タ ーゲ ッ ト でハー ド ウ ェ ア デバ イ ス にプ ロ グ ラ ム さ れ た ILA お よ び VIO デバ ッ グ コ アに関連付け ら れてい ます。こ れ ら のデバ ッ グ コ ア オブジ ェ ク ト に関連する hw_probe オブジ ェ ク ト は、 次の よ う に取得で き ます。 get_hw_probes -of [get_hw_ilas hw_ila_2] get_hw_probes -of [get_hw_vios] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 56 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ デバ ッ グ プ ロ ーブには、 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 NAME PROBE_PORT PROBE_PORT_BITS PROBE_PORT_BIT_COUNT TRIGGER_COMPARE_VALUE TYPE Type string string int string string string string string string int int int string string Read-only false true true false true false false true true true true true false true Visible true true true false false false false true true true true true true true Value eq2'hX hw_probe 4 eq2'hX 1:0 hw_ila_1 GPIO_BUTTONS_dly 3 0 2 eq2'hX ila 特定の hw_probe オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_hw_probes -filter {TYPE == ila}] 0] report_property -all [lindex [get_hw_probes -filter {TYPE == vio_input}] 0] report_property -all [lindex [get_hw_probes -filter {TYPE == vio_output}] 0] HW_SERVER 説明 ハー ド ウ ェ ア サーバーは、FPGA デザ イ ン をプ ロ グ ラ ムお よ びデバ ッ グす る ために使用す る 1 つま たは複数のザ イ リ ン ク ス FPGA デバ イ ス で構成 さ れた JTAG チ ェ ーン を含むハー ド ウ ェ ア ボー ド ハー ド ウ ェ ア タ ーゲ ッ ト への接続を 制御 し ます。 open_hw コ マ ン ド でハー ド ウ ェ ア マ ネージ ャ ー を 開い た ら 、 connect_hw_server コ マ ン ド を 使用 し てハー ド ウ ェ ア サーバーに ロ ーカル ま たは リ モー ト のいずれかで接続で き ます。 こ れに よ り 、 hw_server アプ リ ケーシ ョ ンが起動 さ れ、 hw_server オブジ ェ ク ト が作成 さ れます。 関連オブ ジ ェ ク ト 44 ページの図 1-17 に示す よ う に、 ハー ド ウ ェ ア サーバーは、 ハー ド ウ ェ ア マネージ ャ ーの先端のオブジ ェ ク ト で、 ハー ド ウ ェ ア タ ーゲ ッ ト への接続を管理 し ます。 hw_server に関す る オブジ ェ ク ト は、 次の よ う に取得で き ます。 get_hw_targets -of [get_hw_servers] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 57 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ 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] HW_SIO_GT 説明 カ ス タ マ イ ズ可能なザ イ リ ン ク ス 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 デバ ッ グ コ ア を使用す る と 、 GTX ト ラ ン シーバーのダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) ポー ト を介 し て GT ト ラ ン ス ミ ッ タ ー と レ シーバーを設定お よ び調整で き ます。 こ れに よ り 、 GT のプ ロ パテ ィ 設定 を変更 し た り 、 ポー ト 上の値を制御す る レ ジ ス タ を変更で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 58 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-24 KZBVLRBVFDQ KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBVLRBJW KZBVLRBOLQNJURXS KZBVLRBSOO KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ KZBVLRBJWJURXS 図 1‐24 : 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) を参照 し て く だ さ い。 次は 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 Type string enum enum enum enum 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 Visible 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 59 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DRP.CHAN_BOND_MAX_SKEW DRP.CHAN_BOND_SEQ_1_1 DRP.CHAN_BOND_SEQ_1_2 DRP.CHAN_BOND_SEQ_1_3 DRP.CHAN_BOND_SEQ_1_4 DRP.CHAN_BOND_SEQ_1_ENABLE DRP.CHAN_BOND_SEQ_2_1 DRP.CHAN_BOND_SEQ_2_2 DRP.CHAN_BOND_SEQ_2_3 DRP.CHAN_BOND_SEQ_2_4 DRP.CHAN_BOND_SEQ_2_ENABLE DRP.CHAN_BOND_SEQ_2_USE DRP.CHAN_BOND_SEQ_LEN DRP.CLK_CORRECT_USE DRP.CLK_COR_KEEP_IDLE DRP.CLK_COR_MAX_LAT DRP.CLK_COR_MIN_LAT DRP.CLK_COR_PRECEDENCE DRP.CLK_COR_REPEAT_WAIT DRP.CLK_COR_SEQ_1_1 DRP.CLK_COR_SEQ_1_2 DRP.CLK_COR_SEQ_1_3 DRP.CLK_COR_SEQ_1_4 DRP.CLK_COR_SEQ_1_ENABLE DRP.CLK_COR_SEQ_2_1 DRP.CLK_COR_SEQ_2_2 DRP.CLK_COR_SEQ_2_3 DRP.CLK_COR_SEQ_2_4 DRP.CLK_COR_SEQ_2_ENABLE DRP.CLK_COR_SEQ_2_USE DRP.CLK_COR_SEQ_LEN DRP.CPLL_CFG DRP.CPLL_FBDIV DRP.CPLL_FBDIV_45 DRP.CPLL_INIT_CFG DRP.CPLL_LOCK_CFG DRP.CPLL_REFCLK_DIV DRP.DEC_MCOMMA_DETECT DRP.DEC_PCOMMA_DETECT DRP.DEC_VALID_COMMA_ONLY DRP.DMONITOR_CFG DRP.ES_CONTROL DRP.ES_CONTROL_STATUS DRP.ES_ERRDET_EN DRP.ES_ERROR_COUNT DRP.ES_EYE_SCAN_EN DRP.ES_HORZ_OFFSET DRP.ES_PMA_CFG DRP.ES_PRESCALE DRP.ES_QUALIFIER DRP.ES_QUAL_MASK DRP.ES_RDATA DRP.ES_SAMPLE_COUNT DRP.ES_SDATA DRP.ES_SDATA_MASK DRP.ES_UT_SIGN DRP.ES_VERT_OFFSET DRP.FTS_DESKEW_SEQ_ENABLE DRP.FTS_LANE_DESKEW_CFG Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 7 17C 100 100 100 F 100 100 100 100 F 0 0 0 0 13 0F 1 00 11C 100 100 100 F 100 100 100 100 F 0 0 BC07DC 10 0 00001E 01C0 10 0 0 0 000A01 00 0 0 0000 1 000 000 00 00000000000000000000 00000000000000000000 00000000000000000000 0000 00000000000000000000 00000000000000000000 0 000 F F 60 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DRP.FTS_LANE_DESKEW_EN DRP.GEARBOX_MODE DRP.OUTREFCLK_SEL_INV DRP.PCS_PCIE_EN DRP.PCS_RSVD_ATTR DRP.PD_TRANS_TIME_FROM_P2 DRP.PD_TRANS_TIME_NONE_P2 DRP.PD_TRANS_TIME_TO_P2 DRP.PMA_RSV DRP.PMA_RSV2 DRP.PMA_RSV2_BIT4 DRP.PMA_RSV3 DRP.PMA_RSV4 DRP.RXBUFRESET_TIME DRP.RXBUF_ADDR_MODE DRP.RXBUF_EIDLE_HI_CNT DRP.RXBUF_EIDLE_LO_CNT DRP.RXBUF_EN DRP.RXBUF_RESET_ON_CB_CHANGE DRP.RXBUF_RESET_ON_COMMAALIGN DRP.RXBUF_RESET_ON_EIDLE DRP.RXBUF_RESET_ON_RATE_CHANGE DRP.RXBUF_THRESH_OVFLW DRP.RXBUF_THRESH_OVRD DRP.RXBUF_THRESH_UNDFLW DRP.RXCDRFREQRESET_TIME DRP.RXCDRPHRESET_TIME DRP.RXCDR_CFG DRP.RXCDR_FR_RESET_ON_EIDLE DRP.RXCDR_HOLD_DURING_EIDLE DRP.RXCDR_LOCK_CFG DRP.RXCDR_PH_RESET_ON_EIDLE DRP.RXDFELPMRESET_TIME DRP.RXDLY_CFG DRP.RXDLY_LCFG DRP.RXDLY_TAP_CFG DRP.RXGEARBOX_EN DRP.RXISCANRESET_TIME DRP.RXLPM_HF_CFG DRP.RXLPM_LF_CFG DRP.RXOOB_CFG DRP.RXOUT_DIV DRP.RXPCSRESET_TIME DRP.RXPHDLY_CFG DRP.RXPH_CFG DRP.RXPH_MONITOR_SEL DRP.RXPMARESET_TIME DRP.RXPRBS_ERR_LOOPBACK DRP.RXSLIDE_AUTO_WAIT DRP.RXSLIDE_MODE DRP.RX_BIAS_CFG DRP.RX_BUFFER_CFG DRP.RX_CLK25_DIV DRP.RX_CLKMUX_PD DRP.RX_CM_SEL DRP.RX_CM_TRIM DRP.RX_DATA_WIDTH DRP.RX_DDI_SEL DRP.RX_DEBUG_CFG Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 3 0 000000000000 03C 3C 64 001E7080 2070 1 0 00000000 01 1 8 0 1 1 0 0 1 3D 0 04 01 01 0B800023FF10200020 0 0 15 0 0F 001F 030 0000 0 01 00F0 00F0 06 0 01 084020 000000 00 03 0 7 0 004 00 04 1 3 4 5 00 000 61 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DRP.RX_DEFER_RESET_BUF_EN DRP.RX_DFE_CTLE_STAGE1 DRP.RX_DFE_CTLE_STAGE2 DRP.RX_DFE_CTLE_STAGE3 DRP.RX_DFE_GAIN_CFG DRP.RX_DFE_H2_CFG DRP.RX_DFE_H3_CFG DRP.RX_DFE_H4_CFG DRP.RX_DFE_H5_CFG DRP.RX_DFE_KL_CFG DRP.RX_DFE_KL_CFG2 DRP.RX_DFE_LPM_CFG DRP.RX_DFE_LPM_HOLD_DURING_EIDLE DRP.RX_DFE_UT_CFG DRP.RX_DFE_VP_CFG DRP.RX_DFE_XYD_CFG DRP.RX_DISPERR_SEQ_MATCH DRP.RX_INT_DATAWIDTH DRP.RX_OS_CFG DRP.RX_SIG_VALID_DLY DRP.RX_XCLK_SEL DRP.SAS_MAX_COM DRP.SAS_MIN_COM DRP.SATA_BURST_SEQ_LEN DRP.SATA_BURST_VAL DRP.SATA_CPLL_CFG DRP.SATA_EIDLE_VAL DRP.SATA_MAX_BURST DRP.SATA_MAX_INIT DRP.SATA_MAX_WAKE DRP.SATA_MIN_BURST DRP.SATA_MIN_INIT DRP.SATA_MIN_WAKE DRP.SHOW_REALIGN_COMMA DRP.TERM_RCAL_CFG DRP.TERM_RCAL_OVRD DRP.TRANS_TIME_RATE DRP.TST_RSV DRP.TXBUF_EN DRP.TXBUF_RESET_ON_RATE_CHANGE DRP.TXDLY_CFG DRP.TXDLY_LCFG DRP.TXDLY_TAP_CFG DRP.TXGEARBOX_EN DRP.TXOUT_DIV DRP.TXPCSRESET_TIME DRP.TXPHDLY_CFG DRP.TXPH_CFG DRP.TXPH_MONITOR_SEL DRP.TXPMARESET_TIME DRP.TX_CLK25_DIV DRP.TX_CLKMUX_PD DRP.TX_DATA_WIDTH DRP.TX_DEEMPH0 DRP.TX_DEEMPH1 DRP.TX_DRIVE_MODE DRP.TX_EIDLE_ASSERT_DELAY DRP.TX_EIDLE_DEASSERT_DELAY DRP.TX_INT_DATAWIDTH Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 1 8 3 0 020FEA 000 040 0F0 0E0 00FE 3010D90C 0954 0 11E00 03F03 0000 1 1 0080 09 0 40 24 F 4 0 4 08 15 07 04 0C 04 1 10 0 0E 00000000 1 0 001F 030 0000 0 0 01 084020 0780 00 01 04 1 5 00 00 00 6 4 1 62 第 1 章 : Vivado の第一級オブ ジ ェ ク ト DRP.TX_LOOPBACK_DRIVE_HIZ DRP.TX_MAINCURSOR_SEL DRP.TX_MARGIN_FULL_0 DRP.TX_MARGIN_FULL_1 DRP.TX_MARGIN_FULL_2 DRP.TX_MARGIN_FULL_3 DRP.TX_MARGIN_FULL_4 DRP.TX_MARGIN_LOW_0 DRP.TX_MARGIN_LOW_1 DRP.TX_MARGIN_LOW_2 DRP.TX_MARGIN_LOW_3 DRP.TX_MARGIN_LOW_4 DRP.TX_PREDRIVER_MODE DRP.TX_QPI_STATUS_EN DRP.TX_RXDETECT_CFG DRP.TX_RXDETECT_REF DRP.TX_XCLK_SEL DRP.UCODEER_CLR ES_HORZ_MIN_MAX GT_TYPE LINE_RATE LOGIC.DEBUG_CLOCKS LOGIC.ERRBIT_COUNT LOGIC.ERR_INJECT_CTRL LOGIC.FRAME_LEN LOGIC.GT_SOURCES_SYSCLK LOGIC.IDLE_DETECTED LOGIC.IFG_LEN LOGIC.LINK LOGIC.MAX_LINERATE LOGIC.MAX_REFCLK_FREQ LOGIC.MGT_COORDINATE LOGIC.MGT_ERRCNT_RESET_CTRL LOGIC.MGT_ERRCNT_RESET_STAT LOGIC.MGT_NUMBER LOGIC.MGT_RESET_CTRL LOGIC.MGT_RESET_STAT LOGIC.PROTOCOL_ENUM LOGIC.RXPAT_ID LOGIC.RXRECCLK_FREQ_CNT LOGIC.RXRECCLK_FREQ_TUNE LOGIC.RXUSRCLK2_FREQ_CNT LOGIC.RXUSRCLK2_FREQ_TUNE LOGIC.RXUSRCLK_FREQ_CNT LOGIC.RXUSRCLK_FREQ_TUNE LOGIC.RXWORD_COUNT LOGIC.RX_DCM_LOCK LOGIC.RX_DCM_RESET_CTRL LOGIC.RX_DCM_RESET_STAT LOGIC.RX_FRAMED LOGIC.SILICON_VERSION LOGIC.TIMER LOGIC.TXOUTCLK_FREQ_CNT LOGIC.TXOUTCLK_FREQ_TUNE LOGIC.TXPAT_ID LOGIC.TXUSRCLK2_FREQ_CNT LOGIC.TXUSRCLK2_FREQ_TUNE LOGIC.TXUSRCLK_FREQ_CNT LOGIC.TXUSRCLK_FREQ_TUNE Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 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 true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true 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 4E 49 45 42 40 46 44 42 40 40 0 0 1832 4 0 0 32 7 Series GTX 0.000 0 000000000000 0 0000 0 0 00 0 0001DCD65000 07735940 0008 0 0 0075 0 0 0000 1 0000 4000 0000 4000 0000 4000 000000000000 1 0 0 0 0300 009736E7B9BC 0000 4000 1 0000 4000 0000 4000 63 第 1 章 : Vivado の第一級オブ ジ ェ ク ト LOGIC.TX_DCM_LOCK string false true 1 LOGIC.TX_DCM_RESET_CTRL string false true 0 LOGIC.TX_DCM_RESET_STAT string false true 1 LOGIC.TX_FRAMED string false true 0 LOOPBACK enum false true None NAME string true true localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT/Quad_117/MGT_X0Y8 PARENT string true true localhost/xilinx_tcf/Digilent/210203327463A/0_1/IBERT PLL_STATUS string false true LOCKED PORT.CFGRESET string false true 0 PORT.CLKRSVD string false true 0 PORT.CPLLFBCLKLOST string false true 0 PORT.CPLLLOCK string false true 1 PORT.CPLLLOCKDETCLK string false true 0 PORT.CPLLLOCKEN string false true 1 PORT.CPLLPD string false true 0 PORT.CPLLREFCLKLOST string false true 0 PORT.CPLLREFCLKSEL string false true 1 PORT.CPLLRESET string false true 0 PORT.DMONITOROUT string false true 1F PORT.EYESCANDATAERROR string false true 0 PORT.EYESCANMODE string false true 0 PORT.EYESCANRESET string false true 0 PORT.EYESCANTRIGGER string false true 0 PORT.GTREFCLKMONITOR string false true 1 PORT.GTRESETSEL string false true 0 PORT.GTRSVD string false true 0000 PORT.GTRXRESET string false true 0 PORT.GTTXRESET string false true 0 PORT.LOOPBACK string false true 0 PORT.PCSRSVDIN string false true 0000 PORT.PCSRSVDIN2 string false true 00 PORT.PCSRSVDOUT string false true 01F3 PORT.PHYSTATUS string false true 1 PORT.PMARSVDIN string false true 00 PORT.PMARSVDIN2 string false true 00 PORT.RESETOVRD string false true 0 PORT.RX8B10BEN string false true 0 PORT.RXBUFRESET string false true 0 PORT.RXBUFSTATUS string false true 0 PORT.RXBYTEISALIGNED string false true 0 PORT.RXBYTEREALIGN string false true 0 PORT.RXCDRFREQRESET string false true 0 PORT.RXCDRHOLD string false true 0 PORT.RXCDRLOCK string false true 0 PORT.RXCDROVRDEN string false true 0 PORT.RXCDRRESET string false true 0 PORT.RXCDRRESETRSV string false true 0 PORT.RXCHANBONDSEQ string false true 0 PORT.RXCHANISALIGNED string false true 0 PORT.RXCHANREALIGN string false true 0 PORT.RXCHARISCOMMA string false true 00 PORT.RXCHARISK string false true 00 PORT.RXCHBONDEN string false true 0 PORT.RXCHBONDI string false true 10 PORT.RXCHBONDLEVEL string false true 0 PORT.RXCHBONDMASTER string false true 0 PORT.RXCHBONDO string false true 00 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 64 第 1 章 : Vivado の第一級オブ ジ ェ ク ト PORT.RXCHBONDSLAVE PORT.RXCLKCORCNT PORT.RXCOMINITDET PORT.RXCOMMADET PORT.RXCOMMADETEN PORT.RXCOMSASDET PORT.RXCOMWAKEDET PORT.RXDATAVALID PORT.RXDDIEN PORT.RXDFEAGCHOLD PORT.RXDFEAGCOVRDEN PORT.RXDFECM1EN PORT.RXDFELFHOLD PORT.RXDFELFOVRDEN PORT.RXDFELPMRESET PORT.RXDFETAP2HOLD PORT.RXDFETAP2OVRDEN PORT.RXDFETAP3HOLD PORT.RXDFETAP3OVRDEN PORT.RXDFETAP4HOLD PORT.RXDFETAP4OVRDEN PORT.RXDFETAP5HOLD PORT.RXDFETAP5OVRDEN PORT.RXDFEUTHOLD PORT.RXDFEUTOVRDEN PORT.RXDFEVPHOLD PORT.RXDFEVPOVRDEN PORT.RXDFEVSEN PORT.RXDFEXYDEN PORT.RXDFEXYDHOLD PORT.RXDFEXYDOVRDEN PORT.RXDISPERR PORT.RXDLYBYPASS PORT.RXDLYEN PORT.RXDLYOVRDEN PORT.RXDLYSRESET PORT.RXDLYSRESETDONE PORT.RXELECIDLE PORT.RXELECIDLEMODE PORT.RXGEARBOXSLIP PORT.RXHEADER PORT.RXHEADERVALID PORT.RXLPMEN PORT.RXLPMHFHOLD PORT.RXLPMHFOVRDEN PORT.RXLPMLFHOLD PORT.RXLPMLFKLOVRDEN PORT.RXMCOMMAALIGNEN PORT.RXMONITOROUT PORT.RXMONITORSEL PORT.RXNOTINTABLE PORT.RXOOBRESET PORT.RXOSHOLD PORT.RXOSOVRDEN PORT.RXOUTCLKFABRIC PORT.RXOUTCLKPCS PORT.RXOUTCLKSEL PORT.RXPCOMMAALIGNEN PORT.RXPCSRESET Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 7F 0 FF 0 0 0 0 0 1 0 0 65 第 1 章 : Vivado の第一級オブ ジ ェ ク ト PORT.RXPD PORT.RXPHALIGN PORT.RXPHALIGNDONE PORT.RXPHALIGNEN PORT.RXPHDLYPD PORT.RXPHDLYRESET PORT.RXPHMONITOR PORT.RXPHOVRDEN PORT.RXPHSLIPMONITOR PORT.RXPMARESET PORT.RXPOLARITY PORT.RXPRBSCNTRESET PORT.RXPRBSERR PORT.RXPRBSSEL PORT.RXQPIEN PORT.RXQPISENN PORT.RXQPISENP PORT.RXRATE PORT.RXRATEDONE PORT.RXRESETDONE PORT.RXSLIDE PORT.RXSTARTOFSEQ PORT.RXSTATUS PORT.RXSYSCLKSEL PORT.RXUSERRDY PORT.RXVALID PORT.SETERRSTATUS PORT.TSTIN PORT.TSTOUT PORT.TX8B10BBYPASS PORT.TX8B10BEN PORT.TXBUFDIFFCTRL PORT.TXBUFSTATUS PORT.TXCHARDISPMODE PORT.TXCHARDISPVAL PORT.TXCHARISK PORT.TXCOMFINISH PORT.TXCOMINIT PORT.TXCOMSAS PORT.TXCOMWAKE PORT.TXDEEMPH PORT.TXDETECTRX PORT.TXDIFFCTRL PORT.TXDIFFPD PORT.TXDLYBYPASS PORT.TXDLYEN PORT.TXDLYHOLD PORT.TXDLYOVRDEN PORT.TXDLYSRESET PORT.TXDLYSRESETDONE PORT.TXDLYUPDOWN PORT.TXELECIDLE PORT.TXGEARBOXREADY PORT.TXHEADER PORT.TXINHIBIT PORT.TXMAINCURSOR PORT.TXMARGIN PORT.TXOUTCLKFABRIC PORT.TXOUTCLKPCS Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 00 0 04 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 FFFFF 000 FF 0 4 0 00 00 00 0 0 0 0 0 0 C 0 1 0 0 0 0 0 0 0 0 0 0 00 0 1 0 66 第 1 章 : Vivado の第一級オブ ジ ェ ク ト PORT.TXOUTCLKSEL PORT.TXPCSRESET PORT.TXPD PORT.TXPDELECIDLEMODE PORT.TXPHALIGN PORT.TXPHALIGNDONE PORT.TXPHALIGNEN PORT.TXPHDLYPD PORT.TXPHDLYRESET PORT.TXPHDLYTSTCLK PORT.TXPHINIT PORT.TXPHINITDONE PORT.TXPHOVRDEN PORT.TXPISOPD PORT.TXPMARESET PORT.TXPOLARITY PORT.TXPOSTCURSOR PORT.TXPOSTCURSORINV PORT.TXPRBSFORCEERR PORT.TXPRBSSEL PORT.TXPRECURSOR PORT.TXPRECURSORINV PORT.TXQPIBIASEN PORT.TXQPISENN PORT.TXQPISENP PORT.TXQPISTRONGPDOWN PORT.TXQPIWEAKPUP PORT.TXRATE PORT.TXRATEDONE PORT.TXRESETDONE PORT.TXSEQUENCE PORT.TXSTARTSEQ PORT.TXSWING PORT.TXSYSCLKSEL PORT.TXUSERRDY RXDFEENABLED RXOUTCLKSEL RXOUT_DIV RXPLL RXRATE RXTERM RXTERMMODE RXUSRCLK2_FREQ RXUSRCLK_FREQ RX_BER RX_DATA_WIDTH RX_DFE_CTLE RX_INTERNAL_DATAPATH RX_PATTERN RX_RECEIVED_BIT_COUNT STATUS SYSCLK_FREQ TXDIFFSWING TXOUTCLKSEL TXOUT_DIV TXPLL TXPOST TXPRE TXRATE Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string enum enum enum enum enum enum enum string string string enum enum enum enum string string string enum enum enum enum enum enum 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 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 03 0 0 0 07 0 0 0 0 0 0 0 0 0 00 0 0 3 1 1 RXOUTCLKPCS 1 QPLL Use RX_OUT_DIV 900 mV Programmable 0.048828 0.048828 inf 40 4-byte PRBS 7-bit 0 NO LINK 100.000000 1.018 V (1100) TXOUTCLKPMA 1 QPLL 0.68 dB (00011) 1.67 dB (00111) Use TXOUT_DIV 67 第 1 章 : Vivado の第一級オブ ジ ェ ク ト TXUSRCLK2_FREQ TXUSRCLK_FREQ TX_DATA_WIDTH TX_INTERNAL_DATAPATH TX_PATTERN string string enum enum enum false false false false false true true true true true 0.048828 0.048828 40 4-byte PRBS 7-bit hw_sio_gt オブジ ェ ク ト のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_hw_sio_gts] 0] HW_SIO_GTGROUP 説明 GT グループはハー ド ウ ェ ア デバ イ ス 上の GT IO バ ン ク に関連 し てい る ので、 使用可能な GT ピ ンお よ びバ ン ク は タ ーゲ ッ ト のザ イ リ ン ク ス FPGA に よ っ て決ま り ます。 た と えば、 Kintex-7 XC7K325 パーツには 4 つのグループがあ り 、 それぞれに 4 つの差動 GT ピ ンのペアが含まれます。 各 GT ピ ンには、 独自の レ シーバー (hw_sio_rx) と ト ラ ン ス ミ ッ タ ー (hw_sio_tx) が含まれ ます。 GT グループには、 区画ご と に共有 PLL ( ク ワ ッ ド PLL) も 1 つ含ま れます。 GT グループは IBERT デバ ッ グ コ アで定義 さ れてお り 、 IBERT を RTL デザ イ ンに追加す る と き に多数の設定を使用 し て カ ス タ マ イ ズで き ます。詳細は、『LogiCORE IP Integrated Bit Error Ratio Tester (IBERT) for 7 Series GTX Transceivers v3.0 製品ガ イ ド 』 (PG132) を参照 し て く だ さ い。 関連オブ ジ ェ ク ト GT グ ル ー プ は、 hw_device、 hw_sio_ibert、 hw_sio_gt、 hw_sio_common、 hw_sio_pll、 hw_sio_tx、 hw_sio_rx、 お よ び hw_sio_link オブジ ェ ク ト に接続 さ れます。 こ れ ら のグループに接続 さ れた GT オブジ ェ ク ト は、 次の よ う に取得で き ます。 get_hw_sio_gtgroups -of [get_hw_sio_gts *MGT_X0Y9] プ ロパテ ィ report_property コ マ ン ド を使用す る と 、hw_sio_gtgroup オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ま す。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を 参照 し て く だ さ い。 次は hw_sio_gtgroup オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例です。 プ ロ パテ ィ タ イプ 読み出 し 専用 表示可能 値 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 68 第 1 章 : 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 コ アは、 単純な ク ロ ッ ク や接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適化の問題ま で、 さ ま ざ ま な イ ン シ ス テ ム デバ ッ グお よ び検証の問題を解決する ために使用で き ます。 関連オブ ジ ェ ク ト 70 ペ ー ジ の 図 1-25 に 示す よ う に、 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 69 第 1 章 : Vivado の第一級オブ ジ ェ ク ト X-Ref Target - Figure 1-25 KZBFIJPHP KZBWDUJHW KZBGHYLFH KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBYLR KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN REH KZBVLRBJW KZBVLRBSOO KZBVLRBOLQNJURXS KZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ KZBVLRBJWJURXS 図 1‐25 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 70 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 71 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 72 第 1 章 : Vivado の第一級オブ ジ ェ ク ト HW_SIO_RX 説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た レ シーバー (hw_sio_rx) が含ま れま す。 高速シ リ アル デー タ は、 ボー ド 上の ト レー ス か ら GTX/GTH ト ラ ン シーバー RX の PMA、 PCS、 そ し て最後に FPGA ロ ジ ッ ク に送信 さ れます。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-26 KZBELWVWUHDP KZBVLRBVZHHS KZBVLRBVFDQ KZBD[L KZBV\VPRQ KZBVLRBLEHUW KZBVLRBOLQN KZBVLRBJW KZBVLRBSOO KZBVLRBOLQNJURXS ZBD[LBW[Q KZBVLRBW[ KZBVLRBU[ KZBVLRBJWJURXS 図 1‐26 : ハー ド ウ ェ ア 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 73 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 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 74 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 75 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 76 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string string 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 77 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 78 第 1 章 : Vivado の第一級オブ ジ ェ ク ト HW_SIO_TX 説明 ハー ド ウ ェ ア デバ イ ス上では、 各 GT に PCS お よ び PMA で構成 さ れ る 独立 し た ト ラ ン ス ミ ッ タ ー (hw_sio_tx) が含 まれます。 パ ラ レル デー タ は、 デバ イ ス ロ ジ ッ ク か ら FPGA TX イ ン タ ーフ ェ イ ス に送信 さ れ、 PCS お よ び PMA を 介 し て TX ド ラ イ バーか ら 高速シ リ アル デー タ と し て出力 さ れます。 関連オブ ジ ェ ク ト 73 ペー ジ の図 1-26 は、 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 (v2014.2) 2014 年 8 月 5 日 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 79 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 80 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 81 第 1 章 : Vivado の第一級オブ ジ ェ ク ト hw_sysmon 説明 シ ス テ ム モニ タ ー (hw_sysmon) は、 ザ イ リ ン ク ス デバ イ ス上の Analog-to-Digital Converter (ADC) 回路で、 温度お よ び電圧な ど の動作状況を測定す る ために使用 さ れます。 hw_sysmon は、 オンチ ッ プ温度お よ び供給セ ンサーを使用 し て物理的な環境を監視 し ます。 ADC は、 広範囲のアプ リ ケーシ ョ ンに高精度のアナ ロ グ イ ン タ ーフ ェ イ ス を提供 し ます。 ADC は最大で 17 の外部アナ ロ グ入力チ ャ ネルにア ク セ ス で き ます。 hw_sysmon には、 デー タ レ ジ ス タ (hw_sysmon_reg オブジ ェ ク ト ) が含まれ、 温度お よ び電圧の現在の値が格納 さ れま す。現在の hw_device での こ れ ら の レ ジ ス タ の値には、ハー ド ウ ェ ア サーバー と タ ーゲ ッ ト に接続 さ れ る 場合、Vivado Design Suite のハー ド ウ ェ ア マネージ ャ ー機能を使用 し て ア ク セ ス で き ます。 hw_sysmon は、 Virtex-7 と UltraScale で 異な り ます。 XADC の専用レ ジ ス タ お よ びそれ ら の読み出 し 方法の詳細は、 『UltraScale アー ク テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース Advance 仕様ユーザー ガ イ ド 』 (UG580)[参照 8] ま たは『7 シ リ ーズ FPGA の XADC 12 ビ ッ ト 1MSPS デ ュ アル アナ ロ グ-デジ タ ル コ ンバー タ ー ユーザー ガ イ ド 』 (UG480)[参照 4] を参照 し て く だ さ い。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-27 KZBVHUYHU KZBD[L KZBWDUJHW KZBV\VPRQ KZBGHYLFH KZBLOD KZBYLR KZBV\VPRQBUHJ KZBSUREH KZBVLR 図 1‐27 : hw_sysmon オブ ジ ェ ク ト hw_sysmon オブジ ェ ク ト は、 現在のhw_target お よ び hw_server にプ ロ グ ラ ム さ れた hw_device のハー ド ウ ェ ア マネー ジ ャ ーに含まれます。 hw_device の hw_sysmon は次の よ う に取得で き ます。 get_hw_sysmons -of [get_hw_devices] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 82 第 1 章 : Vivado の第一級オブ ジ ェ ク ト ま た、 hw_sysmon には複数の ス テー タ ス レ ジ ス タ (hw_sysmon_reg オブジ ェ ク ト ) が含まれ、 それぞれでデバ イ ス の動 作温度お よ び電源レールが監視 さ れます。 こ れ ら の レ ジ ス タ に格納 さ れた値は、次の よ う に hw_sysmon オブジ ェ ク ト で レ ジ ス タ を読み出す と 戻す こ と がで き ます。 get_hw_sysmon_reg [get_hw_sysmons] 00 プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_sysmon オブジ ェ ク ト に割 り 当て ら れた実際のプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。 詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。 hw_sysmon のプ ロ パテ ィ を レ ポー ト す る には、次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ルま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [lindex [get_hw_sysmons] 0] Property Type Read-only Visible ADC_A_GAIN hex true true ADC_A_OFFSET hex true true ADC_B_GAIN hex true true ADC_B_OFFSET hex true true CLASS string true true CONFIG_REG.ACQ binary false true CONFIG_REG.ALM0 binary false true CONFIG_REG.ALM1 binary false true CONFIG_REG.ALM2 binary false true CONFIG_REG.ALM3 binary false true CONFIG_REG.ALM4 binary false true CONFIG_REG.ALM5 binary false true CONFIG_REG.ALM6 binary false true CONFIG_REG.AVG binary false true CONFIG_REG.BU binary false true CONFIG_REG.CAL0 binary false true CONFIG_REG.CAL1 binary false true CONFIG_REG.CAL2 binary false true CONFIG_REG.CAL3 binary false true CONFIG_REG.CAVG binary false true CONFIG_REG.CD binary false true CONFIG_REG.CH binary false true CONFIG_REG.EC binary false true CONFIG_REG.MUX binary false true CONFIG_REG.OT binary false true CONFIG_REG.PD binary false true CONFIG_REG.SEQ binary false true DESCRIPTION string true true FLAG.ALM0 binary true true FLAG.ALM1 binary true true FLAG.ALM2 binary true true FLAG.ALM3 binary true true FLAG.ALM4 binary true true FLAG.ALM5 binary true true FLAG.ALM6 binary true true FLAG.JTGD binary true true FLAG.JTGR binary true true FLAG.OT binary true true FLAG.REF binary true true LOWER_TEMPERATURE string false true LOWER_TEMPERATURE_SCALE enum false true LOWER_VCCAUX string false true Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 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 0 -273.1 CELSIUS 0.000 83 第 1 章 : Vivado の第一級オブ ジ ェ ク ト 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 VCCO_DDR string true true 0.000 VCCPAUX string true true 0.000 VCCPINT string true true 0.000 VP_VN string true true 0.000 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 84 第 1 章 : Vivado の第一級オブ ジ ェ ク ト VREFN VREFP string string true true true true 0.000 0.000 HW_TARGET 説明 ハー ド ウ ェ ア タ ーゲ ッ ト (hw_target) と は、 ビ ッ ト ス ト リ ーム フ ァ イ ルを使用 し てプ ロ グ ラ ム、 ま たはデザ イ ン をデ バ ッ グす る ために使用す る 、 1 つ以上のザ イ リ ン ク ス FPGA デバ イ ス か ら 構成 さ れ る JTAG チ ェーン を含むシ ス テ ム ボー ド です。シ ス テ ム ボー ド 上のハー ド ウ ェ ア タ ーゲ ッ ト と Vivado Design Suite と の接続は、ハー ド ウ ェ ア サーバー オブジ ェ ク ト (hw_server) で制御 さ れます。 使用可能なハー ド ウ ェ ア タ ーゲ ッ ト の 1 つへの接続を開 く には、 open_hw_target コ マ ン ド を使用 し ます。 開いた タ ー ゲ ッ ト は、 自動的に現在のハー ド ウ ェ ア タ ーゲ ッ ト と な り ます。 Vivado の ロ ジ ッ ク 解析では、 プ ロ グ ラ ムお よ びデ バ ッ グ コ マ ン ド が hw_server 接続を使用 し て開いた タ ーゲ ッ ト の FPGA デバ イ ス オブジ ェ ク ト (hw_device) に使用 さ れます。 サポー ト さ れ る JTAG ダ ウ ン ロ ー ド ケーブルお よ びデバ イ ス の リ ス ト は、『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) を参照 し て く だ さ い。 関連オブ ジ ェ ク ト X-Ref Target - Figure 1-28 KZBFIJPHP KZBVHUYHU KZBWDUJHW KZBGHYLFH KZBELWVWUHDP 図 1‐28 : ハー ド ウ ェ ア タ ーゲ ッ ト オブ ジ ェ ク ト ハー ド ウ ェ ア タ ーゲ ッ ト はハー ド ウ ェ ア サーバーに接続 さ れてお り 、次の よ う に hw_server オブジ ェ ク ト のオブジ ェ ク ト と し て取得で き ます。 get_hw_target -of [get_hw_servers] ま た、 次を使用す る と 、 ハー ド ウ ェ ア タ ーゲ ッ ト に接続 さ れたハー ド ウ ェ ア デバ イ ス を取得で き ます。 get_hw_devices -of [current_hw_target] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 85 第 1 章 : Vivado の第一級オブ ジ ェ ク ト プ ロパテ ィ report_property コ マ ン ド を使用す る と 、 hw_target オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ を レ ポー ト す る こ と がで き ます。詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 し て く だ さ い。次は、hw_target オブジ ェ ク ト に割 り 当て ら れたプ ロ パテ ィ と その値の例を示 し てい ます。 Property Type Read-only Visible CLASS string true true DEVICE_COUNT int true true HW_JTAG hw_jtag true true IS_OPENED bool true true NAME string true true localhost/xilinx_tcf/Digilent/210203327463A PARAM.DEVICE string true true PARAM.FREQUENCY enum true true PARAM.TYPE string true true TID string true true UID string true true Value hw_target 1 1 jsn-JTAG-SMT1-210203327463A 15000000 xilinx_tcf jsn-JTAG-SMT1-210203327463A Digilent/210203327463A hw_target のプ ロ パテ ィ を レ ポー ト す る には、 次の コ マ ン ド を コ ピー し て Vivado Design Suite の Tcl シ ェ ル ま たは Tcl コ ン ソ ールに貼 り 付け ます。 report_property -all [get_hw_targets] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 86 第 1 章 : 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 1-29 KZBVHUYHU KZBLOD KZBWDUJHW KZBYLR KZBD[L KZBGHYLFH KZBV\VPRQ KZBSUREH KZBVLRBLE KZBVLRBJW 図 1‐29 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 87 第 1 章 : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 88 第 2章 主な プ ロパテ ィ の説明 プ ロパテ ィ 情報 本章では、 ザ イ リ ン ク ス Vivado® Design Suite プ ロ パテ ィ について説明 し ます。 各プ ロ パテ ィ の説明には、 該当す る 場合は次の情報が含ま れます。 • 主な使用方法を含むプ ロ パテ ィ の説明 • プ ロ パテ ィ をサポー ト す る ザ イ リ ン ク ス FPGA デバ イ ス アーキ テ ク チ ャ (UltraScale™を含む)。 例外は注記 さ れ てい ます。 • プ ロ パテ ィ をサポー ト す る オブジ ェ ク ト ま たはデバ イ ス リ ソ ース。 • プ ロ パテ ィ に割 り 当て可能な値 • Verilog、 VHDL、 XDC の構文 • プ ロ パテ ィ の影響を受け る デザ イ ン フ ロ ーの ス テ ッ プ • 関連プ ロ パテ ィ への相互参照 重要 : HDL と XDC の両方でプ ロ パテ ィ が定義 さ れてい る 場合は、 XDC のほ う が優先 さ れ、 HDL プ ロ パテ ィ は上書 き さ れます。 Vivado Design Suite での こ れ ら のプ ロ パテ ィ の使用については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を[参照 12]参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 89 第 2 章 : 主な プ ロパテ ィ の説明 ASYNC_REG ASYNC_REG 属性は、 Vivado ツール フ ロ ーの さ ま ざ ま なプ ロ セ ス に影響 し ます。 ASYNC_REG では、 次が指定 さ れ ます。 • 非同期デー タ が ソ ース ク ロ ッ ク と 接続 さ れ る D 入力ピ ンで レ ジ ス タ が受信で き る 。 ま たは • レ ジ ス タ が同期チ ェーン内の同期レ ジ ス タ にな る 。 シ ミ ュ レ ーシ ョ ン中に タ イ ミ ン グ違反が発生す る と 、 デ フ ォ ル ト では レ ジ ス タ エ レ メ ン ト か ら X ま たは未知の ス テー ト (1 で も 0 で も ない値) が出力 さ れます。 こ の場合、 エ レ メ ン ト の駆動する も のすべての入力が X と 表示 さ れ、 未知の ス テー ト にな り ます。 こ の状態の ま ま に し てお く と 、 デザ イ ンの大 き なセ ク シ ョ ンが未知にな っ た り 、 シ ミ ュ レー タ で こ の ス テー ト か ら 回復で き ない こ と があ り ます。 ASYNC_REG では、 タ イ ミ ン グ違反が発生 し て も 最後の既 知の値を出力す る よ う に レ ジ ス タ が変更 さ れます。 Vivado 合成では、 こ の属性は 「DONT_TOUCH」 属性 と し て処理 さ れ、 ASYNC_REG プ ロ パテ ィ を ネ ッ ト リ ス ト に挿 入 し ます。 こ れに よ り 、 合成で レ ジ ス タ ま たは周囲の ロ ジ ッ ク が最適化 さ れな く な り 、 フ ロ ーの後のほ う の ツールで 適切に処理 さ れ る よ う にな り ます。 ASYNC_REG を指定す る と 、 最適化、 配置、 配線に も 影響 し 、 メ タ ス テーブルにな る 可能性のあ る MTBF (平均故障 間隔) が改善 さ れます。 ASYNC_REG が指定 さ れてい る と 、 配置ツールで非同期チ ェーンの フ リ ッ プ フ ロ ッ プ同士が 近 く に配置 さ れ、 MTBF を最長にで き ます。 ASYNC_REG が設定 さ れ直接接続 さ れてい る レ ジ ス タ に、 互換性のあ る 制御セ ッ ト があ り 、 ま た レ ジ ス タ 数が ス ラ イ ス の使用可能な リ ソ ース数を超え ない場合は、 グループに ま と め ら れて 1 つの ス ラ イ ス に一緒に配置 さ れます。 X-Ref Target - Figure 2-1 図 2‐1 : ク ロ ッ ク ド メ イ ンの同期 重要 : ASYNC_REG と IOB の両方が レ ジ ス タ に割 り 当て ら れ る と 、 IOB プ ロ パテ ィ が ASYNC_REG よ り も 優先 さ れ、 レ ジ ス タ が SLICE ロ ジ ッ ク ではな く 、 ILOGIC ブ ロ ッ ク に配置 さ れます。 次は、 90 ページの図 2-1 にあ る フ リ ッ プ フ ロ ッ プを 2 つ使用 し た、 ま たは 1 段のシ ン ク ロ ナ イ ザーの Verilog 例です。 レ ジ ス タ は、 個別の ク ロ ッ ク ド メ イ ン か ら の値を同期 さ せます。 ASYNC_REG プ ロ パテ ィ の値が TRUE なのでシ ン ク ロ ナ イ ザー段に適用 さ れます。 (* ASYNC_REG = "TRUE" *) reg sync_0, sync_1; always @(posedge clk) begin sync_1 <= sync_0; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 90 第 2 章 : 主な プ ロパテ ィ の説明 sync_0 <= en; ... ASYNC_REG プ ロ パテ ィ を使用す る と 、 レ ジ ス タ がグループ化 さ れ る ので、 で き る だけ近 く に配置す る こ と がで き ま す。 X-Ref Target - Figure 2-2 図 2‐2 : レ ジ ス タ のグループ化 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ソ ース RTL で宣言 さ れた信号 • イ ン ス タ ン シエー ト さ れた レ ジ ス タ セル (get_cells) ° レ ジ ス タ (FD、 FDCE、 FDPE、 FDRE、 FDSE) 値 • FALSE (デフ ォ ル ト ) : レ ジ ス タ は最適化で削除 さ れ る か、 SRL、 DSP、 ま たは RAMB な ど のブ ロ ッ ク に吸収 さ れ ます。 特殊なシ ミ ュ レーシ ョ ン、 配置、 配線規則は適用 さ れません。 • TRUE : レ ジ ス タ は同期チ ェーンの一部で、 イ ンプ リ メ ン テーシ ョ ン中 も 保持 さ れ、 チ ェーンのその他の レ ジ ス タ の近 く に配置 さ れて、 MTBF レ ポー ト に使用 さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 91 第 2 章 : 主な プ ロパテ ィ の説明 構文 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|FALSE}"; 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 92 第 2 章 : 主な プ ロパテ ィ の説明 • phys_opt_design • power_opt_design • report_drc • write_verilog • write_vhdl 関連項目 139 ページの 「IOB」 BEL BEL では レ ジ ス タ ま たは LUT の ス ラ イ ス内での特定の配置を指定 し ます。 通常 LOC プ ロ パテ ィ と 一緒に使用 し て、 レ ジ ス タ ま たは LUT の正確な配置を指定 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) ° レ ジ ス タ (FD、 FDCE、 FDPE、 FDRE、 FDSE) ° LUT (LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 LUT6、 LUT6_2) ° SRL (SRL16E、 SRLC32E) ° LUTRAM (RAM32X1S、 RAM64X1S) 値 • BEL = <name> BEL の ロ ジ ッ ク コ ン テ ン ツ次第で、 BEL の名前は変わ り ます。 ま た、 BEL 名には BEL のサ イ ト 名を含め る こ と も で き ま す。 た と え ば、 BSCAN_X0Y0/BSCAN、 IPAD_X0Y54/IPAD、 BUFGCTRL_X0Y16/BUFG、 SLICE_X1Y199/A5FF な ど が有効な BEL 名です。 構文 Verilog 構文 Verilog 属性は LUT ま たは レ ジ ス タ の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。推論 さ れた レ ジ ス タ の SRL ま たは LUTRAM の reg 宣言前に配置す る こ と も で き ます。 (* BEL = "site_name" *) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 93 第 2 章 : 主な プ ロパテ ィ の説明 Verilog の構文例 // Designates placed_reg to be placed in FF site A5FF (* BEL = "A5FF" *) reg placed_reg; VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute BEL : string; イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。 attribute BEL of instance_name : label is "site_name"; 説明 : • instance_name は LUT、 SRL、 LUTRAM な ど の イ ン ス タ ン シエー ト 済みレ ジ ス タ の イ ン ス タ ン ス名です。 VHDL の構文例 -- Designates instantiated register instance placed_reg to be placed in FF site A5FF attribute BEL of placed_reg : label is "A5FF"; 推論済み イ ン ス タ ン ス の場合、 VHDL 属性は次の よ う に指定 し ます。 attribute BEL of signal_name : signal is "site_name"; 説明 : • signal_name は LUT、 SRL、 LUTRAM な ど の推論済みレ ジ ス タ の信号名です。 VHDL の構文例 -- Designates instantiated register instance placed_reg to be placed in FF site A5FF attribute BEL of placed_reg : signal is "A5FF"; XDC 構文 set_property BEL site_name [get_cells instance_name] 説明 : • instance_name はレ ジ ス タ、 LUT、 SRL、 ま たは LUTRAM イ ン ス タ ン ス です。 XDC の構文例 # Designates placed_reg to be placed in FF site A5FF set_property BEL A5FF [get_cells placed_reg] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 94 第 2 章 : 主な プ ロパテ ィ の説明 影響を受ける ス テ ッ プ • デザ イ ンの フ ロ アプ ラ ン • place_design 関連項目 152 ページの 「LOC」 BLACK_BOX BLACK_BOX 属性は、 すべての階層レベルをオ フ に し 、 合成でそのモジ ュ ールま たはエン テ ィ テ ィ に対 し てブ ラ ッ ク ボ ッ ク ス を作成で き る よ う にす る デバ ッ グ用の属性です。 こ の属性を指定する と 、 モジ ュ ールま たはエン テ ィ テ ィ に 対 し て有効な ロ ジ ッ ク があ っ た と し て も 、 合成ツールでその レベルに対 し てブ ラ ッ ク ボ ッ ク ス が作成 さ れます。 こ の 属性はモジ ュ ール、 エン テ ィ テ ィ 、 コ ン ポーネ ン ト に設定で き ます。 こ の属性は合成 コ ンパ イ ラ に影響す る ので、 RTL でのみ設定可能です。 ブ ラ ッ ク ボ ッ ク ス の コ ーデ ィ ン グ ス タ イ ルの詳細については、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) [参照 11] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト • すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ソ ース RTL のモジ ュ ール、 エン テ ィ テ ィ 、 ま たは コ ン ポーネ ン ト 値 • TRUE (ま たは YES) : 合成中に コ ン ポーネ ン ト ま たはモジ ュ ールをブ ラ ッ ク ボ ッ ク ス と し てマー ク し ます。 • FALSE (ま たは NO) : コ ン ポーネ ン ト ま たはモジ ュ ールを ブ ラ ッ ク ボ ッ ク ス と し てマー ク し ません。 こ れがデ フ ォ ル ト です。 構文 Verilog 構文 Verilog の場合、 モジ ュ ールの BLACK_BOX 属性には値が必要な く 、 その存在自体でブ ラ ッ ク ボ ッ ク ス が定義 さ れま す。 (* black_box *) module test(in1, in2, clk, out1); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 95 第 2 章 : 主な プ ロパテ ィ の説明 VHDL 構文 attribute black_box attribute black_box : string; of beh : architecture is "yes"; XDC 構文 該当な し 影響を受ける ス テ ッ プ • 合成 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 96 第 2 章 : 主な プ ロパテ ィ の説明 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; XDC 構文 BUFFER_TYPE プ ロ パテ ィ は、 XDC 制約フ ァ イ ルのポー ト オブジ ェ ク ト に も 使用で き ます。 set_property BUFFER_TYPE <value> [get_ports <port_name>] 説明 : • <value> には、 BUFFER_TYPE の有効な値を指定 し ます。 • <port_name> には、 プ ロ パテ ィ を設定す る ポー ト 名を指定 し ます。 影響を受ける ス テ ッ プ • 合成 関連項目 99 ページの 「CLOCK_BUFFER_TYPE」 137 ページの 「IO_BUFFER_TYPE」 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 以下にする 必要があ り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 97 第 2 章 : 主な プ ロパテ ィ の説明 CFGBVS の詳細につい ては、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド 』 (UG470)[参照 1] ま たは 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570)[参照 5] を参照 し て く だ さ い。 デ ザ イ ン の CONFIG_MODE 設 定 の 互 換性 を 確認す る た め、 Report CONFIG_VOLTAGE をチ ェ ッ ク し ます。 DRC コマン ド が CFGBVS および アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • デザ イ ン (current_design、 get_designs) 値 • 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] XDC の構文例 # Configure I/O Bank 0 for 3.3V/2.5V operation set_property CFGBVS VCCO [get_designs impl_1] 影響を受ける ス テ ッ プ • I/O 配置 • DRC レ ポー ト • write_bitstream 関連項目 103 ページの 「CONFIG_MODE」 104 ページの 「CONFIG_VOLTAGE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 98 第 2 章 : 主な プ ロパテ ィ の説明 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 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 99 第 2 章 : 主な プ ロパテ ィ の説明 影響を受ける ス テ ッ プ • 合成 関連項目 96 ページの 「BUFFER_TYPE」 137 ページの 「IO_BUFFER_TYPE」 CLOCK_DEDICATED_ROUTE CLOCK_DEDICATED_ROUTE プ ロ パテ ィ は、 タ ーゲ ッ ト デバ イ ス に対す る ク ロ ッ ク 配置ルールに厳密に従 う べ き か ど う か を設定 し ます。 外部ユーザー ク ロ ッ ク は、 ク ロ ッ ク 対応入力 (CCIO) と 呼ばれ る 差動 ク ロ ッ ク ピ ンのペアか ら FPGA に供給す る 必要 があ り ます。 こ れ ら の CCIO は、 さ ま ざ ま な ク ロ ッ ク 供給機能の タ イ ミ ン グ を確約する ため、 内部のグ ロ ーバルお よ び リ ージ ョ ナル ク ロ ッ ク リ ソ ースへの専用、 高速配線を提供 し ます。 ク ロ ッ ク 配置ルールの詳細については、 『7 シ リ ーズ FPGA ク ロ ッ キ ン グ ユーザー ガ イ ド 』 (UG472)[参照 3]ま たは 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ ユー ザー ガ イ ド 』 (UG572)[参照 7] を参照 し て く だ さ い。 通常、 タ ーゲ ッ ト の 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 ま での タ イ Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 100 第 2 章 : 主な プ ロパテ ィ の説明 ミ ン グ パ ス に遅延が追加 さ れ ますが、 こ れは MMCM や PLL フ ィ ー ド バ ッ ク に よ っ ては完全には削除 さ れ ませ ん。 遅延が追加 さ れて も デザ イ ンの タ イ ミ ン グが満た さ れ る 場合は BACKBONE を使用 し ます。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property CLOCK_DEDICATED_ROUTE [TRUE | FALSE | BACKBONE] [get_nets net_name] 説明 : • net_name は、 グ ロ ーバル ク ロ ッ ク バ ッ フ ァ ーの入力に接続 さ れた信号名です。 XDC の構文例 # Designates clk_net to have relaxed clock placement rules set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_net] 影響のある処理 • place_design • report_drc CLOCK_ROOT ク ロ ッ ク ド ラ イ バー、 ま たはルー ト を タ ーゲ ッ ト デバ イ ス の特定 ク ロ ッ ク 領域に割 り 当て る ために使用 し ます。 CLOCK_ROOT プ ロ パテ ィ はデバ イ ス全体で ク ロ ッ ク ス キ ュ ーを管理 し やす く する こ と を目的に使用 し ます。デフ ォ ル ト では、 すべての ロ ー ド に対 し 、 ベス ト な状態で ク ロ ッ ク 遅延のバ ラ ン ス を取 る こ と がで き る よ う 、 ク ロ ッ ク ルー ト が ク ロ ッ ク ネ ッ ト ワ ー ク の中央に自動的に配置配線ツールに よ り 割 り 当て ら れます。CLOCK_ROOT プ ロ パテ ィ を 使用す る と 、 こ の ク ロ ッ ク ルー ト を手動で割 り 当て る こ と がで き ます。 CLOCK_ROOT プ ロ パテ ィ は、 グ ロ ーバル ネ ッ ト 、 ま たはそれを駆動す る セルに設定す る こ と がで き ます。 階層ネ ッ ト の場合は、 ネ ッ ト の任意箇所に こ のプ ロ パテ ィ を割 り 当て る こ と がで き ますが、 プ ロ パテ ィ は最上位 ク ロ ッ ク ネ ッ ト に設定 さ れます。 こ の割 り 当て を知 ら せ る メ ッ セージが表示 さ れます。 CLOCK_ROOT プ ロ パテ ィ は ク ロ ッ ク リ ソ ース の配置中に検証 ・ 使用 さ れ る ため、 配置前に割 り 当ててお く 必要があ り ます。 し か し 、 配置後に割 り 当て る 場合は、 配置を実行 し てそれをデザ イ ンに反映 さ せ る 必要があ り ます。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 101 第 2 章 : 主な プ ロパテ ィ の説明 適用可能なオブ ジ ェ ク ト • ネ ッ ト - グ ロ ーバル ク ロ ッ ク ネ ッ ト (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> 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}] 影響のある処理 • 配置 • 配線 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 102 第 2 章 : 主な プ ロパテ ィ の説明 CONFIG_MODE CONFIG_MODE プ ロ パテ ィ は、 ピ ン割 り 当て、 DRC レ ポー ト 、 ビ ッ ト ス ト リ ーム生成に対 し 、 ど のデバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド を使用す る か を定義 し ます。 重要 : COMPATIBLE_CONFIG_MODES プ ロ パテ ィ は 2013. 3 リ リ ース で中止 と な り 、こ の CONFIG_MODE プ ロ パテ ィ に置 き 換え ら れてい ます。 ザ イ リ ン ク ス FPGA は、 特別な コ ン フ ィ ギ ュ レーシ ョ ン ピ ン を使用 し て、 アプ リ ケーシ ョ ン別の コ ン フ ィ ギ ュ レー シ ョ ン デー タ ま たはビ ッ ト ス ト リ ーム を内部 メ モ リ に読み込む こ と に よ っ て、 コ ン フ ィ ギ ュ レーシ ョ ン さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ パ ス には一般的に 2 種類あ り ます。 必要なデバ イ ス ピ ンの数を最小限に抑え る ために 使用 さ れ る シ リ ア ル デー タ パ ス、 よ り 高速 な コ ン フ ィ ギ ュ レ ー シ ョ ン 用 の パ ラ レ ル デー タ パ ス の 2 つ で す。 CONFIG_MODE プ ロ パテ ィ を使用 し て、 デザ イ ンに対 し ど のモー ド を使用す る か を定義 し ます。 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド の詳細については、『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470)[参照 1]ま たは 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570)[参照 5] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • デザ イ ン (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 103 第 2 章 : 主な プ ロパテ ィ の説明 構文 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 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)[参照 5] を参照 し て く だ さ い。 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 モデルを エ ク ス ポー ト す る 際に も 使用 さ れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 104 第 2 章 : 主な プ ロパテ ィ の説明 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • デザ イ ン (current_design、 get_designs) 値 • 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 [get_designs impl_1] 影響のある処理 • place_design • report_drc • write_bitstream 関連項目 97 ページの 「CFGBVS」 103 ページの 「CONFIG_MODE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 105 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 14] を参照 し て く だ さ い。 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 名を指定 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 106 第 2 章 : 主な プ ロパテ ィ の説明 XDC の例 set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine0] set_property CONTAIN_ROUTING true [get_pblocks pblock_usbEngine1] 影響のある処理 • 配線 関連項目 118 ページの 「EXCLUDE_PLACEMENT」 170 ページの 「PBLOCK」 DCI_CASCADE DCI_CASCADE は、 ハ イ パフ ォーマ ン ス (HP) I/O バン ク のグループ内でのマ ス タ ー /ス レーブ関係を定義 し ます。 デ ジ タ ル制御 イ ン ピーダ ン ス (DCI) の基準電圧は、 マ ス タ ーの I/O バン ク か ら ス レーブの I/O バン ク ま でチ ェーン接続 さ れてい ます。 DCI_CASCADE は、 ど の隣接バン ク が DCI カ ス ケー ド 機能を使用す る か を指定す る ので、 基準抵抗器を マ ス タ ー バ ン ク と 共有す る こ と にな り ます。 同 じ I/O バン ク 列にあ る 複数の I/O バン ク が DCI を使用 し ていて、 同 じ VRN/VRP 抵抗値を使用す る 場合、 1 ペアの ピ ンだけ を高精度抵抗器に接続すれば よ い よ う にす る ため、 内部 VRN お よ び VRP ノ ー ド がカ ス ケー ド さ れ ます。 DCI_CASCADE はマ ス タ ー バン ク 、 お よ び こ の機能に関連付け ら れてい る すべての ス レーブ バン ク を識別 し ます。 詳細については、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471)[参 照 2]ま たは 『UltraScale アーキ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571)[参照 6] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト • Kintex®-7 デバ イ ス • Kintex UltraScale デバ イ ス • Virtex®-7 デバ イ ス • Virtex UltraScale デバ イ ス • 大型の Zynq® デバ イ ス 適用可能なオブ ジ ェ ク ト • I/O バン ク (get_iobanks) ° High Performance (HP) バン ク タ イ プ 値 有効なハ イ パフ ォーマ ン ス (HP) バン ク 番号 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 107 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property DCI_CASCADE {slave_banks} [get_iobanks master_bank] 説明 : • slave_banks は ス レーブ バン ク のバン ク 番号の リ ス ト です。 • master_bank は指定 さ れたマ ス タ ー バン ク のバン ク 番号です。 XDC の構文例 # Designate Bank 14 as a master DCI Cascade bank and Banks 15 and 16 as its slaves set_property DCI_CASCADE {15 16} [get_iobanks 14] 影響のある処理 • I/O 配置 • place_design • DRC • write_bitstream • report_power DIFF_TERM 差動終端 (DIFF_TERM) プ ロ パテ ィ は入力お よ び双方向ポー ト の差動 I/O 規格をサポー ト し ます。 ビル ト イ ン さ れた、 100オームの差動終端を イ ネーブル/デ ィ ス エーブルす る のに使用 し ます。 詳細は、 『7 Series FPGAs SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) [参照 2]を参照 し て く だ さ い。 DIFF_TERM は、 差動の入力お よ び双方向ポー ト バ ッ フ ァ ーに差動終端を使用す る 必要があ り 、 ま た Vivado ツール がポー ト にオンチ ッ プ終端を追加す る 必要のあ る こ と を示 し ます。 アーキテ ク チ ャ サポー ト 7 シ リ ーズ デバ イ ス Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 108 第 2 章 : 主な プ ロパテ ィ の説明 推奨 : UltraScale アーキ テ ク チ ャ デバ イ ス の場合は、 差動終端を イ ネーブルにす る ため、 「DIFF_TERM_ADV」 を使用 す る 必要があ り ます。 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° • 差動入力バ ッ フ ァ ーに接続 さ れた入力ポー ト ま たは双方向ポー ト 次の I/O 規格のいずれか を使用 し てい る エ レ メ ン ト : ° LVDS ° LVDS_25 ° MINI_LVDS_25 ° PPDS_25 ° RSDS_25 値 • FALSE (デフ ォ ル ト ) 差動終端はデ ィ ス エーブルにな り ます。 • TRUE 差動終端は イ ネーブルにな り ます。 構文 推奨 : 言語テ ン プ レー ト ま たは 『Vivado Design Suite 7 シ リ ーズ ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17]か ら の イ ン ス タ ン シエーシ ョ ン テ ンプ レー ト を使用 し て、 適切な構文を指定 し て く だ さ い。 Verilog 構文 DIFF_TERM パ ラ メ ー タ ーを ポー ト 宣言の直前に配置 し ます。 (* DIFF_TERM = "TRUE" *) input PORT Verilog の構文例 // Enables differential termination on the specified port (* DIFF_TERM = "TRUE" *) input CLK; VHDL 構文 VHDL 属性は次の よ う に宣言 し て指定 し ます。 attribute DIFF_TERM : string; attribute DIFF_TERM of port_name : signal is "TRUE"; VHDL の構文例 -- Designates differential termination on the specified port Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 109 第 2 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 110 ページの 「DIFF_TERM_ADV」 • 131 ページの 「IBUF_LOW_PWR」 • 144 ページの 「IOSTANDARD」 DIFF_TERM_ADV ア ド バン ス差動終端 (DIFF_TERM_ADV) プ ロ パテ ィ は UltraScale アーキ テ ク チ ャ でのみ使用す る も ので、 入力ま たは 双方向ポー ト の、 ビル ト イ ン さ れた 100 オームの差動終端を イ ネーブル/デ ィ ス エーブルする ために使用 し ます。 DIFF_TERM_ADV は入力お よ び双方向ポー ト にのみ使用で き 、 ま た適切な VCCO 電圧で し か使用で き ま せん。 100 オームの実効差動終端を提供す る には、 I/O バン ク の VCCO は、 HP I/O バン ク の場合は 1.8V に接続 し 、 HR I/O バン ク の場合は 2.5V に接続す る 必要が あ り ま す。 詳細は、 『UltraScale Series FPGAs SelectIO リ ソ ー ス ユーザー ガ イ ド 』 (UG571) [参照 6]を参照 し て く だ さ い。 ヒ ン ト : 7 シ リ ーズ デザ イ ン を UltraScale アーキ テ ク チ ャ に移行する には、「DIFF_TERM」 プ ロ パテ ィ を使用す る と 適 切な DIFF_TERM_ADV 値に自動的にア ッ プデー ト さ れます。 DIFF_TERM_ADV お よ び DIFF_TERM は、 差動の入力お よ び双方向ポー ト バ ッ フ ァ ーに差動終端を使用す る 必要が あ り 、 ま た Vivado Design Suite がポー ト にオンチ ッ プ終端を追加する 必要のあ る こ と を示 し ます。 アーキテ ク チ ャ サポー ト UltraScale Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 110 第 2 章 : 主な プ ロパテ ィ の説明 適用可能なオブ ジ ェ ク ト • ポー ト (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 構文 該当な し 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 111 第 2 章 : 主な プ ロパテ ィ の説明 • report_power 関連項目 • 108 ページの 「DIFF_TERM」 • 144 ページの 「IOSTANDARD」 DONT_TOUCH 重要 : KEEP お よ び KEEP_HIERARCHY 属性を DONT_TOUCH に置換 し ます。 DONT_TOUCH は、 ユーザー階層ま たは イ ン ス タ ン シエー ト 済み コ ン ポーネ ン ト を最適化 し ない よ う に指定す る も の で、 こ れに よ り 最適化がバ ウ ン ダ リ を超えて実行 さ れない よ う にな り ます。 こ れで フ ロ アプ ラ ン、 解析、 デバ ッ グが し やす く な り ますが、 最適化が抑止 さ れ る ので、 デザ イ ンが大 き く 、 遅 く な っ て し ま う こ と があ り ます。 KEEP ま たは KEEP_HIERARCHY の代わ り に 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 が設定 さ れてい る 部分のみが保持 さ れ る ので、保持す る 必要のな る セグ メ ン ト にはすべて DONT_TOUCH を設定す る 必要があ り ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • こ の属性は信号、 モジ ュ ール、 エン テ ィ テ ィ 、 コ ン ポーネ ン ト に設定で き ます。 • セル (get_cells) • ネ ッ ト (get_nets) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 112 第 2 章 : 主な プ ロパテ ィ の説明 値 • FALSE : 階層を超え て最適化 さ れます。 こ れがデフ ォ ル ト 設定です。 • TRUE : 最適化が階層バ ウ ン ダ リ を超えない よ う にな り 、 階層が保持 さ れます。 イ ン ス タ ン シエー ト さ れた コ ン ポーネ ン ト ま たはネ ッ ト が最適化に よ り 削除 さ れて し ま わない よ う 、 保持 さ れます。 構文 Verilog 構文 Verilog 属性をユーザーの階層 イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 (* DONT_TOUCH = "{TRUE|FALSE}" *) Verilog の構文例 // Preserve the hierarchy of instance CLK1_rst_sync (* DONT_TOUCH = "TRUE" *) reset_sync #( .STAGES(5) ) CLK1_rst_sync ( .RST_IN(RST | ~LOCKED), .CLK(clk1_100mhz), .RST_OUT(rst_clk1) ); ワ イ ヤの例 (* dont_touch = "true" *) wire sig1; assign sig1 = in1 & in2; assign out1 = sig1 & in2; モ ジ ュ ールの例 (* DONT_TOUCH = "true|yes" *) module example_dt_ver (clk, In1, In2, out1); イ ン ス タ ン スの例 (* DONT_TOUCH = "true|yes" *) example_dt_ver U0 (.clk(clk), .in1(a), .in2(b), out1(c)); VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute DONT_TOUCH : string; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 113 第 2 章 : 主な プ ロパテ ィ の説明 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 ); 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 114 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 115 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 116 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 117 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは EQUALIZATION 属性を次の よ う な構文で使用 し ます。 set_property EQUALIZATION value [get_ports port_name] 説明 : • set_property EQUALIZATION は入力バ ッ フ ァ ーでの リ ニ ア イ コ ラ イ ゼーシ ョ ン を イ ネーブルに し ます。 • <Value> には指定のポー ト に対 し サポー ト さ れてい る EQUALIZATION 値の 1 つが入 り ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。 関連項目 • 160 ページの 「LVDS_PRE_EMPHASIS」 • 178 ページの 「PRE_EMPHASIS」 EXCLUDE_PLACEMENT EXCLUDE_PLACEMENT は、 Pblock で定義 さ れたエ リ ア内のデバ イ ス リ ソ ース を Pblock に含まれ る ロ ジ ッ ク にのみ 使用す る こ と を示すためのプ ロ パテ ィ です。 デフ ォ ル ト では、 Vivado 配置ツールで Pblock に割 り 当て ら れない ロ ジ ッ ク を Pblock で予約 さ れた リ ソ ース範囲内に 配置で き ます。 こ のプ ロ パテ ィ を使用す る と それがで き な く な り 、 Pblock 用に ロ ジ ッ ク リ ソ ース が予約 さ れます。 ヒ ン ト : こ れは P b l o c k の ロ ジ ッ ク リ ソ ース を限定す る だけで、 外部の ロ ジ ッ ク では、 Pblock で定義 さ れたエ リ ア内の配線 リ ソ ース が ま だ使用で き ます。 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト • Pblock (get_pblocks) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 118 第 2 章 : 主な プ ロパテ ィ の説明 値 • TRUE : Pblock 内のデバ イ ス ロ ジ ッ ク リ ソ ース を Pblock に割 り 当て ら れた ロ ジ ッ ク で使用 さ れ る よ う に予約 し 、 それ以外の外部 ロ ジ ッ ク には配置 さ れない よ う に し ます。 • FALSE : Pblock 内で ロ ジ ッ ク リ ソ ース は予約 さ れません。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property EXCLUDE_PLACEMENT TRUE [get_pblocks test] 影響のある処理 • フ ロ アプ ラ ン • 配置 関連項目 106 ページの 「CONTAIN_ROUTING」 170 ページの 「PBLOCK」 FSM_ENCODING FSM_ENCODING は、 合成中の ス テー ト マシ ンのエン コ ー ド 方法を指定 し ます。 デフ ォ ル ト では、 デザ イ ンに対 し ベス ト な ソ リ ュ ーシ ョ ン を決め る 内部アルゴ リ ズ ムに基づいて、 Vivado 合成ツール が ス テー ト マシ ン のエ ン コ ーデ ィ ン グ プ ロ ト コ ルを選択 し ます。 し か し 、 FSM_ENCODING プ ロ パテ ィ を使用す る 場合は、 ユーザーが ス テー ト マシ ンのエン コ ーデ ィ ン グ を指定する こ と がで き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 119 第 2 章 : 主な プ ロパテ ィ の説明 適用可能なオブ ジ ェ ク ト • ス テー ト マシ ン レ ジ ス タ 値 • 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 構文 該当な し 影響のある処理 • 合成 関連項目 • 121 ページの 「FSM_SAFE_STATE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 120 第 2 章 : 主な プ ロパテ ィ の説明 FSM_SAFE_STATE RTL でのみ設定可能です。 XDC ではサポー ト さ れてい ません。 Vivado 合成は、 「FSM_ENCODING」 プ ロ パテ ィ ま たは Vivado 合成の -fsm_extraction コ マ ン ド ラ イ ン オプシ ョ ン で指 定 さ れ る さ ま ざ ま な コ ン フ ィ ギ ュ レーシ ョ ンで、 有限ス テー ト マシ ン (FSM) の抽出をサポー ト し てい ます。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901)[参照 11] を参照 し て く だ さ い。 し か し 、 ス テー ト マシ ンは、 デザ イ ンがエ ラ ーにな っ て し ま う 無効ス テー ト 、 ま たは到達不可能な ス テー ト に遷移す る こ と があ り ます。 FSM_SAFE_STATE 属性は、 ス テー ト マシ ンが不正な ス テー ト にな っ た と き に次の ク ロ ッ ク サ イ ク ルで既知の ス テー ト にす る ロ ジ ッ ク を、 ス テー ト マ シ ン に挿入 し ま す。 FSM が無効な ス テー ト に遷移 し た場合、 FSM_SAFE_STATE プ ロ パテ ィ で FSM が Vivado 合成で合成 さ れ る と き に使用 さ れ る 回復ス テー ト が定義 さ れます。 ヒ ン ト : FSM ス テー ト を セーフ リ カバ リ にす る だけでな く 、合成結果の質に も 影響する こ と があ り ます。 通常はエ リ アが大 き く な っ てパフ ォーマ ン ス が落ち る こ と があ り ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ス テー ト マシ ン レ ジ ス タ 値 • reset_state - Vivado 合成で指定 さ れてい る よ う に RESET ス テー ト ま で ス テー ト マシ ン を再実行 し ます。 • power_on_state - Vivado 合成で指定 さ れてい る よ う に POWER_ON ス テー ト ま で ス テー ト マシ ン を再実行し ます。 • default - Vivado 合成で指定 さ れてい る よ う にデフ ォ ル ト ス テー ト ま で ス テー ト マシ ン を再実行 し ます。 • auto - Hamming-3 エン コーデ ィ ン グ を暗示 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 121 第 2 章 : 主な プ ロパテ ィ の説明 構文 RTL ソ ース でのみ設定可能です。 XDC では現在の と こ ろサポー ト さ れてい ません。 Verilog 構文 (* fsm_safe_state = "reset_state" *) reg [2:0] state; (* fsm_safe_state = "reset_state" *) reg [7:0] my_state; VHDL 構文 type count_state is (zero, one, two, three, four, five, six, seven); signal my_state : count_state; attribute fsm_safe_state : string; attribute fsm_safe_state of my_state : signal is "power_on_state"; XDC 構文 該当な し 影響のある処理 • 合成 関連項目 • 119 ページの 「FSM_ENCODING」 H_SET および HU_SET HDL ソ ース フ ァ イ ルで定義 さ れてい る よ う に、 デザ イ ンの階層に基づいて ま と め ら れた ロ ジ ッ ク エ レ メ ン ト の集合 体が階層セ ッ ト です。 H_SET、 HU_SET、 U_SET は HDL デザ イ ン ソ ース フ ァ イ ル内の属性で、 合成 さ れたデザ イ ン や イ ン プ リ メ ン ト さ れたデザ イ ンには現われ ません。 こ れ ら は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定 義す る と き に使用 さ れます。こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を[参照 12]参照 し て く だ さ い。 デザ イ ンの階層にあ る ロ ジ ッ ク セルに RLOC プ ロ パテ ィ が設定 さ れてい る と 、 H_SET は暗示的に使用 さ れます。 あ る 階層ブ ロ ッ ク 内の ロ ジ ッ ク エ レ メ ン ト で、RLOC プ ロ パテ ィ が設定 さ れてい る も のは、同 じ 階層セ ッ ト (H_SET) に 自動的に割 り 当て ら れます。 モ ジ ュ ールの イ ン ス タ ン ス 名に基づい て、 各階層モ ジ ュ ールに H_SET プ ロ パテ ィ が割 り 当て ら れ ま す。 各階層モ ジ ュ ールに H_SET 名は 1 つ し かない場合があ り 、 ま たその階層内のすべての ロ ジ ッ ク エ レ メ ン ト は、 その H_SET の エ レ メ ン ト にな り ます。 注記 : HU_SET ま たは U_SET が定義 さ れていないが、 RLOC が定義 さ れてい る 場合は、 H_SET のみが定義 さ れます。 ま た、 デザ イ ン の階層に依存 し ない ユーザー定義階層セ ッ ト (HU_SET) ま たはユーザー定義セ ッ ト (U_SET) を手動 で作成す る こ と がで き ます。 1 つの階層モジ ュ ールに対 し 複数の HU_SET 名を定義 し 、特定階層の イ ン ス タ ン ス を特定 HU_SET に割 り 当て る こ と がで き ます。 こ れで、 1 つの階層モジ ュ ールの ロ ジ ッ ク エ レ メ ン ト を複数の HU_SET に分け る こ と がで き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 122 第 2 章 : 主な プ ロパテ ィ の説明 重要 : 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) [参照 17]ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 • レジス タ • LUT • マク ロ インスタンス • RAMS • RAMD • RAMB18/FIFO18 • RAMB36/FIFO36 • DSP48 値 • NAME :HU_SET の名前 構文 Verilog 構文 こ れは、 合成後ネ ッ ト リ ス ト で RPM を定義す る 階層ブ ロ ッ ク のセ ッ ト の内容を定義す る ため、 RLOC プ ロ パテ ィ と 組み合わせた Verilog 構文です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 (* RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0)); Verilog 例 こ れは、モジ ュ ールでのシ フ ト レ ジ ス タ フ リ ッ プ フ ロ ッ プの RLOC お よ び HU_SET プ ロ パテ ィ を定義する Verilog モ ジ ュ ールです。 module ffs ( input clk, input d, output q ); Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 123 第 2 章 : 主な プ ロパテ ィ の説明 wire wire wire wire wire wire wire wire sr_0, sr_1, sr_2, sr_3, sr_4, sr_5, sr_6, sr_7, wire inr, inrn, outr; inv inv inv inv inv inv inv inv inv (sr_0, sr_0n); (sr_1, sr_1n); (sr_2, sr_2n); (sr_3, sr_3n); (sr_4, sr_4n); (sr_5, sr_5n); (sr_6, sr_6n); (sr_7, sr_7n); (inr, inrn); (* (* (* (* (* (* (* (* (* FD i0 i1 i2 i3 i4 i5 i6 i7 i8 sr_0n; sr_1n; sr_2n; sr_3n; sr_4n; sr_5n; sr_6n; sr_7n; RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 RLOC = "X0Y0", HU_SET = "h0" *) FD sr1 RLOC = "X0Y1", HU_SET = "h0" *) FD sr2 RLOC = "X0Y1", HU_SET = "h0" *) FD sr3 RLOC = "X0Y0", HU_SET = "h1" *) FD sr4 RLOC = "X0Y0", HU_SET = "h1" *) FD sr5 RLOC = "X0Y1", HU_SET = "h1" *) FD sr6 RLOC = "X0Y1", HU_SET = "h1" *) FD sr7 LOC = "SLICE_X0Y0" *) FD inq (.C(clk), outq (.C(clk), .D(sr_0n), .Q(outr)); (.C(clk), .D(sr_1n), .Q(sr_0)); (.C(clk), .D(sr_2n), .Q(sr_1)); (.C(clk), .D(sr_3n), .Q(sr_2)); (.C(clk), .D(sr_4n), .Q(sr_3)); (.C(clk), .D(sr_5n), .Q(sr_4)); (.C(clk), .D(sr_6n), .Q(sr_5)); (.C(clk), .D(sr_7n), .Q(sr_6)); (.C(clk), .D(inrn), .Q(sr_7)); .D(d), .Q(inr)); assign q = outr; endmodule // ffs 先ほ ど の例では、 ffs モジ ュ ールの イ ン ス タ ン ス に KEEP_HIERARCHY プ ロ パテ ィ を指定 し て、 階層を保持 し 、 合成 さ れたデザ イ ンで RPM を定義す る 必要があ り ます。 module top ( input clk, input d, output q ); wire c1, c2; (* KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1); (* KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2); (* KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q); endmodule // top VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute HU_SET : string; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 124 第 2 章 : 主な プ ロパテ ィ の説明 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)[参照 9] を参照 し て く だ さ い。 影響のある処理 • デザ イ ンの フ ロ アプ ラ ン • place_design • synth_design 関連項目 • 148 ページの 「KEEP_HIERARCHY」 • 185 ページの 「RLOC」 • 188 ページの 「RLOCS」 • 190 ページの 「RLOC_ORIGIN」 • 194 ページの 「RPM」 • 195 ページの 「RPM_GRID」 • 200 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 125 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 126 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 127 第 2 章 : 主な プ ロパテ ィ の説明 影響のある処理 place_design 関連項目 142 ページの 「IODELAY_GROUP」 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 • IDELAYCTRL • IDELAYE2 • ODELAYE2 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) 値 一意のグループ名 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 128 第 2 章 : 主な プ ロパテ ィ の説明 構文 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 .I0(state_in[0]), // LUT input .I1(state_in[1]), // LUT input .I2(state_in[2]), // LUT input .I3(state_in[3]), // LUT input .I4(state_in[4]) // LUT input ); // End of state0_inst instantiation // LUT5:5-input Look-Up Table with general output (Mapped to a LUT6) // Virtex-7 // Xilinx HDL Language Template, version 2014.1 (* HLUTNM = "LUT_group1" *) LUT5 #( .INIT(32'h00330073) // Specify LUT Contents ) state1_inst ( .O(state_out[1]), // LUT general output .I0(state_in[0]), // LUT input .I1(state_in[1]), // LUT input .I2(state_in[2]), // LUT input .I3(state_in[3]), // LUT input .I4(state_in[4]) // LUT input ); // End of state1_inst instantiation VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute HLUTNM : string; イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。 attribute HLUTNM of instance_name : label is "group_name"; 説明 : • instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。 VHDL 属性は、 同 じ 論理階層のペアで使用する 必要があ り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 129 第 2 章 : 主な プ ロパテ ィ の説明 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 ); -- 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 130 第 2 章 : 主な プ ロパテ ィ の説明 影響のある処理 • place_design 関連項目 • 157 ページの 「LUTNM」 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, Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 131 第 2 章 : 主な プ ロパテ ィ の説明 VHDL 構文 推論 さ れて イ ン ス タ ン シエー ト さ れた入力バ ッ フ ァ ーの場合、適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に 配置 し ます。 VHDL 属性は次の よ う に宣言 し て指定 し ます。 attribute IBUF_LOW_PWR : boolean; attribute IBUF_LOW_PWR of port_name : signal is TRUE | FALSE; 説明 : • 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 関連項目 • 144 ページの 「IOSTANDARD」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 132 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 133 第 2 章 : 主な プ ロパテ ィ の説明 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 配置 • ノ イ ズ レ ポー ト • 消費電力レ ポー ト 関連項目 • 107 ページの 「DCI_CASCADE」 • 108 ページの 「DIFF_TERM」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 134 第 2 章 : 主な プ ロパテ ィ の説明 INTERNAL_VREF INTERNAL_VREF は、 バン ク の内部レ ギ ュ レ ー タ ーの使用を指定 し て、 基準電圧を必要 と す る 規格の基準電圧を供 給 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • I/O バン ク (get_iobanks) 値 • 0.60 • 0.675 • 0.75 • 0.90 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property INTERNAL_VREF {value} [get_iobanks bank] 説明 : • value は基準電圧値です。 XDC の構文例 # Designate Bank 14 to have a reference voltage of 0.75 Volts set_property INTERNAL_VREF 0.75 [get_iobanks 14] 影響のある処理 • I/O 配置 • place_design Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 135 第 2 章 : 主な プ ロパテ ィ の説明 • DRC • report_power 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) [参照 10] を 参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • current_fileset 値 • <dir_name> - ユーザー定義 IP が格納 さ れ る 1 つま たは複数のデ ィ レ ク ト リ 名を指定 し ます。 デ ィ レ ク ト リ 名は、 相対的ま たは絶対的に指定で き 、 別々に指定す る か、 スペース で区切っ て指定 し 、 波か っ こ { } か二重引用符 " " で囲む必要があ り ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 136 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property IP_REPO_PATHS {<ip_directories>} [current_fileset] 説明 : • <ip_directories> は、 サー ド パーテ ィ ま たはユーザー定義のパ ッ ケージ さ れた IP 定義を含むデ ィ レ ク ト リ を 1 つ ま たは複数指定 し ます。 XDC の構文例 set_property IP_REPO_PATHS {c:/Data/Designs C:/myIP} [current_fileset] update_ip_catalog 使用可能な段階 デザ イ ン入力 IO_BUFFER_TYPE 重要 : 入力お よ び出力ポー ト には、 「BUFFER_TYPE」 ではな く IO_BUFFER_TYPE プ ロ パテ ィ を使用 し て く だ さ い。 IO_BUFFER_TYPE は最上位ポー ト に設定 し 、 バ ッ フ ァ ーを使用す る か ど う か を指定 し ます。 デフ ォ ル ト では、 Vivado 合成で入力ポー ト には入力バ ッ フ ァ ーが、 出力ポー ト には出力バ ッ フ ァ ーが推論 さ れ ま す が、 IO_BUFFER_TYPE プ ロ パテ ィ を使用す る と 、 こ のデフ ォ ル ト ビヘ イ ビ アーを無効にで き ます。 IO_BUFFER_TYPE 属性は最上位 ク ロ ッ ク ポー ト に設定で き ます。RTL でのみ設定可能で、XDC では現在の と こ ろサ ポー ト さ れてい ません。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • BUFFER_TYPE 属性は最上位ポー ト (all_inputs、 all_outputs、 get_ports) に設定で き ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 137 第 2 章 : 主な プ ロパテ ィ の説明 値 • 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 構文 該当な し 影響のある処理 • 合成 関連項目 96 ページの 「BUFFER_TYPE」 99 ページの 「CLOCK_BUFFER_TYPE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 138 第 2 章 : 主な プ ロパテ ィ の説明 IOB IOB を使用す る と 、Vivado ツールで入力ま たは出力 ロ ジ ッ ク ブ ロ ッ ク (I/O ブ ロ ッ ク ま たは IOB) に接続 さ れた レ ジ ス タ が配置 さ れ る よ う にな り 、 タ イ ミ ン グが改善 さ れ ます。 こ の属性は、 I/O バ ッ フ ァ ーに配置す る レ ジ ス タ に接続 さ れたポー ト に設定 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° レ ジ ス タ に接続 さ れ る ポー ト すべて 値 • FALSE (デフ ォ ル ト ) • TRUE 構文 Verilog 構文 こ の属性を設定す る には、 適切な Verilog 属性構文を最上位ポー ト 宣言の前に配置 し ます。 (* IOB = "{TRUE|FALSE}" *) Verilog の構文例 // Place the register connected to ACK in the input logic site (* IOB = "TRUE" *) input ACK, VHDL 構文 こ の属性を設定す る には、 適切な VHDL 属性構文を最上位ポー ト 宣言の前に配置 し ます。 VHDL 属性は次の よ う に宣言 し て指定 し ます。 attribute IOB : string; attribute IOB of <port_name>: signal is "{TRUE|FALSE}"; 説明 : • port_name は最上位ポー ト です。 VHDL の構文例 ACK : in std_logic; attribute IOB : string; -- Place the register connected to ACK in the input logic site Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 139 第 2 章 : 主な プ ロパテ ィ の説明 attribute IOB of ACK: signal is "TRUE"; XDC 構文 set_property IOB value [get_ports port_name] 説明 : • value は TRUE ま たは FALSE です。 XDC の構文例 # Place the register connected to ACK in the input logic site set_property IOB TRUE [get_ports ACK] 影響のある処理 • place_design IOBDELAY IOBDELAY (Input Output Block Delay) プ ロ パテ ィ は、 シ ス テ ム同期デー タ 入力を取 り 込むための入力ホール ド タ イ ム を緩和す る ため、 ILOGIC ブ ロ ッ ク の遅延の追加 ・ 削除を指定 し ます。 ILOGIC ブ ロ ッ ク は I/O ブ ロ ッ ク (IOB) の隣にあ り 、 IOB を介 し て FPGA にデー タ が入 る たびにそのデー タ を取 り 込 む同期エ レ メ ン ト を含んでい ます。7 シ リ ーズ デバ イ ス の ILOGIC ブ ロ ッ ク は、HP I/O バン ク では ILOGICE2 と し て、 HR I/O バン ク では ILOGICE3 と し て コ ン フ ィ ギ ュ レーシ ョ ンする こ と がで き ます。 ILOGICE2 と ILOGICE3 は機能的 には同 じ ですが、 ILOGICE3 には IOBDELAY と と も に コ ン フ ィ ギ ュ レーシ ョ ン で き る ゼ ロ ホール ド 遅延エ レ メ ン ト (ZHOLD) があ る のが違いです。 IOBDELAY の使用については、 『7 シ リ ーズ FPGA SelectIO リ ソ ー ス ユーザー ガ イ ド 』 (UG471)[参照 2]ま たは 『UltraScale アーキテ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571)[参照 6] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • 入力バ ッ フ ァ ー (get_cells) • ネ ッ ト (get_nets) 値 • NONE :IBUF お よ び入力フ リ ッ プ フ ロ ッ プ (IFD) パ ス の両方に対 し 、 遅延を OFF に設定 し ます。 • IBUF • ° I/O コ ン ポーネ ン ト 内の任意の レ ジ ス タ に対 し 、 遅延を OFF に設定 し ます。 ° ILOGIC ブ ロ ッ ク ま でのバ ッ フ ァ ーの付いたパ ス に対 し 、 遅延を ON に設定 し ます。 IFD ° I/O コ ン ポーネ ン ト 内の IFF レ ジ ス タ に対 し 、 遅延を ON に設定 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 140 第 2 章 : 主な プ ロパテ ィ の説明 ILOGIC ブ ロ ッ ク ま でのバ ッ フ ァ ーの付いたパ ス に対 し 、 遅延を OFF に設定 し ます。 ° • BOTH :IBUF お よ び IFD パ ス の両方に対 し 、 遅延を ON に設定 し ます。 構文 Verilog 構文 Verilog 制約をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 Verilog 制約は次の よ う に指定 し ます。 (* IOBDELAY = {NONE|BOTH|IBUF|IFD} *) VHDL 構文 VHDL 制約は次の よ う に宣言 し ます。 attribute iobdelay: string; VHDL 制約は次の よ う に指定 し ます。 attribute iobdelay of {component_name |label_name }:{component|label} is “{NONE|BOTH|IBUF|IFD}”; XDC 構文 set_property IOBDELAY value [get_cells cell_name] 説明 : • value には、 NONE、 IBUF、 IFD、 BOTH のいずれかが入 り ます。 XDC の構文例 set_property IOBDELAY "BOTH" [get_nets {data0_I}] 影響のある処理 • タ イ ミ ング • 配置 • 配線 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 141 第 2 章 : 主な プ ロパテ ィ の説明 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 イ ン ス タ ン ス 値 指定 し た グループ名 構文 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 142 第 2 章 : 主な プ ロパテ ィ の説明 // 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 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] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 143 第 2 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 配置 関連項目 • 126 ページの 「HIODELAY_GROUP」 • 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17]ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 ° IDELAYCTRL ° IDELAYE2 ° ODELAYE2 IOSTANDARD IOSTANDARD は、 タ ーゲ ッ ト デバ イ ス で入力、 出力、 ま たは双方向ポー ト を コ ン フ ィ ギ ュ レーシ ョ ンす る のに ど の プ ロ グ ラ マブル I/O 規格を使用す る か を指定 し ます。 重 要 : Vivado Design Suite が デ ザ イ ン か ら ビ ッ ト ス ト リ ー ム を 生成す る 前 に、 I/O バ ン ク の す べ て の ポ ー ト で IOSTANDARD を定義す る 必要があ り ます。 ただ し 、 IOSTANDARD は GT ま たは XADC には適用で き ません。 1 つの I/O バン ク に複数の異な る IOSTANDARD を含め る こ と がで き ますが、 こ れ ら の IOSTANDARD には互換性が な く てはな り ません。 1 つの I/O バン ク に異な る 入力、 出力、 双方向 I/O 規格を組み合わせ る 場合は、 次のルールに 従っ て く だ さ い。 1. 同 じ 出力 CCO 要件を持つ出力規格は、 同 じ バン ク に ま と め る こ と がで き ます。 2. 同 じ CCO お よ び VREF要件を持つ入力規格は、 同 じ バン ク に ま と め る こ と がで き ます。 3. 同 じ CCO 要件を持つ入力規格お よ び出力規格は、 同 じ バン ク に ま と め る こ と がで き ます。 4. ほかの規格 と 双方向 I/O 規格を組み合わせる 場合は、 双方向規格が最初の 3 つのルールに沿っ てい る こ と を確認 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 任意のポー ト - I/O ポー ト の RTL ソ ース で IOSTANDARD を定義す る か、 ポー ト セルの XDC 制約 と し て定 義 し ます。 値 タ ーゲ ッ ト にす る ザ イ リ ン ク ス FPGA に よ っ て有効な I/O 規格は異な り ます。 デバ イ ス別の IOSTANDARD 値につい て は、 『7 シ リ ー ズ FPGA SelectIO リ ソ ー ス ユーザー ガ イ ド 』 (UG471)[参照 2] ま た は 『UltraScale ア ー キ テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571)[参照 6] を参照 し て く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 144 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 こ のパ ラ メ ー タ ーを設定す る には、 適切な Verilog 構文を最上位ポー ト 宣言の前に配置 し ます。 (* IOSTANDARD = "value" *) Verilog の構文例 // Sets the I/O Standard on the STATUS output to LVCMOS12 (* IOSTANDARD = "LVCMOS12" *) output STATUS, VHDL 構文 適切な VHDL 属性構文を最上位ポー ト 宣言の前に配置 し ます。 VHDL 属性は次の よ う に宣言 し て指定 し ます。 attribute IOSTANDARD : string; attribute IOSTANDARD of <port_name>: signal is "<standard>"; 説明 : • port_name は最上位出力ポー ト です。 VHDL の構文例 STATUS : out std_logic; attribute IOSTANDARD : string; -- Sets the I/O Standard on the STATUS output to LVCMOS12 attribute IOSTANDARD of STATUS: signal is "LVCMOS12"; XDC 構文 IOSTANDARD は、 デザ イ ン内のポー ト オブジ ェ ク ト に XDC 制約 と し て定義する こ と も で き ます。 set_property IOSTANDARD value [get_ports port_name] 説明 : • 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 プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 145 第 2 章 : 主な プ ロパテ ィ の説明 関連項目 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 146 第 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 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 147 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 148 第 2 章 : 主な プ ロパテ ィ の説明 ) 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 149 第 2 章 : 主な プ ロパテ ィ の説明 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 KEEPER KEEPER は、 ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク ド ラ イ バーを適用 し 、駆動 さ れていない と き に値を 保持 し ます。 ポー ト に接続 さ れ る 出力ネ ッ ト の値が保持 さ れます。 た と えば、 指定 し たポー ト を介 し て ロ ジ ッ ク 1 が駆動 さ れ る 場合、 KEEPER は ウ ィ ー ク ま たは抵抗 1 を そのポー ト ま で駆動 し ま す。 その後ネ ッ ト ド ラ イ バーが ト ラ イ ス テー ト 状態に な る と 、 KEEPER は接続 さ れた ポー ト を 介 し て ウ ィ ー ク ま たは抵抗 1 を ネ ッ ト に駆動 し 続け、 値を保持 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど ) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま す。 バ ッ フ ァ ーに接続 さ れてい る ポー ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、 こ の機能を使用で き ます。 • PULLUP • PULLDOWN • KEEPER アーキテ ク チ ャ サポー ト すべて 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES :指定 し たポー ト に接続 さ れたネ ッ ト の値を保持す る ためキーパー回路を使用 し ます。 • FALSE | NO :キーパー回路を使用 し ません。 デフ ォ ル ト です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 150 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 Verilog 制約を ポー ト 宣言の直前に配置 し ます。 Verilog 制約は次の よ う に指定 し ます。 (* KEEPER = " {YES|NO|TRUE|FALSE}" *) VHDL 構文 VHDL 制約は次の よ う に宣言 し て指定 し ます。 attribute keeper: string; attribute keeper of signal_name : signal is “{YES|NO|TRUE|FALSE}”; XDC 構文 set_property KEEPER {TRUE|FALSE} [get_ports port_name] 説明 : • port_name は、 入力、 出力、 入出力ポー ト の名前です。 XDC の構文例 # Use a keeper circuit to preserve the value on the specified port set_property KEEPER TRUE [get_ports wbWriteOut] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 180 ページの 「PULLDOWN」 182 ページの 「PULLUP」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 151 第 2 章 : 主な プ ロパテ ィ の説明 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"; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 152 第 2 章 : 主な プ ロパテ ィ の説明 説明 : • instance_name は イ ン ス タ ン シエー ト 済みプ リ ミ テ ィ ブの イ ン ス タ ン ス名です。 VHDL の構文例 -- Designates instantiated register instance placed_reg to be placed -- in Slice site SLICE_X0Y0 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 関連項目 • 93 ページの 「BEL」 • 167 ページの 「PACKAGE_PIN」 • 170 ページの 「PBLOCK」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 153 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 13]を参照 し て く だ さ い。 注記 : DONT_TOUCH は LOCK_PINS を暗示 し ません。 「phys_opt_design -critical_pin_opt」 と い う コ マ ン ド で最適化を実行する 場合、 LOCK_PINS プ ロ パテ ィ が 設 定 さ れ て い る セ ル は 最 適 化 さ れ ず、 LOCK_PINS で 指定 さ れ て い る ピ ン マ ッ ピ ン グ は 保 持 さ れ ま す。 phys_opt_design コ マ ン ド の詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)[参照 9] を参 照 し て く だ さ い。 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 154 第 2 章 : 主な プ ロパテ ィ の説明 ヒ ン ト : 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 155 第 2 章 : 主な プ ロパテ ィ の説明 attribute LOCK_PINS of LUT_inst_0 : label is "I1:A5, I2:A6"; ... VHDL の例 entity top is port ( i0, i1, i2, i3, i4, i5 : in std_logic; o0 : out std_logic ); end entity top; architecture struct of top is attribute lock_pins : string; attribute lock_pins of LUT_inst_0 : label is "I1:A5, I2:A6"; begin LUT_inst_0 :LUT6 generic map ( INIT => "1" ) port map ( I0 => i0, I1 => i1, I2 => i2, I3 => i3, I4 => i4, I5 => i5, O => o0 ); end architecture struct; XDC 構文 Vivado Design Suite で set_property と い う Tcl コ マ ン ド を使用 し 、LUT セルに LOCK_PINS プ ロ パテ ィ を設定で き ます。 set_property LOCK_PINS {pin pairs} [get_cells instance_name] 説明 : • instance_name には LUT セルが 1 つま たは複数入 り ます。 重要 : XDC の場合は Tcl リ ス ト 構文に合わせ る ため、ピ ン ペア を ホ ワ イ ト スペース で区切る 必要があ り ますが、HDL 構文の場合はカ ン マで値を区切 る 必要があ り ます。 XDC の構文例 % set myLUT2 [get_cells u0/u1/i_365] % set_property LOCK_PINS {I0:A5 I1:A6} $myLUT2 % get_property LOCK_PINS $myLUT2 I0:A5 I1:A6 % reset_property LOCK_PINS $myLUT2 % set myLUT6 [get_cells u0/u1/i_768] % set_property LOCK_PINS I0:A6 ; # mapping of I1 through I5 are dont-cares 影響のある処理 • phys_opt_design Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 156 第 2 章 : 主な プ ロパテ ィ の説明 • route_design 関連項目 • 93 ページの 「BEL」 • 112 ページの 「DONT_TOUCH」 • 152 ページの 「LOC」 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 157 第 2 章 : 主な プ ロパテ ィ の説明 // LUT5:5-input Look-Up Table with general output (Mapped to a LUT6) (* LUTNM = "LUT_group1" *) LUT5 #( .INIT(32'ha2a2aea2) // Specify LUT Contents ) state0_inst ( .O(state_out[0]), // LUT general outpu .I0(state_in[0]), // LUT input .I1(state_in[1]), // LUT input .I2(state_in[2]), // LUT input .I3(state_in[3]), // LUT input .I4(state_in[4]) // LUT input ); // End of state0_inst instantiation // LUT5:5-input Look-Up Table with general output (Mapped to a LUT6) // Virtex-7 // Xilinx HDL Language Template, version 2014.1 (* LUTNM = "LUT_group1" *) LUT5 #( .INIT(32'h00330073) // Specify LUT Contents ) state1_inst ( .O(state_out[1]), // LUT general output .I0(state_in[0]), // LUT input .I1(state_in[1]), // LUT input .I2(state_in[2]), // LUT input .I3(state_in[3]), // LUT input .I4(state_in[4]) // LUT input ); // End of state1_inst instantiation VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute LUTNM : string; イ ン ス タ ン シエー ト 済み イ ン ス タ ン ス の場合は、 次の よ う に指定 し ます。 attribute LUTNM of instance_name : label is "group_name"; 説明 : • instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。 VHDL 属性は、 同 じ 論理階層のペアで使用する 必要があ り ます。 VHDL の構文例 -- Designates state0_inst to be placed in same LUT6 as state1_inst 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 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 158 第 2 章 : 主な プ ロパテ ィ の説明 I3 => state_in(3), I4 => state_in(4) -- LUT input -- LUT input ); -- End of state0_inst instantiation -- LUT5:5-input Look-Up Table with general output (Mapped to SliceM LUT6) -Virtex-7 -- Xilinx HDL Language Template, version 2014.1 State1_inst :LUT5 generic map ( INIT => X"00330073") -- Specify LUT Contents port map ( O => state_out(1), -- LUT general output I0 => state_in(0), -- LUT input I1 => state_in(1), -- LUT input I2 => state_in(2), -- LUT input I3 => state_in(3), -- LUT input I4 => state_in(4) -- LUT input ); -- End of state1_inst instantiation XDC 構文 set_property LUTNM group_name [get_cells instance_name] 説明 : • instance_name は LUT1、 LUT2、 LUT3、 LUT4、 LUT5、 SRL16、 ま たは LUTRAM イ ン ス タ ン ス です。 XDC の構文例 # Designates state0_inst LUT5 to be placed in same LUT6 as state1_inst set_property LUTNM LUT_group1 [get_cells U1/state0_inst] set_property LUTNM LUT_group1 [get_cells U2/state1_inst] 影響のある処理 • place_design 関連項目 • 「HLUTNM」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 159 第 2 章 : 主な プ ロパテ ィ の説明 LVDS_PRE_EMPHASIS UltraScale で は、 伝送 ラ イ ン で 高周波 ロ ス が 発生す る 高周波信号 の シ グ ナ ル イ ン テ グ リ テ ィ を 改善す る た め、 LVDS_PRE_EMPHASIS プ ロ パテ ィ が使用 さ れます。 あ る I/O 規格を イ ンプ リ メ ン ト す る ド ラ イ バーでの伝送 ラ イ ン ロ ス を補 う ため、 LVDS ト ラ ン ス ミ ッ タ ーのプ リ エン フ ァ シ ス は信号遷移で電圧をブース ト し ます。DDR4 HP I/O バン ク お よ び LVDS TX HP/HR I/O バン ク のプ リ エン フ ァ シ ス は、 シ ン ボル間の干渉を低減 し 、 伝送 ラ イ ン ロ ス の影響を最低限に抑え る ために使用で き ます。 ヒ ン ト : 全体的な シ グナル イ ン テ グ リ テ ィ を向上 さ せ る ため、 ト ラ ン ス ミ ッ タ ーでのプ リ エ ン フ ァ シ ス は、 レ シー バーでの 「EQUALIZATION」 と 組み合わせ る こ と がで き ます。 ト ラ ン ス ミ ッ タ ーのプ リ エン フ ァ シ ス は、 レ シーバー側でのシ グナル イ ン テ グ リ テ ィ に も 重要です。 プ リ エン フ ァ シ ス は信号エ ッ ジ レー ト を高め、 それは周辺信号の ク ロ ス ト ー ク も 高め ます。 プ リ エ ン フ ァ シ ス の影響は伝送 ラ イ ン特性に依存 し てい る ため、 影響が最小限の も ので あ る こ と を確認す る にはシ ミ ュ レーシ ョ ンが必要です。 信号をオーバーエン フ ァ シ スする と 、 信号の質は改善 さ れ る よ り む し ろ悪化す る 可能性 があ り ます。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) 値 • TRUE - 差動入力お よ び双方向バ ッ フ ァ ーのプ リ エン フ ァ シ ス を イ ネーブルに し 、 LVDS I/O を イ ンプ リ メ ン ト し ます。 • FALSE (デフ ォ ル ト ) - プ リ エン フ ァ シ ス を イ ネーブルに し ません。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは LVDS_PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。 set_property LVDS_PRE_EMPHASIS <TRUE|FALSE> [get_ports port_name] 説明 : Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 160 第 2 章 : 主な プ ロパテ ィ の説明 • set_property LVDS_PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。 関連項目 • 117 ページの 「EQUALIZATION」 • 178 ページの 「PRE_EMPHASIS」 MARK_DEBUG Vivado ツールのハー ド ウ ェ ア マネージ ャ ー機能を使用 し て、 デバ ッ グ用に保持す る 必要があ る ネ ッ ト を指定 し ます。 こ れに よ り 、 最適化で指定 し た信号が削除 さ れな く な り ます。 MARK_DEBUG は、 信号を保持 し て、 FPGA 操作中に その信号の値を簡単に観察で き る よ う にす る ためのプ ロ パテ ィ です。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ネ ッ ト (get_nets) ° 内部配列にア ク セ ス可能なネ ッ ト すべて 注記 : 一部のネ ッ ト には専用 コ ネ ク テ ィ ビ テ ィ な ど があ り 、 デバ ッ グの と き に表示 さ れな く な る よ う な も の があ り ます。 値 • TRUE • FALSE 構文 Verilog 構文 こ の属性を設定す る には、 適切な Verilog 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。 (* MARK_DEBUG = "{TRUE|FALSE}" *) Verilog の構文例 // Marks an internal wire for ChipScope debug (* MARK_DEBUG = "TRUE" *) wire debug_wire, VHDL 構文 こ の属性を設定す る には、 適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 161 第 2 章 : 主な プ ロパテ ィ の説明 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 ChipScope debug 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 ChipScope debug set_property MARK_DEBUG TRUE [get_nets debug_wire] 影響のある処理 • place_design • ChipScope 関連項目 • 「DONT_TOUCH」 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 オプシ ョ ンは制御信号 (セ ッ ト 、 リ Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 162 第 2 章 : 主な プ ロパテ ィ の説明 セ ッ ト 、ク ロ ッ ク イ ネーブルな ど) には適用 さ れないので、こ れ ら の信号を複製す る 必要があ る 場合は MAX_FANOUT を使用 し て く だ さ い。 こ の属性は、 レ ジ ス タ お よ び組み合わせ信号にのみ使用で き ます。 フ ァ ン ア ウ ト の制限に従 う ため、 レ ジ ス タ ま たは 組み合わせ信号を駆動す る 信号が複製 さ れます。 こ の属性は RTL ま たは XDC で設定で き ます。 アーキテ ク チ ャ すべてのデバ イ ス 適用可能エ レ メ ン ト • レ ジ ス タ お よ び組み合わせ信号 値 • <Integer> : 信号を分配す る ために、 ド ラ イ バーを複製する 回数の最大値を指定 し ます。 構文 Verilog 構文 信号 (* max_fanout = 50 *) reg sig1; 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 163 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 6]を参照 し て く だ さ い。 パ ラ レル終端をサポー ト す る 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 164 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは ODT 属性を次の よ う な構文で使用 し ます。 set_property ODT <VALUE> [get_ports port_name] 説明 : • set_property ODT は ODT を イ ネーブルに し ます。 • <Value> には指定の IOSTANDARD に対 し サポー ト さ れてい る ODT 値の 1 つが入 り ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 入力ポー ト ま たは双方向ポー ト です。 関連項目 • 144 ページの 「IOSTANDARD」 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) [参照 6]を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト UltraScale デバ イ ス 適用可能なオブ ジ ェ ク ト • 入力ま たは双方向バ ッ フ ァ ー (get_cells) : ° IBUFE3 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 165 第 2 章 : 主な プ ロパテ ィ の説明 ° IBUFDSE3 ° IOBUFE3 ° IOBUFDSE3 値 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 166 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 167 第 2 章 : 主な プ ロパテ ィ の説明 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 関連項目 「LOC」 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) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 168 第 2 章 : 主な プ ロパテ ィ の説明 値 • RelativeFirst : プ ロ ジ ェ ク ト ま での相対パ ス を使用 し て フ ァ イ ルを見つけ ます。 こ のパ ス を使用 し て フ ァ イ ルを 見つけ る こ と がで き ない場合は、 絶対パ ス を使用 し ます。 こ れは、 デフ ォ ル ト の値で、 ほ と ん ど の場合に適 し た 方法です。 • AbsoluteFirst : 絶対パス を使用 し て フ ァ イ ルを見つけ ます。 フ ァ イ ルを見つけ る こ と がで き ない場合は、 相対パ ス を使用 し ます。 [AbsoluteFirst] ま たは [AbsoluteOnly] は、 フ ァ イ ルが決ま っ た リ ポジ ト リ に格納 さ れてい る 場合 (た と えば、 デザ イ ン グループ ま たは企業内全員で使用 さ れ る 標準的な フ ァ イ ル) や IP の ラ イ ブ ラ リ に向いてい ます。 • RelativeOnly : 相対パス のみを使用 し て フ ァ イ ルを見つけ ます。 フ ァ イ ルを見つけ る こ と がで き ない場合は、 そ れ を 示す メ ッ セ ー ジ が 表示 さ れ、 フ ァ イ ル が 存在 し な い も の と し て 処理 さ れ ま す。 [RelativeOnly] ま た は [AbsoluteOnly] 設定は、 同 じ フ ァ イ ル名の フ ァ イ ルが複数あ り 、 正 し い フ ァ イ ルを必ず見つけ る 必要のあ る 場合 に向いてい ます。 • AbsoluteOnly : 絶対パス のみを使用 し て フ ァ イ ルを見つけ ます。 フ ァ イ ルを見つけ る こ と がで き ない場合は、 そ れを示す メ ッ セージが表示 さ れ、 フ ァ イ ルが存在 し ない も の と し て処理 さ れます。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property PATH_MODE AbsoluteFirst [get_files *IP/*] 影響のある処理 • プ ロ ジ ェ ク ト 管理お よ びフ ァ イ ルの位置 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 169 第 2 章 : 主な プ ロパテ ィ の説明 PBLOCK PBLOCK は Vivado Design Suite で Pblock に割 り 当て ら れ る セルに設定する 読み出 し 専用のプ ロ パテ ィ です。 Pblock と はセルの集合体で、 1 つま たは複数の長方形のエ リ ア/領域を指 し 、 こ のエ リ アで Pblock に含め ら れ る デバ イ ス リ ソ ース を指定 し ます。 Pblock は、 関連 ロ ジ ッ ク を グループに ま と めて、 タ ーゲ ッ ト デバ イ ス のあ る 領域にそ れを割 り 当て る ため、 フ ロ アプ ラ ン ニ ン グ中に使用 さ れます。デザ イ ンの フ ロ アプ ラ ン ニ ン グでの Pblock の使用につ いては、 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ テ ク ニ ッ ク 』 (UG906) [参照 15] を参 照 し て く だ さ い。 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、 DSP48、 RAMB18、 RAMB36 と い う 4 つのデバ イ ス リ ソ ース タ イ プのグ リ ッ ド に 分かれてい ます。 こ れ ら の タ イ プに当てはま ら ない ロ ジ ッ ク は、 デバ イ ス の任意位置に配置す る こ と がで き ます。 特 定の階層レベルにブ ロ ッ ク RAM のみを制約す る には、 それ以外の Pblock グ リ ッ ド をデ ィ ス エーブルに し ます (ま た は単に定義 し ない)。 上記の Tcl コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)[参照 9] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) 値 • <NAME> : セルが割 り 当て ら れ る Pblock の名前です。 こ の Pblock 名は、 create_pblock コ マ ン ド で Pblock を 作成す る と き に定義 し ます。 構文 Verilog 構文 該当な し Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 170 第 2 章 : 主な プ ロパテ ィ の説明 VHDL 構文 該当な し XDC 構文 Pblock は 次の Tcl コ マ ン ド を使用 し て、 XDC フ ァ イ ルあ る いは直接デザ イ ン で定義す る こ と がで き ます。 create_pblock <pblock_name> XDC の例 次の コ ー ド で Pblock を定義 し ます。 create_pblock Pblock_usbEngine add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list usbEngine1]] resize_pblock [get_pblocks Pblock_usbEngine] -add {SLICE_X8Y105:SLICE_X23Y149} resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29} 影響のある処理 • デザ イ ンの フ ロ アプ ラ ン • place_design 関連項目 93 ページの 「BEL」 106 ページの 「CONTAIN_ROUTING」 152 ページの 「LOC」 118 ページの 「EXCLUDE_PLACEMENT」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 171 第 2 章 : 主な プ ロパテ ィ の説明 POST_CRC POST_CRC は、コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク の巡回冗長検査 (CRC) と い う エ ラ ー検出機能のオン/オ フ を設定 し 、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更があれば通知 さ れ る よ う に し ます。 POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か ら CRC 値を計算 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームの読み込みが終了する と 、 コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ームはデバ イ ス に対 し Check CRC 命令を出力 し 、 それに続いて あ ら か じ め計算 さ れた CRC 値が出力 さ れます。デバ イ ス に よ り 計算 さ れた CRC 値がビ ッ ト ス ト リ ームの期待 CRC 値に一致 し ない と 、デバ イ ス は INIT_B を Low に し 、 コ ン フ ィ ギ ュ レーシ ョ ン を中止 し ます。 詳細については、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470)[参照 1] ま た は 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 5] を参照 し て く だ さ い。 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 172 第 2 章 : 主な プ ロパテ ィ の説明 影響のある処理 • write_bitstream • launch_runs 関連項目 • 173 ページの 「POST_CRC_ACTION」 • 174 ページの 「POST_CRC_FREQ」 • 176 ページの 「POST_CRC_INIT_FLAG」 • 177 ページの 「POST_CRC_SOURCE」 POST_CRC_ACTION POST_CRC_ACTION は コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク CRC エ ラ ー検出モー ド に使用 さ れ ま す。 こ のプ ロ パテ ィ は、 CRC の不一致が検出 さ れた と き のデバ イ ス の対処方法を決め る も ので、 その対処方法には、 エ ラ ー訂正、 操作実 行、 コ ン フ ィ ギ ュ レーシ ョ ン停止があ り ます。 リ ー ド バ ッ ク 中、 シ ン ド ロ ーム ビ ッ ト は毎フ レーム計算 さ れます。 シ ン グル ビ ッ ト エ ラ ーが検出 さ れ る と 、 リ ー ド バ ッ ク はす ぐ に中止 さ れ ま す。 POST_CRC_ACTION プ ロ パテ ィ に よ り 訂正が行われ る 場合、 リ ー ド バ ッ ク CRC ロ ジ ッ ク がシ ン グル ビ ッ ト エ ラ ーの訂正を実行 し ます。 エ ラ ーが出てい る フ レームは再度 リ ー ド バ ッ ク さ れ、 シ ン ド ロ ームの情報を使用 し て、 エ ラ ーにな っ てい る ビ ッ ト は修正 さ れて フ レームに書 き 戻 さ れます。 POST_CRC_ACTION が Correct_And_Continue に設定 さ れ て い る 場合は、 リ ー ド バ ッ ク ロ ジ ッ ク が最初の ア ド レ ス か ら 再開始 し ま す。 Correct_And_Halt に設定 さ れてい る 場合は、 リ ー ド バ ッ ク ロ ジ ッ ク は訂正後に停止 し ま す。 詳細については、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470)[参照 1] ま たは『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) [参照 5] を 参照 し て く だ さ い。 「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト • デザ イ ン (current_design) ° 現在の イ ンプ リ メ ン ト 済みのデザ イ ン 値 • HALT :CRC の不一致が検出 さ れ る と 、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、 比較 CRC の計算、 そ し て あ ら か じ め 計算 さ れた CRC と の比較が中止にな り ます。 • CONTINUE :CRC の比較に よ り CRC の不一致が検出 さ れ る と 、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、 比較 CRC の 計算、 あ ら か じ め計算 さ れた CRC と の比較は続行 し ます。 • CORRECT_AND_CONTINUE :CRC の比較に よ り CRC の不一致が検出 さ れ る と 、 それは訂正 さ れ、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、 比較 CRC の計算、 あ ら か じ め計算 さ れた CRC と の比較は続行 し ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 173 第 2 章 : 主な プ ロパテ ィ の説明 • CORRECT_AND_HALT :CRC の不一致が検出 さ れ る と 、 それは訂正 さ れ、 ビ ッ ト ス ト リ ームの リ ー ド バ ッ ク 、 比較 CRC の計算、 あ ら か じ め計算 さ れた CRC と の比較は中止にな り ます。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property POST_CRC_ACTION <VALUE> [current_design] 説明 : • <VALUE> には POST_CRC_ACTION プ ロ パテ ィ で使用可能な値の 1 つが入 り ます。 XDC の構文例 set_property POST_CRC_ACTION correct_and_continue [current_design] 影響のある処理 • write_bitstream • launch_runs 関連項目 • 172 ページの 「POST_CRC」 • 174 ページの 「POST_CRC_FREQ」 • 176 ページの 「POST_CRC_INIT_FLAG」 • 177 ページの 「POST_CRC_SOURCE」 POST_CRC_FREQ POST_CRC_FREQ は、 現在のデザ イ ンに対 し 、 コ ン フ ィ ギ ュ レーシ ョ ン CRC チ ェ ッ ク が実行 さ れ る 周波数を設定 し ます。 「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。 POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、ビ ッ ト ス ト リ ームの予め計算 さ れてい る 値 と 、コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ セルを リ ー ド バ ッ ク す る こ と で計算 さ れ る 内部 CRC 値を周期的に比較で き る よ う にな り ます。 POST_CRC_FREQ は、 リ ー ド バ ッ ク の周波数を MHz で定義 し 、 デフ ォ ル ト 値は 1MHz です。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 174 第 2 章 : 主な プ ロパテ ィ の説明 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト • デザ イ ン (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 関連項目 • 172 ページの 「POST_CRC」 • 173 ページの 「POST_CRC_ACTION」 • 176 ページの 「POST_CRC_INIT_FLAG」 • 177 ページの 「POST_CRC_SOURCE」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 175 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 176 第 2 章 : 主な プ ロパテ ィ の説明 関連項目 • 172 ページの 「POST_CRC」 • 173 ページの 「POST_CRC_ACTION」 • 174 ページの 「POST_CRC_FREQ」 • 177 ページの 「POST_CRC_SOURCE」 POST_CRC_SOURCE POST_CRC_SOURCE は、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ への変更通知用に コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク CRC のエ ラ ー検出機能が使用 さ れ る と き の、 CRC 値の ソ ース を指定 し ます。 「POST_CRC」 が ENABLE に設定 さ れてい る 場合にのみ こ のプ ロ パテ ィ は使用で き ます。 POST_CRC プ ロ パテ ィ を イ ネーブルにす る と 、 ビ ッ ト ス ト リ ーム にあ ら か じ め計算 さ れた CRC 値が生成 さ れ ま す。 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームが読み込まれ る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン デー タ パケ ッ ト か ら CRC 値を計算 し ます。 POST_CRC_SOURCE プ ロ パテ ィ は、 期待 CRC 値が予め計算 さ れた値か ら く る も のなのか、 ま たは最初の リ ー ド バ ッ ク の コ ン フ ィ ギ ュ レーシ ョ ン デー タ か ら 得 ら れ る も のなのか を定義 し ます。 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト • デザ イ ン (current_design) ° 現在の イ ンプ リ メ ン ト 済みのデザ イ ン 値 • PRE_COMPUTED :ビ ッ ト ス ト リ ームか ら 期待 CRC 値を決定 し ます。 こ れがデフ ォ ル ト 設定です。 • FIRST_READBACK : こ の後繰 り 返 さ れ る リ ー ド バ ッ ク での比較用に、 最初の リ ー ド バ ッ ク か ら 実際の CRC 値を 取得 し ます。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property POST_CRC_SOURCE FIRST_READBACK | PRE_COMPUTED [current_design] Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 177 第 2 章 : 主な プ ロパテ ィ の説明 XDC の構文例 set_property POST_CRC_SOURCE PRE_COMPUTED [current_design] 影響のある処理 • write_bitstream • launch_runs 関連項目 • 172 ページの 「POST_CRC」 • 173 ページの 「POST_CRC_ACTION」 • 174 ページの 「POST_CRC_FREQ」 • 176 ページの 「POST_CRC_INIT_FLAG」 PRE_EMPHASIS 伝送 ラ イ ンで高周波 ロ ス が発生す る 高周波信号のシ グナル イ ン テ グ リ テ ィ を改善する ため、 PRE_EMPHASIS プ ロ パ テ ィ が使用 さ れ ます。 ト ラ ン ス ミ ッ タ ー プ リ エ ン フ ァ シ ス (PRE_EMPHASIS) 機能に よ り 、 あ る I/O 規格の信号 ド ラ イ バーにプ リ エン フ ァ シ ス を使用で き る よ う にな り ます。 ヒ ン ト : 全体的な シ グナル イ ン テ グ リ テ ィ を向上 さ せ る ため、 ト ラ ン ス ミ ッ タ ーでのプ リ エ ン フ ァ シ ス は、 レ シー バーでの 「EQUALIZATION」 と 組み合わせ る こ と がで き ます。 理想的な信号は、 周波数のシ ン ボル間隔内で ロ ジ ッ ク 遷移を実行 し ます。 し か し ロ ス の多い伝送 ラ イ ン ではシ ン ボル 間隔が長 く な る 可能性があ り ます。 伝送 ラ イ ン ロ ス を踏ま え、 プ リ エン フ ァ シ ス は遷移で電圧ゲ イ ン を提供 し ます。 周波数 ド メ イ ンでは、 プ リ エン フ ァ シ ス に よ り デー タ ス ト リ ームの各遷移で高周波が引き 上げ ら れます。 プ リ エン フ ァ シ ス の選択は、 レ シーバー側でのシ グナル イ ン テ グ リ テ ィ に も 重要です。 プ リ エン フ ァ シ ス は信号エ ッ ジ レー ト を高め、 それは周辺信号の ク ロ ス ト ー ク も 高め ます。 プ リ エン フ ァ シ ス の ク ロ ス ト ー ク お よ び信号不連続性の影響は伝送 ラ イ ン特性に依存 し てい る ため、 影響が最小限の も のであ る こ と を確認す る にはシ ミ ュ レーシ ョ ンが必要です。 信号をオーバーエン フ ァ シ スする と 、 信号の質は改善 さ れ る よ り む し ろ悪化す る 可能性があ り ます。 アーキテ ク チ ャ サポー ト UltraScale 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 178 第 2 章 : 主な プ ロパテ ィ の説明 値 PRE_EMPHASIS 属性に使用で き る 値は次の と お り です。 • RDRV_NONE (デフ ォ ル ト ) - ト ラ ン ス ミ ッ タ ーのプ リ エン フ ァ シ ス を イ ネーブルに し ません。 • RDRV_240 - プ リ エン フ ァ シ ス を イ ネーブルに し ます。 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 XDC フ ァ イ ルでは PRE_EMPHASIS 属性を次の よ う な構文で使用 し ます。 set_property PRE_EMPHASIS value [get_ports port_name] 説明 : • set_property PRE_EMPHASIS は、 ト ラ ン ス ミ ッ タ ーでプ リ エン フ ァ シ ス を イ ネーブルに し ます。 • port_name は差動バ ッ フ ァ ーに接続 さ れ る 出力ポー ト ま たは双方向ポー ト です。 関連項目 • 117 ページの 「EQUALIZATION」 • 160 ページの 「LVDS_PRE_EMPHASIS」 PROHIBIT PROHIBIT では、 配置に使用で き ない ピ ン ま たはサ イ ト を指定 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • サ イ ト (get_sites) • BEL (get_bels) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 179 第 2 章 : 主な プ ロパテ ィ の説明 値 1 構文 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 PULLDOWN PULLDOWN は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク Low を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し 、 ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク Low に確約 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど ) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま す。 バ ッ フ ァ ーに接続 さ れてい る ネ ッ ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、 こ の機能を使用で き ます。 • PULLUP • PULLDOWN • KEEPER 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18] を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 180 第 2 章 : 主な プ ロパテ ィ の説明 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES :駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルダ ウ ン回路を使用 し ます。 • FALSE | NO :プルダ ウ ン回路を使用 し ません。 デフ ォ ル ト です。 構文 Verilog 構文 Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。 (* PULLDOWN = " {YES|NO|TRUE|FALSE}" *) VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute pulldown: string; VHDL 属性は次の よ う に指定 し ます。 attribute pulldown of signal_name : signal is “{YES|NO|TRUE|FALSE}”; XDC 構文 set_property PULLDOWN {TRUE|FALSE} [get_ports port_name] 説明 : • port_name は、 入力、 出力、 入出力ポー ト の名前です。 XDC の構文例 # Use a pulldown circuit set_property PULLDOWN TRUE [get_ports wbWriteOut] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 • 150 ページの 「KEEPER」 • 182 ページの 「PULLUP」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 181 第 2 章 : 主な プ ロパテ ィ の説明 PULLUP PULLUP は ト ラ イ ス テー ト 出力ま たは双方向ポー ト に ウ ィ ー ク High を適用 し 、 フ ロ ーテ ィ ン グ し ない よ う に し ます。 ト ラ イ ス テー ト ネ ッ ト が駆動 さ れていない と き に フ ロ ーテ ィ ン グ し ない よ う 、 ロ ジ ッ ク High に確約 し ます。 入力バ ッ フ ァ ー (IBUF な ど)、 ト ラ イ ス テー ト 出力バ ッ フ ァ ー (OBUFT な ど)、 お よ び双方向バ ッ フ ァ ー (IOBUF な ど ) には、 ウ ィ ー ク プルア ッ プ抵抗、 ウ ィ ー ク プルダ ウ ン抵抗、 ま たは ウ ィ ー ク キーパー回路を含め る こ と がで き ま す。 バ ッ フ ァ ーに接続 さ れてい る ネ ッ ト オブジ ェ ク ト に次のプ ロ パテ ィ の 1 つを加え る こ と で、 こ の機能を使用で き ます。 • PULLUP • PULLDOWN • KEEPER 詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) ° 最上位ポー ト 値 • TRUE | YES :駆動 さ れていない と き に信号が フ ロ ーテ ィ ン グ し ない よ う プルア ッ プ回路を使用 し ます。 • FALSE | NO :プルア ッ プ回路を使用 し ません。 デフ ォ ル ト です。 構文 Verilog 構文 Verilog 属性をモジ ュ ールま たは イ ン ス タ ン シエーシ ョ ンの直前に配置 し ます。 次の よ う に指定 し ます。 (* PULLUP = " {YES|NO|TRUE|FALSE}" *) VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute pullup: string; VHDL 属性は次の よ う に指定 し ます。 attribute pullup of signal_name : signal is “{YES|NO|TRUE|FALSE}”; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 182 第 2 章 : 主な プ ロパテ ィ の説明 XDC 構文 set_property PULLUP {TRUE|FALSE} [get_ports port_name] 説明 : • port_name は、 入力、 出力、 入出力ポー ト の名前です。 XDC の構文例 set_property PULLUP TRUE [get_ports wbWriteOut] 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ 関連項目 • 150 ページの 「KEEPER」 • 180 ページの 「PULLDOWN」 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 183 第 2 章 : 主な プ ロパテ ィ の説明 構文 該当な し 影響のある処理 なし REF_PIN_NAME こ れはデザ イ ンの ピ ンに設定す る 読み出 し 専用のプ ロ パテ ィ で、 ピ ン を識別す る 論理セル名を指定 し ます。 REF_PIN_NAME は、 ピ ンの NAME ま たは HIERARCHICAL NAME か ら 自動的に定義 さ れ、 HDL や XDC でユーザー が変更す る こ と はで き ません。 参照用に使用 し ます。 こ のプ ロ パテ ィ はデザ イ ン フ ロ ーには影響 し ませんが、特定セルやほかのオブジ ェ ク ト を識別す る ため、 フ ィ ル タ ー お よ び Vivado Tcl コ マ ン ド ク エ リ ーを定義す る のに非常に便利です。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ピ ン (get_pins) 値 該当な し 構文 該当な し 影響のある処理 なし Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 184 第 2 章 : 主な プ ロパテ ィ の説明 RLOC H_SET、 HU_SET、 U_SET な ど のセ ッ ト に割 り 当て ら れてい る ロ ジ ッ ク エ レ メ ン ト の相対的な配置を RLOC 制約は 定義 し ます。 RLOC が RTL ソ ース フ ァ イ ルにあ る 場合、 H_SET、 HU_SET、 U_SET プ ロ パテ ィ は、 合成後のネ ッ ト リ ス ト でセル の読み出 し 専用に RPM プ ロ パテ ィ に変換 さ れ ます。 RLOC プ ロ パテ ィ は保持 さ れ ますが、 合成後には読み出 し 専用 プ ロ パテ ィ にな り ます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 12]を参照 し て く だ さ い。 タ ーゲ ッ ト デバ イ スへのセ ッ ト 全体の実際の配置には関係な く 、セ ッ ト に含まれ る ほかのエ レ メ ン ト に相対 し てセ ッ ト 内のエ レ メ ン ト の配置を定義で き ます。 た と えば、 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 185 第 2 章 : 主な プ ロパテ ィ の説明 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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 186 第 2 章 : 主な プ ロパテ ィ の説明 先の例では、 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)[参照 9] を参照 し て く だ さ い。 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ • place_design • synth_design 関連項目 • 122 ページの 「H_SET お よ び HU_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 187 第 2 章 : 主な プ ロパテ ィ の説明 • 185 ページの 「RLOC」 • 188 ページの 「RLOCS」 • 190 ページの 「RLOC_ORIGIN」 • 194 ページの 「RPM」 • 195 ページの 「RPM_GRID」 • 200 ページの 「U_SET」 RLOCS RLOCS は、Vivado Design Suite の create_macro Tcl コ マ ン ド に よ り 作成 さ れた XDC マ ク ロ オブジ ェ ク ト に割 り 当 て ら れ る 読み出 し 専用のプ ロ パテ ィ です。RLOCS が update_macro コ マ ン ド でア ッ プデー ト さ れ る と マ ク ロ に割 り 当て ら れます。 こ れ ら の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)[参照 9] を参照 し て く だ さ い。 RPM と 同様に、 XDC マ ク ロ はセル グループ を相対的に配置 し ます。 マ ク ロ は多 く の点で RPM の類似 し てい ますが、 大 き な違い も あ り ます。 • RLOC プ ロ パテ ィ と 、 H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ の組み合わせで RTL ソ ース フ ァ イ ルで RPM は定義 さ れます。 • RPM は合成後のデザ イ ン では変更で き ません。 • マ ク ロ は、 相対配置制約に よ り グループ化 さ れた リ ーフ セルか ら 作成 さ れ、 合成後に変更で き ます。 • RPM を自動的にマ ク ロ に変換す る こ と はで き ません。 • RPM はデザ イ ン オブジ ェ ク ト ではな く 、 XDC マ ク ロ コ マ ン ド を RPM に使用す る こ と はで き ません。 rlocs 引数にあ る よ う に、 update_macro コ マ ン ド でRLOCS プ ロ パテ ィ の相対配置の値を指定 し ます。 "cell0 rloc0 cell1 rloc1 … cellN rlocN" XDC マ ク ロ オブジ ェ ク ト の割 り 当て ら れてい る RLOCS プ ロ パテ ィ を変更する には、 update_macro コ マ ン ド を使 用 し ます。 RLOCS プ ロ パテ ィ は XDC マ ク ロ の一部であ る 個々のセルそれぞれに対 し RLOC プ ロ パテ ィ に変換 さ れ ま す。 こ の 後、RLOC プ ロ パテ ィ は、マ ク ロ のセルの相対配置を定義す る こ と に よ り 、RPM に対す る の と 同 じ よ う に機能 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (get_cells) 値 • Cell1 RLOC1 Cell2 RLOC2 Cell3 RLOC3...:マ ク ロ のセルの名前 と 、 その相対 ロ ケーシ ョ ンがペアにな っ てい ます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 188 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 XDC マ ク ロ が作成 さ れ、 セルお よ び相対 ロ ケーシ ョ ンが自動入力 さ れ る と き 、 RLOCS プ ロ パテ ィ が間接的に定義 さ れます。 XDC の例 create_macro macro1 update_macro macro1 {u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5 X0Y1} report_property -all [get_macros macro1] Property Type Read-only Visible ABSOLUTE_GRID bool true true CLASS string true true NAME string true true RLOCS string* true true Value 0 macro macro1 u1/sr3 X0Y0 u1/sr4 X1Y0 u1/sr5 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ • place_design • synth_design 関連項目 • 122 ページの 「H_SET お よ び HU_SET」 • 185 ページの 「RLOC」 • 190 ページの 「RLOC_ORIGIN」 • 194 ページの 「RPM」 • 195 ページの 「RPM_GRID」 • 200 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 189 第 2 章 : 主な プ ロパテ ィ の説明 RLOC_ORIGIN RTL デザ イ ンで相対配置マ ク ロ (RPM) の絶対 ロ ケーシ ョ ン、 ま たは LOC を決め る のが RLOC_ORIGIN プ ロ パテ ィ で す。 RPM の定義お よ び RLOC_ORIGIN プ ロ パテ ィ の使用については、 『Vivado Design Suite ユーザー ガ イ ド : 制約の 使用』 (UG903) [参照 12]を参照 し て く だ さ い。 RPM は、 RTL デザ イ ンで H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ を使用 し て、 セ ッ ト にデザ イ ン エ レ メ ン ト を 割 り 当て る こ と で定義 さ れます。 こ の後、 RLOC プ ロ パテ ィ を使用 し て、 相互相対的にデザ イ ン エ レ メ ン ト の配置が 割 り 当て ら れます。 タ ーゲ ッ ト デバ イ スへのセ ッ ト 全体の実際の配置には関係な く 、 セ ッ ト に含まれ る ほかのエ レ メ ン ト に相対 し てセ ッ ト 内のエ レ メ ン ト の配置を定義で き ます。 RPM のエ レ メ ン ト 、その相対的配置を定義 し 終え る と 、RLOC_ORIGIN プ ロ パテ ィ で、タ ーゲ ッ ト デバ イ スへの RPM の絶対配置を定義で き ます。 RLOC_ORIGIN プ ロ パテ ィ は、 合成中に LOC 制約に変換 さ れます。 Vivado Design Suite では、 RLOC_ORIGIN プ ロ パテ ィ は RPM の左下 を定義 し ま す。 こ れは、 RLOC_ORIGIN プ ロ パ テ ィ が X0Y0 のデザ イ ン エ レ メ ン ト であ る こ と が一般的です。 RPM の残 り のセルは、 グループの原点を基準 と し た 相対 ロ ケーシ ョ ン (RLOC) を使用 し て配置 さ れます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • RTL ソ ース フ ァ イ ル内の イ ン ス タ ン ス 値 ス ラ イ ス ベース の XY 軸を使用 し て RLOC は指定 さ れます。 RLOC_ORIGIN=XmYn 説明 : • m は整数の値で、 RPM の左下、 タ ーゲ ッ ト デバ イ ス の X 軸の絶対値を表 し ます。 • n は整数の値で、 RPM の左下、 タ ーゲ ッ ト デバ イ ス の Y 軸の絶対値を表 し ます。 構文 Verilog 構文 RLOC_ORIGIN プ ロ パテ ィ は、 タ ーゲ ッ ト デバ イ ス での RPM の絶対配置を定義す る Verilog 属性です。 Verilog 属性 は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 (* RLOC_ORIGIN = "XmYn", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0)); Verilog 例 次の最上位 Verilog モジ ュ ールは、 デザ イ ンの ffs モジ ュ ールの RLOC_ORIGIN プ ロ パテ ィ を定義 し てい ます。 module top ( Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 190 第 2 章 : 主な プ ロパテ ィ の説明 input clk, input d, output q ); wire c1, c2; (* RLOC_ORIGIN = "X1Y1", KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1); (* RLOC_ORIGIN = "X3Y3", KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2); (* RLOC_ORIGIN = "X5Y5", KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q); endmodule // top 次の例は最初の例 と 非常に類似 し てい ますが、RLOC_ORIGIN は最初の ffs モジ ュ ール u0 だけに割 り 当て ら れていて、 残 り は相対配置用に RLOC プ ロ パテ ィ で定義 さ れてい る 点が異な り ます。 module top ( input clk, input d, output q ); wire c1, c2; // what would happen if the origin places the RPM outside // device? (* RLOC_ORIGIN = "X74Y15", RLOC = "X0Y0" *) ffs u0 (clk, d, c1); (* RLOC = "X1Y1" *) ffs u1 (clk, c1, c2); (* RLOC = "X2Y2" *) ffs u2 (clk, c2, q); endmodule // top VHDL 構文 VHDL 制約は次の よ う に宣言 し ます。 attribute RLOC_ORIGIN: string; VHDL 制約は次の よ う に指定 し ます。 attribute RLOC_ORIGIN of {component_name | entity_name | label_name} : {component|entity|label} is “XmYn”; 説明 : • {component_name | entity_name | label_name} にはデザ イ ン エ レ メ ン ト を指定 し ます。 • {component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。 • XmYn は指定 さ れたデザ イ ン エ レ メ ン ト の RLOC_ORIGIN 値を定義 し ます。 XDC 構文 RLOC_ORIGIN プ ロ パテ ィ は合成 さ れたデザ イ ンで LOC プ ロ パテ ィ に変換 さ れます。タ ーゲ ッ ト デバ イ ス に RPM の エ レ メ ン ト の 1 つを配置す る こ と で、 RPM の LOC プ ロ パテ ィ は指定で き ます。 RPM のほかにエ レ メ ン ト は、 こ の ロ ケーシ ョ ンに相対的に配置 さ れ、 LOC プ ロ パテ ィ に割 り 当て ら れます。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 191 第 2 章 : 主な プ ロパテ ィ の説明 影響のある処理 • 論理か ら 物理へのマ ッ ピ ン グ • place_design • synth_design 関連項目 • 122 ページの 「H_SET お よ び HU_SET」 • 185 ページの 「RLOC」 • 188 ページの 「RLOCS」 • 194 ページの 「RPM」 • 195 ページの 「RPM_GRID」 • 200 ページの 「U_SET」 ROUTE_STATUS ROUTE_STATUS は読み出 し 専用のプ ロ パテ ィ で、 ネ ッ ト 配線の最新情報を反映 さ せる ため、 Vivado 配線プ ロ グ ラ ム でネ ッ ト に割 り 当て ます。 こ のプ ロ パテ ィ は、 get_property ま たは report_property コ マ ン ド を使用 し て、 個々のネ ッ ト 別ま たはネ ッ ト のグループ別に検索で き ます。 デザ イ ン全体の ROUTE_STATUS を確認する には、 report_route_status コ マ ン ド を使用 し ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • ネ ッ ト (get_nets) 値 • ROUTED :ネ ッ ト が完全に配置配線 さ れてい ます。 • PARTIAL :ネ ッ ト のすべての ピ ンお よ びポー ト が配置 さ れ、 ネ ッ ト の一部は配線 さ れてい ますが、 配線 さ れてい ない部分があ る ので route_design を実行する 必要があ り ます。 • UNPLACED :配置 さ れていない ピ ンやポー ト があ り 、 配置を完了 さ せ る ため place_design を実行す る 必要が あ り ます。 • UNROUTED :ネ ッ ト のすべての ピ ンお よ びポー ト が配置 さ れてい ますが、 ネ ッ ト に配線デー タ がないため、 配線 を完了 さ せ る のに route_design 実行する 必要があ り ます。 • INTRASITE : タ ーゲ ッ ト デバ イ ス の同 じ サ イ ト 内で配線全体が完了 し ていて、 接続を完了 さ せ る のに配線 リ ソ ー ス は不要です。 こ れはエ ラ ーではあ り ません。 • NOLOADS :配線に論理 ロ ー ド がないか、 配線可能な ロ ー ド ピ ンがないので、 配線は不要です。 こ れはエ ラ ーで はあ り ません。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 192 第 2 章 : 主な プ ロパテ ィ の説明 • NODRIVER :配線に論理 ド ラ イ バーがないか、 配線可能な ド ラ イ バーがないので、 配線は不要です。 こ れはデザ イ ン エ ラ ーです。 • HIERPORT :配線可能な ロ ー ド ま たは ド ラ イ バーのない最上位階層ポー ト に配線が接続 さ れてい ます。 こ れはエ ラ ーではあ り ません。 • ANTENNAS :配線に最低 1 つのア ン テナがあ る (ア ン テナ と はサ イ ト ピ ンに接続す る 枝葉を指すが、 そのサ イ ト ピ ンが こ の論理ネ ッ ト に接続 さ れてい る こ と を表 し ていない)、 ま たは配線に少な く と も 1 つの島があ る (島 と は 論理ネ ッ ト に関連付け ら れてい る サ イ ト ピ ン のいずれに も 接続 さ れていない配線の一部を指す)。 こ れは配線エ ラ ーです。 • CONFLICTS :配線プ ロ グ ラ ムに次の配線エ ラ ーが 1 つ以上見 ら れます。 ° 配線の競合 : こ の配線の ノ ー ド が 1 つ以上、 ほかの配線、 ま たは同 じ 配線の別の分岐で も 使用 さ れてい ます。 ° サ イ ト ピ ンの競合 :サ イ ト 内のサ イ ト ピ ンに接続 さ れてい る 論理ピ ン と 、 サ イ ト 外に配線を介 し て接続 さ れ てい る 論理ネ ッ ト が異な り ます。 ° 無効サ イ ト の競合 :サ イ ト のプ ロ グ ラ ミ ン グが無効な状態であ る サ イ ト のサ イ ト のサ イ ト ピ ンに配線が接続 さ れていて、 サ イ ト 内の配線が正 し く 接続 さ れてい る か判断で き ない状態です。 • ERROR :配線ス テー タ ス を判断す る にあ た っ て内部エ ラ ーが発生 し た状態です。 • NONET :配線ス テー タ ス用に指定 さ れてい る ネ ッ ト オブジ ェ ク ト が存在 し ないか、ま たは入力 し た よ う には検出 さ れません。 • NOROUTE :エ ラ ーのため、 指定のネ ッ ト に対 し 配線オブジ ェ ク ト を検出で き ません。 • NOROUTESTORAGE :エ ラ ーのため、 こ のデバ イ ス に対 し ては配線ス ト レージ オブジ ェ ク ト は使用で き ません。 • UNKNOWN :エ ラ ーのため、 配線ス テー ト は計算で き ません。 構文 ROUTE_STATUS プ ロ パテ ィ の値は、 先に説明 し た値の 1 つにな り ます。 ま た、 Vivado 配線に よ り 割 り 当て ら れ る 読 み出 し 専用プ ロ パテ ィ で、 直接変更はで き ません。 影響のある処理 • デザ イ ンの配線 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 193 第 2 章 : 主な プ ロパテ ィ の説明 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) を[参照 12]参照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • 合成 さ れたデザ イ ンのセル (get_cells) 値 • NAME :RTL ソ ース フ ァ イ ルに H_SET、 HU_SET、 ま たは U_SET プ ロ パテ ィ と と も に RLOC があ る 場合のセ ッ ト 定義か ら く る RPM の名前です。 構文 RPM を定義す る ための H_SET、 HU_SET、 ま たは U_SET と RLOC が あ る RTL デザ イ ン を合成す る と RPM プ ロ パ テ ィ は派生 し 、 読み出 し 専用です。 RPM プ ロ パテ ィ を直接定義 し た り 変更す る こ と はで き ません。 関連項目 • 122 ページの 「H_SET お よ び HU_SET」 • 185 ページの 「RLOC」 • 188 ページの 「RLOCS」 • 190 ページの 「RLOC_ORIGIN」 • 195 ページの 「RPM_GRID」 • 200 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 194 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 12]を参 照 し て く だ さ い。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • セル (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 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 195 第 2 章 : 主な プ ロパテ ィ の説明 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 関連項目 • 122 ページの 「H_SET お よ び HU_SET」 • 185 ページの 「RLOC」 • 188 ページの 「RLOCS」 • 190 ページの 「RLOC_ORIGIN」 • 194 ページの 「RPM」 • 200 ページの 「U_SET」 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 196 第 2 章 : 主な プ ロパテ ィ の説明 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, その他の Verilog の構文例 出力ま たは双方向バ ッ フ ァ ーが イ ン ス タ ン シエー ト さ れた と き に SLEW を設定す る には、イ ン ス タ ン シエー ト さ れた 出力バ ッ フ ァ ーに SLEW パ ラ メ ー タ ーを割 り 当て ます。 推奨 : 言語 テ ン プ レ ー ト ま た は 『Vivado Design Suite 7 シ リ ー ズ ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17]、 ま た は 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]か ら の イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト を使 用 し て、 正 し い構文を指定 し て く だ さ い。 次の例では、 fast_data_obuf と い う 名前の OBUF イ ン ス タ ン ス の スルー レー ト を FAST に設定 し てい ます。 // OBUF:Single-ended Output Buffer // Virtex-7 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 197 第 2 章 : 主な プ ロパテ ィ の説明 // Xilinx HDL Language Template, version 2014.1 OBUF #( .DRIVE(12), // Specify the output drive strength .IOSTANDARD("DEFAULT"), // Specify the output I/O standard .SLEW("FAST") // Specify the output slew rate ) fast_data_obuf ( .O(FAST_DATA), // Buffer output (connect directly to top-level port) .I(fast_data_int) // Buffer input ); // End of fast_data_obuf instantiation VHDL 構文 I/O バ ッ フ ァ ーを推論す る 際に こ の属性を設定す る には、 適切な VHDL 属性構文を最上位出力ポー ト 宣言の前に配置 し ます。 VHDL 属性は次の よ う に宣言 し ます。 attribute SLEW : string; VHDL 属性は次の よ う に指定 し ます。 attribute SLEW of port_name : signal is value; 説明 : • port_name は最上位出力ポー ト です。 VHDL の構文例 FAST_DATA : out std_logic; attribute SLEW : string; -- Sets the Slew rate to be FAST attribute SLEW of STATUS : signal is “FAST”; その他の VHDL の構文例 出力ま たは双方向バ ッ フ ァ ーが イ ン ス タ ン シエー ト さ れた と き に SLEW を設定す る には、イ ン ス タ ン シエー ト さ れた 出力バ ッ フ ァ ーに SLEW ジ ェ ネ リ ッ ク を割 り 当て ます。 推奨 : 言語 テ ン プ レ ー ト ま た は 『Vivado Design Suite 7 シ リ ー ズ ラ イ ブ ラ リ ガ イ ド 』 (UG953) [参照 17]、 ま た は 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]か ら の イ ン ス タ ン シエーシ ョ ン テ ン プ レー ト を使 用 し て、 正 し い構文を指定 し て く だ さ い。 次の例では、 fast_data_obuf と い う 名前の OBUF イ ン ス タ ン ス の スルー レー ト を FAST に設定 し てい ます。 -- OBUF:Single-ended Output Buffer -Virtex-7 -- Xilinx HDL Language Template, version 2014.1 Fast_data_obuf :OBUF generic map ( DRIVE => 12, IOSTANDARD => "DEFAULT", SLEW => "FAST") port map ( O => FAST_DATA, -- Buffer output (connect directly to top-level port) I => fast_data_int -- Buffer input ); -- End of fast_data_obuf instantiation Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 198 第 2 章 : 主な プ ロパテ ィ の説明 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) [参照 17] ま たは 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18]を参照 し て く だ さ い。 • OBUF • OBUFT • IOBUF • IOBUF_DCIEN • IOBUF_INTERMDISABLE Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 199 第 2 章 : 主な プ ロパテ ィ の説明 U_SET RLOC 制約を使用 し て、 デザ イ ン階層を ま たいで分散 し てい る デザ イ ン エ レ メ ン ト を 1 つのセ ッ ト に ま と め ます。 U_SET は HDL デザ イ ン ソ ー ス フ ァ イ ル内の属性で、 合成 さ れたデザ イ ンや イ ン プ リ メ ン ト さ れたデザ イ ンには現 われません。 U_SET は、 RPM (Relatively Placed Macro) を RTL デザ イ ン で定義す る と き に使用 さ れます。 こ れ ら のプ ロ パテ ィ の使用お よ び RPM の定義については、『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 12] を参照 し て く だ さ い。 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) [参照 17] ま た は 『UltraScale ア ー キ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) [参照 18] を参照 し て く だ さ い。 • レジス タ • FMAP • マク ロ インスタンス • ROM • RAMS • RAMD • MULT18X18S • RAMB4_Sm_Sn • RAMB4_Sn • RAMB16_Sm_Sn • RAMB16_Sn • RAMB16 • DSP48 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 200 第 2 章 : 主な プ ロパテ ィ の説明 値 • NAME :U_SET の名前 構文 Verilog 構文 こ れは、 合成後ネ ッ ト リ ス ト で RPM を定義す る 階層ブ ロ ッ ク のセ ッ ト の内容を定義す る ため、 RLOC プ ロ パテ ィ と 組み合わせた Verilog 構文です。 Verilog 属性は ロ ジ ッ ク エ レ メ ン ト の イ ン ス タ ン シエーシ ョ ン直前に配置 し ます。 (* RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0)); Verilog 例 こ れは、 モジ ュ ールでのシ フ ト レ ジ ス タ フ リ ッ プ フ ロ ッ プの RLOC お よ び U_SET プ ロ パテ ィ を定義す る Verilog モ ジ ュ ールです。 module ffs ( input clk, input d, output q ); wire wire wire wire wire wire wire wire sr_0, sr_1, sr_2, sr_3, sr_4, sr_5, sr_6, sr_7, wire inr, inrn, outr; inv inv inv inv inv inv inv inv inv (sr_0, sr_0n); (sr_1, sr_1n); (sr_2, sr_2n); (sr_3, sr_3n); (sr_4, sr_4n); (sr_5, sr_5n); (sr_6, sr_6n); (sr_7, sr_7n); (inr, inrn); (* (* (* (* (* (* (* (* (* 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; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 201 第 2 章 : 主な プ ロパテ ィ の説明 endmodule // ffs 定義 さ れてい る 特定の階層に設定す る HU_SET プ ロ パテ ィ と は異な り 、 U_SET プ ロ パテ ィ は階層全体に設定で き ま す。 こ の例では、最上位モジ ュ ールに よ り ffs モジ ュ ールの イ ン ス タ ン ス が 3 つ定義 さ れてい ますが、U_SET は Uset_0 お よ び Uset_1 の 2 つ し か作成 さ れてい ません。 こ の 2 つのセ ッ ト に次に定義 さ れてい る 3 つの ffs モジ ュ ール イ ン ス タ ン ス か ら の フ リ ッ プ フ ロ ッ プが含まれてい ます。 module top ( input clk, input d, output q ); wire c1, c2; ffs u0 (clk, d, c1); ffs u1 (clk, c1, c2); ffs u2 (clk, c2, q); endmodule // top VHDL 構文 VHDL 属性は次の よ う に宣言 し ます。 attribute U_SET : string; VHDL 制約は次の よ う に指定 し ます。 attribute U_SET of {component_name | entity_name | label_name} :{component|entity|label} is "NAME"; 説明 : • {component_name | entity_name | label_name} にはデザ イ ン エ レ メ ン ト を指定 し ます。 • {component|entity|label} は指定 し たデザ イ ン エ レ メ ン ト の イ ン ス タ ン ス ID です。 • "NAME" には U_SET の名前を指定 し ます。 XDC 構文 U_SET プ ロ パテ ィ は XDC 制約を使用 し ては定義で き ません。 RLOC と と も に ロ ジ ッ ク エ レ メ ン ト に設定 さ れてい る U_SET プ ロ パテ ィ は、 RPM を定義 し 、 その結果合成 さ れたデザ イ ン のネ ッ ト リ ス ト に読み出 し 専用の RPM プ ロ パ テ ィ が設定 さ れます。 ヒ ン ト : デ ザ イ ン 内 で RPM の よ う に 機能す る マ ク ロ オ ブ ジ ェ ク ト を Vivado Design Suite で 定義す る に は、 create_macro ま たは update_macro を使用 し ます。 こ れ ら の コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835)[参照 9] を参照 し て く だ さ い。 影響のある処理 • デザ イ ンの フ ロ アプ ラ ン • place_design • synth_design Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 202 第 2 章 : 主な プ ロパテ ィ の説明 関連項目 • 148 ページの 「KEEP_HIERARCHY」 • 122 ページの 「H_SET お よ び HU_SET」 • 185 ページの 「RLOC」 USE_DSP48 USE_DSP48 プ ロ パテ ィ を使用す る と 、 Vivado Design Suite で数学モジ ュ ールが タ ーゲ ッ ト デバ イ ス で DSP48 ブ ロ ッ ク に合成 さ れ る よ う にな り ます。 デ フ ォ ル ト では、 乗算器、 乗加算器、 乗減算器、 乗累算器 タ イ プ の構造が DSP48 ブ ロ ッ ク に割 り 当 て ら れ ま す。 USE_DSP48 プ ロ パテ ィ を指定 し ない場合、 Vivado 合成では ロ ジ ッ ク が自動的に正 し く 推論 さ れます。 加算器、 減算 器、 ア キ ュ ム レー タ も こ れ ら のブ ロ ッ ク に含め る こ と はで き ますが、デフ ォ ル ト では DSP48 ブ ロ ッ ク ではな く ロ ジ ッ ク を使用 し て イ ン プ リ メ ン ト さ れ ます。 USE_DSP48 属性を使用す る と 、 こ のデフ ォ ル ト 動作が変更 さ れ、 デバ イ ス で DSP48 ブ ロ ッ ク を使用 し て こ れ ら の構造が定義 さ れ る よ う に も な り ます。 DSP48 は、 カ ウ ン タ ー、 マルチプ レ ク サー、 お よ びシ フ ト レ ジ ス タ な ど、 数学以外のその他多 く の ロ ジ ッ ク フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト さ れ る ために も 使用で き ます。 ただ し 、 マルチプ レ ク サーな ど の複雑なモジ ュ ールの場合 は、 手動で DSP48 を手動で イ ン ス タ ン シエー ト する 必要があ り ます。 こ のプ ロ パテ ィ は、 次の よ う に RTL で信号上の属性 と し て設定で き ます。 (* use_dsp48 = "yes" *) module test(clk, in1, in2, out1); USE_DSP48 は RTL ソ ース でモジ ュ ールに適用で き ますが、 それが指定 さ れたモジ ュ ールにのみ適用 さ れ ます。 下位 モジ ュ ールには個別に指定す る か、 指定 し ないで く だ さ い。 こ れは、 デザ イ ンの階層セルに XDC 制約 と し て適用す る こ と も で き ます。 アーキテ ク チ ャ サポー ト すべてのデバ イ ス 適用可能なオブ ジ ェ ク ト こ の属性は、 RTL の信号、 アーキ テ ク チ ャ お よ び コ ン ポーネ ン ト 、 エ ン テ ィ テ ィ お よ びモジ ュ ールに指定で き ます。 優先順位は次の と お り です。 1. 信号 2. アーキ テ ク チ ャ お よ び コ ン ポーネ ン ト 3. モジ ュ ールお よ びエン テ ィ テ ィ 値 • YES : DSP48 ブ ロ ッ ク を使用 し て数学フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト し ます。 • NO : Vivado 合成のデフ ォ ル ト ビヘ イ ビ アーは変更 さ れません。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 203 第 2 章 : 主な プ ロパテ ィ の説明 構文 Verilog 構文 (* use_dsp48 = "yes" *) module test(clk, in1, in2, out1); VHDL 構文 attribute use_dsp48 : string; attribute use_dsp48 of P_reg : signal is "no" XDC 構文 set_property use_dsp48 yes [get_cells -hier ….] 影響のある処理 • 合成 USED_IN USED_IN プ ロ パテ ィ は Vivado Design Suite のデザ イ ン フ ァ イ ル (v、 vhd、 xdc、 tcl) に設定 し 、 こ れ ら の フ ァ イ ルが FPGA デザ イ ンの ど の段階で使用 さ れ る か を指定 し ます。 た と えば、 イ ンプ リ メ ン テーシ ョ ンではな く 、 Vivado 合成で XDC フ ァ イ ルを使用す る よ う 、 USED_IN プ ロ パテ ィ で 指定で き ます。 ま た、 合成ではな く シ ミ ュ レーシ ョ ンで HDL ソ ース フ ァ イ ル (v ま たは vhd) を使用す る よ う 指定す る こ と も で き ます。 ヒ ン ト : USED_IN_SYNTHESIS、 USED_IN_SIMULATION、 USED_IN_IMPLEMENTATION プ ロ パテ ィ は USED_IN プ ロ パテ ィ に関連付け ら れてお り 、 ツールに よ り 自動的に USED_IN ({synthesis, simulation, implementation} に変換 さ れ ます。 ま た、 Tcl フ ァ イ ル を 単に イ ン プ リ メ ン テ ー シ ョ ン で使用す る 設定す る の で は な く 、 USED_IN opt_design ま た は place_design で使用す る よ う に細か く 設定する こ と も で き ます。 アーキテ ク チ ャ サポー ト すべてのアーキ テ ク チ ャ 適用可能なオブ ジ ェ ク ト • フ ァ イル 値 • synthesis • implementation Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 204 第 2 章 : 主な プ ロパテ ィ の説明 • simulation • out_of_context • opt_design • power_opt_design • place_design • phys_opt_design • route_design • write_bitstream • post_write_bitstream • synth_blackbox_stub • testbench • board • single_language 構文 Verilog 構文 該当な し VHDL 構文 該当な し XDC 構文 set_property USED_IN {<value>} [get_files <files>] 説明 : • <value> には有効な USED_IN 値が 1 つま たは複数入 り ます。 • <files> には USED_IN プ ロ パテ ィ を設定す る フ ァ イ ル名が入 り ます。 XDC の構文例 # Designates the specified files as used in simulation set_property USED_IN {synthesis simulation} [get_files *.vhdl] 影響のある処理 • 合成 • シ ミ ュ レーシ ョ ン • イ ンプ リ メ ン テーシ ョ ン • ビ ッ ト ス ト リ ーム生成 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 205 第 2 章 : 主な プ ロパテ ィ の説明 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 シ リ ーズお よ び Zynq デバ イ ス (High Performance (HP) バン ク の I/O のみ) 適用可能なオブ ジ ェ ク ト • ポー ト (get_ports) • セル (get_cells) ° I/O バ ッ フ ァ ー 値 • 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; Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 206 第 2 章 : 主な プ ロパテ ィ の説明 VHDL 属性は次の よ う に指定 し ます。 attribute VCCAUX_IO of port_name : signal is value; 説明 : • port_name は最上位ポー ト です。 VHDL の構文例 ACT3 : in std_logic; attribute VCCAUX_IO : string; -- Specifies a HIGH voltage for the VCCAUX_IO rail connected to this I/O attribute VCCAUX_IO of ACT3 : signal is “HIGH”; XDC 構文 set_property VCCAUX_IO value [get_ports port_name] 説明 : • port_name は最上位ポー ト です。 XDC の構文例 # Specifies a HIGH voltage for the VCCAUX_IO rail connected to this I/O set_property VCCAUX_IO HIGH [get_ports ACT3] 影響のある処理 • I/O 配置 • place_design • 消費電力レ ポー ト Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 207 付録 A その他の リ ソ ース ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 ザ イ リ ン ク ス で使用 さ れ る 技術用語については、 ザ イ リ ン ク ス用語集を参照 し て く だ さ い。 ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 参考資料 こ のガ イ ド の補足情報は、 次の資料を参照 し て く だ さ い。 1. 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) 2. 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG471) 3. 『7 シ リ ーズ FPGA ク ロ ッ ク リ ソ ース ユーザー ガ イ ド 』 (UG472) 4. 『7 シ リ ーズ FPGA の XADC 12 ビ ッ ト 1MSPS デュ アル アナ ロ グ-デジ タ ル コ ンバー タ ー ユーザー ガ イ ド 』 (UG480) 5. 『UltraScale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG570) 6. 『UltraScale アー ク テ ク チ ャ SelectIO リ ソ ース ユーザー ガ イ ド 』 (UG571) 7. 『UltraScale アーキ テ ク チ ャ ク ロ ッ キ ン グ リ ソ ース ユーザー ガ イ ド 』 (UG572) 8. 『UltraScale アー ク テ ク チ ャ シ ス テ ム モニ タ ー ユーザー ガ イ ド 』 (UG580) 9. 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) 10. 『Vivado Design Suite ユーザー ガ イ ド : IP を使用 し た設計』 (UG896) 11. 『Vivado Design Suite ユーザー ガ イ ド : 合成』 (UG901) 12. 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) 13. 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904) 14. 『Vivado Design Suite ユーザー ガ イ ド : 階層デザ イ ン』 (UG905) 15. 『Vivado Design Suite ユーザー ガ イ ド : デザ イ ン解析お よ び ク ロ ージ ャ ー テ ク ニ ッ ク 』 (UG906) Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 208 16. 『Vivado Design Suite ユーザー ガ イ ド : プ ロ グ ラ ムお よ びデバ ッ グ』 (UG908) 17. 『Vivado Design Suite 7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG953) 18. 『UltraScale アーキ テ ク チ ャ ラ イ ブ ラ リ ガ イ ド 』 (UG974) 19. 『Vivado Design Suite ユーザー ガ イ ド : IP イ ン テ グ レー タ ーを使用 し た IP サブシ ス テ ムの設計』 (UG995) 20. 『LogiCORE IP JTAG to AXI Master 製品ガ イ ド 』 (PG174) 21. Vivado Design Suite ビデオ チ ュ ー ト リ アル 22. Vivado Design Suite の資料 法的通知 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-2014 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. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 jpn_trans_feedback@xilinx.com ま で、 ま たは各ページの 右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で 入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受 け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 Vivado プ ロパテ ィ リ フ ァ レ ン ス UG912 (v2014.2) 2014 年 8 月 5 日 japan.xilinx.com 209
© Copyright 2024 Paperzz