Problem importing a TI part

Until a few weeks a go my THS3091 device works fine, but after an update from Qspice i got some error messages.

Didn’t find a model for “12•X1” – defaults assumed.
Didn’t find a model for “4•X1” – defaults assumed.

I tried to create a new symbol, it imported with no error but when i start a simulation the error returns.

This is the model that I import.

.subckt THS3091 inp inn out vcc vee

.MODEL bi_pnp PNP

  • RC=100
  • CJE=20.000E-15
  • CJC=20.000E-15
  • KF=1.5e-13

.MODEL bi_npn NPN

  • RC=100
  • CJE=20.000E-15
  • CJC=20.000E-15
  • KF=1.5e-13

.MODEL D_break D

  • RS=1.0000E-1
  • CJO=1.0000E-13
  • IS=100e-15
  • source THS3091

  • Input stage
    E_E6 INPP INP N33650 0 1
    R_R24 0 N33650 700
    C_C6 0 N33650 1f
    V_V6 IN INN 0.9mVdc
    C_C3 0 INN 630f
    I_I4 INP 0 -4.5uA
    I_I5 INN 0 -3uA
    Q_Q15 VCC INPP N00923 BI_NPN 4
    Q_Q16 N01029 N00889 IN BI_NPN 4
    Q_Q17 N01060 N01060 N013920 BI_NPN 12
    Q_Q21 N01060 N00923 IN BI_PNP 4
    Q_Q22 VEE INP N00889 BI_PNP 4
    Q_Q23 N01029 N01029 N01331 BI_PNP 12
    R_R1 N01331 N01300 250
    R_R2 N01429 N013920 250
    I_I1 VCC N00889 DC 300uAdc
    I_I2 N00923 VEE DC 300uAdc

  • mirrors
    X_F1 VCC N01300 VCC LLL SCHEMATIC1_F1
    X_F2 N01429 VEE LLL VEE SCHEMATIC1_F2

  • clamps
    D_D5 LLL N29734 D_BREAK 2
    D_D6 N29798 LLL D_BREAK 2
    V_V7 N29734 VCC -2.3Vdc
    V_V8 N29798 VEE 2.3Vdc

  • frequency shaping and compensation
    C_C1 eref LLL 0.66p
    R_R3 eref LLL 900k
    R_R11 eref INT 1000
    C_C5 eref INT 400f
    G_G1 INT eref LLL eref -1m

  • buffer and output stages
    E_E1 VCC N02648 N02361 eref -1
    E_E2 N02628 VEE N02418 eref 1
    D_D3 N02648 N02743 D_BREAK 8
    D_D4 N028591 N02628 D_BREAK 8

R_R5 N02855 N02743 5
R_R7 N028591 N02855 5
E_E101 avg vee vcc vee 0.5
E_E102 eref 0 avg 0 1
E_E103 diff 0 vcc vee 0.5
E_E104 lshift 0 diff ddrop 1
E_E105 INT N02361 lshift 0 1
E_E106 INT N02418 lshift 0 -1

C_C2 0 OUT 0.7p
L_L1 N02855 OUT 1n
I_I3 VCC VEE 4.85mA

V_V102 ddrop 0 0.65

.ends THS3091
*$

.subckt SCHEMATIC1_F1 1 2 3 4
F_F1 3 4 VF_F1 1
VF_F1 1 2 0V
.ends SCHEMATIC1_F1
*$

.subckt SCHEMATIC1_F2 1 2 3 4
F_F2 3 4 VF_F2 1
VF_F2 1 2 0V
.ends SCHEMATIC1_F2

THS3091.qsch (7.4 KB)

I tested your circuit with previous version of Qspice
27 Dec 2023 Build : No warning and simulation work fine
30 Dec 2023 Build : Return warning you observed

It seems one of the change between this period causing such a behavior.
You can send an email to Mike Engelhardt to get support if this is a bug. You can find his email in Qspice > Help > About Qspice

By digging into the subckt, the problem is here.
Delete the number after pnp or npn model and warning go away in latest Qspice version.

However, I am a bit confuse as this number seems to be instance parameter Area. So, possible better contact with Mike to clarify.

THS3091_RemoveNumber.qsch (7.3 KB)

Bi_npn 4 => Bi_npn area=4
BI_NPN 12 =>BI_NPN area=12
PNP 4 =>PNP area=4
D_BREAK 2 => D_BREAK area=2
D_BREAK area=8


THS3091_AB.qsch (7.4 KB)
It is necessary to inform the author of the program about the discovered flaw.

So, spice syntax should accept a number follow the model as area. But in latest update, it cannot recognize this number except to add area= instance parameter in this circuit example?

Qspice Help for Transistor Q

  • Qnnn C B E S [area] [instance parameters]

Thanks all.

Solution works, and also send a message to the author.

Thank you all, as always, for your support and for highlighting bugs. I am sure Mike will patch this promptly. When a new build is available, we’ll delete this thread to avoid search engines indexing a resolved problem.

Jeff

The problem is that the BJT is four-terminal device. If the fourth isn’t specified, node zero is assumed.
The update is being more critical of this. I’ll try to get the model to run, but it that line should have been written as

Q_Q15 VCC INPP N00923 0 BI_NPN 4

i.e., explicitely conneting the substrate to ground instead of having the parser connecting it there for you.

–Mike

1 Like