[爆卦]Hspice parameter是什麼?優點缺點精華區懶人包

為什麼這篇Hspice parameter鄉民發文收入到精華區:因為在Hspice parameter這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者CL2NE1 (CL)看板Electronics標題[問題] HSpice 參數輸出問題 .pa...




大家好

想請教關於.param 參數輸出的問題

如下spice檔

主要是逆向操作 藉由輸入暫態電流值

設通道遷移率 Un Width Length Vt ... 等數值已知

求出氧化層電容 Cox

**** for simulation
.option post
.param Wn=100u Ln=1u kn=75.3678u vt=0.570887 lambda=0.0026049
$ Wn Ln->MOS's width/length
.param vdss=1.2 vgss=1 IF=0 RR0=10 Un=500

.subckt large_signal drain gate source
.if (vdss == 0 || vgss == 0)
gds drain source cur='0'
.elseif (vdss < (vgss-vt))
* gds drain source cur='kn*(Wn/Ln)*(vgss-vt-(vdss/2))*vdss'
.param Cox=IF/(Un*100*((1-vt)-(vdss/2))*vdss)
.elseif (vdss>=(vgss-vt))
* gds drain source cur='0.5*kn*(Wn/Ln)*pwr((vgss-vt),2)*(1+(lambda*vdss))'
.param Cox=IF/(0.5*Un*100*pwr((1-vt),2))
.else
* gds drain source cur='0'
.endif
.ends
xt drain gate source large_signal


vds drain 0 dc 0
vgs gate 0 dc 3
vss source 0 dc 0
.dc vds 0 2 1
.probe i(xt.gds) Cox=par('Cox')
.print i(xt.gds) Cox=par('Cox')

.alter
.param IF= 0.00123
.alter
.param IF= 0.00123
.alter
.param IF= 0.00123
.alter
.
.
.
.

.end


debug後沒有error

但卻有如下所述

.param cox=if/(un*100*((1-vt)-(vdss/2))*vdss)
**warning** command in if ... else ... block defined in
subckt, ignored.
.elseif (vdss>=(vgss-vt))
gds drain source cur='0.5*kn*(wn/ln)*pwr((vgss-vt),2)*(1+(lambda*vdss))'
.param cox=if/(0.5*un*100*pwr((1-vt),2))
**warning** command in if ... else ... block defined in
subckt, ignored.

撰寫的cox參數 直接被忽略掉

想請問關於if判斷式內 是否不能直接設定參數定義

以及 .probe Cox=par('Cox') 這寫法應該是正確吧?

感謝大家

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.17.10.169

你可能也想看看

搜尋相關網站