hspice仿真整理教程文件
h s p i c e仿真整理
§电路级和行为级仿真
§直流特性分析、灵敏度分析
§交流特性分析
§瞬态分析
§电路优化(优化元件参数)
§温度特性分析
§噪声分析
例(Hspice netlist for the RC network circuit):
.title A SIMPLE AC RUN
.OPTIONS LIST NODE POST
.OP
.AC DEC 10 1K 1MEG
.PRINT AC V(1) V(2) I(R2) I(C1)
V1 1 0 10 AC 1
R1 1 2 1K
R2 2 0 1K
C1 2 0 .001U
.END
输出文件:一系列文本文件
?*.ic :initial conditions for the circuit
?*.lis :text simulation output listing
?*.mt0,*.mt1… :post-processor output for MEASURE statements
?*.pa0 :subcircuit path table
?*.st0 :run-time statistics
?*.tr0 ,*.tr1…:post-processor output for transient analysis
?*.ac0,*.ac1…: post-processor output for AC analysis
.TITLE 语句
.TITLE
或者:
如果是第二种形式,字符串应该是输入文件的首行;如果一个HSPICE语句出现在文件的首行,则它将被认为是标题而不被执行。
.END 语句
形式: .END
在 .END语句之后的文本将被当作注释而对模拟没有影响。
分隔符
?包括:tab键,空格,逗号,等号,括号
?元件的属性由冒号分隔,例如 M1:beta
?级别由句号指示,例如 X1.A1.B 表示电路X1的子电路A1的节点
B
常量
?M-毫,p-皮,n-纳,u-微,MEG-兆,
例如c1 1 2 10pF;
?单位可以省略,例如c1 1 2 10p
元件名
?元件名以元件的关键字母开头:电阻-R,电容-C……
?子电路的名字以“X”开头
?元件名不超过16个字符
节点
?节点名长度不超过16个字符,可以包括句号和扩展名
?开始的零将被忽略:
?节点名可以用下列符号开始:# _ ! %
?节点可以通过.GLOBAL语句定义成跨越所有子电路的全局节
点:.GLOBAL node1 node2 node3 …node1 node2 node3都是全局
节点,例如电源和时钟名
?节点0,GND, GND!, GROUND 都指全局的地电位节点
元件语句:器件的类型+名称器件所连接的节点参数值
无源器件:
?电阻:
Rxxx n1 n2
电阻值可以是表达式。例:
Rterm input gnd R=’sqrt(HERTZ)’
Rxxx 9 8 1 AC=1e10 直流电阻1欧姆,交流电阻为1e10欧姆
?电容:
一般形式:
Cxxx n1 n2
例,Cload driver output 1.0e-6。
?电感:
一般形式:
Lxxx n1 n2
有源器件:
?二极管:
Dxxx nplus nminus mname /params
模型中的寄生电阻串联在正极端。
?双极型晶体管:
Qxxx nc nb ne
?JFET:
Jxxx nd ng ns
子电路语句
? 子电路定义开始语句
.SUBCKT SUBNAM
其中,SUBNAM为子电路名,node1…为子电路外部节点号,不能为零。子电路中的节点号(除接地点),器件名,模型的说明均是局部量,可以和外部的相同。
例 .SUBCKT OPAMP 1 2 3 4
? 子电路终止语句
.ENDS
若后有子电路名,表示该子电路定义结束;若没有,表示所有子电路定义结束。例 .ENDS OPAMP
? 子电路调用语句
X*****
例 .Xopa1 a b c c OPAMP
激励源:
?独立源:
脉冲形式:Vxxx n+ n- PULS <(>v1 v2
V1 值1
V2 值2
td 上升延迟时间
tr 上升时间
tf 下降时间
pw 脉冲宽度
per 周期
例:VPU 3 0 PULSE(1 2 5N 5N 5N 20N 50N)
正弦形式:Vxxx n+ n- SIN <(> vo va
v0 失调值
va 幅度
freq 频率
td 延迟时间
q 阻尼因子
φ相位
得到的波形:
Time=0~td vo+va·sin(2πφ/360)
Time=td~瞬态分析的结束时间vo+ vaExp[-(Time- td)×θ]·Sin{2π·[freq(Time-td)+φ/360]}
例:VIN 3 0 SIN (0 1 100MEG 1NS 1e10)
逐段线性形式:
pwl <(> t1 v1 EXP <(> v1 v2 V1是初始值,v2是峰值,td1是上升延迟时间,t1是上升时间常数,t2是下降时间常数。 控制卡 是hspice输入文件的命令部分,告诉hspice要进行哪些操作和运算,并给出相关的参数——如分析方式、输出的变量等。其内容主要包括选项语句 (.OPTIONS)、分析命令语句、输出控制语句几类。这些语句格式的共同特点是都由保留字引导,后面跟随相应的参数,在保留字前要加“.” LIB 语句: .lib ‘ 该语句根据文件路径和文件名来调用一个库文件,一般该文件包含器件模型中的参数值。 例 .lib 'f:\spice\userlib\csmc.lib' bjt csmc.lib文件中: ··· .lib bjt .MODEL pnp20 pnp ··· .INCUDE语句:引用一个文件,被引用的文件置于引用文件前。 例: LNA .include “me98xxxx/model.sp“ ··· 直流分析仿真流程 .OP:直流工作点分析 会在输出文件中列出一些直流参数和各结点的工作点电压与支路电流、静态功耗。 .dc: 扫描:.DC 变量1扫描 <变量2扫描>··· 扫描:.DC var1 START STOP STEP/ 例:.DC xval 1k 10k .5k SWEEP TEMP LIN 5 25 125 . DC TEMP POI 5 0 30 50 100 125对前面反相器链的直流特性扫描:... VIN IN 0 .DC VIN 0 5V 0.1V(从0v到5v,步长0.1v) … 例:分析反相器链的直流传输特性和工作点 …… .global vdd .SUBCKT INV IN OUT wn=1.2u wp=1.2u …… .ENDS X1 IN 1 INV WN=1.2U WP=3U X2 1 2 INV WN=1.2U WP=3U X3 2 OUT INV WN=1.2U WP=3U CL OUT 0 1PF VCC VDD 0 5V VIN IN 0 .DC VIN 0 5V 0.1V .OP …… .END 小信号灵敏度分析:.SENS ov1 ov1,ov2是做灵敏度分析的支路电流或节点电压。 计算给出输出变量对于每个电路参数的偏导,并做归一化。同一输出变量对所有电路参数的灵敏度和为100% 小信号转移函数:.TF ov srcnam ov是输出变量,srcnam是输入源。 例 .TF V(5,3) VIN 计算V(5,3)/VIN 瞬态分析仿真流程 一般分析: .TRAN var1 START=start1 STOP=stop1 STEP=incr1 or .TRAN tincr1 tstop1 起始时刻和步长都指的是输出打印的时刻点,计算的时间步长由hspice自己决定。 UIC参数表示使用.IC语句指定的节点初始值。 例:.TRAN .1NS 25NS 1NS 40NS START=10NS 0-25ns,步长0.1ns,25ns-40ns,步长1ns;从10ns开始输出结果。 .TRAN .1NS 100N 以0.1ns的步长输出到100ns Fourier分析: .FOUR freq ov1 Freq-基频,ov1、ov2···-输出变量 例:CMOS INVERTER M1 2 1 0 0 NMOS W=20U L=5U M2 2 1 3 3 PMOS W=40U L=5U VDD 3 0 5 VIN 1 0 SIN 2.5 2.5 20MEG .MODEL NMOS NMOS LEVEL=3 CGDO=.2N CGSO=.2N CGBO=2N .MODEL PMOS PMOS LEVEL=3 CGDO=.2N CGSO=.2N CGBO=2N .OP .TRAN 1N 100N .FOUR 20MEG V(2) .PRINT TRAN V(2) V(1) .END 交流分析 .AC: 一般频域扫描: .AC type np fstart fstop or .AC type np fstart fstop or .AC var1 START = start1 STOP = stop1 STEP = incr1 例:.AC DEC 10 1K 100MEG 1kHz-100MHz,每10倍频10个采样点。 噪声分析: 用来计算各个器件的噪声对输出节点的影响并给出其均方根并输出,可完成.AC语句规定的各频率的计算,应在.AC分析之后。 .NOISE ovv srcnam inter Ovv-输出变量,srcnam-输入源,inter-频率间隔 例:.title ac sweep example .OPTIONS POST R1 in 1 5 C1 1 0 500pf V1 IN 0 0 AC=10V,37 .AC OCT 10 1 100MEG .noise v(1) v1 20--分析1点电压的噪声情况,噪声源为V1端口 .END 温度分析: 与直流或瞬态分析等命令结合使用:例如对反相器链瞬态特性的温度扫描: …… VIN IN 0 PULSE(0 5V 10NS 1N 1N 50N 100N) .TRAN 1N 200N sweep temp 0 125 20 .PRINT V(OUT) .END .TEMP t1 初始化: 瞬态分析的初始化语句 .IC var1=val1 直流分析的初始条件设定语句 .NODESET var1=val1 进行含有多稳态电路的模拟时往往需要给出初始化条件。 .OPTIONS: 该语句允许用户重新设置程序的参数或控制程序的功能。常用的一些如下: node: 列出个节点的元件端点,便于查错; post: 使输出数据可以使用 MetaWaves 浏览(即将数据输出到post processor) list: 列出元件列表; MEASDGT:.MEASURE语句输出的有效数字位数 例:.option post probe $MetaWaves只观察.probe语句输出的变量。 输出控制 输出语句: ?.PRINT:在输出的list文件中打印数字的分析结果,如果.OPTIONS 中有POST则同时输出到post-processor中。 ?.PLOT:在输出的list文件中打印低分辨率的曲线(由ASCII字符 组成),如果.OPTIONS中有POST则同时输出到post-processor 中。 ?.GRAPH:生成用于打印机或PostScript格式的高分辨率曲线。 ?.PROBE:把数据输出到post-processor,而不输出到list文件。 ?.MEASURE:输出用户定义的分析结果输出到.mtx文件,如 果.OPTIONS中有POST则同时输出到post-processor中。 ?.OP, .TF, .NOISE, .SENS和.FOUR都提供直接输出功能。 .PRINT: .PRINT antype ov1 Antype-AC/DC/TRAN; Ovi:输出变量,可以有以下形式: v(1): 节点1的电平,v(1, 2): 1、2间的电压,V(R1): 电阻R1的电压; vm(1): v1的幅值,vr(1): v1的实部,vi(1): v1的虚部,vp(1) v1的相位,vdb(1): v1的分贝值; (电流与以上类似); .PLOT: .PLOT antype ov1 < (plo1,phi1) > … (plo1,phi1)-ov1绘图的上下限。 .PROBE: .PROBE antype ov1 … 元件电流引用:BJT: I1(Qx)-Ic,I2(Qx)-Ib, I3(Qx)-Ie, I4(Qx)-衬底电流; MOS:I(Mx)-Ids。 .MEASURE: ?包括以下测量模式: ?Rise, fall, and delay ?Find-when ?Equation evaluation ?Average, RMS, min, max, and peak-to-peak ?Integral evaluation ?Derivative evaluation ?Relative error ?Rise,Fall,Delay模式: .MEASURE Result-测量结果的名字, TRIG … TARG -起始···中止(依分析内容不同可是时刻、频率···) -TRIG和TARG的格式 TRIG trig_ var VAL=trig_ val 或 TRIG AT=val TARG targ_var VAL=targ_val trig_var和targ_var指定引发变量;val指出上升、下降、或反转的临界点;time_delay指出开始测量时跳过的时间量;CROSS, RISE, FALL分别指出开始触发的次数;LAST说明到最后一次; 例 .meas tran tdlay trig v(1) val=2.5 td=10n rise=2targ v(2) val=2.5 fall=2 §电路级和行为级仿真 §直流特性分析、灵敏度分析 §交流特性分析 §瞬态分析 §电路优化(优化元件参数) §温度特性分析 §噪声分析 例(Hspicenetlist for the RC network circuit): .title A SIMPLE AC RUN .OPTIONS LIST NODE POST .OP .AC DEC 10 1K 1MEG .PRINT AC V(1) V(2) I(R2) I(C1) V1 1 0 10 AC 1 R1 1 2 1K R2 2 0 1K C1 2 0 .001U .END 输出文件:一系列文本文件 ?*.ic:initial conditions for the circuit ?*.lis:text simulation output listing ?*.mt0,*.mt1…:post-processor output for MEASURE statements ?*.pa0 :subcircuit path table ?*.st0 :run-time statistics ?*.tr0 ,*.tr1…:post-processor output for transient analysis ?*.ac0,*.ac1…: post-processor output for AC analysis .TITLE 语句 .TITLE IC课程设计报告 题目TSPC锁存器的设计与HSPICE仿真学院 专业 班级 学生姓名 日期 指导教师(签字) HSPICE简介 SPICE(Simulator Program with Integrated Circuit Emphasis,以集成电路为重点的模拟程序)模拟器最初于20世纪70年代在berkeley开发完成,能够求解描述晶体管、电阻、电容以及电压源等分量的非线性微分方程。SPICE 模拟器提供了许多对电路进行分析的方法,但是数字VLSI电路设计者的主要兴趣却只集中在直流分析(DC analysis)和瞬态分析(transient analysis)两种方法上,这两种分析方法能够在输入固定或实时变化的情况下对节点的电压进行预测。SPICE程序最初是使用FORTRAN语言编写的,所以SPICE就有其自身的一些相关特点,尤其是在文件格式方面与FORTRAN有很多相似之处。现在,大多数平台都可以得到免费的SPICE版本,但是,往往只有商业版本的SPICE 才就有更强的数值收敛性。尤其是HSPICE,其在工业领域的应用非常广泛,就是因为其具有很好的收敛性,能够支持最新的器件以及互连模型,同事还提供了大量的增强功能来评估和优化电路。PSPICE也是一个商业版本,但是其有面向学生的限制性免费版本。本章所有实例使用的都是HSPICE,这些实例在平台版本的SPICE中可能不能正常运行。 虽然各种SPICE模拟器的细节随着版本和操作平台的不同而各不相同,但是所有版本的SPICE都是这样工作的:读入一个输入文件,生产一个包括模拟结果、警告信息和错误信息的列表文件。因为以前输入文件经常是以打孔卡片盒的方式提供给主机的,所以人们常常称输入文件为SPICE“卡片盒(deck)”,输入文件中的每一行都是一张“卡片”。输入文件包含一个由各种组件和节点组成的网表。当然输入文件也包含了一些模拟选项、分析指令以及器件模型。网吧可以通过手工的方式输入,也可以从电路图或者CAD工具的版图(layout)中提取。 一个好的SPICE“卡片盒”就好像是一段好的软件代码,必须具有良好的可读性、可维护性以及可重用性。适当地插入一些注释和空白间隔有助于提高“卡片盒”的可读性。一般情况下,书写SPICE“卡片盒”的最好方法就是:先找一个功能完备、正确的“卡片盒”范例,然后在此基础上对其进行修改。 Hspice简明手册 Hspice简明手册 Hspice是一个模拟电路仿真软件,在给定电路结构和元器件参数的条件下,它可以模拟和 计算电路的各种性能。用Hspice分析一个电路,首先要做到以下三点: (1)给定电路的结构(也就是电路连接关系)和元器件参数(指定元器件的参数库); (2)确定分析电路特性所需的分析内容和分析类型(也就是加入激励源和设置分析类 型); (3)定义电路的输出信息和变量。 Hspice规定了一系列输入,输出语句,用这些语句对电路仿真的标题,电路连接方式,组 成电路元器件的名称,参数,模型,以及分析类型,以及输出变量等进行描述。 一Hspice输入文件的语句和格式 Hspice输入文件包括电路标题语句,电路描述语句,分析类型描述语句,输出描述语句, 注释语句,结束语句等六部分构成,以下逐一介绍: 1 电路的标题语句 电路的标题语句是输入文件的第一行,也成为标题行,必须设置。它是由任意字母和字 符串组成的说明语句,它在Hspice的title框中显示。 2 电路描述语句 电路描述语句由定义电路拓扑结构和元器件参数的元器件描述语句,模型描述语句和电 源语句等组成,其位置可以在标题语句和结束语句之间的任何地方。(1)电路元器件 Hspice要求电路元器件名称必须以规定的字母开头,其后可以是任意数字或字母。除 了名称之外,还应指定该元器件所接节点编号和元件值。 电阻,电容,电感等无源元件描述方式如下: R1 1 2 10k (表示节点1 与2 间有电阻R1,阻值为10k 欧) C1 1 2 1pf (表示节点1 与2 间有电容C1,电容值为1pf) L1 1 2 1mh (表示节点1 与2 间有电感L1,电感值为1mh) 半导体器件包括二极管,双极性晶体管,结形场效应晶体管,MOS 场效应晶体管等, 这些半导体器件的特性方程通常是非线性的,故也成为非线性有源元件。在电路CAD工具 进行电路仿真时,需要用等效的数学模型来描述这些器件。 (a)二极管描述语句如下: 电路模拟实验专题 实验文档 一、简介 本实验专题基于SPICE(Simulation Program With Integrated Circuit)仿真模拟,讲授电路模拟的方法和spice仿真工具的使用。 SPICE仿真器有很多版本,比如商用的PSPICE、HSPICE、SPECTRE、ELDO,免费版本的WinSPICE,Spice OPUS等等,其中HSPICE和SPECTRE功能更为强大,在集成电路设计中使用得更为广泛。因此本实验专题以HSPICE和SPECTRE作为主要的仿真工具,进行电路模拟方法和技巧的训练。 参加本实验专题的人员应具备集成电路设计基础、器件模型等相关知识。 二、Spice基本知识(2) 无论哪种spice仿真器,使用的spice语法或语句是一致的或相似的,差别只是在于形式上的不同而已,基本的原理和框架是一致的。因此这里简单介绍一下spice的基本框架,详细的spice语法可参照相关的spice教材或相应仿真器的说明文档。 首先看一个简单的例子,采用spice模拟MOS管的输出特性,对一个NMOS管进行输入输出特性直流扫描。V GS从1V变化到3V,步长为0.5V;V DS从0V变化到5V,步长为0.2V;输出以V GS为参量、I D与V DS之间关系波形图。 *Output Characteristics for NMOS M1 2 1 0 0 MNMOS w=5u l=1.0u VGS 1 0 1.0 VDS 2 0 5 .op .dc vds 0 5 .2 Vgs 1 3 0.5 .plot dc -I(vds) .probe *model .MODEL MNMOS NMOS VTO=0.7 KP=110U +LAMBDA=0.04 GAMMA=0.4 PHI=0.7 .end 描述的仿真电路如下图, 第一章概 论 §1.1 HSPICE简介 随着微电子技术的迅速发展以及集成电路规模不断提高,对电路性能的设计要求越来越严格,这势必对用于大规模集成电路设计的EDA工具提出越来越高的要求。自1972年美国加利福尼亚大学柏克莱分校电机工程和计算机科学系开发的用于集成电路性能分析的电路模拟程序SPICE (Simulation Program with ICEmphasis)诞生以来,为适应现代微电子工业的发展,各种用于集成电路设计的电路模拟分析工具不断涌现。HSPICE是MetaSoftware公司为集成电路设计中的稳态分析,瞬态分析和频域分析等电路性能的模拟分析而开发的一个商业化通用电路模拟程序,它在柏克莱的SPICE(1972年推出),MicroSim公司的PSPICE(1984年推出)以及其它电路分析软件的基础上,又加入了一些新的功能,经过不断的改进,目前已被许多公司、大学和研究开发机构广泛应用。HSPICE可与许多主要的EDA设计工具,诸如Candence,Workview等兼容,能提供许多重要的针对集成电路性能的电路仿真和设计结果。采用HSPICE软件可以在直流到高于100MHz的微波频率范围内对电路作精确的仿真、分析和优化。在实际应用中,HSPICE能提供关键性的电路模拟和设计方案,并且应用HSPICE进行电路模拟时,其电路规模仅取决于用户计算机的实际存储器容量。 §1.2 HSPICE的特点与结构 HSPICE除了具备绝大多数SPICE特性外,还具有许多新的特点,主要有: 优越的收敛性 精确的模型参数,包括许多Foundry模型参数 层次式节点命名和参考 基于模型和库单元的电路优化,逐项或同时进行AC,DC和瞬态分析中的优化 具备蒙特卡罗(Monte Carlo)和最坏情况(worst-case)分析 对于参数化单元的输入、出和行为代数化 具备较高级逻辑模拟标准库的单元特性描述工具 对于PCB、多芯片系统、封装以及IC技术中连线间的几何损耗加以模拟 在HSPICE中电路的分析类型及其内部建模情况如图1.2.1和图1.2.2所示: IC课程设计报告 题目 TSPC锁存器的设计与HSPICE仿真学院 专业 班级 学生姓名 日期 指导教师(签字) HSPICE简介 SPICE(Simulator Program with Integrated Circuit Emphasis,以集成电路为重点的模拟程序)模拟器最初于20世纪70年代在berkeley开发完成,能够求解描述晶体管、电阻、电容以及电压源等分量的非线性微分方程。SPICE 模拟器提供了许多对电路进行分析的方法,但是数字VLSI电路设计者的主要兴趣却只集中在直流分析(DC analysis)和瞬态分析(transient analysis)两种方法上,这两种分析方法能够在输入固定或实时变化的情况下对节点的电压进行预测。SPICE程序最初是使用FORTRAN语言编写的,所以SPICE就有其自身的一些相关特点,尤其是在文件格式方面与FORTRAN有很多相似之处。现在,大多数平台都可以得到免费的SPICE版本,但是,往往只有商业版本的SPICE 才就有更强的数值收敛性。尤其是HSPICE,其在工业领域的应用非常广泛,就是因为其具有很好的收敛性,能够支持最新的器件以及互连模型,同事还提供了大量的增强功能来评估和优化电路。PSPICE也是一个商业版本,但是其有面向学生的限制性免费版本。本章所有实例使用的都是HSPICE,这些实例在平台版本的SPICE中可能不能正常运行。 虽然各种SPICE模拟器的细节随着版本和操作平台的不同而各不相同,但是所有版本的SPICE都是这样工作的:读入一个输入文件,生产一个包括模拟结果、警告信息和错误信息的列表文件。因为以前输入文件经常是以打孔卡片盒的方式提供给主机的,所以人们常常称输入文件为SPICE“卡片盒(deck)”,输入文件中的每一行都是一张“卡片”。输入文件包含一个由各种组件和节点组成的网表。当然输入文件也包含了一些模拟选项、分析指令以及器件模型。网吧可以通过手工的方式输入,也可以从电路图或者CAD工具的版图(layout)中提取。 一个好的SPICE“卡片盒”就好像是一段好的软件代码,必须具有良好的可读性、可维护性以及可重用性。适当地插入一些注释和空白间隔有助于提高“卡片盒”的可读性。一般情况下,书写SPICE“卡片盒”的最好方法就是:先找一个功能完备、正确的“卡片盒”范例,然后在此基础上对其进行修改。 二、要与要求 在两相时钟技术中,必须十分小心的对两个时钟信号进行布线以保证它们的 Hspice语法手册 天津大学电信学院 陈力颖 Preface 最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。联系方式为e-mail: nkchenliy@https://www.360docs.net/doc/c47773159.html,。 目录 一、HSPICE基础知识 (2) 二、有源器件和分析类型 (3) 三、输出格式和子电路 (4) 四、控制语句和OPTION语句 (6) 五、仿真控制和收敛 (7) 六、输入语句 (8) 七、统计分析仿真 (9) 天津大学电信学院 陈力颖 2006年2月 一、HSPICE基础知识 Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工 具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一 般书籍都采用Level 2的MOS Model进行计算和估算,与Foundry经常提供的Level 49 和Mos 9、EKV等Library不同,而以上Model要比Level 2的Model复杂的多,因此 Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件 Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,以便建立 IC设计的基本概念。文章还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运 行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析 文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的 输入文件用来显示波形。 表1 Hspice所使用的单位 单位缩写含义 F(f) 1e-15 P(p) 1e-12 N(n) 1e-10 U(u) 1e-06 M(m) 1e-03 K(k) 1e+03 Meg(meg) 1e+06 G(g) 1e+09 T(t) 1e+12 DB(db) 20log10 注:Hspice单位不区分大小写 独立电压和电流源包括: 1. 直流源(DC): 电路原理图设计及Hspice仿真 实验报告 学生姓名: 学号: 指导老师: 实验内容: 用EDP原理图设计软件设计出两级运算放大器的电路图 用Hspice软件完成此两级运算放大器的仿真 实验地点:***实验室 实验时间:2009年9月——2009年12月 实验任务: 根据运算放大器的设计要求(单位增益带宽、相位裕量、输入等效噪声、功耗等),选择电路结构,详细分析了CMOS 运算放大器的所有性能参数,使用Level one 模型进行手工计算,设计出器件的几何尺寸,最后通过Hspice 仿真软件给出了性能指标的仿真结果。 实验思路: 两级运放可以同时实现较高增益和较大输出摆幅,其设计思路是将增益和摆幅要求分别处理,而不是在同一级中兼顾增益与摆幅。即运用第一级放大器得到高增益,可以牺牲摆幅,第二级放大器主要实现大输出摆幅,以补偿第一级牺牲的摆幅,并进一步提升增益,从而克服了单级运放增益与摆幅之间的矛盾,同时实现高增益和大摆幅。 实验指标: 开环增益≥80DB; 共模抑制比≥60DB; 相位裕度≥60°; 实验步骤: 一、用EDP原理图设计软件设计两级运算放大器的电路图,电路图如图一所示: 图一:CMOS两级运算放大器电路图 1、电路工作原理: 信号由差分对管两端输入,差模电压被转化为差模电流,差模电流作用在电流镜负载上又转化成差模电压,信号电压被第一次放大后被转化为单端输出,随即进入共源级再一次被放大后从漏端输出。电路特点是通过两级结构可以同时满足增益和输出摆幅的要求,即第一级提供高增益,可以牺牲摆幅,第二级弥补摆幅,同时进一步增大增益。 2、电路主体结构 由两个两个单级放大器构成,分别是:差分输入级和共源增益级。辅助电路为偏置电路和频率补偿电路。差分输入级采用PMOS 输入对管,NMOS 电流镜负载;共源级采用NMOS 放大管,PMOS 负载管;由六个MOS 管和一个电阻构成的电流源为两级放大电路提供偏置,另外还为频率补偿MOS 管提供偏压;一个NMOS 管和一个电容构成频率补偿电路,连接在共源级的输入输出之间作为密勒补偿。图一中分别命名为M1到M13。 HSPICE介绍 1、为什么要使用Hspice进行电路仿真 Avant! Star_Hspice(Synopsys公司)是IC设计中最长用的仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一般的书籍中都采用比较简单的MODEL对MOS 电路进行计算和估算。而工艺厂商提供的MODEL往往要高级的多、复杂的多。因此设计者除了利用书本上的公式对电路进行估算外,还需要使用更高级的MODEL对电路进行精确的仿真,这就有赖于仿真工具的使用,如Hspice,Spectre。 2、Hspice仿真的流程 3、Hspice所使用的单位(不区分大小写) 4、输入文件格式(.net /.sp) 5、电路元器件在Hspice文件中的表示方法 在器件名字前面加上前缀字符,即可被Hspice程序识别,如:MOS器件前缀为:M BJT器件前缀为:Q Diode器件前缀为:D 子电路的前缀为:X 电阻、电容、电感的前缀分别为R、C、L 下面表示一个器件名为M1的MOS管 MM1 ND NG NS NB MNAME L=VAL W=VAL M=VAL 下面表示一个器件名为C1的电容 CC1 net1 net2 1pf 定义子电路的语句如下: .SUBCKT SUBNAM(子电路的名字) 1 2 3 4(子电路外部节点)例子: .SUBCKT 2NAND 1 2 3 (描述电路结构) .ENDS 2NAND 调用子电路时,使用X前缀加实例名,将SUBCKT实例化,如: .XOPAMP1 4 5 6 OPAMP 6、信号源描述(激励描述): 电压源-V,电流源-I Vxxx/Ixxx n+ n- < 电路模拟实验专题 实验文档 一、简介 Simulation Program With Integrated Circuit)仿真模拟,SPICE(本实验专题基于讲授电路模拟的方法和spice仿真工具的使用。 SPICE仿真器有很多版本,比如商用的PSPICE、HSPICE、SPECTRE、ELDO,免费版本的WinSPICE,Spice OPUS等等,其中HSPICE和SPECTRE功能更为强大,在集成电路设计中使用得更为广泛。因此本实验专题以HSPICE和SPECTRE作为主要的仿真工具,进行电路模拟方法和技巧的训练。 参加本实验专题的人员应具备集成电路设计基础、器件模型等相关知识。 二、Spice基本知识(2) 无论哪种spice仿真器,使用的spice语法或语句是一致的或相似的,差别只是在于形式上的不同而已,基本的原理和框架是一致的。因此这里简单介绍一下spice的基本框架,详细的spice 语法可参照相关的spice教材或相应仿真器的说明文档。 首先看一个简单的例子,采用spice模拟MOS管的输出特性,对一个NMOS管进行输入输出特性直流扫描。V从1V变化到3V,步长为0.5V;V从0V变化到5V,步长为DSGS0.2V;输出以V为参量、I与V之间关系波形图。DSGSD *Output Characteristics for NMOS M1 2 1 0 0 MNMOS w=5u l=1.0u VGS 1 0 1.0 VDS 2 0 5 .op .dc vds 0 5 .2 Vgs 1 3 0.5 .plot dc -I(vds) .probe *model .MODEL MNMOS NMOS VTO=0.7 KP=110U +LAMBDA=0.04 GAMMA=0.4 PHI=0.7 .end 描述的仿真电路如下图, 图2-1 MOS管输入输入特性仿真电路图 得到的仿真波形图如下图。 程序中可以知道spice电路描述的主要组成部分。从这个简单的spice 标题和电路结束语句(1)在输入的电路描述语句中输入的第一条语句必须是标题语句,最后一条必须是结束语句。在本例中, ←标题*Output Characteristics for NMOS ……. ……结束语句←.end 2电路描述语句)(器件模型等描述,另激励源、电路描述语句描述电路的组成和连接关系,包括元器件、外,如果电路是层次化的,即包含子电路,电路描述部分还包括子电路描述(。).subckt元器采用不同的关键字作为元件名的第一个字母,要根据类型,在描述元器件时,NMOS件关键字见下表。如本例中,管的描述为:M1 2 1 0 0 MNMOS w=5u l=1.0u 表示的意思为: 元器件关键字x D G S B 模型名宽=xx 长=xx 其中D:漏结点;G:栅结点;S:源结点;B:衬底结点。 ASIC课程设计MOS 输出级电路设计与Hspice仿真 目录 一.背景介绍................................... 错误!未定义书签。二.设计要求与任务................................ 错误!未定义书签。三.电路原理及设计方法............................ 错误!未定义书签。1.电阻负载共源级放大器电路原理分析..............错误!未定义书签。2.有源负载共源放大器设计方法....................错误!未定义书签。四.HSpice软件环境概述............................ 错误!未定义书签。1.简介 .........................................错误!未定义书签。2.特点 .........................................错误!未定义书签。3.界面预览 .....................................错误!未定义书签。五.设计过程...................................... 错误!未定义书签。六.结果和讨论.................................... 错误!未定义书签。七.设计心得...................................... 错误!未定义书签。八.库文件程序附录................................ 错误!未定义书签。 Hspice常见子电路集锦 TDR_differential source: .subcktTDR_SOURCE+Ro+Cable D+_SOURCE D-_SOURCE Vin1 1 0 pulse(0 1 0 100e-12) *positive source voltage Rin1 1 2 50 * positive source voltage internal resistance T1 2 0 D+_SOURCE 0 Zo=50 Td=200e-12 *TDR positive port 50ohm cable Vin2 4 0 pulse(0 -1 0 100e-12) *negative source voltage Rin2 4 5 50 * negative source voltage internal resistance T2 5 0 D-_SOURCE 0 Zo=50 Td=200e-12 *TDR negative port 50ohm cable .ends * TDR_differential termination .subcktTDR_Termination_R D+_T_R D-_T_R RD+ D+_T_R 0 50 RD- D-_T_R 0 50 .ends 统计眼图分析步骤: *Incident port definitions p1tx_in+ tx_in- 0 port=1 p2 in 0 port=2 Probe port definitions p3rxout+ rxout- 0 port=3 p4 out 0 port=4 Analysis statement .stateye T = 400p trf=20p + incident_Port= 1, 2 + probe_port = 3, 4 + Rj = 5p, 5p, 2p, 2p tran_init = 50 + T_resolution = 300 V_resolution = 300 Print, probe, and measure statements .print stateyeeye(4) .print stateyeber(3) .print stateyebathtubV(3, 0.9) .print stateyebathtubT(4, 1n) .probe stateyeeye(4) .probe stateyeber(3) .probe stateyebathtubV(3, 0.9) icfb的使用说明 实验室上机 如果选择到微电子所开放实验室上机,用自己的用户名和密码进入Linux操作系统后,在桌面上点击鼠标右键,选择New Terminal启动一个命令行窗口,如图1所示。 图1 1.1远程登录 如果选择远程登录方式,可以参考下面的步骤。 1安装远程登录软件 例如Xmanager 1.3.9。 2配置远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xconfig;设置Window模式为Multiple Window Mode,Background选则X window background(transparent), Window Manager选则Local Only;设置XDM为Do not Use XDM(Passive). 点击[确定],如图2。 3运行远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xstart;Name选择xterm,Host输入166.111.77.10,Protocol选择SSH,点击Run,即可用自己的用户名和密码登录服务器,登录成功后也会打开一个命令行窗口,如图3。 图2 图3 1.2文件上传或下载 可以用自己的用户名和密码访问ftp://166.111.77.10,用于上传或下载自己的数据和文档。 注意,对于上传的网表(例如inv.sp)等文件,最好都运行一下dos2unix命令以确保文件转换为Unix格式,方法是在命令行窗口中输入命令dos2unix inv.sp,如图4。 图4 2创建工作环境 如果是第一次使用,需要按以下步骤创建工作环境。如果是继续以前的工作,则直接按2.2节的步骤进入工作目录,启动设计软件即可。 2.1创建工作目录 创建工作目录:在命令行窗口中输入命令mkdir project 。 创建验证目录:在命令行窗口中输入命令mkdir project/verify 。 注意,所有设计工作、软件启动都在目录~/project下进行,所有版图验证工作都在目录~/project/verify下进行,不要在其它目录下进行。 设置SMIC工艺库环境:输入命令cp ~chby1/project/cds.lib ~/project,如图5。 图5 2.2启动设计软件 进入工作目录:输入命令cd project 。 启动设计软件icfb:输入命令icfb & ,弹出如图6所示的CIW窗口。 点击菜单File→Exit可以退出icfb软件。 图6 2.3创建设计库 创建自己的设计库:在CIW窗口中点击菜单File→New→Library;在弹出的对话框中,Library IC610设计系统使用指南 一、远程登录服务器的方法: 1 安装Xmanager X桌面服务器软件: 2 运行Xmanager-Passive程序,运行成功在桌面底部任务栏应该有X形图标: 3 拷贝(绿色,不需要安装)putty远程登录软件,运行之: 4 设置登录服务器的IP地址(10.22.68.163),注意只能在校园网内可以连接,公网不能连接: 5 设置X11使能:(connection-SSH-X11: Enable X11 forwarding打勾): 6 按Open以后进入登录窗口: 在光标处输入用户名(s学号: 如s084774408),回车,输入密码(注意密码不回显,也无星号显示) 登录成功: 7 接下来就可以运行软件了 8 运行nautilus 可以打开文件管理器 运行gterm可以打开另一个终端 二、进入IC设计系统和建立的方法 9 进入design/ic610/ 并运行icfb& 可以打开IC设计系统 cd design/ic610 icfb& 10 运行成功出现Virtuosoo的窗口(ICW): 11 ,打开库管理器 12 库管理器有三栏,分别是设计库(library)、设计单元(cell)、设计视图(View),一个设计库可以包含多个设计单元,每个单元又有多个视图: 13 选择菜单File→New→Library…,可以创建一个设计库: 14 在新建设计库的对话框中,输入设计的名字,选择存放的位置,即可OK 15 一般我们将新建的设计库与现有的工艺库相关联,也就是使用现有的工艺作为设计的基础,所以这里要选择Attach to an existing technology library这一项,即可OK。 16 接下来就是选择需要关联哪个工艺库,在这里我们使用45nm工艺来设计,所以要选择工艺库 作为关联工艺库。 17 回到库管理器,这里选择刚刚建立的设计库,就可以进行建立单元的操作。 18 选择菜单File→New→Cell View…可以创建一个单元,同时也创建了它的一个视图(一般我们可以创建layout(版图), schematic(原理图), symbol(符号图)等视图。 19 这里我们先创建一个单元(Cell) INV,视图类型(Type)选择schematic(View这一栏会自动生成,当然也可以更改),其他不动,OK 三、原理图编辑方法 20 进入原理图编辑器(Schematic Editor L),即可进行原理图的设计 Hspice 简明手册 Hspice是一个模拟电路仿真软件,在给定电路结构和元器件参数的条件下,它可以模拟和计算电路的各种性能。用Hspice分析一个电路,首先要做到以下三点:(1)给定电路的结构(也就是电路连接关系)和元器件参数(指定元器件的参数库); (2)确定分析电路特性所需的分析内容和分析类型(也就是加入激励源和设置分析类型); (3)定义电路的输出信息和变量。 Hspice规定了一系列输入,输出语句,用这些语句对电路仿真的标题,电路连接方式,组成电路元器件的名称,参数,模型,以及分析类型,以及输出变量等进行描述。 一Hspice输入文件的语句和格式 Hspice输入文件包括电路标题语句,电路描述语句,分析类型描述语句,输出描述语句,注释语句,结束语句等六部分构成,以下逐一介绍: 1 电路的标题语句 电路的标题语句是输入文件的第一行,也成为标题行,必须设置。它是由任意字母和字符串组成的说明语句,它在Hspice的title框中显示。 2 电路描述语句 电路描述语句由定义电路拓扑结构和元器件参数的元器件描述语句,模型描述语句和电源语句等组成,其位置可以在标题语句和结束语句之间的任何地方。 (1)电路元器件 Hspice要求电路元器件名称必须以规定的字母开头,其后可以是任意数字或字母。除了名称之外,还应指定该元器件所接节点编号和元件值。 电阻,电容,电感等无源元件描述方式如下: R1 1 2 10k (表示节点1与2间有电阻R1,阻值为10k欧) C1 1 2 1pf (表示节点1与2间有电容C1,电容值为1pf) L1 1 2 1mh (表示节点1与2间有电感L1,电感值为1mh) 半导体器件包括二极管,双极性晶体管,结形场效应晶体管,MOS场效应晶体管等,这些半导体器件的特性方程通常是非线性的,故也成为非线性有源元件。在电路CAD工具进行电路仿真时,需要用等效的数学模型来描述这些器件。 (a)二极管描述语句如下: DXXXX N+ N- MNAME 设计一·四路与非电路的Hspice设计。 设计二·一位全加器电路的Hspice设计。 专业电子科学与技术 学号 学生姓名 指导老师汪再兴 设计一·四路与非门的设计 一·设计目的: 1、学习使用电路设计与仿真软件HSPICE ,练习用网表文件来描述模拟电路,并熟悉应用HSPICE 内部元件库; 2、熟悉用MOS 器件来设计四位逻辑输入与非门电路。 二·原理(说明) 1.与非门 与非门是与门和非门的结合,先进行与运算,再进行非运算。与运算输入要求有两个,如果输入都用0和1表示的话,那么与运算的结果就是这两个数的乘积。如1和1(两端都有信号),则输出为1;1和0,则输出为0;0和0,则输出为0 2.4路与非门结构及原理: A D C B 当输入端A 、B 、C 、D 中只要有一个为低电平时,就会使与它相连的NMOS 管截止,与它相连的PMOS 管导通,输出为高电平;仅当A 、B 、C 、D 全为高电平时,才会使四个串联的NMOS 管都导通,使四个并联的PMOS 管都截止,输出为低电平。 4路与非门mos管的电路图: 三·设计过程: Hspice要进行仿真的时候,应事先编写好网表文件,再通过导入网表文件进行仿真。 输入的网表文件(.sp)包含以下内容: (1)电路网表(子电路和宏,电源等) (2)声明所要使用的库 (3)说明要进行的分析 (4)说明所要求的输出 输入的网表文件和库文件可以由原理图的网表生成器或者文本编写产生。输入的网表文件中的第一行必须是标题行,并且.ALTER辅助模型只能出现在文件最后的.end语句之前,除此之外,其他语句可任意排列。 通过文本编写好的网表文件如下 4NAND CMOS .OPTIONS LIST NODE POST .OP .TRAN 200P 60N M1 OUT 4 VCC VCC PCH L=1U W=20U package model的那些事儿(全文完) 来源:https://www.360docs.net/doc/c47773159.html,/bbs/thread-3185-1-1.html 写在前面的废话: 最近一直在捣鼓着IBIS5.0的spec,希望能在里面挖点金子出来,这不,一下子瞅见了眼生的[package model],于是乎,对它产生了很大的兴趣。以前在仿真中关于package一般只调用模型的[package]参数,或者[PIN]里面的参数,但是从来没用过[package model]这个东东,更何况在大多数IBIS模型里难觅它的踪影。为了一睹它的芳容,我们就来讲述下它的故事。 首先感谢下Triton版主的大力帮忙,Triton版主是个新好男人,耐心细致,哈哈。另外本文仅仅为个人学习总结,水平有限,文中难免会有错误之处,还请各位童鞋们和大侠们不吝赐教,多谢关注。 最后声明本文由作者亲作,如有雷同,实属荣幸,请需要转的童鞋务必注明来自https://www.360docs.net/doc/c47773159.html,论坛。 好了,废话结束,也不知道大家对这个话题有没有热情,要是大家都感兴趣的话就准备开掰。 ——阿笨2012.1.6 先给个概要: 1. [package] [pin] [package model]的“爱恨情仇” 2. [package model]的自述 3. 用hspice调用package参数的区别 1. [package] [pin] [package model]的“爱恨情仇” 那我们就从[package]说起吧,首先来一段[package]的示例,图1 再来看一张[package]的介绍,图2 从图片中我们可以看出关于[package]的作用,它是定义关于R_pkg,L_pkg, C_pkg参数的一个字段,这里定义的参数是一个笼统的数,为什么说它是笼统的呢,是因为它只有一组数就把器件所有的PIN脚都包括了,这显然是为了图省事嘛,人家双胞胎生出来还有差异呢,凭啥你说这么多PIN脚的寄生参数都一样呢,这种参数模型仿出来的结果肯定和实际情况差的有点远。一般大的IC厂家都不会只弄这么一组数来忽悠客户的,这样也太砸自己的招牌了。于是乎,[pin]字段闪亮登场了。 按照惯例,先来看一张[pin]字段的例子,图3 接着看一下[pin]字段的introduction,图4 上图的描述里我们可以看出[pin]字段不仅仅描述了每个PIN脚的package参数,同时也描述了管脚的编号,管脚的信号名称,管脚的模型名称,包含的内容还是蛮多的。由于[PIN]字段里的package信号具体到了每个管脚,不像[package]一组数据打天下,所以用它仿真出来的结果还算勉勉强强接近实际,所以大家看到的ibis模型里既有[package]字段数据,又有[pin]字段数据的比较多。刚才说到为什么[pin]字段仿真出来的结果是勉勉强强接近实际呢,这是因为[pin]字段和[package]字段一样,仅仅用一阶的RLC电路来描述整个package的特性,可能在频率不太高的情况下可以做个参考,但是到了高频后这显然是不够的,PIN与PIN之间的耦合信息,IC内部的bondwire信息等等全部没有。有人会说用3D全波电磁场建模可以解决问题,当然能这么做是最好了,可惜往往事与愿违,package的3D模型不是每个厂家都能提供的。而让手头仅有的资源发挥出最大的作用是我们可以做的事情,同时ibis模型也祭出了绝招,那就是[package model]!!! 这次我们不给示例,先看下[package model]在IBIS5.0的spec里的说明,图5 大家看到这个说明几句话就结束了,都没看明白写的啥意思是吧,咱们暂时先不急,关于[package model]的内容我们第2章在来详细说明,接下来我们该说说[package] [pin] [package model]的“爱恨情仇”了。 一、HSPICE基础知识 Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一般书籍都采用Level 2的MOS Model进行计算和估算,与Foundry 经常提供的Level 49和Mos 9、EKV等Library不同,而以上Model要比Level 2的Model复杂的多,因此Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立IC设计的基本概念。在文章的最后还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。 表1 Hspice所使用的单位 独立电压和电流源包括: 1. 直流源(DC): 电压源Vxxx n+ n- dcval 电流源 Ixxx n+ n- dcval 2. 交流源(AC):Vxxx n+ n- AC=acmag,acphase 3. 瞬态源(随时间变化): 脉冲源:pulse v1 v2 td tr tf pw per 线性源:pwl t1 v1 <)> vi是ti时刻的值,repeat 是开始重复的起始点;delay是延迟时间。指数形式: hspice仿真整理
TSPC锁存器的设计与HSPICE仿真
Hspice 简明手册
(完整版)HSPICE与CADENCE仿真规范与实例..
Hspice(中文实用版)
TSPC锁存器的设计与HSPICE仿真设计
hspice语法手册
电路原理图设计及Hspice仿真
CMOS实验课1HSPICE介绍
完整版HSPICE与CADENCE仿真规范与实例
ASIC课程设计MOS输出级电路设计与Hspice仿真
Hspice 常见si仿真子电路集锦
!2013版icfb的使用说明
IC610系统的使用
Hspice简明手册
一位全加器HSPICE设计分解
hspice si仿真:package model的那些事儿
HSPICE基础知识