インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

2.6.5.5.1. 排他的クロックグループ (-logically_exclusive または -physically_exclusive)

logically_exclusive オプションを使用して、2 つのクロックが物理的に同時にアクティブである一方で、2 つのクロックは同時にアクティブに使用されない (つまり、クロックは論理的に相互に排他的である) ことを宣言することができます。physically_exclusive オプションは、物理的にデバイス上に同時に存在できないクロックを宣言します。

複数のクロックを同じノードに定義する場合は、クロックグループ割り当てを logically_exclusive オプションとともに使用し、クロックが相互に排他的であることを宣言することができます。この手法は、多重化されるクロックに役立ちます。

入力ポートに 100MHz もしくは 125MHz のクロックが提供されている場合を例にします。logically_exclusive オプションを使用すると、クロックが相互に排他的であることを宣言し、100MHz クロックと 125MHz クロック間のクロック転送をなくすことができます。次の図と SDC 制約例を参照してください。

図 103. FPGA 内部のクロック・マルチプレクサーと同期パス

内部クロック・マルチプレクサーに向けた SDC 制約の例

# Create a clock on each port
create_clock -name clk_100 -period 10 [get_ports clkA]
create_clock -name clk_125 -period 8 [get_ports clkB]
# Create derived clocks on the output of the mux
create_generated_clock -name mux_100 -source [get_ports clkA] \
     [get_pins clkmux|combout]
create_generated_clock -name mux_125 -source [get_ports clkB] \
     [get_pins clkmux|combout] -add
# Set the two clocks as exclusive clocks
set_clock_groups -logically_exclusive -group {mux_100} -group {mux_125}
図 104. FPGA 外部のクロック・マルチプレクサーと同期パス

外部クロック・マルチプレクサーに向けた SDC 制約の例

# Create virtual clocks for the external primary clocks
create_clock -period 10 -name clkA
create_clock -period 20 -name clkB
# Create derived clocks on the port clk
create_generated_clock -name mux_100 -master_clock clkA [get_ports clk]
create_generated_clock -name mux_125 -master_clock clkB [get_ports clk] -add
# Assume no clock network latency between the external clock sources & the \
     clock mux output
set_clock_latency -source 0 [get_clocks {mux_100 mux_125}]
# Set the two clocks as exclusive clocks
set_clock_groups -physically_exclusive -group mux_100 -group mux_125