关于本站
一个专注于数字后端「时钟树 + 静态时序分析」的学习资料站。
为什么做这个站
时序是数字后端的心脏,但入门资料普遍存在两个问题:要么太浅(只给名词定义, 看完还是不知道怎么做),要么太散(散落在博客、问答、工具手册里,没有体系)。
更麻烦的是,网上流传着不少似是而非甚至明确错误的说法。比如 "false path 和功能无关"、"useful skew 只能修 setup"、"降频可以修 setup"—— 这些说法被反复转载,很多人在面试时因此栽跟头。
所以这个站的目标是:用通俗的方式讲清楚原理,同时不牺牲深度;把常见错误纠正过来。
内容范围
| 阶段 | 课数 | 覆盖内容 |
|---|---|---|
| 入门 | 4 | 时钟与触发器、setup/hold、偏斜与延迟、STA 与四条路径 |
| 基础 | 4 | CTS 全流程、时钟缓冲器、useful skew、时钟门控与功耗 |
| 进阶 | 5 | SDC 约束体系、时序例外与优先级、串扰 SI、OCV/AOCV/POCV、MCMM |
| 资深 | 6 | CRPR、useful skew 与 time borrowing、违例修复全流程、时钟树架构与 NDR、CDC 与 MTBF、签核与 ECO |
共 23 课 + 87 道题,覆盖 11 个考点分类、4 个难度层级。
资料来源
知识框架对照公开的权威资料整理,而不是凭空编写。主要参考:
- OpenSTA 与 OpenROAD ——开源 STA 引擎与 RTL-to-GDS 流程,命令语义、报告格式、CTS(TritonCTS)行为均以此为准
- VLSIDA/chip-tutorials ——STA 约束、报告解读、多角分析、CTS 的实操教程
- 业界主流 STA 教材与工具手册(PrimeTime / Tempus / ICC2 / Innovus)的公开文档
- Cadence / Synopsys 社区技术博客,以及中文技术社区中经过交叉验证的内容
站内出现的 Tcl 命令以业界常见形式书写(ICC2 / Innovus / OpenROAD 风格)。 不同 EDA 工具的语法和选项名有差异,实际使用时请以你所用工具的官方手册为准。 命令在这里的作用是帮助理解"约束的语义",而不是可以直接照抄的脚本。
答案是怎么核对的
题库不是从网上直接复制,而是经过逐题核对:
- 公式类题目全部手工验算。 每道计算题都给出完整的代入过程,你可以自己复核。
- 概念类题目对照权威资料核对结论。 对存在争议或资料互相矛盾的点,取工程上更严谨的表述。
- 主动标注并纠正常见的错误说法。 凡是网上广泛流传但有问题的结论,都在解析里明确指出错在哪里、正确的应该是什么。
- 区分"绝对规则"和"工艺相关"。 例如时钟走哪层金属是 PDK/层栈相关的,站内不会写成固定答案。
时序涉及大量流程选择和工艺相关的细节。例如 clock uncertainty 的具体取值、post-CTS hold uncertainty 是否设为零、 derate 系数、target skew 的合理范围——这些没有唯一正确答案, 取决于工艺节点、foundry 数据和项目要求。站内会说明"这是流程选择", 但真实项目必须以你手上的 foundry 签核数据和公司流程为准。
怎么用这个站
🌱 零基础 / 转行
从第一阶第 1 课顺序往下。不要跳, 第一阶的直觉是后面所有内容的基础。每课末尾的自测题要真的想一想再翻答案。
🔧 已工作 1–3 年
重点看第四阶: CRPR 的共同路径判定、time borrowing 的数学、POCV 的 RSS 合成、 MTBF 的指数项为什么关键。这些是拉开差距的地方。
🎯 只想验证某个点
用刷题模块的搜索框(支持搜题干、答案、解析、考点), 或者按分类/难度筛选。速查手册第 ⑦ 节 汇总了所有常见错误说法。
数据与隐私
- 这是一个纯静态网站,没有后端服务,不会上传任何数据。
- 学习进度、刷题记录、错题本、收藏都存在你浏览器的
localStorage里。 - 换浏览器或换设备不会同步;清除浏览器数据会丢失记录。
- 刷题模块的「重置记录」按钮可以随时清空所有本地记录。
发现错误怎么办
时序是个细节很多的领域,站内内容虽然经过核对,仍可能有疏漏。 如果你发现某道题的答案有问题、或者某个解释不准确:
- 先对照速查手册的公式和方向表,确认不是自己记反了
- 再查 OpenSTA / OpenROAD 官方文档或 foundry 手册确认权威说法
- 如果确实有问题,欢迎反馈——把题目编号和你的依据一起说明,会更快处理
这个站能帮你建立体系和纠正误区,但真正的功力来自项目里的反复迭代。 时序收敛没有银弹,只有对原理的理解加上大量实践。祝你早日把 WNS 收成正数。