Time Step Issues within Pspice

Discussion in 'The Projects Forum' started by dz1087, Apr 26, 2007.

  1. dz1087

    Thread Starter New Member

    Apr 26, 2007
    Hello everyone!:)

    I'm running Pspice student Version 9.something.

    I would like to know if there is a way when using Pspice schematics to set a minimum time step when doing transient analysis. Currently when I run transient with a particular circuit, the time step will stay at 1e-12. This means it would take about 8 hours to run a 1 second analysis with my processor speed.

    Just looking for a way to make this thing hurry up!
  2. gootee

    Senior Member

    Apr 24, 2007
    The maxtimestep should be an argument to the .TRAN directive that you can put near the top of your netlist, or on your schematic in some spice versions.

    I use the excellent LTspice, downloadable free from http://ltspice.linear.com/software/swcadiii.exe (with a great support forum at http://tech.groups.yahoo.com/group/LTspice ). LTspice produces the .tran directive automatically and places it on the schematic and in the netlist, based on entries I make in a dialog box brought up by an "Edit Simulation Cmd" menu-option.

    But the .TRAN directive is not LTspice-specific. If I am correct, something like the following should work:

    .tran 0 1 0 0.001

    which should simulate for 1 second, with a max time-step of 0.001 second. You might also have to set the first argument (shown above as zero) to 0.001, for the plotting increment, and initial step-size guess (for the solver, I assume). The third argument, above, is the time to start saving data for plotting.

    The standard Spice syntax is apparently:

    .TRAN <Tstep> <Tstop> [Tstart [dTmax]] [modifiers]


    Note, also, that your results can become possibly-significantly inaccurate, if your maxtimestep is too long. With .001 second, I wouldn't expect "perfect" accuracy for anything with frequency components much above a few hundred Hertz. For circuits with an input voltage source producing a sawtooth waveform with a 22 kHz repetition rate, for example, I am routinely forced to use a .0000001 second maxtimestep, for very good accuracy.

    If you just want to skip the transient response and get to the steady-state response, you can probably save simulation time by setting the initial conditions, either with a .ic directive or by using .loadbias, having used .savebias during a previous run, and maybe other ways.

    There are probably also quite a few other options that can be changed, or turned off or on, that might dramatically affect the speed of simulations.

    Also, look up the .SAVE directive, and try saving fewer node voltages and device currents during transient runs.

    Good luck.

    - Tom Gootee


  3. antseezee

    Active Member

    Sep 16, 2006
    Click the blue setup box located at the top of the program. Click on the Transient button (not the check box, the actual transient label). You'll find print step listed at the top. Sometimes it default at 20ns. Change it to something reasonable to make it go faster for longer transient simulations.