2
\$\begingroup\$

I'm a beginner to both KiCAD and PCB design. I'm using KiCAD 6.0 on a mac. I'm trying to learn simulation and although the simulation basics seem straightforward enough, I have trouble importing models.

KiCAD schematic

The above is my sample circuit. Now, it may include obvious flaws that I'm missing, since LM2776 is a new part for me, but I tried to make it similar to how its use is described on the datasheet. I'm planning to use it though in my circuits so I'd like to simulate its function before I try it out on the breadboard - I skipped the decoupling caps since I thought I wouldn't need them due to the noise-free current.

I used the built-in LM2776 symbol, but got the SPICE model from UltraLibrarian, which seems to be the official TI one. I chose the LM2776_TRANS model in the SPICE library.

If I understand correctly, the SPICE model's pinouts are described on this line:

.SUBCKT LM2776_TRANS Cn Cp EN VIN VOUT GND

so I defined the alternate node sequence thus: 6,5,4,3,1,2

I also switched the compatibility mode to PSpice. I would have included the SPICE model itself here as well, but SE the character limit ran out.

... but as you can suspect, it didn't work. The simulator's output was thus:

Compatibility modes selected: ps
Circuit: KiCad schematic
Reducing trtol to 1 for xspice 'A' devices
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Note: Starting true gmin stepping
Trying gmin =   1.0000E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   5.6234E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   8.6596E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.6466E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9105E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9775E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9944E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9986E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9996E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Last gmin step failed
Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: True gmin stepping failed
Note: Starting dynamic gmin stepping
Trying gmin =   1.0000E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   5.6234E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   8.6596E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.6466E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9105E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9775E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9944E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9986E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Further gmin increment
Trying gmin =   9.9996E-03 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Last gmin step failed
Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: Dynamic gmin stepping failed
Note: Starting source stepping
Supplies reduced to   0.0000% Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Trying gmin =   1.0000E-02 Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_
Warning: gmin step failed
Warning: source stepping failed
Transient solution failed -
Last Node Voltages
------------------
Node                                   Last Voltage        Previous Iter
----                                   ------------        -------------
net-_v1-pad1_                                     0                    0
net-_c1-pad1_                                     0                    0
net-_c1-pad2_                                     0                    0
xu1.n17015088                                     0           0.00455991 *
xu1.e                                             0          -0.00911982 *
xu1.en_ok                                         0                    0
xu1.e_abm4_int1                                   0                    0
xu1.n16871772                                     0           0.00455991 *
xu1.n16760001                                     0                    0
xu1.phi1                                          0                    0
xu1.e_abm2_int1                                   0                    0
xu1.phi2                                          0                    0
xu1.shdn                                          0                    0
net-_r2-pad2_                                     0           0.00455991 *
xu1.g_abmii4_int1                                 0                    0
unconnected-_u1-pad4_                             0                    0
xu1.ishdn                                         0                    0
xu1.quies                                         0                    0
xu1.n17384594                                     0                    0
xu1.e_abm8_int1                                   0                    0
xu1.e_abm3_int1                                   0                    0
xu1.phi                                           0                    0
xu1.cpump                                         0                    0
xu1.x_u2.inp1                                     0                    0
xu1.x_u2.inm1                                     0                    0
xu1.n16760455                                     0                    0
xu1.x_u2.inp2                                     0                    0
xu1.x_u2.ehys_int1                                0                    0
xu1.x_u2.1                                        0                    0
xu1.n16760389                                     0                    0
xu1.x_u2.eout_int1                                0                    0
xu1.n17384614                                     0                    0
xu1.g_abmii2_int1                                 0                    0
xu1.prech_pulse                                   0                    0
xu1.n17221946                                     0                    0
xu1.u2_ctrl_rdiv                                  0                    0
xu1.u2_ctrl_n16844013                             0                    0
xu1.x_u2_ctrl_u10.yint                            0                    0
xu1.x_u2_ctrl_u10.e_abmgate_int1                    0                    0
xu1.u2_ctrl_uvlo                                  0                    0
xu1.u2_ctrl_n16785976                             0                    0
xu1.u2_ctrl_n16842955                             0                    0
xu1.x_u2_ctrl_u3.inp1                             0                    0
xu1.x_u2_ctrl_u3.inm1                             0                    0
xu1.u2_ctrl_thres_offset                          0                    0
xu1.x_u2_ctrl_u3.inp2                             0                    0
xu1.x_u2_ctrl_u3.ehys_int1                        0                    0
xu1.x_u2_ctrl_u3.1                                0                    0
xu1.pfm                                           0                    0
xu1.x_u2_ctrl_u3.eout_int1                        0                    0
xu1.x_u2_ctrl_u18.yint                            0                    0
xu1.x_u2_ctrl_u18.e_abmgate_int1                    0                    0
xu1.u2_ctrl_n16785492                             0                    0
xu1.x_u2_ctrl_u9.yint                             0                    0
xu1.x_u2_ctrl_u9.e_abmgate_int1                    0                    0
xu1.x_u2_ctrl_u2.inp1                             0                    0
xu1.x_u2_ctrl_u2.inm1                             0                    0
xu1.u2_ctrl_n16786076                             0                    0
xu1.x_u2_ctrl_u2.inp2                             0                    0
xu1.x_u2_ctrl_u2.ehys_int1                        0                    0
xu1.x_u2_ctrl_u2.1                                0                    0
xu1.u2_ctrl_n16786106                             0                    0
xu1.x_u2_ctrl_u2.eout_int1                        0                    0
xu1.e_abm7_int1                                   0                    0
xu1.pi                                            0                    0
xu1.ilim                                          0                    0
xu1.n17512460                                     0                1e-14
xu1.x_u21.yint                                    0                    0
xu1.x_u21.e_abmgate_int1                          0                    0
xu1.n16759705                                     0                    0
xu1.n16759819                                     0                    0
xu1.x_u4.inp1                                     0                    0
xu1.x_u4.inm1                                     0                    0
xu1.x_u4.inp2                                     0                    0
xu1.x_u4.ehys_int1                                0                    0
xu1.x_u4.1                                        0                    0
xu1.n17345547                                     0                    0
xu1.n17324527                                     0                    0
xu1.x_u4.eout_int1                                0                    0
xu1.ilim_comp                                     0                    0
xu1.n17385154                                     0                    0
xu1.n17495282                                     0                    0
xu1.n17549214                                     0                    0
xu1.e_abm11_int1                                  0                    0
xu1.x_u22.qint                                    0                    0
xu1.x_u22.gq_int1                                 0                    0
xu1.n16759799                                     0                    0
xu1.x_u22.my5                                     0           -0.0498103 *
xu1.x_u22.myvss                                   0                    0
xu1.x_u22.qqq                                     0                    0
xu1.x_u22.x3.yint                                 0                    0
xu1.x_u22.x3.e_abmgate_int1                       0                    0
xu1.x_u22.qqqd1                                   0                    0
xu1.x_u22.qbr                                     0                    0
xu1.x_u22.eqb_int1                                0                    0
xu1.n16759875                                     0                    0
xu1.x_u26.qint                                    0                    0
xu1.x_u26.gq_int1                                 0                    0
xu1.n17522872                                     0                    0
xu1.n17324921                                     0                    0
xu1.x_u26.my5                                     0           -0.0498103 *
xu1.x_u26.myvss                                   0                    0
xu1.x_u26.qqq                                     0                    0
xu1.x_u26.x3.yint                                 0                    0
xu1.x_u26.x3.e_abmgate_int1                       0                    0
xu1.x_u26.qqqd1                                   0                    0
xu1.x_u26.qbr                                     0                    0
xu1.x_u26.eqb_int1                                0                    0
xu1.n17525531                                     0                    0
xu1.n17391639                                     0                    0
xu1.x_u27.yint                                    0                    0
xu1.x_u27.e_abmgate_int1                          0                    0
xu1.n17548583                                     0               -1e-14
xu1.n17548547                                     0                    0
xu1.n17551684                                     0                    0
xu1.n17551687                                     0                1e-14
xu1.e_abm12_int1                                  0                    0
xu1.x_u15.yint                                    0                    0
xu1.x_u15.e_abmgate_int1                          0                    0
xu1.n17324922                                     0                    0
xu1.x_u25.yint                                    0                    0
xu1.x_u25.e_abmgate_int1                          0                    0
xu1.e_abm6_int1                                   0                    0
xu1.x_u_osc_u131.yint                             0                    0
xu1.x_u_osc_u131.e_abm_int1                       0                    0
xu1.u_osc_n16690266                               0                    0
xu1.u_osc_n16690364                               0                    0
xu1.u_osc_muxclk                                  0                    0
xu1.x_u_osc_u134.yint                             0                    0
xu1.x_u_osc_u134.e_abmgate_int1                    0                    0
xu1.u_osc_n16690380                               0                    0
xu1.u_osc_n16690352                               0                    0
xu1.u_osc_n16690808                               0                    0
xu1.x_u_osc_u135.e_current_int1                    0                    0
xu1.u_osc_n16690502                               0           -0.0498103 *
xu1.x_u_osc_u136.x1.yint1                         0                    0
xu1.x_u_osc_u136.x1.e_abmgate1_int1                    0                    0
xu1.x_u_osc_u136.x1.yint2                         0                    0
xu1.x_u_osc_u136.x1.yint3                         0                    0
xu1.x_u_osc_u136.x1.e_abmgate2_int1                    0                    0
xu1.x_u_osc_u136.clkdel                           0                    0
xu1.x_u_osc_u136.x2.yint                          0                    0
xu1.x_u_osc_u136.x2.e_abmgate_int1                    0                    0
xu1.x_u_osc_u136.clkint                           0                    0
xu1.x_u_osc_u136.qint                             0                    0
xu1.x_u_osc_u136.gq_int1                          0                    0
xu1.u_osc_n16690232                               0                    0
xu1.x_u_osc_u136.my5                              0           -0.0498103 *
xu1.x_u_osc_u136.myvss                            0                    0
xu1.x_u_osc_u136.qqq                              0                    0
xu1.x_u_osc_u136.x3.yint1                         0                    0
xu1.x_u_osc_u136.x3.e_abmgate1_int1                    0                    0
xu1.x_u_osc_u136.x3.yint2                         0                    0
xu1.x_u_osc_u136.x3.yint3                         0                    0
xu1.x_u_osc_u136.x3.e_abmgate2_int1                    0                    0
xu1.x_u_osc_u136.qqqd1                            0                    0
xu1.x_u_osc_u136.qbr                              0                    0
xu1.x_u_osc_u136.eqb_int1                         0                    0
xu1.x_u_osc_u132.yint1                            0                    0
xu1.x_u_osc_u132.e_abmgate1_int1                    0                    0
xu1.u_osc_n16690334                               0                    0
xu1.x_u_osc_u132.yint2                            0                    0
xu1.x_u_osc_u132.yint3                            0                    0
xu1.x_u_osc_u132.e_abmgate2_int1                    0                    0
xu1.x_u_osc_u133.yint1                            0                    0
xu1.x_u_osc_u133.e_abmgate1_int1                    0                    0
xu1.x_u_osc_u133.yint2                            0                    0
xu1.x_u_osc_u133.yint3                            0                    0
xu1.x_u_osc_u133.e_abmgate2_int1                    0                    0
xu1.x_u28.yint                                    0                    0
xu1.x_u28.e_abmgate_int1                          0                    0
b.xu1.x_u28.be_abmgate#branch                     0                    1 *
b.xu1.x_u_osc_u133.be_abmgate2#branch                    0                    1 *
b.xu1.x_u_osc_u133.be_abmgate1#branch                    0                    0
b.xu1.x_u_osc_u132.be_abmgate2#branch                    0                    1 *
b.xu1.x_u_osc_u132.be_abmgate1#branch                    0                    0
b.xu1.x_u_osc_u136.beqb#branch                    0                    1 *
b.xu1.x_u_osc_u136.x3.be_abmgate2#branch                    0                    0
b.xu1.x_u_osc_u136.x3.be_abmgate1#branch                    0                    0
b.xu1.x_u_osc_u136.bgq#branch                     0                    0
b.xu1.x_u_osc_u136.x2.be_abmgate#branch                    0                    0
b.xu1.x_u_osc_u136.x1.be_abmgate2#branch                    0                    1 *
b.xu1.x_u_osc_u136.x1.be_abmgate1#branch                    0                    0
b.xu1.x_u_osc_u135.be_current#branch                    0                1e-05 *
b.xu1.x_u_osc_u134.be_abmgate#branch                    0                    0
b.xu1.x_u_osc_u131.be_abm#branch                    0                    0
b.xu1.be_abm6#branch                              0                    0
b.xu1.x_u25.be_abmgate#branch                     0                    1 *
b.xu1.x_u15.be_abmgate#branch                     0                    1 *
b.xu1.be_abm12#branch                             0                1e-09 *
b.xu1.x_u27.be_abmgate#branch                     0                    1 *
b.xu1.x_u26.beqb#branch                           0                    1 *
b.xu1.x_u26.x3.be_abmgate#branch                    0                    0
b.xu1.x_u26.bgq#branch                            0                    0
b.xu1.x_u22.beqb#branch                           0                    1 *
b.xu1.x_u22.x3.be_abmgate#branch                    0                    0
b.xu1.x_u22.bgq#branch                            0                    0
b.xu1.be_abm11#branch                             0              5.5e-05 *
b.xu1.x_u4.beout#branch                           0                    0
b.xu1.x_u4.behys#branch                           0                    0
b.xu1.x_u21.be_abmgate#branch                     0                    0
b.xu1.be_abm7#branch                              0                    0
b.xu1.x_u2_ctrl_u2.beout#branch                    0                    0
b.xu1.x_u2_ctrl_u2.behys#branch                    0                    0
b.xu1.x_u2_ctrl_u9.be_abmgate#branch                    0                    1 *
b.xu1.x_u2_ctrl_u18.be_abmgate#branch                    0                    0
b.xu1.x_u2_ctrl_u3.beout#branch                    0                    0
b.xu1.x_u2_ctrl_u3.behys#branch                    0                    0
b.xu1.x_u2_ctrl_u10.be_abmgate#branch                    0                    1 *
b.xu1.bg_abmii2#branch                            0                    0
b.xu1.x_u2.beout#branch                           0                    0
b.xu1.x_u2.behys#branch                           0                    0
b.xu1.be_abm3#branch                              0                    0
b.xu1.be_abm8#branch                              0                    0
b.xu1.bg_abmii4#branch                            0                    0
b.xu1.be_abm2#branch                              0                    1 *
b.xu1.be_abm4#branch                              0                    0
e.xu1.x_u28.e_abmgate#branch                      0                    0
e.xu1.x_u_osc_u133.e_abmgate2#branch                    0                    0
e.xu1.x_u_osc_u133.e_abmgate1#branch                    0                    0
e.xu1.x_u_osc_u132.e_abmgate2#branch                    0                    0
e.xu1.x_u_osc_u132.e_abmgate1#branch                    0                    0
e.xu1.x_u_osc_u136.eqb#branch                     0                    0
e.xu1.x_u_osc_u136.x3.e_abmgate2#branch                    0                    0
e.xu1.x_u_osc_u136.x3.e_abmgate1#branch                    0                    0
e.xu1.x_u_osc_u136.eq#branch                      0                    0
e.xu1.x_u_osc_u136.x2.e_abmgate#branch                    0                    0
e.xu1.x_u_osc_u136.x1.e_abmgate2#branch                    0                    0
e.xu1.x_u_osc_u136.x1.e_abmgate1#branch                    0                    0
e.xu1.x_u_osc_u135.e_current#branch                    0                    0
e.xu1.x_u_osc_u134.e_abmgate#branch                    0                    0
e.xu1.x_u_osc_u131.e_abm#branch                    0                    0
e.xu1.e_abm6#branch                               0                    0
e.xu1.x_u25.e_abmgate#branch                      0                    0
e.xu1.x_u15.e_abmgate#branch                      0                    0
e.xu1.e_abm12#branch                              0                    0
e.xu1.x_u27.e_abmgate#branch                      0                    0
e.xu1.x_u26.eqb#branch                            0                    0
e.xu1.x_u26.x3.e_abmgate#branch                    0                    0
e.xu1.x_u26.eq#branch                             0                    0
e.xu1.x_u22.eqb#branch                            0                    0
e.xu1.x_u22.x3.e_abmgate#branch                    0                    0
e.xu1.x_u22.eq#branch                             0                    0
e.xu1.e_abm11#branch                              0                    0
e.xu1.x_u4.eout#branch                            0                    0
e.xu1.x_u4.ehys#branch                            0                    0
e.xu1.x_u4.ein#branch                             0                    0
e.xu1.x_u21.e_abmgate#branch                      0                    0
e.xu1.e_abm7#branch                               0                    0
e.xu1.x_u2_ctrl_u2.eout#branch                    0                    0
e.xu1.x_u2_ctrl_u2.ehys#branch                    0                    0
e.xu1.x_u2_ctrl_u2.ein#branch                     0                    0
e.xu1.x_u2_ctrl_u9.e_abmgate#branch                    0                    0
e.xu1.x_u2_ctrl_u18.e_abmgate#branch                    0                    0
e.xu1.x_u2_ctrl_u3.eout#branch                    0                    0
e.xu1.x_u2_ctrl_u3.ehys#branch                    0                    0
e.xu1.x_u2_ctrl_u3.ein#branch                     0                    0
e.xu1.x_u2_ctrl_u10.e_abmgate#branch                    0                    0
e.xu1.e_u2_ctrl_e1#branch                         0                    0
e.xu1.x_u2.eout#branch                            0                    0
e.xu1.x_u2.ehys#branch                            0                    0
e.xu1.x_u2.ein#branch                             0                    0
e.xu1.e_abm3#branch                               0                    0
e.xu1.e_abm8#branch                               0                    0
e.xu1.e_abm2#branch                               0                    0
e.xu1.e_abm4#branch                               0                    0
v.xu1.x_u_osc_u136.v2#branch                      0                    0
v.xu1.x_u_osc_u136.v1#branch                      0                    0
v.xu1.v_u_osc_v45#branch                          0                    0
v.xu1.v_u_osc_v46#branch                          0                    0
v.xu1.v_v22#branch                                0                    0
v.xu1.v_v12#branch                                0                    0
v.xu1.v_v14#branch                                0                    0
v.xu1.v_v27#branch                                0                    0
v.xu1.v_v26#branch                                0                    0
v.xu1.v_v15#branch                                0                    0
v.xu1.x_u26.v2#branch                             0                    0
v.xu1.x_u26.v1#branch                             0                    0
v.xu1.x_u22.v2#branch                             0                    0
v.xu1.x_u22.v1#branch                             0                    0
v.xu1.v_v23#branch                                0                    0
v.xu1.v_v18#branch                                0                    0
v.xu1.v_v9#branch                                 0                    0
v.xu1.v_u2_ctrl_v10#branch                        0                    0
v.xu1.v_u2_ctrl_v9#branch                         0                    0
v.xu1.v_u2_ctrl_v11#branch                        0                    0
v.xu1.v_u2_ctrl_v12#branch                        0                    0
v.xu1.v_v16#branch                                0                    0
v1#branch                                         0                    0
No. of Data Rows : 0
doAnalyses: iteration limit reached
run simulation(s) aborted
Background thread stopped with timeout = 0
Reset re-loads circuit KiCad schematic
Circuit: KiCad schematic

