Well, it was working just fine...


New Member
Bought VSM this morning, isn't it great? I'm building a two-channel ADC, using a dual op-amp, so, lay out the circuit, add a signal generator to simulate the mic, connect up the virtual osciloscope, and it just works. Brilliant.

Except, it's now stopped working. Hmm... I get the following errors:

[SPICE] singular matrix: check node #Y02937C5C#branch.
[SPICE] singular matrix: check node #Y02937C5C#branch.
Gmin step [0 out of 120] failed: GMIN=0.001
[SPICE] singular matrix: check node #Y02937C5C#branch.
Gmin stepping failed
[SPICE] singular matrix: check node #Y02937C5C#branch.
Real Time Simulation failed to start

Clicking on the #Y0...# links pops up the "Logical Partlist View" window. There's a long list of nodes with probe symbols on them, of type "input" and with Net numbers. I've yet to work out how to get VSM to display Net numbers, so I can't tell where these probes are.

Each time I redraw parts of the circuit, it complains about different node numbers. Rerunning the model doesn't change the node number that it objects about.

So, helpful forum people:
1) How do I find out which particular parts it is objecting about? How can I find out which node or net number corresponds to which part of the circuit?

2) How can I get the simulation to run?

3) What is the root cause of the problem? If I've got lots of nodes that are causing problems, is the program failing to delete unused/removed nodes incorrectly? I've tried the "Reset persistent model data" (and retarting the program) with no improvement.



New Member
This is a thorny one as the node in question belongs to a model - not one of the parent schematic symbols.

We quite commonly create models using schematic 'building blocks' of things the simulator already understands how to simulation (equivalent modelling). These schematic models are then compiled into binary MODFILES and attached as a property to the parent schematic part - you can see this if you edit the schematic part and see the MODFILE=xxxx property. At simulation time the simulation engine substitutes the schematic model in wholesale and so it is not possible for it to sensibly resolve or report the problem schematic part (it doesn't exist for the simulator).

The singular matrix error basically means that mathematically you have more unknowns than equations. Usually this is because the circuit is in some way misdrawn, or that you need to specify some initial conditions in order to define the starting state.

It is quite common to see this preceded by a 'No DC path to ground' warning. If so, you need to investigate the wiring around the pins listed after this message. If part of your circuit is not grounded, the simulator clearly cannot resolve its voltage relative to ground.

Hope that makes sense - if you are still having problems please post the design and we will have a look.



New Member
I'm not sure I understand your distinction between a model and a schematic symbol. Would a symbol be, for example, an op-amp, and the model a sub-component of that? Or is the realationship the other way around?

Either way, I've redrawn a simpler version of the circuit and it will run the model. This is a most helpful tool, especially the ability to use audio files in the signal generator.

When the circuit that i have redrawn reaches the same complexity as the problematic circit, I'll repost with success or failure. Fingers crossed.


Technical Support
Staff member
The schematic symbol is what you see on screen. The model is a 'compiled equivalent circuit', that may consist of more than one component.

Take, for instance, a darlington transistor 18 pin IC such as the ULN2803A. This can be modelled as a separate circuit of 8 pairs of transistors and 8 diodes joined together. So the schematic symbol will just be a box with pins coming out of it, the underlying 'model' would be made up of a circuit consisting of the transistors and diodes. The underlying circuit is literally drawn as diodes and transistors on screen and then 'compiled' into a single model file. Only the 'compiled' model file, not the original raw circuit, is then distributed.

The result is a schematic symbol linked to the compiled model. When the simulation runs the simulator says 'ok, this schematic symbol is linked to this model, so I will simulate the equivalent circuit conatined within this model file'.


New Member
Hmm... I get that error every time I use the second channel on the LM358 dual op-amp symbol. Perhaps there's a problem with how this part is drawn internally?

Then again, I've tried redrawing the circuit with a LF353 dual op-amp and I get the same error message...