第 1 章 · 手工画不完了:EDA 的问题起点 本章要回答的三个问题:手工设计在多大的规模上崩溃?一颗芯片从想法到交付到底要经过哪些环节?这些自动化工具本身又是谁造出来的?把这三个问题想清楚,后续七章的算法才有落脚点。 为什么会有这一章 EDA 是一个很容易被讲歪的领域:讲成了软件评测,就成了菜单翻译;讲成了产业评论,又看不见算法。本章选择从问题进入——先算一笔账,看看纯靠人力设计芯片的上限在哪里,崩溃点来得比多数人直觉的要早得多。1971 年的 Intel 4004 只有约 2300 个晶体管,几位工程师靠着手工绘图和早期 CAD 还能应付;今天一块手机 SoC 晶体管数以百亿计,增长跨度超过七个数量级,而设计团队的规模只扩大了十倍上下。
本章要回答的三个问题:手工设计在多大的规模上崩溃?一颗芯片从想法到交付到底要经过哪些环节?这些自动化工具本身又是谁造出来的?把这三个问题想清楚,后续七章的算法才有落脚点。
EDA 是一个很容易被讲歪的领域:讲成了软件评测,就成了菜单翻译;讲成了产业评论,又看不见算法。本章选择从问题进入——先算一笔账,看看纯靠人力设计芯片的上限在哪里,崩溃点来得比多数人直觉的要早得多。1971 年的 Intel 4004 只有约 2300 个晶体管,几位工程师靠着手工绘图和早期 CAD 还能应付;今天一块手机 SoC 晶体管数以百亿计,增长跨度超过七个数量级,而设计团队的规模只扩大了十倍上下。这条不断张开的剪刀差,就是整本教程要处理的根本矛盾:设计的复杂度按指数涨,人脑的处理能力按线性长,中间的缺口只能由算法来填。
理解了这个矛盾,你才能理解为什么逻辑综合要发明 AIG 这种极端精简的数据结构,为什么布局器要把线长写成二次函数,为什么时序分析宁可用保守的静态方法也不肯穷举仿真。所有这些算法选择,都是对同一句话的回应:问题规模大到人力不可及,解法必须同时满足"正确"与"算得动"两个条件。

对照开篇的问题,读完本章你应当能够:给"设计自动化"下一个有操作性的定义,说清它管的是从 RTL 到制造数据的哪一段;复述芯片设计全流程的前端与后端划分,指出每个环节的输入产物和输出产物;解释剪刀差为什么无法靠增加人手消除;描述 EDA 产业的供应结构——商业三巨头、IP 供应商、代工厂 PDK、开源工具各自站在哪里。这四件事是后续所有章节的地基:第 2 章起进入算法细节时,我们会反复回到"这个环节在全流程的哪里"这个问题。
| 节 | 回答的问题 | 关键产出 |
|---|---|---|
| 1.1 十亿晶体管的设计危机 | 为什么手工必然崩溃 | 剪刀差的量化与 EDA 的定义 |
| 1.2 一颗芯片的诞生全流程 | 流程分几段、各交付什么 | RTL 到 GDSII 的工序地图 |
| 1.3 造芯片的软件 | 工具与算法由谁供应 | 产业格局与开源生态边界 |
三节之间是递进关系:先证明问题存在,再给出问题的解法框架(流程),最后看解法的供给方(产业)。读的时候留意每节末尾对下一节的引出——流程图里被一笔带过的"逻辑综合"方框,正是第 2 章的全部内容。
只需要三样:数字逻辑的基本概念(与或非、触发器、真值表);对"程序被翻译成机器码"的直觉(综合与之同构);高中代数(函数与求极值)。不需要半导体物理,不需要任何商业工具的使用经验。
数字可以再具体一点,好让"剪刀差"有手感:1993 年的奔腾处理器约 310 万晶体管,设计团队数百人;2020 年代的一块旗舰手机 SoC 超过 150 亿晶体管,主力设计团队依然是数百到上千人——晶体管涨了约五千倍,人数涨了不到三倍,中间的差额全部由工具的自动化能力垫付。本章的三节分别把这笔账算清(1.1)、给出解法的整体框架(1.2)、看清算法的供给方(1.3)。
本章的流程地图上,"逻辑综合"是把人类可读的 RTL 变成机器可优化门级网表的关键转换。这个转换凭什么保证功能不变、又凭什么能做得快?第 2 章从布尔代数开始,把综合的算法骨架拆给你看。