Spice基本语法
电路仿真程序spice入门资料

➢ SPICE出生于加州大学伯克利分校(UCB)EECS系, 是预测集成电路电器特性的软件。事实上, SPICE这个名字是从"Simulation Program with Integrated Circuit Emphasis"来的。(重点应用于 集成电路的仿真程序)
23年前,1973年4月12日, 在加拿大滑铁卢 举行的第十六届中西部电路理论研讨会上, SPICE面世了。 提供论文的是UCB的Donald O. Pederson教授。我相信并不是每个人对这篇论文 或者它所描述的程序都有清晰的认识。
直流小信号传递函数值是电路在直流小信号下的输出 变量与输入变量的比值,输入电阻和输出电阻也作为直流 解析的一部分被计算出来。进行此项分析时电路中不能有 隔直电容。分析结果以文本方式输出。
直流扫描分析可作出各种直流转移特性曲线。输出变 量可以是某节点电压或某节点电流,输入变量可以是独立 电压源、独立电流源、温度、元器件模型参数和通用 (Global)参数(在电路中用户可以自定义的参数)。
5
➢ 当所有人对SPICE不抱大的希望时,所发 生的事情却是非常显著的。 短短几年内, SPICE被几乎所有的发展,很快扩展 至集成电路工业。到二十五年后的今天, 所有的电子工程学院的学生都在学习如何 使用SPICE及其派生物。 事实上,每一个 处理电路网表的CAD软件都精确的使用最 初的SPICE 2G6同样的网表描述。一句话, SPICE成了各种标准组织,委员会,会议, 定位论文和机构等等的工业标准。
• Calculates and plots the frequency spectrum
8
➢ 1. 直流分析: 包括电路的静态工作点分析;直流小信号传递函数值
分析;直流扫描分析;直流小信号灵敏度分析。在进行静 态工作点分析时,电路中的电感全部短路,电容全部开路, 分析结果包括电路每一节点的电压值和在此工作点下的有 源器件模型参数值。这些结果以文本文件方式输出。
SPICE的语法_927

