MOSFET サブサーキットの SPICE 変換と検証
この例では、金属酸化物半導体電界効果トランジスタ (MOSFET) サブサーキットを等価の Simscape™ コンポーネントに変換し、いくつかの標準的な MOSFET の特性 (すなわち Id 対 Vgs、Id 対 Vds、Qiss/ゲート電荷、Qoss/出力電荷、およびブレークダウン電圧) に関して SPICE と Simscape のプロットを比較する方法を説明します。関数 subcircuit2ssc は、SPICE ネットリスト ファイル内のすべてのサブサーキット コンポーネントを、1 つ以上の等価の Simscape ファイルに変換します。
MOSFET サブサーキットを開く
この例では、この MOSFET サブサーキットを Simscape コンポーネントに変換します。SPICE ネットリストを開くには、MATLAB® コマンド ウィンドウに「edit IAUC100N04S6L014.cir」と入力します。
* ------------------------------------------------------------------------------
*
* DISCLAIMER
*
* INFINEON'S MODEL TERMS OF USE
*
* BY DOWNLOADING AND/OR USING THIS INFINEON MODEL ("MODEL"), THE USER
* (INCLUDING YOU) AGREES TO BE BOUND BY THE TERMS OF USE HERE STATED. IF USER
* DOES NOT AGREE TO ALL TERMS OF USE HERE STATED, USER SHALL NOT DOWNLOAD,
* USE OR COPY THE MODEL BUT IMMEDIATELY DELETE IT (TO THE EXTENT THAT IT
* WAS DOWNLOADED ALREADY).
*
* 1. SCOPE OF USE
* 1.1 Any use of this Model provided by Infineon Technologies AG is subject
* to these Terms of Use.
* 1.2 This Model, provided by Infineon, does not fully represent all of the
* specifications and operating characteristics of the product to which
* this Model relates.
* 1.3 This Model only describes the characteristics of a typical product.
* In all cases, the current data sheet information for a given product
* is the final design guideline and the only actual performance
* specification. Although this Model can be a useful tool to evaluate
* the product performance, it cannot simulate the exact product performance
* under all conditions and it is also not intended to replace
* bread-boarding for final verification.
*
* 2. IMPORTANT NOTICE
* 2.1 Infineon Technologies AG ("Infineon") is not and cannot be aware of the
* specific application of the Infineon's Model by User. However, Model may
* from time to time be used by User in potentially harmful and/or life-
* endangering applications such as traffic, logistic, medical, nuclear
* or military applications or in other applications where failure of the
* Model may predictably cause damage to persons' life or health or to
* property (hereinafter "Critical Applications").
* 2.2 User acknowledges that Infineon has not specifically designed or
* qualified the Model for Critical Applications that the Model may contain
* errors and bugs and that User is required to qualify the Model for
* Critical Applications pursuant to the applicable local quality, safety
* and legal requirements before permitting or giving access to any such use.
*
* 3. CONFIDENTIAL INFORMATION
* User shall treat ideas, concepts and information incorporated in the
* Model, the documentation and the content of this Terms of Use (together
* hereinafter "Confidential Information") confidential, not disclose it to
* any third party unless otherwise agreed in writing between User and
* Infineon, not use it for any other purposes than using the Model for
* simulation and testing purposes only.
*
* 4. WARRANTY
* 4.1 User acknowledges that the Model is provided by Infineon under this Terms
* of Use is provided free of charge and "AS IS" without any warranty or
* liability of any kind and Infineon hereby expressly disclaims any
* warranties or representations, whether express, implied, statutory or
* otherwise, including but not limited to warranties of workmanship,
* merchantability, fitness for a particular purpose, defects in the
* Model, or non-infringement of third parties intellectual property rights.
* 4.2 Infineon reserves the right to make corrections, deletions, modifications,
* enhancements, improvements and other changes to the Model at any time
* or to move or discontinue any Model without notice.
*
* 5. LIABILITY
* 5.1 Nothing in this Terms of Use shall limit or exclude Infineon's liability
* under mandatory liability laws, for injuries to life, body or health,
* for fraudulent concealment of defects in the software, or in cases
* of Infineon's intentional misconduct or gross negligence.
* 5.2 Without prejudice to Sections 5.1, in cases of Infineon's slight
* negligent breach of obligations that restrict essential rights or duties
* arising from the nature of this Terms of Use in a way that there is a
* risk of non-achievement of the purpose of this Terms of Use or of an
* obligation whose observance User regularly may trust in and whereas
* compliance with only makes proper execution of this Terms of Use
* possible, Infineon's liability shall be limited to the typically,
* foreseeable damage.
* 5.3 Without prejudice to Sections 8.1 and 8.2, Infineon's liability under
* this Agreement shall be excluded in all other cases.
*
* 6. EXPORT REGULATIONS
* The User shall comply with all applicable national and international
* laws and regulations, in particular the applicable export control
* regulations and sanction programs. The User also agrees not to
* export, re-export or transfer any software or technology developed
* with or using information, software or technology offered by Infineon,
* in violation of any applicable laws or regulations of the competent
* authorities. Further, the User shall neither use any products,
* information, software and technology offered by Infineon in or in
* connection with nuclear technology or weapons of mass destruction
* (nuclear, biological or chemical) and carriers thereof nor supply
* military consignees.
*
* 7. TERMINATION OF USE PERMIT
* If the User violates these Terms of Use, such User's permit to use
* this Model terminates automatically. In addition, Infineon may
* terminate the User's permit to use this Model at its discretion and
* at any time regardless of any violation of these Terms of Use. In
* any of the foregoing events, the User is obliged to immediately destroy
* any content that has been downloaded or printed from Infineon's website.
*
* 8. MISCELLANEOUS
* 8.1 These Terms of Use are subject to the laws of the Federal Republic
* of Germany with the exception of the United Nations on Purchase
* Contracts on the International Sale of Goods dated April 11, 1980 (CISG).
* The exclusive place of jurisdiction is Munich, Germany.
* 8.2 Should any provision in these Terms of Use be or become invalid, the
* validity of all other provisions or agreements shall remain unaffected
* thereby.
*
* ------------------------------------------------------------------------------
*
* Title: INFINEON Power Transistors Simulation Models for PSpice
* Description: n-channel Transistors
* OptiMOS5 40V
* Authors: Dr. Elmar Gondro, Tel: +49/89/234-29391
* Günther Moyses, Tel: +49/89/234-24811
* Sebastian Koch, Tel: +49/89/234-89858
* Email: Elmar.Gondro@Infineon.com
* Guenther.Moyses@Infineon.com
* Sebastian.Koch@Infineon.com
* Support: Simulate@Infineon.com
*
.SUBCKT IAUC100N04S6L014 drain gate source Tj Tcase PARAMS: dVth=0 dRdson=0 dgfs=0 dC=0 dZth=0 Ls=0.05n Ld=1n Lg=3n
.PARAM Rs=222u Rg=2.2 Rd=5u Rmet=45u
.PARAM Inn=50 Unn=10 Rmax=1.40m gmin=69
.PARAM act=4.672 Rsp=2.4
X_1 d1 g s sp Tj A6_40_d_var PARAMS: a={act} Rsp={Rsp} dVth={dVth} dRdson={dRdson} dgfs={dgfs} Inn={Inn} Unn={Unn}
+ Rmax={Rmax} gmin={gmin} Rs={Rs} Rp={Rd} dC={dC} Rmet={Rmet}
R_g g1 g {Rg}
L_g gate g1 {Lg*if(dgfs==99,0,1)}
G_s s1 s VALUE={V(s1,s)/(Rs*(1+(limit(V(Tj),-200,999)-25)*4m)-Rmet)}
R_sa s1 s 1Meg
L_s source s1 {Ls*if(dgfs==99,0,1)}
R_da d1 d2 {Rd}
L_d drain d2 {Ld*if(dgfs==99,0,1)}
R_daux drain d2 10
R_gaux gate g1 10
R_saux source s1 10
R_th1 Tj t1 {5.98m+limit(dZth,0,1)*2.22m}
R_th2 t1 t2 {73.91m+limit(dZth,0,1)*27.36m}
R_th3 t2 t3 {258.69m+limit(dZth,0,1)*10.72m}
R_th4 t3 t4 {305.94m+limit(dZth,0,1)*195.71m}
R_th5 t4 Tcase {377.8m+limit(dZth,0,1)*241.67m}
C_th1 Tj 0 40.653u
C_th2 t1 0 180.521u
C_th3 t2 0 1.089m
C_th4 t3 0 823.295u
C_th5 t4 0 25.88m
C_th6 Tcase 0 30m
.ENDS
.SUBCKT A6_40_d_var dd g s0 sp Tj PARAMS: a=1 Rsp=1 dVth=0 dRdson=0 dgfs=0 Inn=1
+ Unn=1 Rmax=0 gmin=1 Rs=1 Rp=1 dC=0 Rmet=1u
.PARAM Fm=0.05 Fn=1 al=0.5
.PARAM c=0.95 Vth0=2.479 auth=3.056m
.PARAM UT=15.11m ab=18.74m lB=-23 UB=41.93
.PARAM b0=244.4 p0=8.687 p1=-30.58m p2=45.79u
.PARAM Rd=3.508m nmu=2.72 Tref=298 T0=273 lnIsj=-26.42
.PARAM ndi=1.039 nisj=1.028 Rdi=4.29m nmu2=0.0
.PARAM td=20n ta=2n
.PARAM Rf=0.5949 nmu3=1.774
.PARAM kbq=86.2u
* Cgs
.PARAM f3=606.2p
* Cgfp
.PARAM f3a=31.78p
* Cds
.PARAM q81=145.0p
.PARAM qs1=65.62p qs2=345.4p qs3=-87.45m
.PARAM qs4=85.58p qs5=-16.63m
.PARAM x0=308.2m x1=27.68 dx={x1-x0}
.PARAM f2r=226.4m
* Cgd
.PARAM ps0=14.83p ps1=9.092p ps2=-2.097 ps3=84.63p ps4=-160.7m ps5=6.584p ps6=8.636p
.PARAM f5=35.38p
.PARAM x2=6.361 x3=24.84 dx2={x3-x2}
* corner parameters
.PARAM dVthmax=0.3 dCmax=0.3
.PARAM Vth={Vth0+dVthmax*dVth}
.PARAM q0={b0*((T0/Tref)**nmu3)*a}
.PARAM q1={(Unn-Inn*Rs-Vth0)*q0}
.PARAM q2={(Fm*sqrt(0.4)-c)*Inn*q0}
.PARAM Rlim={(q1+2*q2*Rmax-sqrt(max(q1**2+4*q2,0)))/(2*q2)}
.PARAM dRd={Rd/a+if(dVth==0,limit(dRdson,0,1)*max(Rlim-Rd/a-Rs-Rp,0),0)}
.PARAM bm={c/((1/gmin-Rs)**2*Inn*a*(T0/Tref)**nmu3)}
.PARAM bet={b0+(b0-bm)*if(dRdson==0,if(dVth==0,limit(dgfs,-1,0),0),0)}
.PARAM dC1={1+dCmax*limit(dC,0,1)}
* .PARAM dC2={1+1.5*dCmax*limit(dC,0,1)}
.PARAM Cgs0={f3*a*dC1}
.PARAM Cgs1={f3a*a*dC1}
.PARAM dRdi={Rdi/a}
.PARAM Cox1={(ps1*a+ps0*sqrt(a))*dC1}
.PARAM Cox2={ps3*a*dC1}
.PARAM Cox3={(ps5*a+ps6)*dC1}
.PARAM Cox4={(f5*a+(ps5*a+ps6))*dC1}
.PARAM Cds0={qs1*a*dC1}
.PARAM Cds1={qs2*(1+f2r/sqrt(a))*a*dC1}
.PARAM Cds2={qs4*a*dC1}
.PARAM Cds3={(q81+qs1)*a*dC1}
* .FUNC VBR(Usps) {max(UB+min(Usps,dUmax)*s1+max(Usps-dUmax,0)*s2,Umin)}
.FUNC VBR(Usps) {UB}
.FUNC I0(Uee,p,pp,z1) {if(Uee>pp,(Uee-c*z1)*z1,p*(pp-p)/c*exp((Uee-pp)/p))}
.FUNC Ig(Uds,T,p,Uee) {bet*(T0/T)**nmu3*I0(Uee,p,min(2*p,p+c*Uds),min(Uds,Uee/(2*c)))}
.FUNC J(d,g,T,da,s,Usps)
+ {a*(s*(Ig(da,T,(p0+(p1+p2*T)*T)*kbq*T,g-Vth+auth*(T-Tref)+Fm*da**Fn+1*limit(-d,0,1))+
+ exp(min(lB+(d-VBR(Usps)-ab*(T-Tref))/UT,25))))}
.FUNC Idiode(Usd,Tj,Iss) {max(exp(min(log(Iss)+Usd/(ndi*kbq*Tj),7))-Iss,0)}
.FUNC Idiod(Usd,Tj) {a*Idiode(Usd,Tj,exp(min(lnIsj+(Tj/Tref-1)*1.12/(ndi*kbq*Tj),7))*(Tj/Tref)**nisj)}
.FUNC Pr(Vss0,Vssp) {Vss0*Vss0/max(Rmet,1u)+Vssp*Vssp/Rsp}
* .FUNC J1(d,g,T,da,s,Usps) {a*(s*(exp(min(lB+(d-VBR(Usps)-ab*(T-Tref))/UT,25))))}
.FUNC QCds(x) {Cds3*min(x,x1)+Cds0*max(x-x1,0)+(Cds3-Cds0)*((limit(x,x0,x1)-x0)**3/(dx*dx)*((limit(x,x0,x1)-x0)/(2*dx)-1))}
.FUNC QCdg(x) {Cox4*min(x,x3)+Cox3*max(x-x3,0)+(Cox4-Cox3)*((limit(x,x2,x3)-x2)**3/(dx2*dx2)*((limit(x,x2,x3)-x2)/(2*dx2)-1))}
E_Edg1 d ox VALUE {if(V(d,g)>0,V(d,g)-(exp(ps2*max(V(d,g),0))-1)/ps2,0)}
C_Cdg1 ox g {Cox1}
E_Edg2 d ox1 VALUE {if(V(d,g)>0,V(d,g)-(exp(ps4*max(V(d,g),0))-1)/ps4,0)}
C_Cdg2 ox1 g {Cox2}
E_Edg3 d ox2 VALUE {V(d,g)-QCdg(V(d,g))/Cox4}
C_Cdg3 ox2 g {Cox4}
E_Eds d edep VALUE {V(d,s)-QCds(V(d,s))/Cds3}
C_Cds edep s {Cds3/2}
E_Eds1 d edep1 VALUE {V(d,sp)-QCds(V(d,sp))/Cds3}
C_Cds1 edep1 sp {Cds3/2}
E_Eds2 d edep2 VALUE {if(V(d,sp)>0,V(d,sp)-(exp(qs5*max(V(d,sp),0))-1)/qs5,0)}
C_Cds2 edep2 sp {Cds2}
E_Eds3 d edep3 VALUE {if(V(d,sp)>0,V(d,sp)-(exp(qs3*max(V(d,sp),0))-1)/qs3,0)}
C_Cds3 edep3 sp {Cds1}
C_Cgs g s {Cgs0}
C_Cgs1 g sp {Cgs1}
R_fp s sp {Rsp}
G_chan d5a s VALUE={J(V(d5a,s),V(g,s),T0+limit(V(Tj),-200,300),(sqrt(1+4*al*abs(V(d5a,s)))-1)/2/al,sgn(V(d5a,s)),V(sp,s))}
R_d06 d5a d5 1u
V_sm d d5 0
G_RMos d1 d VALUE={V(d1,d)/(Rf*dRd+(1-Rf)*dRd*((limit(V(Tj),-200,999)+T0)/Tref)**nmu)}
V_sense dd d1 0
G_diode s d3 VALUE={Idiod(V(s,d3),T0+limit(V(Tj),-200,499))}
G_Rdio d2 d1 VALUE={V(d2,d1)/(dRdi*((limit(V(Tj),-200,999)+T0)/Tref)**nmu2)}
V_sense2 d2 d3 0
* includes RevRec, but has no Tj dependence...
* D_body s d3 dbody
* .model dbody D ( BV={UB*10} CJO={Cds0/100} TT={ta} IS={a*exp(lnIsj)} m=0.3 RS={dRdi*1m} n={ndi} XTI={nisj} )
R_1 g s 1G
R_d01 d s 500Meg
R_d02 d2 s 500Meg
R_d03 d1 d 1k
R_ssp g sp 100Meg
R_met s s0 {Rmet}
G_th 0 Tj VALUE={(I(V_sense)-I(V_sense2))*V(d1,d)+I(V_sm)*V(d,s)+I(V_sense2)*V(d1,s)+Pr(V(s,s0),V(s,sp))}
.ENDS
このコマンドを実行して IAUC100N04S6L014.cir モデルの SPICE サブサーキットを Simscape コンポーネントに変換し、生成されるファイルを +myMOSFET という新しく作成されたディレクトリに配置します。
Netlist converted. Review Simscape component files and make manual edits for any unsupported items before building the Simscape library located at: +myMOSFET.
変換後の MOSFET モデルを開く
+myMOSFET ディレクトリに保存されている iauc100n04s6l014.ssc ファイルは、変換後の Simscape コンポーネントであり、変更された SPICE ネットリストに対して関数 subcircuit2ssc を実行して取得したものです。関数 subcircuit2ssc は、SPICE サブサーキットに実装されているすべての関数も変換しています。生成された Simscape コンポーネントを編集するには、MATLAB コマンド ウィンドウに「edit +myMOSFET/iauc100n04s6l014.ssc」と入力します。
関数 subcircuit2ssc はこの特定のサブサーキットをすべてインポートし、以降の手動のステップは不要です。しかし、この例では、シミュレーション結果をより簡単に確認するために、ゲート電流、ドレイン電流およびソース電流にアクセスできます。simlog のドレイン電流、ゲート電流、およびソース電流にアクセスするには、対応するスルー変数 idrain、igate、isource を MOSFETFromSPICEWrapper.ssc という名前の新しい Simscape コンポーネントに追加し、そのファイルを引数として MATLAB 関数 ee_convertedMosfetValidation に渡します。このファイルは、モデル MOSFETFromSPICE 内の Simscape コンポーネント ブロックのコンポーネント ファイルです。生成された Simscape コンポーネントを編集するには、MATLAB コマンド ウィンドウで、「edit MOSFETFromSPICEWrapper.ssc」と入力します。

シミュレーション結果の検証
MOSFETFromSPICEResults スクリプトは関数 ee_convertedMosfetValidation を呼び出して、いくつかの標準的な特性 (Id 対 Vgs、Id 対 Vds、Qiss/ゲート電荷、Qoss/出力電荷、ブレークダウン電圧など) を生成します。

これらの特性をさまざまな設定でプロットするには、Define Conditions というラベルの付いたブロックをダブルクリックして、パラメーターを定義します。モデル内でシミュレーションを実行して結果をプロットするには、[check results] をクリックします。