This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Simulating OPA847 with Mentor DxDesigner(HyperLynx) and/or Agilent ADS

Other Parts Discussed in Thread: OPA847

Hi

I'm working on a high speed amplifier design using the OPA847 as a part of my thesis. I'm doing schematics and simulations in Mentor DxDesigner with HyperLynx. However, I have great difficulties getting my simulations correct. It seems that the OPA847 operates "correctly", however the gain is -20dB to -40dB with a design that works fine with simulations in TINA.

Since HyperLynx does not support PSPICE I have to (down-)convert the spice file. I have attached this spice file and hope that someone could review it to see if any wrong-doings can be identified...

I have also tried simulating the design in ADS with the original OPA847, but got the same result.

All help is appreciated!

 

 

 

Netlist:

V-5V V- 0 DC -5 

V5V V+ 0 DC 5 

**VMMP_VCC MPPC_VCC 0 DC 72,5 

**ITrigger INPUT 0 DC 0 

**ITrigger INPUT 0 DC 0 SIN (0 0.001 100 0 0 )

R1I218 Output 0 50

X1I9 N1N139 Input V+ N1N98 V+ V- OPA847_MODEL

R1I20 MPPC_VCC N1N52 10k

R1I254 MPPC_VCC 0 10k

C1I45 N1N52 0 100n

R1I80 Input N1N98 200

C1I237 Input N1N98 1p

C1I102 N1N98 Output 100n

R1I125 N1N139 0 1k

C1I132 N1N139 0 100n

C1I153 V+ 0 100n

C1I161 V- 0 100n

V1 Input 0 AC 1mV

* Dictionary 1

* GND=0

* Subcircuit OPA847_MODEL

.subckt opa847_model + - dis out v+ v-

*.param x1=0.25

*.param x2=0.5 *{x1*2}

*.param x6=1.5 *{x2*3}

*.param x24=3

*.param x30=7.5 *{x2*15}

*.param x60=15 *{x30*2}

*.param x128=16

q_q1 11 n_0001 n_0002 pnp8 3*x24

q_q47 10 n_0001 n_0003 pnp8 3*x24

r_r1 n_0003 n_0004 175

r_r2 n_0002 n_0004 175

v_v1 n_0005 vmid 0.0659v

x_f1 n_0006 n_0007 n_0004 n_0008 opa847_model_f1

r_r37 vmid n_0009 288

x_f4 n_0010 n_0009 n_0004 n_0011 opa847_model_f4

x_f3 n_0007 n_0010 n_0004 n_0012 opa847_model_f3

c_c2 n_0013 n_0004 5p

c_c3 n_0013 11 3.95p

x_f2 n_0008 n_0013 n_0014 n_0013 opa847_model_f2

e_e1 vmid n_0013 n_0004 n_0013 0.5

r_r36 n_0013 n_0004 49.5kk

x_f5 n_0015 n_0013 n_0016 n_0013 opa847_model_f5

q_q14 n_0018 n_0017 n_0019 npn8 .125

x_f8 n_0020 n_0018 v+ n_0021 opa847_model_f8

x_f6 n_0022 n_0006 v+ n_0017 opa847_model_f6

r_r21 n_0004 v+ 6

q_q44 v+ n_0016 n_0023 npn8 7.5 *x30

r_r31 n_0016 n_0024 750

r_r8 v- n_0017 200k

q_q15 n_0017 n_0019 v- npn8 0.25 *x1

r_r6 n_0013 v- 6

r_r40 v- n_0019 2.317k

q_q43 v- n_0016 n_0025 pnp8 7.5*x30

q_q24 v- n_0023 n_0026 pnp8 15 *x60

q_q20 v- n_0026 n_0024 pnp8 0.5*x2

q_q19 v+ n_0026 n_0024 npn8 0.5*x2

r_r15 n_0026 out 2

x_f7 v+ n_0020 v+ n_0025 opa847_model_f7

x_f9 n_0021 v- n_0023 v- opa847_model_f9

