怎么用Hspice仿真mos管等效输出电阻

怎么用Hspice仿真mos管等效输出电阻,第1张

你可以打印mos管电流,以及漏极和源极的电压,这样就可以得到mos管的等效电阻了。

对应语句为

.probe i(x0.m) 管子电流

.probe v(*)所有电压

随着微电子技术的迅速发展以及集成电路规模不断提高,对电路性能的设计要求越来越严格,这势必对用于大规模集成电路设计的EDA 工具提出越来越高的要求。自1972 年美国加利福尼亚大学伯克利分校电机工程和计算机科学系开发的用于集成电路性能分析的电路模拟程序SPICE(Simulation Program with IC Emphasis)诞生以来,为适应现代微电子工业的发展,各种用于集成电路设计的电路模拟分析工具不断涌现。HSPICE 是Meta-Software 公司为集成电路设计中的稳态分析,瞬态分析和频域分析等电路性能的模拟分析而开发的一个商业化通用电路模拟程序,它在伯克利的SPICE(1972 年推出),MicroSim公司的PSPICE (1984 年推出)以及其它电路分析软件的基础上,又加入了一些新的功能,经过不断的改进,目前已被许多公司、大学和研究开发机构广泛应用。

网表文件的扩展名为.sp文件。

第一行为该文件的名字,可以随便定义,一般以 .title 为起点

.lib  用于设置工艺库文件,后面添加工艺库所在的位置,用单引号引用,后面加TT

.end 网表结束语句,放置在网表文件的结尾位置

元件语句 R1 1 2 1K   分别表示器件类型,连接的节点,以及参数值 

常量 ( 常用的单位 ) m 毫 u微 p皮 n 纳 meg兆

全局节点: .global node1 node2 node3 表示3个全局节点

子电路 

.subckt subnum node1 node2 node3

.ends subnum   子电路结束

X1 node1 node2 node3 subnum  子电路调用

subnum为子电路名称,node1,node2不能为0,均是局部变量,可以与外部节点相同

独立源(电流源,电压源)

Vdd 1 0 10V AC=0.5V,90 电压源,直流分量是10V 交流分量0.5V,相位是90,正极节点1 负极节点0

VIN in gnd pulse 0 Supply 0.3ns 0.1ns 0.1ns 3ns 6ns 脉冲电压源,节点:in gnd  pluse表示脉冲,低电平0 高电平supply(定义的常量1.8)0.3ns上升延迟时间 第一个0.1ns 上升时间 第二个0.1ns为下降时间 3ns为脉冲宽度,6ns为脉冲周期 

.options 语句:.options opt1 opt2 opt3… optx  用于设置模拟的条件

list : 将电路参数,类似于各个地方的电容值 打印到列表文件(即lis文件)//很重要也很好用

nomod : 不输出model参数,减小列表文件的大小    //可用

node : 列出各个节点的元件端点,便于查错    //可用

opts  所有的option设置打印到列表文件//确实输出大量信息,暂时看不懂如何使用

acct : 将运行时间统计和仿真效率输出到列表文件    //通过运行仿真,未能成功使用

post : 使输出数据可以用MetaWaves浏览,即将数据输出到post processor

bypass=1不计算latent器件, latent 潜在的,隐藏的

brief=1 不输出网表信息 brief =0 输出网表信息//暂时还不在到怎么用

仿真过程中的一系列输出文件

*.ic 电路的初始条件

*.lis 仿真输出列表文件

*.st0 运行时间统计

*.tr0 暂态分析后处理程序输出

*.ac0 ac分析后处理程序输出

*.pa 分支路径表

*.mt0 测量报告后处理程序输出

输入行知识点:

用加号(+)表示续行,此时加号应该是新续行的第一个非数字,非空格字符

星号(*)和美元符号($)可以引出注释行,但是*必须是每行的第一个字母,$一般跟在一个语句之后,并与语句之间至少存在一个空格

控制卡,瞬态分析

.tran tincr1 tstop1 <tincr2 tstop2 ...>

举例: .tran 0.1ns 10ns 1ns 25ns start=5ns // 0~10ns范围内,步长为0.1ns;10~25ns范围内,补偿为1ns,从5ns开始打印输出结果

直流扫描

.dc  Vin 0 5V 0.1v 输入电压进行直流扫描,初始值0V,终点值5V 步长0.1V

.option captab 对二极管,三极管,MOS管,电容,打印出信号的节点电容,例如输入电容,输出电容。

输出语句

.print 在list文件中打印输出分析结果  .print tran V(in) V(out) 打印瞬态值,Vin的瞬态,Vout的瞬态  后面可以添加多个变量进行打印输出

.plot  在list中打印低分辨率的曲线(由ASCII组成) 举例参见print

.measure 输出用户定义的分析结果到MT文件中,

.measure tran tphl trig v(in) val =0.9 rise =2 td =10p targ v(out) val =0.9 fall =2  //Rise Fall Delay模式 measure <AC|DC|TRAN>测量结果的名字 trig(代表起始) targ(代表终止)

trig和targ的格式:trig trig_val(起始引发变量) val = trig_val(指出上升,下降,反转的临界点)td=time_delay(开始测量时跳过的时间量0)(cross=c rise=r fall=f)分别指出开始触发的次数。

.measure tp param = '0.5*tplh+0.5*tphl'

附上反相器举例

.title inv

.lib 'C:\synopsys\Hspice_B-2008.09\tsmc018\MM018.L' TT $ Set 0.18um library

.options list node post nomod acct

.option captab

.tran 10ps 15ns

*.print tran V(in) V(out)

.param Supply=1.8 $Set power as 1.8V

.global vdd

vdd vdd 0 'Supply'

VIN in  gnd pulse 0 Supply 0.3ns 0.1ns 0.1ns 3ns 6ns

.subckt inv in out wn=0.4u wp=0.4u

mn out in 0 0 nch l=0.2u w=wn

mp out in vdd vdd pch l=0.2u w=wp

.ends inv

.measure tran tphl trig v(in) val =0.9 rise =1 td =10p targ v(out) val =0.9 fall =1

.measure tran tplh trig v(in) val =0.9 fall =1 td =10p targ v(out) val =0.9 rise =1

.measure tp param = '0.5*tplh+0.5*tphl'

X1  in out inv wn=0.4u wp=0.4u

C1 out 0  85.22f $cg =1.3316f

.end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11273484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存