Autochar(1) Autochar(1)
NAME
autochar - Automatic cell characterization of digital cir-
cuits.
SYNOPSIS
autochar [-hs] [-c cellname] [-o report] input+
DESCRIPTION
The program autochar is used to automate the characteriza-
tion of digital circuits. It basically generates simula-
tion wrappers for popular circuit simulators like Hspice
and Smartspice (sorry, no spice2 or spice3), and allows
the user to characterize circuit behavior such as delay as
a function of loading capacitance, input capacitance, reg-
ister setup and hold times, clock enable setup and hold
times, and clock to Q delay as a function of load capaci-
tance. Other characterization types will be added in
future updates of autochar, including tristate buffers,
power, and critical path delays.
The outputs of autochar are a characterization report, an
optional database, and an optional Synopsys model. Other
formats can be easily generated by using the database.
In this implementation, autochar is entirely written in
perl (version 5.004 04), including the input control files
(effectively a perl API!) and the database. This gives
the user much flexibility in expanding the functionality
and integrating it into library development flows.
OPTIONS
-h Print help usage.
-s Skip running spice if output if found. The
default is to run spice regardless of any outputs
found.
-c cellname
The name of the cell to characterize.
-o report
The name of the output report. The default is
cellname.rpt.
input+ Input control file(s). The input control files
(perl commands) will be executed in the order
given.
CHARACTERIZATION MODULES
The characterization modules share common defaults as
specified in the $AUTOCHAR/lib/defaults.spec. The user
February 5, 1999 1
Autochar(1) Autochar(1)
specifies technology, nodes, scaling, timing, and many
other parameters in this file.
Load Delay
A series of transient simulations are performed while
an ideal capacitor whose value is varied is applied at
the specified output of some combinatorial circuit.
Linear regression is used to fit the circuit delay as
a function of capacitive load. The input slew rate
may also be varied. See
$AUTOCHAR/lib/load delay.spec.
Input Capacitance
The input capacitance of specified inputs are charac-
terized by finding the equivalent ideal capacitance
value during transient simulations. The Hspice and
Smartspice optimizers are used to vary the ideal
capacitance value. See $AUTOCHAR/lib/input cap.spec.
D Setup/Hold
The setup and hold times of a standard D-flop data
input with respect to a reference clock signal are
found using a binary search mechanism. The search is
done using Hspice and Smartspice's built-in capabili-
ties to help reduce the simulation time. See
$AUTOCHAR/lib/setup hold.spec.
CE Setup/Hold
The setup and hold times of a standard D-flop clock
enable input with respect to a reference clock signal
are found using a binary search mechanism. The search
is done using Hspice and Smartspice's built-in capa-
bilities to help reduce the simulation time. See
$AUTOCHAR/lib/clock enable.spec.
Clock to Q
A series of transient simulations are performed while
an ideal capacitor whose value is varied is applied at
the Q output of a standard D-flop. Linear regression
is used to fit the circuit delay as a function of
capacitive load. The clock's slew rate may also be
varied. See $AUTOCHAR/lib/clock q.spec.
FILES
bin/ src/
These directories contain the executables,sample spice
scripts, and source code.
February 5, 1999 2
Autochar(1) Autochar(1)
doc/ man/
These directories contain miscellaneous documents and
this man page.
example/
This directory contains a sample run.
lib/
This directory contains control file templates.
tech/
This is a sample tech directory containing models from
HP and TSMC through MOSIS. Autochar requires that
there be a single ".include" file that will bring in
all the necessary technology related files to run
spice. For example, $TECHDIR/tsmc035/include/ttlh.sp
sets up the typical-typical N and P devices at low Vdd
and high temperature. Autochar also requires special
node names, spice parameters, and subcircuits be
available, as those shown in the $TECHDIR/tsmc035/lib
directory.
ENVIRONMENT VARIABLES
AUTOCHAR
This variable points to the autochar installation
directory.
TECHDIR
This variable points to the installation of the spice
technology directory.
RUNDIR
This variable points to the directory where the char-
acterizations are run and is required if the user
chooses to follow the setup in the example provided.
PERL
This variable points to where perl resides, and is
needed only during the installation of autochar.
NOTES
Hspice is a registered trademark of Avant! Corporation.
Smartspice is a registered trademark of Silvaco Interna-
tional. Synopsys is a registered trademark of Synopsys,
Inc.
February 5, 1999 3
Autochar(1) Autochar(1)
Autochar Copyright (c) 1999 Robert Yu. Autochar is freely
distributed under GNU Public License. See the source dis-
tribution for details.
AUTHOR
Robert Yu <robert@yu.org>. Thanks to Russell Kempt of
Silvaco Intl. with his assistance with Smartspice.
February 5, 1999 4