时钟树综合 CTS
时钟树综合 CTS
概念解析
定义与起源
术语定义:时钟树综合(Clock Tree Synthesis, CTS)是物理设计中最关键的一步——在芯片上构建从PLL/时钟源到每一个寄存器的时钟分配网络。CTS的目标:让时钟信号在同一时刻到达所有寄存器。时钟树从根节点(PLL)出发,经多级buffer/inverter逐级分叉,最终到达几百万个寄存器叶子节点。
核心要义
第一,CTS的目标不是零skew——是可控skew。 理想情况所有寄存器同时收到时钟。现实中不同路径延迟不同产生clock skew。CTS不是消除skew——是把skew控制在设计预算内。有时故意引入useful skew来借时序。
第二,时钟树消耗了30-40%的总动态功耗。 时钟信号每个周期翻转——是芯片上活动最频繁的信号。CTS需要在skew和功耗之间平衡。Clock gating是关键降功耗手段。
第三,CTS是鸡和蛋:placement影响CTS,CTS影响placement。 寄存器放得拢→CTS容易→但可能局部拥堵。寄存器分散→绕线容易→但CTS需要更长的时钟线。
实践应用
* H-tree适合均匀分布的模块。 Mesh适合高扇出低skew场景。Spine适合面积大但性能要求不极端的场景。 * CCD是CTS的高级技能:同时优化时钟延迟和数据路径延迟。 * CTS后必须跑STA:CTS生成的时钟延迟是统计值——实际硅片受OCV影响可能有10-20%偏差。
实战案例
某AI芯片的CTS迭代噩梦:skew小(2ps)但功耗高(1.2W)→功耗降到0.8W但skew飙到15ps→CCD平衡→skew 3ps、功耗0.9W。——SNUG San Jose 2022
Mesh救了GPU的时钟树:H-tree 5轮skew>12ps。改用mesh——skew降到2ps。——SNUG Silicon Valley 2020
Clock Gating省了40%功耗:IoT传感器模块idle时时钟树仍在翻转——插入gating cell后idle时钟树停摆——动态功耗降40%。——SNUG Europe 2018
常见误区
误区一:CTS就是工具自动生成的。 Clock root位置、buffer驱动强度、拓扑类型——全局决策必须由工程师做。
误区二:skew越小越好。 有时引入useful skew可以解决关键路径setup violation。
误区三:CTS只在block级做就行。 顶层时钟分配同样关键。Block间skew差异过大——全芯片时序仍不收敛。