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 . Thanks to Russell Kempt of Silvaco Intl. with his assistance with Smartspice. February 5, 1999 4