* NV6169_COMPLETE *$ **************************************************************************** * * NV6169 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: NV6169 * Author: Akos Hodany * Date: 04/29/2022 * Model Type: SPICE (LTspice / Pspice compatible) * Model Version: v1.0 * * Revision notes: * * v1.0 - Initial version (source: NV6136A v1.0/NV6247 v2.0) * **************************************************************************** * * NV6169 Top level * **************************************************************************** .SUBCKT NV6169 VCC VDD RDD 5V STBY PWM S CS FLT D .param VCCTH=7.9 VCCHYS=1.2 VDDTH=4.6 VDDHYS=0.6 VOCP=1.91 VSCP=12.6 CSGAIN=73.529412u VITH=1.9 VIHYS=1.3 + TOTP=165 IQCC=500u IQCCSTBY=255u XU1 N009 N012 SCP VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS=10m XU2 N009 G S NV6169_FET XU3 CS N013 OCP VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS=10m XU4 VDDREF N004 VCC VDDINT SGND SGND NV_OPA XU5 N001 N002 VCCOK VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VCCHYS} XU6 REF2 N006 VCC 5VINT SGND SGND NV_OPA XU7 PWM N015 PWM0 DPWR SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VIHYS} XU8 STBY N015 STBY0 DPWR SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VIHYS} XU9 VDD N003 VDDOK VCC SGND COMP_HYST_VAR3 PARAMS: VHIGH=5 VLOW=0 VHYS={VDDHYS} XU10 RDD EN_OUT DRV G SGND NV6169_DRV XU11 DPWR STBY0 PWM0 OCP SCP SGND EN_OUT DRV FLT_OUT nv6169_logic R1 N010 N004 5k R2 VDDINT VDD 20 R3 N004 VDD 10k R4 VDDREF REF 12k R5 VCC SGND 10Meg R6 N011 N006 10k R7 5VINT N008 20 R8 REF SGND 50k R9 N008 N006 20k R10 VDD N005 1k R11 N008 N007 1k R12 G SGND 100k R13 N001 VCC 100 R14 RDD SGND 100k R15 S SGND 15 R16 VCCOK SGND 10Meg R17 VDDOK SGND 10Meg R18 SCP SGND 10Meg R19 OCP SGND 10Meg R20 FLT N014 50 R21 FLT_OUT SGND 10Meg C1 VDDINT N010 1n C2 VDDINT N004 100p C3 VDD SGND 10p C4 PWM SGND 1p C5 VDDREF SGND 10p C6 5VINT N011 500p C7 5VINT N006 200p C8 STBY SGND 1p C9 CS SGND 10pF C10 N001 SGND 1p C11 RDD SGND 10p C12 FLT SGND 5p D1 CS N016 DBODY D2 N005 N004 DBODY D3 N007 N006 DBODY G_B1 SGND VDDREF VALUE {IF(V(OTP,SGND)<2.5,100u*min(V(VCCOK,SGND),1),0)} G_B2 VCC SGND VALUE {max(tanh(max(V(VCC,SGND),0))*((IQCCSTBY-74u)+(IQCC-IQCCSTBY)* +(1+tanh(5*V(EN_OUT,SGND)-5))/2), 0)} E_B3 DPWR SGND VALUE {V(REF,SGND)*IF(V(VDDOK,SGND)>1,1,0)} G_B4 SGND CS VALUE {{CSGAIN}*max(I(Vx),0)} E_B5 N014 SGND VALUE {min(max(5-V(FLT_OUT,SGND),0),V(5VINT))} E_B6 N016 SGND VALUE {max(V(5VINT,SGND)-0.5,0)} E_B7 REF2 SGND VALUE {max(V(REF,SGND)-1k*max((I(VREFM)-20m),0),0)} E_B8 OTP SGND VALUE {if({TEMP}<{TOTP},0,5)} Vx D N009 0 VREFM N008 5V 0 V1 N002 SGND {VCCTH} V2 N003 SGND {VDDTH} V3 N013 SGND {VOCP} V4 N015 SGND {VITH} V6 N012 SGND {VSCP} V7 VDD VDDM1 3.2 R22 VDDM1 VDDM2 2 D4 VDDM2 RDD DBODY .ENDS NV6169 **************************************************************************** * * NV6169 GaN HEMT (Source: NV6119) * **************************************************************************** .SUBCKT NV6169_FET D G S .PARAM Ipk=78 TCIPK=-0.003318519 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=24.23m RG=52m TCRD=0.008 TCP10=-0.004 IDRo1=1.85 + TCIDRc1=-0.004 Rs=0.35m IDRc1=18.36 IDRc2=9 C1=43.7 C2=4.37 C3=2.19 C4=576.2 C5=73.34 C6=237.43 C7=323.38 C8=437 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)*6.6m*max(abs(V(D0,S0))*V(D0,S0)/42250,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.02*(V(D3,S)-140))) + +0.5*({C4}- {C6})*(1+tanh(-0.09*(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 100Meg 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)+1m) } E_ABM4 VOVDRV 0 VALUE { V(G0,S0)-V(VPK) } G_G11 0 N164635 VALUE { 1n/1p*I(E_E101)/(V(cgs)+1m) } E_ABM103 VDSAT 0 VALUE { min(max(-V(D1,S0),V(IDRo2)),V(IDRvx)) } .ENDS NV6169_FET *$ **************************************************************************** * * NV6169 Gate Driver - rev. 04/13/2022 (NV6247 v2.0) * **************************************************************************** .SUBCKT NV6169_DRV VDD EN PWM GDRV SK .PARAM TD=10n NORMTEMP=25 ILSMAX=5 IHSMAX=5 RDSONLS=0.19 RDSONHS=1 GMVC=0.1 + GMTC=-0.001 VITH=2.5 VITHTC=0.002 VIHYS=0.5 VITHMIN=2.2 VITHMAX=2.9 V_V2 VREFCT SK 1.13 D_D2 SK OUT DBODY E_ABM2 CMULT 0 VALUE {(1+({GMVC}*(V(vdd,SK)-7)))*(1+{GMTC}*(V(VTEMP)- + {NORMTEMP}))} V_V1 N127098 SK {VITH} R_R10 PRE N133592 1k R_R1 PWMC PWMCT 1.72k C_C4 SK N127094 1p 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)} 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)} X_U4 N127094 N127098 ENOUT VDD SK COMP_HYST_VAR3 PARAMS: VHIGH=8 + VLOW=1m VHYS={VIHYS} E_E2 ENIN SK VALUE {IF(V(ENOUT, SK)>2.5,5,0)} X_U2 PWMCT VREFCT N133592 ENIN SK COMP_HYST_VAR3 PARAMS: VHIGH=8 + VLOW=0 VHYS=100m R_R8 N127094 EN 1k X_U1 PWM N127098 PWMC ENIN SK COMP_HYST_VAR3 PARAMS: VHIGH=2 VLOW=0 + VHYS={VIHYS} 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 R_R100 ENOUT SK 10Meg .ENDS NV6169_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 *$ **************************************************************************** * * NV6169 Logic Cell - rev. 04/25/2022 * **************************************************************************** .subckt nv6169_logic DPWR EN PWM OCP SCP DGND EN_OUT DRV FLT_OUT D1 N001 CT DBODY C1 CT DGND 50p R1 N001 PWM 5 R2 CT PWM 2486k C2 EN DGND 30p XX5 DRV DGND DPWR LEB nv_delay_v2 params: delay=117n XX4 PWM DGND DPWR N002 nv_inv_v2 params: delay=10n XX6 LEB PWM DGND DPWR PROT_EN nv_and_2_v2 params: delay=100p XX7 PROT_EN PROT DGND DPWR nR nv_nand_2_v2 params: delay=100p XX8 N002 nR DGND DPWR nS nv_nand_2_v2 params: delay=100p 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 XX2 CT EN DGND DPWR EN_OUT nv_or_2_v2 params: delay=10n XX3 PWM Q DGND DPWR DRV EN_OUT nv_and_3_v2 params: delay=10p XX1 EN_OUT nQ DGND DPWR FLT_OUT nv_and_2_v2 params: delay=1n XX11 N003 SCP DGND DPWR PROT nv_or_2_v2 params: delay=7n R3 N003 OCP 1k C3 N003 DGND 5p .ends nv6169_logic *$ .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_nand_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*(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)*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_nand_3_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)