q_q46 10 n_0027 n_0014 npn8 16*x128

c_c7 n_0013 n_0016 0.25p

q_q18 v+ n_0025 n_0026 npn8 15*x60

c_c6 10 n_0026 3.428p

r_r38 n_0012 n_0001 125

r_r39 n_0001 n_0011 125

q_q48 n_0016 10 n_0011 pnp8 1.5*x6

q_q41 n_0015 11 n_0012 pnp8 1.5*x6

x_s1 n_0004 dis n_0022 n_0005 opa847_model_s1

r_r41 + n_0027 10

r_r42 - n_0028 10

q_q49 11 n_0028 n_0014 npn8 16.08 *{x128*1.005}

.model npn8 npn

+ is=7.604e-18 bf=1.570e+02 nf=1.000e+00 vaf=7.871e+01

+ ikf=3.975e-02 ise=3.219e-14 ne=2.000e+00 br=7.614e-01

+ nr=1.000e+00 var=1.452e+00 ikr=8.172e-02 isc=7.618e-21

+ nc=1.847e+00 rb=1.060e+02 irb=0.000e+00 rbm=2.400e+00

+ re=2.520e+00 rc=1.270e+02 cje=1.120e-13 vje=7.591e-01

+ mje=5.406e-01 tf=1.213e-11 xtf=2.049e+00 vtf=1.813e+00

+ itf=4.293e-02 ptf=0.000e+00 cjc=8.208e-14 vjc=6.666e-01

+ mjc=4.509e-01 xcjc=8.450e-02 tr=4.000e-11 cjs=1.160e-13

+ vjs=5.286e-01 mjs=4.389e-01 xtb=1.022e+00 eg=1.120e+00

+ xti=1.780e+00 kf=3.500e-16 af=1.000e+00 fc=8.273e-01

.model pnp8 pnp

+ is=7.999e-18 bf=1.418e+02 nf=1.000e+00 vaf=4.158e+01

+ ikf=1.085e-01 ise=2.233e-15 ne=1.505e+00 br=3.252e+01

+ nr=1.050e+00 var=1.093e+00 ikr=5.000e-05 isc=6.621e-16

+ nc=1.150e+00 rb=6.246e+01 irb=0.000e+00 rbm=2.240e+00

+ re=2.537e+00 rc=1.260e+02 cje=9.502e-14 vje=7.320e-01

+ mje=4.930e-01 tf=1.303e-11 xtf=3.500e+01 vtf=3.259e+00

+ itf=2.639e-01 ptf=0.000e+00 cjc=1.080e-13 vjc=7.743e-01

+ mjc=5.000e-01 xcjc=8.504e-02 tr=1.500e-10 cjs=1.290e-13

+ vjs=9.058e-01 mjs=4.931e-01 xtb=1.732e+00 eg=1.120e+00

+ xti=2.000e+00 kf=3.500e-16 af=1.000e+00 fc=8.500e-01

.subckt opa847_model_f1 1 2 3 4

f_f1 3 4 vf_f1 1

vf_f1 1 2 0v

.ends opa847_model_f1

 

.subckt opa847_model_f4 1 2 3 4

f_f4 3 4 vf_f4 5.96931517984

vf_f4 1 2 0v

.ends opa847_model_f4

 

.subckt opa847_model_f3 1 2 3 4

f_f3 3 4 vf_f3 5.96931517984

vf_f3 1 2 0v

.ends opa847_model_f3

 

.subckt opa847_model_f2 1 2 3 4

f_f2 3 4 vf_f2 17.54155155502

vf_f2 1 2 0v

.ends opa847_model_f2

 

.subckt opa847_model_f5 1 2 3 4

f_f5 3 4 vf_f5 1

vf_f5 1 2 0v

.ends opa847_model_f5

 

.subckt opa847_model_f8 1 2 3 4

f_f8 3 4 vf_f8 1.14285714286

vf_f8 1 2 0v

