第9章 EDA仿真工具概览
模拟集成电路设计离不开仿真。从1970年代Berkeley SPICE程序的诞生,到今天覆盖原理图编辑、电路仿真、版图验证、寄生提取的完整工具链,仿真工具已经嵌入设计流程的每个环节。对设计者而言,搞清楚主流工具的能力边界和适用场景,直接关系到设计效率和流片成功率。本章介绍Cadence、Synopsys、Siemens EDA三大厂商的模拟仿真工具体系,讨论工具选择的考量因素,并梳理从网表到后仿真的完整流程。
9.1.1 主流工具介绍
9.1.2 Cadence工具链
Cadence在模拟集成电路设计领域占据主导地位。其核心仿真器Spectre最早于1990年代初推出,采用专有的电路方程求解算法,在收敛性和大电路仿真速度上优于早期版本的SPICE。Spectre支持BSIM3、BSIM4、PSP等工业标准器件模型,也支持厂商自定义的宏模型。
围绕Spectre,Cadence构建了完整的模拟设计环境(Analog Design Environment,ADE)。ADE提供统一的图形界面,集成原理图编辑、仿真设置、波形查看和结果分析功能。设计者可以在ADE中完成直流仿真、瞬态仿真、交流小信号仿真、噪声分析、零极点分析、周期稳定性分析(PSS/PAC/Pnoise)以及蒙特卡罗分析。ADE还支持参数扫描和工艺角组合的批量仿真,方便设计者评估电路在不同条件下的表现。
Cadence的完整模拟设计流程还包括版图工具Virtuoso Layout Suite、物理验证工具PVS和寄生提取工具Quantus。这些工具与ADE共享数据库,版图完成后可以直接提取寄生参数并反标回原理图进行后仿真,形成完整的仿真流程。
图1:ADE中包含的各种仿真器
9.1.3 Synopsys工具链
Synopsys的模拟仿真产品线以HSPICE为代表。HSPICE诞生于1980年代,是历史最悠久的商业SPICE仿真器之一。它在器件模型精度和收敛鲁棒性方面积累了深厚基础。台积电、格芯等主要晶圆厂在工艺开发阶段就使用HSPICE作为模型验证的参考仿真器。HSPICE支持全面的器件模型,包括BSIM4、BSIM6、PSP和HiSIM等,对射频器件和噪声模型的支持尤其完善。
Synopsys还提供CustomSim和FineSim等FastSPICE工具,用于大规模电路(如存储器外围电路、锁相环、SerDes收发链路)的仿真。FastSPICE工具通过模型简化、事件驱动和并行计算等技术,将仿真速度提升一到两个数量级,代价是波形精度有所下降。在混合信号设计领域,Synopsys提供SaberRD和PrimeSim系列工具,支持SPICE、Verilog-AMS和VHDL-AMS的多语言协同仿真。
Synopsys的定制设计平台Custom Compiler提供原理图编辑和版图环境,与HSPICE仿真器深度集成。设计者可以在Custom Compiler中调用HSPICE进行仿真,也可以使用Synopsys的波形查看工具WaveView分析结果。
9.1.4 Siemens EDA(原Mentor Graphics)
Siemens EDA的模拟仿真产品以Eldo和Questa ADMS为代表。Eldo是高性能SPICE仿真器,支持标准器件模型和Verilog-AMS行为级建模。在射频仿真领域,Eldo RF提供谐波平衡和包络跟踪分析能力。Questa ADMS则专注于混合信号仿真,支持SPICE网表与Verilog-AMS、SystemVerilog的混合仿真,常用于数模转换器、电源管理芯片等混合信号系统的验证。
Siemens EDA在板级和系统级仿真方面有独特优势。其HyperLynx工具面向PCB信号完整性和电源完整性分析,支持IBIS模型和SPICE模型的混合仿真。在三维电磁场仿真领域,Siemens EDA的产品是Simcenter 3D和Xpedition的集成模块。需要说明的是,业界常用的HFSS(高频结构仿真器)最初由Ansoft公司开发,2008年Ansys收购Ansoft后,HFSS归属Ansys产品线,不属于Siemens EDA。
9.1.5 开源与教育工具
除商业工具外,开源SPICE仿真器在教学和预研中也有广泛应用。NGSPICE是基于Berkeley SPICE 3f5的开源实现,支持BSIM3和BSIM4模型,可以完成大多数基础电路仿真。LTspice是Analog Devices(原Linear Technology)提供的免费仿真器,界面简洁,收敛性好,在电源电路和开关电源设计中应用广泛。Multisim是NI公司推出的教育用电路仿真软件,适合课程教学和入门实验,其元器件库和虚拟仪器仪表设计贴近实验室环境,但器件模型的工业级精度有限,不适合先进工艺节点的设计验证。
图2:Multisim 9用户界面
9.1.6 工具比较与选择
9.1.7 仿真精度与速度的权衡
选择仿真工具的首要考量是精度与速度的平衡。全精度SPICE仿真器(如Spectre、HSPICE)对电路方程进行直接数值求解,不对方程形式做简化,因此精度最高。但全精度仿真的计算量随电路规模呈超线性增长,对于包含数万晶体管的电路,一次瞬态仿真可能需要数小时甚至数天。
FastSPICE工具通过多种近似策略换取速度。常见的加速手段包括:对线性度较好的子电路进行模型降阶、对弱耦合节点进行分区求解、利用多核并行和GPU加速。这些手段在保持波形基本特征的前提下,将仿真时间缩短到原来的十分之一甚至百分之一。代价是FastSPICE对高增益放大器的直流工作点计算可能不够精确,对弱非线性效应的捕捉也不如全精度仿真器。
Cadence提供的UltraSim和Spectre X、Synopsys的FineSim和CustomSim,都在这条精度-速度曲线上占据不同位置。设计者应根据电路类型和验证目标选择合适的工具。例如,带隙基准源的温漂系数仿真需要高精度直流工作点,应使用全精度仿真器;而锁相环的锁定时间仿真涉及数万周期,FastSPICE是更现实的选择。
图3:描述语言的精度与仿真速度(上图摘自Cadence用户手册)
9.1.8 模型支持与工艺兼容性
晶圆厂提供的PDK(Process Design Kit)通常包含针对特定仿真器的模型文件。多数晶圆厂同时提供Spectre和HSPICE两种格式的模型,少数工艺节点还提供Eldo格式。选择仿真器时,应确认PDK中的器件模型、参数提取文件和蒙特卡罗统计模型与目标仿真器兼容。
BSIM4模型是当前数字和模拟CMOS工艺的主流标准模型,所有商业仿真器都支持。但不同仿真器对BSIM4参数的解释和数值处理存在细微差异,导致仿真结果在极端偏置条件下可能出现偏差。对于高精度模拟电路(如16位ADC的输入级),建议使用晶圆厂认证过的仿真器——通常晶圆厂在PDK发布时会附带模型验证报告,列出各仿真器的验证结果。
9.1.9 界面与自动化能力
工具的选择也受设计团队工作流程的影响。Cadence ADE的优势在于与Virtuoso版图环境无缝衔接,原理图、仿真、版图和寄生提取在同一框架内完成,数据传递不需要额外转换。Synopsys的Custom Compiler同样提供类似集成,但其优势在于数字后端工具的协同——对于数模混合芯片,Custom Compiler可以与Synopsys的数字实现工具(Design Compiler、IC Compiler)共享约束和数据。
脚本化能力是另一个考量维度。Cadence的Ocean和Skill脚本语言支持仿真流程的自动化控制,适合批量仿真和回归测试。Synopsys的HSPICE本身以网表驱动,适合在Linux服务器集群上运行大规模参数扫描。设计团队如果已经建立了基于某种工具的脚本库和流程模板,更换工具的成本会相当高。
9.1.10 工具选择建议
对于初学者和教学场景,建议从Multisim或LTspice入手,掌握电路仿真的基本操作和概念。进入工业级设计后,应根据所在公司和项目的PDK要求选择工具。如果PDK同时支持Spectre和HSPICE,建议两者都进行验证——用HSPICE验证关键性能指标(如增益、带宽、噪声),用Spectre完成与版图相关的后仿真,因为Cadence的后仿真流程更成熟。
射频电路设计通常需要额外的电磁场仿真工具。Cadence的EMX、Ansys的HFSS和Keysight的ADS是三个主流选择。EMX与Cadence流程集成度高,适合片上电感、变压器的参数提取;HFSS适合封装和PCB级的电磁场分析;ADS在射频系统级仿真和负载牵引测试方面功能最强。
9.1.11 仿真流程概述
9.1.12 从原理图到网表
仿真的起点是电路描述。在Cadence环境中,设计者通过Virtuoso Schematic Editor绘制原理图,每个器件符号关联PDK中的模型名称和参数。原理图完成后,ADE会自动生成SPICE格式的网表文件。网表中包含器件连接关系、模型调用语句和分析控制语句。
对于HSPICE,设计者直接编写网表文件,格式如下:
* 两级运算放大器网表
.option post=2
.temp 25
VDD vdd 0 1.8
VINP vinp 0 0.9 AC 1
VINN vinn 0 0.9
M1 vout vinn vtail ntail nmos w=2u l=0.18u nf=4
M2 voutp vinp vtail ntail nmos w=2u l=0.18u nf=4
...
.lib 'process.lib' tt
.include 'opamp_subckt.sp'
.op
.ac dec 100 1 10G
.noise v(vout) vdd 100
.end
网表是仿真器与设计者之间的接口语言。理解网表结构对排查仿真错误和编写自动化脚本至关重要。建议读者在图形界面之外,学会阅读和修改SPICE网表——这在服务器集群上批量仿真时几乎是必备技能。
图4:分析SPICE网表
9.1.13 前仿真
前仿真使用理想互连参数,只考虑器件本身的模型特性。设计者在原理图阶段完成前仿真,验证电路功能是否满足设计指标。前仿真通常包括以下步骤:
直流工作点分析:计算电路各节点的直流电压和支路电流,确认晶体管工作在预期的饱和区或线性区。直流工作点是后续所有分析的基础,工作点设置错误会导致交流或瞬态仿真结果失真。
交流小信号分析:在直流工作点附近对电路线性化,计算增益、带宽、相位裕度等频域指标。交流分析计算速度快,适合放大器、滤波器等线性电路的初步验证。
瞬态分析:在时域中求解电路方程,观察波形建立过程、过冲、建立时间等时域特性。瞬态分析的计算量远大于交流分析,仿真时间步长设置需要权衡精度与速度。
噪声分析:计算器件热噪声、闪烁噪声在输出端的贡献,评估电路的信噪比或等效输入噪声密度。
工艺角与蒙特卡罗分析:在不同工艺角(TT、SS、FF、SF、FS)下重复仿真,评估工艺波动对性能的影响。蒙特卡罗分析进一步引入器件失配的随机分布,用于成品率预估。
图5:进行交流小信号仿真的ADE环境
9.1.14 版图设计与寄生提取
前仿真通过后,设计者进入版图设计阶段。版图完成后,需要提取寄生参数——包括互连线的电阻、电容,以及器件之间的耦合电容。寄生提取工具(如Cadence Quantus、Synopsys StarRC)根据版图几何信息和工艺层叠参数,生成包含寄生元件的网表。
寄生提取分为R-C提取和R-C-C(电阻-电容-耦合电容)提取两种模式。R-C模式提取每条互连线的对地电容和串联电阻;R-C-C模式还提取相邻互连线之间的耦合电容。对于高速电路,耦合电容对信号完整性的影响不可忽略,应使用R-C-C模式。提取后的网表文件大小可能是原始网表的数十倍,仿真时间也相应增加。
9.1.15 后仿真与设计收敛
后仿真使用包含寄生参数的网表重新运行直流、交流和瞬态分析。后仿真结果通常比前仿真差——增益下降、带宽变窄、相位裕度减小——这是因为寄生电阻引入了额外压降,寄生电容增加了节点负载。
如果后仿真结果不满足设计指标,设计者需要修改电路或版图,然后重新提取寄生并再次仿真。这个迭代过程可能重复多次,直到设计收敛。在28nm及以下工艺节点,寄生效应的影响更加显著,后仿真与实测结果的偏差也更大,因此许多团队会增加一个“带寄生前仿真”的中间步骤——在原理图中手动添加关键互连的估计寄生值,提前评估版图布局的影响。
图6:在ADE中,仿真器根据工艺库提供的工艺和失配参数的高斯分布,对一个电路参数进行不同的统计性分析仿真。当仿真结束后,可以利用ADE的数据分析器分析工艺参数变化对所设计电路良率的影响,并及时进行改进,提高成品率
9.1.16 混合信号协同仿真
现代芯片常包含模拟与数字模块。模拟模块使用SPICE网表描述,数字模块使用Verilog或VHDL描述。混合信号仿真需要在同一环境中协调两种描述语言的求解。
Cadence的Xcelium和Synopsys的VCS都支持混合信号仿真,通过模拟-数字接口(如Verilog-AMS的connect module)实现信号域转换。仿真时,数字模块以事件驱动方式运行,模拟模块以连续时间方式运行,两者在设定时间点交换数据。混合信号仿真的时间尺度跨越很大——数字模块的时钟周期可能是纳秒级,而模拟模块的建立时间可能是微秒级——这要求仿真器具备高效的同步机制。
对于包含ADC、PLL等模块的混合信号芯片,建议先对模拟模块进行独立的SPICE仿真,确认其行为符合预期后,再将其抽象为行为级模型(Verilog-AMS或宏模型),与数字模块进行联合仿真。行为级模型可以显著加快仿真速度,但模型精度需要仔细验证。
9.1.17 工具链的延伸:从电路仿真到系统验证
模拟设计者的仿真需求不局限于电路级。在芯片设计的顶层,需要将多个模拟模块连同数字控制逻辑一起进行系统级验证。此时,仿真工具需要支持多种抽象级别的混合。
Cadence的Virtuoso ADE Assembler支持在同一个仿真环境中混合使用晶体管级网表和行为级模型。设计者可以将关键模块(如运算放大器、带隙基准)保留在晶体管级,将次要模块(如数字校正逻辑、时序控制)替换为行为级模型,在保证仿真精度的前提下控制仿真规模。
Synopsys的PrimeSim Continuum提供类似的混合仿真能力,支持SPICE、FastSPICE、Verilog-AMS和XPS(跨工艺角统计仿真)的协同工作。PrimeSim的独特之处在于支持多工艺角同时仿真——设计者可以一次运行所有工艺角组合,缩短统计验证的总时间。
在系统级验证阶段,MATLAB/Simulink常用于算法建模和控制系统设计。Simulink的Simscape Electrical工具箱提供电路级仿真能力,但其器件模型精度远低于SPICE,主要用于验证控制算法而非电路性能。实际工程中,通常用Simulink验证系统架构和校准算法,用SPICE验证具体电路实现,两者之间的数据传递通过行为级模型完成。
9.1.18 工具选择决策框架
综合上述讨论,工具选择可以归纳为以下决策路径:
确认PDK支持范围:查阅晶圆厂PDK文档,确认哪些仿真器有经过验证的模型文件。这是硬约束,决定工具选择的基本盘。
评估电路类型与规模:小规模高精度电路(基准源、放大器、比较器)优先选择全精度仿真器;大规模混合信号电路(PLL、SerDes、电源管理IC)需要FastSPICE工具加速。
考虑流程集成度:如果设计团队使用Cadence的版图流程,选择Spectre可以减少数据转换环节;如果使用Synopsys的数字后端流程,选择HSPICE和Custom Compiler更顺畅。
评估团队经验:工具的学习曲线不可忽视。一个团队已经积累了五年Ocean脚本经验,迁移到新工具的成本可能超过工具本身的功能差异带来的收益。
验证策略:对于流片项目,建议至少使用两种独立仿真器交叉验证关键指标。不同仿真器对模型参数的解释差异可以帮助发现潜在的模型问题。
9.1.19 本章小结
EDA仿真工具是模拟集成电路设计的核心支撑。Cadence的Spectre/ADE、Synopsys的HSPICE/CustomSim、Siemens EDA的Eldo/Questa ADMS构成三大主流工具链,各有侧重:Cadence在模拟定制设计流程上集成度最高,Synopsys在模型精度和大规模电路仿真上有优势,Siemens EDA在混合信号和系统级验证方面表现均衡。开源工具和LTspice适合教学和预研,但不适合先进工艺节点的工业级验证。
工具选择的本质是在精度、速度、集成度和学习成本之间做权衡。没有一种工具在所有维度上最优,设计者需要根据项目需求建立自己的工具组合和验证流程。从原理图到后仿真的完整流程——网表生成、前仿真、版图寄生提取、后仿真、混合信号协同仿真——形成完整的仿真流程。下一章将介绍模型选择步骤、分析类型配置和收敛性问题处理的具体操作。