Tutorial:Speeding up runtimes

From NCSU EDA Wiki
Jump to: navigation, search

Storage Speedup

You can get a significant speed up by saving to the /tmp or /temp directory (which ever exists). You change this where you change your simulator to HSPICE. Change this from ./hspice to /tmp. It will save it on the local machine, however, this space is periodically cleaned out and you are not guaranteed that it will still be on the same lab machine once you log out. So, be mindful of this. Also, you have a lot more storage space in the /tmp directory so you won't run out of space.

Ultimately you will want to save to the ./hspice location as previously instructed.

Saving minimal nodes

Saving minimal nodes also helps speed up the simulation and storage. This was discussed in a previous tutorial

HSPICE Speedups

To take advantage of multicore processors you can invoke ADE L multi-thread simulations.

First, check your number of processors by typing the following in terminal window:

cat /proc/cpuinfo

FreePDK CATPROC.png

You will see in this case, there are 4 cores to use. You might have more, you might have less.

ADE L -> Setup -> Environment... and select Number of threads and HSPICE Precision Parallel to on:

FreePDK ADE-L-Environment.png

FreePDK ADE-L-CPUS.png

FAST SPICE

Select the finesim option in the following menu. It may be helpful to specify the command line arguments -mode=promd -np (#of cores)

FreePDK ADE-L-FineSim.png

finesim -h and finesim -p can be run to get information about the possible command line arguments. Also you can find the manual at:

You should note that specifying multiple cpu's using the -np mode may or may not be faster (in my simple example it ran without the -np option in 2.6 seconds vs 3.0 in the -np 8 option.)

/afs/eos.ncsu.edu/dist/synopsys_apps/finesim_vN-2017.12-SP1-1/doc

The 4-pk, 8-pk and 4-pkp options are not available right now... Also, this does not work for all circuit types. So if it doesn't work for you, you might not be doing something wrong.

Spectre or Spectre FASTspice

There are spectre models for the FreePDK15. You might be able to simulate faster using spectre and/or spectre + the fast spice simulation. Go to ADE L -> Setup -> High-Performance Simulation... There is an Spectre, APS, and XPS MS. Play around with which of those three first works... and then which works well. These can significantly speed up your simulations.

Again, ECE546 Students we will be using the HSPICE simulation for grading so it must work with this.

Calibre Speedups

PEX and LVS both have multi-threaded options to choose from. Go to Calibre PEX -> Run Control and choose Run Calibre to Multi-Threaded. You then set the number of CPUs to use for PEX (It should work for LVS/DRC as well)

FreePDK Calibre Multi.png