* NV6115_COMPLETE
*$
****************************************************************************
*
* NV6115 LTspice 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:	NV6115
* Author: Akos Hodany
* Date: 	11/02/2018
* Model Type: 	LTspice
* Model Version: v1.4
*
* Revision notes:
*
* v1.0 - Initial version
* v1.1 - Minor corrections to ensure compatibility with Simetrix
* (parametrization, referencing a current of resistor line nr 142-143)
* v1.2 - OPA internal clamp correction, gate driver vcc bias current generator improvement (G_ABMI1)
* v1.3 - COMP_HYST_VAR2 modification to improve convergence in Simetrix
* v1.4 - Arbitrary B source syntax correction to ensure compatibility with PSpice
*
****************************************************************************
.SUBCKT NV6115 VCC PWM VDD DZ D S
R1 N003 N001 5k
C1 N002 N003 1n
C2 N002 N001 100p
R2 N002 VDD 300
G_B1 VCC DZ VALUE {max(500u*tanh((v(vcc,s)-v(dz,s)))*(0.65-0.35*tanh((v(dz,s)-5.6)*5)),0)}
R4 N001 VDD 10k
XU1 DZ N001 VCC N002 S S NV611x_OPA
R7 VCC DZ 300k
XU2 G PWM S VDD NV6115_DRV
C3 VDD S 10p
C5 PWM S 1p
XU3 D G S NV6115_FET
C4 DZ S 10p
R3 VCC S 25k
.ENDS nv6115
*$

.SUBCKT NV6115_FET D G S
.PARAM  Ipk=19.2 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=100m RG=220m TCRD=0.008 TCP10=-0.004 IDRo1=1.7 TCIDRc1=-0.004  Rs=1m IDRc1=3.995 IDRc2=3 C1=9 C2=0.9 C3=0.45 C4=118.665 C5=19.6163 C6=48.8981 C7=66.6 C8=90
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)*4.4m*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)-120))) +  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  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 NV6115_FET
*$

.SUBCKT NV6115_DRV GDRV PWM SK VDD
.PARAM IQDDL=270u UVLOHYS=0.6V UVLOREF=3.4V NORMTEMP=25 ILSMAX=350m GMVC=0.1 GMTC=-0.001 IQDDTC=0.01 VITH=2.18V VITHTC=0.002 RDSONLS=2.5 VIHYS=0.5V IQDDH=360u VITHMIN=1.9V VITHMAX=2.8V RDSONHS=8.75 IHSMAX=100m TD=21n
X_U3         N119184 N09875 N16008 N124777 SK COMP_HYST_VAR2 PARAMS:  VHIGH=8 VLOW=1m VHYS={UVLOHYS}
C_C3         SK N119184  10p
R_R6         N119184 VDD  33k
D_D3         N124436 N119184 DBODY
R_R7         N124436 VDD  1k
C_C2         SK EN  1p
V_V2         VREFCT SK 1
D_D2         SK OUT DBODY
E_ABM2         CMULT 0 VALUE { (1+({GMVC}*(V(vdd,SK)-7)))*(1+{GMTC}*(V(VTEMP)-{NORMTEMP}))    }
G_ABMI1         VDD SK VALUE { max(tanh(max(V(VDD,SK),0))*(IQDDL+(IQDDH-IQDDL)*(1+tanh(5*V(PWM,SK)-5))/2)*(1+{IQDDTC}*(V(VTEMP)-{NORMTEMP})), 0)    }
V_V1         N09875 SK {UVLOREF}
R_R2         EN N16008  1k
R_R1         PWMC PWMCT  1.5k
R_R5         OUT GDRV  1m
G_G2         OUT SK VALUE { {ILSMAX}*tanh(1/{ILSMAX}/{RDSONLS}*V(out,SK))*0.5*(1-tanh(1.5*((V(PRE, SK)-2))))*V(CMULT) }
R_R4         SK OUT  10Meg
G_G1         VDD OUT VALUE { {IHSMAX}*tanh(1/{IHSMAX}/{RDSONHS}*(V(vdd,SK)-V(OUT,SK)))*(tanh(1.5*(V(PRE, SK)-3))+1)/2*V(CMULT) }
E_E1         N22346 SK VALUE { min(max({VITHMIN},(1+{VITHTC}*((V(VTEMP))-{NORMTEMP}))*{VITH}), {VITHMAX}) }
X_U2         PWMCT VREFCT PRE EN SK COMP_HYST_VAR2 PARAMS:  VHIGH=8 VLOW=0 VHYS=100m
X_U1         PWM N22346 PWMC N124777 SK COMP_HYST_VAR2 PARAMS:  VHIGH=2 VLOW=0 VHYS={VIHYS}
C_C1         SK PWMCT  {TD/1000}
R_R3         SK VDD  10Meg
E_ABM1         VTEMP 0 VALUE { {TEMP}    }
D_D1         OUT VDD DBODY
V_V3         N124777 SK 5
.ENDS NV6115_DRV
*$

.SUBCKT NV611x_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 NV611x_OPA
*$

.SUBCKT COMP_HYST_VAR2 NINV INV OUT VX VG params: VHIGH=5 VLOW=100m VHYS=50m
Rvx VX VG 10Meg
Ehl HiL VG Value { min(V(VX,VG),{VHIGH}) }
Ell LoL VG Value { min(V(VX,VG),{VLOW}) }
EHyst HYST NINV Value { {VHYS}/2*tanh(500*(V(OUT,VG)-(V(HiL,VG)+V(LoL,VG))/2)) }
EComp CompOut VG Value { V(LoL,VG) + (V(HiL,VG)-V(LoL,VG))*0.5*(tanh(500*V(HYST,INV))+1) }
RO CompOut OUT 100
CO OUT VG 10PF
.ENDS COMP_HYST_VAR2
*$

.model DBODY  D(Is=30n N=1 Rs=0.1)
