时钟信号延滞(latency)又被称为插入延迟(insertion delay),它包括两部分,即时钟源(clock source)插入延迟和时钟网络(clock network)插入延迟。时钟源插入延迟是来自系统(即时钟源或来自芯片)到当前芯片(或到当前模块)时钟根节点(clock root pin)之间的延迟,时钟网络延迟是时钟树的延迟。从时钟源到时钟树寄存器的插入延迟事实上包括了两者之和(图1),即总插入延迟。在理想时钟的情况下,人们假定时钟网络插入延迟为零。在时钟树综合时,时钟延滞的数值会直接用来对偏差做计算和固定。
上述两种延迟的定义可以通过特定的选项加以区分,如:
set_clock_latency 2.0 -source [get_clocks {cpu_clk}]
set_clock_latency 2.0 [get_clocks {cpu_clk}]
前者定义了时钟源的插入延迟,而后者定义了时钟网络插入延迟,两者通过-source选项加以区分。
时钟源的插入延迟定义到芯片的顶层则是留给板级设计人员用的。在芯片设计中,在逻辑设计阶段利用该值附加在理想时钟上,从而模拟真实时钟的结果。当时钟源的插入延迟定到模块层次上,则可满足特定模块之间时序先后的特定设计需求 。