com.sun.electric.tool.logicaleffort
Class LESizer

java.lang.Object
  extended by com.sun.electric.tool.logicaleffort.LESizer

public class LESizer
extends java.lang.Object

LESizer sizes an LENetlist. The LENetlist is generated by LENetlister from the Electric database, or perhaps read in from a Spice file(?) NOTE: the only 'Electric' objects used are in LENetlister, any objects referenced in this file are from the logicaleffort package, although their names may imply otherwise. Their names are as such because their names match PNP's naming scheme.

Author:
gainsley

Nested Class Summary
static class LESizer.Alg
          Alg is a typesafe enum class that describes the algorithm to be used
 
Constructor Summary
protected LESizer(LESizer.Alg alg, LENetlister1 netlist, Job job, ErrorLogger errorLogger)
          Creates a new instance of LESizer
 
Method Summary
protected  java.util.List getEndNets()
           
protected  boolean optimizeLoops(float maxDeltaX, int N, boolean verbose, float alpha, float keeperRatio)
          Optimize using loop algorithm;
protected  void printDesign()
          Dump the design information for debugging purposes
protected  int printDesignSizes(java.lang.String filename)
          Generate simple size file (for regression purposes)
protected  int printDesignSkill(java.lang.String filename, java.lang.String libname, java.lang.String cellname)
          Generate SKILL backannotation file
static void test1()
          run a contrived test
protected  void testcoverage()
          Dummy method to improve test coverage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LESizer

protected LESizer(LESizer.Alg alg,
                  LENetlister1 netlist,
                  Job job,
                  ErrorLogger errorLogger)
Creates a new instance of LESizer

Method Detail

optimizeLoops

protected boolean optimizeLoops(float maxDeltaX,
                                int N,
                                boolean verbose,
                                float alpha,
                                float keeperRatio)
Optimize using loop algorithm;

Parameters:
maxDeltaX - maximum tolerance allowed in X
N - maximum number of loops
verbose - print out size information for each optimization loop
Returns:
true if succeeded, false otherwise Optimization will stop when the difference in sizes (X) is less than maxDeltaX, or when N iterations have occurred.

getEndNets

protected java.util.List getEndNets()

printDesign

protected void printDesign()
Dump the design information for debugging purposes


printDesignSizes

protected int printDesignSizes(java.lang.String filename)
Generate simple size file (for regression purposes)

Parameters:
filename - output filename

printDesignSkill

protected int printDesignSkill(java.lang.String filename,
                               java.lang.String libname,
                               java.lang.String cellname)
Generate SKILL backannotation file

Parameters:
filename - output filename
libname - The Opus library name to be annotated
cellname - The Opus cell to be annotated

testcoverage

protected void testcoverage()
Dummy method to improve test coverage


test1

public static void test1()
run a contrived test