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.

  • Resolved

Using PSpice model for OPA140 or OPA2140

Hi all,

I am using OPA2140 as my 2nd stage of my transimpendance amplifier (reference: http://e2e.ti.com/support/amplifiers/precision_amplifiers/f/14/t/158884.aspx#584443).  Following the SLOA070 guide, I successfully imported the Spice Model in PSpice and changed it symbol to a triangular shape accordingly.  What I notice when I was changing the symbol is that apart from the familiar OPA2140 sub-circuit, I also see a list of other sub-circuits -- FEMT_0, IDEAL_D_0, IDEAL_D_1, etc.  Surely, because I did not attend to these sub-circuits, a bunch of errors was generated during simulation (as follows):

ERROR(ORPSIM-15108): Subcircuit IDEAL_D_0 used by X_U1.XU12 is undefined
ERROR(ORPSIM-15108): Subcircuit IDEAL_D_0 used by X_U1.XU8 is undefined
ERROR(ORPSIM-15108): Subcircuit FEMT_0 used by X_U1.XIn11 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR109 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR109_2 is undefined
ERROR(ORPSIM-15108): Subcircuit VNSE_0 used by X_U1.XVn11 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_0 used by X_U1.XU14 is undefined
ERROR(ORPSIM-15108): Subcircuit IDEAL_D_1 used by X_U1.XU13 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR109_3 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_1 used by X_U1.XR109_4 is undefined
ERROR(ORPSIM-15108): Subcircuit VARICAP_0 used by X_U1.XU9 is undefined
ERROR(ORPSIM-15108): Subcircuit VC_RES_0 used by X_U1.XU7 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_1 used by X_U1.XU5 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_2 used by X_U1.XU6 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_3 used by X_U1.XU3 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_3 used by X_U1.XU1 is undefined
ERROR(ORPSIM-15108): Subcircuit IDEAL_D_1 used by X_U1.XU2 is undefined
ERROR(ORPSIM-15108): Subcircuit VCCS_LIMIT_0 used by X_U1.XU26 is undefined
ERROR(ORPSIM-15108): Subcircuit VCCS_LIMIT_1 used by X_U1.XU4 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_4 used by X_U1.XVCVSPSRR is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_5 used by X_U1.XU22 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_5 used by X_U1.XU21 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_5 used by X_U1.XU20 is undefined
ERROR(ORPSIM-15108): Subcircuit VCVS_LIMIT_6 used by X_U1.XU19 is undefined
ERROR(ORPSIM-15108): Subcircuit IDEAL_D_0 used by X_U1.XU11 is undefined
ERROR(ORPSIM-15108): Subcircuit IDEAL_D_0 used by X_U1.XU10 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_1 used by X_U1.XR109_5 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR102 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR101 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR105 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_2 used by X_U1.XR104 is undefined
ERROR(ORPSIM-15108): Subcircuit RNOISE_FREE_0 used by X_U1.XR103 is undefined

Subsequently, I tried the PSpice model for OPA140, thinking it does not include those extra sub-circuits, but I was wrong.  These sub-circuits seem to be parameters that I can fine tune for my simulation, however, I do not have a proper understanding what each one are.  My search online and in the forum for these parameters came out nothing.  Please let me know if anyone has some insight into this.  Thank you in advance!

- Wayne Chu

  • Hi Wayne,

    Speaking from personal experience I can tell you that the PSpice Model Editor occasionally stops importing text after the first ".ends" that it sees. Many models include information beyond the ".ends" of the main subcircuit that needs to be included for the model to function properly, I think of them like functions in a C program if that helps. See the image below:

    You should be able to cut and paste this text back into the pspice model you created to restore proper functionality.

    John Caldwell

    Systems Engineering Manager

    Precision Amplifiers

  • In reply to John Caldwell:

    Hi John, thanks for the reply.  You are correct on PSpice Model Editor stops importing text after the first ".ends".  I think this corrected the issue, however, when I try to test it my demo version of 75 node limits exceeded.  I tried both OPA140 and OPA2140 with a minimalist design (GND to positive input, VAC SOURCE to negative input, +-15 V for supply).

    ERROR -- EVALUATION VERSION analog Node Limit (75 Nodes) Exceeded!

    So, I have switched over to TINA-TI and all the op-amps are already in the application and have been quite happy using it.  Thank you for your help!

  • In reply to Wayne Chu:

    Hi Wayne,I have the same question with you.

    ERROR -- EVALUATION VERSION analog Node Limit (75 Nodes) Exceeded!

    And I don't konw how to deal with it ,so if you konw please tell me how to do it ,thank you very much!

    I am the first time use Psipice.

  • In reply to ning li2:

    Ning,

    The free/evaluation version of PSpice can only perform simulations on circuits with 75 nodes or less, this limit also includes nodes that are inside a part's simulation model. A complex model such as the type we use for the OPA140 may have more than 75 nodes inside the part and therefore you will not be able to simulate using this part in the free version of PSpice.

    The original poster in this thread switched to using Tina-TI, which has no node limit, and was able to simulate his circuit without issue. 

    John Caldwell

    Systems Engineering Manager

    Precision Amplifiers

  • In reply to John Caldwell:

    There's another error in the current version of the model, a missing left parenthesis before the "25,0.4" in the statement E1 OUT:

    *VOLTAGE CONTROLLED SOURCE WITH LIMITS
    .SUBCKT VCVS_LIMIT_1  VC+ VC- VOUT+ VOUT-
    *              
    *$
    E1 VOUT+ VOUT- TABLE {ABS(V(VC+,VC-))} = (0,0.2) (10,0.25) 25,0.4) (35.9,0.6)
    .ENDS VCVS_LIMIT_1

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.