正の位相シフトは、ソース クロック エッジを前方に移動し、クロック エッジを遅延させます。負の位相シフトは、ソース クロック エッジを後方に移動します。クロック波形を変更すると、スタティック タイミング解析でソースおよびデスティネーション クロックに対して異なるクロック エッジが使用される可能性があります。
次の例では、クロック clkout0
(周期 10 ns) は 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 ... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) -5.411 5.903 r mmcm_inst/mmcm_adv_inst/CLKOUT0 ...
ソース クロック エッジは 0.0 ns です。
- 位相シフト 12.0、
PHASESHIFT_MODE
=WAVEFORM
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 ... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) -5.411 5.903 r mmcm_inst/mmcm_adv_inst/CLKOUT0 ...
ソース クロック エッジは 0.333 ns (10 ns / 360 * 12.0) 遅延されます。
- 位相シフト 12.0、
PHASESHIFT_MODE
=LATENCY
vivado% set_property CLKOUT0_PHASE 12.000 [get_cells qpll/plle2_adv_inst] vivado% report_timing ... (clock clkout0 rise edge) 0.000 0.000 r ... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) -5.078 6.236 r mmcm_inst/mmcm_adv_inst/CLKOUT0 ...
MMCM の挿入遅延は 0.333 ns (10 ns / 360 * 12.0) 増加されます。ソース クロック エッジは 0.0 ns です。
- 位相シフト -15.0、
PHASESHIFT_MODE
=WAVEFORM
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 ... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) -5.411 5.903 r mmcm_inst/mmcm_adv_inst/CLKOUT0 ...
ソース クロック エッジは -0.417 ns 後方に移動されます (10 ns / 360 * -15.0)。
- 位相シフト -15.0、
PHASESHIFT_MODE
=LATENCY
vivado% set_property CLKOUT0_PHASE -15.000 [get_cells qpll/plle2_adv_inst] vivado% report_timing ... (clock clkout0 rise edge) 0.000 0.000 r ... MMCME2_ADV (Prop_mmcme2_adv_CLKIN1_CLKOUT0) -5.828 5.486 r mmcm_inst/mmcm_adv_inst/CLKOUT0 ...
MMCM の挿入遅延は 0.417 ns 減少されます (10 ns/360 * -15.0)。ソース クロック エッジは 0.0 ns です。