HSPICE中的子电路

合集下载

Hspice应用讲解

Hspice应用讲解

Hspice应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。

它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。

其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。

在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性元件的线性化小信号模型和其初始条件。

Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。

在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。

元件语句是说明该元件的拓扑关系和元件值的。

每个元件给予一个元件名,元件名的第一个字母说明该元件的类型,Hspice并对各种类型的元件所对应的英文字母作了规定,元件名不能重复。

元件的节点号可以用一正整数表示,也可以用网点名表示。

模型语句是说明该元件的模型参数的。

在模型语句中定义一组元件模型参数并赋予一个唯一的模型名,在元件语句中即可引用此模型名,表明此元件具有该组模型参数值。

子电路是用一组元件语句来定义,程序会自动将这组元件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其他子电路。

在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。

控制语句是控制程序的运行和规定分析及输出的内容。

如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。

HSPICE中的子电路

HSPICE中的子电路

调用时可只写
X1 1 2 INV
带参数的子电路
• 在端口名后可以声明参数
.subckt inv in out wp=3u wn=1.5u MP out in vdd vdd MP w=wp l=0.6u MN out in gnd gnd MN w=wn l=0.6u .ends x1 1 2 inv wp=6u wn=3u
上机作业
所有晶体管尺寸为 W=1.2U,L=0.6U.仿真分 析电路功能,给出各种 输入组合下的输出波形。
Y0 Y1 Y2 Y3
ห้องสมุดไป่ตู้
B
A
子电路的基本语法
• .SUBCKT 子电路名 端口
内部电路网表 .ENDS 例 .SUBCKT INV VDD GND IN OUT
M1 OUT IN VDD VDD MP W=1.5U L=0.6U M2 OUT IN GND GND MN W=1.5U L=0.6U .ENDS
子电路的例化(调用)
HSPICE中的子电路
集成电路CAD(14)
子电路的作用
• HSPICE中的子电路一般是具有独立功能的
电路模块。一个完整的电路可以包含多个 子电路,子电路中也可以包含子电路,这 种描述方法称为层次化描述。子电路的作 用类似程序设计语言中的函数,是描述复 杂电路的重要手段。 • 子电路的描述部分其实是一个“模板”, 只有在“例化”后才起作用。
使用M参数
• M参数表示并连个数
x1 1 2 inv m=1 x2 1 3 inv m=2(两个反相器并联) M参数不必声明,在调用时使用即可
典型电路描述
n1 n3
A
X1
X3
X5 n5 n6 X7 n7 X8 M=2 Y

HSPICE介绍

HSPICE介绍

HSPICE介绍1、为什么要使用Hspice进行电路仿真Avant! Star_Hspice(Synopsys公司)是IC设计中最长用的仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。

目前,一般的书籍中都采用比较简单的MODEL对MOS电路进行计算和估算。

而工艺厂商提供的MODEL往往要高级的多、复杂的多。

因此设计者除了利用书本上的公式对电路进行估算外,还需要使用更高级的MODEL对电路进行精确的仿真,这就有赖于仿真工具的使用,如Hspice,Spectre。

2、Hspice仿真的流程v1.0 可编辑可修改3、Hspice所使用的单位(不区分大小写)4、输入文件格式( /.sp)5、电路元器件在Hspice文件中的表示方法在器件名字前面加上前缀字符,即可被Hspice程序识别,如:MOS器件前缀为:MBJT器件前缀为:QDiode器件前缀为: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 OPAMP 1 2 3 4(描述电路结构).ENDS OPAMP调用子电路时,使用X前缀加实例名,将SUBCKT实例化,如:.XOPAMP1 1 2 3 4 OPAMP6、信号源描述(激励描述):电压源-V,电流源-IVxxx/Ixxx n+ n- <<DC=> dcval> <AC=acmag, <acphase>>+ <M=val>直流:V1 1 0 DC=5V 或 V1 1 0 5VI1 1 0 DC=5mA 或I1 1 0 5mA交流模式:V1 1 0 AC=10V,90 幅度为10v,相位为90度交直流模式:V1 1 0 AC=10V,90 直流分量是Vxxx/ Iyyy n+ n- <tranfun>+ <M=val>tranfun:EXP, PULSE, PWL…。

CMOS实验课1HSPICE介绍

