I created a clock at a flip-flops Q output with the following create_clock command in XDC.
create_clock -name {clk_cpu_div2} [get_pins {orion_core0/arm_axi_bus/cpu_subsystem/u_cpu_subsystem_without_dap_lite/ucpu_clk_rst_gen/ugen_cpu_rst_clk/clk_div2/Q} ] -period {74.07407407407408} -waveform {0 37.03703703703704}
However, after implementation is completed, When I run "report_clocks", a different clock is returned for this same pin.
gen_cpu_rst_clk|clk_div2_derived_clock 37.03700 {0.00000 18.51900} P {orion_core0/arm_axi_bus/cpu_subsystem/u_cpu_subsystem_without_dap_lite/ucpu_clk_rst_gen/ugen_cpu_rst_clk/clk_div2/Q}
What is causing this difference?
This is caused by a re-definition of the clock on the same pin.
Check the XDC file to ensure that there are no identical create_clock commands.
In the example generating the above error message, the XDC file contains the following:
Line 15,create_clock -name {clk_cpu_div2} [get_pins {orion_core0/arm_axi_bus/cpu_subsystem/u_cpu_subsystem_without_dap_lite/ucpu_clk_rst_gen/ugen_cpu_rst_clk/clk_div2/Q} ] -period {74.07407407407408} -waveform {0 37.03703703703704}
create_clock -name {gen_cpu_rst_clk|clk_div2_derived_clock} [get_pins {orion_core0/arm_axi_bus/cpu_subsystem/u_cpu_subsystem_without_dap_lite/ucpu_clk_rst_gen/ugen_cpu_rst_clk/clk_div2/Q}] -period { 37.037} -waveform {0.000 18.519}
These two clocks are both attached to the pin in question, and the second clock definition overrides the first one.
That is why gen_cpu_rst_clk|clk_div2_derived_clock is listed in the report_clocks result.
If you really want to define multiple clocks on the same source for simultaneous analysis with different clock waveforms, use the "create_clock -add" option.
AR# 53805 | |
---|---|
日期 | 01/14/2015 |
状态 | Active |
Type | 综合文章 |
器件 | |
Tools |