com.sun.electric.tool.generator.sclibrary
Class SCLibraryGen

java.lang.Object
  extended by com.sun.electric.tool.generator.sclibrary.SCLibraryGen

public class SCLibraryGen
extends java.lang.Object

Generate a standard cell library from purple and red libraries User: gainsley Date: Nov 15, 2006


Nested Class Summary
static class SCLibraryGen.CreateVar
           
static class SCLibraryGen.StandardCellHierarchy
          Standard Cell Enumerator
 
Field Summary
static Variable.Key STANDARDCELL
           
 
Constructor Summary
SCLibraryGen()
           
 
Method Summary
 void addStandardCell(java.lang.String type, java.lang.String sizes)
          Add command to generate the standard cell type for the given space-separated list of sizes.
 boolean generate(StdCellParams sc)
          Generates the standard cell library
static java.util.Set<Cell> getStandardCellsInHierarchy(Cell topCell)
          Return the standard cells in a hierarchy starting from the specified top cell.
static boolean isStandardCell(Cell cell)
          Returns true if the cell is marked as a standard cell for Static Timing Analysis
static void markStandardCell(Cell cell)
          Mark the cell as a standard cell
static void markStandardCellJob(Cell cell)
          Mark the cell as a standard cell.
 void setOutputLibName(java.lang.String name)
          Set the name of the output standard cell library.
 void setPurpleRedLibs(java.lang.String purpleLibraryName, java.lang.String redLibraryName)
          Set the names of the purple and red libraries.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STANDARDCELL

public static final Variable.Key STANDARDCELL
Constructor Detail

SCLibraryGen

public SCLibraryGen()
Method Detail

setPurpleRedLibs

public void setPurpleRedLibs(java.lang.String purpleLibraryName,
                             java.lang.String redLibraryName)
Set the names of the purple and red libraries. These must be loaded when running the generation, and are used as templates for the schematics and icons of standard cells.

Parameters:
purpleLibraryName -
redLibraryName -

setOutputLibName

public void setOutputLibName(java.lang.String name)
Set the name of the output standard cell library. Defaults to "sclib".

Parameters:
name -

addStandardCell

public void addStandardCell(java.lang.String type,
                            java.lang.String sizes)
Add command to generate the standard cell type for the given space-separated list of sizes.

Parameters:
type -
sizes -

generate

public boolean generate(StdCellParams sc)
Generates the standard cell library

Parameters:
sc - standard cell parameters
Returns:
false on error, true otherwise

markStandardCellJob

public static void markStandardCellJob(Cell cell)
Mark the cell as a standard cell. This version of the method performs the task in a Job.

Parameters:
cell - the cell to mark with the standard cell attribute marker

markStandardCell

public static void markStandardCell(Cell cell)
Mark the cell as a standard cell

Parameters:
cell - the cell to mark with the standard cell attribute marker

getStandardCellsInHierarchy

public static java.util.Set<Cell> getStandardCellsInHierarchy(Cell topCell)
Return the standard cells in a hierarchy starting from the specified top cell.

Parameters:
topCell - the top cell in the hierarchy (sch or lay view)
Returns:
a set of standard cells in the hierarchy

isStandardCell

public static boolean isStandardCell(Cell cell)
Returns true if the cell is marked as a standard cell for Static Timing Analysis

Parameters:
cell - the cell to check
Returns:
true if standard cell, false otherwise