CMOS实验课1HSPICE介绍

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器件前缀为:MBJT器件前缀为:QDiode器件前缀为: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 OPAMP6、信号源描述(激励描述):电压源-V,电流源-IVxxx/Ixxx n+ n- <<DC=> dcval> <AC=acmag, <acphase>>+ <M=val>直流:V1 1 0 DC=5V 或V1 1 0 5VI1 1 0 DC=5mA 或I1 1 0 5mA交流模式:V1 1 0 AC=0.5V,90 幅度为0.5v,相位为90度交直流模式:V1 1 0 3v AC=0.5V,90 直流分量是3vVxxx/ Iyyy n+ n- <tranfun>+ <M=val>tranfun:EXP, PULSE, PWL…。

HSPICE中的子电路

HSPICE中的子电路

使用M参数
• M参数表示并连个数
x1 1 2 inv m=1 x2 1 3 inv m=2(两个反相器并联) M参数不必声明,在调用时使用即可
典型电路描述
n1 n3
A
X1
X3
X5 n5 n6 X7 n7 X8 M=2 Y
B
X2
n2
பைடு நூலகம்
X4
X6 n4
典型子电路
• 反相器 • 与非门 • 或非门 • 传输门
HSPICE中的子电路
集成电路CAD(14)
子电路的作用
• HSPICE中的子电路一般是具有独立功能的
电路模块。一个完整的电路可以包含多个 子电路,子电路中也可以包含子电路,这 种描述方法称为层次化描述。子电路的作 用类似程序设计语言中的函数,是描述复 杂电路的重要手段。 • 子电路的描述部分其实是一个“模板”, 只有在“例化”后才起作用。
上机作业
所有晶体管尺寸为 W=1.2U,L=0.6U.仿真分 析电路功能,给出各种 输入组合下的输出波形。
Y0 Y1 Y2 Y3
B
A
调用时可只写
X1 1 2 INV
带参数的子电路
• 在端口名后可以声明参数
.subckt inv in out wp=3u wn=1.5u MP out in vdd vdd MP w=wp l=0.6u MN out in gnd gnd MN w=wn l=0.6u .ends x1 1 2 inv wp=6u wn=3u
子电路的基本语法
• .SUBCKT 子电路名 端口
内部电路网表 .ENDS 例 .SUBCKT INV VDD GND IN OUT
M1 OUT IN VDD VDD MP W=1.5U L=0.6U M2 OUT IN GND GND MN W=1.5U L=0.6U .ENDS

[整理]Hspice应用讲解.

[整理]Hspice应用讲解.

Hspice应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。

它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。

其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。

在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性元件的线性化小信号模型和其初始条件。

Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。

在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。

元件语句是说明该元件的拓扑关系和元件值的。

每个元件给予一个元件名,元件名的第一个字母说明该元件的类型,Hspice并对各种类型的元件所对应的英文字母作了规定,元件名不能重复。

元件的节点号可以用一正整数表示,也可以用网点名表示。

模型语句是说明该元件的模型参数的。

在模型语句中定义一组元件模型参数并赋予一个唯一的模型名,在元件语句中即可引用此模型名,表明此元件具有该组模型参数值。

子电路是用一组元件语句来定义,程序会自动将这组元件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其他子电路。

在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。

控制语句是控制程序的运行和规定分析及输出的内容。

如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。

Hspice 常见si仿真子电路集锦

Hspice 常见si仿真子电路集锦

Hspice常见子电路集锦TDR_differential source:.subcktTDR_SOURCE+Ro+Cable D+_SOURCE D-_SOURCEVin1 1 0 pulse(0 1 0 100e-12) *positive source voltageRin1 1 2 50 * positive source voltage internal resistanceT1 2 0 D+_SOURCE 0 Zo=50 Td=200e-12 *TDR positive port 50ohm cableVin2 4 0 pulse(0 -1 0 100e-12) *negative source voltageRin2 4 5 50 * negative source voltage internal resistanceT2 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_RRD+ D+_T_R 0 50RD- D-_T_R 0 50.ends统计眼图分析步骤:*Incident port definitionsp1tx_in+ tx_in- 0 port=1p2 in 0 port=2Probe port definitionsp3rxout+ rxout- 0 port=3p4 out 0 port=4Analysis 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 = 300Print, 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).probe stateyebathtubT(4, 1n).measure stateyeeyevertVeye 4 time=1n tol=0.1n.measure stateyeeyehorzHeye 4 volt=0.9 tol=0.05.measure stateyebadbithighWorstBits 3 time=1n state=highHspice眼图的方法(之一):在Hspice中如果不能自动对齐以及去掉前面不稳定的码元的话,直接使用其自带的波形分析软件看眼图很麻烦。

