2020/6/2共88页1spice/Spectre介绍翟江辉2020/6/2模拟集成电路的设计流程1.交互式电路图输入2.电路仿真3.版图设计4.版图的验证(DRCLVS)5.寄生参数提取6.后仿真7.流片全定制2020/6/2各种仿真器简介SPICE:由UCBerkeley开发。用于非线性DC分析,非线性瞬态分析和线性的AC分析。Hspice:作为业界标准的电路仿真工具,它自带了许多器件模型,包括小尺寸的MOSFET和MESFET。Cadence提供了hspice的基本元件库并提供了与Hspice的全面的接口。Spectre:由Cadence开发的电路仿真器,在SPICE的基础上进行了改进,使得计算的速度更快,收敛性能更好。2020/6/2常用analoglib库的元器件器件Cell名称pnp管pnp电阻res地gnd电容cap直流电压源vdc电感ind直流电流源idcNMOSnmos4方波发生源vpulsePMOSpmos4可编程方波发生源vpwlnpn管npn正弦波发生源vsin2020/6/2元器件symbol视图2020/6/22020/6/2ModelsAnalysesVariablesOutputsReturn电路仿真2020/6/2分析类型介绍Tran分析:时间与电路参数的关系(瞬时分析)DC分析:电压与电路参数的关系(直流分析)AC分析:频率与电路参数的关系(交流分析)2020/6/2三、模拟仿真的设置(重点)Composer-schamatic界面中的Tools→AnalogEnvironment项可以打开AnalogDesignEnvironment窗口,如右图所示。2020/6/2AnalogDesignSimulation菜单介绍Session菜单SchematicWindowSaveStateLoadStateOptionsResetQuit回到电路图保存当前所设定的模拟所用到的各种参数加载已经保存的状态一些显示选项的设置重置analogartist。相当于重新打开一个模拟窗口退出2020/6/2Setup菜单Setup菜单DesignSimulator/directory/hostTemperatureModelLibraryEnvironment选择所要模拟的线路图选择模拟使用的模型一般有cdsSpicehspiceSspectre等设置模拟时的温度设置库文件的路径和仿真方式设置仿真的环境(后仿真时需设置)2020/6/2Analyses菜单选择模拟类型。Spectre的分析有很多种,如右图,最基本的有tran(瞬态分析)dc(直流分析)ac(交流分析)。2020/6/2tran(瞬态分析)2020/6/2dc(直流分析)dc(直流分析)可以在直流条件下对temperature,DesignVariable,ComponentParameter,ModelParameter进行扫描仿真举例:对温度的扫描(测量温度系数)电路随电源电压变化的变化曲线等2020/6/2ac(交流分析)ac(交流分析)是分析电路性能随着运行频率变化而变化的仿真。既可以对频率进行扫描也可以在某个频率下进行对其它变量的扫描。2020/6/2Variables菜单包括Edit等子菜单项。可以对变量进行添加、删除、查找、复制等操作。变量variables既可以是电路中元器件的某一个参量,也可以是一个表达式。变量将在参量扫描parametricanalysis时用到。2020/6/2其它有关的菜单项(1)Tools/ParametricAnalysis它提供了一种很重要的分析方法——参量分析的方法,也即参量扫描。可以对温度,用户自定义的变量variables进行扫描,从而找出最合适的值。2020/6/2其它有关的菜单项(2)Outputs/Tobeplotted/selectedonschematicschematic子菜单用来在电路原理图上选取要显示的波形(点击连线选取节点电压,点击元件端点选取节点电流),这个菜单比较常用。2020/6/2其它有关的菜单项(3)Outputs/Setup当然我们需要输出的有时不仅仅是电流、电压,还有一些更高级的。比如说:带宽、增益等需要计算的值,这时我们可以在Outputs/setup中设定其名称和表达式。在运行模拟之后,这些输出将会很直观的显示出来。举个例子:标识3db的点,我们用到的表达式如下:bandwidth(VF(“/Out),3,“low”)。需要注意的是:表达式一般都是通过计算器(caculator)输入的。Cadance自带的计算器功能强大,除了输入一些普通表达式以外,还自带有一些特殊表达式,如bandwidth、average等等。2020/6/2Calculator的使用Calculator是一个重要的数据处理工具,可以用来仿真电源抑制比,相位裕度,共模抑制比2020/6/2其它有关的菜单项(3)Results菜单2020/6/2模拟结果的显示以及处理在模拟有了结果之后,如果设定的output有plot属性的话,系统会自动调出waveform窗口,并显示outputs的波形,如左图2020/6/2五、运算放大器仿真实例1、电路图的输入(共模反馈型运放),如下图所示:2020/6/22、建立Symbol图2020/6/23、仿真电路图示意2020/6/24、运放小信号仿真示例电源电压Vdc=3.3V;交流信号源acm=1V;负载电容Cload=5pF;采用Spectre分析方式,选择交流分析(ac),设置如下:SweepVariable:FrequencySweepRange:1Hz~100MHz仿真完成后,点击Result-DirectPlot-ACGain&Phase查看运放的幅频特性和相频特性2020/6/2仿真结果该运放直流增益为80.9dB,单位增益带宽为82MHz,相位裕度为67.32deg。2020/6/2相位裕度与负载电容的关系曲线仿真1、设置相位裕度输出,点击Outputs-Setup其中运用了Candence函数PhaseMargin2020/6/2相位裕度与负载电容的关系曲线仿真2、点击Tools-ParametricAnalysis设置负载电容的扫描范围和扫描步长,其中RangeType选择From/To,StepControl选择LinearSteps2020/6/2相位裕度与负载电容的关系曲线仿真3、点击ParametricAnalysis中的Analysis-Start得到相位裕度与负载电容的关系曲线如图:2020/6/25运放直流仿真示例目标:仿真输出电压与输入电压的变化曲线方法:采用直流仿真(dc)仿真参数设置1、在仿真电路图中将信号源的输入电压定义为变量Vin2、在仿真环境界面中选择Variables-CopyFromCellview,将电路中设置的变量集中在DesignVariables栏中,初始化Vin和Cload变量,其中Vin=0V,Cload=5pF2020/6/23、设置dc仿真,其中SweepVariable选择DesignVariable,在VariableName中填写Vin,SweepRange选择Start-Stop,Vin的扫描范围为-1mV~1mV2020/6/24、仿真结果(横坐标为输入电压,纵坐标为输出电压)如图我们可以看出:运放的输出摆幅大约为-2.55V~2.55V2020/6/26、瞬态仿真示例目标:通过仿真得到运放的摆率方法:运用瞬态仿真,输入信号设置为电压脉冲,观察输出电压的变化情况参数设置:输入信号源采用analoglib中的脉冲发生器vpwl,输入电压初始值为0V,在10ns~10.1ns跳变到4VTran仿真时间为100ns在电路图中选择输出变量,Outputs-ToBePlotted-SelectOnSchematic,在这里我们选择输入脉冲以及输出电压2020/6/2仿真结果如图我们可以计算得到:运放摆率SR=117V/us