* NV6138A_COMPLETE *$ **************************************************************************** * * NV6138A Spice Model * **************************************************************************** * * This simulation model uses typical parameter values and it is based on * a behavioral model. This model is supplied "as is" and the author * provides no warranties, either expressed or implied, with respect * to the operation and accuracy of the model within a customer circuit * or system. * **************************************************************************** * * NAVITAS SEMICONDUCTOR * Part Nr: NV6138A * Author: Akos Hodany * Date: 11/28/2021 * Model Type: SPICE (LTspice / Pspice compatible) * Model Version: v1.0 * * Revision notes: * * v1.0 - Initial version (source: NV6136 v1.1) * * Changes: * - GaN device * - VCC UVLO Threshold and hysteresis, minor functional updarte(E_B3) * - R4=120k (VDD=6.2V nom.) * - Logic input threshold and hysteresis * - IQvcc Quiescent current and quiscent standby current * - CS gain= 1/4800 * - VISAT=6V replaced by VOCPTH=1.9V * - EN pin renamed to STBY * - Timing adjustments: STBY (Logic), propagation delays (GDRV) **************************************************************************** * * NV6138A Top level * **************************************************************************** .SUBCKT NV6138A VCC VDD 5V STBY PWM CS SGND D S .PARAM VCCTH=7.9 VCCHYS=1.2 VOCPTH=1.9 CSGAIN=208.33u VITH=1.85 VIHYS=1.3 OTP=165 IQCC=550u IQCCSTBY=275u XU10 SGND DPWR EN0 PWM0 DRV EN_OUT OC nv6138A_logic_v1 XU1 N012 N013 OC VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS=10m V6 N013 SGND {VOCPTH} XU4 VDDREF N005 VCC VDDINT SGND SGND NV_OPA R1 N010 N005 5k C1 VDDINT N010 1n C2 VDDINT N005 100p R2 VDDINT VDD 300 R3 N005 VDD 10k C3 VDD SGND 10p C4 PWM SGND 1p C5 VDDREF SGND 10p R5 VCC SGND 1000Meg G_B1 SGND VDDREF VALUE {IF(V(OTPV,SGND)<2.5,100u*min(V(VCCOK,SGND),1),0)} G_B2 VCC SGND VALUE {max(tanh(max(V(VCC,SGND),0))*(IQCCSTBY+(IQCC-IQCCSTBY)*(1+tanh(5*V(EN_OUT,SGND)-5))/2), 0)} R4 VDDREF REF 12k XU5 VCC N001 VCCOK VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VCCHYS} V1 N001 SGND {VCCTH} XU6 REF2 N002 VCC N009 SGND SGND NV_OPA R6 N011 N002 10k C6 N009 N011 500p C7 N009 N002 200p R7 N009 N004 20 R8 REF SGND 50k R9 N004 N002 20k XU7 PWM N014 PWM0 DPWR SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VIHYS} E_B3 DPWR SGND VALUE {V(REF,SGND)*IF(V(VCCOK,SGND)>1,1,0)} G_B4 SGND CS VALUE {{CSGAIN}*max(I(Vx),0)} Vx D N012 0 D1 CS N015 DBODY V5 N014 SGND {VITH} C8 STBY SGND 1p XU8 STBY N014 EN0 DPWR SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VIHYS} XU3 G DRV S VDD NV6138A_DRV D2 N006 N005 DBODY R10 VDD N006 1k D3 N003 N002 DBODY R11 N004 N003 1k E_B6 N015 SGND VALUE {max(V(VDDINT,SGND)-0.5,0)} C9 CS SGND 10pF R12 G SGND 17k XU2 N012 G S NV6138A_FET VREFM N004 5V 0 E_B7 REF2 SGND VALUE {max(V(REF,SGND)-1k*max((I(VREFM)-20m),0),0)} R901 OTPV SGND 10Meg R902 VCCOK SGND 10Meg R903 EN0 SGND 10Meg R904 OC SGND 10Meg R905 STBY SGND 10Meg E_B8 OTPV SGND VALUE {if({TEMP}<{OTP},0,5)} .ENDS NV6138A **************************************************************************** * * NV6138A GaN HEMT * **************************************************************************** .SUBCKT NV6138A_FET D G S .PARAM Ipk=24.48 TCIPK=-0.00293 Vpk0=2 dVpk=2 vpkalpha=0.7 P10=1 P1s=0.55 P1alpha=1 Alpha=0.35 TCA=0 TCVPK=0.004 +TCP1S=-0.00305455 VTHX=1.4 TCVTH=+0.00271 NORMTEMP=25 RD0=56.67m RG=145m Rs=0.67m TCRD=0.008 TCP10=-0.004 IDRo1=2 +TCIDRc1=-0.0038 IDRc1=6.4 IDRc2=4 C1=15.5 C2=1.55 C3=0.775 C4=204.3678 C5=33.78354 C6=84.21336 C7=114.7 C8=224.75 G_G3 D2 D0 VALUE { V(D2,D0)/max(V(RDT, 0),1n) } E_ABM21 ILK 0 VALUE { (abs(V(DTEMP))*V(DTEMP)/10+1)*10n*max(abs(V(D0,S0))*V(D0,S0),0) } R_R101 0 N153327 10Meg E_ABM12 SUBTH 0 VALUE { tanh(3*V(G0,S0))*(0.5*(1+tanh(2.2*(V(G0,S0)-V(VTHT)))))**2 } G_G12 0 N165388 VALUE { 1n/1p*I(E_E102)/(V(cgd)+1m) } C_C3 0 N164635 1n E_ABM106 IDRVX 0 VALUE { V(IDRc1T)/(4*{IDRc2})+{IDRo1} } E_ABM22 CGS 0 VALUE { {C8}+ 0.5*({C7}- {C8})*(1+tanh(-1.5*(V(G0,S)-1.7))) } R_R2 D1 D3 0.1m E_ABM24 CDS 0 VALUE { {C5} + 0.5*({C6}- {C5})*(1+tanh(-0.01*(V(D3,S)-140))) + +0.5*({C4}- {C6})*(1+tanh(-0.07*(V(D3,S)-60))) } C_C4 0 N165388 1n E_ABM104 IDRC1T 0 VALUE { {IDRc1}*(1+V(DTEMP)*{TCIDRc1}) } R_R105 0 N164635 10Meg E_ABM2 DTEMP 0 VALUE { V(VTEMP)-{NORMTEMP} } L_L1 D D3 100p E_ABM101 IDRI1 0 VALUE { max(0,(-V(D1,S0)-{IDRo1})*V(IDRc1T)) } E_ABM9 PSI 0 VALUE { V(P1M)*V(VOVDRV) } R_R106 0 N165388 10Meg E_ABM14 ALPHAT 0 VALUE { {Alpha}*(1+V(DTEMP)*{TCA}) } R_R103 N164557 G0 100u E_ABM23 CGD 0 VALUE { {C3} + 0.5*({C2}- {C3})*(1+tanh(-0.01*(V(D3,G0)-70))) + +0.5*({C1}- {C2})*(1+tanh(-0.1*(V(D3,G0)-20))) } G_G1 D0 S0 VALUE { V(ID, 0) } E_ABM5 P10T 0 VALUE { {P10}*(1+V(DTEMP)*{TCP10}) } E_E100 DX S VALUE { V(N153327, 0) } E_ABM7 DP1T 0 VALUE { {P1S}*(1+V(DTEMP)*{TCP1S})-V(P10T) } E_ABM8 P1M 0 VALUE { V(P10T)+V(dP1T)*tanh({P1alpha}*abs(V(D0,S0))) } R_R6 D0 S0 200Meg E_ABM11 VTHT 0 VALUE { {VTHX}*(1+V(DTEMP)*{TCVTH}) } R_R104 N165310 G0 100u C_C2 0 N153327 1n E_ABM13 IPKT 0 VALUE { {IPK}*(1+V(DTEMP)*{TCIPK}) } R_R9 D0 D2 100 E_ABM15 ID 0 VALUE { V(IPKT)*(1+tanh(V(PSI)))*tanh(V(AlphaT)*V(D0,S0))*V(SUBTH) } E_ABM105 IDRO2 0 VALUE { -V(IDRc1T)/(4*{IDRc2})+{IDRo1} } E_E101 N164557 S VALUE { V(N164635, 0) } R_R4 0 S 100Meg E_ABM102 IDRI2 0 VALUE { (V(Vdsat)-V(IDRo2))*(V(Vdsat)-V(IDRo2))*{IDRc2} } R_R1 D3 D2 0.1m R_R3 S S0 {Rs} R_R5 G0 G {RG} E_E102 N165310 D3 VALUE { V(N165388, 0) } E_ABM1 VTEMP 0 VALUE { {TEMP} } E_ABM3 VPK 0 VALUE { {Vpk0}+({dVpk}*tanh( {vpkalpha}*abs(V(D0,S0))))*(1+V(DTEMP)*{TCVPK}) } R_R102 DX D3 100u E_ABM16 RDT 0 VALUE { {RD0}*(1+V(DTEMP)*{TCRD}) } R_R8 D D3 1 G_G100 D1 S0 VALUE { -max(V(IDRI1),V(IDRI2)) } G_G6 D0 S0 VALUE { max(V(ILK, 0),0)*1u } G_G10 0 N153327 VALUE { 1n/1p*I(E_E100)/(V(cds)+0.1m) } E_ABM4 VOVDRV 0 VALUE { V(G0,S0)-V(VPK) } G_G11 0 N164635 VALUE { 1n/1p*I(E_E101)/(V(cgs)+0.1m) } E_ABM103 VDSAT 0 VALUE { min(max(-V(D1,S0),V(IDRo2)),V(IDRvx)) } .ENDS NV6138A_FET **************************************************************************** * * NV6138A Gate Driver ('6119 v2.0 03/29/2019) * **************************************************************************** .SUBCKT NV6138A_DRV GDRV PWM SK VDD .PARAM UVLOHYS=0.35 UVLOREF=4.325 NORMTEMP=25 ILSMAX=5 GMVC=0.1 + GMTC=-0.001 VITH=1.9 VITHTC=0.002 RDSONLS=0.19 VIHYS=1.4 + VITHMIN=1.75V VITHMAX=2.05V RDSONHS=1 IHSMAX=5 TD=16.5n R_R7 N1243601 VDD 1k X_U3 N124489 N09875 N16008 N124777 SK COMP_HYST_VAR3 PARAMS: VHIGH=8 + VLOW=1m VHYS={UVLOHYS} C_C2 SK VDDEN 1p V_V2 VREFCT SK 1.075 D_D2 SK OUT DBODY E_ABM2 CMULT 0 VALUE { (1+({GMVC}*(V(VDD,SK)-6.2)))*(1+{GMTC}*(V(VTEMP)- + {NORMTEMP})) } R_R10 PRE N133592 1k V_V1 N09875 SK {UVLOREF} R_R6 N124489 VDD 50k R_R2 VDDEN N16008 1k R_R1 PWMC PWMCT 1.72k D_D3 N1243601 N124489 DBODY R_R5 OUT GDRV 1m G_G2 OUT SK VALUE { {ILSMAX}*tanh(V(OUT,SK)/ + ({ILSMAX}*{RDSONLS}))*0.5*(1-tanh(2.5*(V(PRE, SK)-1.5)))*V(CMULT) } C_C3 SK N124489 10p R_R4 SK OUT 10Meg G_G1 VDD OUT VALUE { {IHSMAX}*tanh((V(VDD,SK)-V(OUT,SK))/ + ({IHSMAX}*{RDSONHS}))*0.5*(1+tanh(2.5*(V(PRE, SK)-3.5)))*V(CMULT) } E_E2 EN SK VALUE { IF(V(VDDEN, SK)>2.5,5,0) } E_E1 N22346 SK VALUE { min(max({VITHMIN},(1+{VITHTC}*((V(VTEMP))- + {NORMTEMP}))*{VITH}), {VITHMAX}) } X_U2 PWMCT VREFCT N133592 EN SK COMP_HYST_VAR3 PARAMS: VHIGH=8 VLOW=0 + VHYS=100m X_U1 PWM N22346 PWMC EN SK COMP_HYST_VAR3 PARAMS: VHIGH=2 VLOW=0 VHYS= + {VIHYS} V_V3 N124777 SK 5 C_C5 SK PRE 0.92p C_C1 SK PWMCT {TD/1000} R_R3 SK VDD 10Meg E_ABM1 VTEMP 0 VALUE { {TEMP} } D_D1 OUT VDD DBODY .ENDS NV6138A_DRV **************************************************************************** * * NV61xx OPA * **************************************************************************** .SUBCKT NV_OPA INP INM VDD OUT VSS GNDA params: R0=1e5 C0=100n Ro=10 R1 GNDA q {R0} R2 GNDA inp 10Meg R3 GNDA inm 10Meg C1 q GNDA {C0} G1 GNDA q VALUE {V(inp,GNDA)-V(inm,GNDA)} E1 N001 GNDA VALUE {max(min(v(q,GNDA),v(vdd,GNDA)),v(vss,GNDA))} R4 N001 out {Ro} G2 vdd GNDA VALUE {max(V(N001,out)/{Ro},0)} G3 GNDA vss VALUE {max(-V(N001,out)/{Ro},0)} D1 q Vclp DBODY D2 Vclm q DBODY E2 Vclp GNDA VALUE {V(VDD,GNDA)} E3 GNDA Vclm VALUE {V(GNDA,VSS)} .ENDS NV_OPA **************************************************************************** * * NV61xx Hysteretic comparator * **************************************************************************** .SUBCKT COMP_HYST_VAR3 NINV INV OUT VX VG params: VHIGH=5 VLOW=100m VHYS=50m Rvx VX VG 10Meg G_hl HiL VG Value { -min(V(VX,VG),{VHIGH}) } R_hl HiL VG 1 G_ll LoL VG Value { -min(V(VX,VG),{VLOW}) } R_ll LoL VG 1 G_Hyst HYST NINV Value { -{VHYS}/2*tanh(500*V(HYST,INV)) } G_Comp CompOut VG Value { -(V(LoL,VG) + (V(HiL,VG)-V(LoL,VG))*0.5*(tanh(500*V(HYST,INV))+1) ) } R_Comp CompOut VG 1 C_Comp Compout VG 100p R_Hsyt HYST NINV 1 RO CompOut OUT 100 .ENDS COMP_HYST_VAR3 **************************************************************************** * * NV6138A Logic Cell - rev. 08/06/2020 * **************************************************************************** .subckt nv6138A_logic_v1 DGND DPWR EN PWM DRV EN_OUT OC XX9 nQ nS DGND DPWR Q nv_nand_2_v2 params: delay=10p XX10 Q nR DGND DPWR nQ nv_nand_2_v2 params: delay=1n XX7 N003 OC DGND DPWR nR nv_nand_2_v2 params: delay=100p XX8 N002 nR DGND DPWR nS nv_nand_2_v2 params: delay=100p XX5 DRV DGND DPWR LEB nv_delay_v2 params: delay=60n XX4 PWM DGND DPWR N002 nv_inv_v2 params: delay=10n D1 N001 CT DBODY C1 CT DGND 50p R1 N001 PWM 5 R2 CT PWM 2486k XX6 LEB PWM DGND DPWR N003 nv_and_2_v2 params: delay=100p XX3 PWM Q DGND DPWR DRV EN_OUT nv_and_3_v2 params: delay=10p XX2 CT EN DGND DPWR EN_OUT nv_or_2_v2 params: delay=1n C2 EN DGND 30p .ends nv6138A_logic_v1 .subckt nv_and_2_v2 A B DGND DPWR Y params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(A,DGND)-V(th)+ 0.5*(V(AH,DGND)-1)) )+1)} E_B2 N004 DGND VALUE {V(DPWR,DGND)*max(min(1000*(V(td,DGND)-0.5),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B4 N002 DGND VALUE {(tanh(5*( V(B,DGND)-V(th)+ 0.5*(V(BH,DGND)-1)) )+1)} E_B5 N003 DGND VALUE {V(AH,DGND)*V(BH,DGND)/4} R1 td N003 1.4427 C1 td DGND ={delay} R2 N001 AH 10 C2 Y DGND 10p R3 Y N004 10 C3 AH DGND 1p R4 N002 BH 10 C4 BH DGND 1p .ends nv_and_2_v2 .subckt nv_and_3_v2 A B DGND DPWR Y C params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(A,DGND)-V(th)+ 0.5*(V(AH,DGND)-1)) )+1)} E_B2 N004 DGND VALUE {V(DPWR,DGND)*max(min(1000*(V(td,DGND)-0.5),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B4 N002 DGND VALUE {(tanh(5*( V(B,DGND)-V(th)+ 0.5*(V(BH,DGND)-1)) )+1)} E_B5 N003 DGND VALUE {V(AH,DGND)*V(BH,DGND)*V(CH,DGND)/8} E_B6 N005 DGND VALUE {(tanh(5*( V(C,DGND)-V(th)+ 0.5*(V(CH,DGND)-1)) )+1)} R1 td N003 1.4427 C1 td DGND ={delay} R3 Y N004 10 C2 Y DGND 10p R2 N001 AH 10 C3 AH DGND 1p R4 N002 BH 10 C4 BH DGND 1p R5 N005 CH 10 C5 CH DGND 1p .ends nv_and_3_v2 .subckt nv_nand_2_v2 A B DGND DPWR Y params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(A,DGND)-V(th)+ 0.5*(V(AH,DGND)-1)) )+1)} E_B2 N004 DGND VALUE {V(DPWR,DGND)*max(min(1000*(0.5-V(td,DGND)),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B4 N002 DGND VALUE {(tanh(5*( V(B,DGND)-V(th)+ 0.5*(V(BH,DGND)-1)) )+1)} E_B5 N003 DGND VALUE {V(AH,DGND)*V(BH,DGND)/4} R1 td N003 1.4427 C1 td DGND ={delay} R2 N001 AH 10 C2 Y DGND 10p R3 Y N004 10 C3 AH DGND 1p R4 N002 BH 10 C4 BH DGND 1p .ends nv_nand_2_v2 .subckt nv_or_2_v2 A B DGND DPWR Y params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(A,DGND)-V(th)+ 0.5*(V(AH,DGND)-1)) )+1)} E_B2 N004 DGND VALUE {V(DPWR,DGND)*max(min(1000*(V(td,DGND)-0.5),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B4 N002 DGND VALUE {(tanh(5*( V(B,DGND)-V(th)+ 0.5*(V(BH,DGND)-1)) )+1)} E_B5 N003 DGND VALUE {max(V(AH,DGND),V(BH,DGND))/2} R1 td N003 1.4427 C1 td DGND ={delay} R3 Y N004 10 C2 Y DGND 10p R2 N001 AH 10 C3 AH DGND 1p R4 N002 BH 10 C4 BH DGND 1p .ends nv_or_2_v2 .subckt nv_inv_v2 IN DGND DPWR OUT params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(IN,DGND)-V(th)+ 0.5*(V(H,DGND)-1)) )+1)} E_B2 N003 DGND VALUE {V(DPWR,DGND)*max(min(1000*(0.5-V(td,DGND)),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B5 N002 DGND VALUE {V(H,DGND)/2} R1 td N002 1.4427 C1 td DGND ={delay} R3 OUT N003 10 C2 OUT DGND 10p R2 N001 H 10 C3 H DGND 1p .ends nv_inv_v2 .subckt nv_delay_v2 IN DGND DPWR OUT params: delay=1n E_B1 N001 DGND VALUE {(tanh(5*( V(IN,DGND)-V(th)+ 0.5*(V(H,DGND)-1)) )+1)} E_B2 N003 DGND VALUE {V(DPWR,DGND)*max(min(1000*(V(td,DGND)-0.5),1),0)} E_B3 th 0 VALUE {0.5*V(DPWR,DGND)} E_B5 N002 DGND VALUE {V(H,DGND)/2} R1 td N002 1.4427 C1 td DGND ={delay} R3 OUT N003 10 C2 OUT DGND 10p R2 N001 H 10 C3 H DGND 1p .ends nv_delay_v2 .model DBODY D(Is=30n N=1 Rs=0.1)