LTSpice Error – Fixing RF Transistor 2 Emitter Connection Issue

bjtemitterltspicenpnRF

I am trying to use the Infineon spice model for BFP640ESD (link for library file), but it has two emitter terminals and I'm not sure how to use it since the BJT models have only 3 terminals and I need 4.

Spice code added below:

***************************************************************
*   Infineon    Technologies    AG
*   GUMMEL-POON MODEL   IN  SPICE   2G6 SYNTAX
*   VALID   UP  TO  10  GHZ
*   >>> BFP640ESD   <<<
*   (C) 2012    Infineon    Technologies    AG
*   Version 2.1 November    2012
***************************************************************
* - Please use the global SPICE GP parameter TEMP to specify the
*   junction temperature of the device in your application to get
*   correct simulation results. This procedure is necessary because
*   the GP model does not consider the self heating of the device.
* - TEMP is calculated by TEMP=TA+Pdc*(RthJS+RthSA). The junction
*   temperature TEMP is the sum of the ambient temperature TA and
*   the increment of temperature caused by the dissipated DC power Pdc.
* - RthJS is the thermal resistance between the junction and the
*   soldering point. RthJS for this device is 310 K/W. RthSA is the
*   thermal resistance of the PCB, from the soldering point to the
*   ambient. For determination of RthSA please refer to Infineon's
*   Application Note "Thermal Resistance Calculation" AN077.
* - The model has been verified in the junction temperature range
*   -25°C to +125°C.
* - TNOM=25 °C is the nominal ambient temperature during measurement
*   for the parameter extraction. Please do not change this value.
****************************************************************
*.OPTION TNOM=25, GMIN= 1.00e-12
*BFP640ESD C B E1 E2
.SUBCKT BFP640ESD 1 2 3 4
*
CBEPAR 22 33 2.29E-013
CBCPAR 22 11 7.095E-014
CCEPAR 11 33 2.024E-013
LB    22 20 6.623E-010
LE   33 30 1.519E-010
LC   11 10  6.522E-010
CBEPCK 20 30  4.4E-014
CBCPCK 20 10  1E-015
CCEPCK 10 30  4.4E-014
LBX    20 2 3.607E-010
LEX   30 35 5.524E-011
LCX   10 1  2.452E-010
*
RE1 35 3 1E-03
RE2 35 4 1E-03
*
D1 33 25 M_D1
D2 41 25  M_D2
*
RBLfdb 22 25 1.754
*
R_PW_fbd 41 33 7.5
R_PW_e11g 42 33 2.1
R_sub_fbd 41 5 477
R_sub_e11g 42 5 350
R_CS_npn 55 5 424.1
RSUB 30 5 0.001
*
D3 42 15 M_D3
D4 23 33 M_D4
D5 23 15 M_D5
*
RLDNBL 15 11 10.63
*
Q1 11 22 33 55 M_BFP640ESD
*
.MODEL M_D1 D(
+ IS=3.5E-015
+ N=1
+ RS=6.1
+ CJO=1E-014)
*
.MODEL M_D2 D(
+ IS=6E-015
+ N=1
+ RS=0.01
+ CJO=9E-015)
*
.MODEL M_D3 D(
+ IS=9E-015
+ N=0.9973
+ RS=160
+ CJO =2E-014)
*
.MODEL M_D4 D(
+ IS=3.5E-015
+ N=1
+ RS=0.2
+ CJO =2E-014)
*
.MODEL M_D5 D(
+ IS=3.5E-015
+ N=1.02
+ RS=4.7
+ CJO =3.003E-014)
*
*
.MODEL  M_BFP640ESD NPN(
+   TNOM = 25
+   IS  =   9.658E-016
+   BF  =   557.2
+   NF  =   1
+   VAF =   192.2
+   IKF =   0.09128
+   ISE =   3.626E-014
+   NE  =   2
+   BR  =   246.5
+   NR  =   0.9955
+   VAR =   1.577
+   IKR =   0.004397
+   ISC =   1.27E-014
+   NC  =   1.322
+   RB  =   4.406
+   IRB =   0.0006534
+   RBM =   0.8094
+   RE  =   0.2638
+   RC  =   4.042
+   XTB =   -2.576
+   EG  =   1.11
+   XTI =   0.15
+   CJE =   3.798E-013
+   VJE =   1
+   MJE =   0.1016
+   TF  =   2.172E-012
+   XTF =   1.084
+   VTF =   0.5626
+   ITF =   0.3839
+   PTF =   0.28
+   CJC =   5.346E-014
+   VJC =   0.7186
+   MJC =   0.8649
+   XCJC    =   1
+   TR  =   2E-009
+   CJS =   1.404E-013
+   MJS =   0.07264
+   VJS =   0.4
+   FC  =   0.3
+   KF  =   7.116E-011
+   AF  =   1.7)
***************************************************************
.ENDS BFP640ESD

Best Answer

The subcircuit text shows that the two external emitter connections are simply shorted together internally via a 1mΩ resistor each. Nodes 3 and 4 are E1 and E2 respectively, and the resultant node after connecting them together is node 35.

RE1 35 3 1E-03
RE2 35 4 1E-03

There are a few ways to handle this. First, is to convert the subcircuit to 3 terminals so you can use a standard NPN symbol with it. You can either ignore the 2nd emitter connection (since it's negligible) or if you want to be a stickler you can use the parallel equivalent of the two 1mΩ connections to form a single emitter that's 500µΩ. I'll do the latter by changing the .subckt line to .SUBCKT BFP640ESD 1 2 3, change the RE1 line to RE1 35 3 500u and delete the RE2 line completely. After those changes, the beginning of the file would look something like this:

.SUBCKT BFP640ESD 1 2 3
*
CBEPAR 22 33 2.29E-013
CBCPAR 22 11 7.095E-014
CCEPAR 11 33 2.024E-013
LB    22 20 6.623E-010
LE   33 30 1.519E-010
LC   11 10  6.522E-010
CBEPCK 20 30  4.4E-014
CBCPCK 20 10  1E-015
CCEPCK 10 30  4.4E-014
LBX    20 2 3.607E-010
LEX   30 35 5.524E-011
LCX   10 1  2.452E-010
*
RE1 35 3 500u
*
D1 33 25 M_D1
D2 41 25  M_D2
*

The final step to make this work is to ctrl+rightclick the NPN symbol in LTspice to change the "Prefix" field from QN to X which allows you to use it for subcircuits.

enter image description here


A more direct approach (which doesn't require experienced analysis of the .subckt in question) would be to use the npn4 symbol which has a 4th terminal. It's originally meant for the substrate connection, but since you are using a .subckt instead of a .model it doesn't matter and just provides you with an extra terminal. I will use this extra terminal as the 2nd emitter and tie them together in the schematic. We still have to change the "Prefix" field as was done above.

enter image description here


Last is the method you hinted at in your question's comments, which is the auto-generated symbol which can be used with any .subckt. Instead of re-explaining this, I'm just going to link to the Analog Devices website which already has a tutorial on it.

enter image description here