com.sun.electric.tool.generator.layout.fill
Class FillGeneratorTool

java.lang.Object
  extended by com.sun.electric.tool.Tool
      extended by com.sun.electric.tool.generator.layout.fill.FillGeneratorTool
All Implemented Interfaces:
java.lang.Comparable

public class FillGeneratorTool
extends Tool

Object for building fill libraries


Nested Class Summary
static class FillGeneratorTool.FillTypeEnum
           
static class FillGeneratorTool.Units
           
 
Field Summary
protected  CapCell capCell
           
 FillGenConfig config
           
static FillGeneratorTool.Units LAMBDA
           
protected  Library lib
           
 java.util.List<Cell> masters
           
static ExportConfig PERIMETER
           
static ExportConfig PERIMETER_AND_INTERNAL
           
protected  com.sun.electric.tool.generator.layout.fill.Floorplan[] plans
           
static FillGeneratorTool.Units TRACKS
           
 
Fields inherited from class com.sun.electric.tool.Tool
prefs
 
Constructor Summary
FillGeneratorTool()
           
 
Method Summary
protected  boolean getOrientation()
           
static FillGeneratorTool getTool()
           
protected  void initFillParameters(boolean metalFlex, boolean hierFlex)
           
static Cell makeFillCell(Library lib, com.sun.electric.tool.generator.layout.fill.Floorplan[] plans, int botLayer, int topLayer, CapCell capCell, TechType tech, ExportConfig expCfg, boolean metalFlex, boolean hierFlex)
           
 void makeGallery()
           
 void setConfig(FillGenConfig config)
           
 Cell standardMakeFillCell(int loLayer, int hiLayer, TechType tech, ExportConfig exportConfig, int[] tiledSizes, boolean metalFlex)
          Create a fill cell using the current library, fill cell width, fill cell height, layer orientation, and reserved spaces for each layer.
 void writeLibrary(int backupScheme)
           
 
Methods inherited from class com.sun.electric.tool.Tool
clearAnalysis, clearBackground, clearFixErrors, clearIncremental, clearOn, clearSynthesis, compareTo, findTool, getIndex, getListeners, getName, getNumTools, getProjectSettings, getTools, init, initAllTools, isAnalysis, isBackground, isFixErrors, isIncremental, isOn, isSynthesis, setAnalysis, setBackground, setFixErrors, setIncremental, setOn, setSynthesis, setVarInJob, testAll, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

config

public FillGenConfig config

lib

protected Library lib

masters

public java.util.List<Cell> masters

capCell

protected CapCell capCell

plans

protected com.sun.electric.tool.generator.layout.fill.Floorplan[] plans

LAMBDA

public static final FillGeneratorTool.Units LAMBDA

TRACKS

public static final FillGeneratorTool.Units TRACKS

PERIMETER

public static final ExportConfig PERIMETER

PERIMETER_AND_INTERNAL

public static final ExportConfig PERIMETER_AND_INTERNAL
Constructor Detail

FillGeneratorTool

public FillGeneratorTool()
Method Detail

getTool

public static FillGeneratorTool getTool()

setConfig

public void setConfig(FillGenConfig config)

getOrientation

protected boolean getOrientation()

initFillParameters

protected void initFillParameters(boolean metalFlex,
                                  boolean hierFlex)

makeFillCell

public static Cell makeFillCell(Library lib,
                                com.sun.electric.tool.generator.layout.fill.Floorplan[] plans,
                                int botLayer,
                                int topLayer,
                                CapCell capCell,
                                TechType tech,
                                ExportConfig expCfg,
                                boolean metalFlex,
                                boolean hierFlex)

standardMakeFillCell

public Cell standardMakeFillCell(int loLayer,
                                 int hiLayer,
                                 TechType tech,
                                 ExportConfig exportConfig,
                                 int[] tiledSizes,
                                 boolean metalFlex)
Create a fill cell using the current library, fill cell width, fill cell height, layer orientation, and reserved spaces for each layer. Then generate larger fill cells by tiling that fill cell according to the current tiled cell sizes.

Parameters:
loLayer - the lower layer. This may be 1 through 6. Layer 1 means build a capacitor using MOS transistors between Vdd and ground.
hiLayer - the upper layer. This may be 2 through 6. Note that hiLayer must be >= loLayer.
exportConfig - may be PERIMETER in which case exports are placed along the perimeter of the cell for the top two layers. Otherwise exportConfig must be PERIMETER_AND_INTERNAL in which case exports are placed inside the perimeter of the cell for the bottom layer.
tiledSizes - Array specifying composite Cells we should build by concatonating fill cells. For example int[] {2, 4, 7} means we should

makeGallery

public void makeGallery()

writeLibrary

public void writeLibrary(int backupScheme)