hspice编写反相器并进行瞬态仿真

hspice编写反相器并进行瞬态仿真,第1张

网表文件的扩展名为.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

编好网表文件(要有.dc)

点sinmulat

点edit ll确认没有error

点avanwaves

在result browser里面选择

反相器的仿真貌似不需要大神级别的就能解决吧....

先把schematic画出啦,然后用ADE提取hspice网表文件.然后再编驱动文件(.sp文件)最后仿真就OK了. 刚开始不急不急慢慢来~


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

原文地址: http://outofmemory.cn/tougao/11952682.html

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

发表评论

登录后才能评论

评论列表(0条)

保存