HSPICE的SP文件的规则

HSPICE的SP文件的规则

.SP文件的第一行为标题,而且必须有。

1.MOS管的写法m1 drain gate source body pmos Wp L我想已经说清楚了,四端的顺序分别是D、G、S、B,然后写类型,最后写宽、长。

2.电压源/电流源的写法V1 node1 node0 10V AC 2这是连接在node1与node0间的电压源,直流10V,交流2V。

电阻和电容的写法下面说。

I1 node1 node0 DC=5mA这是一个没有交流的电流源。

其中DC= 可以写也可以不写。

I2 node1 node0 AC=2V,90这是一个交流源,幅度为2V,相位为90度。

V2 node1 node0 PULSE(0 1.8V 10n 2n 2n 50n 100n)脉冲电压源,低值0,高值1.8V,延时10ns,上升沿2ns,下降沿2ns,脉冲宽度50ns,周期100ns。

V3 node1 node0 SIN(0 1 100meg 2ns 5e7)正统脉冲电压源,中值是0,幅度是1,频率是100MHez,延迟时间是2ns,阻尼因子是5e7,相位0(默认值)。

V4 node1 node0 PWL(0ns 0V 2ns 1.8V 6ns 1.8V 8ns 0V 9ns 0V R td=4ns)线性电压源,在R前面先定义好如何循环,然后指出延时时间(td=4ns)。

3.注释用* 或者$,* 必须写在行首,$ 可以写在语句后,但与语句间至少要空一格。

4.常量常量有f、p、n、u、m、k、meg、g。

紧跟在数字后面即可,如:c1 1 2 10p 5.子电路子电路的名字要以X 开头,并且元件名不能超过16个字符,端口写在前,子电路定义的模块名字写在最后,如:Xopa1 a b c c OP AMP举例:反向器链.global vddvdc vdd 0 1.8V.subckt inv in out wn=0.36u wp=0.72umn out in gnd gnd N_18_G2 w=wn l=0.18ump out in vdd vdd P_18_G2 w=wp l=0.18u.endsx1 in 1 inv wn=0.36u wp=0.72ux2 1 2 inv wn=0.36u wp=0.72ux3 2 out inv wn=0.36u wp=0.72ucl out 0 1pf6.全局节点用.GLOBAL定义,如:.GLOBAL node1 node2 node3定义了三个全局节点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时在声明和调用时,可以简化. 时在声明和调用时,可以简化.
如:.GLOBAL VDD GND .SUBCKT INV IN OUT MP OUT IN VDD VDD P W=WX L=LX MN OUT IN GND GND N W=WX L=LX .ENDS
调用时可只写
X1 1 2 INV
带参数的子电路
M参数表示并连个数
x1 1 2 inv m=1 x2 1 3 inv m=2(两个反相器并联) m=2(两个反相器并联) M参数不必声明,在调PICE中的子电路
集成电路CAD(14) 集成电路CAD(14)
子电路的基本语法
.SUBCKT 子电路名 端口
内部电路网表 .ENDS 例 .SUBCKT INV VDD GND IN OUT
MP OUT IN VDD VDD AMI06P W=1.5U L=0.6U MN OUT IN GND GND AMI06N W=1.5U L=0.6U .ENDS
子电路的调用
语法 Xx 端口1 端口2 端口1 端口2
子电路名 如:X1 VDD GND 1 2 INV X2 VDD GND 2 3 INV 端口节点的意义取决于子电路定义时的次序. 端口节点的意义取决于子电路定义时的次序.
使用全局参数的子电路
子电路中的某些节点可以使用全局参数,这 子电路中的某些节点可以使用全局参数,
在端口名后可以声明参数
.subckt inv in out wp=3u wn=1.5u MP out in vdd vdd AMI06P w=wp l=0.6u MN out in gnd gnd AMI06N w=wn l=0.6u .ends x1 1 2 inv wp=6u wn=3u
使用M 使用M参数
相关文档
最新文档