hspice网表里能有多个不同的.dc分析吗
录入:edatop.com 阅读:
我想在一个网表里对一个mos管做多种情况的仿真并且输出结果:改变不同的温度,mos管的尺寸,各个端电压,做IdVg或者IdVd,任意参数组合的仿真,但是结果好像有问题,请熟悉的人帮忙看看,谢谢,以下是个我用的简单网表的例子,实际我想做的更复杂:****
.lib Lib0 tt
.param dv=0 gv=0 sv=0 bv=0 tv=27 wv=10u lv=10u
.temp tv
vd d 0 dv
vdi d di 0
vg g 0 gv
vgi g gi 0
vs s 0 sv
vsi s si 0
vb b 0 bv
vbi b bi 0
m1 di gi si bi nmos w=wv l=lv
.alter idvg for 25u/25u
.param wv=25u lv=25u
.param bv=-5 dv=0.1
.dc gv 0 2 0.2
.print id=par('i(vdi)') vgs=par('v(g,s)')
.alter idvd for 25u/1u T=100C
.param wv=25u lv=1u tv=100
.param bv=-5 dv=0.1
.dc dv 0 10 0.01 sweep gv 1 5 1
.print id=par('i(vdi)') vgs=par('v(g,s)')
.alter idvg for 1u/1u T=-40
.param wv=1u lv=1u
.param dv=4
.dc gv 0 2 0.2 sweep bv 0 -5 -1
.print id=par('i(vdi)') vgs=par('v(g,s)')
.end
我运行后,发现输出的结果好像不是我预期的,虽然也输出了3个alter的仿真,但是仿真结果全都是是第一个DC的分析结果,我这么写网表是不是有问题?达不到我想要的目的?
.lib Lib0 tt
.param dv=0 gv=0 sv=0 bv=0 tv=27 wv=10u lv=10u
.temp tv
vd d 0 dv
vdi d di 0
vg g 0 gv
vgi g gi 0
vs s 0 sv
vsi s si 0
vb b 0 bv
vbi b bi 0
m1 di gi si bi nmos w=wv l=lv
.alter idvg for 25u/25u
.param wv=25u lv=25u
.param bv=-5 dv=0.1
.dc gv 0 2 0.2
.print id=par('i(vdi)') vgs=par('v(g,s)')
.alter idvd for 25u/1u T=100C
.param wv=25u lv=1u tv=100
.param bv=-5 dv=0.1
.dc dv 0 10 0.01 sweep gv 1 5 1
.print id=par('i(vdi)') vgs=par('v(g,s)')
.alter idvg for 1u/1u T=-40
.param wv=1u lv=1u
.param dv=4
.dc gv 0 2 0.2 sweep bv 0 -5 -1
.print id=par('i(vdi)') vgs=par('v(g,s)')
.end
我运行后,发现输出的结果好像不是我预期的,虽然也输出了3个alter的仿真,但是仿真结果全都是是第一个DC的分析结果,我这么写网表是不是有问题?达不到我想要的目的?
我依稀记得
只能run一个dc
.alter只能改变运行的条件等等
问题是hspice的官方手册里说alter可以包含各种分析语句阿
首先要说明的是.alter只能放在最后,否则.alter后面在参数是看不到的。
先电路网表,包括.option,.print等,然后:
.dc gv 0 2 0.2 sweep temp poi 3 -45 27 120 %分别在3个温度下对电压扫描
.alter
.dc dv 0 10 0.01 sweep gv 1 5 1 %分别在gv=1,2,3,4,5下对dv电压扫描
仿真时先跑.dc gv 0 2 0.2 sweep temp poi 3 -45 27 120再跑.dc dv 0 10 0.01 sweep gv 1 5 1
sweep conditional sim.
sweep conditional sim.
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。
上一篇:全差分放大器为什么没有镜像极点?
下一篇:DC-DC IC设计,感觉自己在岸边观望许久,一直未能跳入水中潜下去~~