So... how have I screwed up my design and settings?

\$\endgroup\$
3
  • \$\begingroup\$ 1) Are you sure that model is intended to be used with KiCad? If not, then errors can be expected. 2) what simulator is recommended for the model you downloaded? 3) the EN input is not connected \$\endgroup\$ Commented Jan 11, 2022 at 15:36
  • \$\begingroup\$ Not related to your question, but R1 (resistor connecting positive and negative terminals of the power supply) is useless. Did you mean to have that somehow connected to the IC? \$\endgroup\$ Commented Jan 11, 2022 at 15:59
  • \$\begingroup\$ @user1850479 That's likely just a dummy load,to be replaced by the real thing (which presumably expects a symmetric power supply). \$\endgroup\$
    – TooTea
    Commented Jan 11, 2022 at 19:12

1 Answer 1

3
\$\begingroup\$

The simulator is telling you the problem:

Warning: singular matrix:  check nodes unconnected-_u1-pad4_ and unconnected-_u1-pad4_

You need to connect pin 4 to VIN. Even though the datasheet shows this pin unconnected on the first page, you can read further to the pin table to see recommended configurations.

\$\endgroup\$
2
  • \$\begingroup\$ +1 No matter if the datasheet says it's okay in the real world, never leave a node floating in a simulation. A floating net has a completely undetermined potential,could be plus or minus infinity. No simulator will find a solution to that. \$\endgroup\$
    – TooTea
    Commented Jan 11, 2022 at 19:09
  • \$\begingroup\$ Thanks! That did the trick! I’m glad it was such a simple solution, as this was really my first time trying to simulate anything more complex than a DC source and a load. \$\endgroup\$ Commented Jan 11, 2022 at 21:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.