紧凑模型和SPICE

紧凑模型和SPICE

电热仿真,我们研究的是Device,可以给定器件的掺杂分布、边界条件等,采用TCAD直接用有限元求解控制方程,获得器件内部物理场的分布并提取器件特性,比如I-V曲线. 但实际模拟一个电路,不可能对每一个器件进行这样基于物理场的仿真,因此人们为器件开发了紧凑模型(compact model),在紧凑模型中,直接采用经验公式对器件的特性进行建模,比如对于GaN HEMT,他接在电路里实际上就是一个三端子器件,我们可以给出各种条件下这个器件的电容、电阻...一类的,当然更复杂的比如我们可以在模型里考虑自热效应啊、栅极泄露一类的东西,只要知道了这些,就可以对连起来的电路特性进行仿真了,而不需要知道这个器件内部是什么样的,相当于把每一个器件封装成了一个黑盒子,利用紧凑模型+SPICE,就可以完成电路模拟了,之前合作的滑铁卢大学的Wei Lan老师曾经参与开发过GaN HEMT的紧凑模型(MSVG)(https://ece.uwaterloo.ca/~l28wei/MVSG.html). 对于一般的数字电路仿真来说,甚至连器件特性这一级都不需要了,只需要设计好电路的逻辑就可以了, 之后可以通过软件再自动生成版图,比如由两个MOS管搭成的CMOS反相器就是一个非门了. 通过逐级封装,每一级以下的复杂性完全被隐藏在构成它的对象的内部,所以每一级满足完全不一样的物理规律,像Anderson说的,“多即不同”(More is different). 但可惜的是CS是有可能成为full stack developer的,有一台电脑就可以学习实践了,但资本密集高度分工的领域不可能一个人设计完了随手流几张片实践一下,大概率只能成为螺丝钉.

SPICE(simulation program with integrated circuit emphasis)是电路仿真程序,求解电路非线性微分方程组,获得电路特性. SPICE最早是70年代伯克利大学Rohrer开的“电路综合”课程上Laurence Nagel的一个大作业,后续跟着Peterson做博士生把程序进一步完善了. 虽然SPICE有着很大的商业价值,但Peterson坚持把代码开源,SPICE也逐渐演变成为了行业标准. 因为代码是开源的,所以今天有着各种基于原始SPICE代码改进演变的SPICE程序,就像Python也有C写的CPython和Java写的Jython一样. SPICE只是一个壳子,关键的是里面的device模型和求解算法. 很多商业公司都推出了自己的闭源SPICE软件,比如Cadence公司的PSPICE,Intusoft公司的IsSPICE,Meta-Software公司的HSPICE等等. 开源SPICE最典型的就是Analog半导体的LTSPICE,MIT的Kevin R. Bagnall也去了这里.

不同的SPICE之间可能会有一些兼容性差别,假如我现在想要用设计一款芯片,计划用某个代工厂的某套工艺来加工生产,比如台积电(tsmc)的28nm工艺,或者华润微电子(CSMC)的某套工艺,现在要进行设计和仿真,那么应该怎么保证我设计仿真的这一套和实际生产是匹配的呢?于是工艺设计套件(PDK)就出现了,代工厂每建立一套工艺和生产线,都要为其创建一套对应的PDK,客户想要采用这套工艺生产芯片,就要采用PDK中提供的模型、指定的EDA工具进行建模和仿真. 一般来说,EDA厂商提供的SPICE已经把模型的样式都建立好了,比如确定用三个参数描述某个器件的行为,那么代工厂一般情况下只会根据自己的工艺去调整和设置这些参数,这些参数全都提供在PDK中. 更进一步的,如果为了让模型更加满足自己的工艺情况,代工厂可能会开发自己的SPICE模型,然后和SPICE厂商进行合作,让他们的SPICE工具支持自己的模型进行仿真,EDA公司和代工厂之间也就愈发耦合在一起了.

下面这个是CSMC 0.5微米 CMOS数模混合工艺库支持的Design tools,仿真的部分已经指定了Spectre或者HSPICE.


以一个GaN器件为例,在一个物理驱动模型里它是这样一个东西,解一解泊松方程和基于漂移扩散模型的电子连续性方程,可以仿出来DC I-V特性曲线.

image-20220907112043519

在紧凑模型里他就是这样一个三端子的黑盒,

image-20220906223005024

我们要仿真它的I-V曲线,可以在SPICE里给他一个简单的电路,源极接地,扫出来它的DC特性.

image-20220907111849050