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.

OPA1692: OPA1692 Model in LTSpice

Part Number: OPA1692
Other Parts Discussed in Thread: TINA-TI

After running a simulation of OPA1692 in LTSpice, error log shows "Ignoring empty pin current:" for all the subckt connections

The simulation seems to run OK, but sometimes it crashes

Is there a conflict in syntax with LTSpice that I can change in the .LIB file to fix this?

Ignoring empty pin current: Ix(u1:vcm_clamp:vin+)
Ignoring empty pin current: Ix(u1:vcm_clamp:vin-)
Ignoring empty pin current: Ix(u1:vcm_clamp:vp+)
Ignoring empty pin current: Ix(u1:vcm_clamp:vp-)
Ignoring empty pin current: Ix(u1:iqp:vc+)
Ignoring empty pin current: Ix(u1:iqp:vc-)
Ignoring empty pin current: Ix(u1:iqn:vc+)
Ignoring empty pin current: Ix(u1:iqn:vc-)
Ignoring empty pin current: Ix(u1:clawp:vc+)
Ignoring empty pin current: Ix(u1:clawp:vc-)
Ignoring empty pin current: Ix(u1:clawn:vc+)
Ignoring empty pin current: Ix(u1:clawn:vc-)
Ignoring empty pin current: Ix(u1:cl_amp:vc+)
Ignoring empty pin current: Ix(u1:cl_amp:vc-)
Ignoring empty pin current: Ix(u1:cl_amp:vin)
Ignoring empty pin current: Ix(u1:ol_sense_opa1692:3)
Ignoring empty pin current: Ix(u1:ol_sense_opa1692:4)
Ignoring empty pin current: Ix(u1:claw_amp:vc+)
Ignoring empty pin current: Ix(u1:claw_amp:vc-)
Ignoring empty pin current: Ix(u1:claw_amp:vin)
Ignoring empty pin current: Ix(u1:cl_src:vc+)
Ignoring empty pin current: Ix(u1:cl_src:vc-)
Ignoring empty pin current: Ix(u1:claw_src:vc+)
Ignoring empty pin current: Ix(u1:claw_src:vc-)
Ignoring empty pin current: Ix(u1:gr_amp:vc+)
Ignoring empty pin current: Ix(u1:gr_amp:vc-)
Ignoring empty pin current: Ix(u1:gr_amp:vin)
Ignoring empty pin current: Ix(u1:gr_src:vc+)
Ignoring empty pin current: Ix(u1:gr_src:vc-)
Ignoring empty pin current: Ix(u1:vccs_limit_1:vc+)
Ignoring empty pin current: Ix(u1:vccs_limit_1:vc-)
Ignoring empty pin current: Ix(u1:vccs_limit_2:vc+)
Ignoring empty pin current: Ix(u1:vccs_limit_2:vc-)
Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc+)
Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc-)
Ignoring empty pin current: Ix(u1:vcm_clamp:vin+)
Ignoring empty pin current: Ix(u1:vcm_clamp:vin-)
Ignoring empty pin current: Ix(u1:vcm_clamp:vp+)
Ignoring empty pin current: Ix(u1:vcm_clamp:vp-)
Ignoring empty pin current: Ix(u1:iqp:vc+)
Ignoring empty pin current: Ix(u1:iqp:vc-)
Ignoring empty pin current: Ix(u1:iqn:vc+)
Ignoring empty pin current: Ix(u1:iqn:vc-)
Ignoring empty pin current: Ix(u1:clawp:vc+)
Ignoring empty pin current: Ix(u1:clawp:vc-)
Ignoring empty pin current: Ix(u1:clawn:vc+)
Ignoring empty pin current: Ix(u1:clawn:vc-)
Ignoring empty pin current: Ix(u1:cl_amp:vc+)
Ignoring empty pin current: Ix(u1:cl_amp:vc-)
Ignoring empty pin current: Ix(u1:cl_amp:vin)
Ignoring empty pin current: Ix(u1:ol_sense_opa1692:3)
Ignoring empty pin current: Ix(u1:ol_sense_opa1692:4)
Ignoring empty pin current: Ix(u1:claw_amp:vc+)
Ignoring empty pin current: Ix(u1:claw_amp:vc-)
Ignoring empty pin current: Ix(u1:claw_amp:vin)
Ignoring empty pin current: Ix(u1:cl_src:vc+)
Ignoring empty pin current: Ix(u1:cl_src:vc-)
Ignoring empty pin current: Ix(u1:claw_src:vc+)
Ignoring empty pin current: Ix(u1:claw_src:vc-)
Ignoring empty pin current: Ix(u1:gr_amp:vc+)
Ignoring empty pin current: Ix(u1:gr_amp:vc-)
Ignoring empty pin current: Ix(u1:gr_amp:vin)
Ignoring empty pin current: Ix(u1:gr_src:vc+)
Ignoring empty pin current: Ix(u1:gr_src:vc-)
Ignoring empty pin current: Ix(u1:vccs_limit_1:vc+)
Ignoring empty pin current: Ix(u1:vccs_limit_1:vc-)
Ignoring empty pin current: Ix(u1:vccs_limit_2:vc+)
Ignoring empty pin current: Ix(u1:vccs_limit_2:vc-)
Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc+)
Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc-)

