Analog Simulation Insights


10 tips to improve performance using CustomSim

Happy Thursday !

Since I had a post on how to improve performance using HSPICE, I am now due for a similar post for CustomSim. CustomSim being our fast spice simulator, different techniques and options can be invoked to speed up simulation and improve performance. With the collaboration of our famous corporate application engineer Tom Hsieh, we are releasing today our secrete recipes 🙂

Tom has over 9 years of experience in FastSPICE simulation technologies and applications. He has spent the last 5 years working closely with R&D, sales and marketing to mature and lead deployment of CustomSim. He is a respected expert on FastSPICE simulation of custom digital, analog and memory circuits. Tom holds Bachelor and Master’s degrees in Electronic Engineering from UCLA and Santa Clara University, respectively.

10 tips to improve performance using CustomSim :

#1 – use ‘set_synchronization_level’ cmd for memory circuits:

set_synchronization_level  1|2|3|4|5|6 | 7  (recommend to start with ‘3’)

#2 – invoke multi-threading option: -mt <number> or with the following cmd:

set_multi_core -cpu Ncpu                                                       (With CustomSim 2012.06 release)

#3 – use the new multi-rate engine

set_multi_rate_option –mode 2                                         (With CustomSim 2012.06 release)

#4 – for post-layout  netlists contained large number of coupling caps, use:

set_ccap_option –ccap_to_scap 1 –ccap_to_gcap 1e-18

#5-  re-define the usage of wildcard, especially on post-layout Netlist, use cmd

set_wildcard_rule -match* one                                         (limit the hierarchies to match)

#6- limit the output waveform file size with the following cmd:

set_probe_window [ -window ] tstart [ tstop {tstart tstop} [tstart] ]

#7- reduce simulation time by process only the measurement statement without generate the waveform file with the following cmd:

set_probe_option -netlist_probe_control 2

#8- reduce simulation time by skip simulating the instance that is completely inactive with the following cmd:

skip_circuit_block [-inst inst_name {inst_name}] [-subckt subckt_name {subckt_name} ]

#9- re-use simulation measurement data set directly and post-process data without re-running the same netlist by using the cmd :

xa <Netlist.sp> -c cmd –o output_file

include the following cmd

meas_post –waveform waveform_file

#10- reduce simulation time by stopping your simulation as soon as the last measurement is completed by specifying the following option:

.option autostop

Enjoy ! 🙂

  • Print
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • RSS
  • Twitter