
WHAT IS ENCOUNTER TCL SCRIPTS FOR SIZING
=================
Encounter TCL scripts for sizing implement common sizing methods for gate sizing and vth assignment for benchmarking and comparison purposes. The focus is on benchmarking, and while the code is written to be efficient, the runtimes are not indicative of what an optimized custom implementation will be.


AUTHOR
======
John H. Lee, UCLA
Graduate Student Researcher
NanoCAD Lab, Eng IV, 53-109 
Electrical Engineering Department
University of California, Los Angeles
Phone: (310) 825 - 7154
http://www.ee.ucla.edu/~lee
email:lee@ee.ucla.edu


PROJECT DIRECTOR
================
Puneet Gupta, UCLA
Assistant Professor
6730C, Boelter Hall,
Box 951594, UCLA,
Los Angeles CA 90095-1594
Phone: (310) 825 - 1376
http://www.ee.ucla.edu/~puneet
email:puneet@ee.ucla.edu


COPYRIGHT NOTICE 
================
Copyright 2011 The Regents of the University of California
All Rights Reserved
Created by John H. Lee
Electrical Engineering Department, UCLA 


DISCLAIMER
==========
This software is provided "As Is" and without any express or implied
warranties. Neither the authors nor any of their employers (including
any of their subsidiaries and subdivisions) are responsible for maintaining
or supporting this software or for any consequences resulting from the
use of this software even if they arise from flaws in the software.


LICENSE
=======
See file LICENSE. 


CONTENTS 
(please refer to the header in each file for more information)
========
File/Directory Name       Description
----------------------------------------------------------------------------------
README			read this file first

LICENSE			license file

[EXAMPLE RESULTS]
example_results.xls	Excel file with example results for ISCAS '85 and '89 benchmarks on a 45nm commercial library

[SIZING SCRIPTS]
greedySizing.tcl	Greedy Sizing heuristics
LPSA.tcl		LP Slack Assignment heuristic

[HELPER SCRIPTS]
leakageProcs.tcl	Reads leakage power from .lib files, provides leakage power estimates used in the sizing scripts
minimumSize.tcl		Sizes all cells down to the minimum leakage power implementation
sizingProcs.tcl		Procs used to help perform sizing
source.tcl		Script that loads all the procs
timingProcs.tcl		Scripts used to query for timing
timingAnalysis.tcl	Script used to dump timing information for analysis

[EXAMPLE SCRIPTS]
sizingExperiment.tcl	Example sizing experiment
prepsizing.tcl		Example sizing preparation script

[PROVIDED AS IS, BUT NOT TESTED AND NOT SUPPORTED]
LPassignment.tcl	LP assignment gate heurisitic
discreteLR.tcl		Discrete Lagrangian relaxation heuristic
globalSizing.tcl	Global Sizing heuristic for sizing

SYSTEM REQUIREMENTS
===================
These scripts are tested on Encounter v. 10.11, and lp_solve 5.5. If you are using older versions of Encounter (prior to 10.1), the "fastTiming" variables (there are 2 instances) will need to be set to 0, as older versions of Encounter do not support redirect from stdout to file. Very old versions of Encounter do not support the ecoChangeCell command - this command is necessary for correct operation of the scripts.

To run the LP Slack Allocation, the free software lp_solve http://lpsolve.sourceforge.net/5.5/ is needed to solve the Linear Programming Problems.

A example of how to run the scripts is provided in sizingExperiment.tcl

BUGS
====
Please send all bug reports to John H. Lee <lee@ee.ucla.edu>.
Do not forget to mention which version of UCLA_DRE you have and which
operating system version of Encounter you are using.


ACKNOWLEDGEMENTS
================
This work is supported by NSF.
