例 3: -edges および -edge_shift オプションを使用したデューティ サイクルおよび位相シフトの指定 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: 制約の使用 (UG903)

Document ID
UG903
Release Date
2022-06-01
Version
2022.1 日本語

生成クロックの波形の各エッジは、-edge_shift で正または負の値を指定することにより個別にシフトさせることもできます。位相シフトが必要な場合は、このオプションを使用します。

-edge_shift オプションは、次のオプションと同時に使用することはできません。

  • -divide_by
  • -multiply_by
  • -invert

たとえば、clkin というマスター クロックがあり、周期は 10 ns、デューティ サイクルは 50% であるとします。このクロックはセル mmcm0 に入力され、このセルによりデューティ サイクルが 25% で位相が 90 度シフトされたクロックが生成されます。生成クロックの定義には、マスター クロックのエッジ 1、2、および 3 が使用されています。これらのエッジは、それぞれ 0 ns、5 ns、および 10 ns で発生します。適切な波形を得るには、1 番目と 3 番目のエッジを 2.5 ns シフトします。

create_clock -name clkin -period 10 [get_ports clkin]
create_generated_clock -name clkshift -source [get_pins mmcm0/CLKIN] -edges {1 2 3} \
-edge_shift {2.5 0 2.5} [get_pins mmcm0/CLKOUT] # First rising edge:	0ns + 2.5ns = 2.5ns
# Falling edge:	5ns + 0ns	= 5ns
# Second rising edge: 10ns + 2.5ns = 12.5ns
注記: -edge_shift には、正の値または負の値を指定できます。
図 1. 生成クロックの例 3