.TH \fIAutochar\fP 1 "February 5, 1999" .SH NAME \fIautochar\fP - Automatic cell characterization of digital circuits. .SH SYNOPSIS .B \fIautochar\fP [-hs] [-c cellname] [-o report] input+ .SH DESCRIPTION The program \fIautochar\fP is used to automate the characterization of digital circuits. It basically generates simulation 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, register setup and hold times, clock enable setup and hold times, and clock to Q delay as a function of load capacitance. Other characterization types will be added in future updates of \fIautochar\fP, including tristate buffers, power, and critical path delays. .sp The outputs of \fIautochar\fP are a characterization report, an optional database, and an optional Synopsys model. Other formats can be easily generated by using the database. .sp In this implementation, \fIautochar\fP 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. .SH OPTIONS .TP 8 .B -h Print help usage. .TP 8 .B -s Skip running spice if output if found. The default is to run spice regardless of any outputs found. .TP 8 .B -c cellname The name of the cell to characterize. .TP 8 .B -o report The name of the output report. The default is cellname.rpt. .TP 8 .B input+ Input control file(s). The input control files (perl commands) will be executed in the order given. .SH CHARACTERIZATION MODULES The characterization modules share common defaults as specified in the $AUTOCHAR/lib/defaults.spec. The user specifies technology, nodes, scaling, timing, and many other parameters in this file. .sp .TP 4 .B 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. .sp .TP 4 .B Input Capacitance The input capacitance of specified inputs are characterized 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. .sp .TP 4 .B 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 capabilities to help reduce the simulation time. See $AUTOCHAR/lib/setup_hold.spec. .sp .TP 4 .B 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 capabilities to help reduce the simulation time. See $AUTOCHAR/lib/clock_enable.spec. .sp .TP 4 .B 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. .SH FILES .sp .TP 4 .B bin/ src/ These directories contain the executables,sample spice scripts, and source code. .sp .TP 4 .B doc/ man/ These directories contain miscellaneous documents and this man page. .sp .TP 4 .B example/ This directory contains a sample run. .sp .TP 4 .B lib/ This directory contains control file templates. .sp .TP 4 .B tech/ This is a sample tech directory containing models from HP and TSMC through MOSIS. \fIAutochar\fP 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. \fIAutochar\fP also requires special node names, spice parameters, and subcircuits be available, as those shown in the $TECHDIR/tsmc035/lib directory. .SH ENVIRONMENT VARIABLES .sp .TP 4 .B AUTOCHAR This variable points to the \fIautochar\fP installation directory. .sp .TP 4 .B TECHDIR This variable points to the installation of the spice technology directory. .sp .TP 4 .B RUNDIR This variable points to the directory where the characterizations are run and is required if the user chooses to follow the setup in the example provided. .sp .TP 4 .B PERL This variable points to where perl resides, and is needed only during the installation of \fIautochar\fP. .SH NOTES Hspice is a registered trademark of Avant! Corporation. Smartspice is a registered trademark of Silvaco International. Synopsys is a registered trademark of Synopsys, Inc. .sp \fIAutochar\fP Copyright (c) 1999 Robert Yu. \fIAutochar\fP is freely distributed under GNU Public License. See the source distribution for details. .SH AUTHOR Robert Yu . Thanks to Russell Kempt of Silvaco Intl. with his assistance with Smartspice.