1、2022-7-22共88页1Hspice/Spectre 介绍介绍罗豪罗豪2019.9.222022-7-22共88页2模拟集成电路的设计流程模拟集成电路的设计流程1.交互式电路图输入2.电路仿真3.版图设计4.版图的验证(DRC LVS)5.寄生参数提取6.后仿真7.流片全定制全定制2022-7-22共88页3各种仿真器简介各种仿真器简介lSPICE:由UC Berkeley 开发。用于非线性 DC分析,非线性瞬态分析和线性的AC分析。lHspice:作为业界标准的电路仿真工具,它自带了许多器件模型,包括小尺寸的MOSFET和MESFET。Cadence提供了hspice的基本元件库并提供了
2、与Hspice的全面的接口。lSpectre:由Cadence开发的电路仿真器,在SPICE的基础上进行了改进,使得计算的速度更快,收敛性能更好。2022-7-22共88页4高精度电路仿真器高精度电路仿真器l1、Spectre/SpectreRF(cadence)l2、Hspice/HspiceRF(avanti)l3、Ads(Agilent 主要针对RF)l4、eldo(Mentor Graphics)l5、saber(Synopsys)2022-7-22共88页5Cadenc软件简介软件简介Cadence 提供了一个大型的EDA 软件包,它包括:lASIC 设计 全定制IC设计工具Virt
3、uoso Schematic Composer 电路仿真工具Analog Design EnvironmentlFPGA 设计lPCB设计2022-7-22共88页6Cadence中中Spectre的模拟仿真的模拟仿真1、进入Cadence软件包 2、建立可进行SPECTRE模拟的单元文件 3、编辑可进行SPECTRE模拟的单元文件 4、模拟仿真的设置(重点)5、模拟仿真结果的显示以及处理 6、分模块模拟(建立子模块)7、运算放大器仿真实例2022-7-22共88页7一、进入一、进入CadenceCadence软件包软件包l方法一方法一 安装并运行exeed软件,使用putty软件(缘网下载)
4、,在Host name处填工作站地址,端口默认,协议(protocol)选SSH,如图所示,然后点击Open。2022-7-22共88页81、键入用户名和密码,在提示符处键入:source/opt/demo/cds.env(回车)2、setenv DISPLAY 本机ip:0.0(回车),再键入icfb&,出现的主窗口如图所示:2022-7-22共88页9l方法二方法二 1、安装winvnc软件 2、运行putty软件键入 用户名和密码,在提示 符处键入 vncserver命 令申请vnc端口 3、运行winvnc,填入 主机名称:端口号码2022-7-22共88页10二、建立可进行二、建立可
5、进行SPECTRESPECTRE模拟模拟的单元文件的单元文件主窗口分为信息窗口CIW、命令行以及主菜单。信息窗口会给出一些系统信息(如出错信息,程序运行情况等)。在命令行中可以输入某些命令。主菜单包括:1、File菜单 2、Tools菜单 3、Options菜单2022-7-22共88页11File菜单菜单l在File菜单下,主要的菜单项有New、Open、Exit等lNew菜单项的子菜单下有Library、Cell view两项。Library项打开New Library窗口,Cell view项打开Create New File窗口。lOpen菜单项打开相应的Open File窗口。lEx
6、it项退出Cadence软件包。LibraryCellSchematicSymbolLayoutVerilog(View)2022-7-22共88页12Library,Cell以及以及View 1、library(库)的地位相当于文件夹,它用来存放一整个设计的所有数据,包括子单元(cell)以及子单元(cell)中的多种视图(view)。新建时注意选择是否链接新建时注意选择是否链接techfile。2、Cell(单元)可以是一个简单的单元,像一个与非门,也可以是比较复杂的单元(由symbol搭建而成)。3、View则包含多种类型,常用的有schemetic,symbol,layout,extr
7、acted,ivpcell等等,新建新建Cellview要注意选择要注意选择View的类型。的类型。2022-7-22共88页13Tools菜单菜单l在Tools菜单下,比较常用的菜单项有 lLibrary ManagerlLibrary Path EditorlTechnology File ManagerLibrary Manager项打开的是库管理器。在窗口的各部分中,分别显示的是Library、Category、Cell、View相应的内容。2022-7-22共88页14Library Path Editor可以对本用户的文件可以对本用户的文件路径进行修改路径进行修改Technolog
8、y File Manager基本上都是和工艺相关的功能和设置。比较常用的是Edit Layers 可以使用在版图编辑中,用来修改原始图层的一些属性。Library Path Editor&Technology File Manager2022-7-22共88页15Options菜单菜单lOptions菜单主要是对Cadence的一些参数进行调整和设置,如快捷键等。一般无需设置,直接使用默认值。2022-7-22共88页16三、编辑可进行三、编辑可进行SPECTRESPECTRE模拟模拟的单元文件的单元文件选择主窗口FileOpenOpen file,打开相应的Schematic View,即进
9、入了Composer-Schematic Editing 窗口,如右图所示。2022-7-22共88页17工具栏介绍工具栏介绍从上至下:1.Check and Save 2.Save3.Zoom in by 2 4.Zoom out by 2 5.Stretch s6.Copy c7.Delete Del8.Undo 9.Property q10.Instance i11.Wire(Narrow)w12.Wire(Wide)13.Wire Name l14.Pin p15.Cmd Options16.Repeat2022-7-22共88页18添加元器件添加元器件点击右边工具栏“Instance
10、”或快捷键“I”基本的元器件,如NMOS PMOS 电阻 电容 电压源 电流源 等等 都在analoglib库里。注意!注意!View要选择要选择symbol2022-7-22共88页19常用常用analoglib库的元器件库的元器件器件Cell 名称pnp管pnp电阻res地gnd电容cap直流电压源vdc电感ind直流电流源idcNMOSnmos4方波发生源vpulsePMOSpmos4可编程方波发生源vpwlnpn管npn正弦波发生源vsin2022-7-22共88页20元器件元器件symbol视图视图2022-7-22共88页21一些快捷键一些快捷键l 以下是一些常用的快捷键:i 添加
11、元件,即打开添加元件的窗口;缩小两倍;扩大两倍;w 连线(细线);f 全图显示;p 查看元件属性;m 整体移动(带连接关系);shift+m 移动(不带连接关系)。2022-7-22共88页22四、模拟仿真的设置四、模拟仿真的设置(重点重点)Composer-schematic界面中的Tools Analog Environment项可以打开Analog Design Environment 窗口,如右图所示。2022-7-22共88页23Analog Design Simulation菜单介绍菜单介绍Session菜单菜单Schematic Window Save State Load St
12、ate Options Reset Quit回到电路图保存当前所设定的模拟所用到的各种参数加载已经保存的状态一些显示选项的设置重置analog artist。相当于重新打开一个模拟窗口退出2022-7-22共88页24Setup菜单Setup菜单菜单Design Simulator/directory/host Temperature Model Library Environment选择所要模拟的线路图选择模拟使用的模型一般有cdsSpice hspiceS spectre等 设置模拟时的温度设置库文件的路径和仿真方式设置仿真的环境 (后仿真时需设置)2022-7-22共88页25Analy
13、ses菜单选择模拟类型。Spectre的分析有很多种,如右图,最基本的有tran(瞬态分析)dc(直流分析)ac(交流分析)。2022-7-22共88页26tran(瞬态分析)(瞬态分析)2022-7-22共88页27dc(直流分析)(直流分析)dc(直流分析)可以在直流条件下对temperature,Design Variable,Component Parameter,Model Parameter进行扫描仿真举例:对温度的扫描(测量温度系数)电路随电源电压变化的变化曲线等2022-7-22共88页28ac(交流分析)(交流分析)ac(交流分析)是分析电路性能随着运行频率变化而变化的仿真。
14、既可以对频率进行扫描也可以在某个频率下进行对其它变量的扫描。2022-7-22共88页29Variables菜单包括Edit等子菜单项。可以对变量进行添加、删除、查找、复制等操作。变量(variables)既可以是电路中元器件的某一个参量,也可以是一个表达式。变量将在参量扫描(parametric analysis)时用到。2022-7-22共88页30其它有关的菜单项(1)Tools/Parametric Analysis它提供了一种很重要的分析方法参量分析的方法,也即参量扫描。可以对温度,用户自定义的变量(variables)进行扫描,从而找出最合适的值。2022-7-22共88页31其它
15、有关的菜单项(2)Outputs/To be plotted/selected on schematicschematic子菜单用来在电路原理图上选取要显示的波形(点击连线选取节点电压,点击元件端点选取节点电流),这个菜单比较常用2022-7-22共88页32其它有关的菜单项(3)Outputs/Setup 当然我们需要输出的有时不仅仅是电流、电压,还有一些更高级的。比如说:带宽、增益等需要计算的值,这时我们可以在Outputs/setup中设定其名称和表达式。在运行模拟之后,这些输出将会很直观的显示出来。举个例子:标识3db的点,我们用到的表达式如下:bandwidth(VF(“/Out),
16、3,“low”)。需要注意的是:表达式一般都是通过计算器(caculator)输入的。Cadance自带的计算器功能强大,除了输入一些普通表达式以外,还自带有一些特殊表达式,如bandwidth、average等等。2022-7-22共88页33CalculatorCalculator的使用的使用Calculator是一个重要的数据处理工具,可以用来仿真电源抑制比,相位裕度,共模抑制比2022-7-22共88页34其它有关的菜单项(3)Results菜单2022-7-22共88页35模拟结果的显示以及处理在模拟有了结果之后,如果设定的output有plot属性的话,系统会自动调出wavefor
17、m窗口,并显示outputs的波形,如左图2022-7-22共88页36分模块模拟(建立子模块)l存在问题 在电路越来越复杂的情况下,存在许多重复单元,如果花时间分别去建立schamatic,明显会使工作更繁复。l解决方案 我们在建立了一个子电路后,可以将其看作一个整体,建立一个模块,即建立一个symbol(view name),放在用户自己库里的作为一个器件(component)来用,这样可以大大减小工作量、提高效率、简化设计。2022-7-22共88页37schematic和和symbol图图在Library Manager中分别建立cellview 的schematic(view)和sy
18、mbol(view),如下图所示。两者的Pin的名称必须一致,这样才能建立起一一对应的关系。2022-7-22共88页38建立子模块的方法建立子模块的方法1、直接建立在Library Manager中新建cell,在弹出的窗口的Tool项选择Composer-symbol,即建立的是symbol(view);用子菜单Add/Shape/Line和Add/Shape/Circle的命令画出所需的形状;用子菜单Add/label的命令添加标签instanceName;用子菜单Add/PIn的命令添加管脚用子菜单Add/Selection Box命令添加选择框。2、间接建立打开cell的schema
19、tic(view),用子菜单Design/Create Cellview/From Cellview命令。在弹出的窗口里输入相应的名称后,单击OK2022-7-22共88页39子模块的调用子模块的调用在Schematic中点击Add Instance。然后在Library中选中你的子模块所在的library,cellview,symbol。这样就可以调用你设计的子模块了。2022-7-22共88页40五、运算放大器仿真实例1、电路图的输入(共模反馈型运放),如下图所示:2022-7-22共88页412、建立Symbol图2022-7-22共88页423、仿真电路图示意2022-7-22共88页
20、434、运放小信号仿真示例l电源电压Vdc=3.3 V;l交流信号源acm=1 V;l负载电容Cload=5p F;l采用Spectre分析方式,选择交流分析(ac),设置如下:Sweep Variable:Frequency Sweep Range :1 Hz100M Hzl仿真完成后,点击 Result-Direct Plot-AC Gain&Phase 查看运放的幅频特性和相频特性 2022-7-22共88页44仿真结果?该运放直流增益为80.9dB,?单位增益带宽为82M Hz,相位裕度为67.32deg。2022-7-22共88页45相位裕度与负载电容的关系曲线仿真相位裕度与负载电容
21、的关系曲线仿真1、设置相位裕度输出,点击Outputs-Setup 其中运用了Candence函数PhaseMargin2022-7-22共88页46相位裕度与负载电容的关系曲线仿真相位裕度与负载电容的关系曲线仿真2、点击Tools-Parametric Analysis设置负载电容的扫描范围和扫描步长,其中Range Type选择From/To,Step Control选择Linear Steps2022-7-22共88页47相位裕度与负载电容的关系曲线仿真相位裕度与负载电容的关系曲线仿真3、点击Parametric Analysis中的Analysis-Start得到相位裕度与负载电容的关
22、系曲线如图:2022-7-22共88页485 运放直流仿真示例l目标:仿真输出电压与输入电压的变化曲线l方法:采用直流仿真(dc)l仿真参数设置 1、在仿真电路图中将信号源的输入 电压定义为变量Vin 2、在仿真环境界面中选择Variables -Copy From Cellview,将电路中设 置的变量集中在Design Variables栏中,初始化Vin和Cload变量,其中Vin=0 V,Cload=5p F 2022-7-22共88页493、设置dc仿真,其中Sweep Variable选择Design Variable,在Variable Name中填写Vin,Sweep Rang
23、e选择Start-Stop,Vin 的扫描范围为-1m V1m V2022-7-22共88页50l4、仿真结果(横坐标为输入电压,纵坐标为输出电压)如图我们可以看出:运放的输出摆幅大约为-2.55V2.55V2022-7-22共88页516、瞬态仿真示例l目标:通过仿真得到运放的摆率l方法:运用瞬态仿真,输入信号设置为电压脉冲,观察输出电压的变化情况l参数设置:输入信号源采用analoglib中的脉冲发生器vpwl,输入电压初始值为0 V,在10n s10.1n s跳变到4V Tran仿真时间为100n s 在电路图中选择输出变量,Outputs-To Be Plotted-Select On
24、 Schematic,在这里我们选择输入脉冲以及输出电压2022-7-22共88页52l仿真结果l如图我们可以计算得到:运放摆率SR=117 V/us2022-7-22共88页53附:附:Hspice 简介简介lAvant!StartHspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。l教材计算:采用Level 2的MOS Model Foundry:Level 49和Mos 9、EKV等l因此设计者除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre
25、等进行仿真,以便得到更精确的结果。2022-7-22共88页54Hspice的使用的使用l使用Hspice需要有hspice file(*.sp),它的来源主要有以下两种方式:(一)自己写 (二)由Cadence中的schematic文件得到2022-7-22共88页55*.sp文件的生成(文件的生成(1)创建需要进行仿真的电路,设定好各项参数,包括激励源的设置。2022-7-22共88页56*.sp文件的生成(文件的生成(2)选择Simulate/Directory/Host菜单仿真器选择hspiceS选择Model Path菜单设置库的路径2022-7-22共88页57*.sp文件的生成(
26、文件的生成(3)选择Analyses菜单下的choose项选择仿真类型(tran)Simulation-Netlist-Create FinalFile-Save As,输入存放的全路径2022-7-22共88页58运行运行Hspicel由于工作站版的Hspice没有license不能用,因此采用单机版的Hspice。版本是2019.2.22022-7-22共88页59修改修改*.sp文件文件在进行Hspice仿真之前,还要对刚刚生成的*.sp文件进行修改,如图所示,添加hspice的库文件和仿真精度(tt ff ss fs sf)注意:库文件的具体路径要写对,而且要是Hspice的库POST
27、 必须加上2022-7-22共88页60用用Hspice进行仿真进行仿真仿真查看错误信息波形查看器2022-7-22共88页61AvanWaves波形观察器波形观察器2022-7-22共88页62AvanWaves波形观察器波形观察器2022-7-22共88页63Spectre Verilog 数模混合仿真数模混合仿真lPush the limit of system performance Reduce parasitic Reduce I/O driving loads Exploit design space between blockslPush the limit of power
28、dissipation Reduce parasitic loads Reduce I/O driving currentslReduce the system sizeWhy Mixed-Signal Simulation?2022-7-22共88页64System in the Real World2022-7-22共88页65Mostly Applied Method of Mixed-Signal Design系统分成若干个芯片,每个芯片分开设计,再经电路板整合。2022-7-22共88页66IntegratedMixed-Signal Design2022-7-22共88页67Com
29、mercially Available SimulationEnvironmentslCadence ADE:VHDL/Verilog,Verilog-A,Spectre AMS:VHDL/Verilog,Verilog-A,VHDL/Verilog-AMS,Spice,SpectrelMentor Graphic ADVance MS(ModelSim+Eldo):C,VHDL/Verilog,Verilog-A,VHDL/Verilog-AMS,SpicelSynopsys Timemill:Transistor level Star-Sim:Transistor level VCS+Na
30、noSim:C,VHDL/Verilog,Verilog-A,SpicelDolphin Integration SMASH:ABCD,VHDL/Verilog,VHDL/Verilog-AMS,Spice2022-7-22共88页68Mixed-Signal Simulator 的基本结构的基本结构l以模拟电路仿真器为核心以模拟电路仿真器为核心 在处理数模混合电路时将数字部分等效为相应的简化的模拟电路、或采 用解析函数来表示逻辑模块的行为,然后对整个系统采用模拟电路的方法 进行模拟。优点:优点:模拟结果精确、能处理的电路规模比较大,模拟速度也有显著提高。缺点:缺点:比逻辑模拟器还是慢很多。l
31、同时包含模拟和数字两个仿真核同时包含模拟和数字两个仿真核 处理速度快,能处理的电路规模极大,但需要解决模拟仿真核和数字仿真 核之间的通信问题;另外,由于数字逻辑仿真器和模拟仿真器的输入、输 出数据是不一样的,还必须在模拟仿真核和数字仿真核之间实现模拟信号 和数字信号的相互转换。2022-7-22共88页69Creating Analog BlockCreate the schematic view of analog block,and create a symbol view for cell use2022-7-22共88页70Creating Digital Block2022-7-22
32、共88页71Create digital block symbolUse Add-Pin/Add-Shape to create digital block symbolThe pin name clkin and clkout must be the same as verilog text2022-7-22共88页72Creating a Mixed-Signal Schematic2022-7-22共88页73Create Config View for SimulationThe mixed-signal simulation hierarchy is controlled by Hi
33、erarchy-Editor which must be defined with config viewcell name is top circuit name for simulationview name will be set as configUse Create New File to create a new config view with Hierarchy-Editor2022-7-22共88页74Set New Configuration1.Choose Use Template sample information2.Choose spetreVerilog1233.
34、Change the view name to schematic for simulation 4.Click OK2022-7-22共88页75Open the Schematic Version of Config ViewOpen the schematic version of the config view of mix from the Library manager2022-7-22共88页76Set Block Partition开启hierarchy editor设定所使用的cell view显示所使用的cell view 及其颜色设定Schematic editor 中的
35、Hierarchy-Editor 及Mixed-Signal 两项Menu是由菜单Tools-Mixed Signal Opts.而产生的2022-7-22共88页77Set Block Partition(cont.)2022-7-22共88页78Check Block PartitionChange analog&digital stop views to match the stop views in your hierarchy editor(as below)2022-7-22共88页79Check Partition Results设定显示的颜色及项目显示所有模块划分的结果显示模拟
36、电路模块显示数字电路模块显示混合信号电路模块显示无法规类的电路模块清除所有显示内容2022-7-22共88页80Partition RequirementlThe design must contain at least one analog component.lThe design must contain at least one digital component.lThere must be with at least one interface net.lAnalog stimuli defined in the analog stimuli file cannot be used
37、 to drive digital net.lDigital stimuli defined in the digital stimuli file can not be used to drive analog net.lAny interface net must be identified before netlisting.2022-7-22共88页81Setup the analog/digital interfaceSelect:Mixed-Signal-Interface Elements-Instancethis tool is used to configure how th
38、e digital block reads analog inputs and how digital outputs are seen by analog cells(effective A/D and D/A).2022-7-22共88页82Setup the analog/digital interfaceMOS_a2d:A2D_V0 低电平 A2D_V1 高电平 A2D_TX:voltage between V0 and V1 after TX will yield a logic XMOS_d2a:Model ParametersD2A_VL:input low voltageD2A
39、_VH:input high voltageD2A_TR:rise time for low to highD2A_TF:fall time for high to low2022-7-22共88页83Setup Menu in Analog EnvironmentWith Setup window to define simulationinitialization setupChoose the simulatorDefine device model libraryDefine temperature2022-7-22共88页84Choosing Simulator/Directory/
40、Host选择选择SpectreVerilog2022-7-22共88页85Choose Analysis TypeInvoke the analysissetting windowFor Mixed-Signalsimulation,onlytran is meaningfulSet the simulation timeCheck this box to enable this simulation2022-7-22共88页86Submit the SimulationExecute the simulation job with Run,or create the netlist with Netliststart simulation2022-7-22共88页87Results其中 clk:数字模拟输入 DIGITAL_OUT:数字输出 ANALOG_OUT:模拟输出 2022-7-22共88页88THANK YOU!