Analog Simulation Insights


10 tips to improve performance using HSPICE

Good morning ! well, since this is a technical blog, I thought I owed you some tools-related posts 🙂 I am compiling below 10 tips to make your HSPICE simulation even more efficient 🙂

If you want to look into those options in more details, we conducted a webinar a few weeks ago hosted by Szekit Chan, that discussed those topics in more details.

And as usual, feedback/comments are more than welcome !

#1 – use HSPICE runlvl to replace old options convergence parameters:

.option runlvl=1|2|3|4|5|6

#2 – invoke multi-threading option with HPP: -mt <number> -hpp

#3 – use distributed processing: -dp <number>

#4 – for post-layout  netlists, use RC reductions techniques: .option sim_la

#5-  avoid the usage of wildcard within your .probe statement, especially on post-layout netlist

Instead of .probe tran v(*) I(*) use .probe tran v(xi.*) i(xi.r*)

#6- declare port current directly

Instead of .probe tran isub(*) use .probe tran isub(xinv.vdd) isub(xinv.v*)

#7- if using .ALTER statement, reduce netlist processing and checking time with the following options: .option altcc altchk

#8- reduce simulation time by bypassing element checking and suppressing topology checking with the following options:

.option notop noelchk

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

>> hspice –i ***.tro –meas <meas_file>

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

.option autostop

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