...

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

by user

on
Category: Documents
156

views

Report

Comments

Transcript

デザイン解析およびクロージャ テクニック
Vivado Design Suite
ユーザー ガ イ ド
デザイ ン解析および ク ロージ ャ
テクニッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2016 年 6 月 8 日
2016.2
改訂内容
Vivado® Design Suite 2016.2 リ リ ース に併せて ア ッ プデー ト 。 次の よ う に変更 :
• 第 2 章 : 「[Check Timing] セ ク シ ョ ン」 で multiple_clock、 generated_clocks、
お よ び latch_loops チ ェ ッ ク に情報を追加
• 第 6 章 : 構成を変更 し 、 章名を変更。 次の内容を追加 :
°
「エ ラ ボ レー ト 済みビ ュ ーを使用 し た RTL の最適化」 (第 7 章か ら 移動)
°
「 メ モ リ の ワー ド 数が 2 のべ き 乗でない場合の RAMB 使用率の最適化」
°
「出力レ ジ ス タ が推論 さ れ る よ う にす る ための RAMB 入力 ロ ジ ッ ク の最適化」
°
「RAMB 出力での ク リ テ ィ カル ロ ジ ッ ク の改善」
• 第 7 章 : 構成を変更 し 、 章名を変更。 「フ ロ アプ ラ ン」 を追加 (第 6 章か ら 移動)
• 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) への リ ン ク を ア ッ プデー ト
2016 年 5 月 3 日
2016.1
Vivado Design Suite 2016.1 リ リ ース に併せてア ッ プデー ト 。 次の よ う に変更 :
• 第 1 章お よ び第 2 章の図を ア ッ プデー ト
• 「DRC レ ポー ト 」 お よ び 「設計手法 DRC の検証」 に report_methodology コ マ ン ド
の説明を追加
• 「用語」 に 「安全」、 「危険」、 お よ び 「終点」 を用語 と し て追加
• 「バ ス ス キ ュ ー レ ポー ト 」 を追加
• 「 タ イ ミ ン グ サ イ ン オ フ の確認」 に report_bus_skew コ マ ン ド に関す る 情報を追加
• 「TIMING-30: Sub-Optimal Master Source Pin Selection for Generated Clock」 で
create_generated_clock コ マ ン ド の説明を ア ッ プデー ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
2
japan.xilinx.com
目次
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
IDE を使用 し たデザ イ ン解析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ロ ジ ッ ク 解析機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
[Netlist] ウ ィ ン ド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
[Hierarchy] ウ ィ ン ド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
[Schematic] ウ ィ ン ド ウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
[Find] ダ イ ア ロ グ ボ ッ ク ス を使用 し たオブジ ェ ク ト の検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
デバ イ ス使用率統計の解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
DRC レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
設計手法 DRC の検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
第 2 章 : タ イ ミ ン グ解析機能
タ イ ミ ン グ サマ リ レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ク ロ ッ ク ネ ッ ト ワー ク レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ク ロ ッ ク 関連性レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
パルス幅レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
タ イ ミ ン グ レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デー タ シー ト レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
例外レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ク ロ ッ ク 乗せ換え レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
バス ス キ ュ ー レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
36
37
44
44
50
55
61
78
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Design Runs] ウ ィ ン ド ウ の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
配置解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
配線解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン解析レ ポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
84
91
94
第 4 章 : レ ポー ト および メ ッ セージ
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDE での メ ッ セージの表示お よ び管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vivado で生成 さ れ る レ ポー ト お よ び メ ッ セージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンに関す る レ ポー ト の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
114
115
117
118
第 5 章 : タ イ ミ ン グ解析の実行
タイ
タイ
タイ
タイ
ミ ン グ解析の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ミ ン グ解析の基礎の理解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ミ ン グ パ ス レ ポー ト の解釈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ミ ン グ サ イ ンオ フ の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
128
131
137
145
3
japan.xilinx.com
第 6 章 : 合成の解析および ク ロージ ャ テ ク ニ ッ ク
エ ラ ボ レー ト 済みビ ュ ーを使用 し た RTL の最適化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
メ モ リ の ワー ド 数が 2 のべ き 乗でない場合の RAMB 使用率の最適化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
出力レ ジ ス タ が推論 さ れ る よ う にす る ための RAMB 入力 ロ ジ ッ ク の最適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAMB 出力での ク リ テ ィ カル ロ ジ ッ ク の改善. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
146
149
152
156
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析および ク ロージ ャ テ ク ニ ッ ク
report_design_analysis コ マ ン ド の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ンの最長 ロ ジ ッ ク 遅延パ ス を特定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
フ ァ ン ア ウ ト の大 き いネ ッ ト ド ラ イ バーの特定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ホール ド 違反の修正がデザ イ ンに悪影響を及ぼすかの判断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
タ イ ミ ン グが満た さ れていないパ スすべて をすばや く 解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
フ ロ アプ ラ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
164
165
166
168
169
付録 A : タ イ ミ ング DRC
TIMING-1: Invalid Clock Waveform on Clock Modifying Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-2: Invalid Primary Clock on Internal Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-3: Invalid Primary Clock on Clock Modifying Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-4: Invalid Primary Clock Redefinition on a Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-5: Invalid Waveform Redefinition on a Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-6: No Common Primary Clock Between Related Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-7: No Common Node Between Related Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-8: No Common Period Between Related Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-9: Unknown CDC Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-10: Missing Property on Synchronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-11: Inappropriate Max Delay with Datapath Only Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-12: Clock Reconvergence Pessimism Removal Disabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-13: Timing Paths Ignored Due to Path Segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-14: LUT on the Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-15: Large Hold Violation on Inter-Clock Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-16: Large Setup Violation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-17: Non-Clocked Sequential Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-18: Missing Input or Output Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-19: Inverted Generated Clock Waveform on ODDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-20: Non-Clocked Latch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-21: Invalid COMPENSATION Property on MMCM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-22: Missing External Delay on MMCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-23: Combinatorial Loop Found. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-24: Overridden Max Delay Datapath Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-25: Invalid Clock Waveform on Gigabit Transceiver (GT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-26: Missing Clock on Gigabit Transceiver (GT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-27: Invalid Primary Clock on Hierarchical Pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-28: Auto-Derived Clock Referenced by a Timing Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-29: Inconsistent Pair of Multicycle Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIMING-30: Sub-Optimal Master Source Pin Selection for Generated Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
183
185
186
188
189
190
191
192
193
194
195
196
196
197
198
198
199
199
200
200
201
201
202
202
203
203
204
204
205
205
付録 B : その他の リ ソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
4
japan.xilinx.com
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
お読み く だ さ い : 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
5
japan.xilinx.com
第 1章
IDE を使用 し た ロ ジ ッ ク解析
IDE を使用 し たデザイ ン解析
次の章では、 ザ イ リ ン ク ス Vivado® 統合設計環境 (IDE) でのデザ イ ン解析の概要を説明 し ます。
•
「IDE を使用 し た ロ ジ ッ ク 解析」 ( こ の章)
•
第 2 章 「 タ イ ミ ン グ解析機能」
•
第 3 章 「 イ ンプ リ メ ン テーシ ョ ン結果の解析機能」
ロ ジ ッ ク 解析機能
こ の章では、 次の ロ ジ ッ ク 解析機能について説明 し ます。
•
「[Netlist] ウ ィ ン ド ウ」
•
「[Hierarchy] ウ ィ ン ド ウ」
•
「[Schematic] ウ ィ ン ド ウ」
•
「[Find] ダ イ ア ロ グ ボ ッ ク ス を使用 し たオブジ ェ ク ト の検索」
•
「デバ イ ス使用率統計の解析」
•
「DRC レ ポー ト 」
•
「設計手法 DRC の検証」
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
6
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
[Netlist] ウ ィ ン ド ウ
[Netlist] ウ ィ ン ド ウ には、 合成ツールで処理 さ れたネ ッ ト リ ス ト でのデザ イ ン階層が表示 さ れます。
X-Ref Target - Figure 1-1
図 1-1 : [Netlist] ウ ィ ン ド ウ
合成設定に よ っ て、 ネ ッ ト リ ス ト の階層が元の RTL と 100% 同 じ であ っ た り 、 階層がなか っ た り し ます。 一般的に
は、 合成ツールはデフ ォ ル ト ではほ と ん ど のユーザー階層を保持 し なが ら ロ ジ ッ ク を最適化 し 、 小型で高速のネ ッ
ト リ ス ト を作成 し ます。
合成ツールのデフ ォ ル ト を使用す る と 、 ネ ッ ト リ ス ト の階層は認識 さ れますが、 階層への イ ン タ ーフ ェ イ ス が変更
さ れ る 場合があ り ます。 一部の ピ ンや階層レベルがない場合 も あ り ます。
階層の各レベルは、 その階層ツ リ ーを示 し ます。 各レベルに、 次の も のが表示 さ れます。
•
その レベルのすべてのネ ッ ト を含む [Nets] フ ォ ルダー
•
その レベルにハー ド ウ ェ ア プ リ ミ テ ィ ブ イ ン ス タ ン ス があ る 場合は [Leaf Cells] フ ォ ルダー
•
その レベルに イ ン ス タ ン シエー ト さ れてい る 階層
ツ リ ーを た ど る と 、 すべてのブ ラ ンチを表示で き ます。 セルの横に表示 さ れてい る ア イ コ ンは、 デザ イ ンの状態を
示 し ます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 1] の こ のセ ク シ ョ ン を参照 し て く
だ さ い。
階層の各レベルの [Instance Properties] ウ ィ ン ド ウ の [Statistics] ビ ュ ーには、 次の よ う な リ ソ ース使用率統計が表示 さ
れます。
•
その階層ブ ラ ンチ全体のプ リ ミ テ ィ ブの使用状況
•
階層の境界を横切 る ネ ッ ト の数
•
階層で使用 さ れ る ク ロ ッ ク
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
7
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
X-Ref Target - Figure 1-2
図 1-2 : [Instance Properties] ウ ィ ン ド ウ
デザ イ ン を フ ロ アプ ラ ンす る 場合、 Pblock に対 し て同様のプ ロ パテ ィ が表示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
8
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
[Hierarchy] ウ ィ ン ド ウ
こ の ウ ィ ン ド ウ では、 階層の リ ソ ース の使用量を理解で き ます。 [Hierarchy] ウ ィ ン ド ウ を開 く には、 [Tools] → [Show
Hierarchy] を ク リ ッ ク す る か、 [Netlist] ウ ィ ン ド ウ で F6 キーを押 し ます。
[Hierarchy] ウ ィ ン ド ウ には、 次の図に示す よ う に、 ネ ッ ト リ ス ト の階層ツ リ ーが表示 さ れます。 各行は、 ネ ッ ト リ
ス ト 内の階層レベルを示 し ます。 下に行 く ほ ど、 ネ ッ ト リ ス ト の下位階層にな り ます。 各階層レベルは、 その レベ
ルのほかの階層に相対 し たサ イ ズで表示 さ れます。
X-Ref Target - Figure 1-3
図 1-3 : [Hierarchy] ウ ィ ン ド ウ
図 1-3 では、 cpuEngine、 usbEngine0、 お よ び usbEngine1 がデザ イ ンの大部分の ロ ジ ッ ク を占めてお り 、 おお
よ そ同 じ 数の リ ソ ース を使用 し てい る こ と が示 さ れてい ます。
使用率レ ポー ト は、 デザ イ ン を リ ソ ース タ イ プご と に表示 し ます。 各 リ ソ ース タ イ プ別に階層レベルご と の使用率
を表示 し ます。
リ ソ ース使用率レ ポー ト を表示す る には、 [Tools] → [Report] → [Report Utilization] を ク リ ッ ク し ます。 図 1-4 に、 リ
ソ ース使用率レ ポー ト を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
9
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
X-Ref Target - Figure 1-4
図 1-4 : リ ソ ース使用率レポー ト
こ のデザ イ ンでは、 2 つの usbEngine ブ ロ ッ ク に よ り RAMB36 お よ び FIFO36 ブ ロ ッ ク の大半が消費 さ れてい ま
す。 プ ラ ス記号 (+) を ク リ ッ ク す る と 、 下位階層での リ ソ ース使用率を表示で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
10
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
[Schematic] ウ ィ ン ド ウ
回路図は、 ネ ッ ト リ ス ト のグ ラ フ ィ カル表示です。 回路図を表示す る と 、 次を実行で き ます。
•
ネ ッ ト リ ス ト を グ ラ フ ィ カルに表示 し ます。
•
ゲー ト 、 階層、 お よ び接続を確認 し ます。
•
ロ ジ ッ ク コ ーン を た ど っ た り 展開 し た り し ます。
•
デザ イ ン を解析 し ます。
•
デザ イ ンの内部を よ り 理解 し やす く な り ます。
エ ラ ボ レー ト 済みデザ イ ンの RTL レベルでは、 ツールで コ ー ド が ど の よ う に解釈 さ れたかを確認で き ます。 合成済
みデザ イ ンお よ び イ ンプ リ メ ン ト 済みデザ イ ンでは、 合成ツールで生成 さ れたゲー ト を確認で き ます。
回路図を表示す る には、 [Tools] → [Schematic] を ク リ ッ ク し ます。 オブジ ェ ク ト を選択 し ていない場合は、 デザ イ ン
の最上位のゲー ト 、 階層、 お よ び接続が表示 さ れます (図 1-5)。
X-Ref Target - Figure 1-5
図 1-5 : 最上位回路図
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
11
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
回路図の拡大/縮小お よ び移動方法の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参
照 1] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
ヒ ン ト : 1 つの階層レベルを選択す る と 、 回路図がシ ンプルにな り ます。 選択 し たエ レ メ ン ト が青色でハ イ ラ イ ト さ
れ、 1 つの階層のポー ト が表示 さ れます。
X-Ref Target - Figure 1-6
図 1-6 : 1 つの階層を選択 し た場合の回路図
回路図では、 次の操作を実行で き ます。
•
階層の左上にあ る [+] を ク リ ッ ク し てゲー ト を表示 し ます。
•
ポー ト ま たはエ レ メ ン ト を ダブル ク リ ッ ク し て展開 し ます。
•
ポ ッ プア ッ プ メ ニ ュ ーを使用 し ます。
回路図の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 1] の こ のセ ク シ ョ ン
を参照 し て く だ さ い。
•
前の表示に戻っ た り 次の表示に進んだ り す る には、 ツールバーの [Previous] (←) お よ び [Next] (→) ボ タ ン を ク
リ ッ ク し ます。
•
ツールバーの [Expand All] ボ タ ン を ク リ ッ ク し て、 ロ ジ ッ ク お よ び接続を よ り 詳細に表示 し ます。
•
ツールバーの [Collapse All] を ク リ ッ ク し て、 回路図を簡略化 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
12
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
イ ンプ リ メ ン テーシ ョ ン後に タ イ ミ ン グ パス のゲー ト を視覚的に確認する には、 回路図が最 も 簡単な方法です。 パ
ス を選択 し て回路図を開 く と 、 そのパ ス のゲー ト と ネ ッ ト が表示 さ れます。
X-Ref Target - Figure 1-7
図 1-7 : タ イ ミ ング パスの回路図
回路図で関連のあ る 階層レベルを特定す る には、 右 ク リ ッ ク し て [Select Leaf Cell Parents] を ク リ ッ ク し ます。
X-Ref Target - Figure 1-8
図 1-8 : タ イ ミ ング パスの回路図で プ リ ミ テ ィ ブの親を選択
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
13
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
[Highlight] お よ び [Mark] コ マ ン ド を使用す る と 、 関連のゲー ト が見やす く な り ます。 [Highlight] お よ び [Mark] コ マ
ン ド を使用 し てプ リ ミ テ ィ ブ を色分け表示す る と 、 ど の ロ ジ ッ ク が元のパ ス にあ る か、 ど の ロ ジ ッ ク が追加 さ れた
かな ど がわか り やす く な り ます。
X-Ref Target - Figure 1-9
図 1-9 : 回路図で タ イ ミ ング パス を マー ク
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
14
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
[Find] ダ イ ア ログ ボ ッ ク ス を使用 し たオブ ジ ェ ク ト の
検索
Vivado IDE には、 優れた検索機能が含まれてい ます。 検索機能を使用する には、 [Edit] → [Find] を ク リ ッ ク し ます。
次の図に示す [Find] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
注記 : Ctrl+F キーを押 し て も [Find] ダ イ ア ロ グ ボ ッ ク ス を開 く こ と がで き ます。
X-Ref Target - Figure 1-10
図 1-10 : [Find] ダ イ ア ログ ボ ッ ク ス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
15
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
検索条件
[Find] ダ イ ア ロ グ ボ ッ ク ス を使用する と 、 さ ま ざ ま な条件およびプ ロ パテ ィ を設定し てネ ッ ト リ ス ト を検索で き ます。
X-Ref Target - Figure 1-11
図 1-11 : [Find] ダ イ ア ログ ボ ッ ク スでの検索条件の指定
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
16
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
X-Ref Target - Figure 1-12
図 1-12 : [Find] ダ イ ア ログ ボ ッ ク スでのプ ロパテ ィ オプ シ ョ ンの指定
検索例
[Edit] → [Find] を使用す る と 、 た と えば次の も のを検索で き ます。
•
未配置の I/O すべて
•
ツールで配置 さ れた グ ロ ーバル ク ロ ッ ク
•
フ ァ ン ア ウ ト が 10,000 以上のネ ッ ト
•
PREG エンベデ ッ ド レ ジ ス タ を使用す る DSP
複数の条件を使用 し た検索
複数の条件を指定 し て検索を実行す る には、 次の手順に従い ます。
1.
最初の検索条件を指定 し ます。
2.
[Properties] セ ク シ ョ ンの各行の右側にあ る [+] を ク リ ッ ク し ます。
3.
検索条件を追加 し ます。
4.
検索条件の演算子 (AND ま たは OR) を選択 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
17
japan.xilinx.com
第 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 プ ロ パテ ィ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
18
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
DRC レポー ト
デザ イ ン ルール チ ェ ッ ク (DRC) はデザ イ ン をチ ェ ッ ク し 、 一般的な問題を レ ポー ト し ます。 2016.1 リ リ ース か ら 、
DRC は 2 つの コ マ ン ド に分割 さ れてい ます。 設計手法 DRC は report_methodology コ マ ン ド に移動 さ れ、 その
他の DRC は report_drc コ マ ン ド で実行 さ れます。 設計手法 DRC 以外の DRC を実行する には、 report_drc コ
マ ン ド を使用 し ます。 イ ンプ リ メ ン テーシ ョ ンでは、 ツールで DRC が実行 さ れます。 配置配線後には、 よ り 完全で
包括的な DRC が実行 さ れます。
X-Ref Target - Figure 1-13
図 1-13 : DRC によ る ク リ テ ィ カル警告およびエ ラ ー
推奨 : DRC の ク リ テ ィ カル警告お よ びエ ラ ーを フ ロ ーの初期段階で確認 し 、 フ ロ ーの後の方で問題が発生 し ない よ
う に し て く だ さ い。
合成済みデザ イ ンで [Report DRC] を実行す る と 、 制約の適用 さ れていない I/O に対 し て ク リ テ ィ カル警告が表示 さ れ
ます。 配線済みデザ イ ンで も 、 ク リ テ ィ カル警告が レ ポー ト さ れます。 レ ポー ト を確認 し て く だ さ い。 ビ ッ ト ス ト
リ ーム生成の段階では、 同 じ DRC でエ ラ ーが レ ポー ト さ れます。 DRC レ ポー ト を早めに確認 し 、 デザ イ ンで変更が
必要な部分を特定す る よ う に し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
19
japan.xilinx.com
第 1 章 : IDE を使用 し た ロ ジ ッ ク解析
設計手法 DRC の検証
設計手法の重要性を考慮 し 、 Vivado ツールでは設計手法 DRC に従っ てい る か ど う か をチ ェ ッ ク す る
report_methodology コ マ ン ド が提供 さ れてい ます。 デザ イ ン プ ロ セ ス の段階に よ っ て、 異な る DRC があ り ま
す。 RTL リ ン ト ス タ イ ル チ ェ ッ ク はエ ラ ボ レー ト 済み RTL デザ イ ンに対 し て実行 さ れ、 ネ ッ ト リ ス ト ベース の ロ
ジ ッ ク お よ び制約チ ェ ッ ク は合成済みデザ イ ンに対 し て実行 さ れ、 イ ンプ リ メ ン テーシ ョ ンお よ び タ イ ミ ン グ
チ ェ ッ ク は イ ンプ リ メ ン ト 済みデザ イ ンに対 し て実行 さ れます。
Tcl プ ロ ンプ ト で こ れ ら のチ ェ ッ ク を実行す る には、 検証す る デザ イ ン を開いて次の Tcl コ マ ン ド を入力 し ます。
report_methodology
IDE か ら こ れ ら のチ ェ ッ ク を実行す る には、 検証す る デザ イ ン を開いて [Report Methodology] コ マ ン ド を実行 し ます。
図 1-14 に示すダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
X-Ref Target - Figure 1-14
図 1-14 : [Report Methodology] ダ イ ア ログ ボ ッ ク ス
違反が検出 さ れた場合は、 次の図に示す [DRC] ウ ィ ン ド ウ に表示 さ れます。
X-Ref Target - Figure 1-15
図 1-15 : DRC 違反
設計手法 DRC の実行に関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : シ ス テ ム レベル デザ イ ン入力』
(UG895) [参照 4] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
20
japan.xilinx.com
第 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
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
21
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Options] タ ブ
[Report Timing Summary] ダ イ ア ロ グ ボ ッ ク ス の [Options] タ ブには、 次のセ ク シ ョ ンがあ り ます。
X-Ref Target - Figure 2-1
図 2-1 : [Report Timing Summary] ダ イ ア ログ ボ ッ ク ス : [Options] タ ブ
[Report] セ ク シ ョ ン
[Options] タ ブの [Report] セ ク シ ョ ンには、 次のオプシ ョ ンがあ り ます。
•
[Path delay type]
実行す る 解析の タ イ プ を設定 し ます。 合成済みデザ イ ンの場合、 デフ ォ ル ト では最大遅延解析 (セ ッ ト ア ッ プ/
リ カバ リ ) のみが実行 さ れます。 イ ンプ リ メ ン ト 済みデザ イ ンの場合、 デフ ォ ル ト では最小/最大遅延解析 (セ ッ
ト ア ッ プ/ホール ド 、 リ カバ リ / リ ムーバル) の両方が実行 さ れます。 最小遅延解析 (ホール ド お よ び リ ムーバル)
のみを実行す る 場合は、 [min] を選択 し ます。
同等 Tcl オプシ ョ ン : -delay_type
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
22
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
•
[Report unconstrained paths]
タ イ ミ ン グ要件のないパ ス に関す る 情報を生成 し ます。 こ のオプシ ョ ンは、 Vivado IDE ではデフ ォ ル ト でオン
にな っ てい ますが、 同等の Tcl コ マ ン ド report_timing_summary ではデフ ォ ル ト では使用 さ れません。
同等 Tcl オプシ ョ ン : -report_unconstrained
•
[Report datasheet]
「デー タ シー ト レ ポー ト 」 で説明 さ れてい る デザ イ ン デー タ シー ト を生成 し ます。
同等 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] の こ のセ
ク シ ョ ン を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
23
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Advanced] タ ブ
[Report Timing Summary] ダ イ ア ロ グ ボ ッ ク ス の [Advanced] タ ブには、 次のセ ク シ ョ ンがあ り ます。
X-Ref Target - Figure 2-2
図 2-2 : [Report Timing Summary] ダ イ ア ログ ボ ッ ク ス : [Advanced] タ ブ
[Report] セ ク シ ョ ン
•
[Report from cell] : デザ イ ンの特定のセルの タ イ ミ ン グのみを レ ポー ト し ます。 指定 し たセルで開始ま たは終了
す る パ ス、 お よ びセルに完全に含まれ る パ ス のみが レ ポー ト さ れます。
同等 Tcl オプシ ョ ン : -cell
•
[Show input pins in path] : パス に使用 さ れ る セルの入力ピ ン を表示 し ます。
同等 Tcl オプシ ョ ン : -input_pins
推奨 : パ ス で使用 さ れ る すべての ピ ンに関 し て よ り 詳細な情報を得る ため、 こ のオプシ ョ ンはオンに し て く だ さ い。
•
[Report unique pins] : ピ ンの各固有のセ ッ ト に対 し て 1 つの タ イ ミ ン グ パ ス のみを表示 し ます。
同等 Tcl オプシ ョ ン : -unique_pins
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
24
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[File Output] セ ク シ ョ ン
•
[Write results to file] : 結果を指定 し た フ ァ イ ルに書 き 込みます。 デフ ォ ル ト では、 レ ポー ト は Vivado IDE の
[Timing] ウ ィ ン ド ウ に表示 さ れます。
同等 Tcl オプシ ョ ン : -file
•
[Overwrite]/[Append] : レ ポー ト を フ ァ イ ルに記述す る 場合に、 指定の フ ァ イ ルを上書 き す る か、 新 し い情報を既
存の レ ポー ト の最後に追加す る かを指定 し ます。
同等 Tcl オプシ ョ ン : -append
[Miscellaneous] セ ク シ ョ ン
•
[Ignore command errors] : コ マ ン ド を メ ッ セージ を表示せずに実行 し ます。 コ マ ン ド ラ イ ン エ ラ ーは無視 さ れ、
エ ラ ー メ ッ セージは表示 さ れません。 実行中にエ ラ ーが発生 し て も し な く て も 、 TCL_OK が返 さ れます。
同等 Tcl オプシ ョ ン : -quiet
•
[Suspend message limits during command execution] : メ ッ セージの制限を一時的に解除 し 、 コ マ ン ド か ら のすべて
の出力を返 し ます。
同等 Tcl オプシ ョ ン : -verbose
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
25
japan.xilinx.com
第 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] タ ブ
[Interconnect]
ネ ッ ト 遅延を最下位セル ピ ン間の予測配線距離に基づいて算出する か、 実際に配線 さ れたネ ッ ト を使用 し て算
出す る か、 ま たは タ イ ミ ン グ解析か ら 除外す る かを指定 し ます。 デフ ォ ル ト では、 合成済みデザ イ ンの解析で
は [estimated] に、 イ ンプ リ メ ン ト 済みデザ イ ンの解析では [actual] に設定 さ れます。
°
[estimated] : 未配置のセルの場合、 ネ ッ ト 遅延値は ド ラ イ バーお よ び ロ ー ド 、 フ ァ ン ア ウ ト の特性に基づ く
最適な配置での遅延値にな り ます。 未配線の最下位セル ピ ン間のネ ッ ト は、 タ イ ミ ン グ パ ス レ ポー ト では
「unplaced」 と 示 さ れます。
配置済みセルの場合、 ネ ッ ト 遅延は ド ラ イ バー と ロ ー ド 間の距離お よ びフ ァ ン ア ウ ト に よ り 決ま り ます。
こ のネ ッ ト は、 タ イ ミ ン グ パス レ ポー ト では 「estimated」 と 示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
26
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
°
[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
タ イ ミ ン グ サマ リ レポー ト の詳細
タ イ ミ ン グ サマ リ レ ポー ト には、 次のセ ク シ ョ ンが含まれます。
•
「[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 Pulse
Width]、 [Report Timing]、 [Check Timing]) の情報、 お よ び report_clocks な ど の Tcl のみで生成可能な レ ポー ト と
同様の情報が含まれますが、
制約の適用 さ れていないパ ス (Unconstrained Paths) な ど、 こ の レ ポー ト に し か含まれない情報 も あ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
27
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[General Information] セ ク シ ョ ン
タ イ ミ ン グ サマ リ レ ポー ト の [General Information] セ ク シ ョ ンには、 次の情報が含まれます。
•
デザ イ ン名
•
選択 さ れたデバ イ ス、 パ ッ ケージ、 ス ピー ド グ レー ド (ス ピー ド フ ァ イ ル バージ ョ ン)
•
Vivado Design Suite のバージ ョ ン
•
日付
•
レ ポー ト を生成す る ために実行 さ れた同等の Tcl コ マ ン ド
[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 遅延の算出でパ ッ ケージ遅延がデ ィ ス エーブルか ど う かを示 し ます。
X-Ref Target - Figure 2-4
図 2-4 : タ イ ミ ング サマ リ レ ポー ト : [Timer Settings] セ ク シ ョ ン
[Timer Settings] セ ク シ ョ ンのデフ ォ ル ト 設定 と その変更方法は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ
ド 』 (UG835) [参照 3] の 「config_timing_analysis」 を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
28
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Design Timing Summary] セ ク シ ョ ン
タ イ ミ ン グ サマ リ レ ポー ト の [Design Timing Summary] セ ク シ ョ ン (図 2-5) は、 デザ イ ンの タ イ ミ ン グのサマ リ を示
し ます。 ほかのセ ク シ ョ ンの結果が統合 さ れてい ます。
推奨 : [Design Timing Summary] セ ク シ ョ ンで、 配線後にすべての タ イ ミ ン グ制約が満た さ れたか、 デザ イ ンの現在の
ス テー タ ス を確認 し ます。
X-Ref Target - Figure 2-5
図 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) 終点の総数を示 し ます。
•
[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] : 解析 さ れた終点の総数を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
29
japan.xilinx.com
第 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 コ マ ン ド 、 ま たはツールで自動的に生成 さ れた ク
ロ ッ ク すべてが表示 さ れます。
•
名前、 周期、 波形、 周波数要件な ど の各 ク ロ ッ ク のプ ロ パテ ィ も 示 さ れます。
ヒ ン ト : 名前の イ ンデン ト は、 マ ス タ ー ク ロ ッ ク と 生成 ク ロ ッ ク の関係を表 し ます。
X-Ref Target - Figure 2-6
図 2-6 : タ イ ミ ング サマ リ レ ポー ト : [Clock Summary] セ ク シ ョ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
30
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Check Timing] セ ク シ ョ ン
不足 し てい る タ イ ミ ン グ制約や、 制約に問題のあ る パ ス に関す る 情報を示 し ます。 タ イ ミ ン グ サ イ ンオ フ には、 す
べてのパ ス の終点に制約が設定 さ れてい る 必要があ り ます。
制約定義の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 6] を参照 し て く だ さ い。
X-Ref Target - Figure 2-7
図 2-7 : タ イ ミ ング サマ リ レポー ト : [Check Timing] セ ク シ ョ ン
[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 : 複数の タ イ ミ ン グ ク ロ ッ ク が到達する ク ロ ッ ク ピ ン を レ ポー ト し ます。 こ の状況は、 ク
ロ ッ ク ツ リ ーに ク ロ ッ ク マルチプ レ ク サーがあ る 場合に発生す る こ と があ り ます。 同 じ ク ロ ッ ク ツ リ ーを共有
す る ク ロ ッ ク は、 デフ ォ ル ト では タ イ ミ ン グ関係があ る も の と し て タ イ ミ ン グ解析が実行 さ れますが、 こ れは
現実的な タ イ ミ ン グ状況を表 し てい ません。 ク ロ ッ ク ツ リ ーに一度に存在 さ せる こ と がで き る ク ロ ッ ク は、 常
に 1 つのみです。
ク ロ ッ ク ツ リ ーにマルチプ レ ク サーが存在する べき でない場合は、 ク ロ ッ ク ツ リ ーを調べて、 複数の ク ロ ッ ク
が ど の よ う に特定の ク ロ ッ ク ピ ンに到達 し てい る か、 それはなぜか を理解する よ う に し て く だ さ い。
•
generated_clocks : 同 じ ク ロ ッ ク ツ リ ーにないマ ス タ ー ク ロ ッ ク ソ ース を基準 と す る 生成 ク ロ ッ ク を レ
ポー ト し ます。 こ の状況は、 マ ス タ ー ク ロ ッ ク の起点 と 生成 ク ロ ッ ク の起点の間の論理パス で タ イ ミ ン グ アー
ク がデ ィ ス エーブルにな っ てい る 場合に発生す る こ と があ り ます。 こ のチ ェ ッ ク は、 -edges オプシ ョ ンで指
定 さ れてい る 場合、 生成 ク ロ ッ ク の個々のエ ッ ジに も 適用 さ れます。 論理パ ス のユネ イ ト 性 (反転/非反転) は、
マ ス タ ー ク ロ ッ ク と 生成 ク ロ ッ ク 間のエ ッ ジ関係に一致 し てい る 必要があ り ます。
•
loops : デザ イ ンで検出 さ れた組み合わせループ を レ ポー ト し ます。 ループは、 タ イ ミ ン グ を レ ポー ト する ため
Vivado IDE タ イ ミ ン グ エン ジ ンに よ り 自動的に分離 さ れます。
•
partial_input_delay : 最小入力遅延制約ま たは最大入力遅延制約のど ち ら か し か設定 さ れていない、 ク ロ ッ
ク 以外の入力ポー ト を レ ポー ト し ます。 こ れ ら のポー ト は、 セ ッ ト ア ッ プ解析 と ホール ド 解析の両方にはレ ポー
ト さ れません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
31
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
•
partial_output_delay : 最小出力遅延制約ま たは最大出力遅延制約のど ち ら か し か設定さ れていない、 ク ロ ッ
ク 以外の出力ポー ト を レ ポー ト し ます。 こ れ ら のポー ト は、 セ ッ ト ア ッ プ解析 と ホール ド 解析の両方にはレ ポー
ト さ れません。
•
latch_loops : デザ イ ンに ラ ッ チを通過する ループがあ る か ど う か をチ ェ ッ ク し ます。 こ れ ら のループは組み
合わせループ と し てはレ ポー ト さ れず、 同 じ パ ス上の借 り る こ と ので き る ラ ッ チ時間の算出に影響 し ます。
[Intra-Clock Paths] セ ク シ ョ ン
ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク が同 じ パ ス の タ イ ミ ン グ値 ( ワ ース ト ス ラ ッ ク お よ び合計違反) を示
し ます。
X-Ref Target - Figure 2-8
図 2-8 : タ イ ミ ング サマ リ レ ポー ト : [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-9
図 2-9 : タ イ ミ ング サマ リ レポー ト : [Intra-Clock Paths] セ ク シ ョ ンの詳細
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
32
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Inter-Clock Paths] セ ク シ ョ ン
ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク が異な る パ ス の タ イ ミ ン グ値 (ワ ース ト ス ラ ッ ク お よ び合計違反) を
示 し ます。
X-Ref Target - Figure 2-10
図 2-10 : タ イ ミ ング サマ リ レポー ト : [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] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-11
図 2-11 : タ イ ミ ング サマ リ レポー ト : [Path Groups] セ ク シ ョ ン
ヒ ン ト : **async_default** は、 Vivado IDE タ イ ミ ン グ エン ジ ンで自動的に作成 さ れたパ ス グループで、 リ カバ リ / リ
ムーバルの よ う な非同期 タ イ ミ ン グ チ ェ ッ ク で終わ る すべてのパス が含まれます。 こ れ ら のチ ェ ッ ク は、 [Setup] (最
大遅延解析) お よ び [Hold] (最小遅延解析) に個別に レ ポー ト さ れます。 group_paths コ マ ン ド で作成 し た グループ も す
べて こ のセ ク シ ョ ンに表示 さ れます。 ソ ース ク ロ ッ ク お よ びデス テ ィ ネーシ ョ ン ク ロ ッ ク はど の組み合わせで も 、
パ ス グループ を構成で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
33
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[User-Ignored Paths] セ ク シ ョ ン
set_clock_groups お よ び set_false_path 制約に よ り 、 タ イ ミ ン グ解析で無視 さ れたパ ス を表示 し ます。 レ
ポー ト さ れ る ス ラ ッ ク は無限大です。
X-Ref Target - Figure 2-12
図 2-12 : タ イ ミ ング サマ リ レ ポー ト : [User-Ignored Paths] セ ク シ ョ ン
[Unconstrained Paths] セ ク シ ョ ン
タ イ ミ ン グ制約がないために、 タ イ ミ ン グ解析が実行 さ れない論理パ ス を示 し ます。 こ れ ら のパ ス は、 ソ ースお よ
びデス テ ィ ネーシ ョ ン ク ロ ッ ク ペア ご と に分類 さ れます。 パ ス の開始点ま たは終点に関連付け ら れてい る ク ロ ッ ク
がない場合、 ク ロ ッ ク 名情報は空 (NONE) にな り ます。
X-Ref Target - Figure 2-13
図 2-13 : タ イ ミ ング サマ リ レポー ト : [Unconstrained Paths] セ ク シ ョ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
34
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
タ イ ミ ング パスの詳細の確認
ほ と ん ど のセ ク シ ョ ンは、 展開 し て ク ロ ッ ク ペア ご と のパス の情報を表示で き ます。 [Setup]、 [Hold]、 [Pulse Width]
サブセ ク シ ョ ンには、 N 個の ワース ト パ ス が表示 さ れます。 こ れ ら のパ ス のいずれかを選択する と 、 その詳細が
[Path Properties] ウ ィ ン ド ウ の [Report] ビ ュ ーに表示 さ れます。
パ ス を ダブル ク リ ッ ク す る と 、 同 じ 詳細情報が新 し い ウ ィ ン ド ウ に表示 さ れます。
タ イ ミ ン グ パ ス の詳細は、 第 5 章 「 タ イ ミ ン グ解析の実行」 を参照 し て く だ さ い。
各パ ス を さ ら に解析す る には、 次の手順に従い ます。
1.
右側のペ イ ンでパ ス を右 ク リ ッ ク し ます。
2.
ポ ッ プア ッ プ メ ニ ュ ーか ら 次のいずれか を ク リ ッ ク し ます。
°
[Schematic] : パ ス の回路図を表示 し ます。
°
[Report Timing on Source to Destination] : パ ス の タ イ ミ ン グ解析を再実行 し ます。
°
[Highlight] : [Device] お よ び [Schematic] ウ ィ ン ド ウ でパ ス をハ イ ラ イ ト し ます。
違反のあ るパスのみを表示
タ イ ミ ン グが満た さ れていないパ ス の ス ラ ッ ク 値は、 レ ポー ト で赤で表示 さ れます。 ツールバーの [Show only failing
paths] ボ タ ン
を ク リ ッ ク し てオンにす る と 、 こ れ ら の違反のみを表示で き ます。
次の図に、 タ イ ミ ン グ違反のあ る パ ス のみを表示 し た タ イ ミ ン グ サマ リ レ ポー ト の例を示 し ます。
X-Ref Target - Figure 2-14
図 2-14 : タ イ ミ ング サマ リ レポー ト : 違反のあるパスのみを表示
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
35
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク ネ ッ ト ワー ク レポー ト
[Report Clock Network] コ マ ン ド は、 次の方法で実行で き ます。
•
Vivado IDE の Flow Navigator か ら
•
次の Tcl コ マ ン ド を実行
report_clock_networks -name {network_1}
[Report Clock Networks] を実行す る と 、 デザ イ ンの ク ロ ッ ク が ツ リ ー表示で示 さ れます (図 2-15)。 各 ク ロ ッ ク ツ リ ー
には ソ ース か ら 終点ま での ク ロ ッ ク ネ ッ ト ワ ー ク が示 さ れ、 終点の タ イ プご と 並べ ら れます。
X-Ref Target - Figure 2-15
図 2-15 : ク ロ ッ ク ネ ッ ト ワー ク レ ポー ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
36
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク ツ リ ーには、 次の特徴があ り ます。
•
ユーザー定義ま たはツールで自動的に生成 さ れた ク ロ ッ ク を表示
•
I/O ポー ト か ら ロ ー ド ま での ク ロ ッ ク を レ ポー ト
注記 : 完全な ツ リ ーの詳細は GUI の レ ポー ト でのみ表示 さ れます。 こ の レ ポー ト のテ キ ス ト 版には、 ク ロ ッ ク
ルー ト の名前のみが表示 さ れます。
•
BUFG を駆動す る BUFG の検索に使用可能
•
ク ロ ッ ク でない ロ ー ド を駆動す る ク ロ ッ ク を表示
デザ イ ンで定義 さ れてい る 各プ ラ イ マ リ ク ロ ッ ク お よ び生成 ク ロ ッ ク を含むフ ォ ルダーが表示 さ れます。 制約が適
用 さ れていない ク ロ ッ ク ルー ト は、 別の フ ォ ルダーに表示 さ れます。
ツールバーの [Filter Ports]、 [Filter Net]、 [Filter Cell]、 [Filter Input Pins]、 [Filter Output Pins] ボ タ ン を使用 し て、 ク ロ ッ
ク ツ リ ーに表示 さ れ る 情報を限定で き ます。
ク ロ ッ ク パ ス の回路図を表示す る には、 次の手順に従い ます。
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 コ マン ド ラ イ ン を表示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
37
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Open in a new tab] チ ェ ッ ク ボ ッ ク ス
結果を新 し いビ ュ ーに表示す る か、 最後に開いた ビ ュ ーを上書 き す る かを指定 し ます。
[Options] タ ブ
X-Ref Target - Figure 2-16
図 2-16 : [Report Clock Interaction] ダ イ ア ログ ボ ッ ク ス : [Options] タ ブ
[Report Clock Interaction] ダ イ ア ロ グ ボ ッ ク ス の [Options] タ ブには、 次の フ ィ ール ド があ り ます。
•
「[Delay type]」
•
「[Significant digits]」
•
「[File Output] セ ク シ ョ ン」
[Delay type]
実行す る 解析の タ イ プ を設定 し ます。
•
合成済みデザ イ ンの場合、 デフ ォ ル ト では最大遅延解析 (セ ッ ト ア ッ プ/ リ カバ リ ) のみが実行 さ れます。
•
イ ンプ リ メ ン ト 済みデザ イ ンの場合、 デフ ォ ル ト では最小/最大遅延解析 (セ ッ ト ア ッ プ/ホール ド 、 リ カバ リ / リ
ムーバル) の両方が実行 さ れます。
最小遅延解析 (ホール ド お よ び リ ムーバル) のみを実行す る 場合は、 [min] を選択 し ます。
同等 Tcl オプシ ョ ン : -delay_type
[Significant digits]
レ ポー ト さ れ る 値の有効桁数を指定 し ます。 デフ ォ ル ト 値は 3 です。
同等 Tcl オプシ ョ ン : -significant_digits
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
38
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[File Output] セ ク シ ョ ン
[File Output] セ ク シ ョ ンには、 次のオプシ ョ ンがあ り ます。
•
[Write results to file] : 結果を指定 し た フ ァ イ ルに書 き 込みます。 Vivado IDE では、 レ ポー ト は [Clock Interaction]
ウ ィ ン ド ウ に表示 さ れます。
同等 Tcl オプシ ョ ン : -file
•
[Overwrite]/[Append] : レ ポー ト を フ ァ イ ルに記述す る 場合に、 指定の フ ァ イ ルを上書 き す る か、 新 し い情報を既
存の レ ポー ト の最後に追加す る かを指定 し ます。
同等 Tcl オプシ ョ ン : -append
[Timer Settings] タ ブ
こ の タ ブの詳細は、 26 ページの 「[Timer Settings] タ ブ」 を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
39
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク関連性レポー ト の詳細
ク ロ ッ ク 関連性レ ポー ト は、 あ る ク ロ ッ ク ド メ イ ン ( ソ ース ク ロ ッ ク ) か ら 別の ク ロ ッ ク ド メ イ ン (デス テ ィ ネー
シ ョ ン ク ロ ッ ク ) への タ イ ミ ン グ パ ス を解析 し ます。 デー タ 損失や メ タ ス テーブル状態な ど の問題を特定する のに
役立ち ます。
[Report Clock Interaction] コ マ ン ド を実行する と 、 結果が [Clock Interaction] ウ ィ ン ド ウ に表示 さ れます。 ク ロ ッ ク 関連
性レ ポー ト には、 次の図に示す よ う に、 信号の ソ ース ク ロ ッ ク ド メ イ ン を縦軸、 デス テ ィ ネーシ ョ ン ク ロ ッ ク ド
メ イ ン を横軸に、 ク ロ ッ ク ド メ イ ンのマ ト リ ッ ク ス が表示 さ れます。
X-Ref Target - Figure 2-17
図 2-17 : ク ロ ッ ク関連性レ ポー ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
40
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
マ ト リ ッ ク ス セルの色分け
マ ト リ ッ ク ス のセルは、 色分け表示 さ れます。 セルの色は、 [Tools] → [Options] を ク リ ッ ク し て表示 さ れ る [Vivado
Options] ダ イ ア ロ グ ボ ッ ク ス の [Colors] ページの [Graphical Editors] の下で指定 さ れてい る 背景色に よ っ て異な り ま
す。 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 1] の こ のセ ク シ ョ ン を参照 し
て く だ さ い。 色の凡例を非表示にす る には、 [Clock Interaction] ウ ィ ン ド ウ のツールバーで [Show/Hide Legend] (?) を
ク リ ッ ク し ます。
•
No Path (黒) : ソ ース ク ロ ッ ク か ら デス テ ィ ネーシ ョ ン ク ロ ッ ク ま でに ド メ イ ン を ま たが る タ イ ミ ン グ パ ス が存
在 し ない こ と を示 し ます。 ク ロ ッ ク に関連性はな く 、 何 も レ ポー ト さ れません。
•
Timed (緑) : ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク に同期関係があ り 、 タ イ ミ ン グ解析が安全に実行 さ
れ る こ と を示 し ます。 こ の状態は、 2 つの ク ロ ッ ク のプ ラ イ マ リ ク ロ ッ ク が共通 し てお り 、 ク ロ ッ ク 周期が単
純な比であ る 場合に、 タ イ ミ ン グ エン ジ ンに よ り 判断 さ れます。
•
User Ignored Paths (紺色) : ソ ース ク ロ ッ ク か ら デス テ ィ ネーシ ョ ン ク ロ ッ ク ま での ド メ イ ン を ま たが る パ スすべ
てにユーザー定義の false_path ま たは ク ロ ッ ク グループ制約が適用 さ れてい る こ と を示 し ます。
•
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 が適用 さ れてい る こ と を示 し ます。
重要 : マ ト リ ッ ク ス のセルの色は、 ク ロ ッ ク ド メ イ ン間の制約の状態を表 し てお り 、 ク ロ ッ ク ド メ イ ン間の タ イ ミ
ン グ パ ス の ワ ース ト ス ラ ッ ク の状態を表す も のではあ り ません。 緑色のセルは タ イ ミ ン グが満た さ れてい る こ と を
示 し てい る のではな く 、 ク ロ ッ ク ド メ イ ン間の タ イ ミ ン グ パ ス で適切に タ イ ミ ン グ解析が実行 さ れ、 ク ロ ッ ク 間に
既知の位相関係があ る こ と を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
41
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
表示 さ れる ク ロ ッ クの選択
[Clock Interaction] ウ ィ ン ド ウ に表示 さ れ る ク ロ ッ ク を選択する には、 次の手順に従い ます。
1.
ツールバーの [Clock Interaction Options] を ク リ ッ ク し ます。
2.
表示す る ク ロ ッ ク を オンに し ます。
こ れに よ り 、 表示 さ れ る ク ロ ッ ク 数は減 り ますが、 マ ト リ ッ ク ス の下の表に レ ポー ト さ れ る ク ロ ッ ク 関連性の数は
減 り ません。 ま た、 ツールバーの [Hide unused clocks] ボ タ ン を ク リ ッ ク す る と 、 論理パ ス で タ イ ミ ン グ解析が実行
さ れない ク ロ ッ ク の表示/非表示を切 り 替え る こ と がで き ます。 こ れ ら の ク ロ ッ ク は WNS/TNS/WHS/THS の算出には
使用 さ れないので、 デフ ォ ル ト では非表示にな っ てい ます。
X-Ref Target - Figure 2-18
図 2-18 : [Clock Interaction] ウ ィ ン ド ウに表示 さ れる ク ロ ッ クの選択
ク ロ ッ ク ペアのス ラ ッ ク を示す表
マ ト リ ッ ク ス の下の表には、 ソ ース/デス テ ィ ネーシ ョ ン ク ロ ッ ク ペアに対す る セ ッ ト ア ッ プ/ リ カバ リ ま たはホー
ル ド / リ ムーバルの タ イ ミ ン グ ス ラ ッ ク の概要が示 さ れます。 ワ ース ト パ ス のパ ス要件、 共通プ ラ イ マ リ ク ロ ッ ク 、
お よ び制約の状態に関す る 有益な情報 も 表示 さ れます。 図 2-17 を参照 し て く だ さ い。 こ の表には、 マ ト リ ッ ク ス に
は示 さ れない詳細な情報が表示 さ れます。
デー タ の並べ替え
表のデー タ は、 列ヘ ッ ダーを 1 回 ク リ ッ ク す る と 昇順に、 も う 1 回 ク リ ッ ク す る と 降順に並べ替え ら れます。
セルおよび行の選択
マ ト リ ッ ク ス でセルを選択す る と 、 下の表で対応す る 行が選択 さ れます。
表で行を選択す る と 、 上のマ ト リ ッ ク ス で対応す る セルがハ イ ラ イ ト さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
42
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
表の列
表には、 次の列があ り ます。
•
[Id] : 表示 さ れてい る ソ ース/デス テ ィ ネーシ ョ ン ク ロ ッ ク ペアの識別番号を示 し ます。
•
[Source Clock] : パス が開始す る ク ロ ッ ク ド メ イ ン を示 し ます。
•
[Destination Clock] : パ ス が終了す る ク ロ ッ ク ド メ イ ン を示 し ます。
•
[Edges (WNS)] : 最大遅延解析 (セ ッ ト ア ッ プ/ リ カバ リ ) の ワース ト ネガテ ィ ブ ス ラ ッ ク の算出に使用 さ れた ク
ロ ッ ク エ ッ ジ を示 し ます。
•
[WNS] : ク ロ ッ ク ド メ イ ン間の さ ま ざ ま なパス の ワース ト ケース の ス ラ ッ ク を表示 し ます。 負の ス ラ ッ ク 値は、
パ ス でセ ッ ト ア ッ プ ま たは リ カバ リ タ イ ム違反が発生 し てい る こ と を示 し ます。
•
[TNS] : ク ロ ッ ク ド メ イ ン間のパ ス に属す る すべての終点におけ る ワース ト ス ラ ッ ク 違反の合計を示 し ます。
•
[Failing Endpoints (TNS)] : ク ロ ッ ク ド メ イ ン間のパス の タ イ ミ ン グが満た さ れていない終点の数を示 し ます。 違
反の合計は、 TNS に対応 し ます。
•
[Total Endpoints (TNS)] : ク ロ ッ ク ド メ イ ン間のパ ス の終点の総数を示 し ます。
•
[Path Req (WNS)] : [WNS] 列に レ ポー ト さ れてい る パス の タ イ ミ ン グ パ ス要件を示 し ます。 2 つの ク ロ ッ ク の少
な く と も ど ち ら かで立ち上が り エ ッ ジお よ び立下 り エ ッ ジの両方がア ク テ ィ ブであ る 場合は ク ロ ッ ク ペア間に
複数のパ ス要件があ る 可能性があ り 、 ま た 2 つの ク ロ ッ ク 間のパ ス に タ イ ミ ン グ例外が適用 さ れてい る 場合 も
あ り ます。 こ の列に レ ポー ト さ れ る 値が、 最 も 厳 し い要件であ る と は限 り ません。
詳細は、 134 ページの 「パ ス要件」 を参照 し て く だ さ い。
•
[Common Primary Clock] : タ イ ミ ン グ パ ス の ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク が共通のプ ラ イ マ
リ ク ロ ッ ク で定義 さ れてい る か ど う か を示 し ます。 タ イ ミ ン グ パ ス の ソ ース ク ロ ッ ク ま たはデス テ ィ ネーシ ョ
ン ク ロ ッ ク のいずれかが仮想 ク ロ ッ ク を基準に し てい る 場合、 [Common Primary Clock] フ ィ ール ド に 「Virtual」
と 表示 さ れます。
•
[Inter-Clock Constraints] : ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク 間のすべてのパ ス の制約サマ リ を示 し
ます。 可能な値は、 41 ページの 「マ ト リ ッ ク ス セルの色分け」 に リ ス ト さ れてい ます。 次は、 こ れ ら の制約の
定義例です。
set_clock_groups -async -group wbClk -group usbClk
set_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] を実行で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
43
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
表のエ ク スポー ト
[Export to Spreadsheet] を実行す る と 、 表を XLS フ ァ イ ルに出力 し 、 ス プ レ ッ ド シー ト で使用で き ます。
パルス幅レ ポー ト
[Report Pulse Width] コ マ ン ド は、 各 イ ン ス タ ン ス ク ロ ッ ク ピ ンで最小周期、 最大周期、 High パルス時間、 Low パル
ス時間の要件が満た さ れてい る か ど う かをチ ェ ッ ク し ます。 ま た、 PCIe® ク ロ ッ ク な ど、 イ ンプ リ メ ン ト 済みデザ
イ ンの同 じ イ ン ス タ ン ス の 2 つの ク ロ ッ ク ピ ン間で最大ス キ ュ ー要件が満た さ れてい る か も チ ェ ッ ク し ます。 パル
ス幅ス ラ ッ ク の式には、 ジ ッ タ ーま たは ク ロ ッ ク のば ら つ き は含まれません。
同等 Tcl コ マ ン ド : report_pulse_width
注記 : ISE® では、 こ のチ ェ ッ ク は コ ン ポーネ ン ト ス イ ッ チ制限 と 呼ばれてい ます。
X-Ref Target - Figure 2-19
図 2-19 : パルス幅レポー ト
タ イ ミ ング レポー ト
[Report Timing] を使用す る と 、 合成後の任意の段階で、 特定の タ イ ミ ン グ パ ス を解析で き ます。 タ イ ミ ン グ サマ リ
レ ポー ト で レ ポー ト さ れた タ イ ミ ン グ問題を調査す る 場合や、 特定の タ イ ミ ン グ制約の有効性お よ び適用範囲を確
認す る 場合に使用で き ます。 [Report Timing] にはパルス幅レ ポー ト は含まれません。
[Report Timing] の実行
デザ イ ンが メ モ リ に読み込まれていれば、 メ ニ ュ ー、 ク ロ ッ ク 関連性レ ポー ト 、 タ イ ミ ン グ レ ポー ト 、 ま たは タ イ
ミ ン グ サマ リ レ ポー ト のパ ス リ ス ト か ら [Report Timing] を実行で き ます。
メ ニ ュ ーか らの [Report Timing] の実行
メ ニ ュ ーか ら [Report Timing] を実行す る には、 [Tools] → [Timing] → [Report Timing] を ク リ ッ ク し ます。
ク ロ ッ ク 関連性レ ポー ト か らの [Report Timing] の実行
ク ロ ッ ク 関連性レ ポー ト か ら [Report Timing] を実行す る には、 次の手順に従い ます。
1.
ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク のペア を選択 し ます。
2.
右 ク リ ッ ク し て [Report Timing] を ク リ ッ ク し 、 選択 し た ク ロ ッ ク 間の レ ポー ト を生成 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
44
japan.xilinx.com
第 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] ダ イ ア ロ グ ボ ッ ク ス のオプシ ョ ン と
ほぼ同 じ ですが、 追加の フ ィ ル タ ー オプシ ョ ンがい く つかあ り ます。
[Report Timing] ダ イ ア ログ ボ ッ ク ス
[Targets] タ ブ
X-Ref Target - Figure 2-20
図 2-20 : [Report Timing] ダ イ ア ログ ボ ッ ク ス : [Targets] タ ブ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
45
japan.xilinx.com
第 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] タ ブ (図 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
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
46
japan.xilinx.com
第 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 ページの 「 タ イ ミ ン グ サマ リ レ ポー ト 」 と 同 じ オプシ ョ ンがあ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
47
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
タ イ ミ ン グ パスの詳細の確認
[OK] を ク リ ッ ク す る と コ マ ン ド が実行 さ れ、 [Timing] ウ ィ ン ド ウ の新 し いビ ュ ーに結果が表示 さ れます。 選択 し た
各解析 (min/max/min_max) に対 し て N 個の ワース ト パ ス が レ ポー ト さ れます。
次の図に、 最大遅延解析お よ び最小遅延解析の両方 (SETUP お よ び HOLD) を選択 し 、 N = 4 に設定 し た場合の タ イ ミ
ン グ レ ポー ト を示 し ます。
X-Ref Target - Figure 2-21
図 2-21 : タ イ ミ ング レ ポー ト のパス リ ス ト
こ れ ら のパ ス のいずれか を選択す る と 、 その詳細が [Path Properties] ウ ィ ン ド ウ の [Report] ビ ュ ーに表示 さ れます。
X-Ref Target - Figure 2-22
図 2-22 : [Path Properties] ウ ィ ン ド ウ
パ ス を ダブル ク リ ッ ク す る と 、 同 じ 詳細情報が新 し い ウ ィ ン ド ウ に表示 さ れます。
タ イ ミ ン グ パ ス の詳細は、 第 5 章 「 タ イ ミ ン グ解析の実行」 を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
48
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
パ ス を右 ク リ ッ ク し て次の コ マ ン ド を ク リ ッ ク す る と 、 パ ス の解析に有益です。
•
[Schematic] : タ イ ミ ン グ パ ス を回路図で表示 し ます。
•
[Report Timing on Source to Destination] : パ ス の タ イ ミ ン グ解析を再実行 し ます。
•
[Highlight] : [Device] お よ び [Schematic] ウ ィ ン ド ウ でパ ス をハ イ ラ イ ト し ます。
違反のあるパスのみを表示
タ イ ミ ン グが満た さ れていないパ ス の ス ラ ッ ク 値は、 レ ポー ト で赤で表示 さ れます。 ツールバーの [Show only failing
paths] を ク リ ッ ク し てオンにす る と 、 こ れ ら の違反のみを表示で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
49
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
デー タ シー ト レ ポー ト
[Report Datasheet] コ マ ン ド を使用す る と 、 シ ス テ ム レベルの統合で使用する FPGA デバ イ ス の動作パ ラ メ ー タ ーが
レ ポー ト さ れます。
[Report Datasheet] ダ イ ア ロ グ ボ ッ ク ス
Vivado IDE で、[Tools] → [Timing] → [Report Datasheet] を ク リ ッ ク し 、[Report Datasheet] ダ イ ア ロ グ ボ ッ ク ス (図 2-23)
を開 き ます。
[Report Datasheet] ダ イ ア ログ ボ ッ ク ス : [Options] タ ブ
X-Ref Target - Figure 2-23
図 2-23 : [Report Datasheet] ダ イ ア ログ ボ ッ ク ス : [Options] タ ブ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
50
japan.xilinx.com
第 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] レ イ ア ウ ト を開 き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
51
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Report Datasheet] ダ イ ア ログ ボ ッ ク ス : [Groups] タ ブ
X-Ref Target - Figure 2-24
図 2-24 : [Report Datasheet] ダ イ ア ログ ボ ッ ク ス : [Groups] タ ブ
[Report Datasheet] ダ イ ア ロ グ ボ ッ ク ス の [Groups] タ ブでは、 基準ポー ト お よ びレ ポー ト する 追加のポー ト を指定す
る こ と に よ り 、 解析用にポー ト を グループ化で き ます。 グループを指定 し ない場合は、 ソ ース ク ロ ッ ク に基づいて
出力ポー ト のグループが自動的に検出 さ れ、 その ク ロ ッ ク に基づ く ス キ ュ ーが レ ポー ト さ れます。
[Report Datasheet] ダ イ ア ロ グ ボ ッ ク ス の [Groups] タ ブには、 次のオプシ ョ ンがあ り ます。
•
[Reference] : ス キ ュ ー算出用の基準ポー ト を指定 し ます。 ほ と ん ど の場合、 こ れは ソ ース同期出力 イ ン タ ーフ ェ
イ ス の ク ロ ッ ク ポー ト です。
同等 Tcl オプシ ョ ン : -group
•
[Ports] : レ ポー ト す る 追加のポー ト を指定 し ます。
°
[Ports] フ ィ ール ド の右側に、 [+] お よ び [-] ボ タ ンがあ り ます。
-
[+] : それぞれ基準 ク ロ ッ ク ポー ト を持つ複数のグループ を指定 し 、 新 し い基準ポー ト を含む新 し いグ
ループ を定義で き ます。
-
[-] : ポー ト のグループを削除 し ます。
[Report Datasheet] ダ イ ア ログ ボ ッ ク ス : [Timer Settings] タ ブ
こ の タ ブの詳細は、 26 ページの 「[Timer Settings] タ ブ」 を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
52
japan.xilinx.com
第 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]
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
53
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
X-Ref Target - Figure 2-25
図 2-25 : デー タ シー ト レポー ト の [Setup/Hold for Input Buses] セ ク シ ョ ン
[Max/Min Delays for Output Buses]
自動的に推論 さ れた出力バ ス の ワース ト ケース の最大お よ び最小遅延を示 し ます。 バス ス キ ュ ー も レ ポー ト さ れま
す。 バ ス ス キ ュ ーの算出では、 1 ビ ッ ト を基準 と し 、 そのビ ッ ト に対 し てほかのビ ッ ト のオ フ セ ッ ト が算出 さ れま
す。 ワース ト オ フ セ ッ ト がバス全体の ス キ ュ ー と な り ます。
[Max/Min Delays for Groups]
ソ ース同期出力 イ ン タ ーフ ェ イ ス では、 出力ス キ ュ ーはフ ォ ワー ド ク ロ ッ ク に対 し て必要です。 カ ス タ ム グループ
レ ポー ト は、 基準ポー ト を フ ォ ワー ド ク ロ ッ ク ポー ト と し て指定す る と 生成で き ます。 こ の表は [Max/Min Delays
for Output 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 を使用す る と 、 ワ ース ト ケース のデー タ は各 コ ーナーに対 し て個別に レ ポー ト さ れます。
次の図に、 こ の例のデー タ シー ト レ ポー ト を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
54
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
X-Ref Target - Figure 2-26
図 2-26 : デー タ シー ト レ ポー ト の最大/最小遅延の例
例外レ ポー ト
例外レ ポー ト は、 合成後の フ ロ ーの ど の段階で も 生成で き ます。 例外レ ポー ト には、 次の情報が含まれます。
•
デザ イ ンで設定 さ れ、 タ イ ミ ン グ解析に影響す る タ イ ミ ン グ例外すべて
•
デザ イ ンで設定 さ れてい る が、 ほかの タ イ ミ ン グ例外が優先 さ れ る ために無視 さ れ る タ イ ミ ン グ例外すべて
例外レ ポー ト の生成時に解析 さ れ る タ イ ミ ン グ例外は、 次の と お り です (優先度の高い順に リ ス ト )。
•
フ ォ ルス パス
•
最大/最小遅延
•
マルチサ イ ク ル パス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
55
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
例外レ ポー ト は、 タ イ ミ ン グ例外に関す る 問題をデバ ッ グす る のに役立ち ます。 デザ イ ンに よ っ ては、 複雑な タ イ
ミ ン グ例外を使用 し た タ イ ミ ン グ制約を含む も のがあ り ます。 タ イ ミ ン グ例外の優先度は異な る ので、 ど の タ イ ミ
ン グ例外がほかの例外のために一部ま たは完全に無視 さ れ る のかを理解す る のは困難です。 例外レ ポー ト には、 一
部が無視 さ れ る タ イ ミ ン グ例外お よ び完全に無視 さ れ る タ イ ミ ン グ例外が レ ポー ト さ れます。 ま た、 優先 さ れ る 制
約に関す る ヒ ン ト も 表示 さ れます。
ク ロ ッ ク グループ制約 (set_clock_groups) は厳密には タ イ ミ ン グ例外ではないので、 デザ イ ンに影響する タ イ
ミ ン グ例外のサマ リ 表には含まれませんが、 あ る タ イ ミ ン グ例外が ク ロ ッ ク グループ制約のために無視 さ れ る 場合
は、 優先 さ れ る ク ロ ッ ク グループ制約が表の [Status] 列に レ ポー ト さ れます。
例外レ ポー ト は、 Tcl コ マ ン ド ラ イ ンで report_exceptions コ マ ン ド を使用 し てのみ生成可能です。
report_exceptions の コ マ ン ド ラ イ ン オプシ ョ ンの詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ
ド 』 (UG835) [参照 3] の こ のセ ク シ ョ ン を参照 し て く だ さ い。 タ イ ミ ン グ例外の優先順位に関する 詳細は、 『Vivado
Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 6] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
report_exception コ マ ン ド には、 次の 3 つの操作モー ド があ り ます。
•
タ イ ミ ン グ解析に影響す る タ イ ミ ン グ例外の レ ポー ト
•
無視 さ れ る タ イ ミ ン グ例外の レ ポー ト
•
タ イ ミ ン グ例外の適用範囲の レ ポー ト
例 : タ イ ミ ン グ解析に影響する タ イ ミ ン グ例外のレポー ト
こ の例では、 次の図に示すデザ イ ンに タ イ ミ ン グ例外を適用す る 方法を示 し ます。 デザ イ ンには、 完全に制約 さ れ
てい ます (clk と 入力/出力遅延を clk に対 し て設定)。
X-Ref Target - Figure 2-27
図 2-27 : タ イ ミ ング例外の例で使用する完全に制約 さ れたデザイ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
56
japan.xilinx.com
第 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] ウ ィ ン ド ウ に、 デザ イ ンに適用 さ れた タ イ ミ ン グ制約が表示 さ れます。
X-Ref Target - Figure 2-28
図 2-28 : タ イ ミ ング制約の変更を表示する [Timing Constraints] ウ ィ ン ド ウ
実際の例外レ ポー ト (report_exception) を次の図に示 し ます。
X-Ref Target - Figure 2-29
図 2-29 : 例外レポー ト
例外レ ポー ト には、 次の情報が表示 さ れます。
•
[Position] 列 : 制約の位置番号を示 し ます。 こ れは、 [Timing Constraint] ウ ィ ン ド ウ で レ ポー ト さ れ る の と 同 じ 番
号です (図 2-28)。
•
[From]、 [Through]、 [To] 列 : -*from/-*through/-*to コ マ ン ド ラ イ ン オプシ ョ ンで指定 し たパ タ ーン ま た
はオブジ ェ ク ト を示 し ます ( こ れ ら のオプシ ョ ンの rise/fall バージ ョ ン も すべて含む)。 関連す る オプシ ョ ン
が指定 さ れていない場合は、 ア ス タ リ ス ク (*) が表示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
57
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
•
[Setup]、 [Hold] 列 : 制約がセ ッ ト ア ッ プ チ ェ ッ ク ま たはホール ド チ ェ ッ ク のいずれか ま たは両方に適用 さ れ る
か ど う か を示 し ます。 [Setup]、 [Hold] 列の命名規則は、 次の と お り です。
表 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
•
[Status] 列 : 制約が別の タ イ ミ ン グ例外に よ り 一部無視 さ れてい る 場合に メ ッ セージ を表示 し ます。 [Status] 列の
命名規則は、 次の と お り です。
表 2-2 : [Status] 列の命名規則
省略名
タ イ ミ ング例外
MCP
マルチサ イ ク ル パ ス
FP
フ ォ ルス パ ス
MXD
最大遅延
MND
最小遅延
CG
ク ロ ッ ク グループ
注記 : ク ロ ッ ク グループは、 report_timing -ignored コ マ ン ド を実行 し た と き に、 ク ロ ッ ク グループに制
約に よ り 別の タ イ ミ ン グ例外が無視 さ れ る 場合に [Status] 列に レ ポー ト さ れます。
こ の例では、 一部無視 さ れ る 制約に関す る メ ッ セージが 2 つ表示 さ れます。
•
タ イ ミ ン グ制約位置番号 5 ([Timing Constraints] ウ ィ ン ド ウ の set_multicycle_path 4 -to [get_cell
int20_reg]) は、 マルチサ イ ク ル制約位置番号 4 (set_multicycle_path 3 -from [get_cell
int10_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 の よ う にな り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
58
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
X-Ref Target - Figure 2-30
図 2-30 : [Timing Constraints] ウ ィ ン ド ウ
例外レ ポー ト (report_exception -ignored) は次の よ う にな り ます。
X-Ref Target - Figure 2-31
図 2-31 : 例外レポー ト
注記 : [Status] 列に、 タ イ ミ ン グ例外が無視 さ れた理由が説明 さ れます。
タ イ ミ ン グ例外の適用範囲のレポー ト
Vivado ツールでは、 デザ イ ンに適用 さ れた有効な各 タ イ ミ ン グ例外の詳細な適用範囲を生成で き ます。 完全に無効
にな っ てい る も の、 始点 と 終点の間にパ ス がない も のを含め、 すべての タ イ ミ ン グ例外が レ ポー ト さ れます。 適用
範囲レ ポー ト は、 タ イ ミ ン グ例外お よ びデザ イ ンの複雑性に よ っ て、 サ イ ズが大き く な る 可能性があ り ます。
適用範囲レ ポー ト を生成す る には、 -coverage コ マ ン ド ラ イ ン を使用 し ます。
report_exceptions -coverage
レ ポー ト には、 有効な各 タ イ ミ ン グ例外に対 し て、 次の情報が含まれます。
•
制約の位置番号
•
-from、 -through、 -to コ マ ン ド ラ イ ン オプシ ョ ンで選択 さ れたオブジ ェ ク ト の数
•
タ イ ミ ン グ例外に関連す る すべての ク ロ ッ ク ド メ イ ン と 、 各終点 ク ロ ッ ク ド メ イ ンの終点の数
•
始点お よ び終点に関連す る セルのサマ リ リ ス ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
59
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
次に、 異な る デザ イ ンか ら の適用範囲レ ポー ト か ら の抜粋を示 し ます。
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
-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 個の終点の間のパ ス のみに制約が適用 さ れてい ます。
こ れは、 ほかの始点 と 終点の組み合わせの間には、 物理的なパ ス がない と い う こ と です。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
60
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク 乗せ換え レ ポー ト
ク ロ ッ ク 乗せ換え (CDC) レ ポー ト は、 デザ イ ンの ク ロ ッ ク 乗せ換えの構造解析を実行 し ます。 こ の情報を使用 し て、
メ タ ス テーブル状態ま たはデー タ コ ヒ ーレ ン シの問題が発生する 可能性のあ る 危険な CDC を特定で き ます。 CDC
レ ポー ト は ク ロ ッ ク 関連性レ ポー ト と 似てい ますが、 構造お よ び関連す る タ イ ミ ン グ制約に焦点が置かれ、 タ イ ミ
ン グ ス ラ ッ ク に関する 情報は示 さ れません。
概要
CDC レ ポー ト を生成す る 前に、 デザ イ ンが適切に制約 さ れ、 不足 し てい る ク ロ ッ ク 定義がない こ と を確認 し て く だ
さ い。 CDC レ ポー ト では、 ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク の両方が定義 さ れたパ ス のみが解析お よ
びレ ポー ト さ れます。 CDC レ ポー ト は、 次の も のの構造解析を実行 し ます。
•
非同期 ク ロ ッ ク 間のすべてのパ ス
•
次の タ イ ミ ン グ例外が設定 さ れてい る 同期 ク ロ ッ ク 間のパ ス
°
ク ロ ッ ク グループ
°
フ ォ ルス パス
°
デー タ パ ス遅延制約 (Max Delay Datapath Only)
こ れ ら の タ イ ミ ン グ例外が設定 さ れていない同期 ク ロ ッ ク パス は、 タ イ ミ ン グ解析を安全に実行 さ れ る と 想定 さ れ、
CDC エン ジ ンで解析 さ れません。 CDC レ ポー ト では、 ネ ッ ト 遅延ま たはセル遅延は考慮 さ れません。
用語
ク ロ ッ ク 乗せ換え (CDC) と ク ロ ッ ク 間の タ イ ミ ン グ解析では、 「安全」、 「危険」、 および 「終点」 の意味が異な り ます。
CDC では、 非同期乗せ換えは、 メ タ ス テーブル状態を回避す る ために適切な同期回路が使用 さ れていれば安全です。
た と えば、 同 じ ク ロ ッ ク お よ び制御信号を使用す る レ ジ ス タ をチ ェーン接続 し たシ ン ク ロ ナ イ ザーを使用する と 、
安全な 1 ビ ッ ト CDC を イ ンプ リ メ ン ト で き ます。マルチプ レ ク サー ホール ド 回路ま たは ク ロ ッ ク イ ネーブル制御回
路を使用す る と 、 安全な複数ビ ッ ト CDC を イ ンプ リ メ ン ト で き ます。
CDC 解析エン ジ ンに よ り 非同期 CDC パ ス に既知の安全な同期回路が検出 さ れない場合は、 危険な CDC と な り ます。
2 つの ク ロ ッ ク ド メ イ ン間の CDC に レ ポー ト さ れ る 終点の数は、 タ イ ミ ン グ解析 コ マ ン ド で レ ポー ト さ れ る 終点の
数 と 異な り ます。 た と えば、 非同期 リ セ ッ ト シ ン ク ロ ナ イ ザーには複数の タ イ ミ ン グ パ ス終点があ り ますが、 同期
回路は 1 つのエ レ メ ン ト と し て、 つま り 1 つの CDC 終点 と し て レ ポー ト さ れます。 同様に、 複数ビ ッ ト CDC には複
数の 1 ビ ッ ト 乗せ換えが含まれますが、 1 つの CDC 終点 と し て レ ポー ト さ れます。 同 じ バ ス は、 ほかの タ イ ミ ン グ
レ ポー ト では複数の タ イ ミ ン グ終点 と し て レ ポー ト さ れます。
重要 : report_clock_interaction お よ び report_cdc は異な る 目的で使用 さ れ る ので、 各 コ マ ン ド で レ ポー ト
さ れ る 終点の数を比較 し ないで く だ さ い。 「安全」 お よ び 「危険」 は、 report_clock_interaction では タ イ ミ
ン グ解析エン ジ ンでハー ド ウ ェ アの最悪の状況に一致す る ス ラ ッ ク を提供で き る か ど う かを意味 し ますが、
report_cdc ではデザ イ ンに イ ンプ リ メ ン ト さ れてい る CDC 回路の タ イ プを意味 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
61
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク乗せ換え レポー ト の実行
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] セ ク シ ョ ン」
X-Ref Target - Figure 2-32
図 2-32 : [Report CDC] ダ イ ア ログ ボ ッ ク ス
[Results name] フ ィ ール ド
レ ポー ト のグ ラ フ ィ カル ウ ィ ン ド ウ の名前を指定 し ます。
同等 Tcl オプシ ョ ン : -name <windowName>
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
62
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Clocks] セ ク シ ョ ン ([From]/[To])
CDC 解析を実行す る ソ ース ク ロ ッ ク ま たはデス テ ィ ネーシ ョ ン ク ロ ッ ク を指定 し ます (オプシ ョ ン)。CDC 解析を特
定の ク ロ ッ ク のみに限定 し 、 レ ポー ト を解読 し やす く す る ために使用で き ます。
参照ボ タ ン
ク リ ッ ク す る と 検索ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 ク ロ ッ ク オブジ ェ ク ト を検索で き ます。
同等 Tcl オプシ ョ ン : -from <clockNames> -to <clockNames>
[File Output] セ ク シ ョ ン
結果を書 き 込むフ ァ イ ルを指定 し ます (オプシ ョ ン)。 既存の フ ァ イ ルに上書き する か、 ま たは追加で き ます。
同等 Tcl オプシ ョ ン : -file <fileName> -append
[Options] セ ク シ ョ ン
[Options] セ ク シ ョ ンでは、 次を指定 し ます。
•
[Suspend message limits during command execution] : メ ッ セージの制限を一時的に解除 し 、 コ マ ン ド か ら のすべて
の出力を返 し ます。
同等 Tcl オプシ ョ ン : -verbose
•
[Ignore command errors] : コ マ ン ド エ ラ ーを表示 し ません。
同等 Tcl オプシ ョ ン : -quiet
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
63
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
ク ロ ッ ク乗せ換え レポー ト のルールの理解
CDC レ ポー ト では、 各 CDC パ ス を既知の CDC ト ポ ロ ジに一致 さ せ よ う と し ます。 各 CDC ト ポ ロ ジは、 表 2-3 に示
す 1 つま たは複数の CDC ルールに関連付け ら れてい ます。 こ れ ら のルールの重要度は、 DRC お よ び メ ッ セージの よ
う に変更す る こ と はで き ません。 CDC ト ポ ロ ジの回路図 と 説明は、 69 ページの 「CDC ト ポ ロ ジの回路図」 に示 さ れ
てい ます。
表 2-3 : CDC ルールおよび説明
CDC ト ポロ ジ
重要度
説明
CDCH-1
ク リ テ ィ カル
同期 さ れていない ま たは不明の CDC 回路を含む 1 ビ ッ
ト CDC パ ス
CDCH-2
警告
2 段以上のシ ン ク ロ ナ イ ザーで同期化 さ れてい る が、
ASYNC_REG プ ロ パテ ィ がすべて ま たは一部のシ ン ク ロ
ナ イ ザー フ リ ッ プ フ ロ ッ プに設定 さ れていない 1 ビ ッ
ト CDC パ ス
CDCH-3
情報
2 段以上のシ ン ク ロ ナ イ ザーで同期化 さ れてお り 、
ASYNC_REG プ ロ パテ ィ が設定 さ れてい る 1 ビ ッ ト
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
ク リ テ ィ カル
同期回路の フ ァ ン ア ウ ト で組み合わせ ロ ジ ッ ク が検出
さ れた
複数 ク ロ ッ ク の フ ァ ン イ ン
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 プ リ ミ テ ィ ブに同期 さ れてい ます。
1 ビ ッ ト CDC
複数ビ ッ ト CDC
非同期 リ セ ッ ト
CDC ルール
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
64
japan.xilinx.com
第 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 パ ス で通常どお り タ イ ミ ン グ解析が実行 さ れます。
°
•
[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 例外
が適用 さ れてい ます。
°
°
•
[No Common Period] : CDC ク ロ ッ ク 同士は非同期であ り 、 共通周期を持た ない 2 つの ク ロ ッ ク 間の少な く と
も 1 つの CDC パ ス で通常どお り タ イ ミ ン グ解析が実行 さ れます。 共通周期を持た ない ク ロ ッ ク の定義は、
131 ページの 「 タ イ ミ ン グ解析の基礎の理解」 を参照 し て く だ さ い。
[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 ピ ンが ク ロ ッ ク ド メ イ ン を ま た ぐ ネ ッ ト に接続 さ れてい ますが、
シ ン ク ロ ナ イ ザー チ ェ ーンの最初の ピ ンのみがカ ウ ン ト さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
65
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
•
•
[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)] セ ク シ ョ ンの例を示 し ます。
X-Ref Target - Figure 2-33
図 2-33 : [Summary (by clock pair)] セ ク シ ョ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
66
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[Summary (by type)] セ ク シ ョ ン
[Summary (by type)] セ ク シ ョ ンの表には、 現在の レ ポー ト に含まれ る CDC 構造の特性をすばや く 確認する のに便利
です。 図 2-34 に例を示 し ます。
X-Ref Target - Figure 2-34
図 2-34 : [Summary (by type)] セ ク シ ョ ン
[Summary (by type)] セ ク シ ョ ンの表には、 次の列があ り ます。
•
[Severity] : CDC ルールの重要度を示 し ます。 可能な値は [Info] (情報)、 [Warning] (警告)、 ま たは [Critical] ( ク リ
テ ィ カル) です。
•
[ID] : 表 2-3 に リ ス ト さ れてい る CDC ルールの ID 番号を示 し ます。
•
[Count] : レ ポー ト 全体での CDC ルールの出現回数を示 し ます。
•
[Description] : CDC ルールの簡単な説明を示 し ます。
サマ リ 表を解析す る 際は、 重要度の高い も のか ら 開始す る のが重要です。 重要度は次の と お り です。
•
•
•
[Critical] : 不明ま たは危険な CDC 構造を持つ CDC パス に対す る 重要です。 こ れ ら の各パス を見直 し 、 RTL を変
更 し て構造を修正す る か、 問題が除外 さ れ る よ う にす る 必要があ り ます。 パ ス の詳細は、 Vivado IDE を使用す
る 場合はデフ ォ ル ト で生成 さ れ、 コ マ ン ド ラ イ ンで report_cdc を使用する 場合は -details オプシ ョ ン を
使用す る と 生成 さ れます。
°
ク ロ ッ ク ド メ イ ンの境界を ま た ぐ ネ ッ ト に組み合わせ ロ ジ ッ ク があ る か、 ク ロ ッ ク ド メ イ ンの境界を ま た
ぐ ネ ッ ト の フ ァ ン イ ンに複数の ソ ース ク ロ ッ ク があ る 。 こ れに よ り 、 平均故障間隔 (MTBF) 特性が悪化す
る 可能性があ り ます。
°
ク ロ ッ ク ド メ イ ンの境界を ま た ぐ ネ ッ ト に同 じ デス テ ィ ネーシ ョ ン ク ロ ッ ク ド メ イ ンへの フ ァ ン ア ウ ト が
あ る 。 こ れに よ り 、 デー タ コ ヒ ーレ ン シの問題が発生する 可能性があ り ます。
[Warning] : 安全な既知の CDC 構造ですが、 次のいずれかの理由のために理想的 と はいえ ない CDC パ ス に対す
る 重要度です。
°
最初 2 つのシ ン ク ロ ナ イ ザー フ リ ッ プ フ ロ ッ プの少な く と も 1 つで ASYNC_REG プ ロ パテ ィ が 1 (ま たは
true) に設定 さ れていない。
°
CDC 構造に CDC エン ジ ンで検証で き ない機能の正確 さ が必要。 こ れ ら の構造には、 ク ロ ッ ク イ ネーブル
制御、 マルチプ レ ク サー デー タ ホール ド 制御の ト ポ ロ ジがあ り ます。
[Info] : CDC 構造が安全で適切に制約 さ れてい る こ と を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
67
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
[CDC Details] セ ク シ ョ ン
CDC レ ポー ト の詳細は、 [CDC Details] セ ク シ ョ ンに示 さ れます。 こ のセ ク シ ョ ンか ら 、 選択 し たパス の回路図を表
示 し た り (F4 キーを押す)、 パ ス を右 ク リ ッ ク し て タ イ ミ ン グ レ ポー ト を表示ま たは新 し い タ イ ミ ン グ レ ポー ト を生
成で き ます。
タ イ ミ ン グ レ ポー ト と 回路図を使用 し て、 デザ イ ンの予期 し ない CDC パス を確認 し た り 、 不正ま たは不足 し てい る
タ イ ミ ン グ例外を特定 し た り 、 ASYNC_REG プ ロ パテ ィ が足 り ない部分を見つけ る こ と がで き ます。 次の図に、
[CDC Details] セ ク シ ョ ンの例を示 し ます。
X-Ref Target - Figure 2-35
図 2-35 : [CDC Details] セ ク シ ョ ン
[Clock to Clock Details] セ ク シ ョ ンの表には、 次の列があ り ます。
•
[Severity] : CDC ルールの重要度を示 し ます。 可能な値は [Info] (情報)、 [Warning] (警告)、 ま たは [Critical] ( ク リ
テ ィ カル) です。
•
[ID] : 64 ページの表 2-3 に リ ス ト さ れてい る CDC ルールの ID 番号を示 し ます。
•
[Description] : CDC ルールの簡単な説明を示 し ます。
•
[Depth] : シ ン ク ロ ナ イ ザーの段数を示 し ます (シ ン ク ロ ナ イ ザー ト ポ ロ ジのみ)。
•
[Exception] : CDC パ ス に適用 さ れてい る タ イ ミ ン グ例外を示 し ます。
•
[Source (From)] : CDC タ イ ミ ン グ パ ス の始点を示 し ます。
•
[Destination (To)] : CDC タ イ ミ ン グ パ ス の終点を示 し ます。
•
[Category] : [Safe]、 [Unsafe]、 [Unknown] な ど、 CDC のカ テ ゴ リ を示 し ます。
•
[Source Clock (From)] : ソ ース ク ロ ッ ク の名前。
注記 : こ の列は、 左側のペ イ ンで [CDC Details] を ク リ ッ ク し た場合にのみ表示 さ れます。
•
[Destination Clock (To)] : デス テ ィ ネーシ ョ ン ク ロ ッ ク の名前。
注記 : こ の列は、 左側のペ イ ンで [CDC Details] を ク リ ッ ク し た場合にのみ表示 さ れます。
重要 : CDC レ ポー ト に一部のザ イ リ ン ク ス IP 内の問題が示 さ れ る こ と があ り ますが、 こ れは CDC エン ジ ンで可能な
すべての CDC ト ポ ロ ジ を認識で き ず、 ビル ト イ ンの除外 メ カ ニズ ムがないか ら です。 詳細は、 各ザ イ リ ン ク ス IP 製
品ガ イ ド を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
68
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
CDC ト ポロ ジの回路図
次に、 CDC ト ポ ロ ジの簡略化 さ れた回路図 と その簡単な説明を示 し ます。 すべての回路図で、 ソ ース ク ロ ッ ク ネ ッ
ト (通常は clk_a) は青色でハ イ ラ イ ト さ れ、 デス テ ィ ネーシ ョ ン ク ロ ッ ク ネ ッ ト (通常は clk_b) はオ レ ン ジ色で
ハ イ ラ イ ト さ れてい ます。
1 ビ ッ ト シ ン ク ロナ イザー
図 2-36 に、 1 ビ ッ ト シ ン ク ロ ナ イ ザーの ト ポ ロ ジ を示 し ます。 同期チ ェーンの少な く と も 最初の 2 つの フ リ ッ プ フ
ロ ッ プに ASYNC_REG プ ロ パテ ィ を設定す る 必要があ り ます。 シ ン ク ロ ナ イ ザーの段数は、 制御信号を共有す る
チ ェーン接続 さ れてい る フ リ ッ プ フ ロ ッ プの数です。
X-Ref Target - Figure 2-36
図 2-36 : 1 ビ ッ ト シ ン ク ロナ イザーの ト ポロ ジ
フ リ ッ プフ ロ ッ プの CLEAR ま たは PRESET ピ ン も 非同期 ソ ース に接続 さ れてい る場合は、 シ ン ク ロ ナ イ ザーは 1 ビ ッ
ト シ ン ク ロ ナ イ ザー と し てのみレ ポー ト さ れ、 非同期 リ セ ッ ト シ ン ク ロ ナ イ ザー と し てはレ ポー ト さ れません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
69
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
複数ビ ッ ト シ ン ク ロ ナ イザー
検出 さ れ る 複数ビ ッ ト シ ン ク ロ ナ イ ザーの ト ポ ロ ジは、 始点/終点の名前お よ び一致する CDC ルールに基づいて グ
ループ化 さ れた複数の 1 ビ ッ ト シ ン ク ロ ナ イ ザー と 同等です。 こ の場合、 バ ス はネ ッ ト 名ではな く 始点 と 終点のセ
ル名で定義 さ れます。 バ ス名の フ ォーマ ッ ト は baseName[index] です。 ま た、 始点 と 終点の イ ンデ ッ ク ス も 一致
し てい る 必要があ り ます。 次の図に、 2 ビ ッ ト 幅の複数ビ ッ ト シ ン ク ロ ナ イ ザーの例を示 し ます。
X-Ref Target - Figure 2-37
図 2-37 : ビ ッ ト 幅の複数ビ ッ ト シ ン ク ロナ イザー
CDC バ ス のすべてのビ ッ ト が同 じ CDC ルールに一致 し ない場合は、 バ ス は 1 ビ ッ ト ま たは CDC ルールが一致 し て
い る 連続 イ ンデ ッ ク ス のバ ス セグ メ ン ト と し て レ ポー ト さ れます。
バス にレ ジ ス タ ベース のシ ン ク ロ ナ イ ザーを付けて も 、 そのバス の ク ロ ッ ク 乗せ換えが安全にな る わけではない と い
う こ と を理解し てお く こ と が重要です。 こ の よ う な ト ポ ロ ジがデザ イ ンに適切であ る かど う かを ツールでは判断で き
ないので、 CDC ルール CDC-6 は警告 と な り ます。 CDC が安全であ る かど う かを確認する のは設計者の責任です。
バス がグ レ イ コー ド で記述 さ れてい る場合は、 受信 ド メ イ ンで一度に複数のデー タ が受信 さ れない よ う に タ イ ミ ン グ
制約が適切に設定 さ れてれば、 バス のすべてのビ ッ ト に レ ジ ス タ ベース のシ ン ク ロ ナ イ ザーを安全に使用で き ます。
バ ス がグ レ イ コ ー ド で記述 さ れていない場合は、 CE 制御 CDC やマルチプ レ ク サー制御 CDC な ど の別のシ ン ク ロ ナ
イ ザー ト ポ ロ ジ を使用す る 必要があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
70
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
非同期 リ セ ッ ト シ ン ク ロナ イザー
次の図に ク リ ア ベース同期の非同期 リ セ ッ ト シ ン ク ロ ナ イ ザー、 図 2-39 にプ リ セ ッ ト ベース同期の非同期 リ セ ッ
ト シ ン ク ロ ナ イ ザーを示 し ます。 FF1 セルはそれぞれ同期 ク リ ア信号ま たは同期プ リ セ ッ ト 信号に接続 さ れてお り 、
こ れ ら の信号のデ ィ アサー ト には clk_a に対 し て安全に タ イ ミ ン グ解析が実行 さ れます。 CLEAR お よ び PRESET を
持つフ リ ッ プ フ ロ ッ プ を 1 つの非同期 リ セ ッ ト シ ン ク ロ ナ イ ザー内に混合する こ と はで き ません。
X-Ref Target - Figure 2-38
図 2-38 : ク リ ア ベースの非同期 リ セ ッ ト シ ン ク ロナ イザー
X-Ref Target - Figure 2-39
図 2-39 : プ リ セ ッ ト ベースの非同期 リ セ ッ ト シ ン ク ロナ イザー
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
71
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
組み合わせロ ジ ッ ク
次の図に示す組み合わせ ロ ジ ッ ク の例では、 LUT3 で示 さ れ る ロ ジ ッ ク フ ァ ン ク シ ョ ンが clk_a か ら の CDC と
clk_b シ ン ク ロ ナ イ ザーの間に配置 さ れてい ます。
X-Ref Target - Figure 2-40
図 2-40 : 組み合わせロ ジ ッ ク の例
こ の構造は、 組み合わせ ロ ジ ッ ク の出力でグ リ ッ チが発生す る 可能性があ り 、 こ のグ リ ッ チはシ ン ク ロ ナ イ ザーに
取 り 込ま れてデザ イ ンの残 り の部分に伝搬 さ れ る ので、 通常推奨 さ れません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
72
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
フ ァ ン アウ ト
次の図に示すフ ァ ン ア ウ ト の例では、 ソ ース フ リ ッ プ フ ロ ッ プで駆動 さ れ る ネ ッ ト が赤でハ イ ラ イ ト さ れてい る
clk_b ド メ イ ン で 3 回同期化 さ れてい ます。 こ の構造は、 シ ン ク ロ ナ イ ザーを介す る レ イ テ ン シは限定 さ れますが
サ イ ク ル精度ではな く 、 デス テ ィ ネーシ ョ ン ク ロ ッ ク ド メ イ ンでデー タ コ ヒ ーレ ン シの問題が発生する こ と があ る
ため、 お勧め し ません。
X-Ref Target - Figure 2-41
図 2-41 : フ ァ ン アウ ト の例
注記 : N 個の異な る ク ロ ッ ク ド メ イ ンへの N フ ァ ン ア ウ ト は CDC 問題ではな く 、 CDCH-11 違反 と はな り ません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
73
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
複数 ク ロ ッ クの フ ァ ン イ ン
次の図に示す複数 ク ロ ッ ク の フ ァ ン イ ンの例では、 clk_a と clk_x の両方がデー タ を組み合わせ ロ ジ ッ ク (LUT2)
を介 し て clk_b ド メ イ ンのシ ン ク ロ ナ イ ザー回路に転送 し てい ます。 clk_a と clk_x か ら の ソ ース デー タ を グ
ルー ロ ジ ッ ク を介 し て結合す る 前に、 個別に同期する こ と をお勧め し ます。 こ れに よ り CDC 構造全体の MTBF 特性
が向上 し 、 グ リ ッ チがデス テ ィ ネーシ ョ ン ク ロ ッ ク ド メ イ ンに伝搬 さ れ る のが回避 さ れます。
X-Ref Target - Figure 2-42
図 2-42 : 複数ク ロ ッ ク のフ ァ ン イ ンの例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
74
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
FD 以外のプ リ ミ テ ィ ブ
次の図に示す FD 以外のプ リ ミ テ ィ ブの例では、 CDC は FDRE と RAMB の間で発生 し てお り 、 RAMB プ リ ミ テ ィ ブ
内に同期 ロ ジ ッ ク は存在 し ません。 clk_b に接続 さ れてい る 1 段の フ リ ッ プ フ ロ ッ プ を RAMB の前に挿入 し て も 、
FDRE セル と RAMB セルの配線距離のため十分なシ ン ク ロ ナ イ ザー と はいえ ません。
X-Ref Target - Figure 2-43
図 2-43 : FD 以外のプ リ ミ テ ィ ブの例
注記 : こ の規則には HARD_SYNC マ ク ロ は含まれません。 HARD_SYNC マ ク ロ は CDCH-18 で検出 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
75
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
CE 制御の CDC
次の図に示す CE 制御の CDC では、 ク ロ ッ ク イ ネーブル信号は ク ロ ッ ク 乗せ換え フ リ ッ プ フ ロ ッ プ を制御す る ため
に使用 さ れ る 前に、 デス テ ィ ネーシ ョ ン clk_b ド メ イ ンで同期 さ れます。
X-Ref Target - Figure 2-44
図 2-44 : CE 制御の CDC の例
CDC エン ジ ンでは、 FF3/CE に接続 さ れてい る 信号の ソ ース ク ロ ッ ク が clk_b であ る こ と のみがチ ェ ッ ク さ れます。
ク ロ ッ ク イ ネーブル信号が別に安全な CDC パ ス と し て レ ポー ト さ れていれば、 その同期方法に制限はあ り ません。
ま た、 clk_a ド メ イ ンか ら FF3 への レ イ テ ン シはユーザーが制約する 必要があ り 、 こ れには通常 set_max_delay
-datapath_only 制約を使用 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
76
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
マルチ プ レ クサー制御の CDC
次の図に示すマルチプ レ ク サー制御の CDC の例では、 マルチプ レ ク サー セ レ ク ト 信号はデス テ ィ ネーシ ョ ン ク
ロ ッ ク ド メ イ ン clk_b に同期 さ れてい ます。
X-Ref Target - Figure 2-45
図 2-45 : マルチ プ レ クサー制御の CDC の例
CE 制御の CDC と 同様に、 セ レ ク ト 信号が別に安全 と レ ポー ト さ れていれば、 その同期方法に制限はあ り ません。
ま た、 FF2_c 上の ク ロ ッ ク 乗せ換え遅延はユーザーが制約す る 必要があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
77
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
マルチ プ レ クサー デー タ ホール ド CDC
次の図に示すマルチプ レ ク サー データ ホール ド CDC の例では、 マルチプ レ ク サー セ レ ク ト 信号はデス テ ィ ネーシ ョ
ン ク ロ ッ ク ド メ イ ン clk_b に同期 さ れてお り 、 data_out がマルチプ レ ク サーにフ ィ ー ド バ ッ ク さ れてい ます。
X-Ref Target - Figure 2-46
図 2-46 : マルチ プ レ クサー デー タ ホール ド CDC の例
CE 制御の CDC と 同様に、 マルチプ レ ク サーのセ レ ク ト 信号が別に安全 と レ ポー ト さ れていれば、 その同期方法に
制限はあ り ません。 ま た、 FF2_c 上の ク ロ ッ ク 乗せ換え遅延はユーザーが制約す る 必要があ り ます。
バス スキ ュ ー レ ポー ト
バ ス ス キ ュ ー レ ポー ト は、 set_bus_skew を使用 し てデザ イ ンに設定 さ れたバ ス ス キ ュ ー制約を レ ポー ト し ます。
現在の と こ ろ、 バ ス ス キ ュ ー レ ポー ト は タ イ ミ ン グ サマ リ レ ポー ト には含まれていないので、 完全な タ イ ミ ン グ
サ イ ンオ フ のためには、 タ イ ミ ン グ サマ リ レ ポー ト に加え て手動でバ ス ス キ ュ ー レ ポー ト を手動で生成す る 必要
があ り ます。
バス スキ ュ ー レポー ト の生成
バ ス ス キ ュ ー レ ポー ト は、 コ マ ン ド ラ イ ンか ら report_bus_skew Tcl コ マ ン ド を実行する こ と に よ っ てのみ生成
可能です。 こ の コ マ ン ド では、 report_timing コ マ ン ド の フ ィ ル タ ーお よ び出力レ ポー ト の フ ォーマ ッ ト に関す
る 多 く のオプシ ョ ン と 同 じ オプシ ョ ン を使用で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
78
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
バス スキ ュ ー パスの詳細の確認
バ ス ス キ ュ ー レ ポー ト には、 次の 2 つのセ ク シ ョ ンが含まれます。
1.
[Bus Skew Report Summary] (バス ス キ ュ ー レ ポー ト サマ リ )
2.
[Bus Skew Report Per Constraint] (制約ご と のバス ス キ ュ ー レ ポー ト )
[Bus Skew Report Summary] セ ク シ ョ ン
[Bus Skew Report Summary] セ ク シ ョ ンには、 デザ イ ン で定義 さ れてい る set_bus_skew 制約がすべて レ ポー ト さ れ
ます。 各制約に関 し て次の情報が示 さ れます。
•
[Id] : レ ポー ト の後の方で使用 さ れ る制約 ID。 こ れを使用する と 、 その制約を レ ポー ト 内で簡単に検索で き ます。
•
[From] : set_bus_skew コ マ ン ド の -from オプシ ョ ンで指定 さ れたパ タ ーン
•
[To] : set_bus_skew コ マ ン ド の -to オプシ ョ ン で指定 さ れたパ タ ーン
•
[Corner] : ワ ース ト バ ス ス キ ュ ーが算出に使用 さ れた コ ーナー (Slow ま たは Fast)
•
[Requirement] : バ ス ス キ ュ ーの タ ーゲ ッ ト 値
•
[Actual] : こ の制約が適用 さ れ る すべてのパ ス で算出 さ れた ワース ト バ ス ス キ ュ ー
•
[Slack] : ワース ト バス ス キ ュ ー と 制約要件 と の差
次の例では、 デザ イ ンに要件が 1ns のバ ス ス キ ュ ー制約が 1 つだけ設定 さ れてい ます。 こ の制約が適用 さ れてい る
すべてのパ ス で最悪の ス キ ュ ーは 1.107ns です。
X-Ref Target - Figure 2-47
[Bus Skew Report Per Constraint] セ ク シ ョ ン
[Bus Skew Report Per Constraint] セ ク シ ョ ンには、 各 set_bus_skew 制約の詳細が示 さ れます。 レ ポー ト さ れ る 各制
約には、 次の 2 つのセ ク シ ョ ンがあ り ます。
1.
制約が適用 さ れ る パ ス の詳細なサマ リ
2.
サマ リ に レ ポー ト さ れた タ イ ミ ン グ パス の詳細
詳細なサマ リ の表には、 次の情報が含まれます。
•
[From Clock] : ク ロ ッ ク ド メ イ ンの始点
•
[To Clock] : ク ロ ッ ク ド メ イ ンの終点
•
[Endpoint Pin] : レ ポー ト さ れたパ ス関連す る 終点ピ ン
•
[Reference Pin] : ス キ ュ ーを算出す る のに使用 さ れた基準ピ ン こ の表の各行は、 異な る 基準ピ ン を参照で き ます。
•
[Corner] : こ のエン ド ポ イ ン ト への ワ ース ト ス キ ュ ーを算出す る のに使用 さ れた コ ーナー (Fast/Slow)
•
[Actual] : 算出 さ れた ス キ ュ ー。 ス キ ュ ーは、 終点ピ ンの相対遅延か ら 基準ピ ンの相対遅延 と 相対 CRPR を引い
た値です。
•
[Slack] : 実際のパ ス の ス キ ュ ー と 要件 と の差
注記 : バス ス キ ュ ー制約を設定す る 際は、 -from お よ び -to オプシ ョ ンの両方を指定す る 必要があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
79
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
デフ ォ ル ト では、 ワース ト バス ス キ ュ ーの終点のみが レ ポー ト さ れます。 複数の終点を レ ポー ト す る には、
-max_paths お よ び -nworst オプシ ョ ン を使用で き ます。 こ れ ら は report_timing コ マ ン ド の同 じ オプシ ョ ン
と 同様に機能 し ます。 た と えば、 -nworst 1 -max_path 16 を使用する と 、 各制約に対 し て 16 個ま での終点、 終
点ご と に 1 つのパ ス を レ ポー ト で き ます。
X-Ref Target - Figure 2-48
タ イ ミ ン グ パ ス の詳細セ ク シ ョ ンには、 サマ リ の表に レ ポー ト さ れた各ピ ン ペアの タ イ ミ ン グ パス の詳細が示 さ れ
ます。 レ ポー ト さ れ る パ ス の数は、 サマ リ の表に レ ポー ト さ れてい る 終点の数 と 同 じ で、 -max_paths/-nworst オ
プシ ョ ンで制御で き ます。
バ ス ス キ ュ ー タ イ ミ ン グ パ ス の詳細のフ ォーマ ッ ト は、 デス テ ィ ネーシ ョ ン ク ロ ッ ク の ソ ース時間が常に 0 であ る
こ と を除 き 、 ほかの タ イ ミ ン グ パス と 同様です。 各ス ラ ッ ク に対 し 、 終点への タ イ ミ ン グ パ ス と 基準ピ ンへの タ イ
ミ ン グ パ ス が示 さ れます。
次のパ ス の詳細例は、 -path_type short オプシ ョ ン を使用 し て生成 さ れてお り 、 ク ロ ッ ク ネ ッ ト ワー ク の詳細
は省略 さ れてい ます。 終点ピ ンへのパ ス が基準ピ ンへのパ ス の前に表示 さ れてい ます。 パ ス ヘ ッ ダーには、 2 つの
詳細パ ス か ら の情報、 要件、 相対 CRPR が示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
80
japan.xilinx.com
第 2 章 : タ イ ミ ン グ解析機能
X-Ref Target - Figure 2-49
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
81
japan.xilinx.com
第 3章
イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Design Runs] ウ ィ ン ド ウの使用
[Design Runs] ウ ィ ン ド ウ には、 run の状態が表示 さ れます。
詳細は、 『Vivado Design Suite ユーザー ガ イ ド : Vivado IDE の使用』 (UG893) [参照 1] の こ のセ ク シ ョ ン を参照 し て く
だ さ い。
run が終了す る と 、 [Design Runs] ウ ィ ン ド ウ がに run が問題な く 完了 し たか、 エ ラ ーが発生 し たかが示 さ れます。
ヒ ン ト : run が最新でない場合は、 ポ ッ プア ッ プ メ ニ ュ ーか ら [Force Up-to-Date] を ク リ ッ ク し て、 ス テー タ ス を強制
的に最新の状態にす る こ と がで き ます。
X-Ref Target - Figure 3-1
図 3-1 : [Design Runs] ウ ィ ン ド ウ
[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 ス ト ラ テジの簡単な説明
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
82
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
Vivado® IDE プ ロ ジ ェ ク ト フ ロ ーを使用 し てい る 場合は、 [Messages] ウ ィ ン ド ウ でア ク テ ィ ブな イ ンプ リ メ ン テー
シ ョ ンの結果を確認 し ます。 メ ッ セージは、 フ ロ ーの段階別にグループ化 さ れてい ます。 run の ロ グ フ ァ イ ルに保存
さ れ る 情報お よ び メ イ ンの Vivado セ ッ シ ョ ンの ロ グ フ ァ イ ルの情報は、 すべて こ の ウ ィ ン ド ウ に表示 さ れます。
X-Ref Target - Figure 3-2
図 3-2 : 段階ご と にグループ化 さ れた メ ッ セージ
メ ッ セージに よ っ ては、 フ ァ イ ル名を ク リ ッ ク す る こ と に よ り 、 ソ ース フ ァ イ ルま たは メ ッ セージに関係す る デザ
イ ン オブジ ェ ク ト に ク ロ ス プ ロ ーブで き る も の も あ り ます。 メ ッ セージか ら オブジ ェ ク ト に ク ロ ス プ ロ ーブす る に
は、 解析 し てい る フ ロ ーの段階に よ っ て、 合成済みデザ イ ン ま たは イ ンプ リ メ ン ト 済みデザ イ ン を開いてお く 必要
があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
83
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
配置解析
こ のセ ク シ ョ ンでは、 配置解析について説明 し ます。 次の内容が含まれます。
•
「配置のハ イ ラ イ ト 」
•
「接続の表示」
•
「 メ ト リ ク ス の表示」
配置のハイ ラ イ ト
デザ イ ンの配置を確認す る 別の方法 と し て、 セル配置の解析があ り ます。 こ の解析には、 [Highlight Leaf Cells] コ マ
ン ド を使用 し ます。
1.
[Netlist] ウ ィ ン ド ウ で解析す る 階層レベルを選択 し ます。
2.
右 ク リ ッ ク し て [Highlight Leaf Cells] を ク リ ッ ク し 、 色を選択 し ます。
3.
複数の階層レベルを選択 し てい る 場合は、 [Cycle Colors] を ク リ ッ ク し ます。
[Device] ウ ィ ン ド ウ で階層セルを構成す る 最下位セルが色表示 さ れます。
X-Ref Target - Figure 3-3
図 3-3 : 階層のハイ ラ イ ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
84
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
色分け表示に よ り 、 UsbEngine0 (黄色) が次の よ う であ る こ と がわか り ます。
•
ブ ロ ッ ク RAM お よ び DSP48 セルを使用 し てい ます。
•
DSP 以外は、 チ ッ プの上部の ク ロ ッ ク 領域内にあ り ます。
•
デザ イ ンのその他の ロ ジ ッ ク (セル) と それほ ど混 じ り 合っ てい ません。
fftEngine (赤色) と cpuEngine (茶色) が混 じ り 合っ てい る のがわか り ます。 こ の 2 つのブ ロ ッ ク は、 主に異な る
リ ソ ース を使用 し ます (一方は DSP48、 も う 一方は ス ラ イ ス)。 こ れ ら が混 じ り 合っ てい る こ と で、 デバ イ ス が最適
に使用 さ れます。
接続の表示
接続に基づいてデザ イ ン を解析す る と 有益な場合があ り ます。 あ る 入力、 ブ ロ ッ ク RAM、 ま たは DSP のバン ク で駆
動 さ れ る すべての ロ ジ ッ ク の配置を確認す る には、 [Show Connectivity] を実行 し ます。
こ の コ マ ン ド は、 複数のセルま たはネ ッ ト を シー ド と し て、 別の タ イ プのオブジ ェ ク ト を選択 し ます。
ヒ ン ト : こ の機能を使用 し て、 デザ イ ン内の ロ ジ ッ ク の コ ーン を表示で き ます。
図 3-4 では、 デバ イ ス内の OBUF を含む ロ ジ ッ ク を駆動す る ブ ロ ッ ク RAM が表示 さ れてい ます。 合成プ ラ グマに よ
り 、 メ モ リ の推論でブ ロ ッ ク RAM 内に出力フ リ ッ プ フ ロ ッ プが配置 さ れない よ う にな っ てい ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
85
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
X-Ref Target - Figure 3-4
図 3-4 : 接続の表示
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
86
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
固定および未固定のロ ジ ッ ク
Vivado には、 次の 2 種類の配置があ り ます。
•
•
ユーザーが配置 し たエ レ メ ン ト (オ レ ン ジ色) は固定 さ れます。
°
固定 ロ ジ ッ ク は、 XDC に保存 さ れます。
°
固定 ロ ジ ッ ク には、 通常 LOC 制約が設定 さ れてい ます。 BEL 制約が設定 さ れてい る 場合 も あ り ます。
ツールで配置 さ れたエ レ メ ン ト (青色) は固定 さ れません。
図 3-5 では、 I/O お よ びブ ロ ッ ク RAM の配置が固定 さ れてい ます。 ス ラ イ ス ロ ジ ッ ク は固定 さ れてい ません。
X-Ref Target - Figure 3-5
図 3-5 : 固定および未固定のロ ジ ッ ク
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
87
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
ク ロ ス プ ローブ
Vivado 合成を使用 し て合成 さ れたデザ イ ンでは、 ネ ッ ト リ ス ト デザ イ ンが メ モ リ に読み込まれていれば ソ ース フ ァ
イ ルに ク ロ ス プ ロ ーブで き ます。
ク ロ ス プ ロ ーブす る には、 次の手順に従い ます。
1.
ゲー ト を選択 し ます。
2.
右 ク リ ッ ク し て [Go To Source] を ク リ ッ ク し ます。
X-Ref Target - Figure 3-6
図 3-6 : ソ ースへのク ロ ス プ ローブ
ク ロ ス プ ロ ーブ機能を使用 し て、 ネ ッ ト リ ス ト ゲー ト に関連する ソ ース を特定 し ます。 合成での変換に よ り 、 デザ
イ ンのすべてのゲー ト を ソ ース に ク ロ ス プ ロ ーブで き る と は限 り ません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
88
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
メ ト リ ク スの表示
イ ンプ リ メ ン テーシ ョ ンが終了 し た ら 、 デザ イ ンがデバ イ ス で ど の よ う に動作す る かを確認で き ます。 Vivado IDE
では、 デバ イ ス内の ロ ジ ッ ク お よ び配線 リ ソ ース の使用状況を調べ る ための メ ト リ ク ス が複数あ り ます。 メ ト リ ク
ス は、 [Device] ウ ィ ン ド ウ に指定 し た規則に従っ て色分け表示 さ れます。 メ ト リ ク ス を表示する には、 [Device] ウ ィ
ン ド ウ を右 ク リ ッ ク し て [Metric] を ク リ ッ ク し 、 表示す る メ ト リ ク ス を選択 し ます(次の図を参照)。
X-Ref Target - Figure 3-7
図 3-7 : メ ト リ ク ス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
89
japan.xilinx.com
第 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 ま たは
配置制約を変更 し て、 その部分での ロ ジ ッ ク お よ び配線の使用率を削減 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
90
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
配線解析
[Device] ウ ィ ン ド ウ のツールバーの [Routing Resources] ボ タ ン を オンにす る と 、 配線 リ ソ ース が表示 さ れます。
X-Ref Target - Figure 3-8
図 3-8 : 配線の表示
配線配置の表示
配置配線は、 ズーム レベルに よ っ て表示が異な り ます。
•
縮小表示 し た場合
•
拡大表示 し た場合
ヒ ン ト : 2 種類の表示を使用す る こ と に よ り 、 ラ ン タ イ ム と メ モ リ の使用量を最小限に抑えなが ら 、 すべてのサ イ ズ
でデザ イ ンの詳細が表示 さ れ る よ う にな っ てい ます。
縮小 し た場合の配線配置の表示
縮小す る と 、 表示は簡略化 さ れた も のにな り ます。 こ の表示には、 次の よ う な特徴があ り ます。
•
配線が凝縮 さ れた も のにな り ます。
•
特定の領域を通過す る 配線の数に よ っ て線の太 さ が変わ り ます。
配置 も 同様に、 各 タ イ ルを表すブ ロ ッ ク に、 配置 さ れてい る ロ ジ ッ ク が表示 さ れます。 タ イ ルに含まれ る ロ ジ ッ ク
が多いほ ど、 タ イ ルを表すブ ロ ッ ク が大 き く な り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
91
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
X-Ref Target - Figure 3-9
図 3-9 : 簡略表示
拡大 し た場合の配線配置の表示
拡大す る と 、 実際の ロ ジ ッ ク セルお よ び配線が表示 さ れます。
X-Ref Target - Figure 3-10
図 3-10 : 詳細表示
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
92
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
表示オプ シ ョ ン
[Device] ウ ィ ン ド ウ を カ ス タ マ イ ズ し て、 デバ イ スお よ びデザ イ ン を さ ま ざ ま な方法で表示で き ます。 こ れ ら は、
ツールバーの [Device Options] を ク リ ッ ク し て設定 し ます。
X-Ref Target - Figure 3-11
図 3-11 : [Device Options] の [Layers] ビ ュ ー
デザ イ ンお よ びデバ イ ス の異な る リ ソ ース の表示/非表示を切 り 替えた り 、 表示色を変更 し た り で き ます。
[Device] ウ ィ ン ド ウのナビゲーシ ョ ン
X-Ref Target - Figure 3-12
図 3-12 : [Device] ウ ィ ン ド ウのナビゲーシ ョ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
93
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Device] ウ ィ ン ド ウ は、 次の機能を使用 し てナビ ゲー ト で き ます。
•
ズーム操作 : 標準的な拡大 ([Zoom In])、 縮小 ([Zoom Out])、 お よ び全体表示 ([Zoom Fit])
•
[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
注記 : デザ イ ン解析レ ポー ト のオプシ ョ ンには、 report_design_analysis Tcl コ マ ン ド を実行する 場合にのみ使
用可能なオプシ ョ ンがい く つかあ り ます。 こ の Tcl コ マ ン ド の結果を GUI で表示する には、 -name オプシ ョ ン を使
用 し ます。
Vivado IDE の [Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス (図 3-13) には、 次の フ ィ ール ド お よ び タ ブがあ り ます。
•
[Results name] フ ィ ール ド
•
[Options] タ ブ
•
[Advanced] タ ブ
•
[Timer Settings] タ ブ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
94
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
X-Ref Target - Figure 3-13
図 3-13 : [Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス
[Results name] フ ィ ール ド
レ ポー ト のグ ラ フ ィ カル ウ ィ ン ド ウ の名前を指定 し ます。
同等 Tcl オプシ ョ ン : -name <windowName>
[Options] タ ブ
[Options] タ ブ (図 3-13) には、 次のセ ク シ ョ ンがあ り ます。
•
[Timing]
•
[Complexity]
•
[Congestion]
[Timing]
タ イ ミ ン グ パ ス の タ イ ミ ン グお よ び物理的な特性を レ ポー ト する よ う 設定 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
95
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
同等 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) を オンに し て実行する と 、 パ ス の
セ ッ ト ア ッ プお よ びホール ド の特性 と 、 ホール ド 違反の修正がセ ッ ト ア ッ プ タ イ ミ ン グに影響 し てい る 場合は同 じ
始点 と 終点が表示 さ れます。
[Include logic level distribution] をオンにする と 、[Number of paths] で指定 し た数のパ ス の ロ ジ ッ ク レベル分布がデザ イ
ン解析レ ポー ト に含まれます。 [All paths] をオンに し てい る 場合は、 こ こ で指定 し たパス の数が [Maximum number of
paths per clock group] の代わ り に使用 さ れます。 [Specific paths] を オンに し てい る 場合は、 特定のパ ス のみに対 し て ロ
ジ ッ ク レベル分布が生成 さ れます。
同等 Tcl オプシ ョ ン : -logic_level_distribution -logic_level_dist_paths <arg>
[Complexity]
デザ イ ン ネ ッ ト リ ス ト の複雑性を レ ポー ト する よ う 設定 し ます。
同等 Tcl オプシ ョ ン : -complexity
[Cells to analyze] を オンにす る と 、 複雑性の解析に使用する 階層セルを指定で き ます。 フ ィ ール ド の右側にあ る 参照
ボ タ ン を ク リ ッ ク す る と [Specify Top level Cell] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、セル オブジ ェ ク ト を検索で き ます。
同等 Tcl オプシ ョ ン : -cells <args>
[Hierarchical depths] を オンにす る と 、 最上位 (デフ ォ ル ト ) ま たは -cells オプシ ョ ン で指定 し たセルで解析す る レベ
ル数を指定で き ます。
同等 Tcl オプシ ョ ン : -hierarchical_depth <arg>
[Congestion]
-congestion Tcl オプシ ョ ン をオン ま たはオ フ に し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
96
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Advanced] タ ブ
[Advanced] タ ブ (図 3-14) には、 次のセ ク シ ョ ンがあ り ます。
•
[File Output]
•
[Miscellaneous]
[File Output] セ ク シ ョ ン
[Write results to file] を オンに し 、 その右側の フ ィ ール ド で フ ァ イ ル名を指定す る こ と に よ り 、 結果を GUI に表示す る
だけでな く 、 フ ァ イ ルに保存で き ます。 フ ァ イ ル名を指定す る フ ィ ール ド の右側にあ る 参照ボ タ ン を ク リ ッ ク する
と 、 異な る デ ィ レ ク ト リ を指定で き ます。
同等 Tcl オプシ ョ ン : -file <arg>
[Overwrite] を オンにす る と 、 既存の フ ァ イ ルが上書 き さ れます。 [Append] をオンにする と 、 新 し い結果が フ ァ イ ル
の最後に追加 さ れます。
同等 Tcl オプシ ョ ン : -append
[Miscellaneous]
[Ignore command errors (quiet mode)] を オンにす る と コ マ ン ド エ ラ ーは非表示にな り 、 [Suspend message limits during
command execution] を オンにす る と プ ロ グ ラ ム実行中 メ ッ セージの制限が解除 さ れ、 すべての メ ッ セージが表示 さ れ
ます。
同等 Tcl オプシ ョ ン : -quiet -verbose
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
97
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
X-Ref Target - Figure 3-14
図 3-14 : [Report Design Analysis] ダ イ ア ログ ボ ッ ク ス : [Advanced] タ ブ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
98
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Timer Settings] タ ブ
[Timer Settings] タ ブ (図 3-15) には、 次のオプシ ョ ンお よ びセ ク シ ョ ンがあ り ます。
•
[Interconnect]
•
[Speed grade]
•
[Multi-Corner Configuration]
•
[Disable flight delays]
[Interconnect]
タ イ ミ ン グ パ ス の解析に使用す る イ ン タ ーコ ネ ク ト モデルを選択 し ます。
•
[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] を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
99
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
X-Ref Target - Figure 3-15
図 3-15 : [Report Design Analysis] ダ イ ア ログ ボ ッ ク ス : [Timer Settings] タ ブ
コ マ ン ド ラ イ ンのみのオプ シ ョ ン
タ イ ミ ン グに関す る 次のオプシ ョ ンは、 Tcl コ マ ン ド ラ イ ンか ら 実行す る 場合にのみ使用可能です。 GUI レ ポー ト を
生成す る には、 -name オプシ ョ ン を使用 し ます。
•
-routed_vs_estimated
同 じ パ ス の見積 も り 配線遅延 と 実際の配線遅延を並べて表示 し ます。 レ ポー ト の タ イ ミ ン グ カ テ ゴ リ に含まれ
る 一部の フ ィ ール ド には、 比較のため [Estimated] ま たは [Routed] と 示 さ れます。
•
-return_timing_paths
•
-end_point_clock
•
-logic_levels
複雑性に関す る 次のオプシ ョ ンは、 Tcl コ マ ン ド ラ イ ンか ら 実行す る 場合にのみ使用可能です。 GUI レ ポー ト を生成
す る には、 -name オプシ ョ ン を使用 し ます。
•
-bounding boxes <arg>
こ のオプシ ョ ンは、 指定 し た範囲内の複雑性解析を実行 し ます。 次に例を示 し ます。
-bounding_boxes { "CLE_M_X21Y239:CLEL_R_X28Y254" "CLEL_R_X18Y171:CLE_M_X26Y186" }
注記 : こ の例に示す よ う に、 開始波か っ こ ({) と 範囲指定の間に スペース が必要です。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
100
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
タ イ ミ ン グ パス特性レ ポー ト
次の図に、 デザ イ ン解析レ ポー ト を、 タ イ ミ ン グ モー ド で、 デザ イ ンの 10 個の ワ ース ト セ ッ ト ア ッ プ パ ス特性が
レ ポー ト さ れ る よ う に指定 し て生成 し た例を示 し ます。 こ の レ ポー ト は、 GUI で [Tools] → [Report] → [Report Design
Analysis] を ク リ ッ ク す る か、 次の Tcl コ マ ン ド を使用 し て生成で き ます。
report_design_analysis -name <arg>
ヒ ン ト : ホール ド パ ス特性を レ ポー ト す る には、 [Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス の [Options] タ ブで
[Path delay type] を [min] に設定 し ます。Tcl コ マ ン ド 構文の詳細は、『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ
イ ド 』 (UG835) [参照 3] を参照 し て く だ さ い。
X-Ref Target - Figure 3-16
図 3-16 : セ ッ ト ア ッ プ パス特性レポー ト の例
デザ イ ン解析レ ポー ト には、 ワ ース ト タ イ ミ ン グ パ ス の ロ ジ ッ ク レベル分布 (Logic Level Distribution) の表を含め る
こ と も で き ます。 ロ ジ ッ ク レベル分布用に解析 さ れ る パス のデフ ォ ル ト 数は 1,000 ですが、 こ の数は [Report Design
Analysis] ダ イ ア ロ グ ボ ッ ク ス で変更で き ます。 ロ ジ ッ ク レベル分布の表はデフ ォ ル ト では生成 さ れません。 生成す
る には、 [Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス の [Options] タ ブで [Include logic level distribution] を オンに し ま
す。 次の図に、 ロ ジ ッ ク レベル分布の表の例を示 し ます。
X-Ref Target - Figure 3-17
図 3-17 : ロ ジ ッ ク レ ベル分布の表の例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
101
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
特定のパスの解析
図 3-18 に、 特定のパ ス を指定 し て タ イ ミ ン グ モー ド で生成 し たデザ イ ン解析レ ポー ト の例を示 し ます。
X-Ref Target - Figure 3-18
図 3-18 : 特定の タ イ ミ ング パスのデザイ ン解析レポー ト 例
こ の場合、 特定のパス のみに対 し てパス特性お よ び ロ ジ ッ ク レベル分布の表 (選択 さ れてい る 場合) が生成 さ れます。
パ ス を指定す る には、 [Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス の [Specific paths] を オンに し 、 フ ィ ール ド の右側
にあ る 参照ボ タ ン を ク リ ッ ク し ます。 図 3-19 に示す [Find Timing Paths] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。
X-Ref Target - Figure 3-19
図 3-19 : [Find Timing Paths] ダ イ ア ログ ボ ッ ク ス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
102
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
ワース ト パス と その前後のパスの解析
次の図に、 [Extend analysis] をオンに し て タ イ ミ ン グ モー ド で生成 し たデザ イ ン解析レ ポー ト の例を示 し ます。
注記 : [Extend analysis] オプシ ョ ンは、 現在の と こ ろ セ ッ ト ア ッ プ パ ス解析のみで設定可能です。
ワース ト セ ッ ト ア ッ プ パ ス に加え、 始点セルへの ワース ト セ ッ ト ア ッ プ パ ス (PrePath) お よ び終点セルか ら の
ワース ト セ ッ ト ア ッ プ パ ス (PostPath) のパス特性が レ ポー ト さ れます。 -extend オプシ ョ ン を使用する と 、 レ
ポー ト さ れ る パ ス のすべての特性を収集す る ため タ イ ミ ン グ解析を複数回実行す る 必要があ る ので、 実行時間が長
く な り ます。
同等 Tcl コ マ ン ド : report_design_analysis -extend
X-Ref Target - Figure 3-20
図 3-20 : ワース ト セ ッ ト ア ッ プ パスの拡張パス特性レ ポー ト の例
タ イ ミ ング パス特性レ ポー ト の解読お よび解釈
パ ス特性は、 主に タ イ ミ ン グ、 ロ ジ ッ ク 、 物理、 お よ びプ ロ パテ ィ の 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 未満のパ ス は要件を満たす こ と が困難であ り 、 特に従来のアーキ テ ク チ ャ では回
避す る 必要があ り ます。
°
通常セ ッ ト ア ッ プ要件が小 さ い場合、 タ イ ミ ン グ例外制約が不足 し ていないか ど う か、 お よ び ソ ースお よ
びデス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジ を確認 し て く だ さ い。 タ イ ミ ン グ解析では、 タ イ ミ ン グ例外制約が
設定 さ れていない場合は、 ソ ース ク ロ ッ ク エ ッ ジ と デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジの正の最小差が
使用 さ れます。
°
正のホール ド パス要件は一般的でな く 満たす こ と が難 し いので、 見直す必要があ り ます。 正のホール ド パ
ス要件があ る 場合、 マルチサ イ ク ル パス制約がセ ッ ト ア ッ プ解析用にのみ設定 さ れてお り 、 ホール ド 解析
用のマルチサ イ ク ル パス制約が不足 し ていないか ど う か を確認 し て く だ さ い。 ま た、 ソ ース ク ロ ッ ク と デ
ス テ ィ ネーシ ョ ン ク ロ ッ ク の関係が正 し い こ と も 確認 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
103
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
•
デー タ パ ス : [Path Delay] はデー タ パ ス遅延の合計、 [Logic Delay] は ロ ジ ッ ク セル遅延、 [Net Delay] はネ ッ ト 遅
延を示 し ます。
°
°
[Logic Delay] が合計デー タ パ ス遅延に占め る 割合が高い場合は (50% 以上な ど)、 デー タ パ ス ロ ジ ッ ク の レ
ベル数お よ び ロ ジ ッ ク パス上のセルの タ イ プ を確認 し 、 RTL ま たは合成オプシ ョ ン を変更 し てパ ス の ロ
ジ ッ ク レベル数を削減す る か遅延の小 さ いセルを使用する こ と をお勧め し ます。
[Requirement] が妥当であ る セ ッ ト ア ッ プ パス で [Net Delay] の合計パ ス遅延に占め る 割合が高い場合は、 こ
のセ ク シ ョ ンに リ ス ト さ れてい る パ ス の物理特性お よ びプ ロ パテ ィ 特性を解析する こ と をお勧め し ます。
[High Fanout] お よ び [Cumulative Fanout] 特性を見 る と 、 パ ス の一部のネ ッ ト の フ ァ ン ア ウ ト が大 き いために
配置の問題が発生 し てい る 可能性があ る かを確認で き ます。 [Hold Fix Detour] 特性を見 る と 、 パ ス に対 し て
ホール ド 違反の修正が実行 さ れてい る かを確認で き ます。 こ の特性は、 report_design_analysis コ マ
ン ド を 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]、
[Logical Path]、 お よ び [Comb DSP] ロ ジ ッ ク 特性は、 タ イ ミ ン グ パ ス の基本的な情報を示 し ます。
°
[Start Point Pin Primitive] は タ イ ミ ン グ パ ス の始点、 [End Point Pin Primitive] は終点を示 し ます。 [Start Point
Pin Primitive] と [End Point Pin Primitive] が予測 さ れ る タ イ ミ ン グ パ ス の始点お よ び終点であ る こ と を確認 し
ます。 [Start Point Pin] お よ び [End Point Pin] は、 典型的な タ イ ミ ン グ レ ポー ト のヘ ッ ダーに示 さ れ る 実際の
タ イ ミ ン グ パス ピ ンの始点 と 終点を示 し ます。
CLR、 PRE、 RST、 CE な ど の終点ピ ンは、 非同期 リ セ ッ ト や ク ロ ッ ク イ ネーブル信号な ど の制御信号の
フ ァ ン ア ウ ト の大 き いネ ッ ト の一部であ る 可能性があ る ので、 確認 し ます。 ま た、 ブ ロ ッ ク RAM や DSP
な ど の一部のプ リ ミ テ ィ ブは Clock-to-Q 遅延お よ びセ ッ ト ア ッ プ/ホール ド 要件がほかのセル よ り も 大 き い
ので、 セルの タ イ プ も 確認 し て く だ さ い。 こ れ ら がパ ス に存在す る と 、 パ ス タ イ ミ ン グ バジ ェ ッ ト のかな
り の部分が消費 さ れ る 可能性があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
104
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
°
[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 の一部を削除で き る 可能性があ り ます。
°
•
[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
Region Distance] と タ イ ミ ン グ パ ス の [Clock Skew] への影響に特に注意 し て く だ さ い。
ネ ッ ト の フ ァ ン ア ウ ト お よ び迂回 :
°
[High Fanout] はデー タ パ ス のすべてのネ ッ ト で最大の フ ァ ン ア ウ ト を示 し 、 [Cumulative Fanout] はデー タ パ
ス ネ ッ ト すべての フ ァ ン ア ウ ト の合計を示 し ます。
[High Fanout] お よ び [Cumulative Fanout] が大 き い場合は、 タ イ ミ ン グ違反はフ ァ ン ア ウ ト が配線お よ びネ ッ
ト 遅延に影響 し てい る ためだ と 考え ら れます。
物理最適化を実行 し て も フ ァ ン ア ウ ト が削減 さ れない場合は、 MARK_DEBUG お よ び DONT_TOUCH 制約に よ
り 複製が阻止 さ れてい る か ど う かを確認 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
105
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
イ ンプ リ メ ン テーシ ョ ンの前にネ ッ ト を複製が必要な場合は、 RTL ま たは XDC フ ァ イ ル内で合成に
MAX_FANOUT 制約を使用 し ます。 フ ァ ン ア ウ ト の大き いネ ッ ト で良い タ イ ミ ン グ を得る こ と がで き る か ど
う かは配置に依存す る ので、 合成で複製を実行す る のは通常はお勧め し ません。 配置後の物理最適化
(phys_opt_design) で複製を実行する こ と をお勧め し ます。 -directive オプシ ョ ン を Explore、
AggressiveExplore、 AggressiveFanoutOpt な ど に設定す る と 、 正の ス ラ ッ ク が小 さ いパ ス も 最適化
で き ます。
イ ンプ リ メ ン テーシ ョ ン中に特定のネ ッ ト で フ ァ ン ア ウ ト の削減が必要な場合は、 次の コ マ ン ド を使用 し
て複製を強制で き ます。
phy_opt_design -force_replication_on_nets <netName>
°
[Hold Fix Detour] が 1 の場合、 パ ス ホール ド タ イ ム要件を満たすためデー タ パ ス上の配線が遅延 さ れてい
ます。 パ ス のセ ッ ト ア ッ プ要件が満た さ れていない場合は、 ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ
ク の間に過剰な ス キ ュ ーがないか ど う かを確認 し ます。 ホール ド パス要件が正の場合は、 ソ ース ク ロ ッ ク
と デス テ ィ ネーシ ョ ン ク ロ ッ ク の間に適切な タ イ ミ ン グ制約が設定 さ れてい る か ど う か も 確認 し ます。
ホール ド パス要件は、 ほ と ん ど の場合 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 な ど のほかの物理制約に変更を加えた場合、 固定 さ れたセル ロ ケーシ ョ ン ま たは固定 さ れた配線 も
ア ッ プデー ト が必要な場合 も あ る こ と に注意 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
106
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
複雑性レポー ト
複雑性レ ポー ト には、 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] を オンにす る 。
•
report_design_analysis Tcl コ マ ン ド を次の表に示すオプシ ョ ン を使用 し て実行する 。
表 3-1 : デザイ ン解析レポー ト を複雑性モー ド で生成する オプ シ ョ ン
Tcl オプ シ ョ ン
説明
-complexity
デザ イ ン解析レ ポー ト を複雑性モー ド で生成する 場合に指定する 必要が
あ り ます。
-cells <arg>
複雑性を解析す る 際に使用す る 階層セルを指定 し ます。
-hierarchical_depth <arg>
最上位 (デフ ォ ル ト ) ま たは -cells オプシ ョ ンで指定 し たセルで解析す
る 階層レベル数を指定 し ます。
最上位でのデザイ ン複雑性の解析
次の図に、 デザ イ ン解析レ ポー ト を複雑性モー ド で実行 し 、 最上位モジ ュ ールか ら 1 階層レベルの解析を レ ポー ト
し た場合の例を示 し ます。
Tcl コ マ ン ド :
report_design_analysis -complexity -hierarchical_depth 1
X-Ref Target - Figure 3-21
図 3-21 : 最上位で階層レ ベル数 1 の複雑性解析
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
107
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
複雑性レ ポー ト の解読 と 解釈
上記の例の 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 指数お よ び平均フ ァ ン ア ウ ト が大き く
て も 問題な く 配置配線で き ます。 そのため、 Rent 指数お よ び平均フ ァ ン ア ウ ト と 共に [Total Instances] 列 も 確認す る
必要があ り ます。
複雑性の特性か ら 常に配線の密集を予測で き る わけではあ り ません。 I/O ロ ケーシ ョ ン制約、 フ ロ アプ ラ ン、 タ ー
ゲ ッ ト デバ イ ス でのマ ク ロ プ リ ミ テ ィ ブの位置な ど の要因に よ り 、 配置 ソ リ ュ ーシ ョ ンが制限 さ れて密集が発生す
る 可能性があ り ます。 こ れ ら の制約の影響の解析には、 配置後の密集レ ポー ト を使用する のが適 し てい ます。
Complexity Characteristics の表を解釈す る 際には、 次の項目に も 注意 し ます。
•
モジ ュ ールの LUT6 の割合が大 き い と 、 通常平均フ ァ ン ア ウ ト が大 き く な り 、 Rent 指数が大き く な る 可能性 も
あ り ます。
•
RAMB お よ び DSP の数が多い と 、 こ れ ら のプ リ ミ テ ィ ブは接続量が多いので、 Rent 指数が大 き く な る 可能性が
あ り ます。
•
Rent 指数ま たは平均フ ァ ン ア ウ ト が大き い階層 イ ン ス タ ン ス が必ず し も 問題を引き 起 こ す と は限 り ません。 配
置はフ ラ ッ ト ネ ッ ト リ ス ト に対 し て実行 さ れ、 こ れ ら の イ ン ス タ ン ス が配置 し やすい ロ ジ ッ ク グループに分割
さ れます。 こ の レ ポー ト は、 あ る モジ ュ ールが明 ら かに際立っ てい る 場合にネ ッ ト リ ス ト の問題が存在する 可
能性のあ る 場所を示 し ます。
大型のモジ ュ ールの Rent 指数ま たは平均フ ァ ン ア ウ ト が大 き く それが原因で密集お よ び タ イ ミ ン グ問題が発生 し て
い る 場合は、 次を実行す る こ と を考慮 し ます。
°
モジ ュ ールの接続を削減 し ます。 階層を保持 し て合成での境界を ま た ぐ 最適化が実行 さ れない よ う にする
と 、 LUT6 の使用量が削減 さ れ、 ネ ッ ト リ ス ト の集積度 も 削減 さ れます。
°
合成での LUT の組み合わせをデ ィ ス エーブルに し てみます。
°
°
イ ンプ リ メ ン テーシ ョ ン中に密集ス ト ラ テジ を使用す る か、 配置の -directive オプシ ョ ンに SpreadLogic
モー ド を使用 し て、 密集を緩和 し ます。 デザ イ ンが SSI デバ イ ス を タ ーゲ ッ ト と し てい る 場合は、 配置で
異な る SSI モー ド を試 し てみます。
SSI デバ イ ス では SLR レベルで単純な フ ロ アプ ラ ン を使用する か、 一般的には ク ロ ッ ク 領域レベルで単純
な フ ロ アプ ラ ン を使用 し て、 密集 し た ロ ジ ッ ク のグループを別々に し する か、 以前の実行で得 ら れた良い
配置に類似 し た ソ リ ュ ーシ ョ ンが得 ら れ る よ う グ ロ ーバル配置を ガ イ ド し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
108
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
密集レポー ト
密集レ ポー ト は、 デバ イ ス の密集 し たエ リ ア と それ ら のエ リ アにあ る デザ イ ン モジ ュ ールの名前を示 し ます。 ク リ
テ ィ カル パ ス が密集 し たエ リ アの中ま たは近 く にあ る 場合、 タ イ ミ ン グ ク ロ ージ ャ の問題が発生す る 可能性があ り
ます。
デザイ ンの密集の解析
デザ イ ン解析レ ポー ト を密集モー ド で生成す る には、[Report Design Analysis] ダ イ ア ロ グ ボ ッ ク ス の [Options] タ ブで
[Congestion] をオンに し ます。 デザ イ ンが配置ま たは配線 さ れてい る こ と が必要です。 未配置のデザ イ ンに対 し てデ
ザ イ ン解析レ ポー ト を密集モー ド で実行 し て も 、 何 も レ ポー ト さ れません。
密集モー ド のデザ イ ン解析レ ポー ト には、 次の 6 つの表が含まれます。
•
「[Placed Maximum] (配置後の最大レベル密集レ ポー ト )」
•
「[Average Initial Router Maximum] (平均初期配線最大密集レ ポー ト )」
•
「[Router Maximum] (配線最大密集レ ポー ト )」
•
「[SLR Net Crossing] (SLR を ま た ぐ ネ ッ ト の レ ポー ト )」
•
「[Placed Tile Based (V)]」
•
「[Placed Tile Based (H)]」
最大密集レ ポー ト
こ れ ら の表には、 特定の方向で見 ら れ る 最大密集レベル (Window Size) と 同 じ すべての ウ ィ ン ド ウ が レ ポー ト さ れま
す。 次の列があ り ます。
°
[Direction] : 密集 し た配線 リ ソ ース の方向 (North、 South、 West、 ま たは East) を示 し ます。
°
[Size] : CLB タ イ ルの密集の ウ ィ ン ド ウ サ イ ズ を示 し ます。
°
[Congestion] : 定義 さ れた ウ ィ ン ド ウ での配線 リ ソ ース の予測使用率を示 し ます。 こ の値は 100% 以上にな る
こ と があ り ます。
°
[Rent] : ウ ィ ン ド ウ の Rent 指数を示 し ます。
°
[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 の使用率を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
109
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Placed Maximum] (配置後の最大レ ベル密集レポー ト )
[Placed Maximum] の表でデザ イ ンの密集お よ び タ イ ミ ン グ QoR を解析する 際は、 次を確認 し ます。
°
°
LUT の使用率が高い場合は、 複雑性レ ポー ト で LUT6 の割合が大 き い イ ン ス タ ン ス を調べます。
密集エ リ アで RAMB ま たは DSP の使用率が高い場合は、 Pblock 制約に よ り 該当す る モジ ュ ールの配置エ リ
アが制限 さ れていないか を確認 し ます。 配置の -directive オプシ ョ ンで BlockPlacement や SpreadLogic な ど
のモー ド 指定 し て、 密集を緩和 し ます。 密集が低 く 良い タ イ ミ ン グ QoR が得 ら れた以前の実行か ら の
RAMB ま たは DSPの配置を再利用す る と 有益な場合があ り ます。
次の図に、 [Placed Maximum] の表の例を示 し ます。 こ の レ ポー ト を使用する と 、 密集ウ ィ ン ド ウ に よ り 定義 さ
れたデバ イ ス のエ リ ア と その ウ ィ ン ド ウ内にあ る モジ ュ ールを調べ る こ と がで き ます。 リ ソ ース使用率か ら 密
集エ リ アに配置 さ れてい る リ ソ ース の タ イ プがわか り ます。
X-Ref Target - Figure 3-22
図 3-22 : [Placed Maximum] 表の例
[Average Initial Router Maximum] (平均初期配線最大密集レポー ト )
[Average Initial Router Maximum] は、 配線が実行 さ れてい る 場合にのみ生成 さ れ、 route_design ロ グ フ ァ イ ルの
Congestion Report と 似てお り 、 配線の初期段階で直面す る 配線の密集を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
110
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Router Maximum] (配線最大密集レポー ト )
[Router Maximum] は、 配線が実行 さ れてい る 場合にのみ生成 さ れ、 route_design ロ グ フ ァ イ ルの Congestion
Report と 似てい ます。
[Router Maximum] の表を解析す る 際は、 次を確認 し ます。
•
ウ ィ ン ド ウ サ イ ズが 64x64 を超え る 場合は、 デザ イ ンで タ イ ミ ン グが満た さ れ る 可能性は低 く 、 配線でエ ラ ー
が発生す る こ と があ り ます。
•
ウ ィ ン ド ウ サ イ ズが 16x16 ま たは 32x32 で、 配線で レ ポー ト さ れ る 密集 と 配置で レ ポー ト さ れ る 密集が一致 し
てい る 場合は、 [Placed Maximum] の表で密集エ リ アに配置 さ れてい る モジ ュ ールを特定す る 必要があ り ます。
それ ら のモジ ュ ールに対 し て密集を緩和す る 手法を適用す る か、 配置を -directive オプシ ョ ン で
SpreadLogic* な ど の異な る モー ド を使用 し て再実行 し ます。
•
ウ ィ ン ド ウ サ イ ズが 8x8 以下の場合は、 タ イ ミ ン グ バジ ェ ッ ト が非常に厳 し い場合以外は、 密集が問題 と な る
こ と はあ り ません。
X-Ref Target - Figure 3-23
図 3-23 : [Router Maximum] の表の例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
111
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[SLR Net Crossing] (SLR を また ぐ ネ ッ ト のレ ポー ト )
[SLR Net Crossing] は SSI デバ イ ス に対 し てのみ生成 さ れ、 SLR の境界を ま た ぐ モジ ュ ールに含まれ る ネ ッ ト の数を
レ ポー ト し ます。 各モジ ュ ールに対 し 、 ネ ッ ト が ま た ぐ SLR の詳細情報が示 さ れます。 次の図に、 [SLR Net
Crossing] の表の例を示 し ます。
注記 : 1 つのネ ッ ト の複数の SLR に含まれ る 複数の ロ ー ド を駆動す る 場合、 最 も 遠い も ののみがカ ウ ン ト さ れます。
た と えば、 SLR0 のネ ッ ト が SLR1、 SLR2、 お よ び SLR3 の ロ ー ド を駆動する 場合、 SLR3 が SLR0 か ら 最 も 遠い フ ァ
ン ア ウ ト なので、 こ のネ ッ ト は [0-3 Cuts] でのみカ ウ ン ト さ れます。 こ のカ ウ ン ト 方法に よ り 、 各列 ([0-1 Cuts]、 [1-2
Cuts] な ど) のネ ッ ト 数を合計 し た値が、 SLR を ま た ぐ ネ ッ ト の総数 と 一致 し ます。
X-Ref Target - Figure 3-24
図 3-24 : [SLR Net Crossing] の表の例
SLR Net Crossing Reporting の表でデザ イ ンの密集お よ び タ イ ミ ン グ QoR を解析す る 際は、 次を確認 し ます。
°
°
SSI デバ イ ス を使用 し てい る 場合は、 配置の -directive オプシ ョ ンで SSI 用のモー ド を使用す る と 、 タ
イ ミ ン グお よ び密集に両方において有益です。
配置の -directive オプシ ョ ンの さ ま ざ ま なモー ド を使用 し た複数の イ ンプ リ メ ン テーシ ョ ン run で SLR
を ま た ぐ特定のモジ ュ ールに対 し て タ イ ミ ン グ問題が発生す る 場合は、 単純な Pblock を作成 し てモジ ュ ー
ルを 1 つの SLR に制約 し てみて く だ さ い。
[Placed Tile Based] (配置後の タ イル ベースの密集 メ ト リ ク ス)
[Placed Tile Based] は、 密集が最大の も のか ら 10 個の CLB タ イ ル と 、 それ ら の CLB タ イ ルに配置 さ れてい る セ
ルを含むモジ ュ ールを示 し ます。図 3-25 お よ び図 3-26 に、[Placed Tile Based (V)] (垂直) と [Placed Tile Based (H)]
(水平) の例を示 し ます。
°
[Tile Name] : 密集が発生 し てい る CLB タ イ ルを示 し ます。
°
[RPM Grid Column]/[RPM Grid Row] : デバ イ ス の CLB の RPM ロ ケーシ ョ ン を示 し ます。
°
[Congestion in Window] : CLB タ イ ルを解す る 配線 リ ソ ース の予測使用率を示 し ます。 こ の値は 100% 以上に
な る こ と があ り ます。
°
[Cell Names] : 密集 ウ ィ ン ド ウ に関連する セルを含む親 イ ン ス タ ン ス を、 割合の大き い も のか ら 3 つま で示
し ます。
°
[Placer Max Overlap?] : タ イ ルが Placed Maximum 領域 と オーバー ラ ッ プ し てい る かを示 し ます。
こ のデー タ は、 [Window] → [Metrics] を ク リ ッ ク し て [CLB Metrics] の下にあ る [Vertical/Horizontal routing congestion
per CLB] を ク リ ッ ク し て グ ラ フ ィ カルに表示で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
112
japan.xilinx.com
第 3 章 : イ ン プ リ メ ン テーシ ョ ン結果の解析機能
[Placed Tile Based (V)]
X-Ref Target - Figure 3-25
図 3-25 : [Placed Tile Based (V)] の例
[Placed Tile Based (H)]
X-Ref Target - Figure 3-26
図 3-26 : [Placed Tile Based (H)] の例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
113
japan.xilinx.com
第 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] メ ニ ュ ーの コ マ ン ド を使用 し て異な る レ ポー ト を生成で き る よ う にな り ます。
•
合成ま たは イ ンプ リ メ ン テーシ ョ ン を実行す る と 、 合成レ ポー ト ま たは イ ンプ リ メ ン テーシ ョ ン レ ポー ト が生
成 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
114
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
IDE での メ ッ セージの表示および管理
メ ッ セージは、 デザ イ ンの特定のエ レ メ ン ト に関す る ス テー タ ス情報、 ま たはツール処理中に発生 し たエ ラ ーを示
し ます。
ヒ ン ト : メ ッ セージ を確認 し 、 デザ イ ンに困難な部分や問題が発生 し てい る 箇所がないか ど う か を判断 し ます。
[Reports] ウ ィ ン ド ウの使用
[Reports] ウ ィ ン ド ウ には、 ア ク テ ィ ブな合成ま たは イ ンプ リ メ ン テーシ ョ ン run に関す る レ ポー ト が表示 さ れます。
レ ポー ト を ダブル ク リ ッ ク す る と 、 テ キ ス ト エデ ィ タ ーで開 き ます。 [Run Properties] ウ ィ ン ド ウ の [Reports] ビ ュ ー
か ら 、 [Design Runs] ウ ィ ン ド ウ で選択 し てい る run の レ ポー ト を表示で き ます。
X-Ref Target - Figure 4-1
図 4-1 : [Reports] ウ ィ ン ド ウ
[Messages] ウ ィ ン ド ウの使用
メ ッ セージには、 次の 2 種類があ り ます。
•
デ ィ ス ク に保存 さ れ る メ ッ セージ
•
メ モ リ に保存 さ れ る メ ッ セージ
[Messages] ウ ィ ン ド ウ では、 メ ッ セージが生成 さ れた操作ご と に メ ッ セージがグループ化 さ れます。
こ の ウ ィ ン ド ウ の ツールバーの コ マ ン ド ボ タ ン を使用 し て、 メ ッ セージ ID ま たはフ ァ イ ルで メ ッ セージ を グループ
化で き ます。
X-Ref Target - Figure 4-2
図 4-2 : [Messages] ウ ィ ン ド ウ
一部の メ ッ セージにはフ ァ イ ルま たはデザ イ ン エ レ メ ン ト へのハ イ パー リ ン ク が含まれてお り 、 デバ ッ グに役立ち
ます。 リ ン ク を ク リ ッ ク し て ソ ース を表示 し ます。
ヒ ン ト : ポ ッ プア ッ プ メ ニ ュ ーか ら [Copy Message] を ク リ ッ ク する と 、 メ ッ セージ全体を コ ピー し て別の ウ ィ ン ド
ウ ま たは文書に貼 り 付け る こ と がで き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
115
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
各 メ ッ セージには、 メ ッ セージ ID と メ ッ セージの重要度が付け ら れてい ます。
•
メ ッ セージ ID
メ ッ セージ ID は異な る メ ッ セージ を識別す る も ので、 メ ッ セージ を グループ化ま たは並べ替えで き る よ う に
な っ てい ます。
•
メ ッ セージの重要度
メ ッ セージの重要度は、 示 さ れてい る 情報の特性を示 し ます。
デザ イ ン を エ ラ ボ レー ト 、 合成、 ま たは イ ンプ リ メ ン ト す る 前に解決 し てお く 必要があ る メ ッ セージ も あ り ますが、
情報のみの メ ッ セージ も あ り ます。 情報 メ ッ セージは、 デザ イ ン ま たはプ ロ セ ス の詳細を示 し ますが、 それに対す
る 操作は必要あ り ません。
表 4-1 : メ ッ セージの重要度
アイ コン
重要度
メ ッ セージ
ス テー タ ス
デザ イ ン プ ロ セ ス に関す る 一般的な ス テー タ ス を示 し ます。
情報
デザ イ ン プ ロ セ ス に関す る 一般的な ス テー タ スお よ びフ ィ ー ド バ ッ ク を示 し ます。
警告
制約ま たは仕様が意図どお り に適用 さ れていないために、 最適なデザ イ ン結果にな ら
ない可能性を示 し ます。
ク リ テ ィ カル
警告
ユーザー入力ま たは制約に、 適用 さ れなか っ た り 、 適切な方法に従っ ていない も のが
あ り 、 フ ロ ーの後の方でエ ラ ーが発生す る 可能性が高い こ と を示 し ます。 ソ ースお よ
び制約を確認 し て、 変更を加え る こ と を強 く お勧め し ます。
エラー
デザ イ ン結果が使用で き ない状態にな り 、 ユーザーが対処 し ない と 回避 さ れない問題
を示 し ます。 デザ イ ン フ ロ ーは停止 し ます。
推奨 : ア ク テ ィ ブ合成お よ び イ ンプ リ メ ン テーシ ョ ン run か ら デザ イ ン を メ モ リ に読み込んだ と き に、 すべてのエ
ラ ーお よ び ク リ テ ィ カル警告を確認 し て く だ さ い。 メ ッ セージには、 注意が必要な問題に関する 情報が示 さ れます。
メ ッ セージには解決策を示す長い説明が含まれてい る も の も あ り 、 メ ッ セージ ID を ク リ ッ ク す る と 表示で き ます。
図 4-3 の例を参照 し て く だ さ い。 こ の例では、 プ ラ イ マ リ ク ロ ッ ク 制約がデザ イ ンにないポー ト を参照 し てい る た
め (最初の警告) 作成 さ れず (最初の ク リ テ ィ カル警告)、 こ の ク ロ ッ ク を参照す る 制約 も 作成 さ れない こ と を示 し て
い ます。
X-Ref Target - Figure 4-3
図 4-3 : エ ラ ーおよび ク リ テ ィ カル警告の確認
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
116
japan.xilinx.com
第 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
•
セルご と のパ ラ メ ー タ ー設定
•
ド ラ イ バーが複数あ る ネ ッ ト
•
駆動 さ れていない階層ピ ン
•
最適化情報
•
ブラ ッ ク ボッ ク ス
•
最終的なプ リ ミ テ ィ ブ数
•
階層ご と のセルの使用量
•
ラ ン タ イ ムお よ び メ モ リ 使用量
重要 : こ の レ ポー ト ま たは [Messages] ウ ィ ン ド ウ でエ ラ ー、 ク リ テ ィ カル警告、 お よ び警告を確認 し て く だ さ い。 合
成では、 フ ロ ーの後の方で深刻 と な る 可能性のあ る 問題に対 し て、 ク リ テ ィ カル警告ま たは警告が生成 さ れ る こ と
があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
117
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
イ ン プ リ メ ン テーシ ョ ン ログ
Vivado イ ンプ リ メ ン テーシ ョ ン ロ グには、 次の情報が含まれます。
•
場所、 ネ ッ ト リ ス ト 、 お よ び使用 さ れた制約に関す る 情報
•
ロ ジ ッ ク 最適化 タ ス ク 。 小型で高速なネ ッ ト リ ス ト が生成す る ため、 デフ ォ ル ト で ロ ジ ッ ク 最適化ルーチンが
実行 さ れます。
•
配置フ ェーズお よ び配置後の タ イ ミ ン グ予測 (WNS お よ び TNS のみ)
•
配線フ ェーズお よ び複数の タ イ ミ ン グ予測 と 配線後の予測 タ イ ミ ン グ サマ リ (WNS、 TNS、 WHS、 お よ び THS
のみ)
•
各 イ ンプ リ メ ン テーシ ョ ン コ マ ン ド お よ びフ ェ ーズの経過時間 と メ モ リ
こ の レ ポー ト ま たは [Messages] ウ ィ ン ド ウ でエ ラ ー、 ク リ テ ィ カル警告、 お よ び警告を確認 し て く だ さ い。 配置で
生成 さ れた警告が、 フ ロ ーの後の方でエ ラ ー と な る 場合があ り ます。 個々の段階を それぞれ実行 し た場合は、 最後
に実行 し た段階の結果のみが含まれます。
重要 : タ イ ミ ン グ サマ リ レ ポー ト で、 パルス幅 タ イ ミ ン グ サマ リ お よ び タ イ ミ ン グ違反や不足 し てい る 制約に関す
る 情報を確認 し て く だ さ い。
WebTalk レ ポー ト
WebTalk レ ポー ト は、 ビ ッ ト ス ト リ ーム生成中に生成 さ れます。 こ の レ ポー ト は、 ユーザーのザ イ リ ン ク ス デバ イ
ス の使用に関す る 情報を収集 し ます。 こ の情報は、 ザ イ リ ン ク ス で よ り よ い ツールを提供する ために使用 さ せてい
ただ き ます。 機密情報は収集 さ れません。 詳細は、 次の ウ ェ ブサ イ ト を参照 し て く だ さ い。
http://japan.xilinx.com/webtalk/
デザイ ンに関する レ ポー ト の作成
こ のセ ク シ ョ ンでは、 デザ イ ンに関す る レ ポー ト の作成について説明 し ます。 次の内容が含まれます。
•
「 リ ソ ース使用率レ ポー ト 」
•
「I/O レ ポー ト 」
•
「 ク ロ ッ ク 使用量レ ポー ト 」
•
「制御セ ッ ト レ ポー ト 」
•
「DRC レ ポー ト 」
•
「配線ス テー タ ス レ ポー ト 」
•
「 ノ イ ズ レ ポー ト 」
•
「消費電力レ ポー ト 」
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
118
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
リ ソ ース使用率レポー ト
リ ソ ース使用率レ ポー ト (Utilization Report) は、 フ ロ ーの さ ま ざ ま な段階で report_utilization コ マ ン ド を使用
し て生成で き ます。 こ の Tcl コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参
照 3] を参照 し て く だ さ い。 7 シ リ ーズ デザ イ ン では、 こ の レ ポー ト に run に使用 さ れたデバ イ ス と 、 次のエ レ メ ン
ト の使用率が表示 さ れます (各カ テ ゴ リ に追加の項目が表示 さ れ る 場合 も あ り )。
•
•
ス ラ イ ス ロジッ ク
°
LUT
°
MuxFx
°
レジス タ
メモリ
°
ブ ロ ッ ク RAM
°
FIFO
•
DSP
•
I/O リ ソ ース
•
ク ロ ッ ク リ ソ ース
•
°
BUFGCTRL
°
BUFR
°
BUFHCE
°
MMCME2_ADV
°
PLLE2_ADV
特定のデバ イ ス リ ソ ース
°
STARTUPE2
°
XADC
•
使用数順に並べ ら れたプ リ ミ テ ィ ブ タ イ プの数
•
ブラ ッ ク ボッ ク ス
•
イ ン ス タ ン シエー ト さ れたネ ッ ト リ ス ト
Tcl コ ン ソ ールか ら 実行す る 場合、 -cells オプシ ョ ン を使用 し て特定の階層セルの使用率を レ ポー ト で き ます。
Vivado IDE GUI か ら 実行 し た場合、 こ の情報は表で示 さ れます。
ロ ジ ッ ク 最適化 コ マ ン ド でネ ッ ト リ ス ト が変更 さ れ る こ と があ る ので、 こ れ ら の値はフ ロ ーの段階に よ っ て異な る
場合があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
119
japan.xilinx.com
第 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 の変動に影響
さ れやす く な り ます。 イ ンプ リ メ ン テーシ ョ ン を実行す る たびに、 ク ロ ッ ク の配線が異な る も のにな る 可能性があ
り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
120
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
ク ロ ッ ク 使用量レ ポー ト の [Locked] 列には、 ク ロ ッ ク の配置が固定 さ れてい る か、 ク ロ ッ ク リ ソ ース の配置に制限
がないかが示 さ れます。
グ ロ ーバル ク ロ ッ ク 数が多すぎ る 場合、 フ ァ ン ア ウ ト の小 さ い ク ロ ッ ク を BUFH ま たは BUFR な ど の ク ロ ッ ク リ
ソ ース に移動す る こ と を考慮 し て く だ さ い。
制御セ ッ ト レ ポー ト
制御セ ッ ト と は、 ク ロ ッ ク 信号、 ク ロ ッ ク イ ネーブル信号、 お よ びセ ッ ト / リ セ ッ ト 信号の組み合わせです。 各ス ラ
イ ス では 1 つの制御セ ッ ト がサポー ト さ れ、 ス ラ イ ス内のすべての フ リ ッ プ フ ロ ッ プで使用で き ます。 異な る 制御
セ ッ ト の フ リ ッ プ フ ロ ッ プ を同 じ ス ラ イ ス に配置す る こ と はで き ません。
制御セ ッ ト レ ポー ト (Control Sets Report) には、 デザ イ ンに含まれ る 固有の制御セ ッ ト 数 (Number of unique control
sets) と 、 デザ イ ンの配置に基づ く 制御セ ッ ト の配置制限に よ り 使用で き な く な っ た レ ジ ス タ サ イ ト の最小数
(Minimum Number 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 つの重要度が使用 さ れます。 こ の時点では、 ク
リ テ ィ カル警告お よ びエ ラ ーでデザ イ ン フ ロ ーが停止する こ と はあ り ません。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
121
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
イ ンプ リ メ ン テーシ ョ ンの段階で も DRC が実行 さ れますが、 ク リ テ ィ カルなポ イ ン ト で フ ロ ーが停止す る こ と があ
り ます。 配置配線で配置の妨げ と な る 問題がチ ェ ッ ク さ れます。 特定の メ ッ セージの重要度が フ ロ ーの段階に よ っ
て低い場合があ り ます。 重要度が低い場合、 opt_design、 place_design、 route_design が停止する こ と はあ
り ませんが、 ボー ド 上で問題が発生す る 可能性があ り ます。
た と えば、 ユーザーに よ り すべてのデザ イ ン ポー ト のパ ッ ケージ ピ ン ロ ケーシ ョ ンお よ び I/O 規格が手動で指定 さ
れてい る か をチ ェ ッ ク す る DRC があ り ます。 不足 し てい る 制約があ る 場合、 place_design お よ び
route_design では ク リ テ ィ カル警告が表示 さ れますが、 こ れ ら の DRC 違反は write_bitstream ではエ ラ ー と
な り ます。 こ れ ら の制約がない状態ではデバ イ ス はプ ロ グ ラ ムで き ません。
フ ロ ーの初期段階で重要度を低 く し てい る のは、 最終的な ピ ン配置が決定 さ れ る 前にデザ イ ン を イ ンプ リ メ ン テー
シ ョ ン ま で実行で き る よ う にす る ためです。 包括的な DRC サ イ ンオ フ を実行す る には、 ビ ッ ト ス ト リ ーム を生成す
る 必要があ り ます。
図 4-4 に、 DRC レ ポー ト を表示す る [DRC] ウ ィ ン ド ウ を示 し ます。
X-Ref Target - Figure 4-4
図 4-4 : DRC レ ポー ト
DRC を ク リ ッ ク す る と 、 [Violation Properties] ウ ィ ン ド ウ に メ ッ セージの詳細が表示 さ れます。 [Detailed] ビ ュ ーを ク
リ ッ ク し て詳細を確認 し て く だ さ い。 多 く の メ ッ セージには、 ネ ッ ト 、 セル、 お よ びポー ト へのハ イ パー リ ン ク が
含ま れてい ます。
X-Ref Target - Figure 4-5
図 4-5 : [Violation Properties] ウ ィ ン ド ウ
DRC レ ポー ト は、 デザ イ ン を変更 し た と き にダ イ ナ ミ ッ ク に変化 し ません。 デザ イ ン を変更 し た ら 、 [Rerpot DRC]
を再実行す る 必要があ り ます。 オブジ ェ ク ト を削除ま たは移動 し た場合な ど の操作に よ り リ ン ク が無効にな る 場合、
ツールでそれが判断 さ れ リ ン ク が使用で き な く な り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
122
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
リ ン ク を ク リ ッ ク す る と オブジ ェ ク ト が選択 さ れますが、 [Properties] ウ ィ ン ド ウ は更新 さ れません。 オブジ ェ ク ト
のプ ロ パテ ィ を表示す る には、 オブジ ェ ク ト の選択を一度解除 し てか ら 選択 し 直 し て く だ さ い。
Tcl で DRC レ ポー ト を作成す る には、 report_drc コ マ ン ド を実行 し ます。
結果を フ ァ イ ルに記述す る には、 report_drc -file myDRCs.txt コ マ ン ド を実行 し ます。
ヒ ン ト : report_drc コ マ ン ド の詳細は、 「report_drc -help」 と 入力 し て く だ さ い。
配線ス テー タ ス レ ポー ト
配線ス テー タ ス レ ポー ト (Route Status Report) は、 イ ンプ リ メ ン テーシ ョ ン中に生成 さ れ、 report_route_status
Tcl コ マ ン ド を使用 し て生成で き ます。
配線ス テー タ ス レ ポー ト には、 デザ イ ンのネ ッ ト に関する 次の情報が含まれます。
•
デザ イ ンに含まれ る 論理ネ ッ ト の総数
°
°
°
配線 リ ソ ース が不要なネ ッ ト の数
-
タ イ ル外の配線 リ ソ ース を使用 し ないネ ッ ト の数(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 :
------------------------------------------- :----------- :
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
123
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
ノ イ ズ レ ポー ト
[Report Noise] コ マ ン ド は、 7 シ リ ーズ デバ イ ス の同時ス イ ッ チ ノ イ ズ (SSN) 解析を実行 し ます。 デフ ォ ル ト では、
ノ イ ズ レ ポー ト は Vivado IDE の下部の [Noise] ウ ィ ン ド ウ に表示 さ れます。 結果は CSV ま たは HTML フ ァ イ ルにエ
ク ス ポー ト で き ます。
X-Ref Target - Figure 4-6
図 4-6 : [Report Noise] ダ イ ア ログ ボ ッ ク ス
ノ イ ズ レ ポー ト には、 次の 4 つのセ ク シ ョ ンがあ り ます。
•
「[Summary] セ ク シ ョ ン」
•
「[Messages] セ ク シ ョ ン」
•
「[I/O Bank Details] セ ク シ ョ ン」
•
「[Links] セ ク シ ョ ン」
[Summary] セ ク シ ョ ン
次の情報を示 し ます。
•
レ ポー ト が生成 さ れた日時
•
解析 さ れたポー ト 数 と その割合
•
ス テー タ ス (問題が検出 さ れたか ど う か)
•
ク リ テ ィ カル警告、 警告、 お よ び情報 メ ッ セージの数
[Messages] セ ク シ ョ ン
レ ポー ト の作成中に生成 さ れた メ ッ セージ を示 し ます。
[I/O Bank Details] セ ク シ ョ ン
ピ ン、 I/O 規格、 ノ イ ズ マージ ン値の残 り な ど の情報を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
124
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
[Links] セ ク シ ョ ン
http://japan.xilinx.com/support 上の関連資料への リ ン ク を示 し ます。
X-Ref Target - Figure 4-7
図 4-7 : ノ イ ズ レポー ト
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 デバ イ ス電流要件の レ ポー ト
•
消費電力の分配を詳細に解析す る こ と に よ り 、 ダ イ ナ ミ ッ ク 消費電力、 温度に よ る 消費電力の変動、 ま たはオ
フチ ッ プ消費電力を削減す る 消費電力節約ス ト ラ テジ を特定
•
シ ミ ュ レーシ ョ ン ア ク テ ィ ビ テ ィ フ ァ イ ルを使用 し て よ り 正確な消費電力予測が可能
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
125
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
X-Ref Target - Figure 4-8
図 4-8 : [Report Power] ダ イ ア ログ ボ ッ ク ス
消費電力レ ポー ト の解析
[Report Power] ダ イ ア ロ グ ボ ッ ク ス (図 4-8) を使用 し 、 次の も のに基づいて消費電力を解析 し ます。
•
設定
•
消費電力の合計
•
階層
•
電圧レール
•
ブロ ッ ク タ イプ
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
126
japan.xilinx.com
第 4 章 : レ ポー ト および メ ッ セージ
X-Ref Target - Figure 4-9
図 4-9 : 消費電力レポー ト
消費電力レ ポー ト と 結果の解析の詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 消費電力解析 と 最適化』 (UG907) [参
照 8] を参照 し て く だ さ い。
デフ ォ ル ト では、 イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス の配線後にテ キ ス ト 形式の消費電力レ ポー ト が生成 さ れます。
非プ ロ ジ ェ ク ト モー ド での消費電力レ ポー ト の生成
非プ ロ ジ ェ ク ト モー ド では、 link_design ま たは synth_design コ マ ン ド を実行 し た後に report_power コ マ
ン ド を使用 し て消費電力レ ポー ト を生成で き ます。 使用可能な配置配線情報を使用 し て、 よ り 正確な消費電力予測
値が示 さ れます。 Tcl コ ン ソ ールま たは ス ク リ プ ト で こ の レ ポー ト を生成す る には、 report_power コ マ ン ド を使
用 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
127
japan.xilinx.com
第 5章
タ イ ミ ング解析の実行
タ イ ミ ング解析の概要
Vivado® 統合設計環境 (IDE) には、 レ ポー ト を生成す る コ マ ン ド が複数あ り 、 デザ イ ンが タ イ ミ ン グ制約を満た し て
お り 、 アプ リ ケーシ ョ ン ボー ド に読み込む準備がで き たか を確認で き ます。 タ イ ミ ン グ サマ リ レ ポー ト は タ イ ミ ン
グ サ イ ンオ フ レ ポー ト であ り 、 ISE® Design Suite の TRCE レ ポー ト に相当 し ます。 すべての タ イ ミ ン グ チ ェ ッ ク の
概要が示 さ れ、 タ イ ミ ン グ問題の解析お よ びデバ ッ グ を開始す る のに十分な情報が提供 さ れます。 詳細は、 第 1 章
「IDE を使用 し た ロ ジ ッ ク 解析」 を参照 し て く だ さ い。
こ の レ ポー ト は、 ウ ィ ン ド ウ に表示す る か、 フ ァ イ ルに保存す る か、 ロ グ フ ァ イ ルに出力で き ます。 タ イ ミ ン グ サ
マ リ レ ポー ト で タ イ ミ ン グが満た さ れていない、 不足 し てい る 制約があ る な ど の結果が示 さ れた場合、 レ ポー ト の
さ ま ざ ま なセ ク シ ョ ンに示 さ れ る 詳細を確認 し て、 よ り 詳細な解析を実行 し ます。 ほかの タ イ ミ ン グ レ ポー ト では、
特定の状況ま たは特定の ロ ジ ッ ク に対す る よ り 詳細な情報が提供 さ れます。
デザ イ ンに タ イ ミ ン グ制約を追加す る 前に、 タ イ ミ ン グ解析の基本 と 用語を理解 し てお く 必要があ り ます。 こ の章
では、 Vivado 統合設計環境 (IDE) の タ イ ミ ン グ エン ジ ンで使用 さ れ る 主要な概念を説明 し ます。
用語
•
ソ ース エ ッ ジ : デー タ を送信す る ソ ース ク ロ ッ ク のア ク テ ィ ブ エ ッ ジ
•
デス テ ィ ネーシ ョ ン エ ッ ジ : デー タ を受信す る デス テ ィ ネーシ ョ ン ク ロ ッ ク のア ク テ ィ ブ エ ッ ジ
•
セ ッ ト ア ッ プ要件 : 最 も 厳 し いセ ッ ト ア ッ プ制約を定義す る ソ ース エ ッ ジ と デス テ ィ ネーシ ョ ン エ ッ ジの関係
•
セ ッ ト ア ッ プ関係 : タ イ ミ ン グ解析ツールで検証 さ れ る セ ッ ト ア ッ プ チ ェ ッ ク
•
ホール ド 要件 : 最 も 厳 し いホール ド 制約を定義する ソ ース エ ッ ジ と デス テ ィ ネーシ ョ ン エ ッ ジの関係
•
ホール ド 関係 : タ イ ミ ン グ解析ツールで検証 さ れ る ホール ド チ ェ ッ ク
タ イ ミ ン グ パス
タ イ ミ ン グ パ ス は、 デザ イ ンの イ ン ス タ ン ス間の接続に基づいて定義 さ れます。 デジ タ ル デザ イ ンでは、 タ イ ミ ン
グ パ ス は同 じ ク ロ ッ ク ま たは異な る ク ロ ッ ク で制御 さ れ る 順次エ レ メ ン ト のペアで形成 さ れます。
一般的な タ イ ミ ング パス
デザ イ ンに含まれ る 最 も 一般的なパ ス は、 次の と お り です。
•
「入力ポー ト か ら 内部シーケ ン シ ャ ル セルま でのパス」
•
「シーケ ン シ ャ ル セル間の内部パス」
•
「内部シーケ ン シ ャ ル セルか ら 出力ポー ト ま でのパス」
•
「入力ポー ト か ら 出力ポー ト ま でのパ ス」
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
128
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
入力ポー ト から 内部シーケ ン シ ャル セルま でのパス
入力ポー ト か ら 内部シーケ ン シ ャ ル セルま でのパス では、 デー タ が次の よ う に伝搬 さ れます。
•
デバ イ ス の外部か ら ボー ド 上の ク ロ ッ ク に よ り 入力 さ れます。
•
入力遅延 (SDC 定義) 後にデバ イ ス ポー ト に到達 し ます。
•
デバ イ ス の内部 ロ ジ ッ ク を介 し て、 デス テ ィ ネーシ ョ ン ク ロ ッ ク が供給 さ れ る シーケ ン シ ャ ル セルに到達 し
ま す。
シーケ ン シ ャル セル間の内部パス
シーケ ン シ ャ ル セル間の内部パス では、 デー タ が次の よ う に伝搬 さ れます。
•
デバ イ ス内で ソ ース ク ロ ッ ク が供給 さ れ る シーケ ン シ ャ ル セルか ら 駆動 さ れます。
•
内部 ロ ジ ッ ク を介 し て、 デス テ ィ ネーシ ョ ン ク ロ ッ ク が供給 さ れ る シーケ ン シ ャ ル セルに到達 し ます。
内部シーケ ン シ ャル セルか ら出力ポー ト ま でのパス
内部シーケ ン シ ャ ル セルか ら 出力ポー ト ま でのパス では、 デー タ が次の よ う に伝搬 さ れます。
•
デバ イ ス内で ソ ース ク ロ ッ ク が供給 さ れ る シーケ ン シ ャ ル セルか ら 駆動 さ れます。
•
内部 ロ ジ ッ ク を介 し て出力ポー ト に到達 し ます。
•
出力遅延 (SDC 定義) 後にボー ド 上の ク ロ ッ ク に よ り 受信 さ れます。
入力ポー ト から 出力ポー ト ま でのパス
入力ポー ト か ら 出力ポー ト ま でのパ ス では、 デー タ はデバ イ ス上を ラ ッ チ さ れずに伝搬 さ れます。 こ れ ら のパ ス は、
in-to-out パ ス と も 呼ばれます。 入力お よ び出力遅延基準 ク ロ ッ ク と し ては、 仮想 ク ロ ッ ク ま たはデザ イ ン ク ロ ッ ク
を使用で き ます。
タ イ ミ ング パスの例
図 5-1 に、 前述のパ ス を示 し ます。 こ の例では、 デザ イ ン ク ロ ッ ク CLK0 を DIN お よ び DOUT 遅延制約のボー ド ク
ロ ッ ク と し て使用で き ます。
X-Ref Target - Figure 5-1
FPGA DEVICE
Board
Device
D
Q
Internal Delay
DIN
D
Tsetup
Thold
Input
Delay
Data Path Delay
REGA
Q
D
Tclk-Q
Internal Delay
REGB
Tsetup
Thold
Q
Tclk-Q
DOUT
Board
Device
D
Q
Output
Delay
BUFG
Board Clock CLK0
Board Clock
In-2-Out Data Path
図 5-1 : タ イ ミ ング パスの例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
129
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
タ イ ミ ング パスのセ ク シ ョ ン
各 タ イ ミ ン グ パス は、 次の 3 つのセ ク シ ョ ンか ら 構成 さ れます。
•
「 ソ ース ク ロ ッ ク パ ス」
•
「デー タ パス」
•
「デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス」
ソ ース ク ロ ッ ク パス
ソ ース ク ロ ッ ク パ ス は、 ソ ース ク ロ ッ ク が ソ ース ポ イ ン ト (通常は入力ポー ト ) か ら ソ ース シーケ ン シ ャ ル セルの
ク ロ ッ ク ピ ン ま で伝搬 さ れ る パス です。 入力ポー ト か ら 開始する タ イ ミ ン グ パ ス には、 ソ ース ク ロ ッ ク パ ス はあ
り ません。
デー タ パス
デー タ パ ス は、 パス の開始点 と パス の終点の間で、 デー タ が伝搬 さ れ る タ イ ミ ン グ パ ス の部分です。 パ ス の開始点
はシーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン ま たはデー タ 入力ポー ト で、 パ ス の終点はシーケ ン シ ャ ル セルのデー タ 入力
ピ ン ま たはデー タ 出力ポー ト です。
デス テ ィ ネーシ ョ ン ク ロ ッ ク パス
デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス は、 デス テ ィ ネーシ ョ ン ク ロ ッ ク が ソ ース ポ イ ン ト (通常は入力ポー ト ) か ら デ
ス テ ィ ネーシ ョ ン シーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン ま で伝搬 さ れ る パス です。 出力ポー ト で終了する タ イ ミ ン グ
パ ス には、 デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス はあ り ません。 図 5-2 に、 典型的な タ イ ミ ン グ パ ス の こ れ ら 3 つのセ
ク シ ョ ン を示 し ます。
X-Ref Target - Figure 5-2
REGA
D
Data Path
Q
REGB
D
Q
Endpoint
Source Clock Path
Startpoint
Destination Clock Path
図 5-2 : 典型的な タ イ ミ ング パス
ソ ース エ ッ ジお よびデス テ ィ ネーシ ョ ン エ ッ ジ
デー タ は、 シーケ ン シ ャ ル セルま たはポー ト 間を次の よ う に転送 さ れます。
•
ソ ース ク ロ ッ ク のエ ッ ジの 1 つ ( ソ ース エ ッ ジ) で送信 さ れます。
•
デス テ ィ ネーシ ョ ン ク ロ ッ ク のエ ッ ジの 1 つ (デス テ ィ ネーシ ョ ン エ ッ ジ) で受信 さ れます。
典型的な タ イ ミ ン グ パス では、 デー タ は 1 ク ロ ッ ク 周期の間に 2 つのシーケ ン シ ャ ル セル間を転送 さ れます。 その
場合、 ソ ース エ ッ ジは 0ns、 デス テ ィ ネーシ ョ ン エ ッ ジは 1 周期後にな り ます。
次のセ ク シ ョ ンに、 ソ ース エ ッ ジお よ びデス テ ィ ネーシ ョ ン エ ッ ジに よ り タ イ ミ ン グ解析用にセ ッ ト ア ッ プ関係 と
ホール ド 関係を定義す る 方法を説明 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
130
japan.xilinx.com
第 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 タ イ ミ ン グでは常に こ の よ う にな る わけではないので、
両方の コ ーナーで両方の解析を実行す る こ と をお勧め し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
131
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
セ ッ ト ア ッ プ/ リ カバ リ 関係
セ ッ ト ア ッ プ チ ェ ッ ク は、 2 つの ク ロ ッ ク 間の ワース ト セ ッ ト ア ッ プ関係に対 し てのみ実行 さ れます。 デフ ォ ル ト
では、 こ れは ソ ース エ ッ ジ と デス テ ィ ネーシ ョ ン エ ッ ジの最小の正の差に対応 し ます。 た と えば、 異な る ク ロ ッ ク
の立ち上が り エ ッ ジで動作す る 2 つの フ リ ッ プ フ ロ ッ プの間のパ ス を考え てみます。 こ のパ ス の ソ ース エ ッ ジ と デ
ス テ ィ ネーシ ョ ン エ ッ ジは、 ク ロ ッ ク の立ち上が り エ ッ ジのみです。
ク ロ ッ ク は次の よ う に定義 さ れます。
•
clk0 : 周期 6ns、 最初の立ち上が り エ ッ ジ 0ns、 最初の立下 り エ ッ ジ 3ns
•
clk1 : 周期 4ns、 最初の立ち上が り エ ッ ジ 0ns、 最初の立下 り エ ッ ジ 2ns
図 5-3 に示す よ う に、 2 つのセ ッ ト ア ッ プ関係 Setup(1) と Setup(2) があ り ます。
X-Ref Target - Figure 5-3
Common period
clk0 launch edges
(source clock)
Setup(1)
Setup(2)
clk1 capture edges
(destination clock)
0ns
2ns
4ns
6ns
8ns
10ns
12ns
X13434
図 5-3 : セ ッ ト ア ッ プ関係
clk0 か ら clk1 ま での最小の正の差は 2ns で、 こ れは Setup(2) に対応 し ます。 共通周期は 12ns で、 2 つの ク ロ ッ ク
の 2 つの同時ア ラ イ メ ン ト 間の時間に対応 し ます。
ヒ ン ト : ク ロ ッ ク 関係は、 ク ロ ッ ク ルー ト か ら フ リ ッ プ フ ロ ッ プの ク ロ ッ ク ピ ン ま での挿入遅延を適用する 前の理
想的な ク ロ ッ ク 波形を使用 し て確立 さ れます。
重要 : 両方の ク ロ ッ ク の 1,000 サ イ ク ルの間に共通周期が見つか ら ない場合は、 こ れ ら の 1000 サ イ ク ルにおけ る 最
悪のセ ッ ト ア ッ プ関係が タ イ ミ ン グ解析に使用 さ れます。 こ れ ら 2 つの ク ロ ッ ク は、 共通周期のない ク ロ ッ ク と 呼
ばれます。 解析は、 ワース ト 状況に対応 し ない と 考え ら れます。 こ れ ら の ク ロ ッ ク 間のパ ス を確認 し 、 その有効性
を評価 し 、 非同期パ ス と し て処理で き る か ど う かを判断す る 必要があ り ます。
パ ス要件がわか っ た ら 、 ス ラ ッ ク の算出にパ ス遅延、 ク ロ ッ ク のば ら つ き 、 お よ びセ ッ ト ア ッ プ タ イ ムが追加 さ れ
ます。 一般的な ス ラ ッ ク の式は、 次の と お り です。
デー タ 所要時間 (セ ッ ト ア ッ プ)
=
デス テ ィ ネーシ ョ ン エ ッ ジ時間
+ デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス遅延
- ク ロ ッ ク のば ら つき
- セッ ト アップ タ イム
デー タ 到着時間 (セ ッ ト ア ッ プ)
=
ソ ース エ ッ ジ時間
+ ソ ース ク ロ ッ ク パス遅延
+ デー タ パ ス遅延
ス ラ ッ ク (セ ッ ト ア ッ プ)
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
=
デー タ 所要時間 – デー タ 到着時間
132
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
こ れ ら の式が示す よ う に、 所要時間の前にデー タ が到着す る と 、 セ ッ ト ア ッ プ ス ラ ッ ク が正にな り ます。
リ カバ リ チ ェ ッ ク はセ ッ ト ア ッ プ チ ェ ッ ク と 似てい ますが、 プ リ セ ッ ト や ク リ ア な ど の非同期ピ ンに適用 さ れま
す。 関係はセ ッ ト ア ッ プ と 同様に確立 さ れ、 ス ラ ッ ク の式 も セ ッ ト ア ッ プ タ イ ムの代わ り に リ カバ リ タ イ ムが使用
さ れ る こ と を除けば同 じ です。
ホール ド / リ ムーバル関係
ホール ド チ ェ ッ ク (ホール ド 関係) は、 セ ッ ト ア ッ プ関係 と 直接関連 し てい ます。 セ ッ ト ア ッ プ解析は、 最 も 見積 も
り の悪い条件で も デー タ が正 し く 受信 さ れ る か ど う かを検証 し ますが、 ホール ド 関係では次を検証 し ます。
•
セ ッ ト ア ッ プ ソ ース エ ッ ジで送信 さ れたデー タ が、 セ ッ ト ア ッ プ デス テ ィ ネーシ ョ ン エ ッ ジの前のア ク テ ィ
ブ エ ッ ジでキ ャ プチ ャ さ れない (図 5-4 で H1a お よ び H2a はセ ッ ト ア ッ プ エ ッ ジ S1 お よ び S2 に対応)。
•
セ ッ ト ア ッ プ ソ ース エ ッ ジの後の次のア ク テ ィ ブ ソ ース ク ロ ッ ク エ ッ ジで送信 さ れたデー タ が、 セ ッ ト ア ッ
プ デス テ ィ ネーシ ョ ン エ ッ ジでキ ャ プチ ャ さ れない (図 5-4 で H2a お よ び H2b はセ ッ ト ア ッ プ エ ッ ジ S1 お よ
び S2 に対応)。
ホール ド 解析では、 2 つの ク ロ ッ ク 間の ワ ース ト ホール ド 関係のみが レ ポー ト さ れます。 ワース ト ホール ド 関係が、
ワース ト セ ッ ト ア ッ プ関係に関連付け ら れてい る と は限 り ません。 タ イ ミ ン グ エン ジ ンでは、 可能なすべてのセ ッ
ト ア ッ プ関係 と それに対応す る ホール ド 関係を評価 し 、 ワース ト ホール ド 関係を特定する 必要があ り ます。
た と えば、 セ ッ ト ア ッ プ関係の例 と 同 じ パ ス を考え ます。 2 つのセ ッ ト ア ッ プ関係があ り ます。
次の図に、 セ ッ ト ア ッ プ関係ご と に 2 つのホール ド 関係があ る こ と を示 し ます。
X-Ref Target - Figure 5-4
clk0 launch edges
(source clock)
H1a
S1 H1b
H2a
S2
H2b
clk1 capture edges
(destination clock)
0ns
2ns
4ns
6ns
8ns
10ns
12ns
X13435
図 5-4 : セ ッ ト ア ッ プ関係ご と のホール ド 関係
最大ホール ド 要件は 0ns で、 ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク 両方の最初の立ち上が り エ ッ ジに対応
し ます。
パ ス要件がわか っ た ら 、 ス ラ ッ ク の算出にパ ス遅延、 ク ロ ッ ク のば ら つ き 、 お よ びホール ド タ イ ムが追加 さ れます。
一般的な ス ラ ッ ク の式は、 次の と お り です。
デー タ 所要時間 (ホール ド )
=
デス テ ィ ネーシ ョ ン エ ッ ジ時間
+ デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス遅延
- ク ロ ッ ク のば ら つき
+ ホール ド タ イ ム
デー タ 到着時間 (ホール ド )
=
ソ ース エ ッ ジ時間
+ ソ ース ク ロ ッ ク パス遅延
+ デー タ パ ス遅延
ス ラ ッ ク (ホール ド )
=
デー タ 到着時間 – デー タ 所要時間
こ れ ら の式が示す よ う に、 所要時間の後に新 し いデー タ が到着す る と 、 ホール ド ス ラ ッ ク が正にな り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
133
japan.xilinx.com
第 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
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
134
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
Clock Pessimism Removal (CPR)
一般的な タ イ ミ ン グ パス レ ポー ト には、 ルー ト か ら シーケ ン シ ャ ル セルの ク ロ ッ ク ピ ン ま での、 ソ ースお よ びデ
ス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス の遅延の詳細が示 さ れます。 下に説明す る よ う に、 ソ ースお よ びデス テ ィ ネーシ ョ
ン ク ロ ッ ク は、 共通回路上であ っ て も 、 異な る 遅延で解析 さ れます。
X-Ref Target - Figure 5-5
REGA
REGB
Data Path Delay
D
Q
D
Q
Max Delay
TCKQ
Min Delay
Clock
Source
Point
TSETUP
Source Clock
Destination Clock
Common Clock Tree Section
X13436
図 5-5 : ク ロ ッ ク ツ リ ーの共通部分
共通部分の こ の遅延差に よ り 、 ス キ ュ ー算出におけ る 見積 も り が さ ら に悪 く な り ます。 非現実的な ス ラ ッ ク が算出
さ れない よ う にす る ため、 こ の不必要に悪い見積 も り 部分が 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.581ns
Source Clock Delay (SCD): 2.133ns
Clock Pessimism Removal (CPR): 0.147ns
多 く の場合、 CPR の精度は配線の前後で変わ り ます。 た と えば、 ソ ース ク ロ ッ ク と デス テ ィ ネーシ ョ ン ク ロ ッ ク が
同 じ で、 開始点 ク ロ ッ ク ピ ン と 終点 ク ロ ッ ク ピ ンが同 じ ク ロ ッ ク バ ッ フ ァ ーで駆動 さ れ る タ イ ミ ン グ パ ス があ る
と し ます。
配線前は、 共通点は ク ロ ッ ク ネ ッ ト ド ラ イ バー ( ク ロ ッ ク バ ッ フ ァ ーの出力ピ ン) です。 CPR は、 ク ロ ッ ク ルー ト
か ら ク ロ ッ ク バ ッ フ ァ ーの出力ピ ン ま での不必要に悪い見積 も り 部分のみを補正 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
135
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
配線後は、 共通点はデバ イ ス アーキ テ ク チ ャ の ソ ース ク ロ ッ ク パス と デス テ ィ ネーシ ョ ン ク ロ ッ ク パス で共有 さ
れ る 最後の配線 リ ソ ース です。 こ の共通点はネ ッ ト リ ス ト には表 さ れないので、 タ イ ミ ン グ レ ポー ト か ら 共通 ク
ロ ッ ク 回路の遅延差を減算す る こ と に よ り 対応す る CPR を直接求め る こ と はで き ません。 タ イ ミ ン グ エン ジ ンは、
ユーザーが直接ア ク セ ス で き ないデバ イ ス情報に基づいて CPR 値を算出 し ます。
位相シ フ ト
MMCM/PLL プ ロ パテ ィ を介 し て ク ロ ッ ク 位相を シ フ ト す る と 、 ソ ース ク ロ ッ ク エ ッ ジが遅延 さ れます。 プ ロ グ ラ
ム さ れた ク ロ ッ ク 位相シ フ ト は、 MMCM/PLL の補正遅延には影響 し ません。 正の位相シ フ ト は、 ソ ース ク ロ ッ ク
エ ッ ジ を前方に移動 し 、 ク ロ ッ ク エ ッ ジ を遅延 さ せます。 負の位相シ フ ト は、 ソ ース ク ロ ッ ク エ ッ ジ を後方に移動
し ます。
次の例では、 ク ロ ッ ク clkout0 (周期 10ns) は MMCM で自動派生 さ れます。
位相シ フ ト な し
vivado% set_property CLKOUT0_PHASE 0.000 [get_cells qpll/plle2_adv_inst]
vivado% report_timing
...
(clock clkout0 rise edge)
0.000
0.000 r
...
ソ ース ク ロ ッ ク エ ッ ジは 0.0ns です。
12.0 での正の位相シ フ ト
vivado% set_property CLKOUT0_PHASE 12.000 [get_cells qpll/plle2_adv_inst]
vivado% report_timing
...
(clock clkout0 rise edge)
0.333
0.333 r
...
ソ ース ク ロ ッ ク エ ッ ジは 0.333ns (10ns / 360 * 12.0) 遅延 さ れます。
-15.0 での負の位相シ フ ト
vivado% set_property CLKOUT0_PHASE -15.000 [get_cells qpll/plle2_adv_inst]
vivado% report_timing
...
(clock clkout0 rise edge)
-0.417
-0.417 r
...
ソ ース ク ロ ッ ク エ ッ ジは -0.417ns (10ns / 360 * -15.0) 後方に移動 さ れます。
見積 も り の良いスキ ュ ー
ザ イ リ ン ク ス FPGA デバ イ ス には、 専用 ク ロ ッ ク 配線ツ リ ーや ク ロ ッ ク 調整ブ ロ ッ ク (CMB) な ど のア ド バン ス ク
ロ ッ ク リ ソ ース が含まれます。 一部の CMB では、 位相 ロ ッ ク ループ回路 (PLL ま たは MMCM プ リ ミ テ ィ ブに含ま
れ る ) を使用する こ と に よ り 、 ク ロ ッ ク ツ リ ーの挿入遅延を補正で き ます。 補正量は、 PLL の フ ィ ー ド バ ッ ク ルー
プに存在す る 挿入遅延に基づ き ます。 多 く の場合、 フ ィ ー ド バ ッ ク ループ を含め、 同 じ タ イ プのバ ッ フ ァ ーの複数
の ク ロ ッ ク ツ リ ーが PLL (ま たは MMCM) で駆動 さ れます。 大型のデバ イ ス では、 すべての ク ロ ッ ク ツ リ ー分岐の
挿入遅延が フ ィ ー ド バ ッ ク ループ遅延に一致する と は限 り ません。 フ ィ ー ド バ ッ ク ループの遅延が ソ ース ま たはデ
ス テ ィ ネーシ ョ ン ク ロ ッ ク 遅延 よ り も 大き い場合、 PLL で駆動 さ れ る ク ロ ッ ク が過剰に補正 さ れ る こ と にな り ます。
こ の場合、 CPR の符号が変わ り 、 ス ラ ッ ク 値か ら ス キ ュ ーの見積 も り の良い部分が効果的に削除 さ れます。 こ れは、
解析中に タ イ ミ ン グ パス ク ロ ッ ク の共通 ノ ー ド に誤っ た ス キ ュ ーがない よ う にす る ために必要です。
推奨 : タ イ ミ ン グ解析では CPR 補正を常に使用し 、 ス ラ ッ ク を正確な も のに し 、 サ イ ンオ フ用の タ イ ミ ン グの ク オ
リ テ ィ を保持 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
136
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
ク ロ ッ ク のばら つ き
ク ロ ッ ク のば ら つ き は、 ク ロ ッ ク エ ッ ジのペア間での時間の変動量の合計です。 ば ら つき は、 算出 さ れ る ク ロ ッ ク
ジ ッ タ ー (シ ス テ ム、 入力、 お よ び個別)、 一部のハー ド ウ ェ ア プ リ ミ テ ィ ブに よ り 発生す る 位相エ ラ ー、 デザ イ ン
制約でユーザーに よ り 指定 さ れ る ク ロ ッ ク のば ら つ き (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 Design
Suite で提供 さ れ る その他のデザ イ ン ルール チ ェ ッ ク と 同様、 ビ ッ ト ス ト リ ームの生成前に一度実行す る 必要があ り
ます。
パルス幅違反が発生 し た場合は、 ク ロ ッ ク 定義が不適切であ る か (パルス幅お よ び周期チ ェ ッ ク )、 大き な ス キ ュ ー
を発生 さ せ る ク ロ ッ ク ト ポ ロ ジ (max_skew チ ェ ッ ク ) が原因です。 タ ーゲ ッ ト デバ イ ス のザ イ リ ン ク ス FPGA デー
タ シー ト を参照 し て、 違反が発生 し たプ リ ミ テ ィ ブの動作範囲を理解す る 必要があ り ます。 ス キ ュ ー違反が発生 し
た場合は、 ク ロ ッ ク ツ リ ーを簡略化す る か、 ク ロ ッ ク リ ソ ース を違反の発生 し た ピ ンの近 く に配置 し ます。
タ イ ミ ング パス レポー ト の解釈
タ イ ミ ン グ サマ リ レ ポー ト でパ ス を ダブル ク リ ッ ク し た と き に表示 さ れ る タ イ ミ ン グ パス レ ポー ト には、 タ イ ミ
ン グ違反の原因を理解す る のに必要な情報が含まれてい ます。 次のセ ク シ ョ ンで、 タ イ ミ ン グ パス レ ポー ト につい
て説明 し ます。
タ イ ミ ン グ パ ス に関す る 重要な情報を示 し ます。 タ イ ミ ン グ パ ス の詳細を解析せずに、 違反の原因を知 る こ と がで
き ます。 ス ラ ッ ク 、 パ ス の要件、 デー タ パ ス遅延、 セル遅延、 配線遅延、 ク ロ ッ ク ス キ ュ ー、 お よ び ク ロ ッ ク のば
ら つ き が示 さ れます。 セルの配置に関す る 情報は含まれません。
タ イ ミ ン グ制約お よ び タ イ ミ ン グ解析で使用 さ れ る 用語、 お よ びス ラ ッ ク お よ びパ ス の要件の決定方法は、 131 ペー
ジの 「 タ イ ミ ン グ解析の基礎の理解」 を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
137
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
タ イ ミ ン グ パス サマ リ のヘ ッ ダーの例
図 5-6 に、 テ キ ス ト 形式の レ ポー ト の タ イ ミ ン グ パ ス サマ リ ヘ ッ ダーを示 し ます。
X-Ref Target - Figure 5-6
図 5-6 : テキス ト 形式の タ イ ミ ング パス サマ リ ヘ ッ ダー
図 5-7 に、 Vivado IDE での タ イ ミ ン グ パ ス サマ リ ヘ ッ ダーを示 し ます。
X-Ref Target - Figure 5-7
図 5-7 : Vivado IDE の タ イ ミ ング パス サマ リ ヘ ッ ダー
タ イ ミ ン グ パス サマ リ のヘ ッ ダー情報
タ イ ミ ン グ パ ス サマ リ ヘ ッ ダーには、 次の情報が含まれます。
•
Slack
正の ス ラ ッ ク 値は、 パ ス が タ イ ミ ン グ制約か ら 算出 さ れたパ ス の要件を満た し てい る こ と を示 し ます。 ス ラ ッ
ク を求め る 式は、 解析に よ っ て異な り ます。
°
最大遅延解析 (セ ッ ト ア ッ プ/ リ カバ リ )
ス ラ ッ ク = デー タ 所要時間 – デー タ 到着時間
°
最小遅延解析 (ホール ド / リ ムーバル)
ス ラ ッ ク = デー タ 到着時間 - デー タ 所要時間
デー タ 所要時間 と デー タ 到着時間は、 タ イ ミ ン グ パス レ ポー ト の別のセ ク シ ョ ンに表示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
138
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
•
Source
パ ス の開始点お よ びデー タ を送信す る ソ ース ク ロ ッ ク を示 し ます。 開始点は通常、 シーケ ン シ ャ ル セルの ク
ロ ッ ク ポー ト ま たは入力ポー ト です。
2 行目があ る 場合は、 プ リ ミ テ ィ ブお よ び ク ロ ッ ク ピ ンの認識 さ れ る エ ッ ジが示 さ れます。 ク ロ ッ ク 名 と ク
ロ ッ ク エ ッ ジの定義 (波形お よ び周期) も 示 さ れます。
•
Destination
パ ス の終点お よ びデー タ を受信す る デス テ ィ ネーシ ョ ン ク ロ ッ ク を示 し ます。 終点は通常、 デス テ ィ ネーシ ョ
ン シーケ ン シ ャ ル セルの入力デー タ ピ ン ま たは出力ポー ト です。 2 行目があ る 場合は、 プ リ ミ テ ィ ブお よ び ク
ロ ッ ク ピ ンの認識 さ れ る エ ッ ジが示 さ れます。 ク ロ ッ ク 名 と ク ロ ッ ク エ ッ ジの定義 (波形お よ び周期) も 示 さ れ
ます。
•
Path Group
パ ス の終点が属す る タ イ ミ ン グ グループ を示 し ます。 こ れは通常デス テ ィ ネーシ ョ ン ク ロ ッ ク に よ り 定義 さ れ
る グループですが、 非同期 タ イ ミ ン グ チ ェ ッ ク ( リ カバ リ / リ ムーバル) では **async_default** タ イ ミ ン グ グルー
プに ま と め ら れます。 ユーザー定義のグループ も こ こ に表示 さ れます。 こ れ ら は、 レ ポー ト 生成で便利です。
•
Path Type
こ のパ ス で実行 さ れた解析の タ イ プを示 し ます。
°
Max : デー タ パス遅延の算出に最大遅延値が使用 さ れた こ と を示 し ます。 セ ッ ト ア ッ プ解析お よ び リ カバ
リ 解析に対応 し ます。
°
Min : デー タ パ ス遅延の算出に最小遅延値が使用 さ れた こ と を示 し ます。 ホール ド 解析お よ び リ ムーバル解
析に対応 し ます。
使用 さ れた コ ーナー (Slow ま たは Fast) も 示 さ れます。
•
Requirement
タ イ ミ ン グ パス要件を示 し ます。 開始点 と 終点が同 じ ク ロ ッ ク で制御 さ れてい る 場合、 タ イ ミ ン グ パ ス要件は
通常次の よ う にな り ます。
°
セ ッ ト ア ッ プ/ リ カバ リ 解析では 1 ク ロ ッ ク 周期
°
ホール ド / リ ムーバル解析では 0ns
パ ス が 2 つの ク ロ ッ ク の間にあ る 場合、 要件は ソ ース ク ロ ッ ク エ ッ ジ と デス テ ィ ネーシ ョ ン ク ロ ッ ク エ ッ ジの
最小の正の差に対応 し ます。 こ の値は、 マルチサ イ ク ル、 最大遅延、 最小遅延な ど の タ イ ミ ン グ例外制約に置
き換え ら れます。
タ イ ミ ン グ制約か ら タ イ ミ ン グ パス要件を求め る 方法の詳細は、 128 ページの 「 タ イ ミ ン グ パ ス」 を参照 し て
く だ さ い。
•
Data Path Delay
パ ス の ロ ジ ッ ク セ ク シ ョ ン間で累積 さ れた遅延を示 し ます。 ク ロ ッ ク がデー タ と し て使用 さ れてい る 場合を除
き 、 ク ロ ッ ク 遅延は含まれません。 遅延の タ イ プは、 [Path Type] と 同 じ です。
•
Logic Levels
パ ス のデー タ セ ク シ ョ ンに含まれてい る 、 開始セル と 終了セルを除 く 各種プ リ ミ テ ィ ブの段数を示 し ます。
•
Clock Path Skew
ソ ース ク ロ ッ ク の送信エ ッ ジ と デス テ ィ ネーシ ョ ン ク ロ ッ ク の受信エ ッ ジ間の挿入遅延差お よ び ク ロ ッ ク の不
必要に悪い見積 も り 部分の削除を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
139
japan.xilinx.com
第 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 制約を使用す る と 、 各プ ラ イ マ リ ク ロ ッ ク の入力ジ ッ タ ーを個別に指定で き ます。 生成
ク ロ ッ ク の入力ジ ッ タ ーは、マ ス タ ー ク ロ ッ ク ジ ッ タ ーお よ び伝搬 さ れ る ク ロ ッ ク リ ソ ース に基づいて Vivado
IDE タ イ ミ ン グ エン ジ ンで算出 さ れます。 デフ ォ ル ト では、 仮想 ク ロ ッ ク は理想的な ク ロ ッ ク であ り 、 ジ ッ
タ ーはあ り ません。
ク ロ ッ ク のば ら つ き お よ びジ ッ タ ーの詳細は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参
照 6] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
•
Discrete Jitter (DJ)
MMCM や PLL な ど のハー ド ウ ェ ア プ リ ミ テ ィ ブに よ り 追加 さ れ る ジ ッ タ ー量を示 し ます。
こ の値は、 こ れ ら のセルの コ ン フ ィ ギ ュ レーシ ョ ンに基づいて Vivado IDE タ イ ミ ン グ エン ジ ンに よ り 算出 さ れ
ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
140
japan.xilinx.com
第 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
パ ス に適用 さ れ る タ イ ミ ン グ例外を示 し ます。 優先順位の最 も 高い例外のみが タ イ ミ ン グ パス要件に影響す る
ので、 優先順位の最 も 高い例外のみが示 さ れます。
タ イ ミ ン グ例外お よ びその優先順位の詳細は、 128 ページの 「 タ イ ミ ン グ パ ス」 を参照 し て く だ さ い。
タ イ ミ ン グ パスの詳細
レ ポー ト の後半には、 パ ス が伝搬 さ れ る セル、 ピ ン、 ポー ト 、 お よ びネ ッ ト の詳細が表示 さ れます。 3 つのセ ク シ ョ
ンに分かれてい ます。
•
Source Clock Path
ソ ース ク ロ ッ ク が ソ ース ポ イ ン ト か ら デー タ パ ス の開始点ま で伝搬 さ れ る パ ス を示 し ます。 こ のセ ク シ ョ ン
は、 入力ポー ト か ら 開始す る パ ス には含まれません。
•
Data Path
デー タ が開始点か ら 終点ま で伝搬 さ れ る パ ス を示 し ます。
•
Destination Clock Path
デス テ ィ ネーシ ョ ン ク ロ ッ ク が ソ ース ポ イ ン ト か ら デー タ パス の終点の ク ロ ッ ク ピ ン ま で伝搬 さ れ る パ ス を示
し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
141
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
[Source Clock Path] お よ び [Data Path] セ ク シ ョ ンには、 こ れ ら では、 常に同 じ タ イ プの遅延が レ ポー ト さ れます。
•
セ ッ ト ア ッ プ/ リ カバ リ 解析では最大遅延
•
ホール ド / リ ムーバル解析では最小遅延
デー タ の送信エ ッ ジ時間か ら 開始 し 、 ソ ース ク ロ ッ ク お よ びデー タ パ ス を介 し て累積 さ れ る 遅延 も 同 じ です。 最終
的な累積遅延値は、 デー タ 到着時間 と 呼ばれます。
デス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス は、 常に ソ ース ク ロ ッ ク お よ びデー タ パ ス と 逆の遅延で レ ポー ト さ れます。 初
期の累積遅延値は、 デー タ 受信エ ッ ジがデス テ ィ ネーシ ョ ン ク ロ ッ ク の ソ ース ポ イ ン ト か ら 出発 し た時間です。 最
終的な累積遅延値は、 デー タ 所要時間 と 呼ばれます。
レ ポー ト の最後の行は、 ス ラ ッ ク の算出方法を示 し ます。
•
最大遅延解析 (セ ッ ト ア ッ プ/ リ カバ リ )
ス ラ ッ ク = デー タ 所要時間 – データ 到着時間
•
最小遅延解析 (ホール ド / リ ムーバル)
ス ラ ッ ク = デー タ 到着時間 - データ 所要時間
テキス ト 形式レ ポー ト の タ イ ミ ング パスの詳細
図 5-8 に、 テ キ ス ト 形式の レ ポー ト の ソ ース ク ロ ッ ク 、 デー タ 、 お よ びデス テ ィ ネーシ ョ ン ク ロ ッ ク パ ス の部分を
示 し ます。 パ ス には 5ns の周期制約が適用 さ れてい る ので、 ソ ース ク ロ ッ ク の送信エ ッ ジは 0ns で開始 し 、 デス テ ィ
ネーシ ョ ン ク ロ ッ ク の受信エ ッ ジは 5ns で開始 し ます。
X-Ref Target - Figure 5-8
図 5-8 : テキス ト 形式レポー ト の タ イ ミ ング パスの詳細
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
142
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
Vivado IDE の タ イ ミ ング パスの詳細
図 5-9 に、 図 5-8 のテ キ ス ト 形式レ ポー ト と 同 じ 例の IDE レ ポー ト を示 し ます。
X-Ref Target - Figure 5-9
図 5-9 : Vivado IDE の タ イ ミ ング パスの詳細
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
143
japan.xilinx.com
第 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 (立ち下が り エ ッ ジ)
初期のエ ッ ジは、 解析に使用 さ れ る 送信エ ッ ジ ま たは受信エ ッ ジに よ り 決定 さ れますが、 タ イ ミ ン グ アー ク の特性
に よ っ て、 パ ス上のセルで反転 さ れ る こ と があ り ます。 た と えば、 イ ンバー タ ーの入力の立ち上が り エ ッ ジは、 出
力では立ち下が り エ ッ ジにな り ます。
必要以上に厳 し い タ イ ミ ン グ パス要件が、 ソ ース ク ロ ッ ク ツ リ ーま たはデス テ ィ ネーシ ョ ン ク ロ ッ ク ツ リ ーに よ
る ク ロ ッ ク エ ッ ジの反転に よ る も のであ る 場合があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
144
japan.xilinx.com
第 5 章 : タ イ ミ ン グ解析の実行
タ イ ミ ング サイ ン オ フ の確認
タ イ ミ ン グ解析の詳細を説明す る 前に、 デザ イ ンがハー ド ウ ェ アで実行す る 準備がで き た こ と が、 タ イ ミ ン グ レ
ポー ト の ど の部分に示 さ れ る か を知っ てお く こ と が重要です。
重要 : デザ イ ンが完全に配置配線 さ れた ら 、 タ イ ミ ン グ サ イ ン オ フは イ ンプ リ メ ン テーシ ョ ン結果の解析におけ る
必須の手順です。
デフ ォ ル ト では、 Vivado Design Suite でプ ロ ジ ェ ク ト を使用する 場合、 テ キ ス ト 形式の タ イ ミ ン グ サマ リ レ ポー ト が
自動的に生成 さ れます。 こ の レ ポー ト は、 イ ンプ リ メ ン テーシ ョ ン後に メ モ リ にデザ イ ン チ ェ ッ ク ポ イ ン ト を読み
込んで、 イ ン タ ラ ク テ ィ ブなバージ ョ ン を生成す る こ と も で き ます。
重要 : タ イ ミ ン グ サマ リ レ ポー ト にはバ ス ス キ ュ ー制約は含まれません。 バ ス ス キ ュ ー制約を レ ポー ト する には、
コ マ ン ド ラ イ ンで report_bus_skew コ マ ン ド を実行する 必要があ り ます。 こ の コ マ ン ド は GUI ではサポー ト さ れ
てい ません。
タ イ ミ ン グ サ イ ンオ フ検証手法の詳細は、 『UltraFast 設計手法ガ イ ド (Vivado Design Suite 用)』 (UG949) [参照 5] の こ
のセ ク シ ョ ン を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
145
japan.xilinx.com
第 6章
合成の解析および ク ロージ ャ テ ク ニ ッ ク
エ ラ ボ レー ト 済みビ ュ ーを使用 し た 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 ロ ジ ッ ク 、 特にその演算子ま たはベ ク タ ーのサ イ ズ を確認 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
146
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
例
次の よ う に記述 さ れた カ ウ ン タ ーがあ る と し ます。
X-Ref Target - Figure 6-1
図 6-1 : 単純な カ ウン タ ーの VHDL 例
cnt 信号は 0 ~ 16 を カ ウ ン ト す る ので、 エン コ ー ド する のに 5 ビ ッ ト のベ ク タ ーが必要です。 図 6-2 に、 配線後の
ク リ テ ィ カル パス の回路図を示 し ます。 終点は cnt 信号の ビ ッ ト 30 です。
X-Ref Target - Figure 6-2
図 6-2 : cnt カ ウン タ ーの配線後のク リ テ ィ カル パスの回路図
ク リ テ ィ カル パス の始点セル と 終点セルを選択 し 、 選択 し たセルの回路図を開いて、 終点の ピ ンか ら 始点に ロ ジ ッ
ク を展開 し てい く と 、 エ ラ ボ レー ト 済みビ ュ ーで同等のパ ス を表示で き ます (図 6-3)。
X-Ref Target - Figure 6-3
図 6-3 : cnt カ ウン タ ーのエ ラ ボ レー ト 済みビ ュ ー
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
147
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
エ ラ ボ レー ト 済みビ ュ ーに示 さ れ る 加算器の入力は 32 ビ ッ ト ですが、 こ れは cnt が整数 と し て宣言 さ れてい る か ら
です。 こ の例では、 合成最適化中 32 ビ ッ ト の演算子が保持 さ れます。 エ ラ ボ レー ト 済みビ ュ ーは、 ど の よ う にな っ
てい る か を理解す る のに役立ち ます。 こ れに基づいて次の よ う に RTL を変更 し 、 最適化 さ れたネ ッ ト リ ス ト お よ び
タ イ ミ ン グの QoR を改善で き ます。 カ ウ ン タ ーは 0 か ら 16 ま で イ ン ク リ メ ン ト する ので、 cnt 信号の範囲を定義
し 、 加算器の入力を 32 ビ ッ ト 幅ではな く 5 ビ ッ ト 幅に強制で き ます。
X-Ref Target - Figure 6-4
図 6-4 : 単純な カ ウン タ ーの整数範囲を設定 し た VHDL 例
RTL コ ー ド に加え た変更は合成最適化に も 影響 し ます。 こ れは、 コ ンパ イ ル フ ロ ー全体を実行せずに、 エ ラ ボ レー
ト 済みビ ュ ーを使用 し て確認で き ます。
X-Ref Target - Figure 6-5
図 6-5 : RTL 変更後の cnt カ ウン タ ーのエ ラ ボ レー ト 済みビ ュ ー
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
148
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
メ モ リ のワー ド 数が 2 のべき乗でない場合の RAMB 使
用率の最適化
次のテ ス ト ケース は、 合成ツールで生成 さ れた ロ グ フ ァ イ ルを見て、 ツールを よ り よ い方法でガ イ ド す る ために
RTL に改善を加え る こ と がで き る か ど う か を確認する ために使用で き ます。 次の VHDL コ ー ド の抜粋は、 ワ ー ド 数
40K、 幅 36 ビ ッ ト の メ モ リ を記述 し た も のです。 ア ド レ ス バ ス には 16 ビ ッ ト 必要です。
X-Ref Target - Figure 6-6
図 6-6 : 40K x 36 ビ ッ ト の メ モ リ : RTL の例
合成後に report_utilization コ マ ン ド を使用す る と 、 次の図に示す よ う に、 合成ツールで 72 個のブ ロ ッ ク
RAM (BRAM) が生成 さ れた こ と がわか り ます。
X-Ref Target - Figure 6-7
図 6-7 : 使用率レポー ト に記載 さ れた合成で生成 さ れたブ ロ ッ ク RAM の数
40K x 36 メ モ リ に推論 さ れ る はずのブ ロ ッ ク RAM の数を計算する と 、 ブ ロ ッ ク RAM の数は合成ツールで生成 さ れ
た数 よ り も 少な く な り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
149
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
こ の メ モ リ 構成に必要なブ ロ ッ ク RAM の数を手動で計算する と 、 次の よ う にな り ます。
•
40K x 36 は、 (32K x 36) と (8K x 36) の 2 つの メ モ リ に分け る こ と がで き ます。
•
読み出 し お よ び書 き 込み操作のためにいずれかの メ モ リ を イ ネーブルに し 、 適切な出力デー タ を選択する ため、
MSB ア ド レ ス ビ ッ ト に基づ く ア ド レ ス デ コ ーダーが必要です。
•
32K x 36 メ モ リ は、 32 個の RAMB を使用し て イ ンプ リ メ ン ト で き ます (4 * 8 * (4K x 9))。
•
8K x 36 メ モ リ は、 8 個の RAMB を使用 し て イ ンプ リ メ ン ト で き ます (8 * (1K x 36))。
•
40K x 36 メ モ リ を最適に イ ンプ リ メ ン ト す る には、 合計 40 個の RAMB が必要です
最適な数の RAMB が推論 さ れたか ど う かを確認す る には、 合成 ロ グ フ ァ イ ルを開き 、 各 メ モ リ が ど の よ う に構成 さ
れてい る か、 ど の よ う に FPGA プ リ ミ テ ィ ブにマ ッ プ さ れてい る か を示すセ ク シ ョ ン を確認 し ます。 次の図に示す
よ う に、 メ モ リ の ワー ド 数は 64K と し て処理 さ れてい ます。 こ れは、 ワー ド 数が 2 のべ き 乗でない場合は最適な方
法で処理 さ れない こ と を示 し てい ます。
X-Ref Target - Figure 6-8
図 6-8 : 合成ログ フ ァ イルの RAM の構成 と マ ッ プに関する セ ク シ ョ ン
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
150
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
合成ツールでは、 64K x 1 (カ ス ケー ド 機能を使用 し た 2 個のブ ロ ッ ク RAM) が使用 さ れ、 36 ビ ッ ト デー タ であ る た
めその構造が 36 個があ り ます。 つま り 、 ブ ロ ッ ク RAM の数は合計で 36 x 2 = 72 個にな り ます。 次の図に、 合成で
最適な数の RAMB が推論 さ れ る よ う 強制す る コ ー ド の抜粋を示 し ます。
X-Ref Target - Figure 6-9
図 6-9 : 40K x 36 ビ ッ ト の メ モ リ : 最適化 さ れた RTL の例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
151
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
出力レ ジ ス タ が推論 さ れる よ う にする ための RAMB 入
力ロ ジ ッ ク の最適化
次の RTL コ ー ド は、 ブ ロ ッ ク RAM (実際には ROM) か ら 複数の ロ ジ ッ ク レベルを介 し て フ リ ッ プ フ ロ ッ プで終了す
る ク リ テ ィ カル パス を生成 し ます。 こ の RAMB セルはオプシ ョ ンの出力レ ジ ス タ (DOA-0) を使用せず推論 さ れてお
り 、 RAMB 出力パス に 1ns を超え る 遅延が追加 さ れます。
X-Ref Target - Figure 6-10
図 6-10 : メ モ リ RTL コ ー ド (RAMB 出力レ ジス タ な し )
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
152
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
上記の RTL コ ー ド の ク リ テ ィ カル パ ス は、 ツールで次の図の よ う に表示 さ れます。
X-Ref Target - Figure 6-11
図 6-11 : RAMB からのク リ テ ィ カル パス (出力レ ジス タ はデ ィ ス エーブル)
合成後お よ び イ ンプ リ メ ン テーシ ョ ンの各段階後に ク リ テ ィ カル パス を確認 し 、 改善が必要な ロ ジ ッ ク グループを
特定す る こ と をお勧め し ます。 長いパ スや、 FPGA のハー ド ウ ェ ア機能を最適に利用 し ていないパス があ る 場合は、
RTL コ ー ド に戻 り 、 合成 さ れた ロ ジ ッ ク が最適でない理由を把握 し 、 合成ツールでネ ッ ト リ ス ト が改善 さ れ る よ う
に コ ー ド を変更 し ます。
Vivado には、 長いパスや、 FPGA のハー ド ウ ェ ア機能を最適に利用 し て、 エ ラ ボ レー ト 済みビ ュ ーか ら 使用で き ま
す。 RTL コ ー ド を手動で検索す る のではな く 、 エ ラ ボ レー ト 済みビ ュ ーを使用する と 、 問題箇所を特定 し やす く な
り ます。 次の図に、 上記の RTL コ ー ド のエ ラ ボ レー ト 済みビ ュ ーを示 し ます。
X-Ref Target - Figure 6-12
図 6-12 : RTL コ ー ド のエ ラ ボレー ト 済みビ ュ ー
エ ラ ボ レー ト 済みビ ュ ーでは、 こ のテ ス ト ケース の非効率な構造に関する ヒ ン ト を得る こ と がで き ます。 こ のケー
ス では、 メ モ リ ア ド レ ス と 青 く ハ イ ラ イ ト さ れた グルー ロ ジ ッ ク を駆動す る ア ド レ ス レ ジ ス タ の フ ァ ン ア ウ ト
(addr_reg3_reg) が問題の原因です。
合成ツールで RAMB が推論 さ れ る よ う にす る には、 RTL コ ー ド に専用ア ド レ ス レ ジ ス タ が必要ですが、 現在のア ド
レ ス レ ジ ス タ フ ァ ン ア ウ ト と は互換性があ り ません。 そのため、 出力レ ジ ス タ が、 RAMB のオプシ ョ ンの出力レ ジ
ス タ を イ ネーブルにす る ために使用 さ れ る のではな く 、 RAMB を推論す る ために リ タ イ ミ ン グ さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
153
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
メ モ リ ア ド レ ス と グルー ロ ジ ッ ク が別々の レ ジ ス タ で駆動 さ れ る よ う に RTL コ ー ド でア ド レ ス レ ジ ス タ を複製す
る と 、 RAMB が出力レ ジ ス タ を イ ネーブルに し た状態で推論 さ れます。
次の図に、 手動で レ ジ ス タ を複製 し た後の RTL コ ー ド と そのエ ラ ボ レー ト 済みビ ュ ーを示 し ます。
X-Ref Target - Figure 6-13
図 6-13 : ア ド レ ス レ ジ ス タ を複製 し た後の RTL コ ー ド
X-Ref Target - Figure 6-14
図 6-14 : ア ド レ ス レ ジ ス タ を複製 し た後のエ ラ ボ レー ト 済みビ ュ ー
変更 さ れた RTL コ ー ド の ク リ テ ィ カル パ ス は、 次の図の よ う にな り ます。
•
addr_reg2_reg レ ジ ス タ はブ ロ ッ ク RAM のア ド レ ス ピ ンに接続 さ れてい ます。
•
addr_reg3_reg レ ジ ス タ はブ ロ ッ ク RAM に吸収 さ れてい ます。
•
RAMB 出力レ ジ ス タ が イ ネーブルにな っ てお り 、 RAMB 出力のデータ パ ス遅延が大幅に削減 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
154
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 6-15
図 6-15 : 変更 さ れた RTL コ ー ド のク リ テ ィ カル パス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
155
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
RAMB 出力での ク リ テ ィ カル ロ ジ ッ ク の改善
次のテ ス ト ケース では、 マ ク ロ (BRAM) をデス テ ィ ネーシ ョ ン レ ジ ス タ の近 く に配置す る な ど、 再構成す る こ と に
よ り ク リ テ ィ カル パス を改善 し てい ます。
次の図に、 16:1 マルチプ レ ク サーを示 し ます。 マルチプ レ ク サーの 1 つの入力はブ ロ ッ ク RAM か ら 供給 さ れ、 残 り
の入力はレ ジ ス タ か ら 供給 さ れます。
ク リ テ ィ カル パス : ブ ロ ッ ク RAM -> 2 ロ ジ ッ ク レベル -> フ リ ッ プ フ ロ ッ プ
X-Ref Target - Figure 6-16
図 6-16 : ブ ロ ッ ク RAM の出力に接続 さ れている マルチ プ レ クサー
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
156
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
次の図では、 ブ ロ ッ ク RAM か ら フ リ ッ プ フ ロ ッ プ ま での ク リ テ ィ カル パ ス を赤色でハ イ ラ イ ト し てい ます。 ロ
ジ ッ ク レベル数は、 ブ ロ ッ ク RAM か ら フ リ ッ プ フ ロ ッ プ、 フ リ ッ プ フ ロ ッ プか ら フ リ ッ プ フ ロ ッ プの ど ち ら も 2 つ
です。 ブ ロ ッ ク RAM の ク ロ ッ ク か ら Q ま での遅延の方が大 き いため、 ブ ロ ッ ク RAM か ら フ リ ッ プ フ ロ ッ プ ま でが
ク リ テ ィ カル パス にな り ます。
X-Ref Target - Figure 6-17
図 6-17 : RAMB-LUT-FF のク リ テ ィ カル パス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
157
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
次に、 次の図の RTL コ ー ド を見て、 ロ ジ ッ ク を再構成で き ないか を考え ます。
X-Ref Target - Figure 6-18
図 6-18 : RTL コ ー ド の抜粋
上記の コ ー ド で 16:1 マルチプ レ ク サーを 2 つのマルチプ レ ク サーに分割す る のが、 こ の ロ ジ ッ ク を再構成する 最適
な方法です。 図 6-19 に示す よ う に、 値 4'd5 を選択する 条件を コ メ ン ト ア ウ ト し て、 2:1 マルチプ レ ク サーの イ ネー
ブル条件 と し て使用 し ます。 こ のカ ス ケー ド マルチプ レ ク サー構造を作成する こ と に よ り 、 フ リ ッ プ フ ロ ッ プか ら
フ リ ッ プ フ ロ ッ プのパ ス の ロ ジ ッ ク レベルが 3 にな り ますが、 ブ ロ ッ ク RAM か ら フ リ ッ プ フ ロ ッ プのパ ス の ロ ジ ッ
ク レベルは 1 に減 り ます。 RAMB の配置は LUT お よ びフ リ ッ プ フ ロ ッ プの配置 よ り も 困難であ る ため、 こ の よ う に
ブ ロ ッ ク RAM か ら フ リ ッ プ フ ロ ッ プのパ ス を改善す る こ と で、 ダ ウ ン ス ト リ ーム ツールで よ り よ い配置を達成 し
やす く な り ます。 一般的には、 RAMB、 FIFO、 DSP な ど のマ ク ロ プ リ ミ テ ィ ブ周辺に長いパス が少ないほ う が、 デ
ザ イ ンの QoR は向上 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
158
japan.xilinx.com
第 6 章 : 合成の解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 6-19
図 6-19 : RAMB 出力のロ ジ ッ ク レ ベルを低減する ためのカ スケー ド マルチ プ レ クサー構造
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
159
japan.xilinx.com
第 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 ページの 「 タ イ ミ ン グ サマ リ レ ポー ト 」
•
55 ページの 「例外レ ポー ト 」
よ く 発生す る QoR の問題には、 次の 2 つのカ テ ゴ リ があ り ます。
•
「 タ イ ミ ン グ違反」
•
「密集」
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
160
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
タ イ ミ ン グ違反
最悪の タ イ ミ ン グ違反を解析 し て修正す る と 通常全体的な QoR が向上 し ますが、 ほかの ク リ テ ィ カル パス も タ イ ミ
ン グ ク ロ ージ ャ の課題 と な る こ と が よ く あ る ので、 ほかの ク リ テ ィ カル パ ス も 解析す る 必要があ り ます。 次の コ マ
ン ド を使用す る と 、 ワース ト セ ッ ト ア ッ プ タ イ ミ ン グ パス を 50 個レ ポー ト で き ます。
report_design_analysis -max_paths 50 -setup
図 7-1 に、 こ の コ マ ン ド で生成 さ れ る Setup Path Characteristics (セ ッ ト ア ッ プ パ ス特性) の表の例を示 し ます。
X-Ref Target - Figure 7-1
図 7-1 : Setup Path Characteristics の表の例
こ の表か ら 、 ど の特性が各パ ス に タ イ ミ ン グ違反を発生 さ せてい る のかを特定で き ます。
•
•
•
ロ ジ ッ ク 遅延の割合 ([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])。
°
配置は正 し い よ う なのに も かかわ ら ず、 予測 よ り も かな り 大 き いネ ッ ト 遅延があ り ますか。 163 ページの
「密集」 を参照 し て く だ さ い。
RAMB ま たは DSP セルにパ イ プ ラ イ ン レ ジ ス タ がない (パ ス には存在す る )
°
•
[Comb DSP]、 [MREG]、 [PREG]、 [DOA_REG]、 お よ び [DOA_REG] の値を確認 し て く だ さ い。
ス キ ュ ーが大 き い (セ ッ ト ア ッ プで <-0.5ns、 ホール ド で >0.5ns) ([Clock Skew])
°
そのパ ス は ク ロ ッ ク 乗せ換えパ ス ですか ([Start Point Clock]、 [End Point Clock])。
°
ク ロ ッ ク は同期ですか、 非同期ですか ([Clock Relationship])。
°
パ ス は I/O 列を ま たいでい ますか ([IO Crossings])。
タ イ ミ ン グ パ ス と その配置配線の詳細を Vivado® IDE で表示する には、 次の コ マ ン ド を使用 し ます。
report_timing -max_paths 50 -setup -input_pins -name worstSetupPaths
パ ス は、 ス ラ ッ ク 順に Setup Path Characteristics の表 (図 7-1) と 同 じ 順で表示 さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
161
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
report_design_analysis コ マ ン ド では、 ワース ト パ ス 1000 個の Logic Level Distribution ( ロ ジ ッ ク レベル分布)
の表 も 生成 さ れ、 デザ イ ンの長いパ ス を特定す る のに使用で き ます。 通常、 配置の段階で タ イ ミ ン グ を満たすため
に最長のパ ス が最初に最適化 さ れ る ので、 短いパ ス の配置の質が低下す る 可能性があ り ます。 全体的な QoR を向上
す る ため、 長いパ ス を な る べ く な く す よ う に し て く だ さ い。 図 7-2 に、 1 つの ク ロ ッ ク のみを含むデザ イ ンの Logic
Level Distribution の例を示 し ます。
X-Ref Target - Figure 7-2
図 7-2 : Logic Level Distribution の表の例
解析結果に基づいて、 RTL を変更、 異な る 合成オプシ ョ ン を使用、 ま たは タ イ ミ ン グ制約お よ び物理制約を変更 し
てネ ッ ト リ ス ト を向上で き ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
162
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
密集
report_design_analysis コ マ ン ド は、 配置お よ び配線アルゴ リ ズ ムに よ り 特定 さ れた密集エ リ ア と 予測密集を
示す複数の密集に関す る 表を示 し ます。 こ れ ら の表を生成す る には、 配置お よ び配線を実行 し たの と 同 じ Vivado
ツール セ ッ シ ョ ンで次の コ マ ン ド を使用 し ます。
report_design_analysis -congestion
図 7-3 に、 Vivado IDE に表示 さ れ る CLB メ ト リ ク ス ご と の垂直方向お よ び水平方向の配線密集 と 同等の予測 さ れ る
密集の表の例を示 し ます。 こ の例では、 密集は低 く な っ てい ます。
X-Ref Target - Figure 7-3
図 7-3 : 予測 さ れる密集の表
[Module Names] に示 さ れ る 名前は、 レ ポー ト さ れてい る 各 タ イ ルにあ る 階層セルに対応 し てい ます。 完全な名前は、
次の コ マ ン ド を使用す る と 取得で き ます。
get_cells -hier <moduleName>
密集エ リ アに存在する階層セルを特定し た ら、 密集を緩和する手法を使用し てデザ イ ンの全体的な密集を削減し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
163
japan.xilinx.com
第 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-4
に示す よ う にデザ イ ンの ス ラ ッ ク が十分にな り ます。
X-Ref Target - Figure 7-4
図 7-4 : 配線遅延な し の タ イ ミ ング レポー ト
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
164
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
フ ァ ン アウ ト の大き いネ ッ ト ド ラ イバーの特定
フ ァ ン ア ウ ト の大 き いネ ッ ト は、 イ ンプ リ メ ン テーシ ョ ンの問題の原因 と な る こ と が よ く あ り ます。 FPGA フ ァ ミ リ
のダ イ サ イ ズが大 き く な る と 、 フ ァ ン ア ウ ト の問題 も 増加 し ます。 エン ド ポ イ ン ト が数千個あ る ネ ッ ト では、 特に
パ ス上に追加の ロ ジ ッ ク があ っ た り 、 LUT や分散 RAM な ど のシーケ ン シ ャ ルでないセルで駆動 さ れ る 場合、 タ イ
ミ ン グ を満たす こ と は困難です。
多 く の場合、 フ ァ ン ア ウ ト の大 き いネ ッ ト は通常グ ロ ーバル フ ァ ン ア ウ ト 制限ま たは特定ネ ッ ト に MAX_FANOUT 属
性を使用す る こ と で、 RTL お よ び合成で修正 し ます。 物理最適化 (phys_opt_design) を使用する と 、 ス ラ ッ ク お
よ び配置情報に基づいて フ ァ ン ア ウ ト の大 き いネ ッ ト ド ラ イ バーが自動的に複製 さ れ、 通常は タ イ ミ ン グが大幅に
改善 さ れます。 ザ イ リ ン ク ス では、 フ ァ ン ア ウ ト の大 き いネ ッ ト はフ ァ ブ リ ッ ク レ ジ ス タ で駆動す る こ と をお勧め
し てい ます。 そ う す る と 、 物理最適化中に複製お よ び移動 し やす く な り ます。 合成後お よ び物理最適化後に、 フ ァ
ン ア ウ ト の大 き い信号の リ ス ト を確認す る こ と が重要です。 こ れ ら のネ ッ ト を特定する コ マ ン ド は
report_high_fanout_nets です。
レ ポー ト を生成 し た ら 、 フ ァ ン ア ウ ト の大 き いネ ッ ト を介す る タ イ ミ ン グお よ び対応する 回路図を確認で き ます。
こ の レ ポー ト では、 ク ロ ッ ク はフ ァ ン ア ウ ト の大 き い ド ラ イ バー と し て リ ス ト さ れません。 [Driver Type] 列に BUFG
が リ ス ト さ れてい る 場合は、 こ の BUFG は ロ ジ ッ ク を駆動 し 、 ク ロ ッ ク ピ ン も 駆動 し てい る 可能性があ り ます。
### Report the high fanout net
report_high_fanout_nets -load_types -max_nets 100
### Report timing through specific high fanout net
report_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-5
図 7-5 : タ イ ミ ング レポー ト の例
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
165
japan.xilinx.com
第 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 を実行」
方法 1 : ホール ド 違反の修正な し で配線を実行
1.
Vivado Design Suite で配置後のチ ェ ッ ク ポ イ ン ト を開 き ます。
2.
すべてのホール ド チ ェ ッ ク をデ ィ ス エーブルにする 制約を追加 し ます。
set_false_path -hold -to [all_clocks]
注意 : こ の制約は、 テ ス ト 目的でのみ使用 し て く だ さ い。 製品にす る デザ イ ンや別の設計者に配布す る デザ イ ンには
使用 し ないで く だ さ い。 製品デザ イ ンの前に こ の制約を削除す る 必要があ り ます。
3.
route_design お よ び report_timing_summary を実行 し ます。
ホール ド チ ェ ッ ク を実行 し た場合 と 実行 し なか っ た場合で WNS が大 き く 異な る 場合は、 ホール ド 違反が大き すぎ、
セ ッ ト ア ッ プ パス が影響を受けてい る こ と を示 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
166
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
方法 2 : タ イ ミ ングが満た さ れていない最悪のセ ッ ト ア ッ プ パスに対 し て report_timing -min を
実行
タ イ ミ ン グが満た さ れていない最悪のセ ッ ト ア ッ プがホール ド 違反の修正に よ る も のであ る かを判断する には、 そ
のパ ス のホール ド タ イ ミ ン グ を調べます。 Vivado IDE で、 パ ス を右 ク リ ッ ク し て [Report Timing on Source to
Destination] を ク リ ッ ク し ます。 セ ッ ト ア ッ プ タ イ ミ ン グ解析 と は異な り 、 ホール ド タ イ ミ ン グ を確認す る こ と は重
要です。 ホール ド レ ポー ト で、 要件を確認 し 、 ホール ド 要件を満たすためにパス に遅延が追加 さ れていないか ど う
か を調べて く だ さ い。
X-Ref Target - Figure 7-6
図 7-6 : 特定のパスに対 し て タ イ ミ ング レポー ト を生成
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
167
japan.xilinx.com
第 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
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
168
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
フ ロアプ ラ ン
こ のセ ク シ ョ ンでは、 フ ロ アプ ラ ンについて説明 し ます。 次の内容が含まれます。
•
「フ ロ アプ ラ ンについて」
•
「フ ロ アプ ラ ンの基礎」
•
「Pblock ベース の フ ロ アプ ラ ン」
•
「特定の ロ ジ ッ ク をデバ イ ス サ イ ト に固定」
•
「ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) デバ イ ス での フ ロ アプ ラ ン」
フ ロ ア プ ラ ン について
フ ロ アプ ラ ンがデザ イ ンの タ イ ミ ン グ を満たすのに役立つ場合があ り ます。 タ イ ミ ン グが満た さ れ る と き と 満た さ
れない と き があ る 場合や、 タ イ ミ ン グが満た さ れた こ と がない場合に フ ロ アプ ラ ン を実行する こ と をお勧め し ます。
フ ロ アプ ラ ンは、 複数の設計者 と 作業す る 場合や、 一貫性が重要な場合に も 有益です。
フ ロ アプ ラ ンでは、 平均配線遅延を削減す る こ と に よ り 、 セ ッ ト ア ッ プ ス ラ ッ ク (TNS、 WNS) を向上で き ます。 イ
ンプ リ メ ン テーシ ョ ンでは、 ワース ト セ ッ ト ア ッ プ違反お よ びすべてのホール ド 違反を解決す る よ う に処理 さ れま
す。 フ ロ アプ ラ ンで向上で き る のはセ ッ ト ア ッ プ ス ラ ッ ク のみです。
手動フ ロ アプ ラ ンは、 ネ ッ ト リ ス ト が階層があ る 方が簡単です。 合成でネ ッ ト リ ス ト 全体が フ ラ ッ ト 化 さ れ る と 、
デザ イ ン解析に時間がかか り ます。 階層ネ ッ ト リ ス ト が生成 さ れ る よ う に、 合成オプシ ョ ン を設定 し ます。 Vivado
合成で次を使用 し ます。
•
synth_design -flatten_hierarchy rebuilt
ま たは
•
Vivado Synthesis Defaults ス ト ラ テジ
論理パ ス が複雑な大型の階層ブ ロ ッ ク は、 解析が困難です。 異な る 論理構造が別の下位階層に含まれてい る デザ イ
ンの方が解析は簡単です。 階層モジ ュ ールのすべての出力に レ ジ ス タ を付け る こ と を考慮 し て く だ さ い。 複数の階
層ブ ロ ッ ク を通過す る パ ス の配置を解析す る のは困難です。
フ ロ ア プ ラ ンの基礎
すべてのデザ イ ンで タ イ ミ ン グが満た さ れ る と は限 り ません。 ツールが ソ リ ュ ーシ ョ ン を見つけ ら れ る よ う 、 指示
す る 必要があ る 場合があ り ます。 フ ロ アプ ラ ン を使用す る と 、 高レベルの階層レ イ ア ウ ト や詳細なゲー ト 配置を指
定で き ます。
最悪の問題ま たは最 も 一般的な問題を修正す る と 、 最 も 大 き く 改善 し ます。 た と えば、 ス ラ ッ ク が大幅に悪いパ ス、
ま たは ロ ジ ッ ク レベル数が多いパス があ る 場合、 まずそれ ら のパス を修正 し ます。 [Tools] → [Timing] → [Create
Slack Histogram] を ク リ ッ ク す る と 、 ス ラ ッ ク の悪いパ ス を表示で き ます。 ま た、 終点が同 じ 複数のパ ス の ス ラ ッ ク
が負であ る 場合、 1 つのパ ス を改善す る と 、 同 じ 終点のその他のパス も 改善する こ と があ り ます。
配線遅延を削減 し た り 、 ク リ テ ィ カルでないブ ロ ッ ク の ロ ジ ッ ク 集積度を増加す る な ど し てパフ ォーマ ン ス を向上
す る ため、 フ ロ アプ ラ ンす る こ と を考慮 し てみて く だ さ い。 ロ ジ ッ ク 集積度は、 チ ッ プ上に ロ ジ ッ ク が どれだけ密
にパ ッ ク さ れ る か を示 し ます。
フ ロ アプ ラ ン を実行す る と 、 ク ロ ッ ク 周波数お よ び結果の一貫性を向上で き ます。
フ ロ アプ ラ ンには複数の取 り 組み方があ り 、 それぞれに利点 と 欠点があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
169
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
詳細なゲー ト レ ベルのフ ロ ア プ ラ ン
詳細なゲー ト レベルのフ ロ アプ ラ ンでは、 個々の最下位セルをデバ イ ス の特定のサ イ ト に配置 し ます。
詳細なゲー ト レ ベルのフ ロ ア プ ラ ンの利点
•
ネ ッ ト を手動で配線 し ます。
•
デバ イ ス の最大限のパフ ォーマ ン ス を引 き 出せ る 可能性があ り ます。
詳細なゲー ト レ ベルのフ ロ ア プ ラ ンの欠点
•
時間がかか り ます。
•
デバ イ スお よ びデザ イ ンに関す る 豊富な知識が必要です。
•
ネ ッ ト リ ス ト が変更 さ れた場合、 フ ロ アプ ラ ン を実行 し 直す こ と が必要な場合があ り ます。
推奨 : 詳細なゲー ト レベルの フ ロ アプ ラ ンは、 最終的な手段 と し て く だ さ い。
情報の再利用
タ イ ミ ン グが満た さ れたデザ イ ンの情報を再利用 し ます。 こ の手法は、 デザ イ ンの タ イ ミ ン グが満た さ れた り 満た
さ れなか っ た り す る 場合に使用 し ます。 情報を再利用す る には、 次の手順に従い ます。
1.
2 つの イ ンプ リ メ ン テーシ ョ ン run を開 き ます。
a.
タ イ ミ ン グが満た さ れてい る run
b.
タ イ ミ ン グが満た さ れていない run
ヒ ン ト : 複数のモニ タ ーを使用 し てい る 場合、 [Open Implementation in New Window] コ マ ン ド を使用 し てデザ イ ン を
別の ウ ィ ン ド ウ で開 き ます。
2.
3.
4.
2 つのデザ イ ンの違い を見つけ ます。
a.
report_timing_summary で、 タ イ ミ ン グが満た さ れていないパ ス を特定 し ます。
b.
タ イ ミ ン グが満た さ れてい る デザ イ ンで、 report_timing を min_max モー ド で使用 し て、 同 じ パ ス の タ
イ ミ ン グ解析を実行 し ます。
タ イ ミ ン グ結果を比較 し ます。
a.
ク ロ ッ ク ス キ ュー
b.
デー タ パ ス遅延
c.
配置
d.
配線遅延
パ ス の終点間の ロ ジ ッ ク 遅延に差があ る 場合は、 合成 run に戻 り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
170
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
I/O およびセルの配置の確認
デザ イ ンのセルの配置を確認 し ます。 2 つの I/O レ ポー ト を比較 し て、 I/O の配置 と I/O 規格を確認 し ます。 すべての
I/O が配置 さ れてい る こ と を確認 し ます。 次の図に示す よ う に検索を実行する と 、 配置が固定 さ れていない I/O を検
索で き ます。
X-Ref Target - Figure 7-7
図 7-7 : 配置が固定 さ れていない I/O の検索
run の間で ク ロ ッ ク ス キ ュ ーを変更 し た場合、 タ イ ミ ン グが満た さ れた run か ら の ク ロ ッ ク プ リ ミ テ ィ ブの配置を再
利用す る こ と を考慮 し ます。 次の図に示す よ う に、 ク ロ ッ ク 使用量レ ポー ト に ク ロ ッ ク ツ リ ー ド ラ イ バーの配置が
リ ス ト さ れます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
171
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 7-8
図 7-8 : ク ロ ッ クのロ ケーシ ョ ン
LOC 制約は、 XDC 制約フ ァ イ ルに コ ピーで き ます。
多 く のデザ イ ンでは、 ブ ロ ッ ク RAM お よ び DSP の配置を再利用す る こ と に よ り 、 タ イ ミ ン グ を満たす こ と がで き
ます。 [Edit] → [Find] を使用 し て、 イ ン ス タ ン ス を リ ス ト し ます。
X-Ref Target - Figure 7-9
図 7-9 : ブ ロ ッ ク RAM または DSP を検索
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
172
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
配置制約の追加
XDC に配置制約を追加 し て、 ロ ジ ッ ク を固定 し ます。
1.
[Find Results] ウ ィ ン ド ウ でマ ク ロ を選択 し ます。
2.
右 ク リ ッ ク し て [Fix Cells] を ク リ ッ ク し ます。
X-Ref Target - Figure 7-10
図 7-10 : 選択 し た ロ ジ ッ クの固定
推奨 : 配置を固定す る 前に、 階層名に基づいて配置を解析 し 、 ハ イ ラ イ ト し て く だ さ い。
配置の再利用
I/O、 グ ロ ーバル ク ロ ッ ク リ ソ ース、 ブ ロ ッ ク RAM マ ク ロ 、 DSP マ ク ロ の配置を再利用す る のは比較的簡単です。
配置を再利用す る と 、 ネ ッ ト リ ス ト の リ ビ ジ ョ ン間での結果が よ り 一貫 し た も のにな り ます。 こ れ ら のプ リ ミ テ ィ
ブの名前は通常変化 し ないので、 配置を保持す る のは簡単です。
ヒ ン ト : 汎用ス ラ イ ス ロ ジ ッ ク の配置を再利用 し ないで く だ さ い。 デザ イ ンの変更す る 予定の部分は、 配置を再利
用 し ないで く だ さ い。
フ ロ ア プ ラ ンのテ ク ニ ッ ク
タ イ ミ ン グが満た さ れてお ら ず、 ネ ッ ト リ ス ト ま たは制約の変更が好ま し く ないデザ イ ンでは、 ゲー ト レベルの フ
ロ アプ ラ ン を考慮 し ます。
推奨 : ゲー ト レベルの フ ロ アプ ラ ンの前に、 階層フ ロ アプ ラ ン を試 し てみて く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
173
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
階層 フ ロ ア プ ラ ン
階層フ ロ アプ ラ ンでは、 デバ イ ス上の領域に階層レベルを配置で き ます。 こ の領域が配置でのガ イ ド ラ イ ン と な り 、
詳細な配置が決定 さ れます。 階層フ ロ アプ ラ ンは、 ゲー ト レベル フ ロ アプ ラ ン と 比較 し て、 次の よ う な利点があ り
ます。
•
ゲー ト レベル フ ロ アプ ラ ン よ り も 短時間で実行で き ます。 適切な フ ロ アプ ラ ンに よ り 、 タ イ ミ ン グ を改善で き
ます。 フ ロ アプ ラ ンは、 デザ イ ンが変更 さ れて も 保持 さ れます。
•
階層レベルが、 ゲー ト の コ ン テナー と な り ます。 通常、 ネ ッ ト リ ス ト が変更 さ れて も 機能 し ます。
階層フ ロ アプ ラ ンは、 次の よ う にな り ます。
•
ク リ テ ィ カル パス を含む下位階層を特定 し ます。
•
最上位フ ロ アプ ラ ン を使用 し て、 ど こ に配置す る かを判断 し ます。
•
個々のセルは、 イ ンプ リ メ ン テーシ ョ ンに よ り 配置 さ れます。
•
セルお よ び タ イ ミ ン グ パス に関す る 包括的な知識があ り ます。
•
通常、 適切な詳細配置が実行 さ れます。
セルの手動配置
セルの手動配置では、 デバ イ ス の最大限のパフ ォーマ ン ス を引 き 出せ る 可能性があ り ます。 こ の手法は通常、 デザ
イ ンの小 さ い部分でのみ使用 さ れます。 た と えば、 高速 I/O イ ン タ ーフ ェ イ ス周辺の ロ ジ ッ ク や、 ブ ロ ッ ク RAM お
よ び DSP を配置す る 場合な ど です。 手動での配置には時間がかか り ます。
すべての フ ロ アプ ラ ン手法には、 多大なエン ジニ ア リ ン グ時間がかか り ます。 作業を繰 り 返 し て調整する 必要があ
る 場合 も あ り ます。 セル名が変更 さ れた場合、 フ ロ アプ ラ ン制約 も ア ッ プデー ト する 必要があ り ます。
フ ロ アプ ラ ンの際は、 最終的な ピ ン配置を念頭において く だ さ い。 I/O が固定 さ れてい る と 有益です。 I/O はフ ロ ア
プ ラ ン を開始す る 際のア ン カー ポ イ ン ト と な り ます。 I/O に接続 さ れてい る ロ ジ ッ ク は、 固定 さ れてい る ピ ンの近 く
に移動 さ れます。
ヒ ン ト : I/O に接続 さ れてい る ブ ロ ッ ク は、 I/O の近 く に配置 し て く だ さ い。 ピ ン配置に よ り ブ ロ ッ ク の I/O への接続
が分散 さ れて し ま っ てい る 場合は、 ピ ン配置ま たは RTL を変更す る こ と を考慮 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
174
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 7-11
図 7-11 : I/O コ ンポーネ ン ト の配置によ り ブ ロ ッ ク の接続が分散 さ れてい し ま っ ている例
図 7-11 の よ う な フ ロ アプ ラ ンは、 タ イ ミ ン グには有益ではあ り ません。 ブ ロ ッ ク を分離する か、 ソ ース コ ー ド を変
更す る か、 ブ ロ ッ ク RAM お よ び DSP のみを制約す る こ と を考慮 し て く だ さ い。 ま た、 外部 タ イ ミ ン グ要件で許容
さ れ る 場合、 I/O レ ジ ス タ の配置を解除 し てみて く だ さ い。
上記の Pblock は、 次の XDC 制約で表 さ れます。
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add {SLICE_X8Y105:SLICE_X23Y149}
resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29}
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
175
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
1 行目で Pblock が作成 さ れます。 2 行目 (add_cells_to_pblock) で Pblock の階層レベルが指定 さ れます。 4 つの
リ ソ ース タ イ プ (SLICE、 DSP48、 RAMB18、 RAMB36) があ り 、 それぞれグ リ ッ ド があ り ます。 グ リ ッ ド で制約 さ れ
ていない ロ ジ ッ ク は、 デバ イ ス の ど こ にで も 配置で き ます。 階層レベルのブ ロ ッ ク RAM のみを制約する には、 ほか
の Pblock グ リ ッ ド をデ ィ ス エーブルに し ます。
X-Ref Target - Figure 7-12
図 7-12 : Pblock グ リ ッ ド
結果の XDC コ マ ン ド では、 Pblock が簡略化 さ れます。
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add {RAMB36_X0Y21:RAMB36_X1Y29}
ブ ロ ッ ク RAM がデバ イ ス に制約 さ れますが、 ス ラ イ ス ロ ジ ッ ク はデバ イ ス上の ど こ にで も 配置で き ます。
ヒ ン ト : Pblock を配置す る 際は、 階層を中央の Config ブ ロ ッ ク を ま たが る よ う に配置 し ないで く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
176
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 7-13
図 7-13 : Config ブ ロ ッ ク を またがる よ う に配置 し ない
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
177
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
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 7-14
図 7-14 : [Place Pblocks] ダ イ ア ログ ボ ッ ク ス
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
178
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
最上位 フ ロ ア プ ラ ン
最上位フ ロ アプ ラ ンには、 ブ ロ ッ ク と I/O の接続表示 さ れます (緑色の線)。 2 つの Pblock を接続する ネ ッ ト は、 ま と
め ら れます。 線の太 さ お よ び色は、 共有 さ れ る ネ ッ ト の数に よ り 異な り ます。 図 7-15 お よ び 図 7-16 に、 2 つの最上
位フ ロ アプ ラ ン を示 し ます。
次の図は、 デザ イ ンの最上位ブ ロ ッ ク 間のデー タ フ ロ ーを示 し てい ます。 各ブ ロ ッ ク は、 隣接す る 2 つのブ ロ ッ ク
のみに接続 さ れてい ます。 緑色の線は、 1 つのブ ロ ッ ク のみが I/O に接続 さ れてい る こ と を示 し てい ます。
X-Ref Target - Figure 7-15
図 7-15 : デー タ パス を示す最上位フ ロ ア プ ラ ン
次の図は、 すべてのブ ロ ッ ク が中央のブ ロ ッ ク と 接続 さ れてい る デザ イ ン を示 し てい ます。 接続は、 中央のブ ロ ッ
ク と 右下のブ ロ ッ ク の間が最 も 多 く な っ てい ます。 こ の中央のブ ロ ッ ク を分散 さ せて、 その他の ロ ー ド と 通信する
よ う にす る 必要があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
179
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
X-Ref Target - Figure 7-16
図 7-16 : 制御パス を含む フ ロ ア プ ラ ン
フ ロ ア プ ラ ンの確認
フ ロ アプ ラ ン を確認す る 際は、 デバ イ ス リ ソ ース を考慮 し て く だ さ い。 Pblock のサ イ ズ調整では、 次の よ う な特殊
なデバ イ ス リ ソ ース は考慮 さ れません。
•
ブ ロ ッ ク RAM
•
DSP48
•
MGT
•
ク ロ ッ ク バッ フ ァー
ヒ ン ト : フ ロ アプ ラ ンお よ び リ ソ ース使用量を考慮 し てブ ロ ッ ク を確認 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
180
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
特定のロ ジ ッ ク をデバイ ス サイ ト に固定
セルを FPGA デバ イ スの特定の ロ ケーシ ョ ンに配置で き ます。 た と えば、 すべての I/O ポー ト をザ イ リ ン ク ス 7 シ リ ー
ズ FPGA デザ イ ンに配置する な どです。 タ イ ミ ン グ ク ロージ ャ を試みる前に I/O を配置する こ と をお勧め し ます。
I/O の配置は、 FPGA フ ァ ブ リ ッ ク でのセルの配置に影響 し ます。 ほかのセルを フ ァ ブ リ ッ ク に手動で配置す る と 、
ク ロ ッ ク ロ ジ ッ ク お よ びマ ク ロ の配置が よ り 一貫 し た も のにな り ます。
表 7-1 : ロ ジ ッ ク の配置に使用する制約
制約
使用法
LOC
ゲー ト ま たはマ ク ロ を特定のサ イ ト に
配置 し ます。
BEL
ス ラ イ ス のサブサ イ ト を基本エ レ メ ン
ト に使用す る よ う 指定 し ます。
注記
SLICE サ イ ト には、 BEL サ イ ト と 呼ばれ る サ
ブサ イ ト があ り ます。
固定および未固定のセル
固定お よ び未固定は、 配置 さ れたセルに適用 さ れます。 こ れ ら は、 Vivado ツールでデザ イ ンの配置 さ れたセルが ど
の よ う に認識 さ れ る か を示 し ます。
固定お よ び未固定のセルに関す る 詳細は、 『Vivado Design Suite ユーザー ガ イ ド : イ ンプ リ メ ン テーシ ョ ン』 (UG904)
[参照 7] の こ のセ ク シ ョ ン を参照 し て く だ さ い。
推奨 : I/O を配置 し た後、 階層 Pblock のフ ロ アプ ラ ン をユーザー制御配置の開始点 と し て使用 し ます。 手動配置は、
Pblock で う ま く 制御で き ない場合にのみ使用する よ う に し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
181
japan.xilinx.com
第 7 章 : イ ン プ リ メ ン テーシ ョ ンの解析お よび ク ロージ ャ テ ク ニ ッ ク
ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) デバイ スでのフ ロアプ ラ ン
ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) パーツ では、 追加の考慮事項があ り ます。 SSI パーツは複数の SLR
(Super Logic Region) で構成 さ れてお り 、 イ ン タ ーポーザーに よ り 結合 さ れてい ます。 イ ン タ ーポーザーの接続は、
SLL (Super Long Line) と 呼ばれます。 1 つの SLR か ら 別の SLR への移動には多少の遅延があ り ます。
デザ イ ンの設計、 ピ ン配置、 フ ロ アプ ラ ンの際には、 SLR を考慮 し て く だ さ い。 ク リ テ ィ カル タ イ ミ ン グ パ ス の ロ
ジ ッ ク セルは 1 つの SLR 内に収め、 SLL を ま た ぐ接続を最小限に抑えて く だ さ い。
X-Ref Target - Figure 7-17
図 7-17 : SLL を介する接続を最小限に抑え る
I/O は、 関連す る I/O イ ン タ ーフ ェ イ ス回路 と 同 じ SLR に配置 さ れます。 SSI パーツ の ロ ジ ッ ク を配置する 場合は、
ク ロ ッ ク の配置 も 考慮す る 必要があ り ます。
推奨 : 分割を実行す る 前に、 ロ ジ ッ ク の配置を自動で実行 し てみて く だ さ い。 自動配置を解析す る こ と に よ り 、 考慮
し ていなか っ た フ ロ アプ ラ ン方法が見つか る こ と があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
182
japan.xilinx.com
付録 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>.
日本語訳 : <CELL_TYPE> 出力 <PIN_NAME> に指定 さ れた ク ロ ッ ク <CLOCK_NAME> の ク ロ ッ ク 波形は、 ク ロ ッ ク 調
整ブ ロ ッ ク (CMB) の設定 と 一致 し ないため無効です。 ク ロ ッ ク の波形は <VALUE> ですが、 予測 さ れ る 波形は
<VALUE> です。
説明
ザ イ リ ン ク ス Vivado® Design Suite では、 CMB ( ク ロ ッ ク 調整ブ ロ ッ ク ) の設定 と 入力マ ス タ ー ク ロ ッ ク の特性に基
づいて、 CMB の出力に ク ロ ッ ク が自動的に派生 さ れます。 ユーザーが CMB 出力で生成 ク ロ ッ ク を定義する と 、
Vivado で同 じ 定義ポ イ ン ト (ネ ッ ト ま たはピ ン) で生成 ク ロ ッ ク が自動派生 さ れな く な り ます。 こ の DRC 警告は、
ユーザー定義の生成 ク ロ ッ ク が Vivado で自動派生 さ れ る 予測 ク ロ ッ ク と 一致 し ない こ と を レ ポー ト し ます。 デザ イ
ンの タ イ ミ ン グ制約がデバ イ ス の実際の動作 と 一致 し ないため、 ハー ド ウ ェ ア エ ラ ーが発生す る 可能性があ り ます。
回避策
ユーザー定義の生成 ク ロ ッ ク が不要な場合は、 制約を削除 し 、 自動派生 さ れた ク ロ ッ ク を使用 し て く だ さ い。 制約
が必要な場合は、 生成 ク ロ ッ ク 制約が自動派生 ク ロ ッ ク の波形 と 一致す る よ う にする か、 CMB プ ロ パテ ィ を予測 ク
ロ ッ ク 波形 と 一致す る よ う に変更 し ます。 自動派生 ク ロ ッ ク の名前を変更す る こ と が目的であ る 場合は、
create_generated_clock 制約で -name オプシ ョ ンのみを指定 し て、 その ク ロ ッ ク が定義 さ れたオブジ ェ ク ト
(通常 CMB の出力ピ ン) の名前を指定す る こ と をお勧め し ます。 生成 ク ロ ッ ク の作成方法 と 自動派生 ク ロ ッ ク の名前
変更制約の制限に関す る 情報は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 6] を参照 し て く
だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
183
japan.xilinx.com
付録 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
8VHUJHQHUDWHG
ZDYHIRUPGRHVQಬWPDWFK
WKHDXWRPDWLFDOO\GHULYHG
ZDYHIRUPE\9LYDGR
;
図 A-1 : ク ロ ッ ク 調整ブ ロ ッ ク の無効な ク ロ ッ ク 波形
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
184
japan.xilinx.com
付録 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 clock
only 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
&UHDWHWKHSULPDU\
FORFNRQWKH
VWDUWSRLQWRIWKH
FORFNWUHH
3ULPDU\FORFN
GHILQHGRQDQ
LQWHUQDOSLQ
;
図 A-2 : 内部ピ ンに設定 さ れた無効な プ ラ イ マ リ ク ロ ッ ク
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
185
japan.xilinx.com
付録 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 オプシ ョ ン と CMP 出力ピ ンのみを指定す る こ と をお勧め し ます。 生成
ク ロ ッ ク の作成に関す る 詳細は、『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]
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
186
japan.xilinx.com
付録 A : タ イ ミ ング DRC
X-Ref Target - Figure A-3
3ULPDU\FORFNREMHFW
GHILQHGRQWKHRXWSXW
RID&ORFN0RGLI\LQJ
%ORFN
;
図 A-3 : ク ロ ッ ク 調整ブ ロ ッ ク の無効な プ ラ イ マ リ ク ロ ッ ク
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
187
japan.xilinx.com
付録 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
3UHYLRXVSULPDU\
FORFNGHILQHGRQ
WKHFORFNWUHH
3ULPDU\FORFN
GHILQHGRQWKH
FORFNWUHH
;
図 A-4 : ク ロ ッ ク ツ リ ーの無効な プ ラ イ マ リ ク ロ ッ ク再定義
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
188
japan.xilinx.com
付録 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 オプシ ョ
ンが適用 さ れてい ません。
X-Ref Target - Figure A-5
,QYDOLGZDYHIRUP
UHGHILQLWLRQRQ
FORFNWUHH
;
図 A-5 : ク ロ ッ ク ツ リ ーの無効な波形再定義
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
189
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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> は関連 し てお り 、 その間で タ イ ミ ン グ解析が実行 さ れま
すが、 共通のプ ラ イ マ リ ク ロ ッ ク があ り ません。 タ イ ミ ン グが満た さ れて も 、 デザ イ ンがハー ド ウ ェ アでエ ラ ーに
な る 可能性があ り ます。 こ れ ら の ク ロ ッ ク 間の タ イ ミ ン グ パ ス を検索する には、 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 な ど) を使用す る 必要があ り ます。 こ れ ら 2 つの ド メ イ ン間のパスすべてに完全に例外が適用 さ
れ る と 、 こ の 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>]
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
190
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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 つの ク ロ ッ ク ツ リ ー間の共通 ノ ー ド を判断で き ないため、 タ イ ミ ン グ エン ジ ンで
こ れ ら の ク ロ ッ ク がハー ド ウ ェ アで同期にな る こ と を確実にで き ない こ と を レ ポー ト し ます。
回避策
回避策は、 2 つの ク ロ ッ ク ド メ イ ンが非同期であ る か、 同期であ る かに よ っ て異な り ます。 ク ロ ッ ク が非同期の場
合、 2 つの ド メ イ ン間のパ ス に タ イ ミ ン グ例外 (set_max_delay -datapath_only、 set_clock_groups、
set_false_path な ど) を使用す る 必要があ り ます。
ク ロ ッ ク が同期の場合は、 こ の DRC 警告は表示 さ れません。
例
次の図では、 clk1 ド メ イ ン と clk2 ド メ イ ンの間に同期 ク ロ ッ ク 乗せ換え (CDC) があ り ます。 デフ ォ ル ト では、
Vivado で clk1 と clk2 が同期であ る と 判断 さ れますが、 clk1 と clk2 は入力ポー ト なので、 2 つの ク ロ ッ ク 間に共
通 ノ ー ド はあ り ません。 こ の場合、 Vivado で 2 つの ク ロ ッ ク が同期にな る こ と を確実にで き ません。
X-Ref Target - Figure A-6
&ORFNGRPDLQFURVVLQJ
7RSOHYHOSRUWVFONDQG
FONGRQRWKDYHDFRPPRQ
QRGHEHWZHHQWKHP
;
図 A-6 : 関連ク ロ ッ ク 間に共通 ノ ー ド な し
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
191
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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 つの ク ロ ッ ク 間で安全な タ イ ミ ン グ解析を実行で き ないので、 こ れ ら の ク ロ ッ ク は非同期
と し て処理す る こ と をお勧め し ます。 2 つの ド メ イ ン間のパ ス に タ イ ミ ン グ例外 (set_max_delay
-datapath_only、 set_false_path、 set_clock_groups な ど) を設定す る 必要があ り ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
192
japan.xilinx.com
付録 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 safe
CDC logic has been identified (crossing pin <PIN_NAME>).
日本語訳 : ク ロ ッ ク <CLOCK_NAME1> と ク ロ ッ ク <CLOCK_NAME2> の間に非同期 ク ロ ッ ク 乗せ換え (CDC) が検出 さ
れ、 set_false_path、 set_clock_groups、 ま たは set_max_delay -datapath_only 制約が設定 さ れてい
ますが、 安全な CDC ロ ジ ッ ク が特定 さ れません (乗せ換え ピ ン <PIN_NAME>)。
説明
こ の DRC は、 タ イ ミ ン グ例外制約が設定 さ れた ク ロ ッ ク ド メ イ ン間に安全な非同期 ク ロ ッ ク 乗せ換え回路が使用 さ
れてい る こ と を確認 し ます。 認識 さ れてい る 安全な ト ポ ロ ジの詳細は、 61 ページの 「 ク ロ ッ ク 乗せ換え レ ポー ト 」
を参照 し て く だ さ い。
回避策
ク ロ ッ ク 間のパス が適切に同期化 さ れ る よ う にす る こ と をお勧め し ます。 こ れには、 最低で も ダブル レ ジ ス タ ロ
ジ ッ ク シ ン ク ロ ナ イ ザーを追加す る 必要があ り ます。 FIFO ま たは よ り ハ イ レベルなプ ロ ト コ ルが既にパ ス に定義 さ
れてい る 場合は、 こ の DRC は無視 し て も 問題あ り ません。
例
次の図では、 clk1 と clk2 ド メ イ ン間に非同期 ク ロ ッ ク 乗せ換え (CDC) があ り ますが、 clk2 デス テ ィ ネーシ ョ ン
ド メ イ ンにデー タ を同期す る ためのダブル レ ジ ス タ ロ ジ ッ ク シ ン ク ロ ナ イ ザーが含まれません。
X-Ref Target - Figure A-7
0LVVLQJGRXEOHUHJLVWHU
ORJLFV\QFKURQL]HURQWKH
FDSWXUHGRPDLQ
&ORFNGRPDLQFURVVLQJ
;
図 A-7 : シ ン ク ロナ イザーが存在 し ない
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
193
japan.xilinx.com
付録 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.
日本語訳 : ク ロ ッ ク <CLOCK_NAME1> お よ び ク ロ ッ ク <CLOCK_NAME2> 間に <CELL_NAME1> お よ び
<CELL_NAME2> を使用 し た ロ ジ ッ ク シ ン ク ロ ナ イ ザーが検出 さ れま し たが、 シ ン ク ロ ナ イ ザーの両方の レ ジ ス タ に
ASYNC_REG=TRUE プ ロ パテ ィ が設定 さ れてい ません。
説明
シ ン ク ロ ナ イ ザー レ ジ ス タ では、 合成お よ び イ ンプ リ メ ン テーシ ョ ン中の ロ ジ ッ ク 最適化でセルが削除 さ れない よ
う に し 、 最適な平均故障間隔 (MTBF) 統計が得 ら れ る よ う 配置を最適化する ため、 ASYNC_REG プ ロ パテ ィ を TRUE
に設定す る 必要があ り ます。
回避策
ロ ジ ッ ク シ ン ク ロ ナ イ ザーの各段に ASYNC_REG 制約を追加 し ます。 ASYNC_REG 制約の詳細は、 『Vivado Design
Suite プ ロ パテ ィ リ フ ァ レ ン ス ガ イ ド 』 (UG912) [参照 10] を参照 し て く だ さ い。
例
次の図では、 clk1 と clk2 の間に非同期 ク ロ ッ ク ド メ イ ンがあ り 、 ダブル レ ジ ス タ ロ ジ ッ ク シ ン ク ロ ナ イ ザーを
使用 し て正 し く 同期 さ れてい ますが、 タ イ ミ ン グ ス ラ ッ ク を増加 し て MTBF を小 さ く す る ため、 シ ン ク ロ ナ イ ザー
の各レ ジ ス タ に ASYNC_REG プ ロ パテ ィ を設定する 必要があ り ます。
X-Ref Target - Figure A-8
0LVVLQJGRXEOHUHJLVWHU
ORJLFV\QFKURQL]HURQWKH
FDSWXUHGRPDLQ
&ORFNGRPDLQFURVVLQJ
;
図 A-8 : シ ン ク ロナ イザーに ASYNC_REG プ ロパテ ィ が設定 さ れていない
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
194
japan.xilinx.com
付録 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 only
recommended to use the -datapath_only option on paths between clocks that do not have a known phase relationship. This
DRC is waived when a synchronizer is found on the path endpoint.
日本語訳 : <PIN_NAME> と <PIN_NAME> の間に set_max_delay -datapath_only 制約が適用 さ れてい ます。 始
点 と 終点が同 じ ク ロ ッ ク ド メ イ ンにあ る か、 安全に タ イ ミ ン グ解析可能な 2 つの ク ロ ッ ク ド メ イ ンにあ り ます。
-datapath_only オプシ ョ ンは、 既知の位相関係のない ク ロ ッ ク 間のパス にのみ使用する こ と をお勧め し ます。 こ
の DRC は、 シ ン ク ロ ナ イ ザーがパス の終点にあ る 場合は表示 さ れません。
説明
set_max_delay の -datapath_only オプシ ョ ンは、 セ ッ ト ア ッ プ ス ラ ッ ク の算出か ら ク ロ ッ ク ス キ ュ ーを除外
し 、 ホール ド タ イ ミ ン グ を無視す る ために使用 し ます。 set_max_delay -datapath_only コ マ ン ド は、 ク ロ ッ
ク 関係はないが、 最大遅延が必要な非同期信号の タ イ ミ ン グ パ ス に使用 し ます。 こ の制約を同期パ ス に使用する こ
と はお勧め し ません。
回避策
set_max_delay -datapath_only 制約が同期 タ イ ミ ン グ パ ス に適用 さ れない よ う に変更 し ます。 該当する
set_max_delay 制約を見つけ る には、 メ ッ セージに リ ス ト さ れ る 始点セル と 終点セルを参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
195
japan.xilinx.com
付録 A : タ イ ミ ング DRC
TIMING-12: Clock Reconvergence Pessimism Removal
Disabled
説明
CRPR (Clock Reconvergence Pessimism Removal) モー ド がデ ィ ス エーブルにな っ てい ます。 ク ロ ッ ク ツ リ ー遅延に不必
要に悪い見積 も り 部分があ る と 、 タ イ ミ ン グ ク ロ ージ ャ が不可能にな る 可能性があ る ので、 こ のモー ド で タ イ ミ ン
グ解析を実行す る こ と はお勧め し ません。
CRPR 機能は、 ク ロ ッ ク ネ ッ ト ワー ク の共通部分に使用 さ れてい る 最大遅延お よ び最小遅延か ら 導出 さ れ る 不必要に
悪い見積 も り 部分を削除す る ために使用 さ れます。 CRPR がデ ィ ス エーブルにな っ てい る と 、 タ イ ミ ン グ ク ロ ージ ャ
が困難にな る こ と があ り ます。
回避策
デザ イ ンの タ イ ミ ン グ情報が正 し く な る よ う にす る ため、 CRPR 解析を イ ネーブルにする こ と をお勧め し ます。
CPRP 解析を イ ネーブルにす る Tcl コ マ ン ド は config_timing_pessimism -enable です。
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 Min
and Max delay constraints should be defined with a list of valid startpoints and endpoints.
日本語訳 : <PIN_NAME> ピ ンのパ ス分割が原因で、 レ ポー ト さ れない タ イ ミ ン グ パ ス があ り ます。 パ ス分割が実行
さ れない よ う にす る には、 すべての最小お よ び最大遅延制約を有効な始点お よ び終点の リ ス ト を使用 し て定義す る 必
要があ り ます。
説明
パス分割は、 タ イ ミ ン グ パ ス が よ り 小 さ なパ ス に分割 さ れ る 際に発生 し ます。 最大お よ び最小遅延制約が無効な始
点 (ま たは終点) の ピ ンに定義 さ れ る と 、 ノ ー ド が有効な始点 (ま たは終点) にな る よ う に、 タ イ ミ ン グ エン ジ ンでそ
の ノ ー ド を通 る タ イ ミ ン グ アー ク が分割 さ れます。 パ ス分割が発生する と 、 意図 し た結果が得 ら れない可能性があ
る ので、 回避す る こ と をお勧め し ます。 パ ス分割に よ り 、 タ イ ミ ン グ解析が不正にな り 、 ハー ド ウ ェ アでエ ラ ー と な
る 可能性があ り ます。
回避策
set_max_delay お よ び set_min_delay 制約に有効な始点 と 終点を選択 し 、 で き る だけパ ス分割が発生 し ない よ
う に し ます。 パ ス分割の詳細 と 最小/最大遅延制約の使用方法は、 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』
(UG903) [参照 6] を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
196
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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.
日本語訳 : ク ロ ッ ク ツ リ ーに LUT <CELL_NAME> があ り ます。 ク ロ ッ ク パ ス に LUT セルを含め る のは推奨 さ れませ
ん。
説明
ク ロ ッ ク パ ス に LUT があ る と 、 ク ロ ッ ク が フ ァ ブ リ ッ ク を介 し て汎用配線 リ ソ ース に配線 さ れ る 必要があ り 、 余分
な ス キ ュ ーが発生す る こ と があ り ます。 余分な ス キ ュ ーに加え、 こ れ ら のパ ス が PVT の変動の影響を よ り 受けやす
く な り ます。 ロ ーカル ク ロ ッ ク はで き る だけ避け る こ と をお勧め し ます。
回避策
ク ロ ッ ク ツ リ ーにあ る LUT を削除す る よ う にデザ イ ン を変更 し ます。 合成では、 ク ロ ッ ク ゲーテ ィ ン グや反転な
ど、 こ の状況が作成 さ れ る ケース が多数あ り ます。 た と えば、 反転 LUT1 セルの場合、 LUT は opt_design 後にダ
ウ ン ス ト リ ームの ス ラ イ ス に吸収 さ れ る 可能性があ り ます。 opt_design の完了後に、 こ の状況が有効な ま ま であ
る こ と を確認 し て く だ さ い。
例
次の図では、 ク ロ ッ ク イ ネーブル信号の付いた ク ロ ッ ク を ゲーテ ィ ン グす る ために LUT が使用 さ れてい ます。 パス
に LUT があ る ため、 余分な ス キ ュ ーが発生す る 可能性があ り ます。
X-Ref Target - Figure A-9
/87FHOOH[LVWVRQ
WKHFORFNWUHH
;
図 A-9 : ク ロ ッ ク ツ リ ーの LUT
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
197
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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 during
routing might impact setup slack and result in more difficult timing closure.
日本語訳 : <CLOCK_NAME> ク ロ ッ ク が供給 さ れ る <CELL_NAME> と <CLOCK_NAME> ク ロ ッ ク が供給 さ れ る
<CELL_NAME> の間に <VALUE> ns の大 き な ク ロ ッ ク 間ス キ ュ ーがあ る ため、 <VALUE> ns の大 き な ホール ド タ イ ミ
ン グ違反が発生 し てい ます。 配線中に大 き な ホール ド 違反を修正す る と 、 セ ッ ト ア ッ プ ス ラ ッ ク に影響 し 、 タ イ ミ
ン グ ク ロ ージ ャ が さ ら に困難にな り ます。
説明
こ の DRC 警告は、 ク ロ ッ ク 間の ス キ ュ ーが原因で大き な ホール ド 違反が発生 し てい る ため、 イ ンプ リ メ ン テーシ ョ
ン中の タ イ ミ ン グ ク ロ ージ ャ が困難にな る 可能性が高い こ と を レ ポー ト し ます。 1.0ns を超え る 大 き な ク ロ ッ ク 間ス
キ ュ ーを調べ、 制約ま たはデザ イ ン ト ポ ロ ジが適切であ る こ と を確認する こ と をお勧め し ます。
回避策
タ イ ミ ン グ パ ス の大 き な ク ロ ッ ク 間ス キ ュ ーを タ イ ミ ン グ解析する 必要があ る のか、 最適ではない タ イ ミ ン グ制約
に関連 し てい る のか を調べます。 CDC パ ス に制約が設定 さ れていないために大き な ス キ ュ ーが発生 し てい る 場合は、
必要な タ イ ミ ン グ例外を追加 し て く だ さ い。 違反が ク ロ ッ ク ツ リ ーに関連する ロ ジ ッ ク のために発生 し てい る 場合
は、 パス の ト ポ ロ ジ を調べ、 タ イ ミ ン グ ク ロ ージ ャ が達成 し やす く な る よ う に改善で き ないか ど う か を検討 し て く
だ さ い。
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-placement
implementation flow and could be the result of non-optimal XDC constraints or non-optimal design architecture.
日本語訳 : <CLOCK_NAME> ク ロ ッ ク が供給 さ れてい る <CELL_NAME> と <CLOCK_NAME> ク ロ ッ ク が供給 さ れ る
<CELL_NAME> の間に <VALUE> ns の大 き なセ ッ ト ア ッ プ違反があ り ます。 こ れ ら の段の最後に大き なセ ッ ト ア ッ プ
違反があ る と 、 配置後の イ ンプ リ メ ン テーシ ョ ン フ ロ ー中に修正する のは困難であ り 、 最適でない XDC 制約ま たは
デザ イ ン アーキ テ ク チ ャ が原因であ る 可能性があ り ます。
説明
こ の DRC 警告は、 セ ッ ト ア ッ プ違反があ り 、 イ ンプ リ メ ン テーシ ョ ン中に タ イ ミ ン グ ク ロ ージ ャ を達成する のが困
難であ る 可能性が高い こ と を示 し ます。 1.0ns を超え る セ ッ ト ア ッ プ違反を調べ、 制約ま たはデザ イ ン ト ポ ロ ジが適
切であ る こ と を確認す る こ と をお勧め し ます。
回避策
大き なセ ッ ト ア ッ プ違反が タ イ ミ ン グ解析を実行す る 必要のあ る タ イ ミ ン グ パ ス であ る のか、 最適ではない タ イ ミ
ン グ制約に関連 し てい る のか を調べます。 CDC パ ス に制約が設定 さ れていないためにセ ッ ト ア ッ プ違反が発生 し て
い る 場合は、 必要な タ イ ミ ン グ例外を追加 し て く だ さ い。 組み合わせ ロ ジ ッ ク が多すぎ る ために違反が発生 し てい る
場合は、 パス の ト ポ ロ ジ を調べ、 タ イ ミ ン グ ク ロ ージ ャ が達成 し やす く な る よ う に改善で き ないか ど う か を検討 し
て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
198
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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>.
日本語訳 : <PORT_NAME> に <CLOCK_NAME> ク ロ ッ ク に対す る <INPUT/OUTPUT> 遅延があ り ません。
説明
I/O タ イ ミ ン グは、 外部デバ イ ス を含む タ イ ミ ン グ パ ス を基準 と し てい ます。 入力お よ び出力遅延は、 デザ イ ンの イ
ン タ ーフ ェ イ ス におけ る ポー ト の ク ロ ッ ク エ ッ ジに対する パ ス遅延を指定 し ます。 FPGA イ ン タ ーフ ェ イ ス で外部デ
バ イ ス の タ イ ミ ン グが満た さ れ る よ う にす る ため、 入力/出力遅延制約を追加する こ と をお勧め し ます。
回避策
必要なボー ド アプ リ ケーシ ョ ンに合っ た必要な入力お よ び出力遅延制約を追加 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
199
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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 は、 タ イ ミ ン グ ク ロ ッ ク に よ り 制約 さ れていない ラ ッ チ セルの リ ス ト を レ ポー ト し ます。 こ れは、 タ イ ミ
ン グ解析結果に影響 し ます。 タ イ ミ ン グ パ ス を正確に最大限に網羅する ためには、 すべての ク ロ ッ ク を正 し く 定義
す る 必要があ り ます。 正 し く 定義 さ れていない ク ロ ッ ク があ る と 、 タ イ ミ ン グ解析が完全に実行 さ れず、 ハー ド ウ ェ
ア エ ラ ーにな る 可能性があ り ます。
回避策
ラ ッ チ セルの制約が適用 さ れていない制御ピ ン を駆動する ク ロ ッ ク ツ リ ーの ソ ース にプ ラ イ マ リ ま たは生成 ク ロ ッ
ク を作成 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
200
japan.xilinx.com
付録 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 the
feedback loop goes outside the FPGA, the property should be set to EXTERNAL. If the feedback loop is internal to the FPGA, the
property should be set to ZHOLD.
日本語訳 : MMCM <CELL_NAME> に、 その フ ィ ー ド バ ッ ク ループの接続に対 し て無効な COMPENSATION プ ロ パテ ィ
値が設定 さ れてい ます。 フ ィ ー ド バ ッ ク ループが FPGA 外部に行 く 場合は こ のプ ロ パテ ィ を EXTERNAL に、 FPGA
内部に行 く 場合は 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.
It is recommended to specify an external delay with set_external_delay between the two ports connected to the pins FBOUT
and FBIN with an external feedback loop.
日本語訳 : MMCM の <CELL_NAME> に外部フ ィ ー ド バ ッ ク ループがあ り ますが、 FBOUT と FBIN の間に外部遅延が
指定 さ れてい ません。 外部フ ィ ー ド バ ッ ク ループが付いた FBOUT お よ び FBIN ピ ンに接続 さ れた 2 つのポー ト 間に、
set_external_delay で外部遅延を指定す る こ と をお勧め し ます。
説明
MMCM は、 フ ィ ー ド バ ッ ク ボー ド ト レース が外部 コ ン ポーネ ン ト への ト レース と 一致す る 外部ス キ ュ ー調整用に設
定で き ます。 外部遅延値は、 MMCM の補正遅延の算出に使用 さ れます。 MMCM 補正の タ イ ミ ン グ解析がデバ イ ス
の動作 と 一致 し ないため、 特に I/O パ ス でハー ド ウ ェ ア エ ラ ーが発生す る 可能性があ り ます。
回避策
定義 さ れた外部 ト レース遅延用に、 外部フ ィ ー ド バ ッ ク の入力ポー ト と 出力ポー ト の間に set_external_delay
制約を追加 し ます。 set_external_delay コ マ ン ド の詳細は、 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ
ド 』 (UG835) [参照 3] を参照 し て く だ さ い。
例
set_external_delay -from <output_port> -to <input_port> <external_delay_value>
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
201
japan.xilinx.com
付録 A : タ イ ミ ング DRC
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 a
set_max_delay -datapath_only (see constraint position <#> in the Timing Constraints window in the Vivado IDE). It is
not recommended to override a set_max_delay -datapath_only constraint. Replace the set_clock_groups or
set_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_clock_groups ま たは set_false_path 制約に よ り set_max_delay
-datapath_only 制約が無効にな っ てい る 場合にのみ表示 さ れます。 ポ イ ン ト ツー ポ イ ン ト の set_false_path
に よ り set_max_delay -datapath_only が無効にな っ てい る 場合は、 こ の DRC 警告はレ ポー ト さ れません。
回避策
ク ロ ッ ク 間の set_clock_groups ま たは set_false_path を ポ イ ン ト ツー ポ イ ン ト の フ ォ ルス パ ス制約に置き
換え、 set_max_delay -datapath_only 制約が誤っ て無効にな ら ない よ う に し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
202
japan.xilinx.com
付録 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> です。
説明
Vivado では、 UltraScale™ デバ イ ス の場合、 GT 設定お よ び入力マ ス タ ー ク ロ ッ ク の特性に基づいて GT の出力で ク
ロ ッ ク が自動派生 さ れます。 ユーザーが GT 出力で生成 ク ロ ッ ク を定義する と 、 Vivado で同 じ 定義ポ イ ン ト (ネ ッ ト
ま たはピ ン) で生成 ク ロ ッ ク が自動派生 さ れな く な り ます。 7 シ リ ーズ デバ イ ス の場合、 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 order
to let Vivado auto-derive the missing GT clocks.
日本語訳 : 出力 ク ロ ッ ク ピ ン <PIN_NAME> に ク ロ ッ ク が定義 さ れてい ません。 <PORT_NAME> 入力ポー ト にプ ラ イ
マ リ ク ロ ッ ク を作成 し て、 Vivado で不足 し てい る GT ク ロ ッ ク が自動派生 さ れ る よ う に し て く だ さ い。
説明
Vivado では、 UltraScale デバ イ ス の場合、 GT 設定お よ び入力マ ス タ ー ク ロ ッ ク の特性に基づいて GT の出力で ク ロ ッ
ク が自動派生 さ れます。 こ の DRC 警告は、 入力ポー ト にプ ラ イ マ リ ク ロ ッ ク がないため、 Vivado で GT の出力 ク
ロ ッ ク を自動派生で き ない こ と を レ ポー ト し ます。 そのため、 GT 関連 ク ロ ッ ク に接続 さ れたダ ウ ン ス ト リ ーム ロ
ジ ッ ク に対 し て タ イ ミ ン グ解析が実行 さ れません。
回避策
推奨 さ れ る GT の入力ポー ト にプ ラ イ マ リ ク ロ ッ ク を作成 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
203
japan.xilinx.com
付録 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 a
primary 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 Timing
Constraint 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 の [Timing
Constraint] ウ ィ ン ド ウ の制約位置 <#> を参照)。 自動派生 ク ロ ッ ク は、 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] を参照 し て く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
204
japan.xilinx.com
付録 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
clocks or -end pair for FAST-to-SLOW synchronous clocks (see constraint positions <#>, <#> in the Timing Constraint window
in Vivado IDE).
日本語訳 : セ ッ ト ア ッ プお よ びホール ド マルチサ イ ク ル パ ス制約は通常、 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> に最適ではないマ ス タ ー ソ ース ピ ンの選択があ り 、 タ イ ミ ン グが不必要に
悪 く な り ます。
説明
create_generated_clock コ マ ン ド では任意の基準 ク ロ ッ ク を指定で き ますが、 生成 ク ロ ッ ク はその直接フ ァ ン
イ ンで伝搬 さ れ る ク ロ ッ ク を基準に設定す る 必要があ り ます。 こ の DRC 警告は、 生成 ク ロ ッ ク が入力マ ス タ ー ク
ロ ッ ク よ り も よ り も ア ッ プ ス ト リ ームで定義 さ れ る マ ス タ ー ク ロ ッ ク に関連付け ら れてい る こ と を レ ポー ト し ます。
こ の場合、 タ イ ミ ン グ解析が不必要に悪 く な り 、 マ ス タ ー ク ロ ッ ク と 生成 ク ロ ッ ク 間のパ ス に ク ロ ッ ク のば ら つき
が追加 さ れ る こ と があ り ます。 こ れに よ り 、 タ イ ミ ン グ ク ロ ージ ャ が多少困難にな り ます。 生成 ク ロ ッ ク を、 その
ク ロ ッ ク が派生 さ れ る マ ス タ ー ク ロ ッ ク ソ ース ピ ンに関連付け る こ と をお勧め し ます。
回避策
create_generated_clock 制約を、 生成 ク ロ ッ ク が直接派生 さ れたマ ス タ ー ク ロ ッ ク の ソ ース ピ ン を参照する よ
う に変更 し ます。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
205
japan.xilinx.com
付録 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 のすべての資料
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
206
japan.xilinx.com
付録 B : その他の リ ソ ースおよび法的通知
ト レーニ ン グ リ ソ ース
ザ イ リ ン ク ス では、 こ のガ イ ド に含まれ る コ ン セプ ト を説明する さ ま ざ ま な ト レーニ ン グ コ ースお よ び QuickTake ビ
デオ を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
•
Vivado Design Suite QuickTake ビデオ : タ イ ミ ン グ ク ロ ージ ャ のための UltraFast Vivado 設計手法
•
Vivado Design Suite QuickTake ビデオ : Vivado タ イ ミ ン グ制約ウ ィ ザー ド の使用
•
Vivado Design Suite QuickTake ビデオ : ア ド バン ス ク ロ ッ ク 制約 と 解析
•
Vivado Design Suite QuickTake ビデオ : イ ンプ リ メ ン テーシ ョ ン結果の解析
•
Vivado Design Suite QuickTake ビデオ : Vivado でのデザ イ ン ルール チ ェ ッ ク (DRC) の実行
•
Vivado Design Suite QuickTake ビデオ : タ イ ミ ン グ解析の制御
•
Vivado Design Suite QuickTake ビデオ : Vivado タ イ ミ ン グ ク ロ ージ ャ テ ク ニ ッ ク : 物理最適化
•
Vivado Design Suite QuickTake ビデオ : ク ロ ッ ク 乗せ換えチ ェ ッ ク - CDC 解析
•
Vivado Design Suite QuickTake ビデオ : Vivado でのデザ イ ン解析お よ びフ ロ アプ ラ ン
•
Vivado Design Suite QuickTake ビデオ
お読み く だ さ い : 重要な法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同 じ )
に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れます。 適
用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提供
さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ れ
ら に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま たは
貴社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負わな
い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る か を問わない) も の と し 、 当該損失ま たは損害に
は、 直接、 間接、 特別、 付随的、 結果的な損失ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信用の
損失、 その他あ ら ゆ る 種類の損失や損害を含みます) が含ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可能で
あ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受けていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情報に
含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、 本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負い ま
せん。 事前の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ません。 一
定の製品は、 ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク
ス の販売条件を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助的条件
に従 う こ と にな り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求す る アプ リ ケー
シ ョ ンに使用す る ために、 設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製品を
使用す る 場合の リ ス ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ ン ク
ス の販売条件を参照 し て く だ さ い。
© Copyright 2012-2016 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含
まれ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれ
の保有者に帰属 し ます。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページの
右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語で
入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受
け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
デザイ ン解析および ク ロージ ャ テ ク ニ ッ ク
UG906 (v2016.2) 2016 年 6 月 8 日
207
japan.xilinx.com
Fly UP