Below is from the OPA1692 spice model where it calls the sub circuits (which are igrnored):

.SUBCKT VOS_DRIFT_OPA1692  VOS+ VOS-
.PARAM DC = 2.2141E-04
.PARAM POL = 1
.PARAM DRIFT = 5.00E-07
E1 VOS+ VOS- VALUE={DC+POL*DRIFT*(TEMP-27)}
.ENDS
*
.subckt CLAMP_AMP_HI_OPA1692 VC+ VC- VIN COM VO+ VO-
.param G=10
GVo+ COM Vo+ Value = {IF(V(VIN,COM)>V(VC+,COM),((V(VIN,COM)-V(VC+,COM))*G),0)}
GVo- COM Vo- Value = {IF(V(VIN,COM)<V(VC-,COM),((V(VC-,COM)-V(VIN,COM))*G),0)}
.ends CLAMP_AMP_HI_OPA1692
*
.subckt OL_SENSE_OPA1692 1   2  3  4
GSW+ 1 2 Value = {IF((V(3,1)>10e-3 | V(4,1)>10e-3),1,0)}
.ends OL_SENSE_OPA1692
*
.subckt FEMT_OPA1692 1 2
.param FLWF=.1
.param GLFF=2.31893
.param RNVF=165171
.model DVNF D KF={PWR(FLWF,0.5)/1e11} IS=1.0e-16
I1 0 7 10e-3
I2 0 8 10e-3
D1 7 0 DVNF
D2 8 0 DVNF
E1 3 6 7 8 {GLFF}
R1 3 0 1e9
R2 3 0 1e9
R3 3 6 1e9
E2 6 4 5 0 10
R4 5 0 {RNVF}
R5 5 0 {RNVF}
R6 3 4 1e9
R7 4 0 1e9
G1 1 2 3 4 1e-6
.ends FEMT_OPA1692
*
.subckt VCCS_EXT_LIM_OPA1692 VIN+ VIN- IOUT- IOUT+ VP+ VP-
.param Gain = 1
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VIN+,VIN-),V(VP-,VIN-), V(VP+,VIN-))}
.ends VCCS_EXT_LIM_OPA1692
*
.subckt VCCS_LIM_3_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1
.param Ipos = 0.127
.param Ineg = -0.127
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_3_OPA1692
*
.subckt VCCS_LIM_4_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1
.param Ipos = 0.253
.param Ineg = -0.253
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_4_OPA1692
*
.subckt VCCS_LIM_CLAWp_OPA1692 VC+ VC- IOUT+ IOUT-
G1 IOUT+ IOUT- TABLE {(V(VC+,VC-))} =
+(0, 208.821e-6)
+(50, 7.4e-4)
.ends VCCS_LIM_CLAWp_OPA1692
*
.subckt VCCS_LIM_CLAWn_OPA1692 VC+ VC- IOUT+ IOUT-
G1 IOUT+ IOUT- TABLE {(V(VC+,VC-))} =
+(0, 200e-6)
+(46, 5.81e-4)
+(48, 7.31e-4)
+(50, 8.04e-4)
.ends VCCS_LIM_CLAWn_OPA1692
*
.subckt VCCS_LIM_IQ_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1e-3
G1 IOUT+ IOUT- VALUE={IF( (V(VC+,VC-)<=0),0,Gain*V(VC+,VC-) )}
.ends VCCS_LIM_IQ_OPA1692
*
.subckt VNSE_OPA1692 1 2
.param FLW=0.1
.param GLF=0.0135754
.param RNV=22.3014
.model DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16
I1 0 7 10E-3
I2 0 8 10E-3
D1 7 0 DVN
D2 8 0 DVN
E1 3 6 7 8 {GLF}
R1 3 0 1E9
R2 3 0 1E9
R3 3 6 1E9
E2 6 4 5 0 10
R4 5 0 {RNV}
R5 5 0 {RNV}
R6 3 4 1E9
R7 4 0 1E9
E3 1 2 3 4 1
.ends VNSE_OPA1692
*
.subckt CLAMP_AMP_LO_OPA1692 VC+ VC- VIN COM VO+ VO-
.param G=1
GVo+ COM Vo+ Value = {IF(V(VIN,COM)>V(VC+,COM),((V(VIN,COM)-V(VC+,COM))*G),0)}
GVo- COM Vo- Value = {IF(V(VIN,COM)<V(VC-,COM),((V(VC-,COM)-V(VIN,COM))*G),0)}
.ends CLAMP_AMP_LO_OPA1692
*
.subckt VCCS_LIM_GR_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1
.param Ipos = 35.029
.param Ineg = -35.029
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_GR_OPA1692
*
.subckt VCCS_LIM_1_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1e-4
.param Ipos = .5
.param Ineg = -.5
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_1_OPA1692
*
.subckt VCCS_LIM_2_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 0.264842
.param Ipos = 17.515
.param Ineg = -17.515
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_2_OPA1692
*
.subckt VCCS_LIM_ZO_OPA1692 VC+ VC- IOUT+ IOUT-
.param Gain = 1e3
.param Ipos = 1e4
.param Ineg = -1e4
G1 IOUT+ IOUT- VALUE={LIMIT(Gain*V(VC+,VC-),Ineg,Ipos)}
.ends VCCS_LIM_ZO_OPA1692
*

  • Hello Alex,

    As much as we would like to assist you with LTSpice simulation issues TI cannot provide assistance without the risk of violating the rightful owner's Software License Agreement. We respect their rights as to how they control their intellectual property as they do ours.

    I did check your OPA1692 circuit with TI's Tina-TI Spice and it readily converged. You can see the results of a Tina-TI transient analysis below. I then checked the OPA1692 simulation model date and found it uses our latest version of our precision amplifiers op model. Our practice is to test new models using a number of popular simulators to assure they run without problems and easily converge. That was the case for the OPA1692 model.

    Since we at TI cannot provide assistance with LTSpice I suggest you locate one of the on-line use groups that readily provide information and exchanges regarding use of the simulation tool.

    Regards, Thomas

    Precision Amplifiers Applications Engineering

    OPA1692_buf_01.TSC

  • "We respect their rights as to how they control their intellectual property as they do ours."

    Understood, but it would be helpful to have a hint as to what to ask regarding why "other spice simulators" dont recognize the "latest version of our precision amplifiers op model." .SUBCKT parts, is it syntax or just that maybe these calcs are not available in other softwares.  Hint?

  • Hello Alex,

    I duplicated your OPA1692 schematics shown above, and I do not observe any errors.  

    Question:

    Did you copy OPA1692.lib in C:\Users\Your_PC\Documents\LTspiceXVII\lib\sub folder, which your .include statement is pointed to the file path? 

    I assumed you are using opamp2 symbol to create the op amp symbol, after you imported OPA1692.lib in the sub-circuits. 

    If you still have issues, please copy the OPA1692.lib to the C:\Users\Your_PC\Documents\LTspiceXVII\lib\sub folder again, and rerun the simulation. Here is the PSpice file, in case the file is corrupted for some reasons. 

    Best,

    Raymond

    OPA1692.lib

  • I had the opa1692.lib file in the same folder as the schematic .asc

    I did try it again with the OPA1692.lib file in the C:\Users\Your_PC\Documents\LTspiceXVII\lib\sub folder, but received the same errors.

    I verified that the file was not corrupted.

    Raymond, did you check the error log after running the sim?

    I get this:

    Direct Newton iteration for .op point succeeded.
    Ignoring empty pin current: Ix(u1:vcm_clamp:vin+)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vin-)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vp+)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vp-)
    Ignoring empty pin current: Ix(u1:iqp:vc+)
    Ignoring empty pin current: Ix(u1:iqp:vc-)
    Ignoring empty pin current: Ix(u1:iqn:vc+)
    Ignoring empty pin current: Ix(u1:iqn:vc-)
    Ignoring empty pin current: Ix(u1:clawp:vc+)
    Ignoring empty pin current: Ix(u1:clawp:vc-)
    Ignoring empty pin current: Ix(u1:clawn:vc+)
    Ignoring empty pin current: Ix(u1:clawn:vc-)
    Ignoring empty pin current: Ix(u1:cl_amp:vc+)
    Ignoring empty pin current: Ix(u1:cl_amp:vc-)
    Ignoring empty pin current: Ix(u1:cl_amp:vin)
    Ignoring empty pin current: Ix(u1:ol_sense_opa1692:3)
    Ignoring empty pin current: Ix(u1:ol_sense_opa1692:4)
    Ignoring empty pin current: Ix(u1:claw_amp:vc+)
    Ignoring empty pin current: Ix(u1:claw_amp:vc-)
    Ignoring empty pin current: Ix(u1:claw_amp:vin)
    Ignoring empty pin current: Ix(u1:cl_src:vc+)
    Ignoring empty pin current: Ix(u1:cl_src:vc-)
    Ignoring empty pin current: Ix(u1:claw_src:vc+)
    Ignoring empty pin current: Ix(u1:claw_src:vc-)
    Ignoring empty pin current: Ix(u1:gr_amp:vc+)
    Ignoring empty pin current: Ix(u1:gr_amp:vc-)
    Ignoring empty pin current: Ix(u1:gr_amp:vin)
    Ignoring empty pin current: Ix(u1:gr_src:vc+)
    Ignoring empty pin current: Ix(u1:gr_src:vc-)
    Ignoring empty pin current: Ix(u1:vccs_limit_1:vc+)
    Ignoring empty pin current: Ix(u1:vccs_limit_1:vc-)
    Ignoring empty pin current: Ix(u1:vccs_limit_2:vc+)
    Ignoring empty pin current: Ix(u1:vccs_limit_2:vc-)
    Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc+)
    Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc-)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vin+)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vin-)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vp+)
    Ignoring empty pin current: Ix(u1:vcm_clamp:vp-)
    Ignoring empty pin current: Ix(u1:iqp:vc+)
    Ignoring empty pin current: Ix(u1:iqp:vc-)
    Ignoring empty pin current: Ix(u1:iqn:vc+)
    Ignoring empty pin current: Ix(u1:iqn:vc-)
    Ignoring empty pin current: Ix(u1:clawp:vc+)
    Ignoring empty pin current: Ix(u1:clawp:vc-)
    Ignoring empty pin current: Ix(u1:clawn:vc+)
    Ignoring empty pin current: Ix(u1:clawn:vc-)
    Ignoring empty pin current: Ix(u1:cl_amp:vc+)
    Ignoring empty pin current: Ix(u1:cl_amp:vc-)
    Ignoring empty pin current: Ix(u1:cl_amp:vin)
    Ignoring empty pin current: Ix(u1:ol_sense_opa1692:3)
    Ignoring empty pin current: Ix(u1:ol_sense_opa1692:4)
    Ignoring empty pin current: Ix(u1:claw_amp:vc+)
    Ignoring empty pin current: Ix(u1:claw_amp:vc-)
    Ignoring empty pin current: Ix(u1:claw_amp:vin)
    Ignoring empty pin current: Ix(u1:cl_src:vc+)
    Ignoring empty pin current: Ix(u1:cl_src:vc-)
    Ignoring empty pin current: Ix(u1:claw_src:vc+)
    Ignoring empty pin current: Ix(u1:claw_src:vc-)
    Ignoring empty pin current: Ix(u1:gr_amp:vc+)
    Ignoring empty pin current: Ix(u1:gr_amp:vc-)
    Ignoring empty pin current: Ix(u1:gr_amp:vin)
    Ignoring empty pin current: Ix(u1:gr_src:vc+)
    Ignoring empty pin current: Ix(u1:gr_src:vc-)
    Ignoring empty pin current: Ix(u1:vccs_limit_1:vc+)
    Ignoring empty pin current: Ix(u1:vccs_limit_1:vc-)
    Ignoring empty pin current: Ix(u1:vccs_limit_2:vc+)
    Ignoring empty pin current: Ix(u1:vccs_limit_2:vc-)
    Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc+)
    Ignoring empty pin current: Ix(u1:vccs_lim_zo_opa1692:vc-)

  • Hi Alex,

    Do you have an email that I can contact you? I have no issues in running the simulation. I am at home currently. The simulation is immediate, and completed in 2 seconds after running man is executed. 

    You must have done something different when importing the OPA1692.lib, however I am unable to think one. Can you send me a detail instruction in how to import the OPA1692.lib in the tool? Maybe I can  spot something you are doing different from what I would have done. 

    My support in LTSpice is limited in TI's E2E forum due to its license agreement.

    Best,

    Raymond

  • Hi Alex,

    BTW, I check the error log, and it does not contain any errors. 

    Best,

    Raymond

  • Hi Alex,

    Since I am unable to help directly with your issues, please watch the youtube video about the importing subject. I saw several similar ones, and this one is the shortest. 

    https://www.youtube.com/watch?v=3__OlwbQFYI

    Best,

    Raymond

  • Hi Alex,

    I am going to close this inquiry. If you have any other issues, you can contact me directly. 

    Best,

    Raymond