Managing SmartSpice / SmartView Simulation Output Raw Files

Storing Waveform Data to Disk Instead of Holding in Ram

Silvaco SmartSpice simulation results are typically stored in RAM. Since transient simulations of large circuits often exceed 1G, a large swap-space partition is required prior to simulation. Constant disk access may dramatically decrease simulation speed, therefore shifting some or all of the load to the system’s memory helps to alleviate this problem.

Unfortunately, over-reliance on memory may also produce negative results and slow simulation time. In addition, it may be impossible to view intermediate results if a simulation runs for several days in RAM. These intermediate results help the user to decide whether or not to abort a simulation early.

To adjust the amount of simulation data held in memory, use this SPICE deck option:

.option rawpts= <val> post

<val> is the maximum number of simulation time points that are used during a simulation. As soon as this number is reached and th epost option active, this block of data is written to disk. A very small <val> results in the frequent saving to disk and use of less memory.

It is important to strike a balance between using minimum memory and speed. Since each system is different, this "sweet spot" is found through experimentation. Start a test simulation that uses relatively small value and increase the value gradually. A suggested starting value is between 100-1000.

Since a circuit with many saved nodes generates more results, a smaller <val> is required. A small-<val> save cycle is also useful to those who need marching waveforms of the simulations results. The user can monitor the simulation results while the simulation is running and can abort at any time.


Saving SmartSpice Results for Interactive Mode

While in interactive mode, SmartSpice simulation results are not saved to disk when Analysis -> Run is executed. This follows the original Berkley implementation and is true even if there is an option post specified in the input deck or the ‘r’ flag has been used to invoke SmartSpice. Use menu Analysis -> Run Batch Print to allow the possibility of saving the simulation output data.

Figure 1. Analysis menu with Run Batch Print selected.


Speeding up Loading of Raw File in SmartSpice/SmartView.

When using SmartSpice / SmartView to load a large (1-2G) simulation results file, activating the incremental loading of waveforms is recommended. This dramatically reduces the time needed in order to see the first waveform from approximately 45 minutes to 5 minutes for a 1G file. This also allows the user to load a data file bigger than 2 Gigs which is normally the limit on a 32 bit operating system.

In the UNIX version of SmartSpice, incremental loading is activated with the dialog shown in Figure 2.

Figure 2. Activating incremetal loading in the Unix version of SmartSpice.


Incremental load is activated in the Windows version through the Properties -> Drawing Options menu, shown in Figure 3.

Figure 3. Activating incremetal loading in the Windows version of SmartSpice.


Click the pull-down menu next to Incremental File Loading and select "On” as shown in Figure 4.

Figure 4. Selecting "On" for Incremental File Loading.



Viewing Data Across Different Platforms

Data generated on one operating system is inherently different to data generated on another system (such as Linux or Solaris). SmartSpice has an option to make data file cross platform compatible. The following line needs to be in the input deck:

.option post=4

This creates the output data in XDR binary format. The data can therefore be generated by SmartSpice on say a Linux box and the waveforms viewed on a solaris box using SmartView.

Download pdf version of this article