流片前夜:从RTL到GDSII的完整流程概览

芯片从代码变成硅片,到底经历了什么?

很多刚入行的朋友问我这个问题。我通常会说:你写的是逻辑,工厂造的是物理。中间这趟旅程,就是我们要讲的——从RTL到GDSII。

说白了,就是把你的Verilog代码,一步步变成工厂光刻机需要的掩模版图。每一步都有坑,每一步都烧钱。我见过太多团队在最后一步才发现问题,然后……嗯,流片延期,几百万打水漂。

一句话总结:RTL是设计意图,GDSII是物理实现。中间这串流程,叫数字后端实现(Backend Implementation)。

1.1 整体流程:一张图看懂

先给你一张全景图。别被吓到,我们后面会一个一个拆解。

从RTL到GDSII的完整流程 RTL设计 逻辑综合 形式验证 DFT插入 布局规划 单元放置 时钟树综合 布线 静态时序分析 物理验证 签核 GDSII 输出 关键:每一步都要做检查,发现问题立刻回溯。不要等到GDSII出来才发现RTL写错了。 迭代是常态,一次过的项目我做了十几年也没见过几个。

1.2 前端阶段:把代码变成门级网表

这个阶段,你主要跟EDA工具打交道。输入是RTL,输出是门级网表(Gate-level Netlist)。

1.2.1 逻辑综合

综合工具会把你的RTL代码,映射到工艺库提供的标准单元上。比如一个加法器,会被拆成若干个与门、或门、触发器。

我个人习惯在综合前先跑一遍lint检查。很多低级错误,比如位宽不匹配、组合反馈,lint都能抓出来。我曾经见过一个团队,综合后仿真发现功能不对,查了三天,结果是一个always块里漏了敏感列表。这种坑,lint一步就能拦住。

小技巧:综合时设置合理的约束(SDC)比什么都重要。时钟周期、输入输出延迟、虚假路径,这些写清楚,后端才能少走弯路。

1.2.2 形式验证

综合后的网表跟原始RTL功能一致吗?形式验证就是干这个的。它用数学方法证明两个版本等价,不需要测试向量。

嗯,这里要注意:形式验证只能证明功能等价,不能保证时序。时序问题交给STA。

1.2.3 DFT插入

可测试性设计。说白了,就是给芯片加一些测试电路,方便流片回来以后检测制造缺陷。

常见的DFT结构包括扫描链(Scan Chain)、边界扫描(JTAG)、内建自测试(BIST)。

DFT类型 用途 面积开销
扫描链 测试逻辑电路 约5-10%
BIST 测试存储器 约1-3%
JTAG 边界测试/调试 约1-2%
避坑指南:我曾经遇到一个项目,DFT插入后忘了做ATPG测试向量的仿真验证。结果流片回来,扫描链本身就有故障,整批芯片无法测试,只能报废。从那以后,我要求团队必须做DFT的仿真,一个pattern都不能少。

1.3 后端阶段:从网表到版图

这个阶段,你开始跟物理打交道。输入是门级网表,输出是GDSII版图。

1.3.1 布局规划

决定芯片的宏观布局:哪些模块放左边,哪些放右边,IO pad怎么摆,电源网络怎么走。

布局规划做得好,后面布线就顺畅。做得不好……嗯,我见过一个项目,因为两个大模块的通信量巨大,却放在了芯片的对角,结果布线绕了半圈,时序全崩。

1.3.2 单元放置

把标准单元(与门、或门、触发器)一个一个放到芯片内部。工具会根据时序和拥塞程度自动优化位置。

1.3.3 时钟树综合

时钟信号要同时到达所有触发器。但芯片很大,时钟线有延迟。怎么办?插入时钟缓冲器,构建一棵树,让时钟到达时间尽量一致。

时钟树综合是后端最考验经验的步骤之一。skew(时钟偏差)做得好不好,直接决定芯片能不能跑在目标频率。

1.3.4 布线

把所有的标准单元用金属线连起来。这一步最耗时,也最容易出问题。

布线完成后,要检查天线效应、串扰、IR Drop(电压降)。这些物理效应,在RTL阶段是看不见的。

1.4 签核阶段:最后的把关

在输出GDSII之前,必须做三件事:

  1. 静态时序分析(STA):检查所有路径的建立时间和保持时间是否满足约束。不满足?要么改约束,要么改设计。
  2. 物理验证:检查版图是否符合设计规则(DRC),电路与版图是否一致(LVS)。
  3. 功耗分析:确认芯片功耗在预算范围内。
签核标准:STA无违例、DRC/LVS 100%通过、功耗达标。三个条件缺一不可,否则不能tape-out。

1.5 常见误区与避坑

  • 误区一:RTL写完了就万事大吉。 实际上,后端实现才是真正的战场。很多RTL写得很漂亮的设计,后端跑不通,最后只能改代码。
  • 误区二:综合后的网表直接拿去布局布线。 我建议先做形式验证,确认网表功能正确。否则后面发现问题,回溯成本极高。
  • 误区三:STA只跑一次。 实际上,STA要跑很多轮。每做一次ECO(工程变更),都要重新跑STA。
  • 误区四:DRC过了就一定能制造。 不一定。DRC只检查规则,不检查可制造性。有些图形虽然符合规则,但良率很低。这时候需要做OPC(光学邻近效应修正)和MDP(掩模数据准备)。

好了,这一章我们走了一遍从RTL到GDSII的完整流程。你心里应该有个全景图了。后面每一章,我们会深入每一个步骤,把工具命令、参数设置、常见问题的解法都讲透。