I have a PSPICE file that contains approximately 200+ transistors. Naturally, simulating the whole circuit everytime I make a change takes a while. Is there anyway to run a simulation measuring only the voltage at a specified node?
-
\$\begingroup\$ Well you could simulate it or you can just take a multimeter and measure the voltage that way.... Unless you're talking about a transient analysis where you want to see how the voltage behaves over time, then you want to find the net name of where you want to measure the voltage and run your simulation that way. \$\endgroup\$– user103380Commented May 17, 2018 at 0:26
-
\$\begingroup\$ Its transient analysis, and I don't have a say over the step size since I'm using an input file as a waveform that covers two seconds. How exactly do you select the specific network? because when I play the simulation, it automatically calculates the voltage across every network \$\endgroup\$– J DolanCommented May 17, 2018 at 0:42
-
5\$\begingroup\$ Do you think the simulator can figure out the voltage at one node without knowing the voltage at the other nodes? \$\endgroup\$– The PhotonCommented May 17, 2018 at 0:45
2 Answers
Unfortunately it is not (automatically) possible as far as I know to simulate only one node. But that doesn't mean there aren't things you can do!
Controlling the step size
By controlling the time steps you can sometimes significantly reduce the number of timepoints simulated. Start by reducing the stop time of the simulation as much as possible. The transient timestep itself is usually controlled by two things: the truncation error and breakpoints. Truncation error can be controlled by the TRTOL option, but it will also influence accuracy. Breakpoints are added by Spice when using voltage sources for hard edges, like pulsed voltage sources (PULSE). So if the circuit you're interested in is relatively slow, make sure you're not using a fast clock signal somewhere else as the clock will generate a lot of breakpoints.
Working modular
Dividing up the circuit in smaller blocks and designing/testing them separately is good practice. Staying away from big circuits until necessary is the best remedy.
Change the simulation type
You don't always need a transient analysis (it is the slowest of the bunch). Always consider whether or not you really need it. Is your circuit digital, then consider using logic simulators. Are time effects really necessary? Maybe an AC or DC analysis is enough.
Model parts of your circuit
You may be able to model big parts in your circuit with a small amount of components. In the most extreme case, you can replace a complete voltage or current waveform with a single independent voltage or current source. You could export the trace, then write that simulated trace data in a file to be used by an independent source. The source will linearly interpolate the data points in the file, giving a good approximation.
Modeling parts of your circuit typically involves using ideal components (controlled sources, res, cap, switches, etc.) to approximate behavior. However it can sometimes lead to convergence issues if some components are too ideal (eg. switches).
This is all I can think of with the limited information provided.
In circuit simulators, storing the results (especially currents) significantly affects the simulation time. If you can make the simulator only store the few nodes you are interested in, it may speed up significantly.