描述
我在触发器Q输出中创建了一个时钟,在XDC中使用以下create_clock命令。
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}
但是,在实现完成后,当我运行“report_clocks”时,会为同一个引脚返回不同的时钟。
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}
是什么造成了这种差异?
解
这是由在同一引脚上重新定义时钟引起的。
检查XDC文件以确保没有相同的create_clock命令。
在生成上述错误消息的示例中,XDC文件包含以下内容:
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}
284行,
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}
这两个时钟都连接到有问题的引脚,第二个时钟定义覆盖第一个时钟。
这就是为什么gen_cpu_rst_clk | clk_div2_derived_clock在report_clocks结果中列出的原因。
如果您确实想在同一源上定义多个时钟,以便使用不同的时钟波形进行同步分析,请使用“ create_clock -add ”选项。
没有回复内容