Main Content

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] をクリックします。