vivado design suite - xilinx...vivado design suite ユーザー ガイド...

195
Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 11 18 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

Upload: others

Post on 26-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

Vivado Design Suite ユーザー ガイド

デザイン解析およびクロージャ テクニック

UG906 (v2015.4) 2015 年 11 月 18 日

本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 2UG906 (v2015.4) 2015 年 11 月 18 日

改訂履歴

次の表に、 この文書の改訂履歴を示します。

 

 

日付 バージョ ン 改訂内容

2015 年 11 月 18 日 2015.4 Vivado® Design Suite 2015.4 リ リースに併せてアップデート。

次のよ うに変更 :• 付録 A 「タ イ ミ ング DRC」 を追加

• 45 ページの 「パルス幅レポート 」 をわかりやすく書き換え

• 169 ページの 「ファンアウ トの大きいネッ ト ド ラ イバーの特定」 をわかりやすく書き換え

2015 年 9 月 30 日 2015.3 Vivado Design Suite 2015.3 リ リースに併せてアップデート。

次のよ うに変更 :• このバージ ョ ンでのツールの変更に併せて図をアップデート 第 3 章• 「デザイン解析レポート 」 セクシ ョ ンを移動し、 大幅に変更 (以前のバージ ョ ンではこ

のセクシ ョ ンは第 4 章に含まれる )第 4 章• 「I/O レポート 」 の リ ス ト をアップデート

• 「消費電力レポート 」 で set_default_switching_activity コマンドを set_switching_activity コマンドに変更

2015 年 5 月 26 日 2015.1 Vivado Design Suite 2015.1 リ リースに併せてアップデート。

次のよ うに変更 :• 62 ページの 「ク ロ ッ ク乗せ換えレポート 」 を追加

• 92 ページの 「デザイン解析レポート 」 を追加

• 第 7 章 「デザイン解析テクニッ ク」 を追加

Page 3: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 3UG906 (v2015.4) 2015 年 11 月 18 日

目次

第 1章 : IDE を使用したロジック解析IDE を使用したデザイン解析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

ロジッ ク解析機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

[Netlist] ウ ィンド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

[Hierarchy] ウ ィンド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

[Schematic] ウ ィンド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

[Find] ダイアログ ボッ クスを使用したオブジェク トの検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

デバイス使用率統計の解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

DRC レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

設計手法 DRC の検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

第 2章 : タイ ミング解析機能タイ ミ ング サマリ レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

ク ロ ッ ク ネッ ト ワーク レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

ク ロ ッ ク関連性レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

パルス幅レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

タイ ミ ング レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

データシート レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

例外レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

ク ロ ッ ク乗せ換えレポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

第 3章 : インプリ メンテーシ ョ ン結果の解析機能[Design Runs] ウ ィンド ウの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

配置解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

配線解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

デザイン解析レポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

第 4章 : レポートおよびメ ッセージ概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

IDE でのメ ッセージの表示および管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Vivado で生成されるレポートおよびメ ッセージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

デザインに関するレポートの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

第 5章 : タイ ミング解析の実行タイ ミ ング解析の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

タイ ミ ング解析の基礎の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

タイ ミ ング サインオフの確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

タイ ミ ング パス レポートの解釈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

第 6章 : デザイン  クロージャ  テクニック制約およびソースのチェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Page 4: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 4UG906 (v2015.4) 2015 年 11 月 18 日

ツールのエフォート レベルの増加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

フロアプラン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

配線の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

第 7章 : デザイン解析テクニックreport_design_analysis コマンドの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

エラボレート済みビューを使用した RTL の 適化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

デザインの 長ロジッ ク遅延パスを特定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

ファンアウ トの大きいネッ ト ド ラ イバーの特定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

ホールド違反の修正がデザインに悪影響を及ぼすかの判断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

タイ ミ ングが満たされていないパスすべてをすばやく解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

付録 A : タイ ミング DRCTIMING-1:Invalid Clock Waveform on Clock Modifying Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

TIMING-2:Invalid Primary Clock on Internal Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

TIMING-3:Invalid Primary Clock on Clock Modifying Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

TIMING-4:Invalid Primary Clock Redefinition on a Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

TIMING-5:Invalid Waveform Redefinition on a Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

TIMING-6:No Common Primary Clock Between Related Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

TIMING-7:No Common Node Between Related Clocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

TIMING-8:No Common Period Between Related Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

TIMING-9:Unknown CDC Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

TIMING-10:Missing Property on Synchronizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

TIMING-11:Inappropriate Max Delay with Datapath Only Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

TIMING-12:Clock Reconvergence Pessimism Removal Disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

TIMING-13:Timing Paths Ignored Due to Path Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

TIMING-14:LUT on the Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

TIMING-15:Large Hold Violation on Inter-Clock Path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

TIMING-16:Large Setup Violation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

TIMING-17:Non-Clocked Sequential Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

TIMING-18:Missing Input or Output Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

TIMING-19:Inverted Generated Clock Waveform on ODDR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

TIMING-20:Non-Clocked Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

TIMING-21:Invalid COMPENSATION Property on MMCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

TIMING-22:Missing External Delay on MMCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

TIMING-23:Combinatorial Loop Found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

TIMING-24:Overridden Max Delay Datapath Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

TIMING-25:Invalid Clock Waveform on Gigabit Transceiver (GT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

TIMING-26:Missing Clock on Gigabit Transceiver (GT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

TIMING-27:Invalid Primary Clock on Hierarchical Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

TIMING-28:Auto-Derived Clock Referenced by a Timing Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

TIMING-29:Inconsistent Pair of Multicycle Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

TIMING-30:Sub-Optimal Master Source Pin Selection for Generated Clock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

付録 B : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

ト レーニング リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

お読みください : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Page 5: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 5UG906 (v2015.4) 2015 年 11 月 18 日

第 1章

IDE を使用したロジック解析

IDE を使用したデザイン解析次の章では、 ザイ リ ンクス Vivado® 統合設計環境 (IDE) でのデザイン解析の概要を説明します。

• 「IDE を使用したロジッ ク解析」 (この章)

• 第 2 章 「タイ ミ ング解析機能」

• 第 3 章 「インプ リ メンテーシ ョ ン結果の解析機能」

ロジック解析機能この章では、 次のロジッ ク解析機能について説明します。

• 「[Netlist] ウ ィンド ウ」

• 「[Hierarchy] ウ ィンド ウ」

• 「[Schematic] ウ ィンド ウ」

• 「[Find] ダイアログ ボッ クスを使用したオブジェク トの検索」

• 「デバイス使用率統計の解析」

• 「DRC レポート 」

• 「設計手法 DRC の検証」

Page 6: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 6UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

[Netlist] ウィンドウ[Netlist] ウ ィンド ウには、 合成ツールで処理されたネッ ト リ ス トでのデザイン階層が表示されます。

合成設定によって、 ネッ ト リ ス ト の階層が元の RTL と 100% 同じであった り、 階層がなかった り します。 一般的には、合成ツールはデフォルトではほとんどのユーザー階層を保持しながらロジッ クを 適化し、小型で高速のネッ トリ ス ト を作成します。

合成ツールのデフォルト を使用する と、 ネッ ト リ ス トの階層は認識されますが、階層へのインターフェイスが変更される場合があ り ます。 一部のピンや階層レベルがない場合もあ り ます。

階層の各レベルは、 その階層ツ リーを示します。 各レベルに、 次のものが表示されます。

• そのレベルのすべてのネッ ト を含む [Nets] フォルダー

• そのレベルにハードウェア プリ ミ ティブ インスタンスがある場合は [Leaf Cells] フォルダー

• そのレベルにインスタンシエート されている階層

ツ リーをたどる と、 すべてのブランチを表示できます。 セルの横に表示されているアイコンは、 デザインの状態を示します。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照して ください。

階層の各レベルの [Instance Properties] ウ ィンド ウの [Statistics] ビューには、 次のよ うな リ ソース使用率統計が表示されます。

• その階層ブランチ全体のプリ ミ ティブの使用状況

• 階層の境界を横切るネッ トの数

• 階層で使用されるクロ ッ ク

X-Ref Target - Figure 1-1

図 1‐1 : [Netlist] ウィンドウ

Page 7: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 7UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

デザインをフロアプランする場合、 Pblock に対して同様のプロパティが表示されます。

X-Ref Target - Figure 1-2

図 1‐2 : [Instance Properties] ウィンドウ

Page 8: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 8UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

[Hierarchy] ウィンドウこのウ ィンド ウでは、 階層のリ ソースの使用量を理解できます。 [Hierarchy] ウ ィンド ウを開くには、 [Tools] → [ShowHierarchy] をク リ ッ クするか、 [Netlist] ウ ィンド ウで F6 キーを押します。

[Hierarchy] ウ ィンド ウには、 次の図に示すよ うに、 ネッ ト リ ス トの階層ツ リーが表示されます。 各行は、 ネッ ト リ スト内の階層レベルを示します。 下に行くほど、 ネッ ト リ ス トの下位階層になり ます。 各階層レベルは、 そのレベルのほかの階層に相対したサイズで表示されます。

図 1-3 では、 cpuEngine、 usbEngine0、 および usbEngine1 がデザインの大部分のロジッ クを占めており、 おおよそ同じ数のリ ソースを使用しているこ とが示されています。

使用率レポートは、 デザインを リ ソース タイプごとに表示します。 各リ ソース タイプ別に階層レベルごとの使用率を表示します。

リ ソース使用率レポート を表示するには、[Tools] → [Report] → [Report Utilization] をク リ ッ ク します。9 ページの図 1-4に、 リ ソース使用率レポート を示します。

X-Ref Target - Figure 1-3

図 1‐3 : [Hierarchy] ウィンドウ

Page 9: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 9UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

このデザインでは、2 つの usbEngine ブロ ッ クによ り RAMB36 および FIFO36 ブロ ッ クの大半が消費されています。プラス記号 (+) をク リ ッ クする と、 下位階層でのリ ソース使用率を表示できます。

[Schematic] ウィンドウ回路図は、 ネッ ト リ ス トのグラフ ィカル表示です。 回路図を表示する と、 次を実行できます。

• ネッ ト リ ス ト をグラフ ィカルに表示します。

• ゲート、 階層、 および接続を確認します。

• ロジッ ク コーンをたどったり展開したり します。

• デザインを解析します。

• デザインの内部をよ り理解しやすくな り ます。

エラボレート済みデザインの RTL レベルでは、 ツールでコードがどのよ うに解釈されたかを確認できます。 合成済みデザインおよびインプ リ メン ト済みデザインでは、 合成ツールで生成されたゲート を確認できます。

X-Ref Target - Figure 1-4

図 1‐4 : リソース使用率レポート

Page 10: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 10UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

回路図を表示するには、 [Tools] → [Schematic] をク リ ッ ク します。 オブジェク ト を選択していない場合は、 デザインの 上位のゲート、 階層、 および接続が表示されます (図 1-5)。

回路図の拡大/縮小および移動方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照してください。

ヒン ト : 1 つの階層レベルを選択する と、 回路図がシンプルになり ます。 選択したエレ メン トが青色でハイライ ト され、 1 つの階層のポートが表示されます。

X-Ref Target - Figure 1-5

図 1‐5 : 上位回路図

Page 11: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 11UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

回路図では、 次の操作を実行できます。

• 階層の左上にある [+] をク リ ッ ク してゲート を表示します。

• ポート またはエレ メン ト をダブルク リ ッ ク して展開します。

• ポップアップメニューを使用します。

回路図の詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照してください。

• 前の表示に戻ったり次の表示に進んだりするには、 ツールバーの [Previous] (←) および [Next] (→) ボタンをクリ ッ ク します。

• ツールバーの [Expand All] ボタンをク リ ッ ク して、 ロジッ クおよび接続をよ り詳細に表示します。

• ツールバーの [Collapse All] をク リ ッ ク して、 回路図を簡略化します。

インプ リ メンテーシ ョ ン後にタイ ミ ング パスのゲート を視覚的に確認するには、回路図が も簡単な方法です。パスを選択して回路図を開く と、 そのパスのゲート とネッ トが表示されます。

X-Ref Target - Figure 1-6

図 1‐6 : 1 つの階層を選択した場合の回路図

Page 12: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 12UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

回路図で関連のある階層レベルを特定するには、 右ク リ ッ ク して [Select Leaf Cell Parents] をク リ ッ ク します。

[Highlight] および [Mark] コマンドを使用する と、関連のゲートが見やすくな り ます。 [Highlight] および [Mark] コマンドを使用してプリ ミ ティブを色分け表示する と、 どのロジッ クが元のパスにあるか、 どのロジッ クが追加されたかなどがわかりやすくな り ます。

X-Ref Target - Figure 1-7

図 1‐7 : タイ ミング パスの回路図

X-Ref Target - Figure 1-8

図 1‐8 : タイ ミング パスの回路図でプリ ミテ ィブの親を選択

Page 14: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 14UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

[Find] ダイアログ ボックスを使用したオブジェク トの検索Vivado IDE には、 優れた検索機能が含まれています。 検索機能を使用するには、 [Edit] → [Find] をク リ ッ ク します。次の図に示す [Find] ダイアログ ボッ クスが表示されます。

注記 : Ctrl+F キーを押しても [Find] ダイアログ ボッ クスを開く こ とができます。

X-Ref Target - Figure 1-10

図 1‐10 : [Find] ダイアログ ボックス

Page 15: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 15UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

検索条件

[Find] ダイアログ ボッ クスを使用する と、 さまざまな条件およびプロパティ を設定してネッ ト リ ス ト を検索できます。

X-Ref Target - Figure 1-11

図 1‐11 : [Find] ダイアログ ボックスでの検索条件の指定

Page 16: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 16UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

検索例

[Edit] → [Find] を使用する と、 たとえば次のものを検索できます。

• 未配置の I/O すべて

• ツールで配置されたグローバル ク ロ ッ ク

• ファンアウ トが 10,000 以上のネッ ト

• PREG エンベデッ ド レジスタを使用する DSP

複数の条件を使用した検索

複数の条件を指定して検索を実行するには、 次の手順に従います。

1. 初の検索条件を指定します。

2. [Properties] セクシ ョ ンの各行の右側にある [+] をク リ ッ ク します。

3. 検索条件を追加します。

4. 検索条件の演算子 (AND または OR) を選択します。

X-Ref Target - Figure 1-12

図 1‐12 : [Find] ダイアログ ボックスでのプロパティ  オプシ ョ ンの指定

Page 17: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 17UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

Tcl での検索

[Tcl Console] ウ ィンド ウまたはスク リプ トで実行している場合、検索には get_* コマンド (get_cells など) を使用します。

ヒン ト : Vivado IDE の下部に [Tcl Console] ウ ィ ン ド ウがあ り、 GUI で実行された操作の Tcl コマンドが示されます。[Tcl Console] ウ ィンド ウに Tcl コマンドを入力して実行できます。

Tcl スク リプ ト機能の詳細は、 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894) [参照 2] を参照してください。

Tcl コマン ドの詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァ レンス ガイ ド』 (UG835) [参照 3] を参照するか、「<command> -help」 と入力してください。

デバイス使用率統計の解析インプ リ メンテーシ ョ ン問題のよ くある原因は、ピン配置によるロジッ クおよびデバイスのレイアウ トが考慮されていないこ とです。ほとんどのデバイスではスライス ロジッ クは均一ですが、次のよ うな特殊リ ソースがロジッ クの配置に影響します。

• I/O

• HP (High Performance) バンク

• HR (High Range) バンク

• MGT

• DSP48

• ブロ ッ ク RAM

• MMCM

• BUFG

• BUFR

特定の特殊リ ソースを多数消費するブロ ッ クは、デバイス全体に分散する必要がある場合があ り ます。デザインのほかの部分とのインターフェイスを設計する際、このこ とを考慮して ください。次を組み合わせてブロ ッ ク リ ソースを確認します。

• report_utilization

• ネッ ト リ ス ト プロパティ

• Pblock プロパティ

Page 18: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 18UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

DRC レポートデザイン ルール チェッ ク (DRC) はデザインをチェッ ク し、 一般的な問題をレポート します。 DRC を実行するには、report_drc コマンドを使用します。 インプリ メンテーシ ョ ンでは、 ツールで DRC が実行されます。 配置配線後には、 よ り完全で包括的な DRC が実行されます。

推奨 : DRC のク リティカル警告およびエラーをフローの初期段階で確認し、フローの後の方で問題が発生しないよ うにしてください。

合成済みデザインで [Report DRC] を実行する と、制約の適用されていない I/O に対してク リ ティカル警告が表示されます。 配線済みデザインでも、 ク リ テ ィ カル警告がレポート されます。 レポート を確認して ください。 ビッ ト ス トリーム生成の段階では、 同じ DRC でエラーがレポート されます。 DRC レポート を早めに確認し、 デザインで変更が必要な部分を特定するよ うにしてください。

設計手法 DRC の検証設計手法の重要性を考慮し、 Vivado ツールでは設計手法に従っているかど う かをチェ ッ クするデザイン ルールチェッ ク (DRC) のセッ トが提供されています。デザイン プロセスの段階によって、異なる DRC があ り ます。 RTL リン ト スタイル チェッ クはエラボレート済み RTL デザインに対して実行され、ネッ ト リ ス ト ベースのロジッ クおよび制約チェッ クは合成済みデザインに対して実行され、インプリ メンテーシ ョ ンおよびタイ ミ ング チェッ クはインプ リメン ト済みデザインに対して実行されます。

Tcl プロンプ トでこれらのチェッ クを実行するには、 検証するデザインを開いて次の Tcl コマンドを入力します。

report_drc -ruledeck methodology_checks

X-Ref Target - Figure 1-13

図 1‐13 : DRC によるクリテ ィ カル警告およびエラー

Page 19: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 19UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

IDE からこれらのチェッ クを実行するには、検証するデザインを開いて [Report DRC] コマンドを実行します。 [ReportDRC] ダイアログ ボッ クスが表示されたら、図 1-14 に示すよ うに、[Rule decks] で [methodology_checks] を選択します。

X-Ref Target - Figure 1-14

図 1‐14 : [Report DRC] ダイアログ ボックス

Page 20: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 20UG906 (v2015.4) 2015 年 11 月 18 日

第 1 章 : IDE を使用したロジック解析

違反が検出された場合は、 次の図に示す [DRC] ウ ィンド ウに表示されます。

設計手法 DRC の実行に関する詳細は、『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895)[参照 4] のこのセクシ ョ ンと 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 5] のこのセクシ ョ ンを参照してください。

X-Ref Target - Figure 1-15

図 1‐15 : DRC 違反

Page 21: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 21UG906 (v2015.4) 2015 年 11 月 18 日

第 2章

タイ ミング解析機能

タイ ミング サマリ  レポートタイ ミ ング解析は、 合成後であればどの時点でも実行できます。 合成およびインプリ メンテーシ ョ ン run で自動的に生成されるタイ ミ ング サマリ レポート を確認できます。

合成済みデザインまたはインプ リ メン ト済みデザインを メモ リに読み込むと、次の方法でインタラ クティブなタイ ミング サマリ レポート を生成できます。

• Flow Navigator の [Synthesis] → [Synthesized Design] → [Report Timing Summary] をク リ ッ ク

• Flow Navigator の [Implementation] → [Implemented Design] → [Report Timing Summary] をク リ ッ ク

• [Tools] → [Timing] → [Report Timing Summary] をク リ ッ ク

同等 Tcl コマンド : report_timing_summary

report_timing_summary の詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] のこのセクシ ョ ンを参照してください。

合成済みデザインでは、接続およびファンアウ トに基づいてネッ ト遅延が予測されます。 セルがユーザーによ り配置されている と、 その間のネッ ト遅延はよ り正確なものとな り ます。 I/O や GT などの一部のセルが事前に配置されているパスでは、 ク ロ ッ ク スキューが大きい可能性があ り ます。

インプ リ メン ト済みデザインでは、ネッ ト遅延は実際の配線情報に基づきます。 タイ ミ ング サインオフには、完全に配線されたデザインを使用してください。デザインが完全に配線されているかど うかは、配線ステータス レポートで確認できます。

[Report Timing Summary] ダイアログ ボックス

[Report Timing Summary] ダイアログ ボッ クスには、 次のタブがあ り ます。

• 「[Options] タブ」

• 「[Advanced] タブ」

• 「[Timer Settings] タブ」

[Results name] は、 [Timing] ウ ィ ンド ウに表示される結果のグラフ ィカル レポートの名前を指定します。 グラフ ィカル レポートには、 レポートのネッ トおよびセルから [Device] および [Schematic] ウ ィンド ウ、デザイン ソース ファ イルにクロスプローブできる リ ンクがあ り ます。

[Results name] に名前を入力しない場合、 レポートは Tcl コンソールに表示され、 グラフ ィカル レポートは表示されません。

同等 Tcl オプシ ョ ン : -name

Page 22: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 22UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Options] タブ

[Report Timing Summary] ダイアログ ボッ クスの [Options] タブには、 次のセクシ ョ ンがあ り ます。

[Report] セクシ ョ ン

[Options] タブの [Report] セクシ ョ ンには、 次のオプシ ョ ンがあ り ます。

• [Path delay type]

実行する解析のタイプを設定します。 合成済みデザインの場合、 デフォルトでは 大遅延解析 (セッ ト アップ/ リカバリ ) のみが実行されます。 インプ リ メ ン ト済みデザインの場合、 デフォルトでは 小/ 大遅延解析 (セッ トアップ/ホールド、 リ カバリ / リ ムーバル) の両方が実行されます。 小遅延解析 (ホールドおよびリ ムーバル) のみを実行する場合は、 [min] を選択します。

同等 Tcl オプシ ョ ン : -delay_type

X-Ref Target - Figure 2-1

図 2‐1 : [Report Timing Summary] ダイアログ ボックス : [Options] タブ

Page 23: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 23UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

• [Report unconstrained paths]

タイ ミ ング要件のないパスに関する情報を生成します。 このオプシ ョ ンは、 Vivado IDE ではデフォルトでオンになっていますが、 同等の Tcl コマンド report_timing_summary ではデフォルトでは使用されません。

同等 Tcl オプシ ョ ン : -report_unconstrained

• [Report datasheet]

51 ページの 「データシート レポート 」 で説明されているデザイン データシート を生成します。

同等 Tcl オプシ ョ ン : -datasheet

[Path Limits] セクシ ョ ン

[Options] タブの [Path Limits] セクシ ョ ンには、 次のオプシ ョ ンがあ り ます。

• [Maximum number of paths per clock or path group] : ク ロ ッ ク ペアまたはパス グループごとにレポートするパスの大数を指定します。

同等 Tcl オプシ ョ ン : -max_paths

• [Maximum number of worst paths per endpoint] : パスの終点ごとにレポートするワース ト パスの 大数を指定します。 これは、 ク ロ ッ ク ペアまたはパス グループごとのパスの 大数によって制限されます。 そのため、 レポート されるパスの総数は -max_paths で指定した数によ り制限されます。

同等 Tcl オプシ ョ ン : -nworst

[Path Display] セクシ ョ ン

[Options] タブの [Path Display] セクシ ョ ンには、 次のオプシ ョ ンがあ り ます。

• [Display paths with slack less than] : スラ ッ クが指定した値未満のパスをレポート します。 このオプシ ョ ンは、 サマリ表には影響しません。

同等 Tcl オプシ ョ ン : -slack_lesser_than

• [Significant digits] : レポートに表示される値の精度を指定します。

同等 Tcl オプシ ョ ン : -significant_digits

[Report Timing Summary] ダイアログ ボックスのすべてのタブに共通のセクシ ョ ン

次のオプシ ョ ンは、 [Report Timing Summary] ダイアログ ボッ クスのすべてのタブに共通です。

• [Command] : [Report Timing Summary] ダイアログ ボッ クスで指定されているオプシ ョ ンと同等の Tcl コマンド ラインを表示します。

• [Open in a new tab] : 結果を新しいビューに表示するか、 後に開いたビューを上書きするかを指定します。

• [Open in Timing Analysis layout] : [Timing Analysis] レイアウ ト を開きます。

このレイアウ トの詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照してください。

Page 24: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 24UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Advanced] タブ

[Report Timing Summary] ダイアログ ボッ クスの [Advanced] タブには、 次のセクシ ョ ンがあ り ます。

X-Ref Target - Figure 2-2

図 2‐2 : [Report Timing Summary] ダイアログ ボックス : [Advanced] タブ

Page 25: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 25UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Report] セクシ ョ ン

• [Report from cell] : デザインの特定のセルのタイ ミ ングのみをレポート します。指定したセルで開始または終了するパス、 およびセルに完全に含まれるパスのみがレポート されます。

同等 Tcl コマンド : -cell

• [Show input pins in path] : パスに使用されるセルの入力ピンを表示します。

同等 Tcl オプシ ョ ン : -input_pins

推奨 : パスで使用されるすべてのピンに関してよ り詳細な情報を得るため、 このオプシ ョ ンはオンにしてください。

• [Report unique pins] : ピンの各固有のセッ トに対して 1 つのタイ ミ ング パスのみを表示します。

同等 Tcl コマンド : -unique_pins

[File Output] セクシ ョ ン

• [Write results to file] : 結果を指定したファイルに書き込みます。 デフォルトでは、 レポートは Vivado IDE の[Timing] ウ ィンド ウに表示されます。

同等 Tcl オプシ ョ ン : -file

• [Overwrite]/[Append] : レポート をファ イルに記述する場合に、 指定のファイルを上書きするか、 新しい情報を既存のレポートの 後に追加するかを指定します。

同等 Tcl オプシ ョ ン : -append

[Miscellaneous] セクシ ョ ン

• [Ignore command errors] : コマンド エラーを表示しません。 コマンドを メ ッセージを表示せずに実行します。 コマンド ライン エラーは無視され、エラー メ ッセージは表示されません。実行中にエラーが発生してもしなくても、TCL_OK が返されます。

同等 Tcl オプシ ョ ン : -quiet

• プログラム実行中メ ッセージの制限を解除し、すべてのメ ッセージを表示します。 メ ッセージの制限を一時的に解除し、 コマンドからのすべての出力を返します。

同等 Tcl オプシ ョ ン : -verbose

Page 26: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 26UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Timer Settings] タブ 

タイマー設定を指定するには、 Vivado IDE のタイ ミ ング解析ダイアログ ボッ クス、 またはこのセクシ ョ ンに リ ス トされている Tcl コマンドのいずれかを使用します。 これらの設定は、同じ Vivado IDE セッシ ョ ンで実行する合成およびインプ リ メンテーシ ョ ン以外のタイ ミ ング関連のコマンドに影響します。

タ イマー設定はツール プ リ ファレンス と しては保存されず、 新しいセッシ ョ ンごとにデフォル ト値に戻り ます。 デフォルト値を変更しないでください。 デフォルト値では、 も正確な遅延値が使用され、 タイ ミ ング解析の適用範囲が 大限になり ます。

[Report Timing Summary] ダイアログ ボッ クスの [Timer Settings] タブには、 次のセクシ ョ ンがあ り ます。

X-Ref Target - Figure 2-3

図 2‐3 : [Report Timing Summary] ダイアログ ボックス : [Timer Settings] タブ

Page 27: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 27UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Interconnect Setting]

ネッ ト遅延を 下位セル ピン間の予測配線距離に基づいて算出するか、実際に配線されたネッ ト を使用して算出するか、 またはタイ ミ ング解析から除外するかを指定します。

デフォル ト では、 合成済みデザインの解析では [estimated] に、 インプ リ メ ン ト 済みデザインの解析では[actual] に設定されます。

° [estimated] : 未配置のセルの場合、ネッ ト遅延値はド ライバーおよびロード、ファンアウ トの特性に基づく適な配置での遅延値にな り ます。 未配線の 下位セル ピン間のネッ トは、 タ イ ミ ング パス レポート では「unplaced」 と示されます。

配置済みセルの場合、 ネッ ト遅延はド ライバーと ロード間の距離およびファンアウ トによ り決ま り ます。 このネッ トは、 タイ ミ ング パス レポートでは 「estimated」 と示されます。

° [actual] : 配線済みネッ トの場合、 ネッ ト遅延は配線されたインターコネク トの実際のハードウェア遅延になり ます。 このネッ トは、 タイ ミ ング パス レポートでは 「routed」 と示されます。

° [none] : タイ ミ ング レポートでインターコネク ト遅延は考慮されず、 ネッ ト遅延は 0 になり ます。

同等 Tcl コマンド : set_delay_model

[Speed grade]

デバイスのスピード グレードを設定します。 デフォルトでは、 プロジェク ト を作成する際やデザイン チェッ クポイン ト を開く際に選択したデバイスに基づいて設定されます。

このオプシ ョ ンを使用する と、インプ リ メンテーシ ョ ン フローをすべて再実行しなくても、別のスピード グレードで同じデザイン データベースのタイ ミ ングをレポートできます。

同等 Tcl コマンド : set_speed_grade

[Multi‐Corner Configuration]

指定したタイ ミ ング コーナーを解析するパス遅延のタイプを指定します。 有効な値は [none]、 [max]、 [min]、 および [min_max] です。 [none] に設定する と、 そのコーナーのタイ ミ ング解析は実行されません。

推奨 : 両方のコーナーでセッ ト アップ ( 大) およびホールド ( 小) 解析の両方を実行して ください。

同等 Tcl コマンド : config_timing_corners

• [Disable flight delays]

I/O 遅延の算出にパッケージ遅延を追加しません。

同等 Tcl コマンド : config_timing_analysis

Page 28: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 28UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

タイ ミ ング サマリ  レポートの詳細

タイ ミ ング サマリ レポートには、 次のセクシ ョ ンが含まれます。

• 「[General Information] セクシ ョ ン」

• 「[Timer Settings] セクシ ョ ン」

• 「[Design Timing Summary] セクシ ョ ン」

• 「[Clock Summary] セクシ ョ ン」

• 「[Check Timing] セクシ ョ ン」

• 「[Intra-Clock Paths] セクシ ョ ン」

• 「[Inter-Clock Paths] セクシ ョ ン」

• 「[Path Groups] セクシ ョ ン」

• 「[User-Ignored Paths] セクシ ョ ン」

• 「[Unconstrained Paths] セクシ ョ ン」

タ イ ミ ング サマ リ レポート には、 Vivado IDE で生成可能な複数のレポート ([Report Clock Interaction]、 [Report PulseWidth]、 [Report Timing]、 [Check Timing]) の情報、 および report_clocks などの Tcl のみで生成可能なレポート と同様の情報が含まれますが、

制約の適用されていないパス (Unconstrained Paths) など、 このレポートにしか含まれない情報もあ り ます。

[General Information] セクシ ョ ン

タイ ミ ング サマリ レポートの [General Information] セクシ ョ ンには、 次の情報が含まれます。

• デザイン名

• 選択されたデバイス、 パッケージ、 スピード グレード (スピード ファ イル バージ ョ ン)

• Vivado Design Suite のバージ ョ ン

• 日付

• レポート を生成するために実行された同等の Tcl コマンド

Page 29: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 29UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Timer Settings] セクシ ョ ン

レポート のタ イ ミ ング情報を生成するのに使用された Vivado IDE タ イ ミ ング解析エンジン設定の詳細を示します。図 2-4 に、 [Timer Settings] セクシ ョ ンのデフォルト オプシ ョ ンを示します。

• [Enable Multi-Corner Analysis] : マルチコーナー解析がイネーブルかど うかを示します。 各コーナーの解析でどの解析が実行されたかは、 [Multi-Corner Configuration] に示されます。

• [Enable Pessimism Removal] および [Pessimism Removal Resolution] : 各パスのソース ク ロ ッ クおよびデスティネーシ ョ ン ク ロ ッ クで共通ノードでのスキューが削除されているかど うかを示します。

注記 : これらの設定は、 常にイネーブルにする必要があ り ます。

• [Enable Input Delay Default Clock] : ユーザー制約のない入力ポートにデフォルトのヌル入力遅延制約を作成しているかど うかを示します。 このオプシ ョ ンは、 デフォルトではオフになっています。

• [Enable Preset / Clear Arcs] : 非同期ピンを介したタイ ミ ング パスの伝搬がイネーブルかど うかを示します。リ カバリ / リ ムーバル チェッ クには影響しません。 デフォルトではオフになっています。

• [Disable Flight Delays] : I/O 遅延の算出でパッケージ遅延がディ スエーブルかど うかを示します。

[Timer Settings] セクシ ョ ンのデフォルト設定とその変更方法は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイド』 (UG835) [参照 3] のこのセクシ ョ ンの 「config_timing_analysis」 を参照して ください。

X-Ref Target - Figure 2-4

図 2‐4 : タイ ミング サマリ  レポート   : [Timer Settings] セクシ ョ ン

Page 30: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 30UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Design Timing Summary] セクシ ョ ン

タイ ミ ング サマリ レポートの [Design Timing Summary] セクシ ョ ン (図 2-5) は、 デザインのタイ ミ ングのサマ リ を示します。 ほかのセクシ ョ ンの結果が統合されています。

推奨 : [Design Timing Summary] セクシ ョ ンで、 配線後にすべてのタイ ミ ング制約が満たされたか、 デザインの現在のステータスを確認します。

[Design Timing Summary] セクシ ョ ンには、 次のセクシ ョ ンがあ り ます。

• 「[Setup] ( 大遅延解析)」

• 「[Hold] ( 小遅延解析)」

• 「[Pulse Width] (ピン スイ ッチ制限)」

[Setup] ( 大遅延解析)

大遅延解析 (セッ ト アップ、 リ カバリ、 およびデータ チェッ ク ) の結果を示します。

• [Worst Negative Slack (WNS)] : 大遅延解析におけるすべてのタイ ミ ング パスの 悪のスラ ッ クを示します。 この値は、 正の場合と負の場合があ り ます。

• [Total Negative Slack (TNS)] : 各タイ ミ ング パスの終点における 悪の違反を考慮した場合の、 WNS 違反の合計を示します。 この値は、 次のよ うになり ます。

° 大遅延解析ですべてのタイ ミ ング制約が満たされている場合は 0ns になり ます。

° 違反がある場合は負の値になり ます。

• [Number of Failing Endpoints] : 違反が発生している (WNS < 0ns) 終点の総数を示します。 Translation Note: Included in the previous segment.

• [Total Number of Endpoints] : 解析された終点の総数を示します。

[Hold] ( 小遅延解析)

小遅延解析 (ホールド、 リ ムーバル、 およびデータ チェッ ク ) の結果を示します。

• [Worst Hold Slack (WHS)] : 小遅延解析におけるすべてのタイ ミ ング パスの 悪のスラ ッ クを示します。 この値は、 正の場合と負の場合があ り ます。

• [Total Hold Slack (THS)] : 各タイ ミ ング パスの終点における 悪の違反を考慮した場合の、 WHS 違反の合計を示します。 この値は、 次のよ うになり ます。

° 小遅延解析ですべてのタイ ミ ング制約が満たされている場合は 0ns になり ます。

° 違反がある場合は負の値になり ます。

• [Number of Failing Endpoints] : 違反が発生している (WHS < 0ns) 終点の総数を示します。

• [Total Number of Endpoints] : 解析された終点の総数を示します。

X-Ref Target - Figure 2-5

図 2‐5 : タイ ミング サマリ  レポート  : [Design Timing Summary] セクシ ョ ン

Page 31: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 31UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Pulse Width] (ピン  スイッチ制限)

ピンのスイ ッチ制限に関する次のチェッ クの結果を示します。

• 小 Low パルス幅

• 小 High パルス幅

• 小周期

• 大周期

• 大スキュー (PCIE や GT (UltraScale™ デバイスのみ) などの同じ 下位セルの 2 つのクロ ッ ク ピン間)

次の値がレポート されます。

• [Worst Pulse Width Slack (WPWS)] : 小遅延および 大遅延を使用した上記のすべてのチェッ クにおける 悪のパルス幅スラ ッ クを示します。

• [Total Pulse Width Slack (TPWS)] : 各タイ ミ ング パスの終点における 悪の違反を考慮した場合の、WPWS 違反の合計を示します。 この値は、 次のよ うになり ます。

° すべてのタイ ミ ング制約が満たされている場合は 0ns になり ます。

° 違反がある場合は負の値になり ます。

• [Number of Failing Endpoints] : 違反が発生している (WPWS < 0ns) 終点の総数を示します。

• [Total Number of Endpoints] : 解析された終点の総数を示します。

[Clock Summary] セクシ ョ ン

report_clocks コマンドを実行した場合と同様の情報が含まれます。

• create_clock コマンド、 create_generated_clock コマンド、 またはツールで自動的に生成されたクロ ックすべてが表示されます。

• 名前、 周期、 波形、 周波数要件などの各クロ ッ クのプロパティ も示されます。

ヒン ト : 名前のインデン トは、 マスター ク ロ ッ ク と生成クロ ッ クの関係を表します。

 

[Check Timing] セクシ ョ ン

不足しているタイ ミ ング制約や、制約に問題のあるパスに関する情報を示します。 タイ ミ ング サインオフには、すべてのパスの終点に制約が設定されている必要があ り ます。

X-Ref Target - Figure 2-6

図 2‐6 : タイ ミング サマリ  レポート   : [Clock Summary] セクシ ョ ン

Page 32: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 32UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Check Timing] セクシ ョ ンをスタンドアロンのレポート と して生成するには、 次のいずれかを実行します。

• [Tools] → [Timing] → [Check Timing] をク リ ッ ク します。

• Tcl の check_timing コマンドを実行します。

デフォルトで実行されるチェッ クは、 次のとおりです (図 2-7)。

• no_input_delay : 入力遅延制約が設定されていない入力ポート をレポート します。

• no_output_delay : 出力遅延制約が設定されていない出力ポート をレポート します。

• unconstrained_internal_endpoints : 出力ポート を除く、 タイ ミ ング要件がないパスの終点をレポートします。 これは、 no_clock チェッ クでもレポート される不足しているクロ ッ ク定義にも直接関係しています。

• no_clock : 定義されたタイ ミ ング ク ロ ッ クが供給されていないクロ ッ ク ピンをレポート します。 定数クロ ック ピンもレポート されます。

• multiple_clock : 複数のタイ ミ ング ク ロ ッ クが到達するクロ ッ ク ピンをレポート します。 この状況は、 クロ ッ ク ツ リーにクロ ッ ク マルチプレクサーがある場合に発生します。

• generated_clocks : 同じクロ ッ ク ツ リーにないマスター ク ロ ッ ク ソースを基準とする生成クロ ッ クをレポート します。

• loops : デザインで検出された組み合わせループをレポート します。ループは、 タイ ミ ングをレポートするため Vivado IDE タイ ミ ング エンジンによ り自動的に分離されます。

• partial_input_delay : 小入力遅延制約または 大入力遅延制約のどちらかしか設定されていない入力ポート をレポート します。 これらのポートは、 セッ ト アップ解析とホールド解析の両方にはレポート されません。

• partial_output_delay : 小出力遅延制約または 大出力遅延制約のどちらかしか設定されていない出力ポート をレポート します。 これらのポートは、 セッ ト アップ解析とホールド解析の両方にはレポート されません。

• latch_loops : デザインにシーケンシャル フ ィードバッ ク ループがあるかど うかをチェッ ク します。

制約定義の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

X-Ref Target - Figure 2-7

図 2‐7 : タイ ミング サマリ  レポート   : [Check Timing] セクシ ョ ン

Page 33: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 33UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Intra‐Clock Paths] セクシ ョ ン

ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クが同じパスのタイ ミ ング値 (ワース ト スラ ッ クおよび合計違反) を示します。

詳細情報を表示するには、左側のペインで [Intra-Clock Paths] の下の名前をク リ ッ ク します。各クロ ッ クのスラ ッ クおよび違反のサマ リ、 および [Setup]、 [Hold]、 [Pulse Width] をク リ ッ ク してセッ ト アップ、 ホールド、 パルス幅チェックの N 個のワース ト パスに関する詳細を表示できます。 N の値は、 コマンド ラインで -max_paths オプシ ョ ンを使用するか、 GUI の [Maximum number of paths per clock or path group] で指定します。

ワース ト スラ ッ ク値およびレポート されたパスの数は、 各解析タイプの右に表示されます (次の図を参照)。

X-Ref Target - Figure 2-8

図 2‐8 : タイ ミング サマリ  レポート   : [Intra‐Clock Paths] セクシ ョ ン

X-Ref Target - Figure 2-9

図 2‐9 : タイ ミング サマリ  レポート   : [Intra‐Clock Paths] セクシ ョ ンの詳細

Page 34: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 34UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Inter‐Clock Paths] セクシ ョ ン

ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クが異なるパスのタイ ミ ング値 (ワース ト スラ ッ クおよび合計違反) を示します。

詳細情報を表示するには、左側のペインで [Inter-Clock Paths] の下の名前をク リ ッ ク します。各クロ ッ クのスラ ッ クおよび違反のサマ リ、 および [Setup]、 [Hold]、 [Pulse Width] をク リ ッ ク してセッ ト アップ、 ホールド、 パルス幅チェックの N 個のワース ト パスに関する詳細を表示できます。 N の値は、 コマンド ラインで -max_paths オプシ ョ ンを使用するか、 GUI の [Maximum number of paths per clock or path group] で指定します。

[Path Groups] セクシ ョ ン

デフォルトのパス グループおよびユーザー定義のパス グループを表示します。 次の図に、 [Path Groups] セクシ ョ ンのサマ リ表の例を示します。 この表を表示するには、 左側のペインで [Path Groups] をク リ ッ ク します。

ヒン ト : **async_default** は、 Vivado IDE タイ ミ ング エンジンで自動的に作成されたパス グループで、 リ カバリ / リムーバルのよ うな非同期タイ ミ ング チェッ クで終わるすべてのパスが含まれます。 これらのチェッ クは、 [Setup] (大遅延解析) および [Hold] ( 小遅延解析) に個別にレポート されます。 group_paths コマンドで作成したグループもすべてこのセクシ ョ ンに表示されます。ソース ク ロ ッ クおよびデスティネーシ ョ ン ク ロ ッ クはどの組み合わせでも、パス グループを構成できます。

[User‐Ignored Paths] セクシ ョ ン

set_clock_groups および set_false_path 制約によ り、タイ ミ ング解析で無視されたパスを表示します。レポート されるスラ ッ クは無限大です。

X-Ref Target - Figure 2-10

図 2‐10 : タイ ミング サマリ  レポート  : [Inter‐Clock Paths] セクシ ョ ンの詳細

X-Ref Target - Figure 2-11

図 2‐11 : タイ ミング サマリ  レポート   : [Path Groups] セクシ ョ ン

Page 35: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 35UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Unconstrained Paths] セクシ ョ ン

制約がないために、 タイ ミ ングが適用されていない論理パスを示します。 これらのパスは、 ソースおよびデスティネーシ ョ ン ク ロ ッ ク ペアごとに分類されます。パスの開始点または終点に関連付けられているクロ ッ クがない場合、クロ ッ ク名情報は空 (NONE) になり ます。

タイ ミング パスの詳細の確認

ほとんどのセクシ ョ ンは、 展開してク ロ ッ ク ペアごとのパスの情報を表示できます。 [Setup]、 [Hold]、 [Pulse Width]サブセクシ ョ ンには、N 個のワース ト パスが表示されます。これらのパスのいずれかを選択する と、その詳細が [PathProperties] ウ ィンド ウの [Report] ビューに表示されます。

パスをダブルク リ ッ クする と、 同じ詳細情報が新しいウ ィンド ウに表示されます。

タイ ミ ング パスの詳細は、 第 5 章 「タイ ミ ング解析の実行」 を参照して ください。

X-Ref Target - Figure 2-12

図 2‐12 : タイ ミング サマリ  レポート   : [User‐Ignored Paths] セクシ ョ ン

X-Ref Target - Figure 2-13

図 2‐13 : タイ ミング サマリ  レポート  : [Unconstrained Paths] セクシ ョ ン

Page 36: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 36UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

各パスをさ らに解析するには、 次の手順に従います。

1. 右側のペインでパスを右ク リ ッ ク します。

2. ポップアップ メニューから次のいずれかをク リ ッ ク します。

° [Schematic] : パスの回路図を表示します。

° [Report Timing on Source to Destination] : パスのタイ ミ ング解析を再実行します。

° [Highlight] : [Device] および [Schematic] ウ ィンド ウでパスをハイライ ト します。

違反のあるパスのみを表示

タイ ミ ングが満たされていないパスのスラ ッ ク値は、 レポートで赤で表示されます。 ツールバーの [Show only failingpaths] ボタン をク リ ッ ク してオンにする と、 これらの違反のみを表示できます。

次の図に、 タイ ミ ング違反のあるパスのみを表示したタイ ミ ング サマリ レポートの例を示します。

クロック  ネッ トワーク  レポート[Report Clock Network] コマンドは、 次の方法で実行できます。

• Vivado IDE の Flow Navigator から

• 次の Tcl コマンドを実行

report_clock_networks -name {network_1}

[Report Clock Networks] を実行する と、 デザインのクロ ッ クがツ リー表示で示されます (図 2-15)。 各ク ロ ッ ク ツ リーにはソースから終点までのクロ ッ ク ネッ ト ワークが示され、 終点のタイプごと並べられます。

X-Ref Target - Figure 2-14

図 2‐14 : タイ ミング サマリ  レポート   : 違反のあるパスのみを表示

Page 37: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 37UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

ク ロ ッ ク ツ リーには、 次の特徴があ り ます。

• ユーザー定義またはツールで自動的に生成されたクロ ッ クを表示

• I/O ポートからロードまでのクロ ッ クをレポート

注記 :完全なツ リーの詳細は GUI のレポート でのみ表示されます。 このレポートのテキス ト版には、 ク ロ ッ クルートの名前のみが表示されます。

• BUFG を駆動する BUFG の検索に使用可能

• ク ロ ッ クでないロードを駆動するクロ ッ クを表示

デザインで定義されている各プライマ リ ク ロ ッ クおよび生成クロ ッ クを含むフォルダーが表示されます。制約が適用されていないクロ ッ ク ルートは、 別のフォルダーに表示されます。

ツールバーの [Filter Ports]、 [Filter Net]、 [Filter Cell]、 [Filter Input Pins]、 [Filter Output Pins] ボタンを使用して、 ク ロ ック ツ リーに表示される情報を限定できます。

X-Ref Target - Figure 2-15

図 2‐15 : クロック  ネッ トワーク  レポート

Page 38: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 38UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

ク ロ ッ ク パスの回路図を表示するには、 次の手順に従います。

1. ツ リーでオブジェク ト を右ク リ ッ ク します。

2. [Trace to Source] をク リ ッ ク します。

クロック関連性レポートク ロ ッ ク関連性レポート を表示するには、 次のいずれかをク リ ッ ク します。

• メ イン メニューから [Tools] → [Timing] → [Report Clock Interaction]

• Flow Navigator の [Synthesis] → [Synthesized Design] → [Report Clock Interaction]

• Flow Navigator の [Implementation] → [Implemented Design] → [Report Clock Interaction]

同等 Tcl コマンド : report_clock_interaction -name clocks_1

[Report Clock Interaction] ダイアログ ボックス

[Report Clock Interaction] ダイアログ ボッ クスには、 次のフ ィールド、 チェッ ク ボッ クス、 およびタブがあ り ます。

• 「[Results name] フ ィールド」

• 「[Command] フ ィールド」

• 「[Open in a new tab] チェッ ク ボッ クス」

• 「[Options] タブ」

• 「[Timer Settings] タブ」

[Results name] フ ィールド  

グラフ ィカル レポートの名前を指定します。

同等 Tcl オプシ ョ ン : -name

[Command] フ ィールド

[Report Clock Interaction] ダイアログ ボッ クスで指定されているオプシ ョ ン と同等の Tcl コマンド ラ インを表示します。

[Open in a new tab] チェ ック  ボックス

結果を新しいビューに表示するか、 後に開いたビューを上書きするかを指定します。

Page 39: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 39UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Options] タブ

[Report Clock Interaction] ダイアログ ボッ クスの [Options] タブには、 次のフ ィールドがあ り ます。

• 「[Delay type]」

• 「[Significant digits]」

• 「[File Output] セクシ ョ ン」

[Delay type]

実行する解析のタイプを設定します。

• 合成済みデザインの場合、 デフォルトでは 大遅延解析 (セッ ト アップ/ リ カバリ ) のみが実行されます。

• インプ リ メン ト済みデザインの場合、 デフォルトでは 小/ 大遅延解析 (セッ ト アップ/ホールド、 リ カバリ / リムーバル) の両方が実行されます。

小遅延解析 (ホールドおよびリ ムーバル) のみを実行する場合は、 [min] を選択します。

同等 Tcl オプシ ョ ン : -delay_type

[Significant digits]

レポート される値の有効桁数を指定します。 デフォルト値は 3 です。

同等 Tcl オプシ ョ ン : -significant_digits

X-Ref Target - Figure 2-16

図 2‐16 : [Report Clock Interaction] ダイアログ ボックス : [Options] タブ

Page 40: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 40UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[File Output] セクシ ョ ン

[File Output] セクシ ョ ンには、 次のオプシ ョ ンがあ り ます。

• [Write results to file] : 結果を指定したファイルに書き込みます。 Vivado IDE では、 レポートは [Clock Interaction]ウ ィンド ウに表示されます。

同等 Tcl オプシ ョ ン : -file

• [Overwrite]/[Append] : レポート をファ イルに記述する場合に、 指定のファイルを上書きするか、 新しい情報を既存のレポートの 後に追加するかを指定します。

同等 Tcl オプシ ョ ン : -append

[Timer Settings] タブ

このタブの詳細は、 26 ページの 「[Timer Settings] タブ」 を参照して ください。

クロック関連性レポートの詳細

ク ロ ッ ク関連性レポートは、あるクロ ッ ク ド メ イン (ソース ク ロ ッ ク ) から別のクロ ッ ク ド メ イン (デスティネーシ ョン ク ロ ッ ク ) へのタイ ミ ング パスを解析します。データ損失やメ タステーブル状態などの問題を特定するのに役立ちます。

[Report Clock Interaction] コマンドを実行する と、結果が [Clock Interaction] ウ ィンド ウに表示されます。 ク ロ ッ ク関連性レポートには、 次の図に示すよ うに、 信号のソース ク ロ ッ ク ド メ インを縦軸、 デスティネーシ ョ ン ク ロ ッ ク ド メインを横軸に、 クロ ッ ク ド メ インのマ ト リ ッ クスが表示されます。

Page 41: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 41UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

マ ト リ ッ クス セルの色分け

マ ト リ ッ ク スのセルは、 色分け表示されます。 セルの色は、 [Tools] → [Options] をク リ ッ ク して表示される [VivadoOptions] ダイアログ ボッ クスの [Colors] ページの [Graphical Editors] の下で指定されている背景色によって異な り ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照してください。色の凡例を非表示にするには、 [Clock Interaction] ウ ィンド ウのツールバーで [Show/Hide Legend] (?) をクリ ッ ク します。

• No Path (黒) : ソース ク ロ ッ クからデスティネーシ ョ ン ク ロ ッ クまでにド メ インをまたがるタイ ミ ング パスが存在しないこ とを示します。 ク ロ ッ クに関連性はなく、 何もレポート されません。

• Timed (緑) : ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クに同期関係があ り、 タイ ミ ング制約が正し く設定されているこ とを示します。 この状態は、 2 つのクロ ッ クのプライマ リ ク ロ ッ クが共通しており、 ク ロ ッ ク周期が単純な比である場合に、 タイ ミ ング エンジンによ り判断されます。

• User Ignored Paths (紺色) : ソース ク ロ ッ クからデスティネーシ ョ ン ク ロ ッ クまでのド メ インをまたがるパスすべてにユーザー定義の false_path またはクロ ッ ク グループ制約が適用されているこ とを示します。

X-Ref Target - Figure 2-17

図 2‐17 : クロック関連性レポート

Page 42: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 42UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

• Partial False Path (水色) : ソース ク ロ ッ クからデスティネーシ ョ ン ク ロ ッ クまでのド メ インをまたがるパスの一部にユーザー定義の false_path が適用されており、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クに同期関係があるこ とを示します。

• Timed (Unsafe) (赤) : ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クが非同期であるこ とを示します。 プライマリ ク ロ ッ クが共通でないか、周期の公倍数を見つけるこ とができません。非同期クロ ッ クおよび周期の公倍数がないクロ ッ クの詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] のこのセクシ ョ ンを参照してください。

• Partial False Path (Unsafe) (オレンジ色) : [Timed (Unsafe)] と同じですが、 ソース ク ロ ッ クからデスティネーシ ョ ンクロ ッ クへの少なく と も 1 つのパスがフォルス パス例外のため無視されているこ とを示します。

• Max Delay Datapath Only (グレー) : ソース ク ロ ッ クからデスティネーシ ョ ン ク ロ ッ クまでのド メ インをまたがるパスすべてに set_max_delay -datapath_only が適用されているこ とを示します。

重要 : マ ト リ ッ クスのセルの色は、クロ ッ ク ド メ イン間の制約の状態を表しており、ク ロ ッ ク ド メ イン間のタイ ミ ング パスのワース ト スラ ッ クの状態を表すものではあ り ません。 緑色のセルはタイ ミ ングが満たされているこ とを示しているのではなく、 ク ロ ッ ク ド メ イン間のタイ ミ ング パスに正し く制約が適用されており、 ク ロ ッ ク間に既知の位相関係があるこ とを示します。

表示されるクロックの選択

[Clock Interaction] ウ ィンド ウに表示されるクロ ッ クを選択するには、 次の手順に従います。

1. ツールバーの [Clock Interaction Options] をク リ ッ ク します。

2. 表示するクロ ッ クをオンにします。

Page 43: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 43UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

これによ り、表示されるクロ ッ ク数は減り ますが、 マ ト リ ッ クスの下の表にレポート されるクロ ッ ク関連性の数は減り ません。 また、 ツールバーの [Hide unused clocks] ボタンをク リ ッ クする と、 デザインの論理パスに直接供給されないクロ ッ クの表示/非表示を切り替えるこ とができます。 これらのクロ ッ クは WNS/TNS/WHS/THS の算出には使用されないので、 デフォルトでは非表示になっています。

クロック  ペアのスラックを示す表

マ ト リ ッ クスの下の表には、ソース /デスティネーシ ョ ン ク ロ ッ ク ペアに対するセッ ト アップ/ リ カバリ またはホールド / リ ムーバルのタイ ミ ング スラ ッ クの概要が示されます。 ワース ト パスのパス要件、 共通プライマ リ ク ロ ッ ク、および制約の状態に関する有益な情報も表示されます。41 ページの図 2-17を参照してください。 この表には、マ ト リ ックスには示されない詳細な情報が表示されます。

データの並べ替え

表のデータは、 列ヘッダーを 1 回ク リ ッ クする と昇順に、 も う 1 回ク リ ッ クする と降順に並べ替えられます。

セルおよび行の選択

マ ト リ ッ クスでセルを選択する と、 下の表で対応する行が選択されます。

表で行を選択する と、 上のマ ト リ ッ クスで対応するセルがハイライ ト されます。

表の列

表には、 次の列があ り ます。

• [Id] : 表示されているソース /デスティネーシ ョ ン ク ロ ッ ク ペアの識別番号を示します。

• [Source Clock] : パスが開始するクロ ッ ク ド メ インを示します。

X-Ref Target - Figure 2-18

図 2‐18 : [Clock Interaction] ウィンドウに表示されるクロックの選択

Page 44: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 44UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

• [Destination Clock] : パスが終了するクロ ッ ク ド メ インを示します。

• [Edges (WNS)] : 大遅延解析 (セッ ト アップ/ リ カバリ ) のワース ト ネガティブ スラ ッ クの算出に使用されたクロ ッ ク エッジを示します。

• [WNS] : ク ロ ッ ク ド メ イン間のさまざまなパスのワース ト ケースのスラ ッ クを表示します。 負のスラ ッ ク値は、パスでセッ ト アップまたはリ カバリ タイム違反が発生しているこ とを示します。

• [TNS] : ク ロ ッ ク ド メ イン間のパスに属するすべての終点におけるワース ト スラ ッ ク違反の合計を示します。

• [Failing Endpoints (TNS)] : ク ロ ッ ク ド メ イン間のパスのタイ ミ ングが満たされていない終点の数を示します。 違反の合計は、 TNS に対応します。

• [Total Endpoints (TNS)] : ク ロ ッ ク ド メ イン間のパスの終点の総数を示します。

• [Path Req (WNS)] : [WNS] 列にレポート されているパスのタイ ミ ング パス要件を示します。 2 つのクロ ッ クの少なく と もどちらかで立ち上がりエッジおよび立下りエッジの両方がアクティブである場合はク ロ ッ ク ペア間に複数のパス要件がある可能性があ り、また 2 つのクロ ッ ク間のパスにタイ ミ ング例外が適用されている場合もあり ます。 この列にレポート される値が、 も厳しい要件である とは限り ません。

詳細は、 131 ページの 「パス要件」 を参照してください。

• [Common Primary Clock] : タイ ミ ング パスのソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クが共通のプライマリ ク ロ ッ クで定義されているかど うかを示します。 タイ ミ ング パスのソース ク ロ ッ クまたはデスティネーシ ョン ク ロ ッ クのいずれかが仮想クロ ッ クを基準にしている場合、 [Common Primary Clock] フ ィールドに 「Virtual」と表示されます。

• [Inter-Clock Constraints] : ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ ク間のすべてのパスの制約サマリ を示します。 可能な値は、 41 ページの 「マ ト リ ッ クス セルの色分け」 に リ ス ト されています。 次は、 これらの制約の定義例です。

set_clock_groups -async -group wbClk -group usbClkset_false_path -from [get_clocks wbClk] -to [get_clocks cpuClk]

小遅延解析も選択されている場合 (ホールド / リ ムーバル)、 次の列も表示されます。

• [Edges (WHS)] : ワース ト ホールド スラ ッ クの算出に使用されたクロ ッ ク エッジを示します。

• [WHS] : ク ロ ッ ク ド メ イン間のさまざまなパスのワース ト ケースのスラ ッ クを表示します。 負のスラ ッ ク値は、パスでホールドまたはリ ムーバル タイム違反が発生しているこ とを示します。

• [THS] : 小遅延解析 (ホールド / リ ムーバル) 用に、 クロ ッ ク ド メ イン間のパスに属するすべての終点におけるワース ト スラ ッ ク違反の合計を示します。

• [Failing Endpoints (THS)] : ク ロ ッ ク ド メ イン間のパスのタイ ミ ングが満たされていない終点の数を示します。 違反の合計は、 THS に対応します。

• [Total Endpoints (THS)] : 小遅延解析 (ホールド / リ ムーバル) 用に、クロ ッ ク ド メ イン間のパスの終点の総数を示します。

• [Path Req (WHS)] : [WHS] 列にレポート されているパスのタイ ミ ング パス要件を示します。 WNS と同様、 2 つのクロ ッ ク間の 小遅延解析用に複数のパス要件がある場合があ り、 この列にレポート される値が も厳しい要件である とは限り ません。

詳細は、 第 5 章 「タイ ミ ング解析の実行」 を参照してください。

表で 1 つまたは複数のクロ ッ ク ペアを選択できます。選択したソース /デスティネーシ ョ ン ク ロ ッ ク ペアを右ク リ ックする と、 [Report Timing] を実行できます。

表のエクスポート

[Export to Spreadsheet] を実行する と、 表を XLS ファ イルに出力し、 スプレッ ドシートで使用できます。

Page 45: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 45UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

パルス幅レポート[Report Pulse Width] コマンドは、 各インスタンス ク ロ ッ ク ピンで 小周期、 大周期、 High パルス時間、 Low パルス時間の要件が満たされているかど うかをチェッ ク します。 また、 PCIe® ク ロ ッ クなど、 インプリ メン ト済みデザインの同じインスタンスの 2 つのクロ ッ ク ピン間で 大スキュー要件が満たされているかもチェッ ク します。パルス幅のスラ ッ ク式には、 ジッ ターまたはクロ ッ クのばらつきは含まれません。

同等 Tcl コマンド : report_pulse_width

注記 : ISE® では、 このチェッ クはコンポーネン ト スイ ッチ制限と呼ばれています。interaction

タイ ミング レポート[Report Timing] を使用する と、 合成後の任意の段階で、 特定のタイ ミ ング パスを解析できます。 タイ ミ ング サマ リレポートでレポート されたタイ ミ ング問題を調査する場合や、特定のタイ ミ ング制約の有効性および適用範囲を確認する場合に使用できます。 [Report Timing] にはパルス幅レポートは含まれません。

[Report Timing] の実行

デザインがメモ リに読み込まれていれば、 メニュー、 ク ロ ッ ク関連性レポート、 タイ ミ ング レポート、 またはタイ ミング サマリ レポートのパス リ ス トから [Report Timing] を実行できます。

メニューからの [Report Timing] の実行

メニューから [Report Timing] を実行するには、 [Tools] → [Timing] → [Report Timing] をク リ ッ ク します。

クロック関連性レポートからの [Report Timing] の実行 

ク ロ ッ ク関連性レポートから [Report Timing] を実行するには、 次の手順に従います。

1. ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クのペアを選択します。

2. 右ク リ ッ ク して [Report Timing] をク リ ッ ク し、 選択したクロ ッ ク間のレポート を生成します。

X-Ref Target - Figure 2-19

図 2‐19 :パルス幅レポート

Page 46: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 46UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

パス リス トからの [Report Timing] の実行

パス リ ス トから [Report Timing] を実行するには、 次の手順に従います。

1. パスを選択します。

2. 右ク リ ッ ク して [Report Timing] をク リ ッ ク し、 選択したパスのレポート を生成します。

同等 Tcl コマンド : report_timing

[Report Timing] ダイアログボッ クスでオプシ ョ ンを設定する と、次の場所に同等の report_timing コマンド構文が表示されます。

• [Report Timing] ダイアログボッ クスの [Command] フ ィールド

• 実行後に [Tcl Console] ウ ィンド ウ

次のセクシ ョ ンで、 ダイアログ ボッ クスの各オプシ ョ ンについて説明し、 同等の report_timing コマンドのオプシ ョ ンを示します。

[Report Timing] ダイアログ ボッ クスのオプシ ョ ンは、[Report Timing Summary] ダイアログ ボッ クスのオプシ ョ ンとほぼ同じですが、 追加のフ ィルター オプシ ョ ンがいくつかあ り ます。

Page 48: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 48UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

特定のパスまたはパスのグループのレポート を生成するため、いくつかのフ ィルター オプシ ョ ンがあ り ます。これらのフ ィルターは、 タイ ミ ング パスの構造に基づきます。

• [Start Points] ([From]) : シーケンシャル セル ク ロ ッ ク ピン、 シーケンシャル セル、 入力ポート、 双方向ポート、ソース ク ロ ッ クなど、 開始点を リ ス ト します。

複数の開始点を リ ス ト した場合、それらのネッ ト リ ス ト オブジェク トのいずれかから開始するすべてのパスがレポート されます。

[Transition] では、 特定のソース ク ロ ッ ク エッジ (立ち上がり /立ち下がり ) を選択します。

同等 Tcl オプシ ョ ン : -from、 -rise_from、 -fall_from

• [Through Point Groups] ([Through]) : パスが通過するピン、 ポート、 組み合わせセル、 またはネッ トの リ ス ト を指定します。

複数のネッ ト リ ス ト オブジェク ト を リ ス トする と、 そのいずれかを通過するパスがレポート されます。

[+] ボタンをク リ ッ ク して複数の [Through] オプシ ョ ンを指定する と、それらすべての通過点を指定した順に通過するパスをレポートできます。

[Transition] では、 特定のデータ エッジ (立ち上がり /立ち下がり ) を選択します。

推奨 : [Transition] はデフォルトのままにします。

同等 Tcl オプシ ョ ン :-through、 -rise_through、 -fall_through

• [End Points] ([To]) : シーケンシャル セルの入力データ ピン、 シーケンシャル セル、 出力ポート、 双方向ポート、デスティネーシ ョ ン ク ロ ッ クなど、 終点を リ ス ト します。

複数の終点を リ ス ト した場合、それらのネッ ト リ ス ト オブジェク トのいずれかで終了するすべてのパスがレポート されます。

[Transition] では、 通常特定のデータ エッジ (立ち上がり /立ち下がり ) を選択しますが、 デステ ィネーシ ョ ン クロ ッ クを指定した場合は、 特定のクロ ッ ク エッジを選択します。

同等 Tcl オプシ ョ ン : -to、 -rise_to、 -fall_to

[Report Timing] ダイアログ ボッ クスの [Targets] タブ (47 ページの図 2-20) では、 usbClk の立ち上がり ク ロ ッ ク エッジから、 cpuEngine/or1200_cpu/sprs_dataout[*] ネッ トのいずれかを通過し、 cpuClk または sysClk のいずれかのエッジで終了するパスを指定しています。

[Options] タブ

[Options] タブには、 次のオプシ ョ ンがあ り ます。

• 「[Report]」

• 「[Path Limits]」

• 「[Path Display]」

[Report]

• [Path delay type] : 22 ページの 「[Path delay type]」 を参照して ください。

• [Do not report unconstrained paths] : デフォルトでは、 [Targets] タブで指定されたパスに制約されているものがない場合、制約されていないパスがレポート されます。制約されていないパスをレポートに含めないよ うにする場合は、 このオプシ ョ ンをオンにします。

同等 Tcl オプシ ョ ン : -no_report_unconstrained

Page 49: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 49UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Path Limits]

• [Number of paths per group] : 21 ページの 「タイ ミ ング サマリ レポート 」 を参照してください。

• [Number of paths per endpoint] : 21 ページの 「タイ ミ ング サマリ レポート 」 を参照して ください。

• [Limit paths to group] : [Targets] タブで指定した条件に一致するパスで、指定したタイ ミ ング パス グループに属するもののみをレポート します。 各ク ロ ッ クは、 グループに関連付けられています。 Vivado IDE タ イ ミ ング エンジンでは、 デフォル トでグループが作成されます。 たとえば、 **async_default** はリ カバリ またはリ ムーバル タイ ミ ング チェッ クで終了するすべてのパスのグループです。

同等 Tcl オプシ ョ ン : -group

[Path Display]

• [Display paths with slack greater than] : スラ ッ クが指定した値よ り大きいパスをレポート します。

同等 Tcl オプシ ョ ン :-slack_greater_than

• [Display paths with slack less than] : 21 ページの 「タイ ミ ング サマリ レポート 」 を参照して ください。

• [Number of significant digits] : 21 ページの 「タイ ミ ング サマリ レポート 」 を参照してください。

• [Sort paths by] : レポート されたパスをグループごとに表示するか (デフォルト )、 スラ ッ ク順に表示するかを選択します。 [group] を選択する と、 各グループおよび各解析タイプ (-delay_type min/max/min_max) に対してN 個のワース ト パスがレポート されます。

グループは、 ワース ト パス順に並べられ、違反が 悪のグループがリ ス トの一番上に表示されます。 [slack] を選択する と、 各解析タイプに対して N 個のワース ト パスがレポート され (すべてのグループを統合)、 スラ ッ ク順に並べられます。

同等 Tcl オプシ ョ ン : -sort_by

[Advanced] タブ

[Advanced] タブには 21 ページの 「タイ ミ ング サマリ レポート 」 と同じオプシ ョ ンがあ り ます。

[Timer Settings] タブ

[Timer Settings] タブには 21 ページの 「タイ ミ ング サマリ レポート 」 と同じオプシ ョ ンがあ り ます。

タイ ミング パスの詳細の確認

[OK] をク リ ッ クする と コマンドが実行され、 [Timing] ウ ィンド ウの新しいビューに結果が表示されます。選択した各解析 (min/max/min_max) に対して N 個のワース ト パスがレポート されます。

次の図に、 大遅延解析および 小遅延解析の両方 (SETUP および HOLD) を選択し、 N = 4 に設定した場合のタイ ミング レポート を示します。

Page 50: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 50UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

これらのパスのいずれかを選択する と、 その詳細が [Path Properties] ウ ィンド ウの [Report] ビューに表示されます。

X-Ref Target - Figure 2-21

図 2‐21 : タイ ミング レポートのパス リス ト

X-Ref Target - Figure 2-22

図 2‐22 : [Path Properties] ウィンドウ

Page 51: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 51UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

パスをダブルク リ ッ クする と、 同じ詳細情報が新しいウ ィンド ウに表示されます。

タイ ミ ング パスの詳細は、 第 5 章 「タイ ミ ング解析の実行」 を参照して ください。

パスを右ク リ ッ ク して次のコマンドをク リ ッ クする と、 パスの解析に有益です。

• [Schematic] : タイ ミ ング パスを回路図で表示します。

• [Report Timing on Source to Destination] : パスのタイ ミ ング解析を再実行します。

• [Highlight] : [Device] および [Schematic] ウ ィンド ウでパスをハイライ ト します。

違反のあるパスのみを表示

タイ ミ ングが満たされていないパスのスラ ッ ク値は、 レポートで赤で表示されます。 ツールバーの [Show only failingpaths] をク リ ッ ク してオンにする と、 これらの違反のみを表示できます。

データシート  レポート[Report Datasheet] コマンドを使用する と、システム レベルの統合で使用する FPGA デバイスの動作パラ メーターがレポート されます。

[Report Datasheet] ダイアログ ボックス

Vivado IDE で、[Tools] → [Timing] → [Report Datasheet] をク リ ッ ク し、[Report Datasheet] ダイアログ ボッ クス (図 2-23)を開きます。

Page 53: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 53UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Report Datasheet] ダイアログ ボッ クスの [Options] タブには、 次のオプシ ョ ンがあ り ます。

• [Results name] : 表示される結果の名前を指定します。 レポートは、 [Timing] ウ ィンド ウに指定の名前で表示されます。

同等 Tcl オプシ ョ ン : -name

• [Sort by] : 結果をポート名またはクロ ッ ク名順に並べ替えます。

同等 Tcl オプシ ョ ン : -sort_by

• [Report all process corners separately] : 現在のデザインで定義されているすべてのプロセス コーナーのデータをレポート します。

同等 Tcl オプシ ョ ン : -show_all_corners

• [Significant digits] : レポート される値の有効桁数を指定します。 デフォルト値は 3 です。

同等 Tcl オプシ ョ ン : -significant_digits

• [Write results to file] : 結果を指定したファイルに書き込みます。 デフォルトでは、 レポートは Vivado IDE の[Timing] ウ ィンド ウに表示されます。

同等 Tcl オプシ ョ ン : -file

• [Overwrite]/[Append] : レポート をファ イルに記述する場合に、 指定のファイルを上書きするか、 新しい情報を既存のレポートの 後に追加するかを指定します。

同等 Tcl オプシ ョ ン : -append

• [Ignore command errors] : コマンドを メ ッセージを表示せずに実行します。コマンド ラ イン エラーは無視され、エラー メ ッセージは表示されません。 実行中にエラーが発生してもしなくても、 TCL_OK が返されます。

同等 Tcl オプシ ョ ン : -quiet

• [Suspend message limits during command execution] : メ ッセージの制限を一時的に解除し、コマンドからのすべての出力を返します。

同等 Tcl オプシ ョ ン : -verbose

• [Command] : [Report Datasheet] ダイアログ ボッ クスで指定されているオプシ ョ ンと同等の Tcl コマンド ラインを表示します。

• [Open in a new tab] : 結果を新しいビューに表示するか、 後に開いたビューを上書きするかを指定します。

• [Open in Timing Analysis layout] : [Timing Analysis] レイアウ ト を開きます。

Page 54: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 54UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Report Datasheet] ダイアログ ボックス : [Groups] タブ

[Report Datasheet] ダイアログ ボッ クスの [Groups] タブでは、基準ポートおよびレポートする追加のポート を指定するこ とによ り、解析用にポート をグループ化できます。グループを指定しない場合は、 ソース ク ロ ッ クに基づいて出力ポートのグループが自動的に検出され、 そのクロ ッ クに基づく スキューがレポート されます。

[Report Datasheet] ダイアログ ボッ クスの [Groups] タブには、 次のオプシ ョ ンがあ り ます。

• [Reference] : スキュー算出用の基準ポート を指定します。 ほとんどの場合、 これはソース同期出力インターフェイスのクロ ッ ク ポートです。

同等 Tcl オプシ ョ ン : -group

• [Ports] : レポートする追加のポート を指定します。

° [Ports] フ ィールドの右側に、 [+] および [-] ボタンがあ り ます。

- [+] : それぞれ基準クロ ッ ク ポート を持つ複数のグループを指定し、 新しい基準ポート を含む新しいグループを定義できます。

- [-] : ポートのグループを削除します。

[Report Datasheet] ダイアログ ボックス :[Timer Settings] タブ

このタブの詳細は、 26 ページの 「[Timer Settings] タブ」 を参照して ください。

X-Ref Target - Figure 2-24

図 2‐24 : [Report Datasheet] ダイアログ ボックス : [Groups] タブ

Page 55: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 55UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

データシート  レポートの詳細

[General Information]

デザインおよびザイ リ ンクス デバイスの詳細、 レポート生成時のツール環境を示します。

• Design : デザイン名

• Part : ターゲッ ト ザイ リ ンクス パーツとスピード ファ イル情報

• [Version] :レポートの生成に使用された Vivado ツールのバージ ョ ン

• Date:レポートが生成された日時

• [Command] :レポートの生成に使用されたコマンド ラ イン オプシ ョ ン

[Input Ports Setup/Hold]

各入力ポートの基準クロ ッ クに対するワース ト ケースのセッ ト アップおよびホールド要件を示します。入力データのキャプチャに使用された内部クロ ッ ク もレポート されます。

[Max/Min Delays for Output Ports]

各出力ポートの基準クロ ッ クに対するワース ト ケースの 大および 小遅延を示します。出力データの送信に使用された内部クロ ッ ク もレポート されます。

[Setup between Clocks]

各クロ ッ ク ペアに対し、 ク ロ ッ ク エッジのすべての組み合わせのワース ト ケースのセッ ト アップ要件を示します。

[Setup/Hold for Input Buses]

自動的に推論された入力バスのワース ト ケースのセッ ト アップおよびホールド要件を示します。バス全体のワース トケース データ ウ ィンド ウは、 大のセッ ト アップおよびホールド値の合計です。 入力ポートが制約されている場合は、 スラ ッ ク もレポート されます。

IDELAY が定義されている入力クロ ッ クに対しては、 適なタ ップ ポイン トがレポート されます。 適なタ ップ ポイン トは、 バランスのとれたセッ ト アップおよびホールド スラ ッ クを得るために IDELAY を設定するのに使用できます。

ソース オフセッ トは、 2 つのウ ィンド ウの差です。 初のウ ィンド ウは、 入力ポートのクロ ッ クに対すセッ ト アップおよびホールド タイムで定義されます。 2 つ目のウ ィンド ウは、 入力遅延およびクロ ッ ク周期から算出されます。 入力クロ ッ クがこの値でオフセッ ト される と、 ウ ィ ンド ウの中央になり ます。

次の図に、DDR 入力バス dq[0-7] を含み、ワース ト ケースのデータ ウ ィンド ウが 8.150ns であるデザインのレポート を示します。 理想的なクロ ッ ク オフセッ トは 0.179 ns です。 IDELAY の 適なタ ップ ポイン トは 13 です。 適なタ ップ ポイン トは、 次の Tcl コマンドを使用して適用できます。

set_property IDELAY_VALUE 13 [get_cells idelay_clk]

Page 56: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 56UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Max/Min Delays for Output Buses]

自動的に推論された出力バスのワース ト ケースの 大および 小遅延を示します。 バス スキューもレポート されます。バス スキューの算出では、1 ビッ ト を基準と し、そのビッ トに対してほかのビッ トのオフセッ トが算出されます。ワース ト オフセッ トがバス全体のスキューとな り ます。

[Max/Min Delays for Groups]

ソース同期出力インターフェイスでは、 出力スキューはフォワード ク ロ ッ クに対して必要です。 カスタム グループレポートは、基準ポート をフォワード ク ロ ッ ク ポート と して指定する と生成できます。この表は [Max/Min Delays forOutput Buses] セクシ ョ ンと似ていますが、 ソース オフセッ トおよびバス キューの算出に基準ポートが基準ビッ ト として使用されます。

注記 : このセクシ ョ ンは、 空の場合は非表示になっているこ とがあ り ます。

た と えば、 DDR 出力スキューの算出では、 複数のビ ッ ト (rldii_a[0-19]、 rldii_ba[0-3]、 rldii_ref_n、rldii_we_n) をフォワード ク ロ ッ ク ポート (rldii_ck_n[0]) に対してグループ化する場合、次のコマンドを使用します。

report_datasheet -group [get_ports {rldii_ck_n[0] rldii_a[*] rldii_ba[*] rldii_ref_n rldii_we_n}] -name timing_1

グループ リ ス トの 初のポートが基準ピンです。

これらすべてのセ ク シ ョ ンで、 ワース ト ケースのデータはマルチコーナー解析から算出されます。-show_all_corners を使用する と、 ワース ト ケースのデータは各コーナーに対して個別にレポート されます。

次の図に、 この例のデータシート レポート を示します。

X-Ref Target - Figure 2-25

図 2‐25 :データシート  レポートの [Setup/Hold for Input Buses] セクシ ョ ン

Page 57: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 57UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

例外レポート例外レポートは、 合成後のフローのどの段階でも生成できます。 例外レポートには、 次の情報が含まれます。

• デザインで設定され、 タイ ミ ング解析に影響するタイ ミ ング例外すべて

• デザインで設定されているが、 ほかのタイ ミ ング例外が優先されるために無視されるタイ ミ ング例外すべて

例外レポートの生成時に解析されるタイ ミ ング例外は、 次のとおりです (優先度の高い順にリ ス ト )。

• フォルス パス

• 大/ 小遅延

• マルチサイクル パス

例外レポートは、 タイ ミ ング例外に関する問題をデバッグするのに役立ちます。 デザインによっては、 複雑なタイ ミング例外を使用したタイ ミ ング制約を含むものがあ り ます。 タイ ミ ング例外の優先度は異なるので、 どのタイ ミ ング例外がほかの例外のために一部または完全に無視されるのかを理解するのは困難です。例外レポートには、一部が無

X-Ref Target - Figure 2-26

図 2‐26 :データシート  レポートの 大/ 小遅延の例

Page 58: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 58UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

視されるタイ ミ ング例外および完全に無視されるタイ ミ ング例外がレポート されます。 また、優先される制約に関する ヒン ト も表示されます。

ク ロ ッ ク グループ制約 (set_clock_groups) は厳密にはタイ ミ ング例外ではないので、デザインに影響するタイ ミング例外のサマリ表には含まれませんが、 あるタイ ミ ング例外がクロ ッ ク グループ制約のために無視される場合は、優先されるクロ ッ ク グループ制約が表の [Status] 列にレポート されます。

例外レポートは、 Tcl コマンド ラインで report_exceptions コマンドを使用してのみ生成可能です。

report_exceptions のコマンド ライン オプシ ョ ンの詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイド』 (UG835) [参照 3] のこのセクシ ョ ンを参照して ください。 タ イ ミ ング例外の優先順位に関する詳細は、 『VivadoDesign Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] のこのセクシ ョ ンを参照して ください。

report_exception コマンドには、 次の 3 つの操作モードがあ り ます。

• タイ ミ ング解析に影響するタイ ミ ング例外のレポート

• 無視されるタイ ミ ング例外のレポート

• タイ ミ ング例外の適用範囲のレポート

例 : タイ ミング解析に影響するタイ ミング例外のレポート

この例では、 次の図に示すデザインにタイ ミ ング例外を適用する方法を示します。 デザインには、 完全に制約されています (clk と入力/出力遅延を clk に対して設定)。

X-Ref Target - Figure 2-27

図 2‐27 : タイ ミング例外の例で使用する完全に制約されたデザイン

Page 59: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 59UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

report_exception コマンドの 1 つ目の操作モードは、 「report_exception」 です。

1. [Window] → [Timing Constraints] をク リ ッ ク します。

2. [Timing Constraints] ウ ィンド ウで次のタイ ミ ング例外をデザインに追加します。

set_multicycle_path 3 -from [get_cell int10_reg] -to [get_cell int20_reg]set_multicycle_path 4 -to [get_cell int20_reg]set_false_path -from [get_ports in6] -to [get_cell int20_reg]set_false_path -to [get_ports out5] set_false_path -to [get_cell int21_reg]set_false_path -from [get_ports in6] -to [get_ports out6]set_max_delay 5 -to [get_ports out6]set_min_delay 3 -from [get_cells int10_reg] -to [get_cell int20_reg]

[Timing Constraints] ウ ィンド ウに、 デザインに適用されたタイ ミ ング制約が表示されます。

実際の例外レポート (report_exception) を次の図に示します。

例外レポートには、 次の情報が表示されます。

• [Position] 列 : 制約の位置番号を示します。 これは、 [Timing Constraint] ウ ィンド ウでレポート されるのと同じ番号です (59 ページの図 2-28)。

• [From]、 [Through]、 [To] 列 : -*from/-*through/-*to コマンド ライン オプシ ョ ンで指定したパターンまたはオブジェク ト を示します (これらのオプシ ョ ンの rise/fall バージ ョ ンもすべて含む)。 関連するオプシ ョ ンが指定されていない場合は、 アスタ リ スク (*) が表示されます。

X-Ref Target - Figure 2-28

図 2‐28 : タイ ミング制約の変更を表示する  [Timing Constraints] ウィンドウ

X-Ref Target - Figure 2-29

図 2‐29 :例外レポート

Page 60: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 60UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

• [Setup]、[Hold] 列 : 制約がセッ ト アップ チェッ クまたはホールド チェッ クのいずれかまたは両方に適用されるかど うかを示します。 [Setup]、 [Hold] 列の命名規則は、 次のとおりです。

• [Status] 列 : 制約が別のタイ ミ ング例外によ り一部無視されている場合にメ ッセージを表示します。 [Status] 列の命名規則は、 次のとおりです。

注記 : ク ロ ッ ク グループは、 report_timing -ignored コマンドを実行したと きに、 ク ロ ッ ク グループに制約によ り別のタイ ミ ング例外が無視される場合に [Status] 列にレポート されます。

この例では、 一部無視される制約に関する メ ッセージが 2 つ表示されます。

• タイ ミ ング制約位置番号 5 ([Timing Constraints] ウ ィンド ウの set_multicycle_path 4 -to [get_cellint20_reg]) は、 マルチサイ クル制約位置番号 4 (set_multicycle_path 3 -from [get_cellint10_reg] -to [get_cell int20_reg]) と フ ォルス パス制約位置番号 6 (set_false_path -from[get_ports in6] -to [get_cell int20_reg]) によ り一部が無視されます。

• タイ ミ ング制約位置番号 10 (set_max_delay 5 -to [get_ports out6]) は、 フォルス パス位置番号 9(set_false_path -from [get_ports in6] -to [get_ports out6]) によ り一部が無視されます。

無視されるタイ ミング例外のレポート

report_exception コマンドの 2 つ目の操作モードは、 「report_exception -ignored」 です。

これを示すため、 次のタイ ミ ング例外を前の例外の上に追加してみます。

set_max_delay 5 -to [get_ports out5]set_multicycle_path 1 -hold -to [get_cell int21_reg]set_multicycle_path 2 -setup -to [get_ports out6]set_false_path -from [get_cell int11_reg] -to [get_cell int20_reg]

これらすべての例外は、前のセクシ ョ ンからのタイ ミ ング例外が既に適用されているか、存在しないパスをターゲットにしています (レジスタ int11_reg と int20_reg の間には物理的な接続なし )。

これらの 4 つの制約を追加する と、 [Timing Constraints] ウ ィンド ウは図 2-30 のよ うにな り ます。

表 2‐1 : [Setup]/[Hold] 列の命名規則

省略名 タイ ミング例外

cycles= set_multicycle_path

false set_false_path

max= set_max_delay

max_dpo= set_max_delay -datapath_only

min= set_min_delay

表 2‐2 : [Status] 列の命名規則

省略名 タイ ミング例外

MCP マルチサイクル パス

FP フォルス パス

MXD 大遅延

MND 小遅延

CG ク ロ ッ ク グループ

Page 61: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 61UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

例外レポート (report_exception -ignored) は次のよ うにな り ます。

注記 : [Status] 列に、 タイ ミ ング例外が無視された理由が説明されます。

タイ ミング例外の適用範囲のレポート

Vivado ツールでは、デザインに適用された有効な各タイ ミ ング例外の詳細な適用範囲を生成できます。完全に無効になっているもの、 始点と終点の間にパスがないものを含め、 すべてのタイ ミ ング例外がレポート されます。 適用範囲レポートは、 タイ ミ ング例外およびデザインの複雑性によって、 サイズが大き くなる可能性があ り ます。

適用範囲レポート を生成するには、 -coverage コマンド ラインを使用します。 report_exceptions -coverage

レポートには、 有効な各タイ ミ ング例外に対して、 次の情報が含まれます。

• 制約の位置番号

• -from、 -through、 -to コマンド ライン オプシ ョ ンで選択されたオブジェク トの数

• タイ ミ ング例外に関連するすべてのクロ ッ ク ド メ インと、 各終点クロ ッ ク ド メ インの終点の数

• 始点および終点に関連するセルのサマリ リ ス ト

次に、 異なるデザインからの適用範囲レポートからの抜粋を示します。

Exception: set_false_path -from [get_pins {SW_FPGA_CORE/U_RST/st_asrst[0]/C}]+ Position: 74+ Objects: -from: 1 pins+ Clock Domains Details: +Domain : CLK_OUT2_PLL3 -> CLK_OUT1_PLL3 -Source Clock: CLK_OUT2_PLL3

X-Ref Target - Figure 2-30

図 2‐30 : [Timing Constraints] ウィンドウ

X-Ref Target - Figure 2-31

図 2‐31 :例外レポート

Page 62: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 62UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

-Destination Clock: CLK_OUT1_PLL3 -Endpoints: 154277 +Domain : CLK_OUT2_PLL3 -> CLK_OUT2_PLL3 -Source Clock: CLK_OUT2_PLL3 -Destination Clock: CLK_OUT2_PLL3 -Endpoints: 9933 +Domain : CLK_OUT2_PLL3 -> CLK_OUT4_PLL3 -Source Clock: CLK_OUT2_PLL3 -Destination Clock: CLK_OUT4_PLL3 -Endpoints: 434 +Domain : CLK_OUT2_PLL3 -> clk_pll_i -Source Clock: CLK_OUT2_PLL3 -Destination Clock: clk_pll_i -Endpoints: 7193+ Startpoint Details: FDPE/C=1 + Endpoint Details: FDCE/CLR=169792 FDCE/D=7 FDPE/PRE=2038

タイ ミ ング例外の始点と終点の間にパスがない場合は、適用範囲レポートのフ ィールドは空になり ます。次に例を示します。

Exception: set_false_path -from [get_cells int11_reg] -to [get_cells int20_reg]+ Position:15+ Objects: -from:1 cells -to:1 cells+ Clock Domains Details:+ Startpoint Details: + Endpoint Details:

適用範囲レポートは、 タイ ミ ング例外をよ り効率的に記述するために使用できます。

次に、 set_multicycle_path 制約の適用範囲レポートの別の例を示します。

Exception: set_multicycle_path -start -from [get_pins {sr_b*_rd_dat[*]/C}] -to [get_pins {ar_b*_rd_dat[*]/D}] 4+ Position:75+ Objects: -from:486 pins -to:486 pins+ Clock Domains Details: +Domain :CLK_OUT1_PLL3 -> CLK_OUT2_PLL3 -Source Clock:CLK_OUT1_PLL3 -Destination Clock:CLK_OUT2_PLL3 -Endpoints:24+ Startpoint Details:FDCE/C=4 + Endpoint Details:FDCE/D=24

上記の例では、 -from および -to コマンド ライン オプシ ョ ンでのピンの指定に get_pins コマンドを使用しており、 それぞれ 486 ピンが指定されていますが、 4 つの始点と 24 個の終点の間のパスのみに制約が適用されています。 これは、 ほかの始点と終点の組み合わせの間には、 物理的なパスがないという こ とです。

クロック乗せ換えレポートク ロ ッ ク乗せ換え (CDC) レポートは、 デザインのクロ ッ ク乗せ換えの構造解析を実行します。 この情報を使用して、メ タステーブル状態またはデータ コ ヒーレンシの問題が発生する可能性のある危険な CDC を特定できます。CDC レ

Page 63: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 63UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

ポートはクロ ッ ク関連性レポート と似ていますが、構造および関連するタイ ミ ング制約に焦点が置かれ、 タイ ミ ングスラ ッ クに関する情報は示されません。

概要

CDC レポート を生成する前に、 デザインが適切に制約され、 不足している ク ロ ッ ク定義がないこ とを確認して ください。 CDC レポートでは、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クの両方が定義されたパスのみが解析およびレポート されます。 CDC レポートは、 次のものの構造解析を実行します。

• 非同期クロ ッ ク間のすべてのパス

• 次のタイ ミ ング例外が設定されている同期クロ ッ ク間のパス

° ク ロ ッ ク グループ

° フォルス パス

° データパス遅延制約 (Max Delay Datapath Only)

これらのタイ ミ ング例外が設定されていない同期クロ ッ ク パスは、タイ ミ ング制約が適切に設定されている と想定され、 CDC エンジンで解析されません。 CDC レポートでは、 ネッ ト遅延またはセル遅延は考慮されません。

クロック乗せ換えレポートの実行

Vivado IDE から CDC レポート を実行する と、デフォルトで指定されたクロ ッ ク間の CDC パスの詳細がすべて表示されます。 [Tcl Console] ウ ィンド ウから CDC レポート を実行する と、 ク ロ ッ ク ペアごとのサマ リの表のみが表示されます。 GUI モード と同様の詳細をすべてレポートするには、 -details オプシ ョ ンを使用する必要があ り ます。詳細をレポートする と、 非常に長いファイルが作成されるこ とがあ り ます。

Vivado IDE から CDC レポート を実行するには、 [Tools] → [Timing] → [Report CDC] をク リ ッ ク します。

同等 Tcl コマンド : report_cdc -name cdc_1

[Report CDC] ダイアログ ボッ クス (図 2-32) には、 次のフ ィールドがあ り ます。

• 「[Results name] フ ィールド」

• 「[Clocks] セクシ ョ ン ([From]/[To])」

• 「[File Output] セクシ ョ ン」

• 「[Options] セクシ ョ ン」

Page 64: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 64UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Results name] フ ィールド

レポートのグラフ ィカル ウ ィンド ウの名前を指定します。

同等 Tcl オプシ ョ ン : -name <windowName>

[Clocks] セクシ ョ ン  ([From]/[To])

CDC 解析を実行するソース ク ロ ッ クまたはデスティネーシ ョ ン ク ロ ッ クを指定します (オプシ ョ ン)。CDC 解析を特定のクロ ッ クのみに限定し、 レポート を解読しやすくするために使用できます。

参照ボタン ク リ ッ クする と検索ダイアログ ボッ クスが表示され、 ク ロ ッ ク オブジェク ト を検索できます。

同等 Tcl オプシ ョ ン : -from <clockNames> -to <clockNames>

[File Output] セクシ ョ ン

結果を書き込むファイルを指定します (オプシ ョ ン)。 既存のファイルに上書きするか、 または追加できます。

同等 Tcl オプシ ョ ン : -file <fileName> -append

X-Ref Target - Figure 2-32

図 2‐32 : [Report CDC] ダイアログ ボックス

Page 65: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 65UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Options] セクシ ョ ン

[Options] セクシ ョ ンでは、 次を指定します。

• [Suspend message limits during command execution] : メ ッセージの制限を一時的に解除し、コマンドからのすべての出力を返します。

同等 Tcl オプシ ョ ン : -verbose

• [Ignore command errors] : コマンド エラーを表示しません。

同等 Tcl オプシ ョ ン : -quiet

クロック乗せ換えレポートのルールの理解

CDC レポートでは、 各 CDC パスを既知の CDC ト ポロジに一致させよ う と します。 各 CDC ト ポロジは、 表 2-3 に示す 1 つまたは複数の CDC ルールに関連付けられています。 これらのルールの重要度は、 DRC およびメ ッセージのように変更するこ とはできません。 CDC ト ポロジの回路図と説明は、 70 ページの 「CDC ト ポロジの回路図」 に示されています。

表 2‐3 : CDC ルールおよび説明

CDC トポロジ CDC ルール 重要度 説明

1 ビッ ト CDC CDCH-1 ク リ ティカル 同期されていないまたは不明の CDC 回路を含む 1 ビット CDC パス

CDCH-2 警告 2 段以上のシン ク ロナイザーで同期化されているが、ASYNC_REG プロパティがすべてまたは一部のシンクロナイザー フ リ ップフロ ップに設定されていない 1 ビット CDC パス

CDCH-3 情報 2 段以上のシン ク ロナイザーで同期化されてお り、ASYNC_REG プロパテ ィ が設定されている 1 ビ ッ トCDC パス

複数ビッ ト CDC CDCH-4 ク リ ティカル 同期されていないまたは不明の CDC 回路を含む複数ビッ ト バス CDC パス

CDCH-5 警告 2 段以上のシン ク ロナイザーで同期化されているが、ASYNC_REG プロパティがすべてまたは一部のシンクロナイザー フ リ ップフロ ップに設定されていない複数ビッ ト バス CDC パス

CDCH-6 情報 2 段以上のシン ク ロナイザーで同期化されてお り、ASYNC_REG プロパテ ィが設定されている複数ビ ッ トバス CDC パス

非同期リセッ ト CDCH-7 ク リ ティカル 同期されていないまたは不明の CDC 回路を含む非同期信号 (ク リ アまたはプリセッ ト )

CDCH-8 警告 同期化されているが、 ASYNC_REG プロパティがすべてまたは一部のシンクロナイザー フ リ ップフロ ップに設定されていない非同期信号 (ク リ アまたはプリセッ ト )

CDCH-9 情報 同期化されており、 ASYNC_REG プロパティが設定されている非同期信号 (ク リ アまたはプリセッ ト )

組み合わせロジッ ク CDCH-10 ク リ ティカル 同期回路のファンインで組み合わせロジッ クが検出された

ファンアウ ト CDCH-11 ク リ ティカル 同期回路のファンアウ ト で組み合わせロジッ クが検出された

Page 66: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 66UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

クロック乗せ換えレポートのセクシ ョ ンの確認

GUI モードでは、 デフォルトで次の 3 つのセクシ ョ ンが生成されます。

• 「[Summary (by clock pair)] セクシ ョ ン」

• 「[Summary (by type)] セクシ ョ ン」

• 「[CDC Details] セクシ ョ ン」

サマ リ セクシ ョ ンは、デザインで見直し、場合によっては変更が必要な問題の概要を示します。 これらのセクシ ョ ンから、 も重要度の高い違反に関する追加情報を表示する詳細レポート セクシ ョ ンにナビゲートできます。

注記 : レポート をテキス ト モードで実行した場合、 デフォルトではクロ ッ ク ペアごとのサマ リのみが生成されます。

[Summary (by clock pair)] セクシ ョ ン

[Summary (by clock pair)] セクシ ョ ンには、 2 つのク ロ ッ ク間の CDC パスの数、 それらのパスで検出された も ク リティカルな問題に関する有益な情報が示されます。 この表には、 次の列があ り ます。

• [Severity] : 示されているソース ク ロ ッ クからデスティネーシ ョ ン ク ロ ッ クまでのすべての CDC パスの中で も高い重要度を示します。 重要度は [Info]、 [Warning]、 または [Critical] のいずれかです。

• [Source Clock] : CDC ソース ク ロ ッ クの名前を示します。

• [Destination Clock] : CDC デスティネーシ ョ ン ク ロ ッ クの名前を示します。

• [CDC Type] : 2 つのクロ ッ クの関係と、 主なタイ ミ ング例外を示します。 次の CDC タイプがあ り ます。

° [Safely Timed] : ク ロ ッ ク同士が同期しているのですべての DCD パスにタイ ミ ング制約が適切に設定されており、 タイ ミ ング例外は設定されていません。

° [User Ignored] : すべての CDC パスに set_false_path または set_clock_groups が設定されています。

° [No Common Primary Clock] : CDC ク ロ ッ クは非同期ですが、 共通のプライマ リ ク ロ ッ クを持たない 2 つのクロ ッ ク間の少なく と も 1 つの CDC パスに通常どおり タイ ミ ング制約が設定されます。

° [No Common Period] : CDC ク ロ ッ クは非同期ですが、 共通周期を持たない 2 つのクロ ッ ク間の少なく と も 1つの CDC パスに通常どおり タイ ミ ング制約が設定されます。 共通乗数を見つけるこ とができないクロ ッ クの定義は、 128 ページの 「タイ ミ ング解析の基礎の理解」 を参照してください。

複数クロ ッ クのファンイン CDCH-12 ク リ ティカル 非同期回路のファンインで複数ク ロ ッ クからのデータが検出された

FD 以外のプリ ミ ティブ CDCH-13 ク リ ティカル FD 以外のプリ ミ ティブで CDC が検出された

CE 制御の CDC CDCM-1 警告 クロ ッ ク イネーブルで制御された CDC

マルチプ レ ク サー制御のCDC

CDCM-2 警告 マルチプレクサーで制御された CDC

マルチプレ ク サー データホールド CDC

CDCM-3 警告 マルチプレクサー データ ホールド CDC

HARD_SYNC プリ ミ ティブ CDCH-18 情報 信号は HARD_SYNC プリ ミ ティブに同期されています。

表 2‐3 : CDC ルールおよび説明 (続き)

CDC トポロジ CDC ルール 重要度 説明

Page 67: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 67UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

• [Exceptions] : CDC に適用されているタイ ミ ング例外を示します。 可能な値は次のとおりです。

° [none] : CDC パスにタイ ミ ング例外は存在しません。

° [Asynch Clock Groups] : CDC ク ロ ッ クに set_clock_groups -asynchronous 例外が適用されています。

° [Exclusive Clock Groups] : CDC ク ロ ッ クに set_clock_groups -exclusive 例外が適用されています。

° [False Path] : ソース /デスティネーシ ョ ン CDC ク ロ ッ クまたはすべての CDC パスに set_false_path 例外が適用されています。

° [Max Delay Datapath Only] : すべての CDC パスに set_max_delay -datapath_only 例外が適用されています。[Max Delay Datapath Only] は、少なく と も 1 つの CDC パスに set_max_delay -datapath_only が適用されており、 ほかのすべての CDC パスが set_false_path 制約のために無視される場合にレポートされます。

° [Partial Exceptions] : 一部の CDC パスに set_false_path および set_max_delay -datapath_only 制約が設定されており、 少なく と も 1 つの CDC パスに通常どおり タイ ミ ング制約が適用されています。

• [Endpoints] : CDC パスの終点の総数。 安全な終点、 危険な終点、 および不明な終点の合計です。 この場合の終点とは、 シーケンシャル セルの入力データ ピンです。 D、 CE、 および SET/RESET/CLEAR/PRESET の接続によっては、 FD セルは複数回カウン ト されます。 一部の CDC ト ポロジでは 1 つの終点のみがカウン ト されますが、CDC 構造に到達するのにク ロ ッ ク ド メ インの境界をまたぐパスは実際には複数あ り ます。 たとえば非同期リセッ ト シンクロナイザーでは、 複数の CLEAR ピンがクロ ッ ク ド メ インをまたぐネッ トに接続されていますが、シンクロナイザー チェーンの 初のピンのみがカウン ト されます。

• [Safe] : 安全な CDC パスの終点の数。 安全な終点とは、 次のよ うに特定された CDC パスの終点です。

° 既知の安全な CDC 構造を持つ非同期クロ ッ ク

° 例外および既知の安全な CDC 構造を持つ同期クロ ッ ク

° CDC 構造にかかわらず安全にタイ ミ ング制約が適用される例外なしの同期クロ ッ ク

° CDC は HARD_SYNC マクロに同期されている

• [Unsafe] : 危険な構造を持つと特定された CDC パスの終点の数。 危険な終点は CDCH-10、 CDCH-11、 CDCH-12、および CDCH-13 です。

° 組み合わせロジッ ク ト ポロジ

° ファンアウ ト ト ポロジ

° 複数クロ ッ クのファンイン ト ポロジ

° FD 以外のプリ ミ ティブの トポロジ

• [Unknown] : 不明な CDC パスの終点の数。 これらの終点に一致する安全な CDC 構造がないか、不明な CDC 回路が検出されています (CDCH1、 CDCH4、 および CDCH-7)。

• [No ASYNC_REG] : チェーンの 初 2 つの FD セルの少なく と も 1 つに ASYNC_REG プロパティが設定されていないシンクロナイザーの数。

次の図に、 [Summary (by clock pair)] セクシ ョ ンの例を示します。

Page 68: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 68UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

[Summary (by type)] セクシ ョ ン

[Summary (by type)] セクシ ョ ンの表には、現在のレポートに含まれる CDC 構造の特性をすばやく確認するのに便利です。 図 2-34 に例を示します。

[Summary (by type)] セクシ ョ ンの表には、 次の列があ り ます。

• [Severity] : CDC ルールの重要度を示します。 可能な値は [Info] (情報)、 [Warning] (警告)、 または [Critical] (ク リティカル) です。

• [ID] : 表 2-3 にリ ス ト されている CDC ルールの ID 番号を示します。

• [Count] : レポート全体での CDC ルールの出現回数を示します。

• [Description] : CDC ルールの簡単な説明を示します。

サマ リ表を解析する際は、 重要度の高いものから開始するのが重要です。 重要度は次のとおりです。

• [Critical] : 不明または危険な CDC 構造を持つ CDC パスに対する重要です。 これらの各パスを見直し、 RTL を変更して構造を修正するか、問題が除外されるよ うにする必要があ り ます。 パスの詳細は、 Vivado IDE を使用する

X-Ref Target - Figure 2-33

図 2‐33 : [Summary (by clock pair)] セクシ ョ ン

X-Ref Target - Figure 2-34

図 2‐34 : [Summary (by type)] セクシ ョ ン

Page 69: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 69UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

場合はデフォルトで生成され、コマンド ラインで report_cdc を使用する場合は -details オプシ ョ ンを使用する と生成されます。

° ク ロ ッ ク ド メ インの境界をまたぐネッ トに組み合わせロジッ クがあるか、 ク ロ ッ ク ド メ インの境界をまたぐネッ トのファンインに複数のソース ク ロ ッ クがある。 これによ り、平均故障間隔 (MTBF) 特性が悪化する可能性があ り ます。

° ク ロ ッ ク ド メ インの境界をまたぐネッ トに同じデスティネーシ ョ ン ク ロ ッ ク ド メ インへのファンアウ トがある。 これによ り、 データ コ ヒーレンシの問題が発生する可能性があ り ます。

• [Warning] : 安全な既知の CDC 構造ですが、次のいずれかの理由のために理想的とはいえない CDC パスに対する重要度です。

° 初 2 つのシンクロナイザー フ リ ップフロ ップの少なく と も 1 つで ASYNC_REG プロパティが 1 (またはtrue) に設定されていない。

° CDC 構造に CDC エンジンで検証できない機能の正確さが必要。 これらの構造には、 クロ ッ ク イネーブル制御、 マルチプレクサー データ ホールド制御のトポロジがあ り ます。

• [Info] : CDC 構造が安全で適切に制約されているこ とを示します。

[CDC Details] セクシ ョ ン

CDC レポートの詳細は、 [CDC Details] セクシ ョ ンに示されます。 このセクシ ョ ンから、 選択したパスの回路図を表示したり (F4 キーを押す)、 パスを右ク リ ッ ク してタイ ミ ング レポート を表示または新しいタイ ミ ング レポート を生成できます。

タイ ミ ング レポート と回路図を使用して、 デザインの予期しない CDC パスを確認したり、 不正または不足しているタイ ミ ング例外を特定したり、 ASYNC_REG プロパティが足りない部分を見つけるこ とができます。 次の図に、 [CDCDetails] セクシ ョ ンの例を示します。

[Clock to Clock Details] セクシ ョ ンの表には、 次の列があ り ます。

• [Severity] : CDC ルールの重要度を示します。 可能な値は [Info] (情報)、 [Warning] (警告)、 または [Critical] (ク リティカル) です。

• [ID] : 65 ページの表 2-3 にリ ス ト されている CDC ルールの ID 番号を示します。

• [Description] : CDC ルールの簡単な説明を示します。

• [Depth] : シンクロナイザーの段数を示します (シンクロナイザー ト ポロジのみ)。

• [Exception] : CDC パスに適用されているタイ ミ ング例外を示します。

• [Source (From)] : CDC タイ ミ ング パスの始点を示します。

• [Destination (To)] : CDC タイ ミ ング パスの終点を示します。

• [Category] : [Safe]、 [Unsafe]、 [Unknown] など、 CDC のカテゴ リ を示します。

• [Source Clock (From)] : ソース ク ロ ッ クの名前。

X-Ref Target - Figure 2-35

図 2‐35 : [CDC Details] セクシ ョ ン

Page 70: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 70UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

注記 : この列は、 [CDC Details] (左側のタイ ミ ング レポート CDC ウ ィンド ウ) をク リ ッ ク した場合にのみ表示されます。

• [Destination Clock (To)] : デスティネーシ ョ ン ク ロ ッ クの名前。

注記 : この列は、 [CDC Details] (左側のタイ ミ ング レポート CDC ウ ィンド ウ) をク リ ッ ク した場合にのみ表示されます。

重要 : CDC レポートに一部のザイ リ ンクス IP 内の問題が示されるこ とがあ り ますが、これは CDC エンジンで可能なすべての CDC ト ポロジを認識できず、 ビルト インの除外メカニズムがないからです。 詳細は、 各ザイ リ ンクス IP 製品ガイ ドを参照してください。

CDC トポロジの回路図

次に、 CDC ト ポロジの簡略化された回路図とその簡単な説明を示します。 すべての回路図で、 ソース ク ロ ッ ク ネット (通常は clk_a) は青色でハイライ ト され、 デスティネーシ ョ ン ク ロ ッ ク ネッ ト (通常は clk_b) はオレンジ色でハイライ ト されています。

1 ビッ ト  シンクロナイザー

図 2-36 に、 1 ビッ ト シンク ロナイザーの ト ポロジを示します。 同期チェーンの少なく と も 初の 2 つのフ リ ップフロ ップに ASYNC_REG プロパテ ィ を設定する必要があ り ます。 シン ク ロナイザーの段数は、 制御信号を共有するチェーン接続されているフ リ ップフロ ップの数です。

フ リ ップフロ ップの CLEAR または PRESET ピンも非同期ソースに接続されている場合は、 シンク ロナイザーは 1ビッ ト シンクロナイザーと してのみレポート され、非同期リセッ ト シンクロナイザーと してはレポート されません。

X-Ref Target - Figure 2-36

図 2‐36 : 1 ビッ ト  シンクロナイザーのトポロジ

Page 71: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 71UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

複数ビッ ト  シンクロナイザー

複数ビッ ト シンクロナイザーは、 始点/終点の名前および一致する CDC ルールに基づいてグループ化された複数の 1ビッ ト シンクロナイザーと同等です。 この場合、バスはネッ ト名ではなく始点と終点のセル名で定義されます。バス名のフォーマッ トは baseName[index] です。また、始点と終点のインデッ クスも一致している必要があ り ます。次の図に、 2 ビッ ト幅の複数ビッ ト シンクロナイザーの例を示します。

CDC バスのすべてのビッ トが同じ CDC ルールに一致しない場合は、 バスは 1 ビッ ト または CDC ルールが一致している連続インデッ クスのバス セグメン ト と してレポート されます。

非同期リセッ ト  シンクロナイザー

図 2-38 にク リ ア ベース同期の非同期リセッ ト シンクロナイザー、 図 2-39 にプリセッ ト ベース同期の非同期リセット シンクロナイザーを示します。 FF1 セルはそれぞれ同期されたク リ アまたはプリセッ ト信号に接続されており、 これらの信号のディアサートには clk_a に対して安全にタイ ミ ング制約が適用されます。

X-Ref Target - Figure 2-37

図 2‐37 : ビッ ト幅の複数ビッ ト  シンクロナイザー

Page 72: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 72UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

X-Ref Target - Figure 2-38

図 2‐38 : クリア ベースの非同期リセッ ト  シンクロナイザー

X-Ref Target - Figure 2-39

図 2‐39 : プリセッ ト  ベースの非同期リセッ ト  シンクロナイザー

Page 73: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 73UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

CLEAR および PRESET を持つフ リ ップフロ ップを 1 つの非同期リセッ ト シンクロナイザー内に混合するこ とはできません。

組み合わせロジック

次の図に示す組み合わせロジッ クの例では、 LUT3 で示される ロジッ ク フ ァン クシ ョ ンが clk_a からの CDC とclk_b シンクロナイザーの間に配置されています。

この構造は、組み合わせロジッ クの出力でグ リ ッチが発生する可能性があ り、 このグ リ ッチはシンクロナイザーに取り込まれてデザインの残りの部分に伝搬されるので、 通常推奨されません。

X-Ref Target - Figure 2-40

図 2‐40 :組み合わせロジックの例

Page 74: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 74UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

ファンアウト

次の図に示すファンアウ ト の例では、 ソース フ リ ップフロ ップで駆動されるネッ ト が赤でハイ ラ イ ト されているclk_b ド メ インで 3 回同期化されています。この構造は、シンクロナイザーを介するレイテンシは限定されますがサイクル精度ではなく、 デスティネーシ ョ ン ク ロ ッ ク ド メ インでデータ コ ヒーレンシの問題が発生するこ とがあるため、 お勧めしません。

注記 : N 個の異なるクロ ッ ク ド メ インへの N ファンアウ トは CDC 問題ではなく、 CDCH-11 違反とはなり ません。

X-Ref Target - Figure 2-41

図 2‐41 : ファンアウトの例

Page 75: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 75UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

複数クロックのファンイン

次の図に示す複数クロ ッ クのファンインの例では、clk_a と clk_x の両方がデータを組み合わせロジッ ク (LUT2) を介して clk_b ド メ インのシンクロナイザー回路に転送しています。 clk_a と clk_x からのソース データをグルーロジッ クを介して結合する前に、 個別に同期するこ とをお勧めします。 これによ り CDC 構造全体の MTBF 特性が向上し、 グ リ ッチがデスティネーシ ョ ン ク ロ ッ ク ド メ インに伝搬されるのが回避されます。

X-Ref Target - Figure 2-42

図 2‐42 :複数クロックのファンインの例

Page 76: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 76UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

FD 以外のプリ ミテ ィブ

次の図に示す FD 以外のプリ ミ ティブの例では、CDC は FDRE と RAMB の間で発生しており、RAMB プリ ミ ティブ内に同期ロジッ クは存在しません。clk_b に接続されている 1 段のフ リ ップフロ ップを RAMB の前に挿入しても、FDREセルと RAMB セルの配線距離のため十分なシンクロナイザーとはいえません。

注記 : この規則には HARD_SYNC マクロは含まれません。 HARD_SYNC マクロは CDCH-18 で検出されます。

X-Ref Target - Figure 2-43

図 2‐43 : FD 以外のプリ ミテ ィブの例

Page 77: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 77UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

CE 制御の CDC

次の図に示す CE 制御の CDC では、 クロ ッ ク イネーブル信号はクロ ッ ク乗せ換えフ リ ップフロ ップを制御するために使用される前に、 デスティネーシ ョ ン clk_b ド メ インで同期されます。

CDC エンジンでは、FF3/CE に接続されている信号のソース ク ロ ッ クが clk_b であるこ とのみがチェッ ク されます。ク ロ ッ ク イネーブル信号が別に安全な CDC パス と してレポート されていれば、 その同期方法に制限はあ り ません。また、 clk_a ド メ インから FF3 へのレイテンシはユーザーが制約する必要があ り、 これには通常 set_max_delay-datapath_only 制約を使用します。

X-Ref Target - Figure 2-44

図 2‐44 : CE 制御の CDC の例

Page 78: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 78UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

マルチプレクサー制御の CDC

次の図に示すマルチプレクサー制御の CDC の例では、マルチプレクサー セレク ト信号はデスティネーシ ョ ン ク ロ ック ド メ イン clk_b に同期されています。

CE 制御の CDC と同様に、 セレク ト信号が別に安全とレポート されていれば、 その同期方法に制限はあ り ません。 また、 FF2_c 上のクロ ッ ク乗せ換え遅延はユーザーが制約する必要があ り ます。

X-Ref Target - Figure 2-45

図 2‐45 : マルチプレクサー制御の CDC の例

Page 79: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 79UG906 (v2015.4) 2015 年 11 月 18 日

第 2 章 : タイ ミング解析機能

マルチプレクサー データ  ホールド  CDC

次の図に示すマルチプレクサー データ ホールド CDC の例では、マルチプレクサー セレク ト信号はデスティネーシ ョン ク ロ ッ ク ド メ イン clk_b に同期されており、 data_out がマルチプレクサーにフ ィードバッ ク されています。

CE 制御の CDC と同様に、マルチプレクサーのセレク ト信号が別に安全とレポート されていれば、その同期方法に制限はあ り ません。 また、 FF2_c 上のクロ ッ ク乗せ換え遅延はユーザーが制約する必要があ り ます。

X-Ref Target - Figure 2-46

図 2‐46 : マルチプレクサー データ  ホールド  CDC の例

Page 80: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 80UG906 (v2015.4) 2015 年 11 月 18 日

第 3章

インプリ メンテーシ ョ ン結果の解析機能

[Design Runs] ウィンドウの使用[Design Runs] ウ ィンド ウには、 run の状態が表示されます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893) [参照 1] のこのセクシ ョ ンを参照して ください。

run が終了する と、 [Design Runs] ウ ィンド ウがに run が問題なく完了したか、 エラーが発生したかが示されます。

ヒン ト : run が 新でない場合は、 ポップアップ メニューから [Force Up-to-Date] をク リ ッ ク して、 ステータスを強制的に 新の状態にするこ とができます。

[Design Runs] ウ ィンド ウには、 次の情報が表示されます。

• [Name] : run の名前

• [Part] : ターゲッ ト デバイス

• [Constraints] : run に関連付けられている制約セッ ト

• [Strategy] : run のス ト ラテジ

• [Status] : run で 後に完了した段階のステータス

• [Progress] : run の進捗状況

• [Start] : run の開始時間

• [Elapsed] : 実行中の run に対しては経過時間、 完了している run に対しては 終的な実行時間

• [WNS]、 [TNS]、 [WHS]、 [THS]、 [TPWS] : run のタイ ミ ング値 (第 2 章の 「タイ ミ ング サマリ レポート 」 を参照)これらの値から、 run がタイ ミ ングを満たしているかど うかをすばやく判断できます。 タイ ミ ングが満たされていない場合は、 タイ ミ ング サマリ レポート を使用して解析する必要があり ます。

• [Failed Nets] : 配線できなかったネッ トの数

• [Description] : run ス ト ラテジの簡単な説明

X-Ref Target - Figure 3-1

図 3‐1 : [Design Runs] ウィンドウ

Page 81: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 81UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

Vivado IDE プロジェク ト フローを使用している場合は、[Messages] ウ ィンド ウでアクティブなインプリ メンテーシ ョンの結果を確認します。 メ ッセージは、 フローの段階別にグループ化されています。 run のログ ファ イルに保存される情報およびメ インの Vivado セッシ ョ ンのログ ファ イルの情報は、 すべてこのウ ィンド ウに表示されます。

メ ッセージによっては、ファ イル名をク リ ッ クするこ とによ り、 ソース ファ イルまたはメ ッセージに関係するデザイン オブジェク トにクロスプローブできるものもあ り ます。 メ ッセージからオブジェク トにクロスプローブするには、解析しているフローの段階によって、合成済みデザインまたはインプリ メン ト済みデザインを開いておく必要があ ります。

X-Ref Target - Figure 3-2

図 3‐2 :段階ごとにグループ化されたメ ッセージ

Page 82: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 82UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

配置解析このセクシ ョ ンでは、 配置解析について説明します。 次の内容が含まれます。

• 「配置のハイライ ト 」

• 「接続の表示」

• 「メ ト リ クスの表示」

配置のハイライ ト

デザインの配置を確認する別の方法と して、 セル配置の解析があ り ます。 この解析には、 [Highlight Leaf Cells] コマンドを使用します。

1. [Netlist] ウ ィンド ウで解析する階層レベルを選択します。

2. 右ク リ ッ ク して [Highlight Leaf Cells] をク リ ッ ク し、 色を選択します。

3. 複数の階層レベルを選択している場合は、 [Cycle Colors] をク リ ッ ク します。

[Device] ウ ィンド ウで階層セルを構成する 下位セルが色表示されます。

X-Ref Target - Figure 3-3

図 3‐3 :階層のハイライ ト

Page 83: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 83UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

色分け表示によ り、 UsbEngine0 (黄色) が次のよ うであるこ とがわかり ます。

• ブロ ッ ク RAM および DSP48 セルを使用しています。

• DSP 以外は、 チップの上部のクロ ッ ク領域内にあ り ます。

• デザインのその他のロジッ ク (セル) とそれほど混じ り合っていません。

fftEngine (赤色) と cpuEngine (茶色) が混じ り合っているのがわかり ます。 この 2 つのブロ ッ クは、 主に異なるリ ソースを使用します (一方は DSP48、 も う一方はスライス)。 これらが混じ り合っているこ とで、 デバイスが 適に使用されます。

接続の表示

接続に基づいてデザインを解析する と有益な場合があ り ます。 ある入力、 ブロ ッ ク RAM、 または DSP のバンクで駆動されるすべてのロジッ クの配置を確認するには、 [Show Connectivity] を実行します。

このコマンドは、 複数のセルまたはネッ ト をシード と して、 別のタイプのオブジェク ト を選択します。

ヒン ト : この機能を使用して、 デザイン内のロジッ クのコーンを表示できます。

図 3-4 では、 デバイス内の OBUF を含むロジッ クを駆動するブロ ッ ク RAM が表示されています。 合成プラグマにより、 メモ リの推論でブロ ッ ク RAM 内に出力フ リ ップフロ ップが配置されないよ うになっています。

Page 84: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 84UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

固定および未固定のロジック

Vivado には、 次の 2 種類の配置があ り ます。

• ユーザーが配置したエレ メン ト (オレンジ色) は固定されます。

° 固定ロジッ クは、 XDC に保存されます。

° 固定ロジッ クには、 通常 LOC 制約が設定されています。 BEL 制約が設定されている場合もあ り ます。

• ツールで配置されたエレ メン ト (青色) は固定されません。

図 3-5 では、 I/O およびブロ ッ ク RAM の配置が固定されています。 スライス ロジッ クは固定されていません。

X-Ref Target - Figure 3-4

図 3‐4 :接続の表示

Page 85: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 85UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

クロスプローブ

Vivado 合成を使用して合成されたデザインでは、 ネッ ト リ ス ト デザインがメモ リに読み込まれていればソース ファイルにクロスプローブできます。

ク ロスプローブするには、 次の手順に従います。

1. ゲート を選択します。

2. 右ク リ ッ ク して [Go To Source] をク リ ッ ク します。

X-Ref Target - Figure 3-5

図 3‐5 :固定および未固定のロジック

Page 86: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 86UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

ク ロスプローブ機能を使用して、ネッ ト リ ス ト ゲートに関連するソースを特定します。合成での変換によ り、デザインのすべてのゲート をソースにクロスプローブできる とは限り ません。

メ ト リクスの表示

インプ リ メンテーシ ョ ンが終了したら、デザインがデバイスでどのよ うに動作するかを確認できます。 Vivado IDE では、デバイス内のロジッ クおよび配線リ ソースの使用状況を調べるためのメ ト リ クスが複数あ り ます。メ ト リ クスは、[Device] ウ ィンド ウに指定した規則に従って色分け表示されます。 メ ト リ ク スを表示するには、 [Device] ウ ィ ンド ウを右ク リ ッ ク して [Metric] をク リ ッ ク し、 表示する メ ト リ クスを選択します (次の図を参照)。

X-Ref Target - Figure 3-6

図 3‐6 : ソースへのクロスプローブ

Page 88: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 88UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

配置済みデザインが必要なメ ト リクス

次の 4 つのメ ト リ クスには、 配置済みデザインが必要です。 完全に配線されたデザインは必要あ り ません。

• [LUT Utilization per CLB] (CLB ごとの LUT の使用率) : 配置された LUT の使用率に基づいて、 スライスを色分け表示します。

• [FF Utilization per CLB] (CLB ごとのフ リ ップフロ ップの使用率) : 配置されたフ リ ップフロ ップの使用率に基づいて、 スライスを色分け表示します。

• [Vertical routing congestion per CLB] (CLB ごとの垂直方向の配線の密集度) : 垂直方向の配線の使用状況をベス トケースで予測した結果に基づいて、 ファブ リ ッ クを色分け表示します。

• [Horizontal routing congestion per CLB] (CLB ごとの水平方向の配線の密集度) : 水平方向の配線の使用状況をベスト ケースで予測した結果に基づいて、 ファブ リ ッ クを色分け表示します。

配置のないネッ ト リス ト  デザインでのメ ト リクス

次の 2 つのメ ト リ クスは、 Pblock に関係しています。 これらは配置に依存しません。

• [LUT Utilization per Pblock] (Pblock ごとの LUT の使用率) : Pblock に含まれる LUT のスライスへの配置予測に基づいて、 Pblock を色分け表示します。

• [FF Utilization per Pblock] (Pblock ごとのフ リ ップフロ ップの使用率) : Pblock に含まれるフ リ ップフロ ップのスライスへの配置予測に基づいて、 Pblock を色分け表示します。

図 3-7 に示すよ うに、 同時に複数のルールを使用できます。 この図では、 CLB ごとの LUT 使用率と CLB ごとのフリ ップフロ ップの使用率がオンになっています。

ヒン ト : デザインに使用率の高い部分や配線の密集度が高くなるこ とが予測される部分がある場合は、 RTL または配置制約を変更して、 その部分でのロジッ クおよび配線の使用率を削減してください。

Page 89: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 89UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

配線解析[Device] ウ ィンド ウのツールバーの [Routing Resources] ボタンをオンにする と、 配線リ ソースが表示されます。

配線配置の表示

配置配線は、 ズーム レベルによって表示が異なり ます。

• 縮小表示した場合

• 拡大表示した場合

ヒン ト : 2 種類の表示を使用するこ とによ り、 ランタイムと メモ リの使用量を 小限に抑えながら、 すべてのサイズでデザインの詳細が表示されるよ うになっています。

縮小した場合の配線配置の表示

縮小する と、 表示は簡略化されたものになり ます。 この表示には、 次のよ うな特徴があ り ます。

• 配線が凝縮されたものになり ます。

• 特定の領域を通過する配線の数によって線の太さが変わり ます。

配置も同様に、 各タイルを表すブロ ッ クに、 配置されているロジッ クが表示されます。 タイルに含まれるロジッ クが多いほど、 タイルを表すブロ ッ クが大き くな り ます。

X-Ref Target - Figure 3-8

図 3‐8 :配線の表示

Page 90: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 90UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

拡大した場合の配線配置の表示

拡大する と、 実際のロジッ ク セルおよび配線が表示されます。

表示オプシ ョ ン

[Device] ウ ィンド ウをカスタマイズして、デバイスおよびデザインをさまざまな方法で表示できます。これらは、ツールバーの [Device Options] をク リ ッ ク して設定します。

X-Ref Target - Figure 3-9

図 3‐9 :簡略表示

X-Ref Target - Figure 3-10

図 3‐10 :詳細表示

Page 91: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 91UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

デザインおよびデバイスの異なる リ ソースの表示/非表示を切り替えたり、 表示色を変更したりできます。

[Device] ウィンドウのナビゲーシ ョ ン

[Device] ウ ィンド ウは、 次の機能を使用してナビゲートできます。

• ズーム操作 : 標準的な拡大 ([Zoom In])、 縮小 ([Zoom Out])、 および全体表示 ([Zoom Fit])

X-Ref Target - Figure 3-11

図 3‐11 : [Device Options] の [Layers] ビュー

X-Ref Target - Figure 3-12

図 3‐12 : [Device] ウィンドウのナビゲーシ ョ ン

Page 92: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 92UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

• [Auto-fit Selection] : [Device] 以外のウ ィンド ウで選択されたオブジェク ト を自動的に拡大表示します。 ク ロスプローブに便利です。

• [World] ビュー : [Device] ウ ィンド ウに現在表示されている部分がデバイス全体のどこかを表示します。 [World]ビューに表示される黄色のボッ クスをド ラ ッグまたはサイズ変更する と、 [Device] ウ ィンド ウの表示を移動したりサイズ変更したりできます。

• Ctrl キー : Ctrl キーを押しながら ド ラ ッグする と、 表示箇所を移動できます。

デザイン解析レポートデザイン解析レポートには、 タイ ミ ング パスの特性、デザインのインターコネク トの複雑性、および密集に関する情報が示されます。 この情報を使用してデザインおよび制約を変更するこ とによ り、 QoR (結果の品質) を向上し、配線の密集を軽減できます。

デザイン解析レポートの生成

デザイン解析レポートは、 [Tcl Console] コンソールまたは Vivado IDE から生成できます。 次の 3 つのカテゴ リのレポート を生成できます。

• タイ ミ ング : タイ ミ ング パスのタイ ミ ングおよび物理的な特性をレポート します。

• 複雑性 : デザインの配線の複雑性および LUT の分布を解析します。

• 密集度 : デザインの配線の密集度を解析します。

Vivado IDE からデザイン解析レポート を実行するには、 [Tools] → [Report] → [Report Design Analysis] をク リ ッ ク します。

同等 Tcl コマンド : report_design_analysis -name design_analysis_1.

Vivado IDE の [Report Design Analysis] ダイアログ ボッ クス (図 3-13) には、 次のフ ィールドおよびタブがあ り ます。

• [Results name] フ ィールド

• [Options] タブ

• [Advanced] タブ

• [Timer Settings] タブ

Page 93: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 93UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

[Results name] フ ィールド

レポートのグラフ ィカル ウ ィンド ウの名前を指定します。

同等 Tcl オプシ ョ ン : -name <windowName>

[Options] タブ

[Options] タブ (図 3-13) には、 次のセクシ ョ ンがあ り ます。

• [Timing]

• [Complexity]

• [Congestion]

X-Ref Target - Figure 3-13

図 3‐13 : [Report Design Analysis] ダイアログ ボックス

Page 94: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 94UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

[Timing]

タイ ミ ング パスのタイ ミ ングおよび物理的な特性をレポートするよ う設定します。

同等 Tcl オプシ ョ ン : -timing

すべてのパスのレポート を生成するか、 特定のタイ ミ ング パスのレポート を生成するかを選択できます。 [All Paths]をオンにした場合は、[Path delay type] (パス遅延タイプ) をセッ ト アップに対しては [max]、ホールドに対しては [min]、セッ ト アップおよびホールドの両方に対しては [min_max] に設定できます。

同等 Tcl オプシ ョ ン : -setup/-hold

また、 [Maximum number of paths per clock group] (ク ロ ッ ク グループごとのパスの 大数) も指定できます。

同等 Tcl オプシ ョ ン : -max_paths <arg>

[Specific Paths] をオンにした場合、 解析は指定したパス オブジェク トに対して実行されます。 フ ィールドの右側にある参照ボタンをク リ ッ クする と [Find Timing Paths] ダイアログ ボッ クスが表示され、パス オブジェク ト を検索できます。 get_timing_paths コマン ドの詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァ レンス ガイ ド』 (UG835) [参照 3] のこのセクシ ョ ンを参照してください。

同等 Tcl オプシ ョ ン : -of_timing_paths <args>

[Extend analysis] をオンにする と、 指定した各パスに対して拡張解析が実行され、 始点へのワース ト パスおよび終点からのワース ト パスもレポート されます。

同等 Tcl オプシ ョ ン : -extend

注記 : [Extend analysis] オプシ ョ ン (Tcl オプシ ョ ン -extend) は、 現在のと ころセッ ト アップ パス解析のみで設定可能です。 ホールド パス解析は、 Vivado の今後のバージ ョ ンでサポート されるよ うになる予定です。

[Include logic level distribution] をオンにする と、[Number of paths] で指定した数のパスのロジッ ク レベル分布がデザイン解析レポートに含まれます。 [All paths] をオンにしている場合は、 こ こで指定したパスの数が [Maximum number ofpaths per clock group] の代わりに使用されます。 [Specific paths] をオンにしている場合は、 特定のパスのみに対してロジッ ク レベル分布が生成されます。

同等 Tcl オプシ ョ ン : -logic_level_distribution <arg>

[Complexity]

デザイン ネッ ト リ ス トの複雑性をレポートするよ う設定します。

同等 Tcl オプシ ョ ン : -complexity

[Cells to analyze] をオンにする と、 複雑性の解析に使用する階層セルを指定できます。 フ ィールドの右側にある参照ボタンをク リ ッ クする と [Specify Top level Cell] ダイアログ ボッ クスが表示され、セル オブジェク ト を検索できます。

同等 Tcl オプシ ョ ン : -cells <args>

[Hierarchical depths] をオンにする と、 上位 (デフォルト ) または -cells オプシ ョ ンで指定したセルで解析するレベル数を指定できます。

同等 Tcl オプシ ョ ン : -hierarchical_depth <arg>

[Advanced] タブ

[Advanced] タブ (図 3-14) には、 次のセクシ ョ ンがあ り ます。

• [File Output]

• [Miscellaneous]

Page 95: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 95UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

[File Output] セクシ ョ ン

[Write results to file] をオンにし、 その右側のフ ィールドでファイル名を指定するこ とによ り、 結果を GUI に表示するだけでなく、ファ イルに保存できます。ファ イル名を指定するフ ィールドの右側にある参照ボタンをク リ ッ クする と、異なるディ レク ト リ を指定できます。

同等 Tcl オプシ ョ ン : -file <arg>

[Overwrite] をオンにする と、 既存のファ イルが上書きされます。 [Append] をオンにする と、 新しい結果がファ イルの 後に追加されます。

同等 Tcl オプシ ョ ン : -append

[Miscellaneous]

[Ignore command errors (quiet mode)] をオンにする と コマン ド エラーは非表示にな り、 [Suspend message limits duringcommand execution] をオンにする とプログラム実行中メ ッセージの制限が解除され、 すべてのメ ッセージが表示されます。

同等 Tcl オプシ ョ ン : -quiet -verbose

Page 96: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 96UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

[Timer Settings] タブ

[Timer Settings] タブ (図 3-15) には、 次のオプシ ョ ンおよびセクシ ョ ンがあ り ます。

• [Interconnect]

• [Speed grade]

• [Multi-Corner Configuration]

• [Disable flight delays]

[Interconnect]

タイ ミ ング パスの解析に使用するインターコネク ト モデルを選択します。

X-Ref Target - Figure 3-14

図 3‐14 : [Report Design Analysis] ダイアログ ボックス : [Advanced] タブ

Page 97: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 97UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

• [actual] : 配線済みデザインの も正確な遅延が含まれます。

• [estimated] : インプリ メンテーシ ョ ン前のデバイス上のデザインの配置および接続に基づく予測インターコネクト遅延が含まれます。 デザインが完全に配線されていても、 予測遅延を指定できます。

• [none] : タイ ミ ング解析にインターコネク ト遅延は含まれず、 ロジッ ク遅延のみが含まれます。

同等 Tcl コマンド :set_delay_model -interconnect <arg>

set_delay_model コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] を参照してください。

[Speed grade]

解析用のスピード グレードを指定します。

同等 Tcl コマンド :set_speed_grade <arg>

set_speed_grade コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] を参照してください。

[Multi‐Corner Configuration]

実行するコーナー解析を指定します。 デフォルトでは、 4 コーナー解析が実行されます。

同等 Tcl コマンド :config_timing_corners -corner <arg> -delay_type <arg>

config_timing_corners コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] を参照してください。

[Disable flight delays]

I/O タイ ミ ングの算出にパッケージ遅延が含まれないよ うにします。

同等 Tcl コマンド :config_timing_analysis -disable_flight_delays <arg>

config_timing_analysis コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] を参照して ください。

Page 98: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 98UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

タイ ミ ング パス特性レポート

次の図に、デザイン解析レポート を、 タイ ミ ング モードで、デザインの 10 個のワース ト セッ ト アップ パス特性がレポー ト されるよ う に指定して生成した例を示します。 このレポー ト は、 GUI で [Tools] → [Report] → [Report DesignAnalysis] をク リ ッ クするか、 次の Tcl コマンドを使用して生成できます。

report_design_analysis -name <arg>

ヒン ト : ホールド パス特性をレポートするには、[Report Design Analysis] ダイアログ ボッ クスの [Options] タブで [Pathdelay type] を [min] に設定します。Tcl コマンド構文の詳細は、『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』(UG835) [参照 3] を参照してください。

X-Ref Target - Figure 3-15

図 3‐15 : [Report Design Analysis] ダイアログ ボックス : [Timer Settings] タブ

Page 99: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 99UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

デザイン解析レポートには、 ワース ト タイ ミ ング パスのロジッ ク レベル分布 (Logic Level Distribution) の表を含めるこ と もできます。 ロジッ ク レベル分布用に解析されるパスのデフォルト数は 1,000 ですが、 この数は [Report DesignAnalysis] ダイアログ ボッ クスで変更できます。 ロジッ ク レベル分布の表はデフォルトでは生成されません。 生成するには、 [Report Design Analysis] ダイアログ ボッ クスの [Options] タブで [Include logic level distribution] をオンにします。 次の図に、 ロジッ ク レベル分布の表の例を示します。

特定のパスの解析

図 3-18 に、 特定のパスを指定してタイ ミ ング モードで生成したデザイン解析レポートの例を示します。

この場合、特定のパスのみに対してパス特性およびロジッ ク レベル分布の表 (選択されている場合) が生成されます。パスを指定するには、 [Report Design Analysis] ダイアログ ボッ クスの [Specific paths] をオンにし、 フ ィールドの右側にある参照ボタンをク リ ッ ク します。 図 3-19 に示す [Find Timing Paths] ダイアログ ボッ クスが表示されます。

X-Ref Target - Figure 3-16

図 3‐16 : セッ トアップ パス特性レポートの例

X-Ref Target - Figure 3-17

図 3‐17 : ロジック  レベル分布の表の例

X-Ref Target - Figure 3-18

図 3‐18 :特定のタイ ミング パスのデザイン解析レポート例

Page 100: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 100UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

ワースト  パスとその前後のパスの解析

次の図に、 [Extend analysis] をオンにしてタイ ミ ング モードで生成したデザイン解析レポートの例を示します。

注記 : [Extend analysis] オプシ ョ ンは、 現在のと ころセッ ト アップ パス解析のみで設定可能です。

ワース ト セッ ト アップ パスに加え、始点セルへのワース ト セッ ト アップ パス (PrePath) および終点セルからのワース ト セッ ト アップ パス (PostPath) のパス特性がレポート されます。 -extend オプシ ョ ンを使用する と、 レポートされるパスのすべての特性を収集するためタイ ミ ング解析を複数回実行する必要があるので、実行時間が長くなり ます。

同等 Tcl コマンド : report_design_analysis -extend

X-Ref Target - Figure 3-19

図 3‐19 : [Find Timing Paths] ダイアログ ボックス

Page 101: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 101UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

タイ ミング パス特性レポートの解読および解釈

パス特性は、 主にタイ ミ ング、 ロジッ ク、 物理、 およびプロパティの 4 つのカテゴ リに分類されます。 各特性の定義は、 次のコマンドで report_design_analysis コマンドのヘルプ情報を参照してください。

Tcl コマンド : report_design_analysis -help

同じ情報は 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] でも参照できます。

カテゴリ  1 : タイ ミング

• タイ ミ ング解析 : [Path Type] はタイ ミ ング解析タイプ ([SETUP] (セッ ト アップ) または [HOLD] (ホールド ))、[Requirement] はタイ ミ ング パス要件を示します。 [Slack] は、 タイ ミ ング制約によるタイ ミ ング解析に基づいてタイ ミ ング パス要件が満たされているかど うかを示します。 [Timing Exception] は、 マルチサイ クル パスや 大遅延などのタイ ミ ング例外がタイ ミ ング パスに適用されているかを示します。

パス要件のチェッ クは通常、不足しているタイ ミ ング制約や不正なタイ ミ ング制約をデバッグする際の 初の手順です。

° セッ ト アップ要件が 4ns 未満のパスは、 特にクロ ッ ク乗せ換えパスの場合は、 デザインでそれが正しいかどうかを確認する必要があ り ます。

° セッ ト アップ要件が 2ns 未満のパスは要件を満たすこ とが困難であ り、特に従来のアーキテクチャでは回避する必要があ り ます。

° 通常セッ ト アップ要件が小さい場合、 タイ ミ ング例外制約が不足していないかど うか、およびソースおよびデスティネーシ ョ ン ク ロ ッ ク エッジを確認して ください。 タイ ミ ング解析では、 タイ ミ ング例外制約が設定されていない場合は、 ソース ク ロ ッ ク エッジとデスティネーシ ョ ン ク ロ ッ ク エッジの正の 小差が使用されます。

° 正のホールド パス要件は一般的でなく満たすこ とが難しいので、 見直す必要があ り ます。 正のホールド パス要件がある場合、マルチサイクル パス制約がセッ ト アップ解析用にのみ設定されており、ホールド解析用のマルチサイ クル パス制約が不足していないかど うかを確認して ください。 また、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クの関係が正しいこ と も確認してください。

• データパス : [Path Delay] はデータパス遅延の合計、 [Logic Delay] はロジッ ク セル遅延、 [Net Delay] はネッ ト遅延を示します。

° [Logic Delay] が合計データパス遅延に占める割合が高い場合は (50% 以上など)、データパス ロジッ クのレベル数およびロジッ ク パス上のセルのタイプを確認し、 RTL または合成オプシ ョ ンを変更してパスのロジック レベル数を削減するか遅延の小さいセルを使用するこ とをお勧めします。

° [Requirement] が妥当であるセッ ト アップ パスで [Net Delay] の合計パス遅延に占める割合が高い場合は、 このセクシ ョ ンに リ ス ト されているパスの物理特性およびプロパテ ィ特性を解析する こ と をお勧めします。[High Fanout] および [Cumulative Fanout] 特性を見る と、 パスの一部のネッ トのファンアウ トが大きいために配置の問題が発生している可能性があるかを確認できます。 [Hold Fix Detour] 特性を見る と、 パスに対してホールド違反の修正が実行されているかを確認できます。 この特性は、 report_design_analysis コマ

X-Ref Target - Figure 3-20

図 3‐20 : ワースト  セッ トアップ パスの拡張パス特性レポートの例

Page 102: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 102UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

ン ド を route_design コマン ド と同じセッシ ョ ンで実行した場合にのみアップデー ト され、 配線後のチェッ クポイン ト を読み込んだ後にはアップデート されません。

重要 : LUT 入力ピンは、 異なる遅延特性を持ちます。 インデッ クス番号の大きい物理ピン (サイ ト ピン) の方が、 インデッ クス番号が小さい物理ピンよ り も高速です。7 シ リーズ デバイスと UltraScale™ デバイスの LUT 遅延のレポートは異なるので注意して ください。 7 シ リーズ デバイスでは、 LUT 遅延の変数部分は LUT 前のネッ ト遅延の一部としてレポート されます。 UltraScale デバイスでは、 LUT 遅延の変数部分はロジッ ク遅延と してレポート されます。 そのため、 7 シ リーズ デバイスの [Net Delay]/[Logic Delay] の比は UltraScale デバイスの比よ り も大き くな り ます。

• ク ロ ッ ク : [Start Point Clock]、 [End Point Clock]、 [Clock Relationship]、 および [Clock Skew] は、 タイ ミ ング パスクロ ッ クに関する情報を示します。 [Start Point Clock] はタイ ミ ング パスのソース ク ロ ッ ク、 [Endpoint Clock] はデスティネーシ ョ ン ク ロ ッ クを示します。

° [Clock Relationship] が正し く予測されるものであるかを確認して ください。 ク ロ ッ ク内パスまたは同期クロ ッ ク乗せ換えパスに対しては、 「Safely Timed」 (安全にタ イ ミ ング制約が適用される ) と示されます。[Requirement] および [Clock Skew] が妥当なものであるこ とを確認する必要があ り ます。非同期クロ ッ クに対しては、 「No Common Primary Clock」 (プライマ リ ク ロ ッ クが共通していない) または 「No Common Period」 (周期の共通乗数がみつからない) と示されます。 非同期クロ ッ ク乗せ換えパスには、 タイ ミ ング例外を適用する必要があ り ます ([Timing Exception] の値を確認)。

° [Clock Skew] が妥当であるこ とを確認します。 ク ロ ッ ク スキューを解析する際は、 カスケード接続されたクロ ッ ク バッファーのクロ ッ ク ツ リー構造を確認します。 7 シ リーズ デバイスでは、 ソース ク ロ ッ クおよびデスティネーシ ョ ン ク ロ ッ クの異なるクロ ッ ク バッファー タイプを確認します。 UltraScale デバイスでは、ク ロ ッ ク ネッ トの配置および配線はロジッ ク ロードの配置によって異なるので、 ク ロ ッ ク ネッ トの配置および配線を調べる必要がある場合があ り ます。 ク ロ ッ ク領域の境界または I/O 列をまたぐ と、 ク ロ ッ ク スキューが大き くなるこ とがあ り ますが、 これは予測されるこ とです。

report_design_analysis コマンドで生成されるタイ ミ ング特性のほとんどは、 タイ ミ ング レポートに示されます。

カテゴリ  2 : ロジック  

• パス : [Start Point Pin Primitive]、 [End Point Pin Primitive]、 [Start Point Pin]、 [End Point Pin]、 [Logic Levels]、 [LogicalPath]、 および [Comb DSP] ロジッ ク特性は、 タイ ミ ング パスの基本的な情報を示します。

° [Start Point Pin Primitive] はタイ ミ ング パスの始点、[End Point Pin Primitive] は終点を示します。[Start Point PinPrimitive] と [End Point Pin Primitive] が予測されるタイ ミ ング パスの始点および終点であるこ とを確認します。 [Start Point Pin] および [End Point Pin] は、 典型的なタイ ミ ング レポートのヘッダーに示される実際のタイ ミ ング パス ピンの始点と終点を示します。

CLR、 PRE、 RST、 CE などの終点ピンは、 非同期リセッ トやクロ ッ ク イネーブル信号などの制御信号のファンアウ トの大きいネッ トの一部である可能性があるので、確認します。 また、 ブロ ッ ク RAM や DSP などの一部のプリ ミ ティブは Clock-to-Q 遅延およびセッ ト アップ/ホールド要件がほかのセルよ り も大きいので、セルのタイプも確認して ください。 これらがパスに存在する と、 パス タイ ミ ング バジェ ッ トのかな りの部分が消費される可能性があ り ます。

° [Logic Levels] はロジッ ク レベル数、 [Logical Path] はデータパスに含まれるプリ ミ ティブのタイプを示します。 この情報を使用する と、 ロジッ ク レベル数が大きい原因が LUT であるのか、 LUT/CARRY/MUXF セルの組み合わせであるのかをすばやく確認できます。 通常 CARRY および MUXF セルは遅延がゼロまたは非常に小さい専用配線を使用するネッ トに接続されますが、LUT 入力は常にファブリ ッ クを介して配線する必要があ り ます。

パスに含まれるのがほとんど LUT である場合は、そのサイズを確認するこ と も重要です。小型の LUT (LUT6以外) が複数チェーン接続されている理由と、 合成でロジッ ク レベル数を削減可能な LUT6 が使用されるのを阻止する要因を理解するよ うにして ください。 KEEP、 DONT_TOUCH、 MARK_DEBUG などのプロパティが使用されていた り、 マップ効率に影響するパスにファンアウ ト が中から大のネッ ト がある可能性があ り ます。

解析の結果に基づいて、 RTL ソースを変更するか、 RTL の属性を追加または変更するか、異なる合成設定を使用して、 パス上の LUT の数を削減します。 また、 opt_design コマンドの -remap オプシ ョ ンを使用する と、 LUT を再度 適化して小型の LUT の一部を削除できる可能性があ り ます。

Page 103: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 103UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

° [COMB DSP] は、 データパスの一部である組み合わせロジッ ク と して使用されている DSP の数を示します。

• セル : DOA_REG、 DOB_REG、 MREG、 PREG は、 ブロ ッ ク RAM および DSP のオプシ ョ ンのレジスタ プロパティを示します。 RAMB または DSP からのパスに出力レジスタがなく、 数ロジッ ク レベルの場合、 タイ ミ ングを満たすのが困難にな り ます。 これらのパスのタ イ ミ ング要件を満たすのが困難な場合は、 デザインを変更してRAMB または DSP の出力レジスタを使用するこ とを考慮してください。

カテゴリ  3 : 物理 

• アーキテクチャ境界をまたぐ : [BRAM Crossings]、 [DSP Crossings]、 [IO Crossings]、 [CONFIG Crossings]、 および[SLR Crossings] は、パスが BRAM 列、DSP 列、 I/O 列、CONFIG ブロ ッ ク列、および SLR アーキテクチャ リ ソースの境界をまたぐかど うかを示します。

多数のアーキテクチャ列をまたぐ場合でも、 必ずし も問題が発生するわけではあ り ません。 多数のアーキテクチャ列をまたいでいて、 さ らにネッ ト遅延またはスキューが大きいかど うかを確認します。特定のモジュールの複数のインプ リ メンテーシ ョ ン run で多数のアーキテクチャ列をまたいでいるこ とがタイ ミ ング問題の原因である場合は、 Pblock を使用して 小限のフロアプランを実行し、 アーキテクチャ 列または SLR 境界をまたぐ状況を削減します。

• パス配置制限 : Pblock - 過剰なフロアプランによ り、 ツールで 適な結果を達成できないこ とがあ り ます。 複数の Pblock をまたぐパスでは、 タイ ミ ング問題が発生するこ とがあ り ます。

° パスが複数の Pblock をまたぐ場合は、 Pblock の位置と タイ ミ ング パスの配置に与える影響を調べます。

° Pblock が隣接している場合は、 それらの Pblock を含む 1 つの Pblock を作成するこ とを考慮します。 これによ り、 配置の制限が緩和され、 タイ ミ ングが向上する可能性があ り ます。

物理要件によ り Pblock が離れている場合は、 タイ ミ ング要件が満たすため Pblock 間をパイプライン処理するこ とを考慮します。

• 配置ボッ クス : [Bounding Box Size]、 [Clock Region Distance]、 [Combined LUT Pairs]

° タイ ミ ング パスの [Combined LUT Pairs] または [Clock Region Distance] が大きすぎる場合は、place_design コマンドの -directive オプシ ョ ンを使用してみます。UltraScale デバイスでは、 [Clock RegionDistance] と タイ ミ ング パスの [Clock Skew] への影響に特に注意して ください。

• ネッ トのファンアウ トおよび迂回 :

° [High Fanout] はデータパスのすべてのネッ トで 大のファンアウ ト を示し、 [Cumulative Fanout] はデータパス ネッ トすべてのファンアウ トの合計を示します。

[High Fanout] および [Cumulative Fanout] が大きい場合は、 タイ ミ ング違反はファンアウ トが配線およびネット遅延に影響しているためだと考えられます。

物理 適化を実行してもファンアウ トが削減されない場合は、 MARK_DEBUG および DONT_TOUCH 制約により複製が阻止されているかど うかを確認します。

イ ンプ リ メ ンテーシ ョ ンの前にネ ッ ト を複製が必要な場合は、 RTL または XDC フ ァ イル内で合成にMAX_FANOUT 制約を使用します。ファンアウ トの大きいネッ トで良いタイ ミ ングを得るこ とができるかど うかは配置に依存するので、 合成で複製を実行するのは通常はお勧めし ません。 配置後の物理 適化(phys_opt_design) で複製を実行する こ と をお勧めし ます。 -directive オプシ ョ ンを Explore、AggressiveExplore、 AggressiveFanoutOpt などに設定する と、 正のスラ ッ クが小さいパスも 適化できます。

インプ リ メンテーシ ョ ン中に特定のネッ トでファンアウ トの削減が必要な場合は、次のコマンドを使用して複製を強制できます。phy_opt_design -force_replication_on_nets <netName>

° [Hold Fix Detour] が 1 の場合、パス ホールド タイム要件を満たすためデータパス上の配線が遅延されています。 パスのセッ ト アップ要件が満たされていない場合は、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クの間に過剰なスキューがないかど うかを確認します。 ホールド パス要件が正の場合は、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クの間に適切なタイ ミ ング制約が設定されているかど うかも確認します。ホールド パス要件は、 ほとんどの場合 0 または負です。

Page 104: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 104UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

[Hold Fix Detour] は、 配線が同じセッシ ョ ンで実行されている場合にのみレポート されます。 それ以外の場合は、 [Hold Fix Detour] は常に 0 と示されます。

カテゴリ  4 : プロパティ  

• LUT の組み合わせ : [Combined LUT Pairs] は、 パスに組み合わされた LUT ペアが存在するかど うかを示します。LUT ペアの組み合わせによ り ロジッ クの使用率が低減される可能性はあ り ますが、配置ソ リ ューシ ョ ンを制限する結果となるこ と もあ り、ピンの集積度が高いために密集が発生するこ とがあ り ます。LUT の組み合わせがデザインで問題となっている と思われる場合は、 合成で -no_lc オプシ ョ ンを使用して LUT の組み合わせをディ スエーブルにしてみてください。

• 適化の阻止 : MARK_DEBUG および DONT_TOUCH は、 パスにツールで 適化できないネッ ト またはセルがあるかど うかを特定します。

° MARK_DEBUG を設定する と、 デフォルトでは DONT_TOUCH も設定されます。 DONT_TOUCH を FALSE に設定し、 適化が実行されるよ うにします。

° DONT_TOUCH を設定する と、 セルまたはネッ トの複製などの 適化がディ スエーブルになり ます。DONT_TOUCH 制約が必要であるかを評価し、 可能であれば削除します。 階層セルに入力するネッ トに DONT_TOUCH が設定されている と、 階層セル内のネッ トの一部を複製できません。 ロジッ クが 適化で削除されないよ うにするため DONT_TOUCH を使用している場合は、 デザインが正しいこ とを確認します。 出力が接続されていないためにロジッ クが削除されるのが 1 つの例です。

• 配置配線の固定 : [Fixed Loc] および [Fixed Route] は、タイ ミ ング パスのスラ ッ クに影響する可能性のある固定配置制約または固定配線制約があるかど うかを示します。

° セル ロケーシ ョ ン制約を使用する と、 困難なデザインで QoR を一貫したものにするのに役立ちます。 デザインを変更した後にタイ ミ ングが満たされなくなった場合は、配置制約を削除してよ り柔軟に配置されるようにしてみてください。

° 配線を固定する と、 タイ ミ ングを満たすためにネッ ト遅延が 適化されなくな り ます。配線が固定されたタイ ミ ング パスは通常、 この制約の悪影響を受けるほかのパス とネッ ト を共有しています。配線の固定は、必要でほかのパスに影響しない場合にのみ使用します。

° Pblock などのほかの物理制約に変更を加えた場合、 固定されたセル ロケーシ ョ ンまたは固定された配線もアップデートが必要な場合もあるこ とに注意してください。

複雑性レポート

複雑性レポートには、 Rent 指数、 平均ファンアウ ト、 上位デザインの 下位セル タイプの分布、 1000 以上の 下位セルを含む階層セルが示されます。 Rent 指数は、 小カッ ト アルゴ リ ズムを使用してデザインを再帰的に分割した場合のネッ ト リ ス ト パーティシ ョ ンのポート数とセル数の関係を示します。グローバル配置中に配置プログラムによ り使用されるアルゴ リズムと同様のアルゴ リズムによ り算出されます。 そのため、デザインの階層がグローバル配置中に検出される物理パーティシ ョ ンと よ く一致している場合に特に、 配置の課題を示す指標と して使用できます。

Rent 指数は、 Rent の規則によ り定義されます。

ports = constant x cellsRent

log(ports) = Rent x log(cells) + constant

Rent 指数が大きいデザインは、蜜に接続されたロジッ クのグループがほかのグループと も蜜に接続されているこ とを示します。 これは、 グローバル 配線リ ソースの使用率が高く、配線の複雑性が高いこ とを意味します。 このレポートに示される Rent 指数は、 未配置および未配線のネッ ト リ ス トに対して算出されます。

配置後には Rent 指数は論理パーティシ ョ ンではな く物理パーティシ ョ ンに基づくので、 同じデザインでも配置後のRent 指数は異なる場合があ り ます。 配置後の Rent 指数は report_design_analysis コマンドではレポート されないので、デザインが配置された後に密集を解析するこ とをお勧めします。

次のオプシ ョ ンを使用する と、 デザイン解析レポートは複雑性モードで生成されます。

• [Report Design Analysis] ダイアログ ボッ クスの [Options] タブで [Complexity] をオンにする。

Page 105: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 105UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

• report_design_analysis Tcl コマンドを次の表に示すオプシ ョ ンを使用して実行する。

上位でのデザイン複雑性の解析

次の図に、デザイン解析レポート を複雑性モードで実行し、 上位モジュールから 1 階層レベルの解析をレポート した場合の例を示します。

Tcl コマンド :

report_design_analysis -complexity -hierarchical_depth 1

複雑性レポートの解読と解釈

上記の例の Complexity Characteristics (複雑性特性) の表には、 上位の下の各階層レベルに対して Rent 指数および平均ファンアウ トが示されています。 これらのメ ト リ クスの典型的な範囲を次に示します。

• Rent 指数 (Rent) :

° 0.0 ~ 0.65 : 複雑性は低から通常で、 問題が発生するこ とは予測されません。

° 0.65 ~ 0.85 : 複雑性は高いと考慮されます (特に合計インスタンス数が 25,000 個を超える場合)。

° 0.85 以上 : 複雑性は非常に高く、インスタンス数も多い場合は、インプリ メンテーシ ョ ンでデザインにエラーが発生する可能性があ り ます。

• 平均ファンアウ ト (Average Fanout) :

° 4 未満 : 通常である と考えられます。

° 4 ~ 5 : 密集を発生させずにデザインを配置するこ とは困難です。SSI デバイスでインスタンス数の合計が 10個を超える場合は、1 つの SLR に収まる配置ソ リ ューシ ョ ンまたは 2 つの SLR にまたがる配置ソ リ ューシ ョンを見つけるのが困難意なり ます。

° 6 以上 : インプリ メンテーシ ョ ン中にデザインでエラーが発生する可能性があ り ます。

大型で重要度の高いモジュールで Rent 指数または平均ファンアウ ト が大きい場合は、 対処が必要です。 小型のモジュール、特に合計インスタンス数が 1 満未満のモジュールの場合は、Rent 指数および平均ファンアウ トが大き くて

表 3‐1 :デザイン解析レポート を複雑性モードで生成するオプシ ョ ン

Tcl オプシ ョ ン 説明

-complexity デザイン解析レポート を複雑性モードで生成する場合に指定する必要があ り ます。

-cells <arg> 複雑性を解析する際に使用する階層セルを指定します。

-hierarchical_depth <arg> 上位 (デフォルト ) または -cells オプシ ョ ンで指定したセルで解析する階層レベル数を指定します。

X-Ref Target - Figure 3-21

図 3‐21 : 上位で階層レベル数 1 の複雑性解析

Page 106: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 106UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

も問題な く配置配線できます。 そのため、 Rent 指数および平均ファンアウ ト と共に [Total Instances] 列も確認する必要があ り ます。

複雑性の特性から常に配線の密集を予測できるわけではあ り ません。I/O ロケーシ ョ ン制約、フロアプラン、ターゲット デバイスでのマクロ プリ ミ テ ィブの位置などの要因によ り、 配置ソ リ ューシ ョ ンが制限されて密集が発生する可能性があ り ます。 これらの制約の影響の解析には、 配置後の密集レポート を使用するのが適しています。

Complexity Characteristics の表を解釈する際には、 次の項目にも注意します。

• モジュールの LUT6 の割合が大きいと、通常平均ファンアウ トが大き くな り、 Rent 指数が大き くなる可能性もあり ます。

• RAMB および DSP の数が多いと、 これらのプリ ミ ティブは接続量が多いので、 Rent 指数が大き くなる可能性があ り ます。

• Rent 指数または平均ファンアウ トが大きい階層インスタンスが必ずしも問題を引き起こすとは限り ません。配置はフラ ッ ト ネッ ト リ ス トに対して実行され、 これらのインスタンスが配置しやすいロジッ ク グループに分割されます。 このレポートは、 あるモジュールが明らかに際立っている場合にネッ ト リ ス トの問題が存在する可能性のある場所を示します。

大型のモジュールの Rent 指数または平均ファンアウ トが大き くそれが原因で密集およびタイ ミ ング問題が発生している場合は、 次を実行するこ とを考慮します。

° モジュールの接続を削減します。 階層を保持して合成での境界をまたぐ 適化が実行されないよ うにすると、 LUT6 の使用量が削減され、 ネッ ト リ ス トの集積度も削減されます。

° 合成での LUT の組み合わせをディ スエーブルにしてみます。

° インプ リ メンテーシ ョ ン中に密集ス ト ラテジを使用するか、配置の -directive オプシ ョ ンに SpreadLogic モードを使用して、 密集を緩和します。 デザインが SSI デバイスをターゲッ ト と している場合は、 配置で異なるSSI モードを試してみます。

° SSI デバイスでは SLR レベルで単純なフロアプランを使用するか、一般的にはクロ ッ ク領域レベルで単純なフロアプランを使用して、密集したロジッ クのグループを別々にしするか、以前の実行で得られた良い配置に類似したソ リ ューシ ョ ンが得られるよ う グローバル配置をガイ ド します。

密集レポート

密集レポートは、 デバイスの密集したエ リ アとそれらのエ リ アにあるデザイン モジュールの名前を示します。 ク リティカル パスが密集したエリ アの中または近くにある場合、 タイ ミ ング ク ロージャの問題が発生する可能性があ ります。

デザインの密集の解析

デザイン解析レポート を密集モードで生成するには、[Report Design Analysis] ダイアログ ボッ クスの [Options] タブで[Congestion] をオンにします。 デザインが配置または配線されているこ とが必要です。 未配置のデザインに対してデザイン解析レポート を密集モードで実行しても、 何もレポート されません。

重要 : Routed Maximum Level Congestion Reporting (配置後の 大レベル密集レポート ) を生成するには、route_design コマンドを実行したのと同じ Vivado セッシ ョ ンで実行する必要があ り ます。 配線済みのチェッ クポイン ト を読み込んだ場合、 この情報はレポート されません。

密集モードのデザイン解析レポートには、 次の 5 つの表が含まれます。

1. Placed Maximum Level Congestion Reporting (配置後の 大レベル密集レポート )

次の図に、 Placed Maximum Level Congestion Reporting の表の例を示し ます。 このレポー ト を使用する と、[Congestion] ダイアログ ボッ ク スによ り定義されたデバイスのエ リ ア とそのダイアログ ボッ ク ス内にあるモジュールを調べるこ とができます。 リ ソース使用率から密集エリ アに配置されている リ ソースのタイプがわかります。

Page 107: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 107UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

この表には、 特定の方向で見られる 大密集レベル (Window Size) と同じすべてのウ ィンド ウがレポート されます。 次の列があ り ます。

° [Direction] : 密集した配線リ ソースの方向 (North、 South、 West、 または East) を示します。

° [Size] : CLB タイルの密集のウ ィンド ウ サイズを示します。

° [Congestion] : 定義されたウ ィンド ウでの配線リ ソースの予測使用率を示します。 この値は 100% 以上になるこ とがあ り ます。

° [Congestion Window] : 特定された方向の密集が存在する境界 CLB タイルを示します。CLB 座標は、ウ ィンドウの左下と右上に対応します。

ヒン ト : [Congestion Window] 列は、 テキス ト レポートのみに含まれます。 GUI レポートでは、密集ウ ィンド ウを選択する と、 [Device] ウ ィンド ウで密集エリ アがハイライ ト されます。

° [Cell Names] : 密集ウ ィンド ウに関連する階層セルを含む親インスタンスを、割合の大きいものから 3 つまで示します。

ヒン ト : GUI レポートでは、 ハイパーリ ンクになっているセル名をク リ ッ クする と、 密集ウ ィンド ウの対応する再開セルがハイライ ト されます。

° [LUT Usage] : ウ ィンド ウ内での LUT の使用率を示します。

° [Flop Usage] : ウ ィンド ウ内での FD (LD を含む) の使用率を示します。

° [Mux Usage] : ウ ィンド ウ内での MUXF の使用率を示します。

° [RAMB18 Usage] : ウ ィンド ウ内での RAMB18 の使用率を示します。

° [RAMB36 Usage] : ウ ィンド ウ内での RAMB36 の使用率を示します。

° [DSP Usage] : ウ ィンド ウ内での DSP の使用率を示します。

Placed Maximum Level Congestion Reporting の表でデザインの密集およびタイ ミ ング QoR を解析する際は、次を確認します。

° LUT の使用率が高い場合は、 複雑性レポートで LUT6 の割合が大きいインスタンスを調べます。

° 密集エリアで RAMB または DSP の使用率が高い場合は、 Pblock 制約によ り該当するモジュールの配置エリアが制限されていないかを確認します。配置の -directive オプシ ョ ンで BlockPlacement や SpreadLogic などのモード指定して、 密集を緩和します。 密集が低く良いタイ ミ ング QoR が得られた以前の実行からの RAMBまたは DSPの配置を再利用する と有益な場合があ り ます。

2. SLR Net Crossing Reporting (SLR をまたぐネッ トのレポート )

SLR Net Crossing Reporting は SSI デバイスに対してのみ生成され、 SLR の境界をまたぐモジュールに含まれるネッ トの数をレポート します。 各モジュールに対し、 ネッ トがまたぐ SLR の詳細情報が示されます。 次の図に、SLR Net Crossing Reporting の表の例を示します。

X-Ref Target - Figure 3-22

図 3‐22 : Placed Maximum Level Congestion Reporting の表の例

Page 108: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 108UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

SLR Net Crossing Reporting の表でデザインの密集およびタイ ミ ング QoR を解析する際は、 次を確認します。

° SSI デバイスを使用している場合は、配置の -directive オプシ ョ ンで SSI 用のモードを使用する と、 タイ ミ ングおよび密集に両方において有益です。

° 配置の -directive オプシ ョ ンのさまざまなモードを使用した複数のインプリ メンテーシ ョ ン run で SLR をまたぐ特定のモジュールに対してタイ ミ ング問題が発生する場合は、単純な Pblock を作成してモジュールを 1つの SLR に制約してみてください。

3. および 4. Placed Tile Based Congestion Metric (配置済みタイル ベースの密集メ ト リ クス) (Vertical および Horizontal)

Placed Tile Based Congestion Metric は、 密集が 大のものから 10 個の CLB タイルと、 それらの CLB タイルに配置されているセルを含むモジュールを示します。 図 3-24 および図 3-25 に、 Placed Tile Based Congestion Metric の垂直 (Vertical) 配線と水平 (Horizontal) 配線の例を示します。このデータは、 [Window] → [Metrics] をク リ ッ ク して[CLB Metrics] の下にある [Vertical/Horizontal routing congestion per CLB] をク リ ッ ク してグラフ ィカルに表示するこ と もできます。

X-Ref Target - Figure 3-23

図 3‐23 : SLR Net Crossing Reporting の表の例

X-Ref Target - Figure 3-24

図 3‐24 : Placed Tile Based Congestion Metric (Vertical) の例

Page 109: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 109UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

° [Tile Name] : 密集が発生している CLB タイルを示します。

° [RPMX/RPMY] : デバイスの CLB の RPM ロケーシ ョ ンを示します。

° [Congestion in Window] : CLB タイルを解する配線リ ソースの予測使用率を示します。 この値は 100% 以上になるこ とがあ り ます。

° [Cell Names] : 密集ウ ィンド ウに関連するセルを含む親インスタンスを、割合の大きいものから 3 つまで示します。

° [Placer Max Overlap?] : タイルが Placed Maximum 領域とオーバーラ ップしているかを示します。

5. Router Maximum Level Congestion Reporting (配線後の 大レベル密集レポート )

Router Maximum Level Congestion Reporting は、 配線が同じセッシ ョ ンで実行されている場合にのみ生成され、route_design ログ ファ イルの Congestion Report と似ています。

° [Direction] : 密集の方向を示します。

° [Size] : インターコネク トの密集のウ ィンド ウ サイズを示します。 Vivado IDE では、 インターコネク ト タイルは [Device] ウ ィンド ウで配線リ ソースを表示した場合にのみ表示されます。

X-Ref Target - Figure 3-25

図 3‐25 : Placed Tile Based Congestion Metric (Horizontal) の例

X-Ref Target - Figure 3-26

図 3‐26 : Router Maximum Level Congestion Reporting の表の例

Page 110: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 110UG906 (v2015.4) 2015 年 11 月 18 日

第 3 章 : インプリ メンテーシ ョ ン結果の解析機能

° [Congestion] : 定義されたウ ィンド ウで使用されている配線リ ソースの割合を示します。配線済みデザインでは、 この値は 100% 未満である必要があ り ます。

° [Congestion Window (BB)] : 密集ウ ィンド ウの境界インターコネク ト を示します。

ヒン ト : [Congestion Window] 列は、 テキス ト レポートのみに含まれます。 GUI レポートでは、密集ウ ィンド ウを選択する と、 [Device] ウ ィンド ウで密集エリ アがハイライ ト されます。

° [Cell Names] : 密集ウ ィンド ウに関連する階層セルを含む親インスタンスを、割合の大きいものから 3 つまで示します。

ヒン ト : GUI レポートでは、 ハイパーリ ンクになっているセル名をク リ ッ クする と、 密集ウ ィンド ウの対応する再開セルがハイライ ト されます。

° [LUT Usage] : ウ ィンド ウ内での LUT の使用率を示します。

° [Flop Usage] : ウ ィンド ウ内での FD (LD を含む) の使用率を示します。

° [Mux Usage] : ウ ィンド ウ内での MUXF の使用率を示します。

° [RAMB18 Usage] : ウ ィンド ウ内での RAMB18 の使用率を示します。

° [RAMB36 Usage] : ウ ィンド ウ内での RAMB36 の使用率を示します。

° [DSP Usage] : ウ ィンド ウ内での DSP の使用率を示します。

Router Maximum Level Congestion Reporting の表を解析する際は、 次を確認します。

° Window Size が 64x64 を超える場合は、 デザインでタイ ミ ングが満たされる可能性は低く、 配線でエラーが発生するこ とがあ り ます。

° Window Size が 16x16 または 32x32 で、 配線でレポート される密集と配置でレポート される密集が一致している場合は、 Placed Maximum Level Congestion Reporting の表で密集エリ アに配置されているモジュールを特定する必要があ り ます。それらのモジュールに対して密集を緩和する手法を適用するか、配置を -directive オプシ ョ ンで SpreadLogic* などの異なるモードを使用して再実行します。

° Window Size が 8x8 以下の場合は、 タイ ミ ング バジェッ トが非常に厳しい場合以外は、 密集が問題となることはあ り ません。

Page 111: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 111UG906 (v2015.4) 2015 年 11 月 18 日

第 4章

レポートおよびメ ッセージ 

概要Vivado® 統合設計環境 (IDE) では、 さまざまな処理の実行中のデザインまたはデザイン プロセスのステートに関する情報がレポートおよびメ ッセージと して表示されます。レポートは、デザイン フローの主要な段階でユーザーまたはツールによ り生成され、 デザインに関する特定の情報を示します。

メ ッセージは、デザイン プロセスの各段階または多くのユーザー操作に対して、ツールによ り自動的に生成されます。

メ ッセージおよびレポートは、 Vivado IDE の下部の [Messages] ウ ィ ンド ウおよび [Reports] ウ ィンド ウに表示されます。

次のいずれかのコマンドを実行する と、 新しいプロセスが開始します。

• [Run Synthesis]

• [Run Implementation]

• launch_runs (Tcl)

Tcl コマン ドの詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァ レンス ガイ ド』 (UG835) [参照 3] を参照するか、「<command> -help」 と入力してください。

プロセスによ り メ ッセージおよびレポートが生成され、 run を リセッ トするまでディ スクに保持されます。 プロジェク トが開いている場合、 run に関連する メ ッセージが表示されます。 [Messages] ウ ィンド ウには、アクティブ run に関する メ ッセージのみが表示されます。

レポートは、 Vivado IDE でのさまざまな操作によ り生成されます。

• デザインを読み込むと、 [Tools] メニューのコマンドを使用して異なるレポート を生成できるよ うになり ます。

• 合成またはインプ リ メンテーシ ョ ンを実行する と、合成レポート またはインプリ メンテーシ ョ ン レポートが生成されます。

Page 112: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 112UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

IDE でのメ ッセージの表示および管理メ ッセージは、デザインの特定のエレ メン トに関するステータス情報、 またはツール処理中に発生したエラーを示します。

ヒン ト : メ ッセージを確認し、 デザインに困難な部分や問題が発生している箇所がないかど うかを判断します。

[Reports] ウィンドウの使用

[Reports] ウ ィンド ウには、 アクティブな合成またはインプ リ メ ンテーシ ョ ン run に関するレポートが表示されます。レポート をダブルク リ ッ クする と、 テキス ト エディ ターで開きます。 [Run Properties] ウ ィ ンド ウの [Reports] ビューから、 [Design Runs] ウ ィンド ウで選択している run のレポート を表示できます。

 

[Messages] ウィンドウの使用

メ ッセージには、 次の 2 種類があ り ます。

• ディ スクに保存される メ ッセージ

• メモ リに保存される メ ッセージ

[Messages] ウ ィンド ウでは、 メ ッセージが生成された操作ごとにメ ッセージがグループ化されます。

このウ ィンド ウのツールバーのコマンド ボタンを使用して、 メ ッセージ ID またはファイルでメ ッセージをグループ化できます。

 

一部のメ ッセージにはファイルまたはデザイン エレ メン トへのハイパーリ ンクが含まれており、デバッグに役立ちます。 リ ンクをク リ ッ ク してソースを表示します。

ヒン ト : ポップアップ メニューから [Copy Message] をク リ ッ クする と、メ ッセージ全体をコピーして別のウ ィンド ウまたは文書に貼り付けるこ とができます。

X-Ref Target - Figure 4-1

図 4‐1 : [Reports] ウィンドウ

X-Ref Target - Figure 4-2

図 4‐2 : [Messages] ウィンドウ

Page 113: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 113UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

各メ ッセージには、 メ ッセージ ID と メ ッセージの重要度が付けられています。

• メ ッセージ ID

メ ッセージ ID は異なる メ ッセージを識別する もので、 メ ッセージをグループ化または並べ替えできるよ うになっています。

• メ ッセージの重要度

メ ッセージの重要度は、 示されている情報の特性を示します。

デザインをエラボレート、 合成、 またはインプ リ メ ン トする前に解決しておく必要がある メ ッセージもあ り ますが、情報のみのメ ッセージもあ り ます。 情報メ ッセージは、 デザインまたはプロセスの詳細を示しますが、 それに対する操作は必要あ り ません。

表 4‐1 : メ ッセージの重要度

推奨 : アクテ ィブ合成およびインプ リ メ ンテーシ ョ ン run からデザインを メモ リに読み込んだと きに、 すべてのエラーおよびク リ ティカル警告を確認して ください。 メ ッセージには、 注意が必要な問題に関する情報が示されます。メ ッセージには解決策を示す長い説明が含まれているものもあ り、 メ ッセージ ID をク リ ッ クする と表示できます。

図 4-3 の例を参照して ください。 この例では、プライマ リ ク ロ ッ ク制約がデザインにないポート を参照しているため( 初の警告) 作成されず ( 初のク リティカル警告)、 このクロ ッ クを参照する制約も作成されないこ とを示しています。

アイコン 重要度 メ ッセージ

ステータス デザイン プロセスに関する一般的なステータスを示します。

情報 デザイン プロセスに関する一般的なステータスおよびフ ィードバッ クを示します。

警告 制約または仕様が意図どおりに適用されていないために、 適なデザイン結果にならない可能性を示します。

ク リ テ ィ カル警告

ユーザー入力または制約に、 適用されなかった り、 適切な方法に従っていないものがあ り、 フローの後の方でエラーが発生する可能性が高いこ とを示します。 ソースおよび制約を確認して、 変更を加えるこ とを強くお勧めします。

エラー デザイン結果が使用できない状態になり、 ユーザーが対処しないと回避されない問題を示します。 デザイン フローは停止します。

X-Ref Target - Figure 4-3

図 4‐3 : エラーおよびクリテ ィ カル警告の確認

Page 114: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 114UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

メ ッセージのフ ィルター処理

メ ッセージを重要度でフ ィルターできます。

特定のメ ッセージ タイプを表示または非表示にするには、 次の手順に従います。

1. [Messages] ウ ィンド ウに移動します。

2. ウ ィンド ウの上部にある メ ッセージの重要度のチェッ ク ボッ クスをオン (表示) またはオフ (非表示) にします。

特定のメ ッセージ ID の重要度を変更できます。 ク リ ティカルでないと思われる メ ッセージの重要度を下げたり、 より注意が必要と思われる メ ッセージの重要度を上げたりするこ とができます。

メ ッセージの重要度を変更するには、 set_msg_config Tcl コマンドを使用します。 次に例を示します。

set_msg_config -id "[Common 17-81]" -new_severity "CRITICAL WARNING"

set_msg_config の詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァレンス ガイ ド』 (UG835) [参照 3] のこのセクシ ョ ンを参照してください。

Vivado で生成されるレポートおよびメ ッセージこのセクシ ョ ンでは、 Vivado で生成されるレポートおよびメ ッセージについて説明します。 次の内容が含まれます。

• 「合成のレポートおよびメ ッセージ」

• 「インプ リ メンテーシ ョ ン ログ」

• 「WebTalk レポート 」

合成のレポートおよびメ ッセージ

Vivado 合成レポートは Vivado 合成の主な出力で、 次の情報を含みます。

• 処理されたファイル

° VHDL

° Verilog

° SystemVerilog

° XDC

• セルごとのパラ メーター設定

• ド ラ イバーが複数あるネッ ト

• 駆動されていない階層ピン

• 適化情報

• ブラ ッ ク ボッ クス

• 終的なプリ ミ ティブ数

• 階層ごとのセルの使用量

• ランタイムおよびメモ リ使用量

Page 115: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 115UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

重要 : このレポート または [Messages] ウ ィンド ウでエラー、 ク リ ティカル警告、 および警告を確認してください。 合成では、 フローの後の方で深刻となる可能性のある問題に対して、 ク リ ティカル警告または警告が生成されるこ とがあ り ます。

インプリ メンテーシ ョ ン  ログ

Vivado インプリ メンテーシ ョ ン ログには、 次の情報が含まれます。

• 場所、 ネッ ト リ ス ト 、 および使用された制約に関する情報

• ロジッ ク 適化タスク。小型で高速なネッ ト リ ス トが生成するため、デフォルトでロジッ ク 適化ルーチンが実行されます。

• 配置フェーズおよび配置後のタイ ミ ング予測 (WNS および TNS のみ)

• 配線フェーズおよび複数のタイ ミ ング予測と配線後の予測タイ ミ ング サマリ (WNS、 TNS、 WHS、 および THSのみ)

• 各インプ リ メンテーシ ョ ン コマンドおよびフェーズの経過時間と メモ リ

このレポート または [Messages] ウ ィンド ウでエラー、 ク リ ティカル警告、および警告を確認してください。配置で生成された警告が、 フローの後の方でエラーとなる場合があ り ます。 個々の段階をそれぞれ実行した場合は、 後に実行した段階の結果のみが含まれます。

重要 : タイ ミ ング サマリ レポートで、 パルス幅タイ ミ ング サマ リおよびタイ ミ ング違反や不足している制約に関する情報を確認してください。

WebTalk レポート

WebTalk レポートは、 ビッ ト ス ト リーム生成中に生成されます。 このレポートは、 ユーザーのザイ リ ンクス デバイスの使用に関する情報を収集します。 この情報は、ザイ リ ンクスでよ り よいツールを提供するために使用させていただきます。 機密情報は収集されません。 詳細は、 次のウェブサイ ト を参照してください。

http://japan.xilinx.com/webtalk/

デザインに関するレポートの作成このセクシ ョ ンでは、 デザインに関するレポートの作成について説明します。 次の内容が含まれます。

• 「 リ ソース使用率レポート 」

• 「I/O レポート 」

• 「ク ロ ッ ク使用量レポート 」

• 「制御セッ ト レポート 」

• 「DRC レポート 」

• 「配線ステータス レポート 」

• 「ノ イズ レポート 」

• 「消費電力レポート 」

リソース使用率レポートリ ソース使用率レポート (Utilization Report) は、 フローのさまざまな段階で report_utilization コマンドを使用して生成できます。 この Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参

Page 116: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 116UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

照 3] を参照してください。 7 シ リーズ デザインでは、 このレポートに run に使用されたデバイス と、次のエレ メン トの使用率が表示されます (各カテゴ リに追加の項目が表示される場合もあ り )。

• スライス ロジッ ク

° LUT

° MuxFx

° レジスタ

• メモ リ

° ブロ ッ ク RAM

° FIFO

• DSP

• I/O リ ソース

• ク ロ ッ ク リ ソース

° BUFGCTRL

° BUFR

° BUFHCE

° MMCME2_ADV

° PLLE2_ADV

• 特定のデバイス リ ソース

° STARTUPE2

° XADC

• 使用数順に並べられたプリ ミ ティブ タイプの数

• ブラ ッ ク ボッ クス

• インスタンシエート されたネッ ト リ ス ト

Tcl コンソールから実行する場合、 -cells オプシ ョ ンを使用して特定の階層セルの使用率をレポー ト できます。Vivado IDE GUI から実行した場合、 この情報は表で示されます。

ロジッ ク 適化コマンドでネッ ト リ ス トが変更されるこ とがあるので、 これらの値はフローの段階によって異なる場合があ り ます。

Page 117: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 117UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

I/O レポート

I/O レポート (IO Report) は、 ISE® Design Suite の PAD レポートに置き換わるものです。 I/O レポートには、 次の情報がリ ス ト されます。

• Pin Number : デバイスに含まれるすべてのピンの番号

• Signal Name : ピンに割り当てられたユーザー I/O 名

• Bank Type : I/O が配置されているバンクのタイプ (High Range、 High Performance、 Dedicated など)

• Pin Name : ピンの名前

• Use : I/O の使用タイプ (入力、 出力、 電源/グランド、 未接続など)

• IO Standard : ユーザー I/O の I/O 規格

アスタ リ スク (*) はデフォルト を示します。 これは、 Vivado IDE の [I/O Ports] ウ ィンド ウ とは異なり ます。

• IO Bank : ピンが配置されている I/O バンク

• Drive (mA) : 駆動電流 (mA)

• Slew : バッファーのスルー レート (FAST または SLOW)

• Termination : オンチップおよびオフチップの終端設定

• Voltage : VCCO、 VCCAUX、 および関連のピンの値

• Constraint : ピンがユーザーによ り制約されている場合は 「FIXED」 と表示

• Signal Integrity : ピンのシグナル インテグ リティ

クロック使用量レポート

ク ロ ッ ク使用量レポート (Clock Utilization Report) は、 デバイス内のク ロ ッ ク リ ソースの使用状況を解析するのに役立ちます。クロ ッ クの配置問題をデバッグする際に有益です。クロ ッ ク使用量レポートには、次の情報が含まれます。

• 使用可能、 使用済み、 および制約されているクロ ッ ク プリ ミ ティブ数

• BUFG ごとのロードおよびスキュー

大遅延およびスキューが大きいネッ ト を確認します。

• MMCM ごとのロードおよびスキュー

ロード数が予測以上、 大遅延が大きい、 およびスキュー大きいのネッ ト を確認します。

リージ ョナル クロック

リージ ョナル ク ロ ッ ク ネッ ト ワークは、 グローバル ク ロ ッ ク ネッ ト ワークからは独立しています。 グローバル クロ ッ ク とは異な り、 リージ ョナル ク ロ ッ ク信号 (BUFR) の範囲は 1 つのクロ ッ ク領域内に制限されます。 1 つの I/Oク ロ ッ ク信号が 1 つのバンクを駆動します。

これらのネッ ト ワークは、ソース同期インターフェイス デザインで特に有益です。ザイ リ ンクス 7 シ リーズ FPGA のI/O バンクのサイズは、 ク ロ ッ ク領域のサイズと同じです。

ローカル クロック

汎用配線リ ソースに配線されるクロ ッ ク ネッ ト ワークです。

推奨 : ローカル ク ロ ッ クの使用はできる限り避けてください。 ク ロ ッ ク スキューが大き くな り、 PVT の変動に影響

されやすくなり ます。 インプリ メンテーシ ョ ンを実行するたびに、 クロ ッ クの配線が異なるものになる可能性があ り

ます。

Page 118: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 118UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

ク ロ ッ ク使用量レポートの [Locked] 列には、 ク ロ ッ クの配置が固定されているか、 ク ロ ッ ク リ ソースの配置に制限がないかが示されます。

グローバル ク ロ ッ ク数が多すぎる場合、 ファンアウ ト の小さいク ロ ッ クを BUFH または BUFR などのク ロ ッ ク リソースに移動するこ とを考慮してください。

制御セッ ト  レポート

制御セッ ト とは、 ク ロ ッ ク信号、 ク ロ ッ ク イネーブル信号、 およびセッ ト / リ セッ ト信号の組み合わせです。 各スライスでは 1 つの制御セッ トがサポート され、 スラ イス内のすべてのフ リ ップフロ ップで使用できます。 異なる制御セッ トのフ リ ップフロ ップを同じスライスに配置するこ とはできません。

制御セッ ト レポート (Control Sets Report) には、デザインに含まれる固有の制御セッ ト数 (Number of unique control sets)と、 デザインの配置に基づく制御セッ ト の配置制限によ り使用できな くなったレジスタ サイ ト の 小数 (MinimumNumber of register sites lost to control set restrictions) が表示されます。

• Clock Signal : 論理クロ ッ ク信号名

• Enable Signal : 論理クロ ッ ク イネーブル信号名

• Set/Reset Signal : 論理セッ ト / リセッ ト信号名

• Slice Load Count : 制御セッ トに接続されているセルに含まれるスライス数

• Bel Load Count : 制御セッ トに接続されているセルの数

DRC レポート  

DRC レポート (DRC Report) は配線によ り生成されます。 配線実行の前に、 一般的なデザインの問題がチェッ ク されます。 レポートには、 run で使用されたチェッ クが リ ス ト されます。

重要 : ク リ ティカル警告メ ッセージを確認してください。 特定のチェッ クの重要度が、 フローの後の方で上がる可能性があ り ます。

[Report DRC] を使用する と、 一般的なデザインの問題およびエラーを確認するデザイン ルール チェッ クが実行されます。

エラボレート済みデザイン

I/O、 ク ロ ッ ク配置、 HDL コードの問題、 XDC 制約に関する DRC が実行されます。 RTL ネッ ト リ ス トには、 I/O バッファー、 ク ロ ッ ク バッファー、および合成済みデザインには含まれるその他のプリ ミ ティブがすべて含まれているわけではあ り ません。エラボレート済みデザインの DRC では、その後の DRC ほど多くのエラーはチェッ ク されません。

合成済みデザインおよびインプリ メン ト済みデザイン

• 合成済みネッ ト リ ス トに関する DRC が実行されます。

• I/O、 BUFG、 およびその他の配置がチェッ ク されます。

• MGT、 IODELAY などのプリ ミ ティブの配線に関する属性の基本的なチェッ クが実行されます。

• 同じ DRC が使用可能な配置配線を考慮して実行されます。

• DRC では、 情報、 警告、 ク リ ティカル警告、 およびエラーの 4 つの重要度が使用されます。 この時点では、 クリ ティカル警告およびエラーでデザイン フローが停止するこ とはあ り ません。

インプリ メンテーシ ョ ンの段階でも DRC が実行されますが、 ク リ ティカルなポイン トでフローが停止するこ とがあり ます。配置配線で配置の妨げとなる問題がチェッ ク されます。特定のメ ッセージの重要度がフローの段階によって低い場合があ り ます。 重要度が低い場合、 opt_design、 place_design、 route_design が停止するこ とはあ りませんが、 ボード上で問題が発生する可能性があ り ます。

Page 119: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 119UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

たとえば、 ユーザーによ りすべてのデザイン ポートのパッケージ ピン ロケーシ ョ ンおよび I/O 規格が手動で指定されているかをチェッ クする DRC があ り ます。不足している制約がある場合、place_design および route_designではク リティカル警告が表示されますが、 これらの DRC 違反は write_bitstream ではエラーとな り ます。 これらの制約がない状態ではデバイスはプログラムできません。

フローの初期段階で重要度を低く しているのは、 終的なピン配置が決定される前にデザインをインプ リ メ ンテーシ ョ ンまで実行できるよ うにするためです。 包括的な DRC サインオフを実行するには、 ビッ ト ス ト リームを生成する必要があ り ます。

図 4-4 に、 DRC レポート を表示する [DRC] ウ ィンド ウを示します。

DRC をク リ ッ クする と、 [Violation Properties] ウ ィンド ウにメ ッセージの詳細が表示されます。 [Detailed] ビューをクリ ッ ク して詳細を確認してください。 多くのメ ッセージには、 ネッ ト 、 セル、 およびポートへのハイパーリ ンクが含まれています。

DRC レポートは、デザインを変更したと きにダイナミ ッ クに変化しません。デザインを変更したら、 [Rerpot DRC] を再実行する必要があ り ます。 オブジェ ク ト を削除または移動した場合などの操作によ り リ ンクが無効になる場合、ツールでそれが判断されリ ンクが使用できなくな り ます。

リ ンクをク リ ッ クする とオブジェク トが選択されますが、 [Properties] ウ ィンド ウは更新されません。 オブジェク トのプロパティを表示するには、 オブジェク トの選択を一度解除してから選択し直してください。

Tcl で DRC レポート を作成するには、 report_drc コマンドを実行します。

X-Ref Target - Figure 4-4

図 4‐4 : DRC レポート

X-Ref Target - Figure 4-5

図 4‐5 : [Violation Properties] ウィンドウ 

Page 120: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 120UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

結果をファイルに記述するには、 report_drc -file myDRCs.txt コマンドを実行します。

ヒン ト : report_drc コマンドの詳細は、 「report_drc -help」 と入力して ください。

配線ステータス レポート

配線ステータス レポート (Route Status Report) は、 インプリ メンテーシ ョ ン中に生成され、 report_route_statusTcl コマンドを使用して生成できます。

配線ステータス レポートには、 デザインのネッ トに関する次の情報が含まれます。

• デザインに含まれる論理ネッ トの総数

° 配線リ ソースが不要なネッ トの数

- タイル外の配線リ ソースを使用しないネッ トの数(CLB、 ブロ ッ ク RAM、 I/O パッ ドなど)

- ロードのないネッ トの数

° 配線リ ソースを不要とする配線可能なネッ トの数

- 未配線ネッ トの数

- 完全に配線されたネッ トの数

° 配線エラーのあるネッ トの数

- 未配線のピンがあるネッ トの数

- アンテナ/アイランドがあるネッ トの数

- リ ソースの競合があるネッ トの数

次に、 配線済みデザインの配線ステータス レポートの例を示します。

Design Route Status :# nets : ------------------------------------------- :----------- : # of logical nets..........................:6137 : # of nets not needing routing..........:993 : # of internally routed nets........:993 : # of routable nets.....................:5144 : # of fully routed nets.............:5144 : # of nets with routing errors..........:0 : ------------------------------------------- :----------- :

Page 121: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 121UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

ノ イズ レポート

[Report Noise] コマンドは、7 シ リーズ デバイスの同時スイ ッチ ノ イズ (SSN) 解析を実行します。デフォルトでは、 ノイズ レポートは Vivado IDE の下部の [Noise] ウ ィンド ウに表示されます。 結果は CSV または HTML ファ イルにエクスポートできます。

ノ イズ レポートには、 次の 4 つのセクシ ョ ンがあ り ます。

• 「[Summary] セクシ ョ ン」

• 「[Messages] セクシ ョ ン」

• 「[I/O Bank Details] セクシ ョ ン」

• 「[Links] セクシ ョ ン」

[Summary] セクシ ョ ン

次の情報を示します。

• レポートが生成された日時

• 解析されたポート数とその割合

• ステータス (問題が検出されたかど うか)

• ク リ ティカル警告、 警告、 および情報メ ッセージの数

[Messages] セクシ ョ ン

レポートの作成中に生成されたメ ッセージを示します。

[I/O Bank Details] セクシ ョ ン

ピン、 I/O 規格、 ノ イズ マージン値の残りなどの情報を示します。

X-Ref Target - Figure 4-6

図 4‐6 : [Report Noise] ダイアログ ボックス

Page 122: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 122UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

[Links] セクシ ョ ン  

http://japan.xilinx.com/support 上の関連資料へのリ ンクを示します。

HTML 形式のレポート を生成するには、 [Report Noise] ダイアログ ボッ クスでオプシ ョ ンを選択するか、 次の Tcl コマンドを使用します。

report_ssn -format html -file myImplementedDesignSSN.html

消費電力レポート  

消費電力レポート (Power Report) は配線後に生成され、デバイスの現在の動作条件とデザインのスイ ッチング レートに基づく消費電力の詳細をレポート します。消費電力解析には、合成済みネッ ト リ ス ト または配置配線済みデザインが必要です。

• 動作条件を設定するには、 set_operating_conditions コマンドを使用します。

• スイ ッチング アクティビティを設定するには、 set_switching_activity コマンドを使用します。

[Report Power] コマンドは、合成済みデザインまたはインプリ メン ト済みデザインを開いている と きに実行できます。

このレポートでは、 次のよ うなデザイン入力に基づいて消費電力が予測されます。

• ジャンクシ ョ ン温度、 周囲温度などの温度値

注記 : set_operating_condition コマンドの -junction_temp オプシ ョ ンを使用する と、 ジャンクシ ョ ン温度を設定できます。 温度を指定しない場合は、 ツールによ りデザイン入力に基づいて算出されます。

• ボード層の数、 ボードの温度など、 選択したボードに関するデータ

• デザインで使用されるエアフローおよびヒート シンク プロファイルのデータ

• 各種電源の FPGA デバイス電流要件のレポート

• 消費電力の分配を詳細に解析するこ とによ り、 ダイナミ ッ ク消費電力、 温度による消費電力の変動、 またはオフチップ消費電力を削減する消費電力節約ス ト ラテジを特定

• シ ミ ュレーシ ョ ン アクティビティ ファ イルを使用してよ り正確な消費電力予測が可能

X-Ref Target - Figure 4-7

図 4‐7 : ノ イズ レポート

Page 123: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 123UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

消費電力レポートの解析

[Report Power] ダイアログ ボッ クス (123 ページの図 4-8) を使用し、 次のものに基づいて消費電力を解析します。

• 設定

• 消費電力の合計

• 階層

• 電圧レール

• ブロ ッ ク タイプ

X-Ref Target - Figure 4-8

図 4‐8 : [Report Power] ダイアログ ボックス

Page 124: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 124UG906 (v2015.4) 2015 年 11 月 18 日

第 4 章 : レポートおよびメ ッセージ

消費電力レポート と結果の解析の詳細は、『Vivado Design Suite ユーザー ガイ ド : 消費電力解析と 適化』 (UG907) [参照 3] を参照してください。

デフォルトでは、 インプ リ メンテーシ ョ ン プロセスの配線後にテキス ト形式の消費電力レポートが生成されます。

非プロジェク ト  モードでの消費電力レポートの生成

非プロジェク ト モードでは、 link_design または synth_design コマンドを実行した後に report_power コマンドを使用して消費電力レポート を生成できます。使用可能な配置配線情報を使用して、 よ り正確な消費電力予測値が示されます。 Tcl コンソールまたはスク リプ トでこのレポート を生成するには、 report_power コマンドを使用します。

X-Ref Target - Figure 4-9

図 4‐9 :消費電力レポート

Page 125: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 125UG906 (v2015.4) 2015 年 11 月 18 日

第 5章

タイ ミング解析の実行

タイ ミング解析の概要Vivado® 統合設計環境 (IDE) には、 レポート を生成するコマンドが複数あ り、 デザインがタイ ミ ング制約を満たしており、 アプ リ ケーシ ョ ン ボードに読み込む準備ができたかを確認できます。 タイ ミ ング サマリ レポートはタイ ミ ング サインオフ レポートであ り、 ISE® Design Suite の TRCE レポートに相当します。 すべてのタイ ミ ング チェッ クの概要が示され、 タ イ ミ ング問題の解析およびデバッグを開始するのに十分な情報が提供されます。 詳細は、 第 1 章「IDE を使用したロジッ ク解析」 を参照してください。

このレポートは、 ウ ィ ンド ウに表示するか、 ファ イルに保存するか、 ログ ファ イルに出力できます。 タイ ミ ング サマ リ レポートでタイ ミ ングが満たされていない、不足している制約があるなどの結果が示された場合、レポートのさまざまなセクシ ョ ンに示される詳細を確認して、 よ り詳細な解析を実行します。ほかのタイ ミ ング レポートでは、特定の状況または特定のロジッ クに対するよ り詳細な情報が提供されます。

デザインにタイ ミ ング制約を追加する前に、 タイ ミ ング解析の基本と用語を理解しておく必要があ り ます。 この章では、 Vivado 統合設計環境 (IDE) のタイ ミ ング エンジンで使用される主要な概念を説明します。

用語

• ソース エッジ : データを送信するソース ク ロ ッ クのアクティブ エッジ

• デスティネーシ ョ ン エッジ : データを受信するデスティネーシ ョ ン ク ロ ッ クのアクティブ エッジ

• セッ ト アップ要件 : も厳しいセッ ト アップ制約を定義するソース エッジとデスティネーシ ョ ン エッジの関係

• セッ ト アップ関係 : タイ ミ ング解析ツールで検証されるセッ ト アップ チェッ ク

• ホールド要件 : も厳しいホールド制約を定義するソース エッジとデスティネーシ ョ ン エッジの関係

• ホールド関係 : タイ ミ ング解析ツールで検証されるホールド チェッ ク

タイ ミング パス

タイ ミ ング パスは、 デザインのインスタンス間の接続に基づいて定義されます。 デジタル デザインでは、 タイ ミ ング パスは同じ クロ ッ クまたは異なるクロ ッ クで制御される順次エレ メン トのペアで形成されます。

一般的なタイ ミング パス

デザインに含まれる も一般的なパスは、 次のとおりです。

• 「入力ポートから内部シーケンシャル セルまでのパス」

• 「シーケンシャル セル間の内部パス」

• 「内部シーケンシャル セルから出力ポート までのパス」

• 「入力ポートから出力ポート までのパス」

Page 126: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 126UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

入力ポートから内部シーケンシャル セルまでのパス

入力ポートから内部シーケンシャル セルまでのパスでは、 データが次のよ うに伝搬されます。

• デバイスの外部からボード上のクロ ッ クによ り入力されます。

• 入力遅延 (SDC 定義) 後にデバイス ポートに到達します。

• デバイスの内部ロジッ クを介して、 デスティネーシ ョ ン ク ロ ッ クが供給されるシーケンシャル セルに到達します。

シーケンシャル セル間の内部パス

シーケンシャル セル間の内部パスでは、 データが次のよ うに伝搬されます。

• デバイス内でソース ク ロ ッ クが供給されるシーケンシャル セルから駆動されます。

• 内部ロジッ クを介して、 デスティネーシ ョ ン ク ロ ッ クが供給されるシーケンシャル セルに到達します。

内部シーケンシャル セルから出力ポートまでのパス

内部シーケンシャル セルから出力ポート までのパスでは、 データが次のよ うに伝搬されます。

• デバイス内でソース ク ロ ッ クが供給されるシーケンシャル セルから駆動されます。

• 内部ロジッ クを介して出力ポートに到達します。

• 出力遅延 (SDC 定義) 後にボード上のクロ ッ クによ り受信されます。

入力ポートから出力ポートまでのパス

入力ポートから出力ポート までのパスでは、 データはデバイス上をラ ッチされずに伝搬されます。 これらのパスは、in-to-out パスと も呼ばれます。入力および出力遅延基準クロ ッ ク と しては、仮想クロ ッ クまたはデザイン ク ロ ッ クを使用できます。

タイ ミング パスの例

図 5-1 に、 前述のパスを示します。 この例では、 デザイン ク ロ ッ ク CLK0 を DIN および DOUT 遅延制約のボード クロ ッ ク と して使用できます。

X-Ref Target - Figure 5-1

図 5‐1 : タイ ミング パスの例

Page 127: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 127UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

タイ ミング パスのセクシ ョ ン

各タイ ミ ング パスは、 次の 3 つのセクシ ョ ンから構成されます。

• 「ソース ク ロ ッ ク パス」

• 「データ パス」

• 「デスティネーシ ョ ン ク ロ ッ ク パス」

ソース クロック  パス

ソース ク ロ ッ ク パスは、 ソース ク ロ ッ クがソース ポイン ト (通常は入力ポート ) からソース シーケンシャル セルのクロ ッ ク ピンまで伝搬されるパスです。入力ポートから開始するタイ ミ ング パスには、 ソース ク ロ ッ ク パスはあ りません。

データ  パス

データ パスは、 パスの開始点とパスの終点の間で、 データが伝搬されるタイ ミ ング パスの部分です。 パスの開始点はシーケンシャル セルのクロ ッ ク ピンまたはデータ入力ポートで、 パスの終点はシーケンシャル セルのデータ入力ピンまたはデータ出力ポートです。

デスティネーシ ョ ン クロック  パス

デスティネーシ ョ ン ク ロ ッ ク パスは、デスティネーシ ョ ン ク ロ ッ クがソース ポイン ト (通常は入力ポート ) からデスティネーシ ョ ン シーケンシャル セルのクロ ッ ク ピンまで伝搬されるパスです。出力ポートで終了するタイ ミ ング パスには、 デスティネーシ ョ ン ク ロ ッ ク パスはあ り ません。 図 5-2 に、 典型的なタイ ミ ング パスのこれら 3 つのセクシ ョ ンを示します。

ソース エッジおよびデステ ィネーシ ョ ン  エッジ

データは、 シーケンシャル セルまたはポート間を次のよ うに転送されます。

• ソース ク ロ ッ クのエッジの 1 つ (ソース エッジ) で送信されます。

• デスティネーシ ョ ン ク ロ ッ クのエッジの 1 つ (デスティネーシ ョ ン エッジ) で受信されます。

典型的なタイ ミ ング パスでは、 データは 1 ク ロ ッ ク周期の間に 2 つのシーケンシャル セル間を転送されます。 その場合、 ソース エッジは 0ns、 デスティネーシ ョ ン エッジは 1 周期後になり ます。

次のセクシ ョ ンに、 ソース エッジおよびデスティネーシ ョ ン エッジによ り タイ ミ ング解析用にセッ ト アップ関係とホールド関係を定義する方法を説明します。

X-Ref Target - Figure 5-2

図 5‐2 :典型的なタイ ミング パス

Page 128: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 128UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

タイ ミ ング解析の基礎の理解

大および 小遅延解析

タイ ミ ング解析は、デザインがハード ウェアに読み込まれ、実行されたと きのタイ ミ ング動作が予測されたものになるこ とをスタティ ッ クに検証します。さまざまな製造および環境の変動が考慮され、それらがタイ ミ ング コーナーおよびコーナー変動でグループ化された遅延モデルにまとめられています。推奨されるすべてのコーナーに対してタイミ ングを解析し、各コーナーに対して も見積も りの悪い条件ですべてのチェッ クを実行すれば十分です。たとえば、ザイ リ ンクス FPGA デバイスをターゲッ ト とするデザインでは、 次の 4 つの解析を実行する必要があ り ます。

• スロー コーナーでの 大遅延解析

• スロー コーナーでの 小遅延解析

• ファース ト コーナーでの 大遅延解析

• ファース ト コーナーでの 小遅延解析

実行したチェッ クによって、 も見積も りの悪い状況を表す遅延が使用されます。 この理由から、 次のチェッ ク と遅延タイプは常に関連付けられています。

• 「セッ ト アップおよびリ カバリ チェッ ク と 大遅延」

• 「ホールドおよびリ ムーバル チェッ ク と 小遅延」

セッ トアップおよびリカバリ  チェ ックと 大遅延

• ソース ク ロ ッ ク パスとデータ / リセッ ト パスの累積遅延には、 指定のコーナーの 低速遅延が使用されます。

• デスティネーシ ョ ン ク ロ ッ ク パスの累積遅延には、 同じコーナーの 高速遅延が使用されます。

ホールドおよびリムーバル チェ ックと 小遅延

• ソース ク ロ ッ ク パスとデータ / リセッ ト パスの累積遅延には、 指定のコーナーの 高速遅延が使用されます。

• デスティネーシ ョ ン ク ロ ッ ク パスの累積遅延には、 同じコーナーの 低速遅延が使用されます。

マップするコーナーによって、 これらのチェッ クは次のものになり ます。

• 「セッ ト アップ/ リ カバリ ( 大遅延解析)」

• 「ホールド / リ ムーバル ( 小遅延解析)」

セッ トアップ/リカバリ  ( 大遅延解析)

• ソース ク ロ ッ ク (Slow_max)、 データパス (Slow_max)、 デスティネーシ ョ ン ク ロ ッ ク (Slow_min)

• ソース ク ロ ッ ク (Fast_max)、 データパス (Fast_max)、 デスティネーシ ョ ン ク ロ ッ ク (Fast_min)

ホールド /リムーバル ( 小遅延解析)

• ソース ク ロ ッ ク (Slow_min)、 データパス (Slow_min)、 デスティネーシ ョ ン ク ロ ッ ク (Slow_max)

• ソース ク ロ ッ ク (Fast_min)、 データパス (Fast_min)、 デスティネーシ ョ ン ク ロ ッ ク (Fast_max)

スラ ッ クの算出では、 同じパス上で異なるコーナーからの遅延が混合されるこ とはあ り ません。

多くの場合、 セッ ト アップまたはリ カバリ違反はスロー コーナー遅延で発生し、 ホールドまたはリ ムーバル違反はファース ト コーナー遅延で発生します。 ただし、特に I/O タイ ミ ングでは常にこのよ うになるわけではないので、両方のコーナーで両方の解析を実行するこ とをお勧めします。

Page 129: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 129UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

セッ トアップ/リカバリ関係

セッ ト アップ チェッ クは、2 つのクロ ッ ク間のワース ト セッ ト アップ関係に対してのみ実行されます。デフォルトでは、 これはソース エッジとデスティネーシ ョ ン エッジの 小の正の差に対応します。 たとえば、 異なるク ロ ッ クの立ち上がりエッジで動作する 2 つのフ リ ップフロ ップの間のパスを考えてみます。 このパスのソース エッジとデスティネーシ ョ ン エッジは、 ク ロ ッ クの立ち上がりエッジのみです。

クロ ッ クは次のよ うに定義されます。

• clk0 : 周期 6ns、 初の立ち上がりエッジ 0ns、 初の立下りエッジ 3ns

• clk1 : 周期 4ns、 初の立ち上がりエッジ 0ns、 初の立下りエッジ 2ns

図 5-3 に示すよ うに、 2 つのセッ ト アップ関係 Setup(1) と Setup(2) があ り ます。

clk0 から clk1 までの 小の正の差は 2ns で、 これは Setup(2) に対応します。 共通周期は 12ns で、 2 つのクロ ッ クの 2 つの同時アライ メン ト間の時間に対応します。

ヒン ト : ク ロ ッ ク関係は、ク ロ ッ ク ルートからフ リ ップフロ ップのクロ ッ ク ピンまでの挿入遅延を適用する前の理想的なクロ ッ ク波形を使用して確立されます。

重要 : 両方のクロ ッ クの 1,000 サイ クルの間に共通周期が見つからない場合は、これらの 1000 サイクルにおける 悪のセッ ト アップ関係がタイ ミ ング解析に使用されます。 これら 2 つのクロ ッ クは、共通周期のないクロ ッ ク と呼ばれます。 解析は、 ワース ト状況に対応しないと考えられます。 これらのク ロ ッ ク間のパスを確認し、 その有効性を評価し、 非同期パスと して処理できるかど うかを判断する必要があ り ます。

パス要件がわかったら、 スラ ッ クの算出にパス遅延、 クロ ッ クのばらつき、およびセッ ト アップ タイムが追加されます。 一般的なスラ ッ クの式は、 次のとおりです。

これらの式が示すよ うに、 所要時間の前にデータが到着する と、 セッ ト アップ スラ ッ クが正になり ます。

X-Ref Target - Figure 5-3

図 5‐3 : セッ トアップ関係

データ所要時間 (セッ ト アップ) = デスティネーシ ョ ン エッジ時間

+ デスティネーシ ョ ン ク ロ ッ ク パス遅延

- ク ロ ッ クのばらつき

- セッ ト アップ タイム

データ到着時間 (セッ ト アップ) = ソース エッジ時間

+ ソース ク ロ ッ ク パス遅延

+ データパス遅延

スラ ッ ク (セッ ト アップ) = データ所要時間 – データ到着時間

Page 130: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 130UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

リ カバリ チェッ クはセッ ト アップ チェッ ク と似ていますが、プリセッ トやク リ アなどの非同期ピンに適用されます。関係はセッ ト アップと同様に確立され、 スラ ッ クの式もセッ ト アップ タイムの代わりに リ カバリ タイムが使用されるこ とを除けば同じです。

ホールド /リムーバル関係

ホールド チェッ ク (ホールド関係) は、 セッ ト アップ関係と直接関連しています。 セッ ト アップ解析は、 も見積もりの悪い条件でもデータが正し く受信されるかど うかを検証しますが、 ホールド関係では次を検証します。

• セッ ト アップ ソース エッジで送信されたデータが、セッ ト アップ デスティネーシ ョ ン エッジの前のアクティブエッジでキャプチャされない (図 5-4 「セッ ト アップ関係ごとのホールド関係」 で H1a および H2a はセッ ト アップ エッジ S1 および S2 に対応)。

• セッ ト アップ ソース エッジの後の次のアクティブ ソース ク ロ ッ ク エッジで送信されたデータが、セッ ト アップデスティネーシ ョ ン エッジでキャプチャされない (図 5-4 「セッ ト アップ関係ごとのホールド関係」 で H2a および H2b はセッ ト アップ エッジ S1 および S2 に対応)。

ホールド解析では、 2 つのクロ ッ ク間のワース ト ホールド関係のみがレポート されます。 ワース ト ホールド関係が、ワース ト セッ ト アップ関係に関連付けられている とは限り ません。 タイ ミ ング エンジンでは、 可能なすべてのセット アップ関係とそれに対応するホールド関係を評価し、 ワース ト ホールド関係を特定する必要があ り ます。

たとえば、 セッ ト アップ関係の例と同じパスを考えます。 2 つのセッ ト アップ関係があ り ます。

次の図に、 セッ ト アップ関係ごとに 2 つのホールド関係があるこ とを示します。

大ホールド要件は 0ns で、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ ク両方の 初の立ち上がりエッジに対応します。

パス要件がわかったら、 スラ ッ クの算出にパス遅延、 クロ ッ クのばらつき、 およびホールド タイムが追加されます。一般的なスラ ッ クの式は、 次のとおりです。

これらの式が示すよ うに、 所要時間の後に新しいデータが到着する と、 ホールド スラ ッ クが正になり ます。

リ ムーバル チェッ クはホールド チェッ ク と似ていますが、プリセッ トやク リ アなどの非同期ピンに適用されます。関係はホールド と同様に確立され、 スラ ッ クの式もホールド タイムの代わりに リ ムーバル タイムが使用されるこ とを除けば同じです。

X-Ref Target - Figure 5-4

図 5‐4 : セッ トアップ関係ごとのホールド関係

データ所要時間 (ホールド ) = デスティネーシ ョ ン エッジ時間

+ デスティネーシ ョ ン ク ロ ッ ク パス遅延

- ク ロ ッ クのばらつき

+ ホールド タイム

データ到着時間 (ホールド ) = ソース エッジ時間

+ ソース ク ロ ッ ク パス遅延

+ データパス遅延

スラ ッ ク (ホールド ) = データ到着時間 – データ所要時間

Page 131: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 131UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

パス要件

パス要件は、 タイ ミ ング パスのデスティネーシ ョ ン エッジと ソース エッジの時間差を表します。

たとえば、 前のセクシ ョ ンと同じパス と ク ロ ッ クを考える と、 次のパス要件が存在します。

セッ ト アップ パス要件 (S1) = 1*T(clk1) - 0*T(clk0) = 4nsセッ ト アップ パス要件 (S2) = 2*T(clk1) - 1*T(clk0) = 2ns

対応するホールド関係は次のとおりです。

• セッ ト アップ S1 に対応するホールド関係

ホールド パス要件 (H1a) = (1-1)*T(clk1) - 0*T(clk0) = 0nsホールド パス要件 (H1b) = 1*T(clk1) - (0+1)*T(clk0) = -2ns

• セッ ト アップ S2 に対応するホールド関係

ホールド パス要件 (H2a) = (2-1)*T(clk1) - 1*T(clk0) = -2nsホールド パス要件 (H2b) = 2*T(clk1) - (1+1)*T(clk0) = -4ns

タイ ミ ング解析は、 2 つの も見積も りの悪い要件でのみ実行されます。 上記の例では、 次の 2 つです。

• セッ ト アップ要件 S2

• ホールド要件 H1a

クロックのスキューとばらつき

スキューとばらつきは、 どちらもセッ ト アップとホールドの算出およびスラ ッ クに影響します。

スキューの定義

ク ロ ッ ク スキューは、デザインの共通点から終点および開始点のセル ク ロ ッ ク ピンまでの、デスティネーシ ョ ン クロ ッ ク パスと ソース ク ロ ッ ク パスの挿入遅延の差です。

次の式で、 Tcj および Tci は次のよ うに定義されます。

• Tcj : 共通ノードから終点クロ ッ ク ピンまでの遅延

• Tci : 共通ノードから開始点クロ ッ ク ピンまでの遅延

Tskewi,j = Tci- Tcj

Page 132: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 132UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

Clock Pessimism Removal (CPR)

一般的なタイ ミ ング パス レポートには、ルートからシーケンシャル セルのクロ ッ ク ピンまでの、 ソースおよびデスティネーシ ョ ン ク ロ ッ ク パスの遅延の詳細が示されます。 下に説明するよ うに、 ソースおよびデスティネーシ ョ ンクロ ッ クは、 共通回路上であっても、 異なる遅延で解析されます。

共通部分のこの遅延差によ り、 スキュー算出における見積も りがさ らに悪くな り ます。非現実的なスラ ッ クが算出されないよ うにするため、この不必要に悪い見積も り部分が Clock Pessimism Removal (CPR) 値と呼ばれる遅延によ り補正されます。

Clock Pessimism Removal (CPR) = 共通クロ ッ ク回路 ( 大遅延 – 小遅延)

CPR は、 実行する解析のタイプによって、 スキューに加算されるか、 スキューから減算されます。

• 大遅延解析 (セッ ト アップ/ リ カバリ )

CPR はデスティネーシ ョ ン ク ロ ッ ク パス遅延に加算されます。

• 小遅延解析 (ホールド / リ ムーバル)

CPR はデスティネーシ ョ ン ク ロ ッ ク パス遅延から減算されます。

Vivado Design Suite では、 各タイ ミ ング パスのクロ ッ ク スキューが次のよ うにレポート されます (この場合はホールド解析)。

• DCD : デスティネーシ ョ ン ク ロ ッ ク遅延

• SCD : ソース ク ロ ッ ク遅延

• CPR : Clock Pessimism Removal

Clock Path Skew0.301ns (DCD - SCD - CPR)Destination Clock Delay (DCD): 2.581nsSource Clock Delay (SCD): 2.133nsClock Pessimism Removal (CPR): 0.147ns

多くの場合、 CPR の精度は配線の前後で変わり ます。 たとえば、 ソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ クが同じで、開始点クロ ッ ク ピンと終点クロ ッ ク ピンが同じクロ ッ ク バッファーで駆動されるタイ ミ ング パスがある とします。

配線前は、 共通点はクロ ッ ク ネッ ト ド ラ イバー (ク ロ ッ ク バッファーの出力ピン) です。 CPR は、 ク ロ ッ ク ルートから クロ ッ ク バッファーの出力ピンまでの不必要に悪い見積も り部分のみを補正します。

配線後は、共通点はデバイス アーキテクチャのソース ク ロ ッ ク パスとデスティネーシ ョ ン ク ロ ッ ク パスで共有される 後の配線リ ソースです。この共通点はネッ ト リ ス トには表されないので、タイ ミ ング レポートから共通クロ ッ ク

X-Ref Target - Figure 5-5

図 5‐5 : クロック  ツリーの共通部分

Page 133: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 133UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

回路の遅延差を減算するこ とによ り対応する CPR を直接求めるこ とはできません。タイ ミ ング エンジンは、ユーザーが直接アクセスできないデバイス情報に基づいて CPR 値を算出します。

見積もりの良いスキュー

ザイ リ ンク ス FPGA デバイスには、 専用ク ロ ッ ク配線ツ リーやク ロ ッ ク調整ブロ ッ ク (CMB) などのアドバンス クロ ッ ク リ ソースが含まれます。 一部の CMB では、 位相ロ ッ ク ループ回路 (PLL または MMCM プリ ミ ティブに含まれる ) を使用するこ とによ り、 ク ロ ッ ク ツ リーの挿入遅延を補正できます。補正量は、 PLL のフ ィードバッ ク ループに存在する挿入遅延に基づきます。多くの場合、 フ ィードバッ ク ループを含め、同じタイプのバッファーの複数のクロ ッ ク ツ リーが PLL (または MMCM) で駆動されます。大型のデバイスでは、すべてのクロ ッ ク ツ リー分岐の挿入遅延がフ ィードバッ ク ループ遅延に一致する とは限り ません。 フ ィードバッ ク ループの遅延がソースまたはデスティネーシ ョ ン ク ロ ッ ク遅延よ り も大きい場合、PLL で駆動されるクロ ッ クが過剰に補正されるこ とになり ます。この場合、 CPR の符号が変わり、 スラ ッ ク値からスキューの見積も りの良い部分が効果的に削除されます。 これは、解析中にタイ ミ ング パス ク ロ ッ クの共通ノードに誤ったスキューがないよ うにするために必要です。

推奨 : タイ ミ ング解析では CPR 補正を常に使用し、スラ ッ クを正確なものにし、サインオフ用のタイ ミ ングのクオ リティを保持してください。

クロックのばらつき

ク ロ ッ クのばらつきは、 ク ロ ッ ク エッジのペア間での時間の変動量の合計です。 ばらつきは、 算出される ク ロ ッ クジッ ター (システム、入力、および個別)、一部のハードウェア プリ ミ ティブによ り発生する位相エラー、デザイン制約でユーザーによ り指定されるクロ ッ クのばらつき (set_clock_uncertainty) で構成されます。

プラ イマ リ ク ロ ッ クのジ ッ ターは、 set_input_jitter および set_system_jitter によ り 定義されます。MMCM や PLL などのクロ ッ ク生成ブロッ クに対しては、ソース ク ロ ッ クに指定されたジッターと コンフ ィギュレーシ ョ ンに基づいて、ジッ ターが自動的に算出されます。フ リ ップフロ ップ ベースのクロ ッ ク分周器などその他の生成クロ ッ クのジッ ターは、 ソース ク ロ ッ ク と同じにな り ます。

ユーザーが指定するクロ ッ クのばらつきは、 Vivado Design Suite タイ ミ ング エンジンで算出されるばらつきに加算されます。 ソース ク ロ ッ クにユーザーが指定したばらつきは、 MMCM、 PLL、 フ リ ップフロ ップ ベースのクロ ッ ク分周器などを介して生成クロ ッ クに伝搬されません。

ジッ ターおよび位相エラーの定義の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

ク ロ ッ クのばらつきの指定には、 次の 2 つ目的があ り ます。

• ハード ウェアの機能に影響するクロ ッ クのノ イズを表すため、 スラ ッ ク値にある程度のマージンを保持します。遅延値およびジッター値は大きめに見積もられるので、通常はハードウェアが正し く機能するよ うばらつきを追加するこ とはお勧めしません。

• 一部のインプ リ メンテーシ ョ ン手順でクロ ッ クまたはクロ ッ ク ペアに関連するパスの制約を厳し く します。これによ り使用可能な QoR マージンが増加し、 次の手順でこれらのパスのタイ ミ ング ク ロージャを達成するのに役立ちます。 クロ ッ クのばらつきを使用するこ とによ り、 ク ロ ッ ク波形およびその関係が変更されるこ とはないので、 残りのタイ ミ ング制約は正し く適用されます。

パルス幅チェ ック

パルス幅チェッ クは、信号がデバイス内で伝搬され、ハード ウェア プリ ミ ティブに到達したと きの波形に対して実行されるルール チェッ クです。 これらは通常、プリ ミ ティブ内の回路によ り決定される機能制限に対応します。たとえば、 DSP ク ロ ッ ク ピンに対する 小周期チェッ クは、 DSP インスタンスを駆動するク ロ ッ クが内部 DSP で許容される周波数を超える周波数で動作していないこ とを確認します。

パルス幅チェ ッ クは、 合成またはインプ リ メ ンテーシ ョ ンには影響しません。 これらのチェ ッ クは、 Vivado DesignSuite で提供されるその他のデザイン ルール チェッ ク と同様、 ビッ ト ス ト リームの生成前に一度実行する必要があ ります。

Page 134: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 134UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

パルス幅違反が発生した場合は、 クロ ッ ク定義が不適切であるか (パルス幅および周期チェッ ク )、 大きなスキューを発生させるクロ ッ ク ト ポロジ (max_skew チェッ ク ) が原因です。 ターゲッ ト デバイスのザイ リ ンクス FPGA データシート を参照して、違反が発生したプリ ミ ティブの動作範囲を理解する必要があ り ます。 スキュー違反が発生した場合は、 クロ ッ ク ツ リーを簡略化するか、 ク ロ ッ ク リ ソースを違反の発生したピンの近くに配置します。

タイ ミング サインオフの確認タイ ミ ング解析の詳細を説明する前に、デザインがハード ウェアで実行する準備ができたこ とが、タイ ミ ング レポートのどの部分に示されるかを知っておく こ とが重要です。

重要 : デザインが完全に配置配線されたら、タイ ミ ング サインオフはインプリ メンテーシ ョ ン結果の解析における必須の手順です。

デフォルトでは、 Vivado Design Suite でプロジェク ト を使用する場合、 テキス ト形式のタイ ミ ング サマリ レポートが自動的に生成されます。このレポートは、インプリ メンテーシ ョ ン後にメモ リにデザイン チェッ クポイン ト を読み込んで、 インタラ クティブなバージ ョ ンを生成するこ と もできます。

タイ ミング サインオフの基準

タイ ミ ング サインオフには、 次の 2 つの基準があ り ます。

• デザインが完全に制約されている

• デザインのタイ ミ ングが満たされている

デザインが完全に制約されている

デザインが完全に制約されているかを確認するには、 [Check Timing] セクシ ョ ンを参照します。 次を確認します。

• 定数でないクロ ッ ク ピンに定義されたクロ ッ クが供給されている (no_clock チェッ ク )。

• すべての内部パスの終点にタイ ミ ングが設定されている (unconstrained_internal_endpoint チェッ ク )。

• 入力ポートおよび出力ポートがすべて制約されている (no_input_delay、 no_output_delay、partial_input_delay、 partial_output_delay チェッ ク )。

次の 2 つのチェッ クでレポート された問題は、 詳し く検証して解決する必要があ り ます。

• すべての生成クロ ッ クに正し く タイ ミ ングが設定されていない (generated_clock チェッ ク )。 この状況は、生成ク ロ ッ ク とマスター ク ロ ッ クの間に論理タイ ミ ング パスまたはアクテ ィブ タ イ ミ ング パスがない場合に発生します。 これはスキューの算出に影響し、 スラ ッ ク違反が発生する可能性があ り ます。

• デザインに組み合わせループが存在する (loops チェッ ク )。 組み合わせループはタイ ミ ング エンジンによ り ランダムな場所で分割されるため、 解析の適用範囲が削減されます。

後の 2 つのチェッ クは情報用であ り、 通常タイ ミ ングが不必要に悪く見積もられた状況を示します。

• ラ ッチを伝搬される組み合わせループが存在する (latch_loops チェッ ク )。Vivado IDE タイ ミ ング エンジンでは latch_loops は分割されませんが、 借り る こ とができる 大時間を考慮するので、 ラ ッチ タ イ ミ ング解析が不必要に悪く見積もられる可能性があ り ます。

• ク ロ ッ ク ピンに存在するすべてのクロ ッ クが排他的でない (multiple_clocks チェッ ク )。このチェッ クは、現実的でないタイ ミ ング パスにタイ ミ ングが適用されている状況を示しており、デザインのほかの部分には適切にタイ ミ ングが適用されている場合がほとんどなので、 このチェッ クで問題が報告されないよ うにする必要は通常あ り ません。現実的でないタイ ミ ング パスによ り、インプリ メンテーシ ョ ン ツールによ り タイ ミ ング ク ロージャを達成するのが困難になる場合もあ り ます。

Page 135: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 135UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

ヒン ト : 一部の不足制約はそのまま放置できますが、 デザインのサインオフの質は下がり ます。

デザインのタイ ミングが満たされている

• トータル ネガティブ スラ ッ ク (TNS) が 0ns である必要があ り ます。 これは、 大遅延解析 (セッ ト アップ/ リ カバリ ) に対応します。

• トータル ホールド スラ ッ ク (THS) が 0ns である必要があ り ます。 これは、 小遅延解析 (ホールド / リ ムーバル) に対応します。

• トータル パルス幅スラ ッ ク (TPWS) が 0ns である必要があ り ます。これは、 ISE のコンポーネン ト ピン スイ ッチ制限と同等です。 大および 小遅延解析の両方で実行されます。

TNS、 THS、 および TPWS の合計が、 ISE の 終的なタイ ミ ング スコアに相当します。

タイ ミングに問題がないかどうかの確認

次の図に、 タイ ミ ングに問題のないこ とを確認するために 初にチェ ッ クする必要のある情報を緑で囲んで示します。

X-Ref Target - Figure 5-6

図 5‐6 : タイ ミング サマリ  レポートでのタイ ミング サインオフ

Page 136: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 136UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

次の図に、 テキス ト形式のレポートの [Check Timing] セクシ ョ ンを示します。

X-Ref Target - Figure 5-7

図 5‐7 : テキスト形式のタイ ミング サマリ  レポートの [Check Timing] セクシ ョ ン

Page 137: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 137UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

次の図に、 テキス ト形式のレポートの [Design Timing Summary] セクシ ョ ンを示します。

タイ ミング違反の調査

Vivado IDE では、 スラ ッ ク違反は赤で表示され、 不足している制約は特定の色で表示されます。

タイ ミ ング違反を調べるには、 まず次のセクシ ョ ンを参照します。

• [Intra-Clock Paths]、[Inter-Clock Paths]、および [Path Groups] (**async_default**) セクシ ョ ンには、セッ ト アップおよびリ カバリ違反およびホールドおよびリ ムーバル違反に関する情報が示されます。

• [Intra-Clock Paths] セクシ ョ ンには、 パルス幅チェッ ク違反の詳細が示されます。

[Timing] ウ ィンド ウの詳細は、 21 ページの 「タイ ミ ング サマリ レポート 」 のを参照してください。

ヒン ト : 違反のみを表示するには、 ツールバーの [Show only failing paths] をク リ ッ ク します。

デフォルトでは、 各解析で各クロ ッ ク ペアに対して N 個のワース ト パスの詳細が表示されます。

• GUI のデフォルトは N = 10 です。

• report_timing_summary コマンドのデフォルトは N = 1 です。

パスをダブルク リ ッ クする と、そのタイ ミ ング パスの詳細情報が新しいウ ィンド ウに表示されます。レポート されているパスの数が十分でない場合は、 レポート されるパス数を増加して [Report Timing Summary] を再実行するか (同等の Tcl コマンド : report_timing_summary -max_paths N)、 特定のクロ ッ ク ペアまたは特定のタイ ミ ング パスに対して [Report Timing] を実行します。

Tcl コマン ドの詳細は、 『Vivado Design Suite Tcl コマン ド リ フ ァ レンス ガイ ド』 (UG835) [参照 3] を参照するか、「<command> -help」 と入力してください。

タイ ミング パス レポートの解釈タイ ミ ング サマリ レポートでパスをダブルク リ ッ ク したと きに表示されるタイ ミ ング パス レポートには、タイ ミ ング違反の原因を理解するのに必要な情報が含まれています。 次のセクシ ョ ンで、 タイ ミ ング パス レポートについて説明します。

タイ ミ ング パスに関する重要な情報を示します。 タイ ミ ング パスの詳細を解析せずに、 違反の原因を知るこ とができます。 スラ ッ ク、 パスの要件、 データパス遅延、 セル遅延、 配線遅延、 クロ ッ ク スキュー、 およびクロ ッ クのばらつきが示されます。 セルの配置に関する情報は含まれません。

タイ ミ ング制約およびタイ ミ ング解析で使用される用語、 およびスラ ッ クおよびパスの要件の決定方法は、 128 ページの 「タイ ミ ング解析の基礎の理解」 を参照してください。

X-Ref Target - Figure 5-8

図 5‐8 : テキスト形式のタイ ミング サマリ  レポートの [Design Timing Summary] セクシ ョ ン

Page 138: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 138UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

タイ ミ ング パス サマリのヘッダーの例図 5-9 に、 テキス ト形式のレポートのタイ ミ ング パス サマリ ヘッダーを示します。

図 5-10 に、 Vivado IDE でのタイ ミ ング パス サマリ ヘッダーを示します。

タイ ミング パス サマリのヘッダー情報

タイ ミ ング パス サマリ ヘッダーには、 次の情報が含まれます。

• Slack

正のスラ ッ ク値は、パスがタイ ミ ング制約から算出されたパスの要件を満たしているこ とを示します。 スラ ッ クを求める式は、 解析によって異なり ます。

° 大遅延解析 (セッ ト アップ/ リ カバリ )スラ ッ ク = データ所要時間 – データ到着時間

° 小遅延解析 (ホールド / リ ムーバル)スラ ッ ク = データ到着時間 - データ所要時間

データ所要時間とデータ到着時間は、 タイ ミ ング パス レポートの別のセクシ ョ ンに表示されます。

X-Ref Target - Figure 5-9

図 5‐9 : テキスト形式のタイ ミング パス サマリ  ヘッダー

X-Ref Target - Figure 5-10

図 5‐10 : Vivado IDE のタイ ミング パス サマリ  ヘッダー

Page 139: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 139UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

• Source

パスの開始点およびデータを送信するソース ク ロ ッ クを示します。開始点は通常、シーケンシャル セルのクロ ック ポート または入力ポートです。

2 行目がある場合は、プリ ミ ティブおよびクロ ッ ク ピンの認識されるエッジが示されます。 ク ロ ッ ク名と ク ロ ック エッジの定義 (波形および周期) も示されます。

• Destination

パスの終点およびデータを受信するデスティネーシ ョ ン ク ロ ッ クを示します。終点は通常、デスティネーシ ョ ンシーケンシャル セルの入力データ ピンまたは出力ポートです。2 行目がある場合は、プリ ミ ティブおよびクロ ック ピンの認識されるエッジが示されます。ク ロ ッ ク名と ク ロ ッ ク エッジの定義 (波形および周期) も示されます。

• Path Group

パスの終点が属するタイ ミ ング グループを示します。 これは通常デスティネーシ ョ ン ク ロ ッ クによ り定義されるグループですが、非同期タイ ミ ング チェッ ク ( リ カバリ / リ ムーバル) では **async_default** タイ ミ ング グループにま とめられます。 ユーザー定義のグループも こ こに表示されます。 これらは、 レポート生成で便利です。

• Path Type

このパスで実行された解析のタイプを示します。

° Max : データ パス遅延の算出に 大遅延値が使用されたこ とを示します。 セッ ト アップ解析およびリ カバリ解析に対応します。

° Min : データ パス遅延の算出に 小遅延値が使用されたこ とを示します。 ホールド解析およびリ ムーバル解析に対応します。

使用されたコーナー (Slow または Fast) も示されます。

• Requirement

タイ ミ ング パス要件を示します。 開始点と終点が同じク ロ ッ クで制御されている場合、 タイ ミ ング パス要件は通常次のよ うになり ます。

° セッ ト アップ/ リ カバリ解析では 1 ク ロ ッ ク周期

° ホールド / リ ムーバル解析では 0ns

パスが 2 つのクロ ッ クの間にある場合、要件はソース ク ロ ッ ク エッジとデスティネーシ ョ ン ク ロ ッ ク エッジの小の正の差に対応します。 この値は、 マルチサイ クル、 大遅延、 小遅延などのタイ ミ ング例外制約に置き

換えられます。

タイ ミ ング制約からタイ ミ ング パス要件を求める方法の詳細は、 125 ページの 「タイ ミ ング パス」 を参照してください。

• Data Path Delay

パスのロジッ ク セクシ ョ ン間で累積された遅延を示します。 ク ロ ッ クがデータ と して使用されている場合を除き、 ク ロ ッ ク遅延は含まれません。 遅延のタイプは、 [Path Type] と同じです。

• Logic Levels

パスのデータ セクシ ョ ンに含まれている、 開始セルと終了セルを除く各種プリ ミ ティブの段数を示します。

• Clock Path Skew

ソース ク ロ ッ クの送信エッジとデスティネーシ ョ ン ク ロ ッ クの受信エッジ間の挿入遅延差およびクロ ッ クの不必要に悪い見積も り部分の削除を示します。

Page 140: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 140UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

• Destination Clock Delay (DCD)

デスティネーシ ョ ン ク ロ ッ クのソース ポイン トからパスの終点までに累積される遅延を示します。

° 大遅延解析 (セッ ト アップ/ リ カバリ ) では 小セルおよびネッ ト遅延値が使用されます。

° 小遅延解析 (ホールド / リ ムーバル) では 大遅延値が使用されます。

• Source Clock Delay (SCD)

ク ロ ッ クのソース ポイン トからパスの開始点までに累積される遅延を示します。

° 大遅延解析 (セッ ト アップ/ リ カバリ ) では 大セルおよびネッ ト遅延値が使用されます。

° 小遅延解析 (ホールド / リ ムーバル) では 小遅延値が使用されます。

• Clock Pessimism Removal (CPR)

ソースおよびデスティネーシ ョ ン ク ロ ッ クが共通回路上であっても異なる遅延でレポート される こ とによ り発

生する、 追加のクロ ッ ク スキューの絶対値を示します。

この不必要に悪い見積も り部分の削除する と、 共通回路上にあるソース ク ロ ッ ク とデスティネーシ ョ ン ク ロ ッ

クの間にスキューは発生しません。

配線済みのデザインでは、 後の共通クロ ッ ク ツ リー ノードは通常クロ ッ ク ネッ トで使用される配線リ ソース

にあ り、 パスの詳細にはレポート されません。

• Clock Uncertainty

ク ロ ッ ク エッジのペア間での時間の変動量の合計を示します。

ばらつきは、 算出されるク ロ ッ ク ジッ ター (システムおよび個別)、 一部のハード ウェア プリ ミ テ ィブによ り発

生 す る 位 相 エ ラ ー、 デ ザ イ ン 制 約 で ユ ー ザ ー に よ り 指 定 さ れ る ク ロ ッ ク の ば ら つ き

(set_clock_uncertainty) で構成されます。

ユーザーが指定するクロ ッ クのばらつきは、 Vivado IDE タイ ミ ング エンジンで算出されるばらつきに加算され

ます。

• Total System Jitter (TSJ)

ソース ク ロ ッ クおよびデスティネーシ ョ ン ク ロ ッ クの両方に適用されるシステム ジッターを示します。 システ

ム ジッターは、 set_system_jitter 制約を使用してグローバルに変更できます。 仮想クロ ッ クは理想的なク

ロ ッ クなので、 システム ジッターはあ り ません。

• Total Input Jitter (TIJ)

ソース ク ロ ッ クおよびデスティネーシ ョ ン ク ロ ッ クの両方に適用される入力ジッターを示します。

set_input_jitter 制約を使用する と、各プライマ リ ク ロ ッ クの入力ジッターを個別に指定できます。生成ク

ロ ッ クの入力ジッ ターは、 マスター ク ロ ッ ク ジッ ターおよび伝搬される ク ロ ッ ク リ ソースに基づいて VivadoIDE タイ ミ ング エンジンで算出されます。デフォルトでは、仮想クロ ッ クは理想的なクロ ッ クであ り、 ジッ ター

はあ り ません。

ク ロ ッ クのばらつきおよびジッ ターの詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] のこのセクシ ョ ンを参照してください。

• Discrete Jitter (DJ)

MMCM や PLL などのハード ウェア プリ ミ ティブによ り追加されるジッ ター量を示します。

この値は、 これらのセルのコンフ ィギュレーシ ョ ンに基づいて Vivado IDE タイ ミ ング エンジンによ り算出されます。

Page 141: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 141UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

• Phase Error (PE)

MMCM や PLL などのハード ウェア プリ ミ ティブによ り追加される、 2 つのクロ ッ ク信号間の位相の変動量を示します。

この値は、 これらのセルのコンフ ィギュレーシ ョ ンに基づいて Vivado IDE タイ ミ ング エンジンによ り算出されます。

• User Uncertainty (UU)

set_clock_uncertainty 制約で指定された追加のばらつきを示します。

このコマンドの使用方法の詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) [参照 3] のこのセクシ ョ ンを参照してください。

タイ ミ ング パス サマ リには、 タイ ミ ング制約、 レポート されるパス、 およびターゲッ ト デバイスによって、 次の 3つの行が表示されるこ と もあ り ます。

• Inter-SLR Compensation

7 シ リーズ SSI デバイスのみで、 SLR の境界をまたがるパスを確実にレポートするために必要な追加マージンを示します。

• Input Delay

set_input_delay 制約によ り入力ポートに指定された入力遅延値を示します。入力ポートから開始しないパスは含まれません。

• Output Delay

set_output_delay 制約によ り出力ポートに指定された出力遅延値を示します。 出力ポートで終了しないパスは含まれません。

• Timing Exception

パスに適用されるタイ ミ ング例外を示します。優先順位の も高い例外のみがタイ ミ ング パス要件に影響するので、 優先順位の も高い例外のみが示されます。

タイ ミ ング例外およびその優先順位の詳細は、 125 ページの 「タイ ミ ング パス」 を参照して ください。

タイ ミング パスの詳細

レポートの後半には、 パスが伝搬されるセル、 ピン、 ポート、 およびネッ トの詳細が表示されます。 3 つのセクシ ョンに分かれています。

• Source Clock Path

ソース ク ロ ッ クがソース ポイン トからデータパスの開始点まで伝搬されるパスを示します。 このセクシ ョ ンは、入力ポートから開始するパスには含まれません。

• Data Path

データが開始点から終点まで伝搬されるパスを示します。

• Destination Clock Path

デスティネーシ ョ ンク ロ ッ クがソース ポイン トからデータパスの終点のクロ ッ ク ピンまで伝搬されるパスを示します。

[Source Clock Path] および [Data Path] セクシ ョ ンには、 これらでは、 常に同じタイプの遅延がレポート されます。

• セッ ト アップ/ リ カバリ解析では 大遅延

Page 142: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 142UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

• ホールド / リ ムーバル解析では 小遅延

データの送信エッジ時間から開始し、 ソース ク ロ ッ クおよびデータ パスを介して累積される遅延も同じです。 終的な累積遅延値は、 データ到着時間と呼ばれます。

デスティネーシ ョ ン ク ロ ッ ク パスは、常にソース ク ロ ッ クおよびデータ パスと逆の遅延でレポート されます。初期の累積遅延値は、 データ受信エッジがデスティネーシ ョ ン ク ロ ッ クのソース ポイン トから出発した時間です。 終的な累積遅延値は、 データ所要時間と呼ばれます。

レポートの 後の行は、 スラ ッ クの算出方法を示します。

• 大遅延解析 (セッ ト アップ/ リ カバリ )

スラ ッ ク = データ所要時間 – データ到着時間

• 小遅延解析 (ホールド / リ ムーバル)

スラ ッ ク = データ到着時間 - データ所要時間

テキスト形式レポートのタイ ミング パスの詳細

図 5-11 「テキス ト形式レポートのタイ ミ ング パスの詳細」 に、テキス ト形式のレポートのソース ク ロ ッ ク、データ、およびデスティネーシ ョ ン ク ロ ッ ク パスの部分を示します。 パスには 5ns の周期制約が適用されているので、 ソース ク ロ ッ クの送信エッジは 0ns で開始し、 デスティネーシ ョ ン ク ロ ッ クの受信エッジは 5ns で開始します。

X-Ref Target - Figure 5-11

図 5‐11 : テキスト形式レポートのタイ ミング パスの詳細

Page 143: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 143UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

Vivado IDE のタイ ミング パスの詳細

143 ページの図 5-12に、 142 ページの図 5-11のテキス ト形式レポート と同じ例の IDE レポート を示します。

X-Ref Target - Figure 5-12

図 5‐12 : Vivado IDE のタイ ミング パスの詳細

Page 144: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 144UG906 (v2015.4) 2015 年 11 月 18 日

第 5 章 : タイ ミング解析の実行

パスの情報は、 5 つの列で示されます。

• [Location]

デバイス上でセルまたはポートが配置されている位置を示します。

• [Delay Type]

Unisim プリ ミ ティブとパスが通過するタイ ミ ング アークを示します。 ネッ トの場合、 ファンアウ ト (fo) およびそのステータスを示します。 ネッ トのステータスは、 次のとおりです。

° [Unplaced] : ド ラ イバーおよびロードは配置されていません。

° [Estimated] : ド ラ イバーまたはロード、あるいはその両方が配置されています。部分的に配線されているネット も Estimated と示されます。

° Routed : ド ラ イバーおよびロードの両方が配置され、 ネッ トが完全に配線されています。

• [Incr(ns)] (テキス ト レポート ) / [Delay] (IDE レポート )

Unisim プリ ミ ティブのタイ ミ ング アークまたはネッ トに関連するインク リ メンタル遅延値を示します。 入力/出力遅延、 クロ ッ クのばらつきなどの制約を示すこ と もあ り ます。

• [Path(ns)] (テキス ト レポート ) / [Cumulative] (IDE レポート )

パスの各セグメン ト までの累積遅延を示します。 値は、 前の行までの累積値と、 その行のインク リ メン ト遅延を加算したものです。

• [Netlist Resource(s)] (テキス ト レポート ) / [Logical Resource] (IDE レポート )

通過したネッ ト リ ス ト オブジェク トの名前を示します。

各インク リ メンタル遅延は、 次のいずれかのエッジに関連付けられています。

• r (立ち上がりエッジ)

• f (立ち下がりエッジ)

初期のエッジは、解析に使用される送信エッジまたは受信エッジによ り決定されますが、タイ ミ ング アークの特性によって、 パス上のセルで反転されるこ とがあ り ます。 たとえば、 インバーターの入力の立ち上がりエッジは、 出力では立ち下がりエッジになり ます。

必要以上に厳しいタイ ミ ング パス要件が、ソース ク ロ ッ ク ツ リーまたはデスティネーシ ョ ン ク ロ ッ ク ツ リーによるクロ ッ ク エッジの反転によるものである場合があ り ます。

Page 145: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 145UG906 (v2015.4) 2015 年 11 月 18 日

第 6章

デザイン クロージャ  テクニック

制約およびソースのチェ ックデザインおよびタイ ミ ング制約が適切であるかを確認します。

• ネッ ト リ ス トが質のよいものであるこ とを確認します。

Vivado 合成を使用する場合は、合成特定のタイ ミ ング制約を XDC ファ イルに追加します。合成はタイ ミ ング ドリブンであ り、 タイ ミ ングを満たすよ うにロジッ クが 適化されます。

• [Schematic] または [Clock Networks] ウ ィンド ウでクロ ッ ク ツ リーを確認します。

ク ロ ッ ク ツ リーが適切なものであるこ とを確認します。 BUFG が別の BUFG や LUT を駆動している と、 ク ロ ック スキューが大き くな り ます。 追加のクロ ッ ク スキューによ り、 セッ ト アップ チェッ クを満たすためのデザイン マージンが小さ くなるか、な くなるこ とがあ り、配線リ ソースの使用率が増加し、密集度が高くなるこ とがあり ます。 配置 DRC でクロ ッ ク ツ リーの問題が警告と して表示されるこ とがあ り ます。

• デザインのピン配置およびフロアプランを実行する際、 ク ロ ッ ク リ ソースを考慮します。

7 シ リーズ FPGA デバイスのク ロ ッ ク領域では、 領域ごとに 12 個のグローバル ク ロ ッ クがサポート されます。ク ロ ッ ク ツ リーの配置には、 その他の制限もあ り ます。詳細は、 『7 シ リーズ FPGA ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG472) [参照 9] を参照してください。

• ク ロ ッ ク周期がデザインで必要なものであるかど うかを確認します。

デザインの制約を厳し く しすぎる と、 不必要に厳しいタイ ミ ング制約を満たすためにランタイムが長くな り ます。 タイ ミ ング エラーが発生したり、 消費電力が大き くなる原因にもな り ます。

不必要に厳しい制約が満たされない場合は、実際の制約を試してみてください。 Vivado IDE では、配置配線を変更せずにタイ ミ ング制約を変更できます。 実際のクロ ッ ク周期で report_timing_summary を再実行します。

• タイ ミ ングを満たしていないパスがマルチサイクル パスまたは機能的にアクティブでないパスでないかを確認します。

Vivado IDE では、 タイ ミ ング例外を設定していなければ、非同期クロ ッ ク間のパスも含め、デザインのすべての論理パスにタイ ミ ングが適用されます。 これは、 ISE® Design Suiteおよび UCF とは異なり ます。制御ロジッ クの構造によ り、 アクティブにならないパスもあ り ます。 set_false_path 制約を使用して、 スラ ッ クの算出においてこれらのパスを無視できます。

ステート マシンで駆動されるク ロ ッ ク イネーブルなどの制御構造では、 マルチサイ クル パスが生成されます。データがソースからデスティネーシ ョ ンに到達するのに複数のクロ ッ ク周期が必要な場合、マルチサイ クル タイミ ング制約を設定します。 XDC では、 セッ ト アップとホールドのマルチサイクル遅延は個別に入力します。

• インプ リ メンテーシ ョ ン後に、 タイ ミ ング制約を変更してタイ ミ ングを再実行します。 タイ ミ ング制約の変更がデザインのタイ ミ ングにどのよ うに影響するかを調べるのに、インプリ メンテーシ ョ ンを再実行する必要はあ りません。 制約を変更してタイ ミ ングを確認し、 必要に応じてタイ ミ ング制約を調整していきます。

Page 146: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 146UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

• タイ ミ ング制約を変更してもタイ ミ ングが満たされない場合は、 インプリ メンテーシ ョ ンを再実行します。 インプ リ メ ンテーシ ョ ンはタイ ミ ング ド リブンであ り、 問題のある箇所に焦点が置かれます。 配線後のデザインのトータル ホールド スラ ッ ク (THS) が大きかった場合は、インプリ メンテーシ ョ ンを再実行する必要があ り ます。

ヒン ト : 新しい制約を保存するのに [Save Constraints As] を使用し、 元の制約を保持しておく と便利です。

• タイ ミ ング パスを確認します。

ク ロ ッ ク スキューおよびジッターが適切であるかを確認します。

• ロジッ クを確認します。

周期に対するロジッ ク遅延を確認し、 ロジッ ク遅延の周期に占める割合が高い場合は、再合成してロジッ ク遅延を削減する必要があ り ます。

• 配線遅延を確認します。

配線遅延の周期に占める割合が高い場合は、 配線遅延を削減します。 配線遅延を削減するには、 次の 2 つの方法があ り ます。

° RTL を記述し直します。

ファンアウ ト の大きいネッ ト がある場合は、 ド ラ イバーを複製してみて ください。 ファンアウ ト の大きいネッ トのド ライバーを複製する場合、配置を考慮してください。各ド ライバーがその近くにあるロード と接続されるよ うにし、 ロードが分散しないよ うにします。

DONT_TOUCH または KEEP などの合成属性を適用して、複製されたレジスタが 適化で削除されないよ うにします。

° フロアプランします。

配線遅延のタイ ミ ング パスに占める割合が高い場合は、 フロアプランを考慮します。目的は、配線遅延を削減して、 ク リ ティカル パスのタイ ミ ングを改善するこ とです。 フロアプランによ り ク リ ティカル パスを構成するロジッ クは変更されません。 フロアプランの際は、デザインのブロ ッ ク同士の接続を確認してください。

RTL の構造を変更した方がよい場合もあ り ます。合成時には、配置はわかっていません。合成でファンアウトの大きいネッ トが複製される場合、 配置は考慮されません。

手動で複製して配線し直した方が、 デザインが向上する場合があ り ます。 たとえば、 2 つのメモ リ インターフェイスがあ り、 チップの反対側の角に配置される場合、 RTL ソースで制御信号を複製する と有益です。 合成属性を使用して、 論理的に等価なレジスタが 適化で削除されないよ うに設定する必要がある場合もあ り ます。

ツールのエフォート  レベルの増加インプ リ メ ンテーシ ョ ン ツールのエフォート レベルを増加してみます。 インプ リ メ ンテーシ ョ ンに時間をかけるだけで、 デザインのタイ ミ ングが満たされる場合があ り ます。

Vivado Implementation Defaults ス ト ラテジでは、 実行時間とパフォーマンスのバランスが取られます。 実行時間の長い アル ゴ リ ズ ム の一部は使用 さ れ ま せん。 こ れ ら の アル ゴ リ ズ ムお よ び物理合成 を オ ン にす る には、Performance_Explore ス ト ラテジを使用します。SSI テク ノ ロジを使用する大型デバイスでは、Performance_ExploreSLLsを使用してみます。

ほかにも、実行時間の短いス ト ラテジや、密集を軽減するス ト ラテジなどがあ り ます。名前に SLL 接頭辞が付いているス ト ラテジは、 SSI テク ノ ロジを使用するデバイス用です。

[Flow] → [Create Runs] をク リ ッ ク して、 異なるス ト ラテジを使用した複数の run を作成し、 実行してみてください。

Page 147: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 147UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

インプ リ メンテーシ ョ ン結果を比較してデザインに 適なス ト ラテジを見つけ、その後の実行ではそのス ト ラテジを使用します。

ヒン ト : 適なス ト ラテジは、 デザイン間およびツール リ リース間で異なる場合があ り ます。

フロアプランこのセクシ ョ ンでは、 フロアプランについて説明します。 次の内容が含まれます。

• 「フロアプランについて」

• 「フロアプランの基礎」

• 「Pblock ベースのフロアプラン」

• 「特定のロジッ クをデバイス サイ トに固定」

• 「スタ ッ ク ド シ リ コン インターコネク ト (SSI) デバイスでのフロアプラン」

フロアプランについて

フロアプランがデザインのタイ ミ ングを満たすのに役立つ場合があ り ます。タイ ミ ングが満たされる と き と満たされないと きがある場合や、 タイ ミ ングが満たされたこ とがない場合にフロアプランを実行するこ とをお勧めします。

フロアプランは、 複数の設計者と作業する場合や、 一貫性が重要な場合にも有益です。

フロアプランでは、 平均配線遅延を削減するこ とによ り、 セッ ト アップ スラ ッ ク (TNS、 WNS) を向上できます。 インプ リ メ ンテーシ ョ ンでは、 ワース ト セッ ト アップ違反およびすべてのホールド違反を解決するよ うに処理されます。 フロアプランで向上できるのはセッ ト アップ スラ ッ クのみです。

X-Ref Target - Figure 6-1

図 6‐1 :複数 の run

Page 148: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 148UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

手動フロアプランは、 ネッ ト リ ス トが階層がある方が簡単です。 合成でネッ ト リ ス ト全体がフラ ッ ト化される と、 デザイン解析に時間がかかり ます。階層ネッ ト リ ス トが生成されるよ うに、合成オプシ ョ ンを設定します。 Vivado 合成

• synth_design -flatten_hierarchy rebuilt

または

• Vivado Synthesis Defaults ス ト ラテジ

論理パスが複雑な大型の階層ブロッ クは、解析が困難です。異なる論理構造が別の下位階層に含まれているデザインの方が解析は簡単です。階層モジュールのすべての出力にレジスタを付けるこ とを考慮してください。複数の階層ブロ ッ クを通過するパスの配置を解析するのは困難です。

フロアプランの基礎

すべてのデザインでタイ ミ ングが満たされる とは限り ません。 ツールがソ リ ューシ ョ ンを見つけられるよ う、指示する必要がある場合があ り ます。 フロアプランを使用する と、高レベルの階層レイアウ トや詳細なゲート配置を指定できます。

悪の問題または も一般的な問題を修正する と、 も大き く改善します。 たとえば、 スラ ッ クが大幅に悪いパス、またはロジッ ク レベル数が多いパスがある場合、 まずそれらのパスを修正します。 [Tools] → [Timing] → [Create SlackHistogram] をク リ ッ クする と、 スラ ッ クの悪いパスを表示できます。 また、 終点が同じ複数のパスのスラ ッ クが負である場合、 1 つのパスを改善する と、 同じ終点のその他のパスも改善するこ とがあ り ます。

配線遅延を削減したり、 ク リ ティカルでないブロ ッ クのロジッ ク集積度を増加するなどしてパフォーマンスを向上するため、 フロアプランするこ とを考慮してみて ください。 ロジッ ク集積度は、 チップ上にロジッ クがどれだけ密にパッ ク されるかを示します。

フロアプランを実行する と、 ク ロ ッ ク周波数および結果の一貫性を向上できます。

フロアプランには複数の取り組み方があ り、 それぞれに利点と欠点があ り ます。

詳細なゲート  レベルのフロアプラン

詳細なゲート レベルのフロアプランでは、 個々の 下位セルをデバイスの特定のサイ トに配置します。

詳細なゲート  レベルのフロアプランの利点

• ネッ ト を手動で配線します。

• デバイスの 大限のパフォーマンスを引き出せる可能性があ り ます。

詳細なゲート  レベルのフロアプランの欠点

• 時間がかかり ます。

• デバイスおよびデザインに関する豊富な知識が必要です。

• ネッ ト リ ス トが変更された場合、 フロアプランを実行し直すこ とが必要な場合があ り ます。

推奨 : 詳細なゲート レベルのフロアプランは、 終的な手段と して ください。

Page 149: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 149UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

情報の再利用

タイ ミ ングが満たされたデザインの情報を再利用します。 この手法は、デザインのタイ ミ ングが満たされたり満たされなかったりする場合に使用します。 情報を再利用するには、 次の手順に従います。

1. 2 つのインプリ メンテーシ ョ ン run を開きます。

a. タイ ミ ングが満たされている run

b. タイ ミ ングが満たされていない run

ヒン ト : 複数のモニターを使用している場合、[Open Implementation in New Window] コマンドを使用してデザインを別のウ ィンド ウで開きます。

2. 2 つのデザインの違いを見つけます。

a. report_timing_summary で、 タイ ミ ングが満たされていないパスを特定します。

b. タイ ミ ングが満たされているデザインで、 report_timing を min_max モードで使用して、 同じパスのタイ ミ ング解析を実行します。

3. タイ ミ ング結果を比較します。

a. ク ロ ッ ク スキュー

b. データパス遅延

c. 配置

d. 配線遅延

4. パスの終点間のロジッ ク遅延に差がある場合は、 合成 run に戻り ます。

I/O およびセルの配置の確認

デザインのセルの配置を確認します。 2 つの I/O レポート を比較して、 I/O の配置と I/O 規格を確認します。 すべてのI/O が配置されているこ とを確認します。 次の図に示すよ うに検索を実行する と、 配置が固定されていない I/O を検索できます。

Page 150: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 150UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

run の間でクロ ッ ク スキューを変更した場合、 タイ ミ ングが満たされた run からのクロ ッ ク プリ ミ ティブの配置を再利用するこ とを考慮します。 次の図に示すよ うに、 ク ロ ッ ク使用量レポートにクロ ッ ク ツ リー ド ラ イバーの配置がリ ス ト されます。

X-Ref Target - Figure 6-2

図 6‐2 :配置が固定されていない I/O の検索

X-Ref Target - Figure 6-3

図 6‐3 : クロックのロケーシ ョ ン

Page 151: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 151UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

LOC 制約は、 XDC 制約ファイルにコピーできます。

多くのデザインでは、ブロ ッ ク RAM および DSP の配置を再利用するこ とによ り、 タイ ミ ングを満たすこ とができます。 [Edit] → [Find] を使用して、 インスタンスを リ ス ト します。

配置制約の追加

XDC に配置制約を追加して、 ロジッ クを固定します。

1. [Find Results] ウ ィンド ウでマクロを選択します。

2. 右ク リ ッ ク して [Fix Cells] をク リ ッ ク します。

X-Ref Target - Figure 6-4

図 6‐4 : ブロック  RAM または DSP を検索

Page 152: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 152UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

推奨 : 配置を固定する前に、 階層名に基づいて配置を解析し、 ハイライ ト して ください。

配置の再利用

I/O、 グローバル ク ロ ッ ク リ ソース、 ブロ ッ ク RAM マクロ、 DSP マクロの配置を再利用するのは比較的簡単です。

配置を再利用する と、 ネッ ト リ ス トの リ ビジ ョ ン間での結果がよ り一貫したものになり ます。 これらのプリ ミ ティブの名前は通常変化しないので、 配置を保持するのは簡単です。

ヒン ト : 汎用スライス ロジッ クの配置を再利用しないでください。デザインの変更する予定の部分は、配置を再利用しないでください。

フロアプランのテクニック

タイ ミ ングが満たされておらず、ネッ ト リ ス ト または制約の変更が好まし くないデザインでは、ゲート レベルのフロアプランを考慮します。

推奨 : ゲート レベルのフロアプランの前に、 階層フロアプランを試してみてください。

X-Ref Target - Figure 6-5

図 6‐5 :選択したロジックの固定

Page 153: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 153UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

階層フロアプラン

階層フロアプランでは、 デバイス上の領域に階層レベルを配置できます。 この領域が配置でのガイ ド ラ インとな り、詳細な配置が決定されます。 階層フロアプランは、 ゲート レベル フロアプランと比較して、 次のよ う な利点があ ります。

• ゲート レベル フロアプランよ り も短時間で実行できます。 適切なフロアプランによ り、 タイ ミ ングを改善できます。 フロアプランは、 デザインが変更されても保持されます。

• 階層レベルが、 ゲートのコンテナーとなり ます。 通常、 ネッ ト リ ス トが変更されても機能します。

階層フロアプランは、 次のよ うになり ます。

• ク リ ティカル パスを含む下位階層を特定します。

• 上位フロアプランを使用して、 どこに配置するかを判断します。

• 個々のセルは、 インプ リ メンテーシ ョ ンによ り配置されます。

• セルおよびタイ ミ ング パスに関する包括的な知識があ り ます。

• 通常、 適切な詳細配置が実行されます。

セルの手動配置

セルの手動配置では、 デバイスの 大限のパフォーマンスを引き出せる可能性があ り ます。 この手法は通常、 デザインの小さい部分でのみ使用されます。 たとえば、 高速 I/O インターフェイス周辺のロジッ クや、 ブロ ッ ク RAM および DSP を配置する場合などです。 手動での配置には時間がかかり ます。

すべてのフロアプラン手法には、多大なエンジニア リ ング時間がかかり ます。作業を繰り返して調整する必要がある場合もあ り ます。 セル名が変更された場合、 フロアプラン制約もアップデートする必要があ り ます。

フロアプランの際は、 終的なピン配置を念頭においてください。 I/O が固定されている と有益です。 I/O はフロアプランを開始する際のアンカー ポイン ト とな り ます。 I/O に接続されているロジッ クは、 固定されているピンの近くに移動されます。

ヒン ト : I/O に接続されているブロ ッ クは、 I/O の近くに配置してください。 ピン配置によ りブロ ッ クの I/O への接続が分散されてしまっている場合は、 ピン配置または RTL を変更するこ とを考慮してください。

Page 154: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 154UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

図 6-6 のよ うなフロアプランは、 タイ ミ ングには有益ではあ り ません。ブロ ッ クを分離するか、 ソース コードを変更するか、 ブロ ッ ク RAM および DSP のみを制約するこ とを考慮してください。 また、外部タイ ミ ング要件で許容される場合、 I/O レジスタの配置を解除してみてください。

X-Ref Target - Figure 6-6

図 6‐6 : I/O コンポーネン トの配置によりブロックの接続が分散されていしまっている例

Page 155: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 155UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

上記の Pblock は、 次の XDC 制約で表されます。

create_pblock Pblock_usbEngineadd_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 行目 (add_cells_to_pblock) で Pblock の階層レベルが指定されます。 4 つのリ ソース タイプ (SLICE、 DSP48、 RAMB18、 RAMB36) があ り、 それぞれグ リ ッ ドがあ り ます。 グ リ ッ ドで制約されていないロジッ クは、 デバイスのどこにでも配置できます。 階層レベルのブロッ ク RAM のみを制約するには、 ほかの Pblock グ リ ッ ドをディ スエーブルにします。

結果の XDC コマンドでは、 Pblock が簡略化されます。

create_pblock Pblock_usbEngineadd_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list usbEngine1]] resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59} resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29}

ブロ ッ ク RAM がデバイスに制約されますが、 スライス ロジッ クはデバイス上のどこにでも配置できます。

X-Ref Target - Figure 6-7

図 6‐7 : Pblock グリ ッ ド

Page 156: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 156UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

ヒン ト : Pblock を配置する際は、 階層を中央の Config ブロ ッ クをまたがるよ うに配置しないでください。

X-Ref Target - Figure 6-8

図 6‐8 : Config ブロックをまたがるように配置しない

Page 157: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 157UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

Pblock ベースのフロアプラン

RTL をデザインに統合する際、デバイス内のデザインをグラフ ィカル表示する と便利です。合成後のブロ ッ ク間の接続や I/O ピン配置をグラフ ィカル表示で確認する と、 デザインの理解に役立ちます。

インターコネク ト を表示するには、 階層の上位に Pblock を使用して 上位フロアプランを生成します。 上位 RTLを Pblock に分割するには、 [Tools] → [Floorplanning] → [Auto Create Pblocks] をク リ ッ ク します。

Pblock をデバイスに配置するには、 [Tools] → [Floorplanning] → [Place Pblocks] をク リ ッ ク します。 スライス数および使用率に基づいて、 Pblock のサイズが特定されます。

Pblock の使用率は、 解析中は 100% を超えていてもかまいませんが、 インプリ メンテーシ ョ ンでは 100% 以下にする必要があ り ます。 Pblock の使用率を高くする と、 デバイス上でのサイズが小さ くな り ます。 これは、 デザインの 上位ブロ ッ クの相対的なサイズおよびデバイスの配置を把握するために有効な手法です。

X-Ref Target - Figure 6-9

図 6‐9 : [Place Pblocks] ダイアログ ボックス

Page 158: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 158UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

上位フロアプラン

上位フロアプランには、 ブロ ッ ク と I/O の接続表示されます (緑色の線)。 2 つの Pblock を接続するネッ トは、 ま とめられます。線の太さおよび色は、共有されるネッ トの数によ り異なり ます。図 6-10 および 159 ページの図 6-11 に、2 つの 上位フロアプランを示します。

次の図は、デザインの 上位ブロ ッ ク間のデータ フローを示しています。各ブロ ッ クは、隣接する 2 つのブロ ッ クのみに接続されています。 緑色の線は、 1 つのブロ ッ クのみが I/O に接続されているこ とを示しています。

X-Ref Target - Figure 6-10

図 6‐10 :データ  パスを示す 上位フロアプラン

Page 159: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 159UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

次の図は、 すべてのブロ ッ クが中央のブロ ッ ク と接続されているデザインを示しています。 接続は、 中央のブロ ッ クと右下のブロ ッ クの間が も多くなっています。 この中央のブロ ッ クを分散させて、 その他のロード と通信するよ うにする必要があ り ます。

フロアプランの確認

フロアプランを確認する際は、デバイス リ ソースを考慮して ください。 Pblock のサイズ調整では、次のよ うな特殊なデバイス リ ソースは考慮されません。

• ブロ ッ ク RAM

• DSP48

• MGT

• ク ロ ッ ク バッファー

ヒン ト : フロアプランおよびリ ソース使用量を考慮してブロ ッ クを確認してください。

X-Ref Target - Figure 6-11

図 6‐11 :制御パスを含むフロアプラン

Page 160: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 160UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

特定のロジックをデバイス サイ トに固定

セルを FPGA デバイスの特定のロケーシ ョ ンに配置できます。 たとえば、 すべての I/O ポート をザイ リ ンク ス 7 シリーズ FPGA デザインに配置するなどです。 タイ ミ ング ク ロージャを試みる前に I/O を配置するこ とをお勧めします。

I/O の配置は、FPGA ファブリ ッ クでのセルの配置に影響します。ほかのセルをファブリ ッ クに手動で配置する と、 クロ ッ ク ロジッ クおよびマクロの配置がよ り一貫したものになり ます。

固定および未固定のセル

固定および未固定は、配置されたセルに適用されます。 これらは、 Vivado ツールでデザインの配置されたセルがどのよ うに認識されるかを示します。

固定および未固定のセルに関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904) [参照 7] のこのセクシ ョ ンを参照して ください。

推奨 : I/O を配置した後、 階層 Pblock のフロアプランをユーザー制御配置の開始点と して使用します。 手動配置は、Pblock でう ま く制御できない場合にのみ使用するよ うにして ください。

スタ ック ド  シリコン  インターコネク ト  (SSI) デバイスでのフロアプラン

スタ ッ ク ド シ リ コン インターコネク ト (SSI) パーツでは、追加の考慮事項があ り ます。SSI パーツは複数の SLR (SuperLogic Region) で構成されており、インターポーザーによ り結合されています。インターポーザーの接続は、SLL (SuperLong Line) と呼ばれます。 1 つの SLR から別の SLR への移動には多少の遅延があ り ます。

デザインの設計、 ピン配置、 フロアプランの際には、 SLR を考慮して ください。 ク リ ティカル タイ ミ ング パスのロジッ ク セルは 1 つの SLR 内に収め、 SLL をまたぐ接続を 小限に抑えてください。

表 6‐1 : ロジックの配置に使用する制約

制約 使用法 注記

LOC ゲー ト またはマク ロを特定のサイ ト に配置します。

SLICE サイ トには、BEL サイ ト と呼ばれるサブサイ トがあ り ます。

BEL ス ラ イ スのサブサイ ト を基本エレ メ ントに使用するよ う指定します。

Page 161: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 161UG906 (v2015.4) 2015 年 11 月 18 日

第 6 章 : デザイン クロージャ  テクニック

I/O は、関連する I/O インターフェイス回路と同じ SLR に配置されます。SSI パーツのロジッ クを配置する場合は、 クロ ッ クの配置も考慮する必要があ り ます。

推奨 : 分割を実行する前に、 ロジッ クの配置を自動で実行してみてください。 自動配置を解析するこ とによ り、 考慮していなかったフロアプラン方法が見つかるこ とがあ り ます。

配線の変更配線の変更が必要な場合があ り ます。 これは多くの場合、デザインに小さなタイ ミ ング エラーがいくつかあ り、ほかのタイ ミ ング ク ロージャ手法でそれらのエラーを解決できないよ うな状況です。 Vivado Design Suite では、 配線を変更し、 固定できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : インプ リ メ ンテーシ ョ ン』 (UG904) [参照 7] のこのセクシ ョ ンを参照してください。 `

X-Ref Target - Figure 6-12

図 6‐12 : SLL を介する接続を 小限に抑える

Page 162: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 162UG906 (v2015.4) 2015 年 11 月 18 日

第 7章

デザイン解析テクニック

report_design_analysis コマンドの使用タイ ミ ング ク ロージャを達成するのが困難な場合、またはアプリ ケーシ ョ ンの全体的なパフォーマンスを向上しよ うと している場合は、合成の実行後、およびインプリ メンテーシ ョ ン フローの各ステップの後に、デザインの特性を確認する必要があ り ます。 タイ ミ ング サマリの値 (WNS、 TNS、 WHS、 THS) (report_timing_summary) やさまざまな リ ソース使用率の値 (report_utilization、 report_clock_utilization、 report_high_fanout_nets、および report_control_sets) などの全体的なメ ト リ クスを取得するのは簡単ですが、 特定のタイ ミ ング パスにデザインのどの部分が影響しており、 全体的な QoR (結果の品質) に影響を与えているのかを解析および特定するのは困難です。 QoR 解析では、 グローバルおよびローカルの複数の特性を同時に見て、デザインおよび制約に 適でないものがあるか、 ターゲッ ト デバイスおよびインプ リ メンテーシ ョ ン ツールに適切でないロジッ ク構造があるかを確認します。 report_design_analysis コマンドを実行する と、 論理特性、 タイ ミ ング特性、 物理特性が表で示され、 QoR の根本的な原因を簡単に解析できます。

注記 : report_design_analysis コマンドでは、タイ ミ ング制約が完全であるか正確であるかはレポート されません。 タイ ミ ング制約を検証するには、 check_timing および report_exceptions コマンド と、 XDC およびタイミ ング設計手法 DRC を使用する必要があ り ます。 これらのコマンドの実行方法は、 該当するセクシ ョ ンを参照してください。

• 21 ページの 「タイ ミ ング サマリ レポート 」

• 57 ページの 「例外レポート 」

よ く発生する QoR の問題には、 次の 2 つのカテゴ リがあ り ます。

• 「タ イ ミ ング違反」

• 「密集」

タイ ミング違反

悪のタイ ミ ング違反を解析して修正する と通常全体的な QoR が向上しますが、 ほかのク リ ティカル パスもタイ ミング ク ロージャの課題となるこ とがよ く あるので、 ほかのク リ テ ィカル パスも解析する必要があ り ます。 次のコマンドを使用する と、 ワース ト セッ ト アップ タイ ミ ング パスを 50 個レポートできます。

report_design_analysis -max_paths 50 -setup

図 7-1 に、 このコマンドで生成される Setup Path Characteristics (セッ ト アップ パス特性) の表の例を示します。

Page 163: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 163UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

この表から、 どの特性が各パスにタイ ミ ング違反を発生させているのかを特定できます。

• ロジッ ク遅延の割合 (LOGIC_DELAY) が大きい

° ロジッ ク レベル数は多いですか (LOGIC_LEVELS)。

° ロジッ ク 適化を妨げる制約または属性が設定されていますか (DONT_TOUCH、 MARK_DEBUG)。

° パスに RAMB や DSP などのロジッ ク遅延の大きいセルが含まれていますか。

° パスの要件が現在のパス ト ポロジには厳しすぎませんか (REQUIREMENT)。

• ネッ ト遅延の割合 (NET_DELAY) が大きい

° パスのファンアウ トの大きいネッ トがあ り ますか (HIGH_FANOUT、 CUMULATIVE_FANOUT)。

° セルが離して配置可能な複数の Pblock に割り当てられていますか (PBLOCKS)。

° セルが離れて配置されていますか (BOUNDING_BOX_SIZE、 CLOCK_REGION_DISTANCE)。

° SSI デバイスで SLR の境界をまたぐネッ トがあ り ますか (SLR_CROSSINGS)。

° 配置は正しいよ うなのにもかかわらず、予測よ り もかな り大きいネッ ト遅延があ り ますか。164 ページの「密集」 を参照してください。

• RAMB または DSP セルにパイプライン レジスタがない (パスには存在する )

° COMB_DSP、 MREG、 PREG、 DOA_REG、 および DOA_REG の値を確認してください。

• スキューが大きい (セッ ト アップで <-0.5ns、 ホールドで >0.5ns) (SKEW)

° そのパスはクロ ッ ク乗せ換えパスですか (STARTPOINT_CLOCK および ENDPOINT_CLOCK)。

° ク ロ ッ クは同期ですか、 非同期ですか (CLOCK_RELATIONSHIP)。

° パスは I/O 列をまたいでいますか (IO_CROSSINGS)。

タイ ミ ング パスとその配置配線の詳細を Vivado® IDE で表示するには、 次のコマンドを使用します。

report_timing -max_paths 50 -setup -input_pins -name worstSetupPaths

パスは、 スラ ッ ク順に Setup Path Characteristics の表 (図 7-1) と同じ順で表示されます。

report_design_analysis コマンドでは、 ワース ト パス 5000 個の Logic Level Distribution (ロジッ ク レベル分布)の表も生成され、 デザインの長いパスを特定するのに使用できます。 通常、 配置の段階でタイ ミ ングを満たすために長のパスが 初に 適化されるので、 短いパスの配置の質が低下する可能性があ り ます。 全体的な QoR を向上す

るため、長いパスをなるべくな くすよ うにしてください。図 7-2 に、1 つのクロ ッ クのみを含むデザインの Logic LevelDistribution の例を示します。

X-Ref Target - Figure 7-1

図 7‐1 : Setup Path Characteristics の表の例

Page 164: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 164UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

解析結果に基づいて、 RTL を変更、異なる合成オプシ ョ ンを使用、 またはタイ ミ ング制約および物理制約を変更してネッ ト リ ス ト を向上できます。

密集

report_design_analysis コマンドは、 配置および配線アルゴ リ ズムによ り特定された密集エリ アと予測密集を示す複数の密集に関する表を示します。これらの表を生成するには、配置および配線を実行したのと同じ Vivado ツール セッシ ョ ンで次のコマンドを使用します。

report_design_analysis -congestion

図 7-3 に、 Vivado IDE に表示される CLB メ ト リ ク スごとの垂直方向および水平方向の配線密集と同等の予測される密集の表の例を示します。 この例では、 密集は低くなっています。

X-Ref Target - Figure 7-2

図 7‐2 : Logic Level Distribution の表の例

X-Ref Target - Figure 7-3

図 7‐3 :予測される密集の表

Page 165: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 165UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

[Module Names] に示される名前は、 レポート されている各タイルにある階層セルに対応しています。 完全な名前は、次のコマンドを使用する と取得できます。

get_cells -hier <moduleName>

密集エ リ アに存在する階層セルを特定したら、 密集を緩和する手法を使用してデザインの全体的な密集を削減します。

エラボレート済みビューを使用した RTL の 適化インプ リ メンテーシ ョ ンのいずれかの手順の後に report_timing、 report_timing_summary、 または report_design_analysis を使用してタイ ミ ング結果を解析する際は、 ク リ ティカル パスの構造を確認して、RTL を変更、 合成属性を使用、 または異なる合成オプシ ョ ンを使用するこ とによ り、 これらのパスをよ り効率的にロジッ ク プリ ミ ティブにマップできるかど うかを調べます。 ロジッ ク レベル数の多いパスは、 インプリ メンテーシ ョ ン ツールに負荷がかかり、 全体的なデザイン パフォーマンスを制限するので、 これは特に重要です。

ロジッ ク レベル数の多いク リティカル パスがある場合は、 そのパスの機能にそれほど多くのロジッ ク レベルが必要なのかを見直します。 適なロジッ ク レベル数を判断するこ とは、 デザインに対する知識と RTL 適化に関する知識によるので、 簡単ではあ り ません。 合成後の 適化済みネッ ト リ ス ト を見て問題の原因となっている RTL の部分を特定して向上するのは、 複雑なタスクです。

プロジェク ト モードでは、 Vivado IDE で提供されている合成済みまたはインプ リ メ ン ト済みデザインとエラボレート済みデザインの間のクロスプローブ機能を使用するこ とで、この解析がやりやすくな り ます。合成済み/インプ リ メン ト済みデザインとエラボレート済みデザインの間でクロスプローブするには、 次を実行します。

1. 合成済み/インプリ メン ト済みデザインとエラボレート済みデザインの両方をメモリで開きます。

2. 合成済み/インプリ メン ト済みデザインでタイ ミ ング パスを選択し、 F4 キーを押して回路図を表示します。

3. Flow Navigator で [Elaborated Design] をク リ ッ ク します。 タイ ミ ング パスに対応する RTL セルが選択されているので、 F4 キーを押して RTL 回路図を開いて、 同じパスをエラボレート済みビューで表示し、 終点のピンから始点のセルにたどるこ とができます。

4. パス上にある RTL ロジッ クを、 特にその演算子またはベクターのサイズを確認してください。

Page 166: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 166UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

次のよ うに記述されたカウンターがある と します。

cnt 信号は 0 ~ 16 をカウン トするので、 エンコードするのに 5 ビッ トのベクターが必要です。 図 7-5 に、 配線後のク リティカル パスの回路図を示します。 終点は cnt 信号のビッ ト 30 です。

X-Ref Target - Figure 7-4

図 7‐4 :単純なカウンターの VHDL 例

X-Ref Target - Figure 7-5

図 7‐5 : cnt カウンターの配線後のクリテ ィ カル パスの回路図

Page 167: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 167UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

ク リ ティカル パスの始点セルと終点セルを選択し、選択したセルの回路図を開いて、終点のピンから始点にロジッ クを展開していく と、 エラボレート済みビューで同等のパスを表示できます (図 7-6)。

エラボレート済みビューに示される加算器の入力は 32 ビッ トですが、 これは cnt が整数と して宣言されているからです。 この例では、 合成 適化中 32 ビッ トの演算子が保持されます。 エラボレート済みビューは、 何が起きているのかを理解するのに役立ちます。 これに基づいて次のよ うに RTL を変更し、 適化されたネッ ト リ ス トおよびタイミ ング QoR を向上できます。 カウンターは 0 から 16 までインク リ メン トするので、 cnt 信号の範囲を定義し、 加算器の入力を 32 ビッ ト幅ではなく 5 ビッ ト幅に強制できます。

RTL コードに加えた変更は合成 適化にも影響します。 これは、 コンパイル フロー全体を実行せずに、 エラボレート済みビューを使用して確認できます。

X-Ref Target - Figure 7-6

図 7‐6 : cnt カウンターのエラボレート済みビュー

X-Ref Target - Figure 7-7

図 7‐7 :単純なカウンターの整数範囲を設定した VHDL 例

Page 168: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 168UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

デザインの 長ロジック遅延パスを特定タイ ミ ング パスは、 デザインの論理パスに対応します。 パスの遅延は、 セル遅延とネッ ト遅延を累積したものです。Vivado 合成およびインプリ メンテーシ ョ ンはタイ ミ ング ド リブンであ り、 コンパイル フローを通してデザインでタイ ミ ング違反が 悪のパスを 適化するよ う実行されます。 パスの累積セル遅延がタイ ミ ング要件 (パスのクロ ッ ク周期など) 以上である場合、インプリ メンテーシ ョ ン後にデザインでタイ ミ ングが満たされる可能性は低くなり ます。ロジッ ク遅延を解析する と、予測ネッ ト遅延または配線ネッ ト遅延を含む前のワース ト パスが示されるので、単にロジッ ク レベルを数えるよ り も有益です。 この解析の結果には、 ネッ ト遅延を含まない配置配線前のワース ト タイ ミング パスがリ ス ト されます。

必ずしもロジッ ク レベル数ではなく、 タイ ミ ングが 悪のパスを特定するこ とが重要です。たとえば、 レジスタのないブロ ッ ク RAM の clock-to-out 遅延は非常に大き くなる一方、 複数のロジッ ク レベルを持つ一連のキャ リー チェーンでは各ロジッ ク レベルの遅延が小さいこ とがあ り ます。これらのパスをインプリ メンテーシ ョ ン前に注意深く解析してください。 遅延の大きいパスには、 通常次の 3 つがあ り ます。

• 組み込まれている出力レジスタを利用していないブロッ ク RAM

• パイプライン処理されていない DSP48

• 長いロジッ ク パス

これらのパスを特定するには、 合成後にタイ ミ ング レポート を配線遅延なしで生成するのが も効率的な方法です。これには、 Vivado IDE の [Report Timing] ダイアログ ボッ クスの [Timer Settings] タブで [Interconnect] を [none] に設定するか、 [Tcl Console] ビューまたはシェルで次の Tcl コマンドを実行します。

set_delay_model -interconnect none

タイ ミ ング結果を確認し、 タイ ミ ングが満たされていないパスを特定します。配線遅延なしでタイ ミ ングを満たしていないパスがある場合、 実際の配線遅延を含めたと きにタイ ミ ングを満たすこ とは不可能です。 これらのパスは、 すぐに修正する必要があ り ます。 通常、 これらのパスは RTL で修正する必要があ り ますが、 タイ ミ ングが満たされない原因が合成属性が不足しているこ とや、 タイ ミ ング制約が不正であるこ と もあ り ます。 変更を加える と、 図 7-9 に示すよ うにデザインのスラ ッ クが十分になり ます。

X-Ref Target - Figure 7-8

図 7‐8 : RTL 変更後の cnt カウンターのエラボレート済みビュー

Page 169: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 169UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

フ ァンアウトの大きいネッ ト  ド ライバーの特定ファンアウ トの大きいネッ トは、 インプリ メンテーシ ョ ンの問題の原因となるこ とがよ くあ り ます。 FPGA ファ ミ リのダイ サイズが大き くなる と、 ファンアウ トの問題も増加します。エンドポイン トが数千個あるネッ トでは、特にパス上に追加のロジッ クがあったり、 LUT や分散 RAM などのシーケンシャルでないセルで駆動される場合、 タイ ミ ングを満たすこ とは困難です。

多くの場合、 ファンアウ トの大きいネッ トは通常グローバル ファンアウ ト制限または特定ネッ トに MAX_FANOUT 属性を使用するこ とで、 RTL および合成で修正します。物理 適化 (phys_opt_design) を使用する と、 スラ ッ クおよび配置情報に基づいてファンアウ トの大きいネッ ト ド ラ イバーが自動的に複製され、通常はタイ ミ ングがかなり改善されます。ザイ リ ンクスでは、ファンアウ トの大きいネッ トはファブリ ッ ク レジスタで駆動するこ とをお勧めしています。 これを使用する方が、 簡単に物理 適化中に複製および移動できます。 合成後および物理 適化後に、 ファンア ウ ト の大 き い信号の リ ス ト を 確認す る こ と が重要です。 こ れ ら の ネ ッ ト を 特定す る コ マ ン ド はreport_high_fanout_nets です。

レポート を生成したら、 ファンアウ トの大きいネッ ト を介するタイ ミ ングおよび対応する回路図を確認できます。 このレポートでは、 ク ロ ッ クはファンアウ トの大きいド ライバーと して リ ス ト されません。 [Driver Type] 列に BUFG がリ ス ト されている場合は、 この BUFG がロジッ クを駆動します。 ク ロ ッ ク ピンも駆動する可能性があ り ます。

### Report the high fanout netreport_high_fanout_nets -load_types -max_nets 100### Report timing through specific high fanout netreport_timing -through [get_nets I_GLOBAL_RST_N_i] -name high_fanout_1

次に、 phys_opt_design でファンアウ トが削減されたデザイン例を示します。

配置後のチェッ クポイン ト : report_high_fanout_nets

ヒン ト : report_high_fanout_nets コマンドで -timing および -load_types オプシ ョ ンを使用する と、 ファンアウ トの大きいネッ トの遅延およびさまざまなロードが表示されます。

このネッ トの物理 適化後のタイ ミ ング レポートは、 次のとおりです。

X-Ref Target - Figure 7-9

図 7‐9 :配線遅延なしのタイ ミング レポート

Page 170: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 170UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

このネッ トのファンアウ トは 2945 から 464 に削減されていますが、 よ り重要なのは、 ファンアウ トの削減によ り このパスのタイ ミ ングが 1ns 以上向上したという こ とです。

各ネッ トの FLAT_PIN_COUNT プロパティは、デザイン階層全体でこのネッ トに接続されている 下位セルの数を示します。 FLAT_PIN_COUNT プロパティを確認するには、 get_property コマンドを使用します。

get_property FLAT_PIN_COUNT [get_nets my_hfn]

ヒン ト : Tcl スク リプ ト を使用するこ とによ り、ファンアウ トの大きい特定のネッ ト を介して伝搬されるパスに関する追加レポート を作成できます。

ホールド違反の修正がデザインに悪影響を及ぼすかの判断Vivado 配線では、セッ ト アップよ り もホールドの修正が優先されます。 これは、セッ ト アップが少しの差で満たされていない場合でも、デザインはラボ環境では機能するこ とがあるからです。 クロ ッ ク周波数を下げるこ とはいつでもできます。 ホールド違反がある と、 通常デザインは機能しません。

ほとんどの場合は配線でセッ ト アップに影響を与えずにホールド タイ ミ ングを満たすこ とができますが、デザインや制約にエラーがあるために、 ホールド タイ ミ ングを満たすこ とによ りセッ ト アップ タイムに大き く影響するがこ とがあ り ます。 -hold が指定されていない不適切な set_multicycle_path 制約によ り、 不適切なホールド チェックが実行されたり、過剰なクロ ッ ク スキューによ りホールド要件が大き くなるこ とがあ り ます。 この場合、該当する回路でクロ ッ ク アーキテクチャを確認するこ とをお勧めします。 詳細は、 『UltraFast 設計手法 (Vivado Design Suite 用)』 (UG949) [参照 5] のこのセクシ ョ ンを参照してください。

これは、デザインのセッ ト アップ タイ ミ ングが配置後には満たされたが、配線後に満たされなかった場合に発生するこ とがあ り ます。

ヒン ト : 配置後のホールド タイ ミ ング予測を解析し、ホールド違反が以上に大きい (500ps 以上) のものを特定します。

ホールド違反の修正がタイ ミ ング ク ロージャに影響している と考えられる場合は、次のいずれかの方法を使用してそうであるかを確認できます。

• 「方法 1 : ホールド違反の修正なしで配線を実行」

• 「方法 2 : タイ ミ ングが満たされていない 悪のセッ ト アップ パスに対して report_timing -min を実行」

X-Ref Target - Figure 7-10

図 7‐10 : タイ ミング レポートの例

Page 171: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 171UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

方法 1 : ホールド違反の修正なしで配線を実行

1. Vivado Design Suite で配置後のチェッ クポイン ト を開きます。

2. すべてのホールド チェッ クをディ スエーブルにする制約を追加します。

set_false_path -hold -to [all_clocks]

注意 : この制約は、 テス ト目的でのみ使用してください。 製品にするデザインや別の設計者に配布するデザインには使用しないでください。 製品デザインの前にこの制約を削除する必要があ り ます。

3. route_design および report_timing_summary を実行します。

ホールド チェッ クを実行した場合と実行しなかった場合で WNS が大き く異なる場合は、 ホールド違反が大きすぎ、セッ ト アップ パスが影響を受けているこ とを示します。

方法 2 : タイ ミングが満たされていない 悪のセッ トアップ パスに対して report_timing ‐min を実行

タイ ミ ングが満たされていない 悪のセッ ト アップがホールド違反の修正によるものであるかを判断するには、そのパスのホールド タイ ミ ングを調べます。Vivado IDE で、パスを右ク リ ッ ク して [Report Timing on Source to Destination]をク リ ッ ク します。セッ ト アップ タイ ミ ング解析とは異なり、ホールド タイ ミ ングを確認するこ とは重要です。ホールド レポートで、要件を確認し、ホールド要件を満たすためにパスに遅延が追加されていないかど うかを調べてください。

X-Ref Target - Figure 7-11

図 7‐11 :特定のパスに対してタイ ミング レポートを生成

Page 172: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 172UG906 (v2015.4) 2015 年 11 月 18 日

第 7 章 : デザイン解析テクニック

タイ ミ ングが満たされていないパスすべてをすばやく解析report_timing_summary コマンドは、 すべてのデザインのタイ ミ ング情報を確認するのに非常に優れたツールです。 タイ ミ ングが満たされていないすべてのパスを 1 つのレポートで見るだけでも有益である場合があ り ます。 コマンド ラインまたは IDE 内で次のコマンドを実行します。

report_timing -max_paths 100 -slack_less_than 0 -name worse_100_setup

ヒン ト : IDE を使用する と、 タイ ミ ング結果をスプレッ ドシートにエクスポート して、 タイ ミ ングが満たされていないパスを包括的に解析できます。

上記のコマンドは、 タイ ミ ングが満たされていないパスを 悪のものから 100 個レポート します。 タイ ミ ングが満たされていないパスが 100 個未満の場合は、 –slack_less_than 0 オプシ ョ ンが使用されているので、 タイ ミ ングが満たされていないパスのみがレポート されます。 1 つのリ ス トでタイ ミ ングが満たされていないパスを確認する と、タイ ミ ングの満たされていないパス間の違反量の差をすばやく特定できます。

たとえば、 -3ns の WNS が数個のパスに影響していても、 その次の WNS が -300ps であるよ うな場合もあ り ます。

デフォルトでは、エンドポイン ト ごとに 悪のタイ ミ ング パスが 1 つ表示されます。通常、同じエンドポイン トに対して同様のパスが多数あ り ます。

1 つのエンドポイン トに対してタイ ミ ングが満たされていないパスをすべて表示するには、 report_timing コマンドで -nworst オプシ ョ ンを使用します。 たとえば、 タイ ミ ングが満たされていないワース ト ケースのエンドポイント を通過するすべてのパスを表示するには、 次のコマンドを実行します (100 個以下である場合)。

report_timing -max_paths 100 -nworst 100

ワース ト パス をすべて取得する と、 膨大なデータ量にな り ます。 解析するデータ量を 小限に抑えるには、report_timing コマンドの –unique_pins オプシ ョ ンを使用してパスの固有の部分のみをレポートできます。 このオプシ ョ ンを使用する と、固有のピンの組み合わせそれぞれに対して 1 つのパスがリ ス ト されます。次に例を示します。

report_timing -max_paths 100 -nworst 100 -unique_pins

Page 173: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 173UG906 (v2015.4) 2015 年 11 月 18 日

付録 A

タイ ミング DRC

TIMING‐1:Invalid Clock Waveform on Clock Modifying Block

Invalid clock waveform for clock <CLOCK_NAME> specified at a <CELL_TYPE> output <PIN_NAME> that does not match the Clock Modifying Block (CMB) settings.The waveform of the clock is <VALUE>.The expected waveform is <VALUE>. (調整ブロッ ク (CMB) 設定と一致しない <CELL_TYPE> 出力の <PIN_NAME> で指定されたクロ ッ ク <CLOCK_NAME> のクロ ッ ク波形が無効です。 ク ロ ッ クの波形は <VALUE>、 予測される波形は <VALUE> です)

説明

Vivado® Design Suite では、 CMB (ク ロ ッ ク調整ブロ ッ ク ) 設定と入力マスター ク ロ ッ クの特性に基づいて CMB の出力でクロ ッ クが自動的に派生されます。 ユーザーが CMB 出力で生成クロ ッ クを定義する場合は、 Vivado で同じ定義ポイン ト (ネッ ト またはピン) で生成クロ ッ クが自動的に派生されるこ とはあ り ません。 この DRC 警告は、 ユーザー定義の生成クロ ッ クが Vivado で自動的に派生される予測クロ ッ ク と一致しないこ とを示しています。これによ り、デザインのタイ ミ ング制約がデバイスで発生するものと一致しないので、 ハード ウェア エラーになる可能性があ り ます。

回避策

ユーザー定義の生成クロ ッ クは必要あ り ませんので、制約を削除し、自動派生されたクロ ッ クを代わりに使用してください。 制約が必要な場合は、 生成クロ ッ ク制約が自動派生クロ ッ クの波形と一致するか確認するか、 CMB プロパテ ィ を予測ク ロ ッ ク波形と一致する よ う に変更します。 自動派生ク ロ ッ クの名前を使用する必要がある場合は、create_generated_clock 制約に定義済みの -name オプシ ョ ンにそのクロ ッ クが定義されたオブジェク ト (通常CMB の出力ピン) の名前のみを付けて使用するこ とをお勧めします。生成クロ ッ クの作成方法と自動派生クロ ッ クの名前変更制約の制限に関する情報は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

Page 174: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 174UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

次の図では、 create_generated_clock 制約が MMCM インスタンス ピンの CLKOUT0 に定義されていますが、MMCM 属性設定を基に Vivado で 生成された自動派生波形とは一致しません。

自動派生クロ ッ クの名前を変更するだけの場合は、次の制約を制約ファイルのマスター ク ロ ッ ク定義の直後に使用します。

create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/mmcme3_adv_inst/CLKOUT0]

X-Ref Target - Figure A-1

図 A‐1 : クロック調整ブロックの無効なクロック波形

Page 175: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 175UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐2:Invalid Primary Clock on Internal Pin

A primary clock <CLOCK_NAME> is created on an inappropriate pin <PIN_NAME>.It is recommended to create a primary clockonly on a proper clock root (input port or primitive output pin with no timing arc). (プライマ リ ク ロ ッ ク <CLOCK_NAME> が不適切なピン <PIN_NAME> に作成されています。 プライマ リ ク ロ ッ クは正しいクロ ッ ク ルート (タイ ミ ング アークなしの入力ポート またはプリ ミ ティブの出力ピン) にのみ作成するよ うにして ください)

説明

プライマ リ ク ロ ッ クはク ロ ッ ク ツ リーのソースに定義する必要があ り ます。たとえば、これはデザインの入力ポートであるこ と もあ り ます。 プライマ リ ク ロ ッ クがロジッ ク パスの真ん中で定義される場合、 プライマ リ ク ロ ッ ク ソース ポイン ト よ り も前に挿入遅延が無視されるので、 タイ ミ ングが正確でなくなる可能性があ り、 スキューが正し く設定されなくな り ます。 このため、内部ド ライバー ピンにプライマ リ ク ロ ッ クを作成する と、ハード ウェアでエラーになるこ とがあるので、 お勧めしません。

回避策

実際のクロ ッ ク ツ リー ソースを使用するよ うに create_clock 制約を変更します。

次の図では、プライマ リ ク ロ ッ ク定義の create_clock 制約が IBUFCTRL インスタンスの出力ピンに使用されています。 clk_pin_p ク ロ ッ クが入力ポート または出力ポート パスにタイ ミ ング制約を付けるために使用されている場合、 ク ロ ッ ク ツ リー挿入遅延の一部がないため、 スラ ッ クが正確にはなり ません。差動入力バッファーのプライマ リク ロ ッ ク定義が 上位ポート clk_pin_p に使用される必要があ り ます。

X-Ref Target - Figure A-2

図 A‐2 :内部ピンの無効なプライマリ  クロック

Page 176: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 176UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐3:Invalid Primary Clock on Clock Modifying Block

A primary clock <CLOCK_NAME> is created on the output pin or net <PIN/NET_NAME> of a Clock Modifying Block. (プライマ リ ク ロ ッ ク <CLOCK_NAME> がクロ ッ ク調整ブロ ッ ク (CMB) の出力ピンまたはネッ ト <PIN/NET_NAME>に作成されています)

説明

Vivado では、 CMB 設定と入力マスター ク ロ ッ クの特性に基づいて CMB の出力でクロ ッ クが自動的に派生されます。ユーザーが CMB 出力でプライマ リ ク ロ ッ クを定義する場合、 Vivado で同じ出力でクロ ッ クが派生されるこ とはあ りません。 この DRC 警告は、 プラ イマ リ ク ロ ッ クが CMB の出力で作成されているので、 入力クロ ッ ク との関連がなくな り、 ク ロ ッ ク挿入遅延が正し く計算されないこ とを示しています。 これは、 タイ ミ ング解析とハード ウェア ビヘイビアーが正確でなくなる可能性があるので、 推奨されません。

回避策

CMB の出力の create_clock 制約を削除します。 自動生成クロ ッ クの名前を使用する場合は、create_generated_clock 制約に -name オプシ ョ ンと CMB 出力ピンのみを付けるこ とをお勧めします。 生成クロ ッ クの作成に関する詳細は、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

次の図では、 create_clock 制約が MMCM インスタンス ピン CLKOUT0 に定義されています。 これによ り、 Vivadoで作成された自動派生クロ ッ クが上書きされ、 入力クロ ッ ク との関連がなくな り ます。

自動派生クロ ッ クの名前を変更するだけの場合は、次の制約を制約ファイルのマスター ク ロ ッ ク定義の直後に使用します。

create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/mmcme3_adv_inst/CLKOUT0]

Page 178: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 178UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐4:Invalid Primary Clock Redefinition on a Clock Tree

Invalid clock redefinition on a clock tree.The primary clock <CLOCK_NAME> is defined downstream of clock <CLOCK_NAME>and overrides its insertion delay and/or waveform definition. (ク ロ ッ ク ツ リーのクロ ッ ク再定義が無効です。 プライマ リ ク ロ ッ ク <CLOCK_NAME> はクロ ッ ク <CLOCK_NAME>のダウンス ト リームを定義し、 その挿入遅延と波形定義の両方またはいずれかを上書きします)

説明

プライマ リ ク ロ ッ クはク ロ ッ ク ツ リーのソースに定義する必要があ り ます。たとえば、これはデザインの入力ポートであるこ と もあ り ます。プライマ リ ク ロ ッ クが入力クロ ッ ク定義を上書きするダウンス ト リームを定義する場合、再定義されたプライマ リ ク ロ ッ ク ソース ポイン ト よ り も前に挿入遅延が無視されるので、 タイ ミ ング解析が正確でなる可能性があ り、スキューが正し く計算されなくな り ます。このため、タイ ミ ング解析が正し くな くな り、ハード ウェアでエラーになる可能性があるので、 これは推奨されません。

回避策

ダウンス ト リーム オブジェク トの create_clock 制約を削除して、アップス ト リーム ク ロ ッ クの伝搬ができるよ うにするか、 アップス ト リームのプライマ リ ク ロ ッ クを基準とする生成クロ ッ クが作成されるよ うにします。

次の図では、 プライマ リ ク ロ ッ クが 上位ポートの clk_pin_p に正し く定義されていますが、 IBUFCTRL 出力にプライマ リ ク ロ ッ クを定義し直すために create_clock 制約が使用されています。この新しいクロ ッ クは、IBUFCTRLよ り前の遅延をすべて無視します。

X-Ref Target - Figure A-4

図 A‐4 : クロック  ツリーの無効なプライマリ  クロック再定義

Page 179: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 179UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐5:Invalid Waveform Redefinition on a Clock Tree

Invalid inverted waveform on a clock tree.The generated clock <CLOCK_NAME> is defined downstream of clock<CLOCK_NAME> and has an inverted waveform definition compare to the incoming clock. (ク ロ ッ ク ツ リーの反転波形は無効です。 生成クロ ッ ク <CLOCK_NAME> はクロ ッ ク <CLOCK_NAME> のダウンス トリームを定義し、 入力クロ ッ ク と比べて反転した波形定義を含みます)

説明

生成クロ ッ クは、 入力クロ ッ クに関連して定義されるべきです。 この DRC 警告は、 入力クロ ッ ク と比べて、 生成クロ ッ クに異なる周期、 位相シフ ト、 反転といった無効な定義があるこ とをレポート しています。

回避策

create_generated_clock 制約を、 入力クロ ッ ク定義と一致する正しい波形定義を定義するよ うに変更します。 正しい生成クロ ッ ク制約の作成については、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

次の図では、 create_generated_clock が LUT1 インバーターの出力で作成されていますが、 -invert オプシ ョ ンは適用されていません。

TIMING‐6:No Common Primary Clock Between Related Clocks

The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are related (timed together) but they have no common primary clock.The design could fail in hardware even if timing is met.To find a timing path between these clocks, run the following command:report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>]. (ク ロ ッ ク <CLOCK_NAME1> および <CLOCK_NAME2> は関連して (一緒にタイ ミ ング制約が付いて) いますが、 共通のプライマ リ ク ロ ッ クがあ り ません。 デザインはハード ウェアでエラーになる可能性があ り ます。 これらのクロ ッ

X-Ref Target - Figure A-5

図 A‐5 : クロック  ツリーの無効な波形再定義

Page 180: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 180UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

ク間のタイ ミ ング パスを見つけるには、 report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>] を実行します)

説明

レポート されている 2 つのクロ ッ クは関連していて、共通のプライマ リ ク ロ ッ クから派生されておらず、既知の位相関係がない場合でも、 デフォル トで同期するよ うにタイ ミ ング制約が付けられます。 この DRC 警告は、 タイ ミ ングエンジンではこれらのクロ ッ クが同期するこ とが保証できないこ とを示しています。

回避策

回避策は、 2 つのクロ ッ ク ド メ インが非同期であるか、同期であるかによって異なり ます。 ク ロ ッ クが非同期の場合、2 つのド メ イン間のパスにはタイ ミ ング例外 (set_max_delay -datapath_only、 set_clock_groups、 またはset_false_path など) が使用されているべきです。 この DRC 警告は、 これらの 2 つのド メ イン間のパスすべてに完全に例外が適用されれば表示されなくな り ます。

ク ロ ッ クが同期の場合、両方のクロ ッ クが元々同じ波形であれば、ク ロ ッ ク ソース オブジェク ト両方に 1 つのタイ ミング ク ロ ッ クを定義できます (次の 1 つ目の例を参照)。

例 1 : create_clock -period 10 -name clk1 [get_ports <clock-1-source> <clock-2-source>]

2 つのクロ ッ クの波形が異なる場合は、 1 つ目のクロ ッ クをプラ イマ リ ク ロ ッ ク と して、 2 つ目のクロ ッ クを生成クロ ッ ク と して定義します。 1 つ目のクロ ッ クはマスター ク ロ ッ ク と して指定します (次の例 2 を参照)。

例 2 : create_clock -period 10 -name clk1 [get_ports <clock-1-source>]

ク ロ ッ クが関連していても、 ク ロ ッ ク周期率 2 の場合は、 1 つのソースにプライマ リ ク ロ ッ クを作成して、 2 つ目のソースに生成クロ ッ クを作成する と問題が回避できます。

create_generated_clock -source [get_ports <clock-1-source>] -name clk2 -divide_by 2[get_ports <clock-2-source>]

TIMING‐7:No Common Node Between Related Clocks

The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are related (timed together) but they have no common node.The design could fail in hardware.To find a timing path between these clocks, run the following command:report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>]. (ク ロ ッ ク <CLOCK_NAME1> および <CLOCK_NAME2> は関連して (一緒にタイ ミ ング制約が付いて) いますが、 共通のプライマ リ ク ロ ッ クがあ り ません。 デザインはハード ウェアでエラーになる可能性があ り ます。 これらのクロ ック間のタイ ミ ング パスを見つけるには、 report_timing -from [get_clocks <CLOCK_NAME1>] -to [get_clocks <CLOCK_NAME2>] を実行します)

説明

レポート されている 2 つのクロ ッ クは関連していて、 デフォルトで同期になるよ うにタイ ミ ング制約が付けられています。 この DRC 警告は、 2 つのクロ ッ ク ツ リー間で共通のノードが決定できないために、 タイ ミ ング エンジンでこれらのクロ ッ クがハード ウェアで同期になるこ とが保証されないこ とを示しています。

Page 181: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 181UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

回避策

回避策は、 2 つのクロ ッ ク ド メ インが非同期であるか、同期であるかによって異なり ます。 ク ロ ッ クが非同期の場合、2 つのド メ イン間のパスにはタイ ミ ング例外 (set_max_delay -datapath_only、 set_clock_groups、 またはset_false_path など) が使用されているべきです。

クロ ッ クが同期の場合は、 この DRC 警告は表示されません。

次の図では、 同期クロ ッ ク乗せ換え (CDC) が clk1 および clk2 ド メ イン間にあ り ます。 clk1 および clk2 は両方と もデフォルトで Vivado で同期になるよ うに決定されますが、clk1 および clk2 が入力ポート なので、2 つのクロ ック間に共通のノード関係はあ り ません。 この場合、 Vivado では 2 つのクロ ッ クが同期であるこ とが保証できません。

TIMING‐8:No Common Period Between Related Clocks

The clocks <CLOCK_NAME1> and <CLOCK_NAME2> are found related (timed together) but have no common (expandable)period. (ク ロ ッ ク <CLOCK_NAME1> および <CLOCK_NAME2> は関連して (一緒にタイ ミ ング制約が付いて) いますが、 共通の (展開可能な) 周期があ り ません)

説明

レポート されている 2 つのクロ ッ クは関連していて、 デフォルトで同期になるよ うにタイ ミ ング制約が付けられています。 ただし、 タイ ミ ング エンジンでは、 1000 サイ クルを超える両方のクロ ッ クの波形を展開した後、共通の周期を決定できませんでした。 このよ うな場合、 これらの 1000 サイ クルを超えるワース ト セッ ト アップ関係がタイ ミ ング解析に使用されますが、タイ ミ ング エンジンではこれがもっと も不必要に悪い見積も り部分であるこ とが保証できません。 これは、 通常奇数の小数点周期率のクロ ッ クで発生します。

回避策

波形ではこの 2 つのクロ ッ ク間で安全なタイ ミ ング解析ができないので、 これらのクロ ッ クは非同期と して処理するこ とをお勧めします。このため、2 つのド メ イン間のパスにはタイ ミ ング例外 (set_max_delay -datapath_only、set_false_path、 または set_clock_groups など) を使用する必要があ り ます。

X-Ref Target - Figure A-6

図 A‐6 :関連クロック間に共有ノードなし

Page 182: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 182UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐9:Unknown CDC Logic

An asynchronous Clock Domain Crossing has been detected between clock <CLOCK_NAME1> and clock <CLOCK_NAME2>through a set_false_path or a set_clock_groups or a set_max_delay -datapath_only constraint but no safeCDC logic has been identified (crossing pin <PIN_NAME>). <CLOCK_NAME1> および <CLOCK_NAME2> ク ロ ッ ク間には set_false_path、 set_clock_groups、 または set_max_delay-datapath_only 制約を介して非同期のクロ ッ ク乗せ換え (CDC) が検出されていますが、 安全な CDC ロジッ クが認識されていません (乗せ換えピン <PIN_NAME>)。

説明

DRC の目的は、 タイ ミ ング例外制約の付いたクロ ッ ク ド メ イン同士が安全な非同期クロ ッ ク乗せ換え回路を使用して設計されるよ うにするこ とにあ り ます。 認識されている安全な ト ポロジの詳細は、 62 ページの 「ク ロ ッ ク乗せ換えレポート 」 を参照して ください。

回避策

ク ロ ッ ク パス間が適切な同期になるよ うにしてください。 これには、 低でもダブル レジスタ ロジッ ク シンクロナイザーを追加する必要があ り ます。FIFO またはよ りハイレベルなプロ ト コルが既にパスに定義されている場合、 このDRC は安全に無視できます。

次の図では、 clk1 と clk2 ド メ イン間に非同期クロ ッ ク乗せ換え (CDC) があ り ますが、 clk2 キャプチャ ド メ インにデータを同期するためのダブル レジスタ ロジッ ク シンク ロナイザーが含まれません。

X-Ref Target - Figure A-7

図 A‐7 : シンクロナイザーが存在しない

Page 183: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 183UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐10:Missing Property on Synchronizer

A logic synchronizer with <CELL_NAME1> and <CELL_NAME2> has been detected between clock <CLOCK_NAME1> and clock<CLOCK_NAME2> but the synchronizer does not have the property ASYNC_REG=TRUE on both registers. (<CELL_NAME1> および <CELL_NAME2> を使用し た ロ ジ ッ ク シン ク ロナイザーが <CLOCK_NAME1> および<CLOCK_NAME2> ク ロ ッ ク間に検出されたのに、シンク ロナイザーの両方のレジスタに ASYNC_REG=TRUE プロパティがあ り ません)

説明

シンク ロナイザー レジスタでは ASYNC_REG プロパティが TRUE に設定されていないと、 合成およびインプ リ メ ンテーシ ョ ン中のロジッ ク 適化でセルが保持されず、 適な平均故障間隔 (MTBF) 統計になるよ うに配置が 適化されません。

回避策

この問題は、 ロジッ ク シンク ロナイザーの各ステージに ASYNC_REG 制約を追加する と回避できます。 ASYNC_REG制約の詳細については、『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912) [参照 10] を参照してください。

次の図では、 clk1 および clk2 間に非同期クロ ッ ク ド メ インがあ り、 ダブル レジスタ ロジッ ク シンク ロナイザーを使用して正し く同期されていますが、タイ ミ ング スラ ッ クを増加して MTBF を小さ くするためには、シンクロナイザーの各レジスタに ASYNC_REG プロパティを適用する必要があ り ます。

X-Ref Target - Figure A-8

図 A‐8 : シンクロナイザーにプロパティが付いていない

Page 184: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 184UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐11:Inappropriate Max Delay with Datapath Only Option

A max delay constraint with -datapath_only has been applied between <PIN_NAME> and <PIN_NAME>.The startpoint(s)and endpoint(s) either belong to the same clock domain or belong to two clock domains that can safely be timed together.It is onlyrecommended to use the -datapath_only option on paths between clocks that do not have a known phase relationship.ThisDRC is waived when a synchronizer is found on the path endpoint. (<PIN_NAME> および <PIN_NAME> 間に -datapath_only を使用した 大遅延制約が適用されています。 始点と終点のいずれかが同じクロ ッ ク ド メ インにあるか、安全にタイ ミ ング制約で一緒にできる 2 つのクロ ッ ク ド メ インにあ り ます。 -datapath_only オプシ ョ ンは、既知の位相関係のないクロ ッ ク間のパスにのみ使用するこ とをお勧めします 。 このDRC は、 シンクロナイザーがパスの終点にある場合は表示されません)

説明

セ ッ ト ア ッ プ ス ラ ッ ク計算から ク ロ ッ ク スキ ューを削除し て、 ホール ド タ イ ミ ングを無視するために、set_max_delay に -datapath_only オプシ ョ ンを付けて使用されています。set_max_delay -datapath_onlyコマンドは、ク ロ ッ ク関係がないのに 大遅延が必要な非同期信号のタイ ミ ング パスに制約を付けるために使用されます。 この制約を同期パスに使用するこ とはお勧めしません。

回避策

この問題は、 同期タイ ミ ング パスに適用されないよ うに set_max_delay -datapath_only 制約を変更する と回避できます。 メ ッセージにリ ス ト される始点セルと終点セルから、該当する set_max_delay 制約を見つけてください。

TIMING‐12:Clock Reconvergence Pessimism Removal Disabled

説明

CRPR (Clock Reconvergence Pessimism Removal) モードがディ スエーブルになっています。 ク ロ ッ ク ツ リー遅延に不必要に悪い見積も り部分がある と、 タイ ミ ング ク ロージャが不可能になる可能性があるので、 このモードでタイ ミ ング解析を実行するこ とはお勧めできません。

CRPR 機能は、 大および 小遅延をクロ ッ ク ネッ ト ワークの共通部分と一緒に使用するこ とで人工的に誘発される不必要に悪い見積も り部分を削除するために使用されます。 CRPR がディ スエーブルになっている と、 タイ ミ ング クロージャが困難になるこ とがあ り ます。

回避策

CRPR 解析をイネーブルにして、デザインのタイ ミ ング情報が正し くなるよ うにしてください。CPRP 解析をイネーブルにする Tcl コマンドは config_timing_pessimism -enable です。

Page 185: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 185UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐13:Timing Paths Ignored Due to Path Segmentation

Some timing paths are not reported due to path segmentation on pin(s) <PIN_NAME>.To prevent path segmentation, all the Minand Max delay constraints should be defined with a list of valid startpoints and endpoints. (<PIN_NAME> ピンのパス セグメンテーシ ョ ンが原因で、レポート されないタイ ミ ング パスがあ り ます。 パス セグメンテーシ ョ ンが実行されないよ うにするには、 有効な始点および終点のリ ス ト を使用して 小および 大遅延制約すべてを定義する必要があ り ます)

説明

パス セグメンテーシ ョ ンは、タイ ミ ング パスがタイ ミ ング制約を付けるためによ り小さなパスに分割される際に発生します。 大および 小遅延制約が無効な始点 (または終点) のピンに定義される と、 タイ ミ ング エンジンでそのノードを通るタイ ミ ング アークが分割されて、 ノードが有効な始点 (または終点) になるよ うにされます。 パス セグメンテーシ ョ ンは、 思ったよ うな結果にならないので、 使用しないよ うにして ください。 使用する と、 タイ ミ ング解析が正し くな くな り、 ハード ウェア エラーになる可能性があ り ます。

回避策

set_max_delay および set_min_delay 制約で有効な始点と終点を選択して、 できるだけパス セグメンテーシ ョンを使用しないよ うにします。 パス セグメンテーシ ョ ンの詳細と 小/ 大遅延制約の使用方法については、 『VivadoDesign Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

TIMING‐14:LUT on the Clock Tree

The LUT <CELL_NAME> has been found on the clock tree.It is not recommended to have LUT cells on the clock path. (ク ロ ッ ク ツ リーに <CELL_NAME> があ り ます。 ク ロ ッ ク パスに LUT セルを含めるのは推奨されません)

説明

ク ロ ッ ク パスに LUT がある と、 ク ロ ッ クがファブリ ッ クを介して汎用配線リ ソースに配線される必要があ り、 余分なスキューが発生してしま う こ とがあ り ます。 また、余分なスキューだけでなく、 これらのパスは PVT 違反の影響をよ り受けやすくな り ます。 ローカル ク ロ ッ クはできるだけ避けるこ とをお勧めします。

回避策

ク ロ ッ ク ツ リーの LUT は削除するよ うにデザインを変更します。合成では、 クロ ッ ク ゲーティングおよび反転など、多くの場合にこの状況が作成されるこ とがあ り ます。 たとえば、 LUT1 セルが反転する場合、 LUT は opt_design 後にダウンス ト リームの SLICE に吸収される可能性があ り ます。 opt_design が終了したら、 この状況が有効なままであるこ とを確認して ください。

Page 186: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 186UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

次の図では、 クロ ッ ク イネーブル信号の付いたクロ ッ クのゲートに LUT が使用されています。 パスに LUT があるため、 余分なスキューが発生する可能性があ り ます。

TIMING‐15:Large Hold Violation on Inter‐Clock Path

There is a large inter-clock skew of <VALUE> ns between <CELL_NAME> (clocked by <CLOCK_NAME>) and <CELL_NAME>(clocked by <CLOCK_NAME>) that results in large hold timing violation(s) of <VALUE> ns.Fixing large hold violations duringrouting might impact setup slack and result in more difficult timing closure. (<CELL_NAME> (<CLOCK_NAME> ク ロ ッ ク付き ) および <CELL_NAME> (<CLOCK_NAME> ク ロ ッ ク付き ) 間に<VALUE> ns の大きなクロ ッ ク間スキューがあるために、<VALUE> ns の大きなホールド タイ ミ ング違反になり ます。配線中に大きなホールド違反を修正する と、 セッ ト アップおよびスラ ッ クに影響し、 タイ ミ ング ク ロージャがさ らに困難になり ます)

説明

この DRC 警告は、 ク ロ ッ ク間のスキューが原因の大きなホールド違反がある と、 インプ リ メ ンテーシ ョ ン中のタイミ ング ク ロージャが困難になる可能性が高いこ とを示しています。正しい制約またはデザイン ト ポロジにするためには、 1.0 を超える大きなクロ ッ ク間スキューは検証するこ とをお勧めします。

回避策

タイ ミ ング パスの大きなク ロ ッ ク間スキューにタイ ミ ング制約を付けるか、 適ではないタイ ミ ング制約に関連付けるかを検証します。 大きなスキューが制約の付いていない CDC パスのために発生している場合は、 必要なタイ ミ ング例外を追加して ください。違反がクロ ッ ク ツ リーに関連するロジッ クのために発生している場合は、パスの トポロジを検証して、 さ らにタイ ミ ング ク ロージャが簡単になるよ う改善できないかど うかを検証してください。

X-Ref Target - Figure A-9

図 A‐9 : クロック  ツリーの LUT

Page 187: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 187UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐16:Large Setup Violation

There is a large setup violation of <VALUE> ns between <CELL_NAME> (clocked by <CLOCK_NAME>) and <CELL_NAME>(clocked by <CLOCK_NAME>).Large setup violations at the end of those stages might be difficult to fix during the post-placementimplementation flow and could be the result of non-optimal XDC constraints or non-optimal design architecture. (<CELL_NAME> (<CLOCK_NAME> ク ロ ッ ク付き ) および <CELL_NAME> (<CLOCK_NAME> ク ロ ッ ク付き ) 間に<VALUE> ns の大きなセッ ト アップ違反があ り ます。 これらのステージの終わりに大きなセッ ト アップ違反がある と、配置後のインプ リ メンテーシ ョ ン フロー中には修正するのが困難になり、 XDC 制約やデザイン アーキテクチャが適でなくなったり します)

説明

この DRC 警告では、 インプ リ メ ンテーシ ョ ン中にタイ ミ ング ク ロージャが困難になる可能性の高いセッ ト アップ違反がレポート されています。 正しい制約またはデザイン ト ポロジにするためには、 1.0 を超える大きなク ロ ッ ク間スキューは検証するこ とをお勧めします。

回避策

大きなセッ ト アップ違反がタイ ミ ング制約を付けるべきタイ ミ ング パスであるのか、 適ではないタイ ミ ング制約に関連付けるかを検証します。CDC パスに制約が付いていないためにセッ ト アップ違反が発生している場合は、必要なタイ ミ ング例外を追加して ください。 違反が組み合わせロジッ クの量が多すぎるために発生している場合は、 パスのトポロジを検証して、 さ らにタイ ミ ング ク ロージャが簡単になるよ う改善できないかど うかを検証してください。

TIMING‐17:Non‐Clocked Sequential Cell

The clock pin <PIN_NAME> is not reached by a timing clock. (ク ロ ッ ク ピン <PIN_NAME> がタイ ミ ング ク ロ ッ クで到達していません)

説明

この DRC 警告は、タイ ミ ング ク ロ ッ クで制約されていない順次セルのリ ス ト をレポート しています。 これは、レポート されたセルのタイ ミ ング解析結果に影響します。 タイ ミ ング パスを正確に 大限に網羅するためには、すべてのクロ ッ クを正し く定義する必要があ り ます。 この結果、 タイ ミ ング解析が含まれないこ とがあ り、 ハード ウェア エラーになる可能性があ り ます。

回避策

制約の付いていない順次セルを駆動するクロ ッ ク ツ リーで、足りないプライマ リ または生成クロ ッ クを作成してください。

TIMING‐18:Missing Input or Output Delay

An <INPUT/OUTPUT> delay is missing on <PORT_NAME> relative to clock(s) <CLOCK_NAME>. (<INPUT/OUTPUT> 遅延が <CLOCK_NAME> ク ロ ッ クに関連する <PORT_NAME> にあ り ません)

Page 188: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 188UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

説明

IO タイ ミ ングは、 外部デバイスを含むタイ ミ ング パスに関連します。 入力および出力遅延は、 デザインのインターフェイスのクロ ッ ク エッジに関連するポートのパス遅延を指定します。 FPGA インターフェイスが外部デバイスのタイ ミ ングを満たすよ うにするには、 入力/出力遅延制約を追加するこ とをお勧めします。

回避策

必要なボード アプリ ケーシ ョ ンに合った必要な入力および出力遅延制約を追加してください。

TIMING‐19:Inverted Generated Clock Waveform on ODDR

The waveform of the generated clock <CLOCK_NAME> is inverted compared to the waveform of the incoming clock<CLOCK_NAME>. (生成クロ ッ ク <CLOCK_NAME> の波形が入力クロ ッ ク <CLOCK_NAME> の波形と比べて反転しています)

説明

フォワード ク ロ ッ ク ポートの生成クロ ッ クは、入力クロ ッ クに関連して定義されるべきです。この DRC 警告は、フォワード ク ロ ッ ク ポートの生成クロ ッ クに、 入力ソース ク ロ ッ ク と比べて反転など、 無効な定義があるこ とをレポート しています。 これによ り、 フォワード ク ロ ッ クに関連するポートのタイ ミ ング解析がデバイスで発生するものと一致しないので、 ハード ウェア エラーになる可能性があ り ます。

回避策

create_generated_clock 制約を、入力クロ ッ ク定義と一致する正しい波形を定義するよ うに変更します。正しい生成クロ ッ ク制約の作成については、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

TIMING‐20:Non‐Clocked Latch

The latch <CELL_NAME> cannot be properly analyzed because its control pin <PIN_NAME> is not reached by a timing clock. (ラ ッチ <CELL_NAME> は、 その制御ピン <PIN_NAME> がタイ ミ ング ク ロ ッ クで到達しないため、 正し く解析できません)

説明

この DRC 警告は、 タイ ミ ング ク ロ ッ クによる制約が付いていないラ ッチ セルのリ ス ト をレポート しています。 これは、 タイ ミ ング解析結果に影響します。 タイ ミ ング パスを正確に 大限に網羅するためには、すべてのクロ ッ クを正し く定義する必要があ り ます。 この結果、 タイ ミ ング解析が完全に網羅されず、 ハード ウェア エラーになる可能性があ り ます。

回避策

ラ ッチ セルで制約の付いていない制御ピンを駆動するク ロ ッ ク ツ リーのソースにプライマ リ または生成クロ ッ クを作成して ください。

Page 189: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 189UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐21:Invalid COMPENSATION Property on MMCM

The MMCM <CELL_NAME> has an invalid COMPENSATION property value relative to the connection of its feedback loop.If thefeedback loop goes outside the FPGA, the property should be set to EXTERNAL.If the feedback loop is internal to the FPGA, theproperty should be set to ZHOLD. (MMCM <CELL_NAME> に、 そのフ ィードバッ ク ループの接続に対して無効な COMPENSATION プロパティ値が付いています。 フ ィードバッ ク ループが FPGA 外部に行く場合は、 このプロパティは EXTERNAL に、 内部に行く場合は ZHOLD に設定する必要があ り ます)

説明

MMCM の補償 (COMPENSATION) モードでは、出力クロ ッ クの遅延補償に対して MMCM フ ィードバッ クをどのよ うにコンフ ィギュレーシ ョ ンするかを定義します。 MMCM の使用状況によっては、 フ ィードバッ ク パスが特定のト ポロジと一致している必要があ り ます。 この DRC 警告は、 MMCM 使用状況のトポロジが COMPENSATION プロパティ値と一致していないこ とを示しています。 これによ り、 タイ ミ ング解析が一致しないので、 ハード ウェアで思ったとおりのビヘイビアーにならない可能性があ り ます。

回避策

MMCM の COMPENSATION プロパティはデフォルト値の AUTO のままにしておく こ とをお勧めします。Vivado 統合設計環境 (IDE) では、回路のトポロジに基づいて 適な COMPENSATION 値が自動的に選択されます。COMPENSATIONプロパティ と入力遅延補償の詳細については、 該当するアーキテクチャの ク ロ ッキング リ ソース ユーザー ガイ ドを参照して ください。

TIMING‐22:Missing External Delay on MMCM

The MMCM <CELL_NAME> has an external feedback loop but no external delay has been specified between FBOUT and FBIN.Itis recommended to specify an external delay with set_external_delay between the two ports connected to the pins FBOUTand FBIN with an external feedback loop. (MMCM の <CELL_NAME> に外部フ ィードバッ ク ループがあるのに、 FBOUT および FBIN 間に外部遅延が指定されていません。 外部フ ィ ー ド バ ッ ク ループの付いた FBOUT および FBIN ピンに接続された 2 つのポー ト 間にset_external_delay で外部遅延を指定するこ とをお勧めします)

説明

MMCM は、 フ ィードバッ ク ボード ト レースが外部コンポーネン トへの ト レースと一致する外部デスキュー用にコンフ ィギュレーシ ョ ンできます。 外部遅延値は、 MMCM の補償遅延の計算に使用されます。 これによ り、 MMCM 補償のタイ ミ ング解析がデバイスで発生するものと一致しないので、 IO パスで特にハード ウェア エラーが発生する可能性があ り ます。

回避策

定義された外部ト レース遅延用に、外部フ ィードバッ クの入力および出力ポート間に set_external_delay 制約を追加して ください。 set_external_delay コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイド』 (UG835) [参照 3] を参照してください。

Page 190: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 190UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

set_external_delay -from <output_port> -to <input_port> <external_delay_value>

TIMING‐23:Combinatorial Loop Found

A timing loop has been detected on a combinational path.A timing arc has been disabled between <CELL_NAME1> and<CELL_NAME2> to break the timing loop. (組み合わせパスにタイ ミ ング ループが検出されました。 タ イ ミ ング ループを分割するため、 タ イ ミ ング アークが<CELL_NAME1> および <CELL_NAME2> 間でディ スエーブルになっています)

説明

組み合わせタイ ミ ング ループは、組み合わせロジッ クがその入力に送信し戻されて、タイ ミ ング ループになる と作成されます。 このループがある と、 同じパスを無限に繰り返し、 タイ ミ ング制約を付けるこ と もできないので、 サイ クル数が不必要に増えてしまいます。 このタイ ミ ング ループを回避するには、 Vivado IDE でそのループのセルのタイ ミング アークをディ スエーブルにします。

回避策

組み合わせフ ィードバッ ク ループを作成しない場合は、 デザイン ソース ファ イル (RTL) を修正する と、 この問題を回避できます。 タ イ ミ ング ループが必要な場合は、 Vivado でランダムにタイ ミ ングが分割されるよ うにしないで、set_disable_timing コマンドを使用してタイ ミ ング ループを適切な箇所 (通常はフ ィードバッ ク パス) で分割します。

TIMING‐24:Overridden Max Delay Datapath Only

A set_clock_groups or a set_false path between clocks <CLOCK_NAME1> and <CLOCK_NAME2> overrides aset_max_delay -datapath_only (see constraint position <#> in the Timing Constraints window in the Vivado IDE).It isnot recommended to override a set_max_delay -datapath_only constraint.Replace the set_clock_groups orset_false_path between clocks with point-to-point set_false_path constraints. (ク ロ ッ ク <CLOCK_NAME1> および <CLOCK_NAME2> 間の set_clock_groups または set_false path が set_max_delay -datapath_only を上書き しています(Vivado IDE の [Timing Constraints] ウ ィンド ウの制約位置 <#> を参照)。 set_max_delay -datapath_only 制約を上書きするのは、 お勧めしません。 ク ロ ッ ク間の set_clock_groups または set_false_path をポイン ト ツー ポイン トの set_false_path制約と置き換えてください)

説明

こ の DRC 警告は、 set_max_delay -datapath_only 制約が ク ロ ッ ク間の set_clock_groups またはset_false_path 制約で上書き される場合にのみ表示されます。 ポイン ト ツー ポイン ト の set_false_path がset_max_delay -datapath_only を上書きする場合は、 この DRC 警告はレポート されません。

回避策

ク ロ ッ ク間の set_clock_groups または set_false_path をポイン ト ツー ポイン トのフォルス パス制約と置き換えて、 set_max_delay -datapath_only 制約が間違って上書きされてしまわないよ うにして ください。

Page 191: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 191UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐25:Invalid Clock Waveform on Gigabit Transceiver (GT)

The waveform of the clock <CLOCK_NAME> defined on the transceiver output pin <PIN_NAME> or on the net connected to that pin is not consistent with the transceiver settings or the reference clock definition is missing.The auto-derived clock period is <PERIOD> and the user-defined clock period is <PERIOD>. ( ト ランシーバー出力ピン <PIN_NAME> またはそのピンに接続されるネッ トに定義されたクロ ッ ク <CLOCK_NAME> の波形がト ランシーバー設定と一貫していないか、 基準クロ ッ クの定義があ り ません。 自動派生のクロ ッ ク周期は <PERIOD> で、 ユーザー定義のクロ ッ ク周期は <PERIOD> です)

説明

UltraScale™ デバイスの場合、Vivado では GT 設定と入力マスター ク ロ ッ クの特性に基づいて GT の出力でクロ ッ クが自動的に派生されます。 ユーザーが GT 出力で生成クロ ッ クを定義する場合は、 Vivado で同じ定義ポイン ト (ネッ トまたはピン) で生成クロ ッ クが自動的に派生されるこ とはあ り ません。7 シ リーズ デバイスの場合、Vivado では GT クロ ッ クが自動的に派生されませんが、 それでも この DRC では UltraScale と 7 シ リーズ デバイスの両方がサポート されます。 この DRC 警告は、 ユーザー定義の生成クロ ッ クが Vivado で自動的に派生される予測クロ ッ ク と一致しないこ とを示しています。 これによ り、 デザインのタイ ミ ング制約がデバイスで発生するものと一致しないので、 ハードウェア エラーになる可能性があ り ます。

回避策

ユーザー定義の生成クロ ッ クは必要あ り ませんので、 制約を削除し、 自動派生されたクロ ッ クを代わりに使用してください。制約が必要な場合は、生成クロ ッ ク制約が自動派生クロ ッ クの波形と一致するか確認するか、GT プロパティを予測ク ロ ッ ク波形 と 一致する よ う に変更し ます。 自動派生ク ロ ッ ク の名前を使用する必要があ る場合は、create_generated_clock 制約に定義済みの -name オプシ ョ ン とそのクロ ッ クが定義されたオブジェク ト (通常GT の出力ピン) の名前のみを付けて使用するこ とをお勧めします。生成クロ ッ クの作成方法と自動派生クロ ッ クの名前変更制約の制限に関する情報は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

TIMING‐26:Missing Clock on Gigabit Transceiver (GT)

The output clock pin <PIN_NAME> does not have clock defined.Create a primary clock on the <PORT_NAME> input port in orderto let Vivado auto-derive the missing GT clocks. (出力ク ロ ッ ク ピン <PIN_NAME> にク ロ ッ クが定義されていません。 <PORT_NAME> 入力ポー ト にプラ イマ リ クロ ッ クを作成して、 Vivado で足りない GT ク ロ ッ クが自動的に派生されるよ うにします)

説明

UltraScale デバイスの場合、 Vivado では GT 設定と入力マスター ク ロ ッ クの特性に基づいて GT の出力でク ロ ッ クが自動的に派生されます。 この DRC 警告では、 入力ポートにプライマ リ ク ロ ッ クがないので、 Vivado で GT の出力クロ ッ クが自動的に派生できないこ とを示しています。 この結果、 GT 関連クロ ッ クに接続されたダウンス ト リーム ロジッ クにタイ ミ ング制約が適用されません。

回避策

推奨される GT の入力ポートにプライマ リ ク ロ ッ クを作成して ください。

Page 192: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 192UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐27:Invalid Primary Clock on Hierarchical Pin

A primary clock <CLOCK_NAME> is created on an inappropriate internal pin <PIN_NAME>.It is not recommended to create aprimary clock on a hierarchical pin when its driver pin has a fanout connected to multiple clock pins. (プライマ リ ク ロ ッ クの <CLOCK_NAME> が不適切な内部ピン <PIN_NAME> に作成されています。 ド ラ イバー ピンに複数クロ ッ ク ピンへ接続されるファンアウ トがある場合、階層ピンにプライマ リ ク ロ ッ クを作成するのはお勧めしません)

説明

ド ラ イバーがクロ ッ クによって走査され、 新しいクロ ッ クが階層ピンでダウンス ト リームを定義する場合に、 その階層ピンのダウンス ト リームのセルのタイ ミ ング解析がド ライバー ピンのファンアウ トにあるセルと比較する と、異なり っています。 ド ライバー ク ロ ッ ク と階層ピン ク ロ ッ ク間に同期パスがある場合は、 スキューが正し くな くな り、 タイ ミ ング サインオフが無効になり ます。 これによ り、 ハード ウェアでエラーになる可能性があ り ます。

回避策

階層ピンからプライマ リ ク ロ ッ ク定義を削除するか、ダウンス ト リーム ク ロ ッ クが絶対に必要な場合は、生成したクロ ッ ク制約を代わりにマスターと して指定したド ライバー ク ロ ッ クに使用します。

TIMING‐28:Auto‐Derived Clock Referenced by a Timing Constraint

The auto-derived clock <CLOCK_NAME> is referenced by name inside timing constraint (see constraint position <#> in the TimingConstraint window in the Vivado IDE).It is recommended to reference an auto-derived clock by the pin name attached to the clock:get_clocks -of_objects [get_pins <PIN_NAME>]. (自動生成ク ロ ッ ク <CLOCK_NAME> がタ イ ミ ング制約内で名前で参照されています (Vivado IDE の [TimingConstraint] ウ ィンド ウの制約位置 <#> を参照)。 自動派生クロ ッ クは、 get_clocks -of_objects [get_pins <PIN_NAME>] のよ うにクロ ッ クに接続されたピン名で参照するこ とをお勧めします)

説明

自動派生クロ ッ クは、 ソース ピン オブジェク トで参照される必要があ り ます。自動派生クロ ッ ク名は、ネッ ト リ ス トや制約に変更を加える と、 開発中に変更されるこ とがあ り ます。 自動派生クロ ッ クを名前で参照するこ とは、 デザインが変更された後の run で制約が無効になってしま う こ とがあるので、 お勧めしません。

回避策

自動派生クロ ッ クは、 [get_clocks -of_objects [get_pins <PIN_NAME>]] のよ うにクロ ッ クに接続されたピン名で参照するよ うに、 制約を変更します。 または、 create_generated_clock 制約を使用して、 自動派生クロ ッ クの名前を指定します。 生成されたク ロ ッ ク制約を使用してク ロ ッ ク名を強制的に指定する方法については、『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

Page 193: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 193UG906 (v2015.4) 2015 年 11 月 18 日

付録 A : タイ ミング DRC

TIMING‐29:Inconsistent Pair of Multicycle Paths

Setup and hold multicycle path constraints should typically reference the same -start pair for SLOW-to-FAST synchronous clocksor -end pair for FAST-to-SLOW synchronous clocks (see constraint positions <#>, <#> in the Timing Constraint window in VivadoIDE).(セッ ト アップおよびホールド マルチサイクル パス制約は、通常 SLOW-to-FAST 同期クロ ッ クの同じ -start ペアまたはFAST-to-SLOW 同期クロ ッ クの -end ペアを参照する必要があ り ます (Vivado IDE の [Timing Constraints] ウ ィンド ウの制約位置 <#> を参照))。

説明

デフォルトでは、ホールド用のソース ク ロ ッ クまたはセッ ト アップ用のデスティネーシ ョ ン ク ロ ッ クに対してパス要件の乗算器を変更するのに、 set_multicycle_path 制約が使用されます。 特定の使用状況では、 パス要件は特定のクロ ッ ク エッジに対して乗算される必要があ り ます。

回避策

セッ ト アップとホールドの両方に対して、 SLOW-to-FAST 同期クロ ッ クのデスティネーシ ョ ン ク ロ ッ ク (-end) およびFAST-to-SLOW 同期ク ロ ッ クのソース ク ロ ッ ク (-start) を参照するよ うに set_multicycle_path 制約を変更します。 ク ロ ッ ク間のマルチサイ クル パスの正しい設定方法の詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 6] を参照してください。

TIMING‐30:Sub‐Optimal Master Source Pin Selection for Generated Clock

The generated clock <CLOCK_NAME> has a sub-optimal master source pin selection, timing can be pessimistic. (生成クロ ッ ク <CLOCK_NAME> に 適ではないマスター ソース ピンの選択があ り、タイ ミ ングで見積も りが不必要に悪くな り ます)

説明

生成クロ ッ クは、 その直接ファンイン内にある ク ロ ッ クを基準にするべきです。 この DRC 警告は、 生成クロ ッ クが入力マスター ク ロ ッ ク よ り も よ り上のアップス ト リームを定義するマスター ク ロ ッ クに関連付けられているこ とをレポート しています。 この場合、 タイ ミ ング解析に不必要に悪い見積も り部分がよ り多く含まれるので、 マスター クロ ッ ク と生成クロ ッ ク間のパスのクロ ッ クのばらつきが増えます。 これによ り、 タイ ミ ング ク ロージャが少し困難になり ます。 生成クロ ッ クをそのクロ ッ クが派生されるマスター ク ロ ッ ク ソース ピンに関連付けるこ とをお勧めします。

回避策

生成クロ ッ クを直接派生するマスター ク ロ ッ ク ソース ピンを参照するよ うに create_generated_clock 制約を変更します。

Page 194: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 194UG906 (v2015.4) 2015 年 11 月 18 日

付録 B

その他のリソースおよび法的通知

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。

ソリューシ ョ ン  センターデバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 ト ピックには、 デザイン アシスタン ト 、 アドバイザリ、 ト ラブルシュート ヒ ン ト などが含まれます。

参考資料 このガイ ドの補足情報は、 次の資料を参照してください。

1. 『Vivado Design Suite ユーザー ガイ ド : Vivado IDE の使用』 (UG893)

2. 『Vivado Design Suite ユーザー ガイ ド : Tcl スク リプ ト機能の使用』 (UG894)

3. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

4. 『Vivado Design Suite ユーザー ガイ ド : システム レベル デザイン入力』 (UG895)

5. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949)

6. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)

7. 『Vivado Design Suite ユーザー ガイ ド : インプリ メンテーシ ョ ン』 (UG904)

8. 『Vivado Design Suite ユーザー ガイ ド : 消費電力解析と 適化』 (UG907)

9. 『7 シ リーズ FPGA ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG472 : 英語版、 日本語版)

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

11. Vivado Design Suite のすべての資料

Page 195: Vivado Design Suite - Xilinx...Vivado Design Suite ユーザー ガイド デザイン解析およびクロージャ テクニック UG906 (v2015.4) 2015 年 11 月 18 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

デザイン解析およびクロージャ  テクニック japan.xilinx.com 195UG906 (v2015.4) 2015 年 11 月 18 日

付録 B : その他のリソースおよび法的通知

ト レーニング リソースザイ リ ンクスでは、本書に含まれるコンセプ ト を説明するさまざまな ト レーニング コースおよびビデオ チュート リ アルを提供しています。 次のリ ンクから関連する ト レーニング リ ソースを参照してください。

• Vivado Design Suite ビデオ チュート リ アル : タイ ミ ング ク ロージャのための UltraFast Vivado 設計手法

• Vivado Design Suite ビデオ チュート リ アル : Vivado タイ ミ ング制約ウ ィザードの使用

• Vivado Design Suite ビデオ チュート リ アル : アドバンス ク ロ ッ ク制約と解析

• Vivado Design Suite ビデオ チュート リ アル : インプリ メンテーシ ョ ン結果の解析

• Vivado Design Suite ビデオ チュート リ アル : Vivado でのデザイン ルール チェッ ク (DRC) の実行

• Vivado Design Suite ビデオ チュート リ アル : タイ ミ ング解析の制御

• Vivado Design Suite ビデオ チュート リ アル : Vivado タイ ミ ング ク ロージャ テクニッ ク : 物理 適化

• Vivado Design Suite ビデオ チュート リ アル : ク ロ ッ ク乗せ換えチェッ ク - CDC 解析

• Vivado Design Suite ビデオ チュート リ アル : Vivado でのデザイン解析およびフロアプラン

• Vivado Design Suite ビデオ チュート リ アル

お読みください : 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同じ )に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれら

に限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴

社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、

直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の損失、

その他あらゆる種類の損失や損害を含みます) が含まれる ものと し、 それは、 たとえ当該損害や損失が合理的に予見可能であった

り、ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。ザイ リ ンクスは、本情報に含まれる

いかなる誤り も訂正する義務を負わず、本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いません。事前

の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一定の製品は、

ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件

を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したラ イセンスに含まれる保証と補助的条件に従う こ とに

な り ます。ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用する

ために、設計されたり意図されたり していません。そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ ス

ク と責任は、 貴殿または貴社が単独で負う ものです。 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照

してください。

© Copyright 2012-2015 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含ま

れるその他の指定されたブランドは、米国およびその他各国のザイ リ ンクス社の商標です。すべてのその他の商標は、それぞれの保

有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの

右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で

入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受

け付けており ません。 あらかじめご了承ください。