本节摘要:模拟EDA工具链是一条五段数据流:原理图捕获(网表生成)、电路仿真(直流、交流、瞬态、蒙特卡洛与工艺角套件)、版图编辑(多边形几何与约束)、寄生提取(把版图还原成带寄生的网表)、物理验证(DRC、LVS、天线、电磁)。本节对照各段的输入输出与角色、仿真"分析类型与电路问题"的对应矩阵,并谈脚本化与版本管理这两条现代工作流的地基。
前八章的每个设计动作都发生在工具里。本节把工具摊开看:哪一段消费什么、生产什么、容易在哪里出错。
第一段原理图捕获:画出电路图、标注器件参数与工艺器件选型(PDK里的Pcell),输出网表。第二段电路仿真:读网表与模型卡,按分析类型求解——这是设计师百分之六十时间的去处。第三段版图编辑:按原理图几何化,DRC实时检查规则;约束驱动版图(匹配对、等长线作为约束录入)在逐步普及。第四段寄生提取:读版图,输出带RC寄生(或含L)的扩展网表。第五段物理验证:DRC对规则卡、LVS对原理图、天线与电磁检查,最后生成签核报告。数据流的关键耦合点有两个:仿真段与版图段靠"器件名与网名一致性"维系(LVS就是检查它),提取段把两段重新缝合——前后仿真共用同一套测试台(testbench)是流程纪律,保证比较的是同一个激励下的同一个指标。
初学者常犯的错是"只会跑瞬态"。每种分析回答一类问题:
| 分析类型 | 回答的问题 | 典型去处 | 陷阱 |
|---|---|---|---|
| 直流工作点 | 每个节点电位、每管工作区 | 偏置检查、饱和余量 | 收敛失败要查初始条件 |
| 直流扫描 | 转移特性、摆幅 | 失调、比较器阈值 | 步长太粗漏细节 |
| 交流小信号 | 增益、相位、带宽、裕度 | 3.1与3.3的全部曲线 | 先要有直流工作点;扫不够宽 |
| 瞬态 | 摆率、建立、开关时序 | 摆率、SC电路、锁存 | 步长须远小于最快边沿 |
| 噪声 | 输入参考噪声谱 | 3.2的谱密度与积分 | 别忘负载电容影响 |
| 稳定性(环路) | 环路增益与裕度 | 反馈系统 | 断环路点要插大电感隔直 |
| 工艺角与蒙特卡洛 | 批间散布与片内失配 | 签核必需 | 角合格不代表失配合格 |
工艺角(ss、tt、ff、fs、sf乘温度乘电压,五维套件)管系统性偏差,蒙特卡洛管随机失配——8.1的统计模型在仿真器里落地就是这一项。签核口径:关键指标在全部工艺角加三西格玛蒙特卡洛下达标才算过关。
图形界面上点几百次仿真不可持续,模拟设计正在经历"数据驱动"转向:用脚本(Python、Skill、Tcl)批量生成测试台、扫参数空间、回收仿真结果到数据库做统计与绘图——1.4节的gm除以ID查找表正是这样生成的。版本管理(git管理原理图网表、版图数据库与仿真脚本)让"这个改动带来了多少性能变化"可追溯;回归测试(每次改动自动重跑关键指标套件)在迭代中守住已达标的项。小团队至少做到:每版电路一个标签、仿真脚本与电路同库、结果文件按日期归档——这三条纪律能在流片答辩时救命。
一个真实的工具链日历:四周的运放模块,第一周手算加直流交流初仿,第二周蒙特卡洛与工艺角加噪声建立,第三周版图与提取(后仿循环两轮),第四周签核清单与文档。工具时间分布大约仿真六成、版图三成、验证一成——但真正的工期风险几乎都在版图与后仿循环,仿真段的问题反而是最好修的。
⚠️ 常见坑:测试台里理想的电源与理想时钟掩盖真实问题。理想电源没有纹波与内阻,PSRR与电源毛刺敏感性全测不出来;理想时钟没有抖动与死区。签核前必须把测试台"弄脏"一遍:加电源串联电阻与纹波源、时钟加抖动模型、输入加共模阶跃——这三针疫苗能挡掉大半"流片惊喜"。
仿真的失败分两种,收敛失败与悄悄算错。收敛失败(直流工作点不收敛)常因悬浮节点、正反馈环路或极端初始条件——加吉欧级旁路电阻、用节点置初值、先跑辅助小电路暖启动,是三个标准动作。悄悄算错更危险:瞬态步长太粗漏掉振铃、交流扫描没到右半平面零点、噪声分析忘了负载电容、蒙特卡洛样本量不足(几十个样本的西格玛估计误差能到百分之二十)——每一种都产出看似正常的曲线。防线的核心是交叉验证:瞬态大信号算出的过冲对照交流算出的相位裕度、手算的标度律对照仿真趋势、两个不同分析类型的同一指标必须互相印证,对不上就必有其一在说谎。
团队协作层还有一条工具链纪律:仿真结果的归档与可复现。每次签核级的仿真,测试台、网表版本、模型库版本、参数一起归档,半年后流片测试对不上时能精确重放当时算的是什么。做不到可复现的仿真,调试时等于没有历史——这条纪律的成本是每天五分钟,收益是危机时刻的整周时间。
再补一份具体的仿真计划模板,供直接套用。运放模块的签核级仿真套件:直流工作点全管工作区检查(1次);直流扫描输入共模与差模(2条曲线);交流增益相位扫10赫兹到1吉赫兹(裕度读数);瞬态阶跃三档幅度(小信号建立、半幅摆率、满幅过载恢复,各1条);噪声谱1赫兹到带宽上限加积分读数;工艺角套件五个角乘三个温度共15轮全指标;蒙特卡洛200样本看失调与增益分布。整个套件脚本化后单轮跑完约几小时,签核前至少完整跑两轮(模块定型一轮、后仿一轮)。这份模板的价值在于把"测什么"从临时决定变成固定资产——漏测项往往就是流片后翻车的项。
工具链的最后一环是人:测试台与断言写清楚(仿真里加检查语句,超限自动报错而不是靠人眼扫曲线),是团队里最值得推广的习惯。两百条曲线里人眼必漏,断言不会。