脉冲参数、默认值和单位
参数 意义 默认值 单位
V1 初始值
V/A
V2 脉冲值
V/A
TD 延迟时间
0
ቤተ መጻሕፍቲ ባይዱ
s
TR 上升时间 TSTEP
S
TF 下降时间 TSTEP
S
PW 脉冲宽度 TSTEP
S
PER 周期 TSTOP S
V/V
V2
V1
t/s
o
TD TR PW
TF
PER
SIN(正弦波)
• 格式: V/IXXXX N+ N- SIN(VO VA FREQ TD
• 一般语法规定 • 信号源 • 无源元件 • 点命令 • 半导体器件
元件模型
• 模型定义的一般格式为: .model MNAME TYPE (P1=V1 P2=V2 P3=V3 …PN=VN)
类型名 器件
RES IND CAP
电阻 电感 电容
.model RLOAD RES (R=1 TC1=0.02 TC2=0.005) .model CPASS CAP (C=1 VC1=0.01 VC2=0.002 TC1=0.02 TC2=0.005) .model LFILTER IND (L=1 IL1=0.1 IL2=0.002 TC1=0.02 TC2=0.005)
语法规定
1、语句英文字符大小写没有不区分,程序处理时自动将大 写转换为小写。
2、在任何行中分号“;”后面的内容被认为是行间注释; 3、在一条语句中的信息由一个或多个空格、逗号、等号、
左括号或右括号等隔开,只第一个空格有效,其余空格忽 略不计。 4、空白行被忽略; 5、以“+”号开头的行表示为上一行的续行。 6、PSPICE规定节点0为地节点,其他节点的编号可以是任 意数字或字符串。 7、PSPICE不允许有悬浮节点,即每个节点对地均要有直流 通路。当这个条件不满足时,通常是接一个大电阻使该悬 浮节点具有直流通路。
SPICE

SPICE1.目前看到在管理平台增加配置后qume进程里增加的配置如下2.let spice = ["-chardev"; "spicevmc,id=charchannel1,name=vdagent";"-device"; "virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.re dhat.spice.0";"-chardev"; "spiceport,id=charchannel2,name=org.spice-space.webdav.0";"-device"; "virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel2,id=channel2,name=org.spi ce-space.webdav.0";"-spice"; "port=6663,addr=0.0.0.0,agent-mouse=on,image-compression=off,streaming-video=off,seamless-migration=on";"-chardev"; "spicevmc,id=charredir0,name=usbredir";"-device"; "usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2" ] in3.spice包含有3个组件:o SPICE Driver(虚拟机内部):agento SPICE server(hypervisor 层):o SPICE Client(本地OA):4.虚拟机加载证书o默认不管vnc还是spice都是监听在127.0.0.1上,这样肯定不能从网络中访问o下面的设置默认会使所有的虚拟机开启两个端口,一个普通端口,一个为使用ssl加密的安全端口,并且监听所有地址o vim /etc/libvirt/qemu.confo spice_listen="0.0.0.0"spice_tls=1spice_tls_x509_cert_dir=" /etc/pki/libvirt-spice"o下面的为默认密码认证,仅当虚拟机xml文件中没有设置passwd参数时才生效,为了能够使用不同密码,这里不启用,改在xml文件中设置密码o spice_password = "123456"o重启libvirtd加载证书/etc/init.d/libvirtd restart5.123。
SPICE语法基础

.lib 'mix025_1.l'tt
.lib ‘mix025_1.l’ss .lib ‘mix025_1.l’ff
一般使用tt,也就是PMOS,NMOS管都是typical的参数。
集成电路专业 黑龙江大学 《数模混合集成电路设计》 卜 丹 20
MOS管仿真:电源电压
随着MOS尺寸按比例的缩小,其阈值电压按比例 下降,栅氧层的厚度变薄。这就需要电源电压也随之 按比例下降。电源下降可以大幅度降低动态功耗,因 为功耗与电源电压成二次反比。 对于同一种特征尺寸的工艺,一般提供两种电源 电压的MOS管,以供不同的需要。 对于0.35um的工艺,典型电源电压为:5.0V, 3.3V 对于0.25um的工艺,典型电源电压为:3.3V, 2.5V 对于0.18um的工艺,典型电源电压为:2.5V, 1.8V
卜
丹
4
节点命名规则:
按照电路图将节点对应到元件的端口。节点名称可以 是英文字母或数字。节点0代表接地(gnd)
元件命名规则:
R C L M D Q V I 电阻 电容 电感 MOS管 二极管 三极管 电压源 电流源 Resistor Capacitor Inductor MOSFET Diode BJT Voltage source Current source
Demo3
1.1 v(2)
1.0
0.9
0.8
0.7
Volt间分段线性变化
0.4
0.3
0.2
0.1
-0.0
-0.1 0 1 2 3 4 5 6 7 8 9 10
Time (us)
集成电路专业
黑龙江大学
《数模混合集成电路设计》
卜
丹
8
元件定义语句
spice语法

spice语法
_Spice 是一种用于对电路进行仿真的软件工具。
它由一系列的参数和模型构成,包含一个完整的数学库,用于描述和计算任何电路中发现的任何元件以及电路的作用。
Spice 能够完成复杂的仿真分析,有利于缩短设计流程和改善设计。
它通过模拟数学模型,有效地模拟电路的行为,分析信号和电压的变化情况。
由于使用的参数和模型可以调整,所以可以用Spice模拟任何一个有效的电路。
一般情况下,使用 Spice 进行仿真的电路必须使用 Spice 语言来进行编程,这使得电路设计更加容易。
Spice 中使用的语言结构相对简单,分成三个部分:声明,控制仿真和数据处理。
声明部分在仿真之前,根据设计的电路模型,用户定义电路元件和参数,定义电路模型的类型,规定信号的接口,以及传输函数的参数;控制部分由用户来定义实验信号,规定仿真所使用的时间步长,以及使用仿真参数,如噪声、失败概率、变换等;当仿真完成后,数据处理便可根据用户规定的报告要求,计算当量元和成品,输出相应的结果报表,这样用户就可以从结果中提取重要信息,做出相应的分析论断。
总结来看,Spice 语法由三个部分构成,这三部分有助于用户更好地定义电路元件及参数,控制仿真,计算出电路的仿真表现,了解电路器件的行为,可以在短时间内提升设计效率,延缓焊盘及真实元件的测试时间,促进设计的提速。
spice基本语法-

•无源器件:电阻、电感、电容1、电阻RXXX n1 n2 <mname> <R=>resistance <AC=val> 电阻值可以是表达式。
例:R1 1 2 10KRac 9 8 1 AC=1e10Rterm input gnd R=’sqrt(HERTZ) ’2、电容CXXX n1 n2 <mname> <C=>capacitance例:C1 1 2 1pF3、电感LXXX n1 n2 <L=>inductance例:L1 1 2 1nH•有源器件:Diode、BJT、JEFET、MOSFET1、Diode(二极管)DXXX N+ N- MNAME<AREA> <OFF> <IC=VD>可选项:AREA是面积因子,OFF是直流分析所加的初始条件,IC=VD 是瞬态初始条件注:模型中的寄生电阻串联在正极端2、BJT(双极性晶体管)QXXX NC NB NE <NS> MNAME<AREA> <OFF> <IC=VBE,VCE>NC、NB、NE、NS分别是集电极、基极、发射极和衬底节点,缺省时NS接地。
后面与二极管相同。
3、JFET(结型场效应晶体管)JXXX ND NG NS MNAME<AREA> <OFF> <IC=VDS,VGS>4、MOSFET(MOS场效应晶体管)MXXX ND NG NS NB MNAME <L=VAL> <W=VAL> <Other options>M为元件名称,ND、NG、NS、NB分别是漏、栅、源和衬底节点。
MNAME 是模型名,L沟道长,W为沟道宽。
•子电路1、子电路定义开始语句.SUBCKT SUBNAM <node1 node2…>其中,SUBNAM为子电路名,n ode1…为子电路外部节点号,不能为零。
SPICE语法基础

西南科技大学
SPICE语法基础
集成电路版图设计
西南科技大学
SPICE语法基础
集成电路版图设计
西南科技大学
2019SUCCESS
POWERPOINT
2019/6/3
2019SUCCESS
THANK YOU
2019/6/3
5.选择要作的分析 6.选择输出信号 7.结束
集成电路版图设计
西南科技大学
SPICE语法基础
元件定义语句 SPICE基本语法 电路结构由电路的元件和节 点描述
集成电路版图设计
西南科技大学
SPICE语法基础
元件定义语句 按照电路图将节点对应到元件的端口。节点名称可以 是英文字母或数字。节点0代表接地(gnd)
元件命名规则:
集成电路版图设计
西南科技大学
SPICE语法基础
SPIC设计
西南科技大学
SPICE语法基础
集成电路版图设计
西南科技大学
SPICE语法基础
产生随时间阶段变化的信号 Vname node1 node2 PWL t1 V1 t2 V2 < <⋯⋯ ⋯⋯>
例如:V2 Vin 0 PWL 0 0V 1u 1V 5u 0V (输出一个0时刻为0V,1u时为1V,5u时为0V的正弦信号)
产生随时间阶段变化的信 号
集成电路版图设计
西南科技大学
SPICE语法基础
元件定义语句
集成电路版图设计
西南科技大学
SPICE语法基础
集成电路版图设计
西南科技大学
SPICE语法基础
集成电路版图设计
西南科技大学
集成电路版图设计
西南科技大学
集成电路版图设计
spice网表写法

中括号[]表示选填,尖括号<>表示必填V? <正脚> <负脚> [dc <直流量大小>] [ac <交流量大小> <相位>]I? <电流入脚><电流出脚>M?<D> <G> <S> <B> <模型> w=?l=? m=?Q? <C><B> <E> <模型>****信号源函数**脉冲源PULS E (V1 V2 T D TRTF PW PER)其中,V1初始值,V2脉动值,TD延时,TR上升时间,TF下降时间,PW脉冲宽度,PER脉冲周期。
**分段线性源VXXXN+ N- PWL(T1 V1 <T2 V2 T3 V3?>) <R<=re peat>> <TD=dela y>$R=rep eat_f rom_w hat_t ime T D=tim e_del ay_be fore_PWL_s tart其中,Vi是Ti时刻的值,re peat是开始重复的起始点,d elay是延迟时间**正弦源VXX X N+N- SI N(V0VA FR EQ TD THET A PHA SE)其中,VO偏置,VA幅度,TD延时,THE TA阻尼因子,PHA SE相位**指数源VXX X N+N- EX P(V1V2 TD1 TAU1 TD2 TAU2)V1是初始值,V2是峰值,TD1是上升延迟时间,TAU1是上升时间常数,T D2是下降延迟时间,TAU2是下降时间常数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•无源器件:电阻、电感、电容1、电阻RXXX n1 n2 <mname> <R=>resistance <AC=val> 电阻值可以是表达式。
例:R1 1 2 10KRac 9 8 1 AC=1e10Rterm input gnd R=’sqrt(HERTZ) ’2、电容CXXX n1 n2 <mname> <C=>capacitance例:C1 1 2 1pF3、电感LXXX n1 n2 <L=>inductance例:L1 1 2 1nH•有源器件:Diode、BJT、JEFET、MOSFET1、Diode(二极管)DXXX N+ N- MNAME<AREA> <OFF> <IC=VD>可选项:AREA是面积因子,OFF是直流分析所加的初始条件,IC=VD 是瞬态初始条件注:模型中的寄生电阻串联在正极端2、BJT(双极性晶体管)QXXX NC NB NE <NS> MNAME<AREA> <OFF> <IC=VBE,VCE>NC、NB、NE、NS分别是集电极、基极、发射极和衬底节点,缺省时NS 接地。
后面与二极管相同。
3、JFET(结型场效应晶体管)JXXX ND NG NS MNAME<AREA> <OFF> <IC=VDS,VGS>4、MOSFET(MOS场效应晶体管)MXXX ND NG NS NB MNAME <L=VAL> <W=VAL> <Other options>M为元件名称,ND、NG、NS、NB分别是漏、栅、源和衬底节点。
MNAME 是模型名,L沟道长,W为沟道宽。
•子电路1、子电路定义开始语句.SUBCKT SUBNAM <node1 node2…>其中,SUBNAM为子电路名,node1…为子电路外部节点号,不能为零。
子电路中的节点号(除接地点),器件名,模型的说明均是局部量,可以和外部的相同。
例: .SUBCKT OPAMP 1 2 3 42、子电路终止语句.ENDS <SUBNAM>若后有子电路名,表示该子电路定义结束;若没有,表示所有子电路定义结束。
例: .ENDS OPAMP / .ENDS3、子电路调用语句X***** <node1 node2 …> SUBNAM在Spice中,调用子电路的方法是设定以字母X开头的伪元件名,其后是用来连接到子电路上的节点号,再后面是子电路名。
例:…….SUBCKT INV IN OUT wn=1.2u wp=1.2uMn out in 0 0 NMOS W=wn L=1.2uMp out in vdd vdd PMOS W=wp L=1.2u.ENDSX1 IN 1 INV WN=1.2U WP=3UX2 1 2 INV WN=1.2U WP=3UX3 2 OUT INV WN=1.2U WP=3U激励源:独力源和受控源独立源:直流源(DC Sources)交流小信号源(AC Sources)瞬态源(Transient Sources)脉冲源指数源正弦源分段线性源1、直流源(DC Sources )VXXX N+ N- DC VALUEIXXX N+ N- DC VALUE例:V1 1 0 DC=5VI1 1 0 DC=5mA2、交流小信号源(AC Sources)VXXX N+ N- AC<ACMAG<ACPHASE>>IXXX N+ N- AC<ACMAG<ACPHASE>>其中,ACMAG和ACPHASE分别表示交流小信号源的幅度和相位。
例:V1 1 0 DC=5V AC 1V3、瞬态源(Transient Sources )a、脉冲源(又称周期源,PULSE Sources)VXXX N+ N- PULSE (V1 V2 TD TR TF PW PER)其中,V1初始值,V2脉动值,TD延时,TR上升时间,TF下降时间,PW脉冲宽度,PER脉冲周期。
例:Vin 1 0 PULSE (0V 5V 10ns 10ns 10ns 40ns 100ns)b、分段线性源(PWL Sources)VXXX N+ N- PWL (T1 V1 <T2 V2 T3 V3 …>) <R<=repeat>> <TD=delay> R=repeat_from_what_time TD=time_delay_before_PWL_start其中,Vi是Ti时刻的值,repeat是开始重复的起始点,delay是延迟时间例:V1 1 0 PWL 60n 0V,120n 0V,130n 5V,170n 5V,180ns 0V,R 0V2 2 0 PWL 60n 0V,120n 0V,130n 5V,170n 5V,180ns 0V,R 60nc、VXXX N+ N- SIN(V0 VA FREQ TD THETA PHASE)其中,VO偏置,VA幅度,TD延时,THETA阻尼因子,PHASE相位例:VIN 3 0 SIN (0V 1V 100MEG 2NS 5e7)d、指数源(EXP Sources)VXXX N+ N- EXP(V1 V2 TD1 TAU1 TD2 TAU2)V1是初始值,V2是峰值,TD1是上升延迟时间,TAU1是上升时间常数, TD2是下降延迟时间,TAU2是下降时间常数。
例:VIN 3 0 EXP (-4 -1 5N 30N 40N 80N)器件模型元器件需要模型语句来定义其参数值。
模型语句不同于元器件定义描述语句,它是以“.”开头的语句,由关键字.MODEL,模型名称,模型类型和一组参数组成。
无源器件定义模型参数即可。
电阻模型:.MODEL 模型名 R keyword=valueNOISE,RX: 热噪声参数,inr=SQRT(NOISE·4KT/R)电容模型: .MODEL 模型名 C parameter=value电感模型: .MODEL 模型名 L parameter=value二极管模型.MODEL 模型名 D <LEVEL = val> <keyword = val> ...电阻、电容、电流参数例:.MODEL D D (CO=2PF, RS=1, IS=1P).MODEL DFOWLER D (LEVEL=2, TOX=100, JF=1E-10, EF=1E8).MODEL DGEO D (LEVEL=3, JS=1E-4, JSW=1E-8)BJT管模型.MODEL mname NPN <(> <pname1 = val1> ... <)>.MODEL mname PNP <pname1 = val1> ...模型参数中一般包括LEVEL,说明哪种模型,不同级的模型有不同的模型参数集。
MOS管模型.MODEL 模型名 PMOS <LEVEL=val> <parameters>.MODEL 模型名 NMOS <LEVEL=val> <parameters>LEVEL=1 常用于数字电路,精度低、速度快LEVEL=2 考虑了衬底电荷对电流的影响LEVEL=13,39,49模拟电路,精度高、速度慢二、分析类型描述语句.OP:直流工作点分析•严格来说,这不算一种仿真类型。
计算直流工作点指令,对于分析电路很有用(要会看.lis文件),会在输出文件中列出一些直流参数和各结点的工作点电压与支路电流、静态功耗。
•一般在任何其它仿真之前都需要计算直流工作点。
•.op time看某一时刻的各个器件和电源的状态。
•.op vol time某一时刻所有节点电压。
•.op cur time某一时刻所有器件和电源的电流。
•默认状态:.ac和.dc分析是初始工作点,.tran默认时间是0。
.DC:直流分析•可以对参数和独立电源扫描•.DC var1 START STOP STEP/<SWEEP var2 type np start2 stop2> 其中,type有DEC(十进位)/OCT(倍频)/LIN(线性)/DATA=datanm/POI(列表),Np是单位围的点数(依type而定)•注意:1)对独立源扫描时,var为电源名,而非节点名2)仿真迟滞特性要正、负双向扫描,如: .DC Vin 0 5 0.1 .DC Vin 5 0 -0.13)注意对两个量的扫描,后面的是外循环4) SWEEP后的变量可是电压、电流或温度等变量.TRAN:瞬态分析.TRAN var1 START=start1 STOP=stop1 STEP=incr1例:.TRAN 1NS 100NS 注:以1ns的步长输出到100ns.AC:交流分析.AC type np fstart fstop <SWEEP var start stop incr>or.AC type np fstart fstop <SWEEP var type np start stop>or.AC var1 START = start1 STOP = stop1 STEP = incr1例:.AC DEC 10 1K 100MEG•注:一共有4种DEC –十进制的(decade variation) OCT –八进制的(octave variation)LIN –线形的(linear variation) POI –列举的(list of points).NOISE:噪声分析用来计算各个器件的噪声对输出节点的影响并给出其均方根并输出,可完成.AC语句规定的各频率的计算,应在.AC分析之后。
.NOISE ovv srcnam interOvv-输出变量,srcnam-输入源,inter-频率间隔三、控制语句.INCLUDE语句.INCUDE语句:引用一个文件,被引用的文件置于引用文件前。
例:LNA.include “me98xxxx/model.sp“.LIB 语句:.lib ‘<filepath>filename’ entryname该语句根据文件路径和文件名来调用一个库文件,一般该文件包含器件模型。
例:.lib ‘MODELS’ cmos1MODELS文件:.MODEL CMOS1 nmos ···我们仿真中加库的语句应该是.LIB 'D:\TEST\PROCESS\0.6U BCD V0.1PHASE1.LIB' TT.PARAM 语句.PARAM语句:定义一个变量。