com.sun.electric.tool.extract
Class LayerCoverageTool

java.lang.Object
  extended by com.sun.electric.tool.Tool
      extended by com.sun.electric.tool.extract.LayerCoverageTool
All Implemented Interfaces:
java.lang.Comparable

public class LayerCoverageTool
extends Tool

Class to describe coverage percentage for a layer.


Nested Class Summary
static class LayerCoverageTool.GeometryOnNetwork
          Class to represent all geometry on a network during layer coverage analysis.
static class LayerCoverageTool.LayerVisitor
          LayerVisitor Class
static class LayerCoverageTool.LCMode
           
static class LayerCoverageTool.TransistorInfo
           
 
Field Summary
protected static LayerCoverageTool tool
          the LayerCoverageTool tool.
 
Fields inherited from class com.sun.electric.tool.Tool
prefs
 
Method Summary
static double getDeltaX(Technology tech)
          Method to get user preference for deltaX.
static double getDeltaY(Technology tech)
          Method to get user preference for deltaY.
static double getFactoryDeltaX(Technology tech)
          Method to get user preference for deltaX, by default.
static double getFactoryDeltaY(Technology tech)
          Method to get user preference for deltaY, by default.
static double getFactoryHeight(Technology tech)
          Method to get user preference for deltaY, by default.
static double getFactoryWidth(Technology tech)
          Method to get user preference for deltaY, by default.
static java.awt.geom.Rectangle2D getGeometryOnNetwork(Cell exportCell, PortInst pi, Layer layer)
          Method to extract bounding box for a particular Network/Layer
static double getHeight(Technology tech)
          Method to get user preference for deltaY.
static LayerCoverageTool getLayerCoverageTool()
          Method to retrieve the singleton associated with the LayerCoverageTool tool.
static double getWidth(Technology tech)
          Method to get user preference for deltaY.
static java.util.Map<Layer,java.lang.Double> layerCoverageCommand(Cell cell, GeometryHandler.GHMode mode, boolean startJob)
          Method to kick area coverage per layer in a cell.
static java.util.List<java.lang.Object> layerCoverageCommand(LayerCoverageTool.LCMode func, GeometryHandler.GHMode mode, Cell curCell, boolean startJob)
          Method to handle the "List Layer Coverage", "Coverage Implant Generator", polygons merge except "List Geometry on Network" commands.
static LayerCoverageTool.GeometryOnNetwork listGeometryOnNetworks(Cell cell, java.util.Set<Network> nets, boolean startJob, GeometryHandler.GHMode mode)
          Method to calculate area, half-perimeter and ratio of each layer by merging geometries
static void setDeltaX(double delta, Technology tech)
          Method to set user preference for deltaX.
static void setDeltaY(double delta, Technology tech)
          Method to set user preference for deltaY.
static void setHeight(double h, Technology tech)
          Method to set user preference for height of the bounding box.
static void setWidth(double w, Technology tech)
          Method to set user preference for width of the bounding box.
static boolean testAll()
          JUnit interface
 
Methods inherited from class com.sun.electric.tool.Tool
clearAnalysis, clearBackground, clearFixErrors, clearIncremental, clearOn, clearSynthesis, compareTo, findTool, getDiskSettings, getIndex, getListeners, getName, getNumTools, getProjectSettings, getSetting, getTools, init, initAllTools, initProjectSettings, isAnalysis, isBackground, isFixErrors, isIncremental, isOn, isSynthesis, makeBooleanSetting, makeDoubleSetting, makeIntSetting, makeLongSetting, makeStringSetting, setAnalysis, setBackground, setFixErrors, setIncremental, setOn, setSynthesis, setVarInJob, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tool

protected static LayerCoverageTool tool
the LayerCoverageTool tool.

Method Detail

getLayerCoverageTool

public static LayerCoverageTool getLayerCoverageTool()
Method to retrieve the singleton associated with the LayerCoverageTool tool.

Returns:
the LayerCoverageTool tool.

getDeltaX

public static double getDeltaX(Technology tech)
Method to get user preference for deltaX. The default is 50 mm.

Returns:
double representing deltaX.

setDeltaX

public static void setDeltaX(double delta,
                             Technology tech)
Method to set user preference for deltaX.

Parameters:
delta - double representing new deltaX.

getFactoryDeltaX

public static double getFactoryDeltaX(Technology tech)
Method to get user preference for deltaX, by default.

Returns:
double representing deltaX, by default.

getDeltaY

public static double getDeltaY(Technology tech)
Method to get user preference for deltaY. The default is 50 mm.

Returns:
double representing deltaY.

setDeltaY

public static void setDeltaY(double delta,
                             Technology tech)
Method to set user preference for deltaY.

Parameters:
delta - double representing new deltaY.

getFactoryDeltaY

public static double getFactoryDeltaY(Technology tech)
Method to get user preference for deltaY, by default.

Returns:
double representing deltaY, by default.

getWidth

public static double getWidth(Technology tech)
Method to get user preference for deltaY. The default is 50 mm.

Returns:
double representing deltaY.

setWidth

public static void setWidth(double w,
                            Technology tech)
Method to set user preference for width of the bounding box.

Parameters:
w - double representing new width.

getFactoryWidth

public static double getFactoryWidth(Technology tech)
Method to get user preference for deltaY, by default.

Returns:
double representing deltaY, by default.

getHeight

public static double getHeight(Technology tech)
Method to get user preference for deltaY. The default is 50 mm.

Returns:
double representing deltaY.

setHeight

public static void setHeight(double h,
                             Technology tech)
Method to set user preference for height of the bounding box.

Parameters:
h - double representing new width.

getFactoryHeight

public static double getFactoryHeight(Technology tech)
Method to get user preference for deltaY, by default.

Returns:
double representing deltaY, by default.

layerCoverageCommand

public static java.util.List<java.lang.Object> layerCoverageCommand(LayerCoverageTool.LCMode func,
                                                                    GeometryHandler.GHMode mode,
                                                                    Cell curCell,
                                                                    boolean startJob)
Method to handle the "List Layer Coverage", "Coverage Implant Generator", polygons merge except "List Geometry on Network" commands.


layerCoverageCommand

public static java.util.Map<Layer,java.lang.Double> layerCoverageCommand(Cell cell,
                                                                         GeometryHandler.GHMode mode,
                                                                         boolean startJob)
Method to kick area coverage per layer in a cell. It has to be public due to regressions.

Parameters:
cell -
mode -
startJob - to determine if job has to run in a separate thread
Returns:
true if job runs without errors. Only valid if startJob is false (regression purpose)

getGeometryOnNetwork

public static java.awt.geom.Rectangle2D getGeometryOnNetwork(Cell exportCell,
                                                             PortInst pi,
                                                             Layer layer)
Method to extract bounding box for a particular Network/Layer

Parameters:
exportCell -
Returns:
Rectangle2D containing the bounding box for a particular Network/Layer

listGeometryOnNetworks

public static LayerCoverageTool.GeometryOnNetwork listGeometryOnNetworks(Cell cell,
                                                                         java.util.Set<Network> nets,
                                                                         boolean startJob,
                                                                         GeometryHandler.GHMode mode)
Method to calculate area, half-perimeter and ratio of each layer by merging geometries

Parameters:
cell - cell to analyze
nets - networks to analyze
startJob - if job has to run on thread
mode - geometric algorithm to use: GeometryHandler.ALGO_QTREE, GeometryHandler.SWEEP or GeometryHandler.ALGO_MERGE

testAll

public static boolean testAll()
JUnit interface