Hspice使用指南
HSPICE 使用流程-推荐下载
南京拓科科技有限公司HSPICE使用流程HSPICE 使用流程HPICE软件主要用于模拟电路的仿真。
模拟电路仿真工具是以电路理论、数值计算方法和计算机技术为基础实现的,由于模拟电路在性能上的复杂性和电路结构上的多样性,对仿真工具的精度、可靠性、收敛性以及速度等都有相当高的要求。
HSPICE程序由于收敛性好,适于做系统及电路仿真,又有工作站版和微机版本,在国内外的用户十分广泛。
一、HSPICE可模拟的内容1.直流分析:包括非线性电路的直流分析①电路的直流工作点:分析时电路中的电感全部短路,电容全部开路,得到电路的每一节点的电流和电压(相对参考点)值。
②直流小信号传输值:传输函数的直流小信号值为直流小信号工作下的输出变量和输入变量之比值,包括电路的输入电阻和输出电阻。
③直流转移曲线:HSPICE可在用户指定的范围内,逐步改变指定的独立电压或电流源,对每一个电源值的变化,都得到储存的输出变量。
④灵敏度分析:求出指定输出变量对于电路参数(包括电路中所有的元件,器件参数,直流电源的输入电平)的直流小信号灵敏度。
2.交流小信号分析:将交流输出变量作为频率的函数计算出来。
先计算电路的直流工作点,决定电路中所有非线性器件的线性化小信号模型参数,然后在用户所指定的频率范围内对该线性化电路进行分析。
①频域分析:在用户规定的频率范围内完成电路的交流分析。
②噪声分析:HSPICE可计算每个频率点上总的输出噪声电平及其等效输入噪声电平。
③失真分析:计算电路交流小信号工作下电路的失真特性,分析时是在输入端加有一个或两个频率的信号,在用户给定的输出负载电阻时,求出在该负载上的输出失真功率。
3.瞬态分析①瞬态响应:是从时间为零开始,到用户规定的时间范围内进行电路南京拓科科技有限公司HSPICE使用流程的瞬态特性分析。
②傅立叶分析:可以对输出波形进行傅立叶分析,得到在用户指定的基频及时间间隔范围的傅立叶系数。
4.电路的温度特性分析:HSPICE在用户未说明时,是在27℃的标称温度下进行各种模拟的。
hspice的使用手册
hspice的使用手册第一章Star-Hspice介绍Star-Hspice优化仿真电路仿真器试Anvant!公司的工业级的电路分析软件,用以电子电路的稳态、瞬态及频域的仿真和分析。
该软件可以精确的仿真、分析、优化从直流到高于100GHz频率的微波的电路。
Star-Hspice是理想的电路单元设计和模型处理的工具,也是信号完整性和传输线分析的选择工具。
本章包括下列内容:◆ Star-Hspice应用◆ Star-Hspice 特点Star-Hspice应用Star-Hspice有着无与伦比的优势用于快速精确的电路和行为仿真。
它使电路级性能分析变得容易,并且生成可利用的Monte Carlo、最坏情况、参数扫描(sweep),数据表扫描分析,而且还使用了最可靠的自动收敛特性。
Star-Hspice是组成全套Avant!工具的基础,并且为那些需要精确的逻辑校验和电路模型库的实际晶体管特性服务。
被Star-Hspice仿真的电路的大小局限于计算机所使用的虚拟内存。
Star-Hspice软件对接口可用于各式各样设计框架的各种计算机平台作了优化。
Star-Hspice的特征图1-1:Star-Hspice Design FeatureStar-Hspice 与绝大多数SPICE的变种相兼容,并有如下附加的特征:◆ 优秀的收敛性◆ 精确的模型,包括许多加工模型◆ 层次节点命名参考◆ 对模型和电路单元的最优化,在AC,DC和瞬态仿真中,带有递增和同步的多参数优化。
◆ 带解释的Monte Carlo和极坏设计支持◆ 可参数化单元的输入输出及行为算术描述(algebraics)◆ 有对高级逻辑仿真器校验库模型的单元特征化工具◆ 对PCB板,多芯片,包装,IC技术的几何损耗耦合传输线◆ 离散部件,针脚,包装和销售商IC库◆ 来自于多重仿真的AvanWaves 交互式波形图和分析图1-2:Star-Hspice电路分析类型图1-3:Star-Hspice 模型技术集成电路级和系统级的仿真需要组织结构的计划和晶体管模型与子电路(Subcircuit)间的交互作用。
Hspice 语法手册
(3)子电路:
1. 采用.GLOBAL设置全局节点:
.GLOBAL node1 node2 node3…
2. 子电路语句.SUBCKT和.MACRO:
.SUBCKT subnam n1 n2 n3… parnam=val…
交流分析包括以下四种语句:
.NOISE:噪声分析;
.DISTO:失真分析;
.NET:网络分析;
.SAMPLE:采样噪声分析。
3.瞬态分析:
瞬态分析是指计算的电路结果作为时间的函数。
.TRAN tinc1 tstop1 tinc2 tstop2… START=.. UIC SWEEP..
对DC OP分析不收敛的情况,解决方法是:删除.option语句中除acct,list,node,post之外的所有设置,采用默认设置,查找.lis文件中关于不收敛的原因;使
用.nodeset和.ic语句自行设置部分工作点的偏置;DC OP不收敛还有可能是由于model引起的,如在亚阈值区模型出现电导为负的情况。
瞬态分析不收敛主要是由于快速的电压变化和模型的不连续,对于快速的电压变化可以通过改变分析的步长值来保证收敛。对模型的不连续,可以通过设置CAPOP和ACM电容,对于给定的直流模型一般选择CAPOP=4,ACM=3,对于level 49,ACM=0。
对瞬态分析,默认采用Trapezoidal算法,精度比较高,但容易产生寄生振荡,采用GEAR算法作为滤波器可以滤去由于算法产生的振荡,具有更高的稳定性。
元件描述
信号源描述
hspiceD使用手册
hspiceD使用手册一、HSPICE基础知识 (2)二、HSPICED的使用 (3)1.选择仿真环境 (3)2.确定model库 (3)3.加载激励 (5)4.Choose Analyses (8)三、HSPICED的注意事项 (9)1.HSPICES的state用于HSPICED需注意 (9)2.HSPICE仿真速度快造成卡机的问题 (10)一、HSPICE基础知识Avant!Start-Hspice现在是Synopsys公司的电路仿真工具,是目前业界使用最广泛的IC设计工具,甚至可以说是标准。
hspice和Spectre这两种仿真器每种都有两个接口,就是hspiceD 和hspiceS(hspice Direct,和hspice Socket),以及spectre和spectreS(Spectre Direct,和spectre Socket)。
"Socket"接口是仿真器的一个比较老的接口。
因为在过去,很多仿真器没有强大的参数化语言,所以Cadence工具所做的就是使用cdsSpice (这个工具有强大的宏语语言,但实际上是一个比较脆弱的仿真器)来充当仿真器。
所有的网表都用cdsSpice的宏语言生成,然后再翻译成目标仿真器的语言——不保留任何参数化的东西。
这种方法是可行的,但是我们没有办法使用主流仿真器的所有特征。
大约1999年,以IC443为例,引入了"direct"接口的概念,我们就去掉了中间手段而直接用相应的语言生成网表。
这样更快,更有效,并且给出了更强大的读取主流仿真器的接口。
"Direct"接口的仿真工具输出的网表可读性更好,可以在只读模式下仿真,能够执行更高级的运算等等,所以在两大EDA工具提供商的仿真器中,hspiceD和spectre是优选。
我们根据书籍对电路的计算和估算都采用Level 2的MOS Model,与实际的Level 49和Mos9 、EKV等Liabrary不同,这些model要比Level 2的Model复杂得多,因此Designer使用Hspice、Spectre等工具进行仿真,以便得到精确的结果,是必须的。
HSPICE的基本使用方法
双参数扫描格式2
• .DC 参数1 起始1 结束1 步长1
+ SWEEP 参数2 起始2 结束2 步长2
例: .DC VG 0 5 0.1 SWEEP WX 1.5U 3U 0.5U
参数2是使用 .PARA 语句自定义的参数
双参数直流扫描格式3
• 格式
.DC 参数1 起始1 结束1 步长1 + SWEEP 参数2 POI 点数 值1 值2 值3
基本格式: .DC 变量 起始值 结束值 步长 例1: MOS管的转移特性
MOS管的描述方法
• 格式
MX ND NG NS NB 模型名 W=W1 L=L1 例如: M1 1 2 0 0 AMI06N W=1.5U L=0.6U
例1的.SP文件
• ************************式4
• .DC 参数1 起始1 结束1 步长1
+ SWEEP TEMP 起始2 结束2 步长2 .DC 参数1 起始1 结束1 步长1 + SWEEP TEMP POI 点数 值1 值2 值3
常用分析语句
• .TRAN • .DC • .AC • .OP
瞬态分析 直流扫描分析 频率特性分析 工作点分析
借助PSPICE生成电路网表
• 在PSPICE环境下绘制原理图 • 添加节点名称 • 生成网表 • 在UltrEdit下修改编辑网表
例1:一个MOS管电路
HSPICE的直流扫描分析
• 语句.DC • 单参数扫描
.INC /路径/AMI06N.M M1 ND NG GND GND AMI06N W=1.5U + L=0.6U VG NG GND 0 VD ND GND 5 .DC VG 0 5 0.1 .END
[整理]Hspice应用讲解.
Hspice应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。
它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。
其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。
在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性元件的线性化小信号模型和其初始条件。
Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。
在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。
元件语句是说明该元件的拓扑关系和元件值的。
每个元件给予一个元件名,元件名的第一个字母说明该元件的类型,Hspice并对各种类型的元件所对应的英文字母作了规定,元件名不能重复。
元件的节点号可以用一正整数表示,也可以用网点名表示。
模型语句是说明该元件的模型参数的。
在模型语句中定义一组元件模型参数并赋予一个唯一的模型名,在元件语句中即可引用此模型名,表明此元件具有该组模型参数值。
子电路是用一组元件语句来定义,程序会自动将这组元件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其他子电路。
在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。
控制语句是控制程序的运行和规定分析及输出的内容。
如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。
hspice使用指南
Sources: Dependent
• Dependent Sources (Controlled Elements)
– High level of abstraction
• Used for behavioral modeling and to simplify circuit descriptions • Faster execution time
Node Naming Conventions
• Node and Element Identification
– – – – – Either names or numbers (e.g. n1, 33, in1, 100) Numbers: 1 to 99999999 (99 million) Nodes with number followed by letter are all the same (e.g. 1a=1b) 0 is ALWAYS ground Global vs local Don‘t begin with a ? May contain: + - * / : ; $ # . [ ] ! < > _ % (not recommended) May NOT contain: ( ) , = ?<space> Ground may be either 0, GND, or !GND
Pulse value parameters defined in the .PARAM statement.
Independent Transient Sources: PWL
• Piecewise Linear
(Vol. 1, p. 4-8)
PWL t1 v1 <t2 v2 t3 v3...> <R <=repeat>> <TD=delay> PWL (t1 v1 <options>) PWL t1 I1 <t2 I2...> <options>
HSPICE-使用流程
HSPICE 使用流程HPICE软件主要用于模拟电路的仿真。
模拟电路仿真工具是以电路理论、数值计算方法和计算机技术为基础实现的,由于模拟电路在性能上的复杂性和电路结构上的多样性,对仿真工具的精度、可靠性、收敛性以及速度等都有相当高的要求。
HSPICE程序由于收敛性好,适于做系统及电路仿真,又有工作站版和微机版本,在国内外的用户十分广泛。
一、HSPICE可模拟的内容1.直流分析:包括非线性电路的直流分析①电路的直流工作点:分析时电路中的电感全部短路,电容全部开路,得到电路的每一节点的电流和电压(相对参考点)值。
②直流小信号传输值:传输函数的直流小信号值为直流小信号工作下的输出变量和输入变量之比值,包括电路的输入电阻和输出电阻。
③直流转移曲线:HSPICE可在用户指定的范围内,逐步改变指定的独立电压或电流源,对每一个电源值的变化,都得到储存的输出变量。
④灵敏度分析:求出指定输出变量对于电路参数(包括电路中所有的元件,器件参数,直流电源的输入电平)的直流小信号灵敏度。
2.交流小信号分析:将交流输出变量作为频率的函数计算出来。
先计算电路的直流工作点,决定电路中所有非线性器件的线性化小信号模型参数,然后在用户所指定的频率范围内对该线性化电路进行分析。
①频域分析:在用户规定的频率范围内完成电路的交流分析。
②噪声分析:HSPICE可计算每个频率点上总的输出噪声电平及其等效输入噪声电平。
③失真分析:计算电路交流小信号工作下电路的失真特性,分析时是在输入端加有一个或两个频率的信号,在用户给定的输出负载电阻时,求出在该负载上的输出失真功率。
3.瞬态分析①瞬态响应:是从时间为零开始,到用户规定的时间范围内进行电路的瞬态特性分析。
②傅立叶分析:可以对输出波形进行傅立叶分析,得到在用户指定的基频及时间间隔范围的傅立叶系数。
4.电路的温度特性分析:HSPICE在用户未说明时,是在27℃的标称温度下进行各种模拟的。
当用户指定电路在什么温度下工作时,HSPICE也能进行不同温度下的电路特性分析,在温度低于-273℃时不予模拟。
HSPICE简明教程(复旦大学)
HSPICE 简明教程udan专用集成电路与系统国家重点实验室RFIC宫志超 1.0 2007.4.7 本文档内容以常用HSPICE指令为主,主要目的为便于学习与查询,详细了解请参阅参考文献版权所有,不得侵犯!传播与修改请保留版权信息。
目录第一章概述 (5)§1.1 HSPICE简介 (5)§1.2 常数 (5)§1.3 输入输出文件及后缀 (5)§1.4 一个简单例子 (6)§1.5 符号说明 (7)第二章仿真输入及控制的设置 (8)§2.1 输入网表概要 (8)§2.2 网表文件中的元素 (8)第三章器件及电源 (15)§3.1 器件 (15)§3.2 独立源 (16)3.2.1 直流源 (16)3.2.2 交流源 (16)3.2.3 瞬态源 (16)3.2.4 混合源 (21)§3.3 受控源 (22)3.3.1 压控电压源 E ELEMENTS (22)3.3.2 压控电流源 G ELEMENTS (23)第四章参数、函数及仿真设置 (25)§4.1 参数 (25)4.1.1 参数定义 (25)4.1.2 .PARAM 声明 (25)4.1.3 指令行内定义 (25)4.1.4 代数表达式定义输出参数 (25)4.1.5 倍乘参数M (THE MULTIPLY PARAMETER) (25)4.1.6 参数作用范围 (26)§4.2 函数 (27)4.2.1 用户定义函数 (27)4.2.2 内置函数 (27)4.2.3 保留变量 (29)§4.3 仿真设置 (29)4.3.1 设置控制选项(CONTROL OPTIONS) (29)4.3.2 基本控制选项 (29)第五章输出设置 (31)§5.1 输出指令 (31)§5.2 输出参数 (31)5.2.1 直流和瞬态分析输出参数 (31)5.2.2 功率 (32)5.2.3 交流分析输出参数 (32)5.2.4 网路相关参数 (33)5.2.5 噪声和谐波分析输出参数 (33)5.2.6 器件参数输出 (34)第六章常用分析 (35)§6.1 直流初始化及工作点分析 (35)6.1.1 电路初始化 (35)6.1.2 工作点分析(OPERATING POINT) .OP声明 (35)§6.2 直流扫描分析 (36)6.2.1 .DC 声明 (36)6.2.2 例子 (36)6.2.3 其他直流分析声明 (37)§6.3 瞬态分析 (38)6.3.1 瞬态分析的初始化 (38)6.3.2 瞬态分析 .TRAN 声明 (38)6.3.3 例子 (38)6.3.4 傅立叶分析 (38)§6.4 交流分析 (40)6.4.1 交流分析 .AC 声明 (40)6.4.2 例子 (40)6.4.3 其他交流分析 (41)第七章统计分析及优化 (43)§7.1 用户定义的分析 (43)7.1.1 .MEASURE 声明 (43)7.1.2 上升、下降和延迟(RISE FALL AND DELAY) (43)7.1.3 FIND 和 WHEN函数 (44)7.1.4 方程计算 (45)7.1.5 平均值、均方根值、最大最小值和峰峰值测量 (45)7.1.6 积分函数 (46)7.1.7 微分函数 (46)7.1.8 误差函数 (47)§7.2 温度分析 (48)§7.3 最坏情况分析 (48)7.3.1 标准统计名词定义 (48)7.3.2 最坏情况分析介绍 (49)7.3.3 模型歪斜参数及工艺角文件 (49)§7.4 蒙特卡罗分析 (50)7.4.1 蒙特卡罗分析概要 (50)7.4.2 定义分布函数 .PARAM 声明 (51)7.4.3 蒙特卡罗分析的例子 (52)7.4.4 最差情况和蒙特卡罗分析的例子 (53)§7.5 优化 (58)7.5.1 优化概要 (58)7.5.2 优化相关声明 (59)7.5.3 优化的例子 (60)备注: (63)参考文献: (63)第一章概述§1.1Hspice简介Hspice是电路模拟仿真的工具。
Hspice使用指南
出现这样一个幅频曲线图,纵坐标是 db(分贝),横坐标是 Hz(赫兹), {这里 20x 代表 20M, 其余单位均与实际中相同,如 10 千就是 10k},
懂模拟电路的人可以发现,运放的幅频特性曲线不应该是这样的.的确,运放的幅频特性 曲线应该是缓降的.这是因为总坐标虽然以对数坐标来显示,但横坐标还是线性坐标.这时可 以用鼠标右击横坐标,会出现一个 set logarithmic scale 选项,这就是把坐标设置成对数坐标.
电源值用法举例: i. Vin in gnd 1.5 节点in与地gnd之间接1.5V电压源Vin。 ii. Vin in gnd 1.5 AC 1 SIN(0 1 1MEG) 电压源Vin接在节点in与地gnd之间,直流值为1.5V;交流振幅为1V,初始相位为0;瞬态电 压源为频率是1兆、直流偏置为1V的正弦电压源。 iii. Vin in gnd PWL(0 0 0 10ns 7 20ns 7 30ns 0 40ns) 电压源Vin接在节点in和地gnd之间,波形如下:
1. 电阻、电容、电感、互感
Rxxxxxxx n1 n2 电阻值 Cxxxxxxx n1 n2 电容值 Lxxxxxxx n1 n2 电感值 Kxxxxxxx Lyyyyyyy Lzzzzzzz 耦合系数 上述语句中,R开头表示电阻名,C开头表示电容名,L开头表示电感名,K开头表示互感名。 n1与n2为表示连接电阻或电容或电感两端的端点名。三者的基本单位是欧姆、法拉、亨利。 Example: R1 a b 100 C20 c d 200f 该例子表示a节点与b节点之间有一个阻值为100Ω的电阻R1,节点c和d之间有一个200FF的 电容C20。
Hspice应用讲解讲解
Hspice应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。
它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。
其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。
在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性组件的线性化小信号模型和其初始条件。
Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。
在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。
组件语句是说明该组件的拓扑关系和组件值的。
每个组件给予一个组件名,组件名的第一个字母说明该组件的类型,Hspice并对各种类型的组件所对应的英文字母作了规定,组件名不能重复。
组件的节点号可以用一正整数表示,也可以用网点名表示。
模型语句是说明该组件的模型参数的。
在模型语句中定义一组组件模型参数并赋予一个唯一的模型名,在组件语句中即可引用此模型名,表明此组件具有该组模型参数值。
子电路是用一组组件语句来定义,程序会自动将这组组件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其它子电路。
在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。
控制语句是控制程序的运行和规定分析及输出的内容。
如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。
大学-HSPICE使用教程
FT=0.305
N = 1e-9
U = 1e-6
MEG = X = 1e6
大学-HSPICE使用教程
Input & Controls Format Conventions
o A line may be continued by entering a plus sign('+') in column 1 of the following line.
Sources
vs 1 0 sin(0v 0.1v 60 0us 0 0)
Egs out
0
2
0
10
Rs
1
2
50
Components R1
2
0
10k
RL
out
0
Load
CL
out
0
100p
Model & Subckts .lib or .model or .subcircuit
Analysis End file
remaining lines is arbitrary.
大学-HSPICE使用教程
Input & Controls .ALTER
Rerun a simulation with different models/parameters/options…
大学-HSPICE使用教程
Input & Controls .DATA
.alter .param Load=5k
.end
大学-HSPICE使用教程
Input & Controls Naming Conventions
Node and Element Identification
HSPICE的基本使用方法
常用分析语句
SPICE有3种基本分析 • .TRAN 瞬态分析 • .DC 直流扫描分析 • .AC 频率特性分析 其它复杂分析都要在某种基本分析基础 上 • 打开仿真文件 • 运行仿真 • 观察波形
.SP文件格式
• 标题行
• • •
第一行是固定的标题行,软件忽略该行内容 电路网表 器件名称,节点,参数 分析语句和参数 .语句,如.TRAN 参数:步长 仿真时间 .END
注释的写法
• 整行注释
以*开始的行为整行注释,*后的内容对仿 真无影响 • 语句后的注释 语句后的注释使用$
程序控制语句
rx n1 n2 cx n1 n2 lx n1 n2 vx n+ nix n+ n集成电路中的实际电阻、电容需要使用库 中的模型。
MOS管的描述格式
• 必须使用器件模型库 • MOS管的格式
至少写以下内容 mx nd ng ns nb 模型名 w=? l=? 4个节点的次数是固定的,依次为 漏、栅、源、体。
HSPICE的基本使用方法
集成电路CAD(2)
一个简单的HSPICE文件
*--------------------标题行-----------------------.option post = 2 $自动保存2个层次的电压数据 *-------------------电路网表----------------------r1 n1 n2 1k $语句后的注释 c1 n2 gnd 1u $电容 v1 n1 gnd dc 1 ac 1 sin 0 1 1k $信号源 *-------------------分析语句----------------------.tran 1u 2m $瞬态分析语句 .ac dec 10 1 1MEG $AC分析语句 *-------------------------------------------------.end
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)二极管描述语句如下:DXXXX N+ N- MNAME <AREA> <OFF> <IC=VD>D为元件名称,N+和N-分别为二极管的正负节点,MNAME是模型名,后面为可选项:AREA是面积因子,OFF时直流分析所加的初始条件,IC=VD时瞬态分析的初始条件。
HSpice教程
1.TITLE 语句.TITLE语句在每次随后的打印,绘制,探测或图形语句中重设打印的标题。
在下面显示的第二个表格中,string是输入文件的第一行。
输入文件的第一行总是清晰的标题。
如果一个Star-Hspice语句在一个文件中作为第一行出现,它会被解释为标题并不会被执行。
标题会在仿真的输出列表文件的每个标题部分逐字地打印出来。
一个.ALTER语句并不支持.TITLE用法。
为了对一个.ALTER语句改变标题,可以把标题内容置于.ALTER语句内。
语法.TITLE <string of up to 72 characters>或<string of up to 72 characters>2.END语句Star-Hspice输入网表文件必须有一个.END语句,作为最后地语句。
END 前面的节点是语句所需要的部分。
任何紧跟.END语句以后的文本被当作一个说明,并不影响仿真。
一个包含不止一个Star-Hspice在运行的Star-Hspice输入文件必须在每个Star-Hspice的运行中有一个.END语句。
任何仿真的数目都可以串接到一个单个的文件。
语法.END <comment>例子MOS OUTPUT.OPTIONS NODE NOPAGEVDS 3 0VGS 2 0M1 1 2 0 0 MOD1 L="4U" W="6U" AD="10P" AS="10P".MODEL MOD1 NMOS VTO="-2" NSUB="1".0E15 TOX="1000" UO="550" VIDS 3 1.DC VDS 0 10 0.5 VGS 0 5 1.PRINT DC I(M1) V(2).END MOS OUTPUTMOS CAPS.OPTIONS SCALE="1U" SCALM="1U" WL ACCT.OP.TRAN .1 6V1 1 0 PWL 0 -1.5V 6 4.5VV2 2 0 1.5VOLTSMODN1 2 1 0 0 M 10 3.MODEL M NMOS VTO="1" NSUB="1E15" TOX="1000" UO="800" LEVE L="1"+ CAPOP="2".PLOT TRAN V(1) (0,5) LX18(M1) LX19(M1) LX20(M1) (0,6E-13).END MOS CAPS3.GLOBAL语句当一个网表文件包含子电路的时候,.GLOBAL语句被使用。
Hspice使用指南傻瓜版
Hspice使用指南安装1. 安裝Hspice 2009.09 和Spiceexplorer 2009.092. 產生License 檔案(Hspice and Spiceexplorer)到"keygen" 的目錄下執行LicGen.exe2.1 按"Open" 開啟"Synopsys.lpd"檔案2.2 在"Select Host ID" 選擇"Any"勾選"Use Daemon"並在"Select Daemon ID" 選擇"Disk"2.3 按"Generate" 後會出現一個視窗"Generated License",按Save,將檔名儲存為"license.dat"2.4 複製此"license.dat" 到目錄"C:\synopsys\Hspice_C-2009.09\" 下3. 啟動License (Spiceexplorer)複製"lm" 目錄到"C:\synopsys\Hspice_C-2009.09\" 下,進入"lm" 目錄執行"lmtools.exe"下面的地方要注意一下打开后跟着图片进行选择看到黄色的successful就是软件licence装好了,应该就可以用了下面开始写sp文件,以群里面那个sp文件做下范例cmosinverter标注.pdf改好以后下一步选择如图所示项目生成.lis文件完成此步骤后,存储目录下会多出一个接下来进行仿真,打开仿真界面然后此窗口自动关闭后打开edit ll,如果内容有误,会有error这样的字眼,根据提示做修改,改好再按照前面的步骤重新做一遍无报错后,继续往下走打开图形查看器选择文件路径,只能放在C盘下面,其他路径找不到选好会弹出如下窗口步骤3双击后会出现如下的图然后要作业里面的其他图如下为第二张图页面上的图很多了,要出第三张图,我不太会,就只能先把sp关掉再打开一次再打开一次SP,方法前面的步骤里有出来第三张图完成。
hspice简明使用手册
HSPICE简明使用手册水平有限,如有错误请予以改正。
还有很多的功能不太了解,希望大家都来补充完善。
谢谢!大家也可以把一些自己在调试过程中的bug 汇总到一起,给大家作参考。
方便以后少犯这种错误,最好加上为什么错了,如何改正。
我会建立一个名字为our_bugs_go_away的文件夹来放大家调试过程中的bug。
如果你认真看了正文中的红字部分,应该就可以使用hspice的基本功能来实现电路模拟。
附录中会有基本的语法,供大家查阅,不一定很全。
1. 常用文件类型.sp 网表文件输入文件该文件是hspice唯一的输入文件,用网表形式描述电路。
下面会专门讲解该文件的几个基本构成。
.mt0 中存放测试数据输出文件.lis 中存放仿真的过程以及仿真时的错误输出文件2. hspui按钮的作用Open 打开.sp文件Simulate 仿真开始Edit LL 观察.lis文件,debugEdit NL 修改.sp 文件Avanwaves 观察模拟波形Explore 找到模拟中所用文件的文件夹3.AvanWaves 使用用来观察模拟得到的波形3.1 results brower 对话框用来选择要看的是那种分析(tran,dc,ac)的那种波形,双击你要看的波形就可以了。
3.2主面板3.2.1窗口panel# 用来看波形wave list 观察波形的列表3.2.2按钮panels 观察窗口个数控制window 观察窗口显示控制measure 测量控制,有对某点的测量和点到点的测量configuration 不明tools 不明3.3快捷按钮3.3.1 results brower 的开关按钮3.3.2变量运算函数编辑器3.3.3打印3.3.4测量某点坐标3.3.5两点间坐标检测3.3.6窗口显示控制4..sp 文件介绍对于一个用hspice模拟的电路,一般可以分为两个部分来描述:1 电路单元的.sp文件。
名字多为:unit.sp 比如:nand2g.sp它一种子电路的形式,就像我们电路中的一些小单元或者Verilog中的module,用来调用,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.tran 10n 20u .end
把以上代码写进“记事本”,然后在某处新建一个文件夹,命名为”inv”,把这个记事本另 存为”inv.sp”保存在这个新建文件夹里.
打开 Hpice,点击
,选择刚刚弄好的 inv.sp 文件,点击
编译结束以后,可以点击
来观察数据输出状态,主要是检查是否有”error”
a) 脉冲源
PULSE(v1 v2 td t rtf pw per) v1为初值,v2为脉动值。Td为延迟时间,补缺值为0。tr和tf分别为上升时间和下降时间,补 缺值为tstep(瞬态分析的步长)。pw和per分别为脉冲宽度和周期,补缺值为tstop(瞬态分 析的终止时刻)。具体波形如下: pwtrtdtfpervv1v2Ot
2. 独立电压源和独立电流源
Vxxxxxxx
+
n
-
n
<<DC>直流值>
<AC<交流振幅<交流相位>>>
<瞬态值>
+-
Ixxxxxxx n n <<DC>直流值> <AC<交流振幅<交流相位>>> <瞬态值>
+
-
V和I分别是独立电压源和独立电流源的关键字,n 和n 是电源的正负节点。第一个选项为电
源的直流值(字母DC可以省略),第二个选项为交流数据,第三个选项为瞬态数据。这三 组数据可以在一次仿真中同时给出。若作直流分析,取直流常数值;若作交流分析,独立源 被视为是由振幅和相位所描述的正选小信号(频率即为交流分析频率);作瞬态分析时,则 用随时间变化的瞬时数据(也可为常数);支流和瞬态分析可用同一值描写,如果随时间变 化,则取t=0的值作直流分析。 瞬态数据随时间变化可以有如下五种形式:
b) 正弦源
SIN(v0 va f td θ) v0为直流偏置,va为正弦幅度。f为正弦,如f未给出或设为0,程序将以补缺值1/tstop代替。 Td和θ分别为延迟时间和阻尼因子,其补缺值为0。
c) 指数源
EXP(v1 v2 td1 tau1 u1 td2 tau2) v1为初值,v2为脉动值。td1为上升延迟时间,td2为下降延迟时间,补缺值分别为0和td1+tstep。 tau1和tau2分别为上升延迟时间常数和下降延迟时间常数,补缺值为tstep。其波形如下
c) 结型场效应管
Jxxxxxxx nd ng ns模型名 <面积因子> <OFF> <IC=端电压初始值> nd、ng、ns分别指漏极、栅极、源极的端点。 Example: J1 a b c JMOD
d) MOS场效应管
Mxxxxxxx nd ng ns nb 模型名 <W=w> <L=l> <AD=ad> <AS=as> <PD=pd> <PS=ps> <NRD=nrd> <NRS=nrs> <OFF> <IC=Vds初值,Vgs初值,Vbs初值> nd、ng、ns和nb分别指漏极、栅极、源极和衬底的端点。w和l分别为沟道的宽度和长度,ad 和as分别为漏和源的扩散区面积。Pd和ps分别为漏区和源区周长。nrd和nrs表示漏源扩散区 等效方块数目。一般情况下,进行普通的行为仿真试验,只需要确定MOS管的长宽比即可。 Example: M1 a b c VDD P W=0.42 L=0.2
如果网表出错,库文件不匹配或者其他一些原因导致网表 simulate 失败,则会在 Edit LL 中 以”error”的形式体现出来.
Simulate 以后,如果网表正确,Hspice 则会自动生成各种波形文件.这个时候点击
按钮,就会启动波形观察器
这里一共有两个窗口,一个是叫做 Result Brower,另一个就是波形窗口. 在 Result Brower 里选择需要观察的节点,双击,比如这里我选择 DC(直流扫描)仿真的 vout 输出口,观察它的电压值
3. 半导体器件
a. 二极管
Dxxxxxxx
+
n
-
n
模型名
<面积因子> <OFF> <IC=端电压初始值>
Example: D5 a b DMOD 3.0 IC=0.2 二极管D5接在节点a与b之间,使用DMOD模型;面积因子的器件面积的三倍;D5的端电压初始条件取0.2V。
电源值用法举例: i. Vin in gnd 1.5 节点in与地gnd之间接1.5V电压源Vin。 ii. Vin in gnd 1.5 AC 1 SIN(0 1 1MEG) 电压源Vin接在节点in与地gnd之间,直流值为1.5V;交流振幅为1V,初始相位为0;瞬态电 压源为频率是1兆、直流偏置为1V的正弦电压源。 iii. Vin in gnd PWL(0 0 0 10ns 7 20ns 7 30ns 0 40ns) 电压源Vin接在节点in和地gnd之间,波形如下:
网表中,*****处为为仿真可填入的激励,和仿真设定 比如,我要对它进行瞬态,直流扫描 .title C_amp .model nmos nmos vt0=0.7 kp=110u gamma=0.4 lambda=0.04 phi=0.7 .model pmos pmos vt0=-0.7 kp=50u gamma=0.57 lambda=0.05 phi=0.8 m1 vo vi 0 0 nmos l=1u w=2u m0 vo vi vdd vdd pmos l=1u w=1u vcc vdd 0 5 vin vi 0 pulse(5 0 1n 1n 1n 1u 2u) .op .dc vin 0 5 0.1
由这里运放生成的网表文件 amp.sp
点击 simulate 按钮,它就开始编译分析,当编译结束的时候,右边两个按钮 就从灰色变成亮色,前者是刚刚编译过的网表生成的网络和参数列表,
以及一些计算结果,从中可以看出各个 MOS 管的工作区域,静态工作点,库文件列表,网表等. 后者就是刚刚编译的网表.
这个网表是用 spice 语言来描述的(具体规则见附录),它可以是电路工程师自己手工编写, 但这样费时费力又可以出错.它也可以从各种电路设计软件导出,如 Cadence,Tanner 等.导出的 网表经过工程师添加库文件,添加各种仿真激励等等,立刻可以进行 simulate.非常方便.
可以看到,这是一个运放的输入直流扫描结果 再选择 AC(交流)仿真,我选择 vout 用 db 来显示.则
出现这样一个幅频曲线图,纵坐标是 db(分贝),横坐标是 Hz(赫兹), {这里 20x 代表 20M, 其余单位均与实际中相同,如 10 千就是 10k},
懂模拟电路的人可以发现,运放的幅频特性曲线不应该是这样的.的确,运放的幅频特性 曲线应该是缓降的.这是因为总坐标虽然以对数坐标来显示,但横坐标还是线性坐标.这时可 以用鼠标右击横坐标,会出现一个 set logarithmic scale 选项,这就是把坐标设置成对数坐标.
d) 分段线性化源
PWL(t1 v1 <t2 v2 …….>) t1,t2,……为时间点,v1,v2,……为每个时间点所对应的电源数值,ti和t(i+1)之间的数 值是由vi和v(i+1)用线性插值方法得到的。
e) 单频频率调制源
SFFM(v0 va fc mdi fs) v0为初值,va为幅度。Mdi为调制系数。Fc为载频,fs为信号频率,fc和fs均不应为0,岂补 缺值为1/tstop。具体波形参考下列公式: 电源值 = v0 + va·SIN [ ( 2pai·fc·t ) + mdi·SIN ( 2pai·fs·t)]
确认没有错误以后,点击 形
,进入波形观察窗口按照刚刚的步骤可以看到以下波
瞬态
直流扫描
三、 附录
(A). HSPICE语法及语句
几点注意: 1. HSPICE语句中大小写是不敏感的,故变量或名称A与a是相同的; 2. HSPICE中第一句默认为注释行或标题行,故.sp文件中的第一行不可写功能语句; 3. HSPICE中一条语句可分行写,但必须在续行前使用“+”号表示; 4. HSPICE中每一句语句中,所有的语句成分的分隔符都是一个空格,不可多也不可少,且 不能使用Tab作为分隔符; 5. 某行以“*”开头表示该行为注释行。
设置完成以后,一张正确的运放幅频特性曲线图就出现了 同理,可以在 result brower 窗口选择 volts phase 来观察相频特性曲线 这里红色的是刚刚的幅频曲线,褐色的则是现在的相频曲线
以上,是一个最基本的操作介绍,下面对一个基本反相器进行各种仿真分析.
二、 实际应用
这是一个简单的反相推挽放大器.它导出的网表是(方便起见,我用 MOS 管 level1 模型) .title C_amp .model nmos nmos vt0=0.7 kp=110u gamma=0.4 lambda=0.04 phi=0.7 .model pmos pmos vt0=-0.7 kp=50u gamma=0.57 lambda=0.05 phi=0.8 m1 vo vi 0 0 nmos l=1u w=2u m0 vo vi vdd vdd pmos l=1u w=1u ******** ******** ******** ******** ******** ******** ******** ******** .end
HSPICE电路架构语句的基本形式
HSPICE的电路架构搭建是通过电路描述语句来实现的,其基本格式如下: 元件名 连接方式 元件参数 元件名第一个字母为元件关键字,用来表示该元件的类型。连接方式则是通过电路节点来实 现。元件参数则表述具体的元件参数值。所有参数都可以用正负整数、浮点数以及指数来表 示。具体数字后都可跟基本的比例因子,如: K = 1E3 MEG = 1E6 G = 1E9 T = 1E12 M = 1E-3 U = 1E-6 N = 1E-9 P = 1E-12 F = 1E-15 MIL = 25.4E-6 所有比例因子后加的单位都是国际标准单位,例如电压为伏特(V)等。单位符号可省略不 写。 HSPICE要求每个节点必须有直流通路到地,除了传输节点和MOS管衬底节点外,每个节点 至少有两个元件与之相连,否则会被认为是不合法节点,会出现“node X has no dc path”的报 错语句。