Hi all,
Using PSPICE for TI to simulate a buck converter. Built circuit fine, model imported from TI parts search within program. Double-checked circuit for any duplicate parts or disconnected nodes. On performing transient analysis and error output is created, any help? Output file here:
.lib "nom_pspti.lib"
.lib "nom.lib"
*Analysis directives:
.TRAN 0 20m 0
.OPTIONS ADVCONV
.PROBE64 V(alias(*)) I(alias(*)) W(alias(*)) D(alias(*)) NOISE(alias(*))
.INC "..\SCHEMATIC1.net"
**** INCLUDING SCHEMATIC1.net ****
* source LM25116_CKT_SIM
X_U1 N00667 N00750 N00781 N00772 N00813 0 N00821 N01228 N01206 N01376 0
+ N01678 0 0 N01714 N01729 0 N01740 N01856 N01764 LM25116_TRANS
R_Ruv2 N00750 N00667 27.4k TC=0,0
R_Renable N00772 N00667 1M TC=0,0
R_Ruv1 0 N00750 1.96k TC=0,0
R_Rt 0 N00781 5.23k TC=0,0
R_Rcomp N01228 N01237 187k TC=0,0
C_Cin 0 N00667 2.2u TC=0,0
C_Cinx 0 N00667 100n TC=0,0
C_Ccomp N01206 N01237 120p TC=0,0
C_Ccomp2 N01228 N01206 10p TC=0,0
C_Cramp N00813 0 240p TC=0,0
C_Css N00821 0 33n TC=0,0
X_M1 N00667 N01856 N01528 CSD18504Q5A
X_M2 N01528 N01714 N01678 CSD18514Q5A
L_L1 N01528 N01542 4.7u
R_Rsense 0 N01678 7m TC=0,0
R_Rfbt N01206 N01376 102k TC=0,0
R_Rfbb 0 N01206 10.5k TC=0,0
C_Cout 0 N01542 56u TC=0,0
C_Cvcc 0 N01729 1u TC=0,0
C_Cboot N01740 N01764 100n TC=0,0
D_D1 N01729 N01740 Dbreak
R_Rload 0 N01542 3 TC=0,0
V_V1 N00667 0 DC 0 AC 0
+PULSE 0 24 0 150n 150n 20m 30m
**** RESUMING transient_test1.cir ****
.END
+ ( 29 1.92E-11 )
+ ( 29.5 1.91E-11 )
+ ( 30 1.90E-11 )
+ ( 30.5 1.89E-11 )
+ ( 31 1.88E-11 )
+ ( 31.5 1.87E-11 )
+ ( 32 1.86E-11 )
+ ( 32.5 1.86E-11 )
+ ( 33 1.85E-11 )
+ ( 33.5 1.84E-11 )
+ ( 34 1.84E-11 )
+ ( 34.5 1.83E-11 )
+ ( 35 1.83E-11 )
+ ( 35.5 1.82E-11 )
+ ( 36 1.82E-11 )
+ ( 36.5 1.81E-11 )
+ ( 37 1.81E-11 )
+ ( 37.5 1.80E-11 )
+ ( 38 1.80E-11 )
+ ( 38.5 1.80E-11 )
+ ( 39 1.79E-11 )
+ ( 39.5 1.79E-11 )
+ ( 40 1.78E-11 )
r2 6 0 1e6
c1 3 7 1e-15
v1 7 0 DC 0.0V
e3 8 0 value {1*I(v1)}
r3 8 0 1e6
g1 1 2 value {-1e15*v(6,0)*v(8,0)}
.ends cg
------$
ERROR(ORPSIM-16362): Name on .ENDS does not match .SUBCKT
+ ( 29 2.54E-10 )
+ ( 29.5 2.52E-10 )
+ ( 30 2.51E-10 )
+ ( 30.5 2.49E-10 )
+ ( 31 2.48E-10 )
+ ( 31.5 2.47E-10 )
+ ( 32 2.46E-10 )
+ ( 32.5 2.45E-10 )
+ ( 33 2.45E-10 )
+ ( 33.5 2.44E-10 )
+ ( 34 2.44E-10 )
+ ( 34.5 2.44E-10 )
+ ( 35 2.44E-10 )
+ ( 35.5 2.43E-10 )
+ ( 36 2.44E-10 )
+ ( 36.5 2.44E-10 )
+ ( 37 2.44E-10 )
+ ( 37.5 2.45E-10 )
+ ( 38 2.45E-10 )
+ ( 38.5 2.46E-10 )
+ ( 39 2.46E-10 )
+ ( 39.5 2.47E-10 )
+ ( 40 2.47E-10 )
r2 6 0 1e6
c1 3 7 1e-15
v1 7 0 DC 0.0V
e3 8 0 value {1*I(v1)}
r3 8 0 1e6
g1 1 2 value {-1e15*v(6,0)*v(8,0)}
.ends cd
------$
ERROR(ORPSIM-16362): Name on .ENDS does not match .SUBCKT
Copyright © 2024 Cadence Design Systems, Inc. All rights reserved.
The errors are generated in the CSD18504Q5A mosfet model. I set up a simple bias point simulation of that part and got the same errors you show. There is an obscure issue with the subcircuits cds & cgd in the CSD18504Q5A library.
.SUBCKT <tab character> (cds or cgd) <tab character> ... begins the definition of the subcircuits.
.ENDS <space> (cds or cgd) <end of line character> ends the subcircuit definitions.
I think there is a software issue with this format that results in the naming error. What I did is to copy the CSD18504Q5A.lib to my local directory which contains my simulation circuit. I removed the names at the .ENDS command in the cds and cgd subcircuits and then ran a DC sweep simulation (Id vs. Vgs at Vds=20 volts). It worked. Give that modification a try in your buck regulator simulation but before running it configure the modified library location in the simulation profile so it doesn't use the one in the PSpiceforTI library. The software will complain about the modified library and limit the number of traces you can display in Probe but I hope you can get the results you desire.