.ends opa847_model_f8

 

.subckt opa847_model_f6 1 2 3 4

f_f6 3 4 vf_f6 0.1666667

vf_f6 1 2 0v

.ends opa847_model_f6

 

.subckt opa847_model_f7 1 2 3 4

f_f7 3 4 vf_f7 8

vf_f7 1 2 0v

.ends opa847_model_f7

 

.subckt opa847_model_f9 1 2 3 4

f_f9 3 4 vf_f9 7

vf_f9 1 2 0v

.ends opa847_model_f9

 

.subckt opa847_model_s1 1 2 3 4

s_s1 3 4 1 2 _s1

rs_s1 1 2 1g

.model _s1 sw roff=1e9 ron=1m vh=3v vt=2v

.ends opa847_model_s1

 

.ends    opa847_model

 

 

  • Hello,

    For the OPA847, the typical problem in going to a non-Pspice environment is the model of this switch:

    .model _s1 sw roff=1e9 ron=1m vh=3v vt=2v

    We can remove the disable function by changing the following lines.  This should allow for proper operation in ADS and possibly HyperLynx.

    .SUBCKT OPA847_Model + - V+ V- Out  

    R_R1000      $N_0022 $N_0005 0.1

    *X_S1    $N_0004 Dis $N_0022 $N_0005 OPA847_Model_S1

    This last statement is commented out, but could be removed. 

    Also, remove this statement:

    .subckt OPA847_Model_S1 1 2 3 4 

    S_S1         3 4 1 2 _S1

    RS_S1         1 2 1G

    .MODEL         _S1 VSWITCH Roff=1e9 Ron=1m Voff=3V Von=2V

    .ends OPA847_Model_S1

    The new model would be reduced from 6 pins to 5 pins.  Here it is in full:

     

    *OPA847  Wideband, Ultra-Low Noise Voltage Feedback Operational Amplifier with Shutdown

    * REV. A - Created 7/14/06 X-ramus2@ti.com

    *

    *

    * NOTES:

    *   1- This macromodel predicts well: DC, small-signal AC, noise,

    *      , and transient performance under a wide range

    *      of conditions.

    *   2- This macromodel does not predict well: distortion

    *      (harmonic, intermod, diff. gain & phase, ...),

    *      temperature effects, board parasitics, differences

    *      between package styles, and process changes

    *   3- For Spice3F4 users they might need to un-comment the lines for the F

    *      function and comment out the Lines for PSpice F functions

    *      and subckts. First try the present netlist then comment out lines if

    *      errors appear.

    *      General form:

    *      FXXXXXXX N+ N- <POLY(ND)> VN1 <VN2 ...> P0 <P1 ...> <IC=...>

    *      Examples:

    *      F1 12 10 VCC 1MA 1.3M

    *   4- For some simulators the subckt for the F statement need to be placed

    *      inside the ends statement followed by carriage return 

    *   5- Known Problems: - None

    *

    * |-------------------------------------------------------------|

    * |  This macro model is being supplied as an aid to            |

    * |  circuit designs.  While it reflects reasonably close       |

    * |  similarity to the actual device in terms of performance,   |

    * |  it is not suggested as a replacement for breadboarding.    |

    * |  Simulation should be used as a forerunner or a supplement  |

    * |  to traditional lab testing.                                |

    * |                                                             |

    * |  Neither this library nor any part may be copied without    |

    * |  the express written consent of Texas Instruments Corp.     |

    * |-------------------------------------------------------------|

    *

    * CONNECTIONS:

    *                                   Non-Inverting Input

    *                                   | Inverting Input

    *                                   | |  Disable

    *                                   | |  |    Output

    *                                   | |  |    |   Positive Supply

    *                                   | |  |    |   |    Negative Supply

    *                                   | |  |    |   |    |

    *                                   | |  |    |   |    |

    *                                   | |  |    |   |    |

    *                                   | |  |    |   |    |

    .SUBCKT OPA847_Model + - V+ V- Out  

     

    .PARAM x1 = 0.25

    .PARAM x2 = {x1*2}

    .PARAM x6 = {x2*3}

    .PARAM x24 = 3

    .PARAM x30 = {x2*15}

    .PARAM x60 = {x30*2}

    .PARAM x128 = 16

     

    Q_Q1         11 $N_0001 $N_0002 PNP8 {x24}

    Q_Q47         10 $N_0001 $N_0003 PNP8 {x24}

    R_R1         $N_0003 $N_0004  175 

    R_R2         $N_0002 $N_0004  175 

    V_V1         $N_0005 Vmid 0.0659V

    X_F1    $N_0006 $N_0007 $N_0004 $N_0008 OPA847_Model_F1

    R_R37         Vmid $N_0009  288 

    X_F4    $N_0010 $N_0009 $N_0004 $N_0011 OPA847_Model_F4

    X_F3    $N_0007 $N_0010 $N_0004 $N_0012 OPA847_Model_F3

    C_C2         $N_0013 $N_0004  5p 

    C_C3         $N_0013 11  3.95p 

    X_F2    $N_0008 $N_0013 $N_0014 $N_0013 OPA847_Model_F2

    E_E1         Vmid $N_0013 $N_0004 $N_0013 0.5

    R_R36         $N_0013 $N_0004  49.5kk 

    X_F5    $N_0015 $N_0013 $N_0016 $N_0013 OPA847_Model_F5

    Q_Q14         $N_0018 $N_0017 $N_0019 NPN8 .125

    X_F8    $N_0020 $N_0018 V+ $N_0021 OPA847_Model_F8

    X_F6    $N_0022 $N_0006 V+ $N_0017 OPA847_Model_F6

    R_R21         $N_0004 V+  6 

    Q_Q44         V+ $N_0016 $N_0023 NPN8 {x30}

    R_R31         $N_0016 $N_0024  750 

    R_R8         V- $N_0017  200k 

    Q_Q15         $N_0017 $N_0019 V- NPN8 {x1}

    R_R6         $N_0013 V-  6 

    R_R40         V- $N_0019  2.317k 

    Q_Q43         V- $N_0016 $N_0025 PNP8 {x30}

    Q_Q24         V- $N_0023 $N_0026 PNP8 {x60}

    Q_Q20         V- $N_0026 $N_0024 PNP8 {x2}

    Q_Q19         V+ $N_0026 $N_0024 NPN8 {x2}

    R_R15         $N_0026 Out  2 

    X_F7    V+ $N_0020 V+ $N_0025 OPA847_Model_F7

    X_F9    $N_0021 V- $N_0023 V- OPA847_Model_F9

    Q_Q46         10 $N_0027 $N_0014 NPN8 {x128}

    C_C7         $N_0013 $N_0016  0.25p 

    Q_Q18         V+ $N_0025 $N_0026 NPN8 {x60}

    C_C6         10 $N_0026  3.428p 

    R_R38         $N_0012 $N_0001  125 

    R_R39         $N_0001 $N_0011  125 

    Q_Q48         $N_0016 10 $N_0011 PNP8 {x6}

    Q_Q41         $N_0015 11 $N_0012 PNP8 {x6}

    R_R1000      $N_0022 $N_0005 0.1

    R_R41         + $N_0027  10 

    R_R42         - $N_0028  10 

    Q_Q49         11 $N_0028 $N_0014 NPN8 {x128*1.005}

     

    .MODEL NPN8 NPN

    + IS = 7.604E-18 BF = 1.570E+02 NF = 1.000E+00 VAF= 7.871E+01

    + IKF= 3.975E-02 ISE= 3.219E-14 NE = 2.000E+00 BR = 7.614E-01

    + NR = 1.000E+00 VAR= 1.452E+00 IKR= 8.172E-02 ISC= 7.618E-21

    + NC = 1.847E+00 RB = 1.060E+02 IRB= 0.000E+00 RBM= 2.400E+00

    + RE = 2.520E+00 RC = 1.270E+02 CJE= 1.120E-13 VJE= 7.591E-01

    + MJE= 5.406E-01 TF = 1.213E-11 XTF= 2.049E+00 VTF= 1.813E+00

    + ITF= 4.293E-02 PTF= 0.000E+00 CJC= 8.208E-14 VJC= 6.666E-01

    + MJC= 4.509E-01 XCJC=8.450E-02 TR = 4.000E-11 CJS= 1.160E-13

    + VJS= 5.286E-01 MJS= 4.389E-01 XTB= 1.022E+00 EG = 1.120E+00

    + XTI= 1.780E+00 KF = 3.500E-16 AF = 1.000E+00 FC = 8.273E-01

     

     

    .MODEL PNP8 PNP

    + IS = 7.999E-18 BF = 1.418E+02 NF = 1.000E+00 VAF= 4.158E+01

    + IKF= 1.085E-01 ISE= 2.233E-15 NE = 1.505E+00 BR = 3.252E+01

    + NR = 1.050E+00 VAR= 1.093E+00 IKR= 5.000E-05 ISC= 6.621E-16

    + NC = 1.150E+00 RB = 6.246E+01 IRB= 0.000E+00 RBM= 2.240E+00

    + RE = 2.537E+00 RC = 1.260E+02 CJE= 9.502E-14 VJE= 7.320E-01

    + MJE= 4.930E-01 TF = 1.303E-11 XTF= 3.500E+01 VTF= 3.259E+00

    + ITF= 2.639E-01 PTF= 0.000E+00 CJC= 1.080E-13 VJC= 7.743E-01

    + MJC= 5.000E-01 XCJC=8.504E-02 TR = 1.500E-10 CJS= 1.290E-13

    + VJS= 9.058E-01 MJS= 4.931E-01 XTB= 1.732E+00 EG = 1.120E+00

    + XTI= 2.000E+00 KF = 3.500E-16 AF = 1.000E+00 FC = 8.500E-01

     

    .ENDS    OPA847_Model

     

    .subckt OPA847_Model_F1 1 2 3 4 

    F_F1         3 4 VF_F1 1

    VF_F1         1 2 0V

    .ends OPA847_Model_F1

     

    .subckt OPA847_Model_F4 1 2 3 4 

    F_F4         3 4 VF_F4 5.96931517984

    VF_F4         1 2 0V

    .ends OPA847_Model_F4

     

    .subckt OPA847_Model_F3 1 2 3 4 

    F_F3         3 4 VF_F3 5.96931517984

    VF_F3         1 2 0V

    .ends OPA847_Model_F3

     

    .subckt OPA847_Model_F2 1 2 3 4 

    F_F2         3 4 VF_F2 17.54155155502

    VF_F2         1 2 0V

    .ends OPA847_Model_F2

     

    .subckt OPA847_Model_F5 1 2 3 4 

    F_F5         3 4 VF_F5 1

    VF_F5         1 2 0V

    .ends OPA847_Model_F5

     

    .subckt OPA847_Model_F8 1 2 3 4 

    F_F8         3 4 VF_F8 1.14285714286

    VF_F8         1 2 0V

    .ends OPA847_Model_F8

     

    .subckt OPA847_Model_F6 1 2 3 4 

    F_F6         3 4 VF_F6 0.1666667

    VF_F6         1 2 0V

    .ends OPA847_Model_F6

     

    .subckt OPA847_Model_F7 1 2 3 4 

    F_F7         3 4 VF_F7 8

    VF_F7         1 2 0V

    .ends OPA847_Model_F7

     

    .subckt OPA847_Model_F9 1 2 3 4 

    F_F9         3 4 VF_F9 7

    VF_F9         1 2 0V

    .ends OPA847_Model_F9

    If that does not solve the problem, could you also provide a plot showing the issue and a DC analysis such that I can verify that the voltage levels are correct?

    Thank you.

    Regards,

    Nick