クロック ネットへの USER_CLOCK_ROOT プロパティの使用 - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語
USER_CLOCK_ROOT プロパティを使用すると、クロック バッファーで駆動されるクロックのクロック ルートの位置を指定できます。USER_CLOCK_ROOT プロパティを指定すると、クロック配線が変更されて挿入遅延とスキューの両方に影響するため、デザインの配置に影響します。USER_CLOCK_ROOT 値はクロック領域に対応するので、このプロパティはファンアウトの大きいクロック バッファーで直接駆動されるネット セグメントに設定する必要があります。次に例を示します。
set_property USER_CLOCK_ROOT X3Y2 [get_nets -of [get_pins clkgen/BUFG_clkout2_inst/O]]
図 1. クロック バッファーで駆動されるネット セグメントに適用された USER_CLOCK_ROOT

配置後は、次の例に示すように、CLOCK_ROOT を使用して実際のクロック ルートをクエリできます。CLOCK_ROOT に対しては、割り当てられたルートがユーザーによって割り当てられたものであるか、Vivado ツールで自動的に割り当てられたものであるかがレポートされます。

get_property CLOCK_ROOT [get_nets -of [get_pins clkgen/BUFG_clkout2_inst/O]]
=> X3Y2

インプリメントしたデザインのクロック ルート割り当てを確認するには、Tcl コマンドの report_clock_utilization を使用する方法もあります。次に例を示します。

report_clock_utilization -clock_roots_only

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

図 2. report_clock_utilization によるクロック ルート割り当ての確認