时钟网络是数字芯片设计的"心脏",其质量直接影响芯片的性能和可靠性。本文将深入解析时钟网络中的四大关键参数:Skew、Latency、Uncertainty和Jitter,并探讨它们对时钟树综合和时序收敛的影响。
  
一、时钟偏差(Clock Skew):时钟树平衡的核心指标
  时钟偏差(Clock Skew)是指同一个时钟信号到达不同寄存器时钟端口的相对时间差异,数学表达为:Skew=max(Tarrival_i - Tarrival_j),其中i,j∈时钟端点。
在这里插入图片描述

根据影响范围,Skew可分为:
  全局时钟偏移(Global Clock Skew):全芯片范围内最长与最短时钟路径延迟之差
  局部时钟偏移(Local Clock Skew):特定功能模块/时钟域内的时钟路径差异
  跨时钟域偏移(Interclock Skew):不同时钟域之间的路径最大skew
  Skew对时序收敛有直接影响:
  Positive skew:利于setup time但使hold time更难满足
  Negative skew:利于Hold time但会降低芯片性能
  现代工艺节点对Skew的要求越来越严格:

工艺节点 允许值范围 超标后果
28nm ≤80ps 时序违例增加40%
7nm ≤50ps 功耗上升25%

二、时钟延迟(Clock Latency):从源头到终点的旅程
  时钟延迟是从时钟源到时序器件时钟引脚的总时间,分为两部分:
  源延迟(Source latency):从时钟源(如PLL)到时钟定义点的延迟
  网络延迟(Network latency):从时钟定义点到触发器时钟引脚的延迟
  在Innovus等工具中,可通过以下命令设置:

#指定源延迟
  set_clock_latency 1.9 -source [get_clocks SYS_CLK]
  #指定网络延迟
  set_clock_latency 0.8 [get_clocks CLK_CONFIG]

Latency值相当于CTS阶段的目标值,工具会根据设定值插入buffer,做出接近设定值的时钟树。过大的Latency会受到OCV和PVT等因素的较大影响。
  
三、时钟不确定性(Clock Uncertainty):真实世界的时钟不完美
  时钟不确定性定义了时钟信号到时序器件可能早到或晚到的时间范围,包含:
  静态不确定性:工艺变化引起的延迟差异
  动态不确定性:电压降、温度变化等引起的时变差异
  在SDC约束中设置:

	set_clock_uncertainty -setup 0.2 [get_clocks clk_name]
	set_clock_uncertainty -hold 0.05 [get_clocks clk_name]

值得注意的是:
  Pre-CTS阶段:uncertainty = clock skew + jitter + margin
  Post-CTS阶段:uncertainty = jitter (因为实际skew已确定)
  
四、时钟抖动(Clock Jitter):时钟周期的短期变化
  抖动是时钟信号相对于其理想时间位置的短期变化,定义为:Clock Jitter = T2 - T1。主要来源包括:
  PLL内部电路
  晶体振荡器中的热噪声
  谐振器件的收发特性
在这里插入图片描述

五、时钟树综合(CTS)中的优化策略
  优秀的时钟树需要在Skew、Latency、Power和Area之间取得平衡。以下是几种常用优化方法:
  增加TAP点数量:可降低Skew和Latency,但会增加功耗和面积
  修改target约束:

set_ccopt_property target_insertion_delay auto
 set_ccopt_property target_max_trans -net_type leaf 0.01
 set_ccopt_property target_max_trans -net_type trunk 0.075
 set_ccopt_property max_fanout 32
 set_ccopt_property target_skew 0.04

调整时钟单元尺寸:增大ICG、BUFFER/INV的驱动能力
  使用Useful Skew:故意调整发射和捕获寄存器的时钟延迟来修复时序违规
  
六、时钟树质量评价标准
  评价时钟树质量的关键指标包括:
  时钟传播延迟(Latency):源延迟+网络延迟
  时钟偏差(Skew):全局/局部Skew是否满足约束
  时钟转换时间(Transition/Slew):通常要求10%-90%的上升/下降时间
  时钟不确定性(Uncertainty):Pre-CTS和Post-CTS设置是否合理
  时钟树级数(Level):级数越少,受PVT影响越小
在这里插入图片描述

结语
  时钟网络设计是芯片实现中最关键的环节之一。理解Skew、Latency、Uncertainty和Jitter这些核心概念及其相互关系,掌握时钟树综合的优化方法,对于实现高性能、低功耗的芯片设计至关重要。随着工艺节点的不断进步,时钟网络设计面临的挑战也将越来越大,需要工程师们不断探索新的技术和方法。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