[問題] HSpice 參數輸出問題 .param

看板Electronics作者 (CL)時間13年前 (2013/01/09 22:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好 想請教關於.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
文章代碼(AID): #1GxOJuQC (Electronics)