|
|
| |
Hints for getting started with EPIC under Unicad
last updated 4/23/99
Getting started
- source /tools/synopsys/epic5.3/CSHRC
- epicMan & (this brings up online doc's)
A breakdown of EPIC tools
- 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.
- 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).
- PathMill - A tools for identifying and tweaking critical paths.
Performing a simulation in TimeMill with a SPICE netlist
- 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
- 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
- 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
| |
|
|