Hspice使用指南
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设置完成以后,一张正确的运放幅频特性曲线图就出现了 同理,可以在 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
由这里运放生成的网表文件 amp.sp
点击 simulate 按钮,它就开始编译分析,当编译结束的时候,右边两个按钮 就从灰色变成亮色,前者是刚刚编译过的网表生成的网络和参数列表,
以及一些计算结果,从中可以看出各个 MOS 管的工作区域,静态工作点,库文件列表,网表等. 后者就是刚刚编译的网表.
这个网表是用 spice 语言来描述的(具体规则见附录),它可以是电路工程师自己手工编写, 但这样费时费力又可以出错.它也可以从各种电路设计软件导出,如 Cadence,Tanner 等.导出的 网表经过工程师添加库文件,添加各种仿真激励等等,立刻可以进行 simulate.非常方便.
分别是 Avanwaves,Hspice,Hspice MT,Hspui 其中,Hspui 是总顶层软件,Avanwaves 是波形观察子软件,另外两个都是编译软件, 在顶层 Hspui 里可以调用另外三个软件。 当打开 Hspui,
下面那个 Avanwaves 按钮就是调用波形观察软件,simulate 就是调用编译软件来对网 表进行分析编译。 当 open 某个*.sp(网表)文件以后,变成如下的样子,这里我打开的是一个运放的网表。
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)]
b) 双极型晶体管
Qxxxxxxx nc nb ne <ns> 模型名 <面积因子> <OFF> <IC=Vbe初值,Vce初值> nc、nb、ne、ns分别为集电极、基极、发射极和衬底的端点,若衬底端点不给出,则认为它 是接地的。 Example: Q10 a b c QMOD 3 IC=0.6,5.0
确认没有错误以后,点击 形
,进入波形观察窗口按照刚刚的步骤可以看到以下波
瞬态
直流扫描
三、 附录
(A). HSPICE语法及语句
几点注意: 1. HSPICE语句中大小写是不敏感的,故变量或名称A与a是相同的; 2. HSPICE中第一句默认为注释行或标题行,故.sp文件中的第一行不可写功能语句; 3. HSPICE中一条语句可分行写,但必须在续行前使用“+”号表示; 4. HSPICE中每一句语句中,所有的语句成分的分隔符都是一个空格,不可多也不可少,且 不能使用Tab作为分隔符; 5. 某行以“*”开头表示该行为注释行。
2. 独立电压源和独立电流源
Vxxxxxxx
+
n
-
n
<<DC>直流值>
<AC<交流振幅<交流相位>>>
<瞬态值>
+-
Ixxxxxxx n n <<DC>直流值> <AC<交流振幅<交流相位>>> <瞬态值>
+
-
V和I分别是独立电压源和独立电流源的关键字,n 和nΒιβλιοθήκη Baidu是电源的正负节点。第一个选项为电
源的直流值(字母DC可以省略),第二个选项为交流数据,第三个选项为瞬态数据。这三 组数据可以在一次仿真中同时给出。若作直流分析,取直流常数值;若作交流分析,独立源 被视为是由振幅和相位所描述的正选小信号(频率即为交流分析频率);作瞬态分析时,则 用随时间变化的瞬时数据(也可为常数);支流和瞬态分析可用同一值描写,如果随时间变 化,则取t=0的值作直流分析。 瞬态数据随时间变化可以有如下五种形式:
Hspice 的使用简介
Hspice 是一款功能非常强大的电路仿真软件,支持 MOS 管最简单的 level1, level3 模型,同时通过调用库文件可以运用现今最精确的 BSIM3v3 模型。 下面介绍 Hspice 的用法。
一、 简单介绍
Hspice 软件安装好以后,从开始菜单进入会发现有四个可执行软件
.tran 10n 20u .end
把以上代码写进“记事本”,然后在某处新建一个文件夹,命名为”inv”,把这个记事本另 存为”inv.sp”保存在这个新建文件夹里.
打开 Hpice,点击
,选择刚刚弄好的 inv.sp 文件,点击
编译结束以后,可以点击
来观察数据输出状态,主要是检查是否有”error”
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。其波形如下
a) 脉冲源
PULSE(v1 v2 td t rtf pw per) v1为初值,v2为脉动值。Td为延迟时间,补缺值为0。tr和tf分别为上升时间和下降时间,补 缺值为tstep(瞬态分析的步长)。pw和per分别为脉冲宽度和周期,补缺值为tstop(瞬态分 析的终止时刻)。具体波形如下: pwtrtdtfpervv1v2Ot
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。
3. 半导体器件
a. 二极管
Dxxxxxxx
+
n
-
n
模型名
<面积因子> <OFF> <IC=端电压初始值>
Example: D5 a b DMOD 3.0 IC=0.2 二极管D5接在节点a与b之间,使用DMOD模型;面积因子为3.0,表示D5的面积为模型DMOD 所定义的器件面积的三倍;D5的端电压初始条件取0.2V。
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”的报 错语句。
可以看到,这是一个运放的输入直流扫描结果 再选择 AC(交流)仿真,我选择 vout 用 db 来显示.则
出现这样一个幅频曲线图,纵坐标是 db(分贝),横坐标是 Hz(赫兹), {这里 20x 代表 20M, 其余单位均与实际中相同,如 10 千就是 10k},
懂模拟电路的人可以发现,运放的幅频特性曲线不应该是这样的.的确,运放的幅频特性 曲线应该是缓降的.这是因为总坐标虽然以对数坐标来显示,但横坐标还是线性坐标.这时可 以用鼠标右击横坐标,会出现一个 set logarithmic scale 选项,这就是把坐标设置成对数坐标.
如果网表出错,库文件不匹配或者其他一些原因导致网表 simulate 失败,则会在 Edit LL 中 以”error”的形式体现出来.
Simulate 以后,如果网表正确,Hspice 则会自动生成各种波形文件.这个时候点击
按钮,就会启动波形观察器
这里一共有两个窗口,一个是叫做 Result Brower,另一个就是波形窗口. 在 Result Brower 里选择需要观察的节点,双击,比如这里我选择 DC(直流扫描)仿真的 vout 输出口,观察它的电压值
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
网表中,*****处为为仿真可填入的激励,和仿真设定 比如,我要对它进行瞬态,直流扫描 .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
电源值用法举例: 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之间,波形如下: