HSPICE与CADENCE仿真规范与实例.docx
- 文档编号:3257961
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:42
- 大小:992.47KB
HSPICE与CADENCE仿真规范与实例.docx
《HSPICE与CADENCE仿真规范与实例.docx》由会员分享,可在线阅读,更多相关《HSPICE与CADENCE仿真规范与实例.docx(42页珍藏版)》请在冰豆网上搜索。
HSPICE与CADENCE仿真规范与实例
电路模拟实验专题
实验文档
一、简介
本实验专题基于SPICE(SimulationProgramWithIntegratedCircuit)仿真模拟,讲授电路模拟的方法和spice仿真工具的使用。
SPICE仿真器有很多版本,比如商用的PSPICE、HSPICE、SPECTRE、ELDO,免费版本的WinSPICE,SpiceOPUS等等,其中HSPICE和SPECTRE功能更为强大,在集成电路设计中使用得更为广泛。
因此本实验专题以HSPICE和SPECTRE作为主要的仿真工具,进行电路模拟方法和技巧的训练。
参加本实验专题的人员应具备集成电路设计基础、器件模型等相关知识。
二、Spice基本知识
(2)
无论哪种spice仿真器,使用的spice语法或语句是一致的或相似的,差别只是在于形式上的不同而已,基本的原理和框架是一致的。
因此这里简单介绍一下spice的基本框架,详细的spice语法可参照相关的spice教材或相应仿真器的说明文档。
首先看一个简单的例子,采用spice模拟MOS管的输出特性,对一个NMOS管进行输入输出特性直流扫描。
VGS从1V变化到3V,步长为0.5V;VDS从0V变化到5V,步长为0.2V;输出以VGS为参量、ID与VDS之间关系波形图。
*OutputCharacteristicsforNMOS
M12100MNMOSw=5ul=1.0u
VGS101.0
VDS205
.op
.dcvds05.2Vgs130.5
.plotdc-I(vds)
.probe
*model
.MODELMNMOSNMOSVTO=0.7KP=110U
+LAMBDA=0.04GAMMA=0.4PHI=0.7
.end
描述的仿真电路如下图,
图2-1MOS管输入输入特性仿真电路图
得到的仿真波形图如下图。
从这个简单的spice程序中可以知道spice电路描述的主要组成部分。
(1)标题和电路结束语句
在输入的电路描述语句中输入的第一条语句必须是标题语句,最后一条必须是结束语句。
在本例中,
*OutputCharacteristicsforNMOS←标题
……
….…
.end←结束语句
(2)电路描述语句
电路描述语句描述电路的组成和连接关系,包括元器件、激励源、器件模型等描述,另外,如果电路是层次化的,即包含子电路,电路描述部分还包括子电路描述(.subckt)。
在描述元器件时,要根据类型,采用不同的关键字作为元件名的第一个字母,元器件关键字见下表。
如本例中,NMOS管的描述为:
M12100MNMOSw=5ul=1.0u
表示的意思为:
元器件关键字xDGSB模型名宽=xx长=xx
其中D:
漏结点;G:
栅结点;S:
源结点;B:
衬底结点。
器件模型描述电路中所使用的器件的spice模型参数,语句为.model。
如在本例中,
.MODELMNMOSNMOSVTO=0.7KP=110U
+LAMBDA=0.04GAMMA=0.4PHI=0.7
其中MNMOS为模型名,以便在元器件调用时使用,NMOS为模型的关键字。
元器件类型
元器件关键字
电阻
R
电容
C
电感
L
二极管
D
NPN或PNP双极型晶体管
Q
N沟或P沟结型场效应晶体管
J
N型或P型MOS场效应晶体管
M
GaAs场效应晶体管
B
电压控制开关
S
电流控制开关
W
互感
K
激励源说明供激励用的独立源和受控源,比如:
V:
独立电压源;I:
独立电流源;E:
电压控制电压源;F:
电流控制电流源;G:
电压控制电流源;H:
电流控制电压源,等等。
(3)分析类型描述语句
分析类型描述语句说明对电路进行何种分析。
比如,直流工作点(.op),直流扫描分析(.dc),交流分析(.ac),噪声分析(.noise),瞬态分析(.tran)等等。
(4)控制选项描述语句
控制选项用于描述spice仿真时的相关控制选项,一般在.option内进行设置,另外还有打印及输出控制选项(.print、.plot、.probe)等等
现将整个spice程序例子标注如下:
*OutputCharacteristicsforNMOS←标题
M12100MNMOSw=5ul=1.0u←元器件描述
(模型名为MNMOS的场效应MOS管M1,
漏结点2、栅结点1、源结点0、衬底结点0,
栅宽5um,栅长1um)
VGS101.0←激励源描述
(连接在1和0结点之间的1V独立电压源)
VDS205←激励源描述
(连接在2和0结点之间的5V独立电压源)
.op←分析类型描述,直流工作点分析
.dcvds05.2Vgs130.5←分析类型描述,直流扫描分析
(VGS从1V变化到3V,步长为0.5V;
VDS从0V变化到5V,步长为0.2V)
.plotdc-I(vds)←控制选项描述,打印声明
.probe←控制选项描述,打印输出
*model
.MODELMNMOSNMOSVTO=0.7KP=110U←器件模型描述,定义模型名为MNMOS
+LAMBDA=0.04GAMMA=0.4PHI=0.7的NMOS类型的模型
.end←结束语句
三、Hspice电路仿真(1+3)
HSPICE的输入网表文件通常为.sp文件,输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr、直流分析文件.sw、交流分析文件.ac等,输出文件有运行状态文件.st0和输出列表文件.lis在每次hspice运行后均有出现,其他的输出文件视spice程序中选择的分析类型而出现,并且可以在波形显示工具中显示,如Avanwaves、cosmosscope等。
输入spice网表(程序)文件和库输入文件能够由一个线路网表转换器或用一个文本编辑器产生。
1.写输入网表文件的规则
输入网表文件的第一个语句必须是标题行,最后一个语句必须是.END语句,它们之间的语句次序是随意的,除非是续行(行首有“+”的行)必须接在要接下去的行后面。
注释行以*打头,可加在文件中的任何地方。
2.输入文件的编辑
(a)HSPICE采用自由格式输入。
语句中的域由一个或多个空格,一个Tab,一个逗号,一个等号或一个左/右圆括号分开。
(b)除UNIX系统中的文件名外,不予区分大写或小写字母。
(c)每行语句长度限于80个字符以下。
(d)一个语句如在一行写不下,可以用续号继续下去。
续行以“+”作为第一个非数值、非空格字符。
(e)输入网表文件不能被“打包”,也不能被压缩。
(f)输入网表文件中不要采用特殊的控制字符。
图3-1Hspice的模拟流程
1、工具的使用
Hspice可以采用命令行或图形界面的方式执行,命令行的方式如下,
hspice<输入文件>
不生成lis文件,lis文件的内容打印到屏幕上。
hspice–i<输入文件>-o<输出文件名>
生成以输出文件名命名的lis文件。
相对方便的方式是采用图形界面的方式,如下
图3-2hspice仿真图形界面
按Simulate执行仿真,之后,采用Avanwaves或Cscope来显示波形,分别如下,
图3-3Avanwaves波形查看软件界面
图3-4CosmosScope波形查看软件界面
2、基本电路分析
下面以下图所示的电路为例子,说明hspice的基本仿真方法。
图3-5一个基本的共源级放大器的例子
此电路为共源级放大器,负载为电流源,电流源采用电流镜实现,偏置为电阻与电流镜实现的简单偏置。
各结点号已标注在图中,其中GND的默认结点号为0结点。
2.1直流仿真
图中电路的直流仿真spice程序如下,
*DCanalysisforAMP
M12100MOSNw=5ul=1.0u
M22344MOSPw=5ul=1.0u
M33344MOSPw=5ul=1.0u
R130100K
CL205p
Vdd40DC5.0
Vin10DC5.0
.op
.dcVin050.1
.plotdcV
(2)
.probe
.optionlistnodepost
*model
.MODELMOSNNMOSVTO=0.7KP=110U
+LAMBDA=0.04GAMMA=0.4PHI=0.7
.MODELMOSPPMOSVTO=-0.7KP=50U
+LAMBDA=0.05GAMMA=0.57PHI=0.8
.end
.op是分析直流工作点的语句。
此语句在进行电路直流工作点计算时,电路中所有电感短路,电容开路。
值得注意的是,在一个HSPICE模拟中只能出现一个.OP语句。
.dc是直流扫描分析。
该语句规定了直流传输特性分析时所用的电源类型和扫描极限。
在直流分析中,.DC语句可进行
a.直流参数值扫描
b.电源值扫描
c.温度范围扫描
d.执行直流蒙特卡罗分析(随机扫描)
e.完成直流电路优化
f.完成直流模型特性化
.DC语句具体格式取决于实际应用需要,下面给出了最常用的应用格式:
.DCvar1START=start1STOP=stop1STEP=incr1
在本例中,
.dcVin050.1,
输入端的电压源Vin从0V变化到5V,步长为0.1V。
.DC语句可以采用嵌套的形式,比如,
.DCvar1START=start1STOP=stop1STEP=incr1var2START=start2STOP=stop2STEP=incr2
下面是做温度扫描的例子,
.DCTEMP-5512510
下图是此电路的直流扫描结果。
可见在1~1.12V区域内是此放大器的高增益区。
2.2交流仿真
图中电路的交流仿真spice程序如下,
*ACanalysisforAMP
M12100MOSNw=5ul=1.0u
M22344MOSPw=5ul=1.0u
M33344MOSPw=5ul=1.0u
R130100K
CL205p
Vdd40DC5.0
Vin10DC1.07AC1.0
.op
.acDEC20100100MEG
*.plotacVDB
(2)VP
(2)
.probe
.optionlistnodepost
*model
.MODELMOSNNMOSVTO=0.7KP=110U
+LAMBDA=0.04GAMMA=0.4PHI=0.7
.MODELMOSPPMOSVTO=-0.7KP=50U
+LAMBDA=0.05GAMMA=0.57PHI=0.8
.end
交流仿真结果
2.3瞬态仿真
图中电路的瞬态仿真spice程序如下
*TRANanalysisforAMP
M12100MOSNw=5ul=1.0u
M22344MOSPw=5ul=1.0u
M33344MOSPw=5ul=1.0u
R130100K
*CL205p
Vdd40DC5.0
Vin10DC1.07sin(22100KHz)
.op
.tran.1u10u
*.plottranV
(2)V
(1)
.probe
.optionlistnodepost
*model
.MODELMOSNNMOSVTO=0.7KP=110U
+LAMBDA=0.04GAMMA=0.4PHI=0.7
.MODELMOSPPMOSVTO=-0.7KP=50U
+LAMBDA=0.05GAMMA=0.57PHI=0.8
.end
大信号瞬态仿真结果:
改为小信号时,注意偏置值的选取。
Vin10DC1.07sin(1.070.0001100KHz)
通过瞬态仿真,可见小信号增益为50倍,约为34dB,和AC仿真结果进行对照,看以发现结果是一致的。
同样,相位的结果也是一致的。
2.4练习
采用本实验提供的某工艺的BSIM模型文献(mix025_1.l)对上述电路的上述分析分别重新进行仿真,并总结出仿真结果。
提示:
模型文件可以采用.lib在仿真文件里进行引用。
注意:
由于更换的模型参数,即更换了工艺,因此电路的性能参数发生了变化,特别要注意的是输入偏置的设置。
四、Spectre电路仿真(1+3)
Cadence公司的Spectre仿真器的实质和HSPICE等spice仿真软件是一样的,但由于集成了cadence的ADE仿真集成环境,可以在图形界面下操作,使用更为方便和直观一些,比如,不用写spice的网表程序,可以在schematicview中绘制电路图。
这里仍以图3-5的电路作为例子,讲解工具的使用和基本电路分析的方法。
1、工具的使用
1.1编辑电路图(schematic)
启动cadence的设计环境平台,在命令行提示符($)下执行,
$icfb&
首先建立一个设计库,tools->librarymanager,File->New->Library,
在Name内添上lab1,ok后,选择Don’tneedatechfile,然后ok。
这样就建立了一个设计库。
这里之所以不选择编译techfile,是因为我们只进行电路的设计和仿真,如果还有设计电路的版图,则根据选择的工艺厂家的techfile来进行编译。
然后,在设计库里建立一个schemticview,在LibraryManager菜单New->cellview,
填入amp1,viewname选schematic,然后ok,则会出现电路图的编辑界面。
插入元器件,选择analogLib中的nmos4、pmos4、res、cap等器件。
形成如下电路图,然后checkandsave,如下图。
下面做这个放大器的symbol,Design->CreateCellview->FromCellview,在弹出的界面,按ok后出现symbolGenerationoptions,选择端口排放顺序和外观,然后按ok出现symbol编辑界面。
按照需要编辑成想要的符号外观,如下图。
保存退出。
下面建立仿真的电路图cut_amp1。
方法和前面的“建立schemticview”的方法一样,但在调用单元时除了调用analogLib库中的电压源、(正弦)信号源等之外,将此放大器(lab1中的amp1)调用到电路图中,如下图。
下图是添加输入激励源的设置。
在schematic编辑界面,选择Tools->AnalogEnvironment,出现VirtuosoAnalogDesignEnvironment(ADE),如下图
在ADE中,设置仿真器、仿真数据存放路径和工艺库,具体地,setup->Simulator/Directory/Host…中选择simulator为spectre,projectDirectory改为./simulation。
Setup->ModelLibraries中ModelLibraryFile找到sm046005-1j.scs文件填入,section部分填typical,如下图,按add,然后ok。
Variables->copyfromcellview,则电路中的变量出现在ADE中DesignVariable一栏中,如下图,
至此工具的初步使用已经进行了简单的介绍,下面结合具体的基本电路仿真进行介绍。
2、基本电路分析
2.1直流仿真
结合上面例子,首先设计仿真电路中的变量,vpower=3,vbias=1,va=2,f0=100K。
然后选择Analyses->choose,在analysis一栏中选dc,在DCAnalysis中选中SaveDCoperatingPoint;在sweepVariable中选中DesignVariable,variableName填vbias,在sweepRange,start选0,stop选3,然后ok。
然后,simulation->NetlistandRun,运行仿真。
再后观察仿真波形,这里有两种波形查看工具,一种是WaveScan,一种是AWD。
在session->options中进行设置。
这里选择AWD。
在tools中选择calculator。
如下图,
店主vs按钮,在schematic中选择需要输出波形的节点,如out,然后按plot,得到如下波形,
可见输入偏置在772.5mv~903.7mv的范围内存在一个高增益区,因此输入偏置应设置在这个区域内,改vias从1v到0.86v。
由于在做直流仿真时也选择了SaveDCoperatingPoint,因此可以查看电路的工作点,在calculator中按vdc,同时选中Evaluatebuffer,比如查看out的电压工作点。
也可以查看器件的工作状态,按op,然后在电路中选择需要查看的器件,如I0/M1的vth。
2.2交流仿真
后选择Analyses->choose,在analysis一栏中选ac,注意此时vbias已经选择到了0.82v。
SweepVariable选Frequency,SweepRange选1~100M,按ok。
然后,simulation->NetlistandRun,运行仿真。
仿真运行结束后,仍可以采用calculator打印结果。
这里采用另外一种方法,在Results->DirectPlot选中ACMagnitude&Phase,然后在schematicview中点中out,则AC的结果打印如下图。
2.3瞬态仿真
后选择Analyses->choose,在analysis一栏中选tran,
大信号1V时,
小信号0.1mV时,
2.4练习
修改偏置电流,即修改R0,对上述电路的上述分析分别重新进行仿真,并总结出仿真结果。
注意:
由于改变了偏置条件,因此电路的性能参数发生了变化,特别要注意的是输入偏置的设置。
五、实例:
放大器的仿真及分析(2+6)
下面以一个放大器作为实例讨论一些电路设计分析方法。
图4比较器电路
比较器采用单级运放后加一反相器构成,如图4所示。
其中Ibias为自偏置电路如图5A所示(注:
自偏置电路原理见Razavi书310页,实际工作时要加上启动电路,解释启动电路的原理。
),comp_amp为一级运放如图5B所示,inv为反向器。
图5A自偏置电路图5B运算放大器电路
运算放大器为双端输入单端输出的结构,可以在满足输入和输出摆幅的情况下实现一定的电压增益(考虑其值是多少时满足性能要求)。
首先确定所采用管子的宽度(所有晶体管的沟道长度不必为同一值),手工设计:
根据拟定的设计指标,确定满足指标的运算放大器各元件的尺寸和所需要的偏置电流的大小(可能需要迭代);
设计偏置电路:
采用自偏置电流源技术
a)选定电路结构;
b)手工设计:
确定各元件的尺寸;
c)Spectre仿真(采用TTCorner模型),验证电流源的性能;
将偏置电路和运算放大器电路合在一起仿真(采用TTCorner模型,27o),确定运放的最终性能参数:
a)开环增益的幅频和相频响应;
b)CMRR的频率响应;
c)PSRR的频率响应;
d)共模输入范围;
e)输出电压摆幅;
f)压摆率;
g)建立时间;
h)噪声;
i)功耗;
采用SSCorner模型,0o仿真温度,重新仿真以上参数。
采用FFCorner模型,80o仿真温度,重新仿真以上参数。
图6所示的仿真电路可仿真放大器的交流特性和瞬态特性。
采用闭环电路仿开环的方法,通过R0形成负反馈通路从而确定输出共模电平(此时的共模电平实际是V1的直流值),并稳定直流偏置。
在这个电路中选择RC时间常数的倒数与Av的乘积小于运放预期的主极点是必须的,即选择大电阻和大电容值(本实验选择1G欧姆电阻和1mf电容,具体见allen的运算放大器仿真)。
由于反馈电阻的大阻值,输入的共模会自动调整到和输入V1相等。
图6AC特性仿真
图中输入为正弦波形对其进行相应设置来满足功能,主要包括直流电压值提供输入端的直流偏置、交流AC幅值和相位(通常为1V,相位默认为0)、瞬态电压幅值频率和相位值。
具体设置如下图所示:
同理设置电阻电容值和直流电源值(直流电压),后在菜单栏tools—AnalogEnvironment调用仿真工具进行电路仿真。
选取仿真工具,添加模型文件并进行仿真设置,下面主要介绍一下仿真的设置,包括交流瞬态tran、交流ac、直流dc、噪声noise,具体如下所示:
大家应该注意到了,在电源的设置中直流电压和瞬态偏置电压(即DCvoltage和offsetvoltage)都设置了变量vin。
在仿真之前需要在variable中选择edit设置变量值。
另一种方法如下图。
在tools项中选择选择parametricanalysis选项,合理设置rangtype和stepcontrol。
然后选择analysis中start就可以了。
在设置一个电压源时最主要会用到三类参数:
交流仿真参数(acmagnitude是交流信号摆幅,一般设为1;acphase一般用在双端放大器仿真,一端为0另一端为180)、直流仿真参数(dcvoltage)和瞬态仿真参数等。
仿真器仿真时,这几个状态仿真是分开仿的,各参数互不影响。
下边两图仿真结果就是参数扫描的结果,直流dc仿真可以计算出直流偏置点,从而可以看各点的静态电压和直路的静态电流。
交流仿真可以仿真静态工作点的交流特性,主要是直流增益和频率特性,随输入的正弦激励的直流偏置结果如下,上图为幅频图,下图为相频图:
当输入的直流偏置为1.2V时的交流相应如下,从图中可以看出其直流增益为47dB,相位裕度为63o满足稳定性要求(相位裕度为180度减去增益0dB时的相移。
另外在比较器应用中并不一定满足相位裕度的要求,因为比较器工作在开环状态)。
瞬态结果如下(瞬态电压幅值为50mV,频率为1K),从图中可以看出输出低电平不能达到0,且与输入的直流电平有关,在不同的直流输入下,输出高电平确基本一样。
试分析这些影响并解释原因。
噪声分析主要包括闪烁噪声和热燥声,其输入等效噪声如下:
图7输入共模范围仿真
无论运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HSPICE CADENCE 仿真 规范 实例