与基准时钟不同,生成时钟必须在其主时钟的传递扇出中进行定义,这样时序引擎才能精确计算其插入延迟。不遵守此原则将导致时序分析错误,而且很有可能导致时序裕量计算无效。例如,在下图中,gen_clk_reg/Q
用作为下一个触发器 (q_reg
) 的时钟,并且它还位于基准时钟 c1
的扇出椎中。因此,gen_clk_reg/Q
应包含 create_generated_clock
而不是 create_clock
。
图 1. 主时钟扇出中的生成时钟
create_generated_clock -name GC1 -source [get_pins gen_clk_reg/C] -divide_by 2
[get_pins gen_clk_reg/Q]