HomeProjectsPeoplePublicatons
Search:
   
 

Hints for getting started with EPIC under Unicad

last updated 4/23/99

Getting started

  1. source /tools/synopsys/epic5.3/CSHRC
  2. epicMan & (this brings up online doc's)

A breakdown of EPIC tools

  1. TimeMill - A timing simulator which can take SPICE netlists and perform transient simulations many times faster than HSPICE. Output is digital (high,low,undef... no analog waveforms) and no currents can be analyzed.
  2. PowerMill - A timing simulator like TimeMill which can handle analog waveforms and currents. Still many times faster than HSPICE because certain blocks can be specified as analog (for slow, precise simulation) or digital (for fast, less accurate simulation).
  3. PathMill - A tools for identifying and tweaking critical paths.

Performing a simulation in TimeMill with a SPICE netlist

  1. Assuming that you have a netlist targetted for Hspice, convert the netlist to an EPIC netlist as follows:
    • Some of the Hspice syntax needs to be changed to make the netlists work with Epic. The espfilter script will make many of these changes (Thanks to Martin Benes for writing the script). Run it with the following command:

      espfilter netlist > netlist.new

    • Execute the "Spice-to-Epic" conversion tool with the following command:

      spice2e -i netlist.new -o netlist.en -f hspice -u m -2

  2. Next, you will need to create a config file. The config file has simulator commands and independent voltage, and is basically the test bench for the simulation. Some tips for modifying the config file are as follows:
    • To view all waveforms in the output, include the line "print_node *". The output files will be much smaller if you specify certain nodes to print.
    • To ensure that all nodes are treated as piecewise linear, use the line "pwl *". It can also be used on a node-by-node basis. This improves the accuracy for a node, which might be necessary for something like a pass-gate to simulate correctly. It also slows the simulation time considerably.
    • To create a piecewise linear test vector use "vpwl nodename t0 v0 t1 v1 ...". There are also ways to set test vectors which are not piecewise linear as well as ways to read test vectors from a file.
    • Be sure that t0 = 0 in "vpwl" statements. The statement will be ignored otherwise.
    • Unlike Hspice netlists, in Epic netlists, node names are case sensitive.
    • Sample config file
  3. Run TimeMill with the following command:

    timemill -n netlist.en -c test_bench.cfg -p /tools/unicad/local/epic_models/hcmos7_1v_nom -t [ time in nanoseconds ]

    PowerMill can be run by changing the first argument to powrmill and keeping all other arguments the same. The above command runs TimeMill using the ST 0.25 um process at 1.0 V. The output can be viewed by running "turboWave &" and selecting the data file "timemill.out".

Rhett Davis
wrdavis@eecs.berkeley.edu