时钟树:同一时钟为什么会在不同时刻到达寄存器?
电路图上,许多寄存器连着同一个时钟;到了芯片版图,边沿却要穿过缓冲器和金属线。为什么有的寄存器先收到,有的后收到?本篇沿一条寄存器间路径,解释时钟树怎样分发边沿,以及到达差为什么会改变时序裕量。
一句话结论:同一时钟只保证来源关联,不保证同时到达;时钟树要控制路径延迟及其差异,最终还要让数据路径通过建立、保持检查。
本篇选芯片内的缓冲式时钟树,不涵盖所有网格或混合网络。时钟从参考点S经过公共干线,再沿分支和缓冲器送到寄存器的时钟端CK;缓冲器重新驱动下一级负载,并不是消除传播时间。[1][3]
金属线有电阻、电容,寄存器时钟端也形成电容负载。分支的线长、布线层、负载和缓冲级不同,边沿延迟就可能不同;只让几何长度一样,并不能保证电气延迟相等。[1][3]

图1|选定的缓冲式时钟树。蓝线送到CK端,灰线表示L.Q到C.D的数据路径;S是本文参考点。功能布局非比例,分支外观对称不代表实际延迟相等。
图中数据从发射寄存器L的Q输出端,经组合逻辑进入捕获寄存器C的D输入端;时钟走各自CK路径。不能把数据传播时间算进时钟树延迟。[2][4]
先固定参考点、端点和测量边沿。本篇把S到某个CK端的传播时间称为插入延迟,不包括S之前的时钟源延迟。两个端点可能都很晚,却几乎同时;延迟大不等于偏斜大。[1][2]
Δt = tC − tL
tL、tC是同一源边沿到达L、C的时间,单位须一致,如ps。Δt为本篇L→C路径的偏斜:正值表示捕获时钟更晚。换一对端点,或采用相反符号约定,必须重新说明。[2][4]
偏斜比较不同位置的对应边沿;抖动则看同一位置的边沿随时间偏离参考的变化。电源噪声等既可改变局部延迟,也可造成时间变化,两者不能简单互相替代。[1][5]
限定同域、单周期、上升沿触发的L→C路径,并先固定周期、数据路径和其他条件。建立检查要求数据在下一次捕获边沿前提前稳定;捕获时钟后移,截止时刻也后移,最长数据路径获得更多时间。[2][4]
保持检查防止本拍新数据过早覆盖旧数据,要围绕同一拍的捕获边沿检查最短路径。捕获时钟后移,旧数据需要保持到更晚;新数据到达不变,保持裕量反而减少。[2][4]

图2|其他条件不变,捕获时钟后移的两种影响。建立对应下一拍,保持对应同一拍;图只说明方向,不代表具体芯片的时序数值或签核结果。
因此,不能把“捕获更晚”说成全面改善,也不能把降低偏斜等同所有路径更好。同一寄存器还可能是其他路径的发射端,调整一个分支会牵动相邻检查。[2][4]
时钟树综合CTS是在布局基础上选择缓冲器、分支和连接,使负载与路径延迟得到控制。OpenROAD的实现就同时涉及线网电阻电容、缓冲器、负载电容和边沿转换约束;不是照着一棵对称树描线。[1][3]
增加缓冲器可能改善驱动与边沿,却会占用面积、消耗功率并改变延迟。实际设计还要考虑布线障碍、工艺差异、温度和电压,不能用单一理想图保证所有工况零偏斜。[1][3]
最终须结合布线寄生参数,在规定模式与工况下重新做静态时序分析STA。建立看最大数据延迟,保持看最小数据延迟,并计入适用的不确定度与公共路径处理;跨域、分频或多周期路径不能直接套用本篇简化结论。[2][4]
本篇记忆卡
一句话定义:时钟树是把相关时钟边沿分发到多个时序端点的缓冲互连网络。
核心因果链:线网与负载不同 → 时钟到达不同 → 可用数据时间改变 → 建立、保持裕量改变。
1|延迟看源到端点,偏斜看端点之间,抖动看随时间的变化。
2|本篇正偏斜表示C比L晚。
3|捕获更晚:建立可能放宽,保持可能收紧。
常见误解:线等长不等于延迟相同;偏斜小也不能替代完整时序检查。
关注半导体之芯,系统学习器件原理、晶圆制造、材料设备、设计制造衔接与封装测试。
从已公开文章中补充相关知识。
微电子电路上册(903页中文版附下载)
补充寄存器、逻辑门和时序电路的基础。
点击阅读 →
行业报告与学习资料半导体行业深度报告: SoC芯片研究框架(93页附下载)
把时钟分发放回SoC的模块与实现关系中理解。
点击阅读 →
行业报告与学习资料芯片制造: 半导体工艺制程实用教程(中文版404页附下载)
补充版图互连与实际制造结构的背景。
点击阅读 →
• [1] Stanford EE371:时钟分发、路径匹配与抖动
https://web.stanford.edu/class/archive/ee/ee371/ee371.1066/lectures/Old/lect_08_2up.pdf
• [2] UMBC:时钟偏斜与建立、保持分析
https://eclipse.umbc.edu/robucci/cmpeRSD/lectures/Physical_Design_Flow_and_Timing_Analysis/Physical_Design_Flow_and_Timing_Analysis.html
• [3] OpenROAD官方文档:时钟树综合
https://openroad.readthedocs.io/en/latest/main/src/cts/README.html
• [4] AMD UG1388:时序裕量与偏斜符号
https://docs.amd.com/r/en-US/ug1388-acap-system-integration-validation-methodology/Reviewing-Timing-Slack
• [5] UC Berkeley:Clocked Storage Elements,节
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/ERL-00-64.pdf
欢迎在留言区交流知识问题;具体材料、参数与工艺窗口请以对应产品数据手册和平台规范为准。
本文用于半导体知识交流,不构成投资建议。
