com.sun.electric.tool.routing
Class Routing

java.lang.Object
  extended by com.sun.electric.tool.Tool
      extended by com.sun.electric.tool.Listener
          extended by com.sun.electric.tool.routing.Routing
All Implemented Interfaces:
Changes, java.lang.Comparable

public class Routing
extends Listener

This is the Routing tool.


Nested Class Summary
static class Routing.Activity
          Class to describe recent activity that pertains to routing.
 
Field Summary
 
Fields inherited from class com.sun.electric.tool.Tool
prefs
 
Method Summary
static void copyRoutingTopology()
          Method called when the "Copy Routing Topology" command is issued.
static boolean copyTopology(Cell fromCell, Cell toCell)
          Method to copy the routing topology from one cell to another.
 void endBatch(Snapshot oldSnapshot, Snapshot newSnapshot, boolean undoRedo)
          Handles database changes of a Job.
static java.util.List<Connection> findNetEnds(Network net, java.util.Set<ArcInst> arcsToDelete, java.util.Set<NodeInst> nodesToDelete, Netlist netList, boolean mustBeUnrouted)
          Method to find the endpoints of a network.
static java.lang.String getFactoryPreferredRoutingArc()
          Method to return the name of the arc that should be used as a factory default by the stitching routers.
static int getFactorySeaOfGatesComplexityLimit()
          Method to get the "sea-of-gates" complexity limit, by default.
static double getFactorySeaOfGatesMaxWidth()
          Method to get the "sea-of-gates" maximum arc width, by default.
static double getFactorySunRouterCostLimit()
           
static double getFactorySunRouterCutlineDeviation()
           
static double getFactorySunRouterDelta()
           
static int getFactorySunRouterDenseViaAreaSize()
           
static int getFactorySunRouterGlobalPathExpansion()
           
static int getFactorySunRouterHighPathSearchCost()
           
static double getFactorySunRouterLayerAssgnCapF()
           
static double getFactorySunRouterLengthLongNet()
           
static double getFactorySunRouterLengthMedNet()
           
static int getFactorySunRouterLowPathSearchCost()
           
static int getFactorySunRouterMediumPathSearchCost()
           
static double getFactorySunRouterOneTileFactor()
           
static int getFactorySunRouterOverloadLimit()
           
static int getFactorySunRouterPathSearchControl()
           
static int getFactorySunRouterPinFactor()
           
static int getFactorySunRouterRetryDenseViaAreaSize()
           
static int getFactorySunRouterRetryExpandRouting()
           
static int getFactorySunRouterRipUpExpansion()
           
static int getFactorySunRouterRipUpMaximum()
           
static int getFactorySunRouterRipUpPenalty()
           
static int getFactorySunRouterRipUpSearches()
           
static int getFactorySunRouterSinkAccessExpansion()
           
static int getFactorySunRouterSourceAccessExpansion()
           
static int getFactorySunRouterSparseViaModulo()
           
static int getFactorySunRouterTakenPathSearchCost()
           
static double getFactorySunRouterTilesPerPinLongNet()
           
static double getFactorySunRouterTilesPerPinMedNet()
           
static double getFactorySunRouterUPinDensityF()
           
static int getFactorySunRouterVerboseLevel()
           
static int getFactorySunRouterWindow()
           
static double getFactorySunRouterWireBlockageFactor()
           
static int getFactorySunRouterWireModulo()
           
static int getFactorySunRouterWireOffset()
           
static int getFactorySunRouterXBitSize()
           
static int getFactorySunRouterXTileSize()
           
static int getFactorySunRouterYBitSize()
           
static int getFactorySunRouterYTileSize()
           
static int getFactorySunRouterZRipUpExpansion()
           
 Routing.Activity getLastActivity()
          Method to return the most recent routing activity.
static java.lang.String getPreferredRoutingArc()
          Method to return the name of the arc that should be used as a default by the stitching routers.
static ArcProto getPreferredRoutingArcProto()
          Method to determine the preferred ArcProto to use for routing.
static Routing getRoutingTool()
          Method to retrieve the singleton associated with the Routing tool.
static int getSeaOfGatesComplexityLimit()
          Method to get the "sea-of-gates" complexity limit.
static double getSeaOfGatesMaxWidth()
          Method to get the "sea-of-gates" maximum arc width.
static double getSunRouterCostLimit()
           
static double getSunRouterCutlineDeviation()
           
static double getSunRouterDelta()
           
static int getSunRouterDenseViaAreaSize()
           
static int getSunRouterGlobalPathExpansion()
           
static int getSunRouterHighPathSearchCost()
           
static double getSunRouterLayerAssgnCapF()
           
static double getSunRouterLengthLongNet()
           
static double getSunRouterLengthMedNet()
           
static int getSunRouterLowPathSearchCost()
           
static int getSunRouterMediumPathSearchCost()
           
static double getSunRouterOneTileFactor()
           
static int getSunRouterOverloadLimit()
           
static int getSunRouterPathSearchControl()
           
static int getSunRouterPinFactor()
           
static int getSunRouterRetryDenseViaAreaSize()
           
static int getSunRouterRetryExpandRouting()
           
static int getSunRouterRipUpExpansion()
           
static int getSunRouterRipUpMaximum()
           
static int getSunRouterRipUpPenalty()
           
static int getSunRouterRipUpSearches()
           
static int getSunRouterSinkAccessExpansion()
           
static int getSunRouterSourceAccessExpansion()
           
static int getSunRouterSparseViaModulo()
           
static int getSunRouterTakenPathSearchCost()
           
static double getSunRouterTilesPerPinLongNet()
           
static double getSunRouterTilesPerPinMedNet()
           
static double getSunRouterUPinDensityF()
           
static int getSunRouterVerboseLevel()
          verbose level can be 0: silent, 1: quiet, 2: normal 3: verbose
static int getSunRouterWindow()
           
static double getSunRouterWireBlockageFactor()
           
static int getSunRouterWireModulo()
           
static int getSunRouterWireOffset()
           
static int getSunRouterXBitSize()
           
static int getSunRouterXTileSize()
           
static int getSunRouterYBitSize()
           
static int getSunRouterYTileSize()
           
static int getSunRouterZRipUpExpansion()
           
static boolean hasSunRouter()
          Method to tell whether the Sun Router is available.
 void init()
          Method to initialize the Routing tool.
static boolean isAutoStitchCreateExports()
          Method to tell whether Auto-stitching should create exports if necessary.
static boolean isAutoStitchOn()
          Method to tell whether Auto-stitching should be done.
static boolean isFactoryAutoStitchCreateExports()
          Method to tell whether Auto-stitching should create exports if necessary, by default.
static boolean isFactoryAutoStitchOn()
          Method to tell whether Auto-stitching should be done, by default.
static boolean isFactoryMimicStitchInteractive()
          Method to tell whether Mimic-stitching runs interactively, by default.
static boolean isFactoryMimicStitchMatchNodeSize()
          Method to tell whether Mimic-stitching only works when the node sizes are the same, by default.
static boolean isFactoryMimicStitchMatchNodeType()
          Method to tell whether Mimic-stitching only works when the nodes have the same type, by default.
static boolean isFactoryMimicStitchMatchNumArcs()
          Method to tell whether Mimic-stitching only works when the number of existing arcs matches, by default.
static boolean isFactoryMimicStitchMatchPorts()
          Method to tell whether Mimic-stitching only works between matching ports, by default.
static boolean isFactoryMimicStitchMatchPortWidth()
          Method to tell whether Mimic-stitching only works between ports of the same width, by default.
static boolean isFactoryMimicStitchNoOtherArcsSameDir()
          Method to tell whether Mimic-stitching only works when there are no other arcs running in the same direction, by default.
static boolean isFactoryMimicStitchOn()
          Method to tell whether Mimic-stitching should be done, by default.
static boolean isFactoryMimicStitchOnlyNewTopology()
          Method to tell whether Mimic-stitching creates arcs only where not already connected, by default.
static boolean isFactoryMimicStitchPinsKept()
          Method to tell whether Mimic-stitching keeps pins even if it has no arc connections, by default.
static boolean isFactorySeaOfGatesFavor(ArcProto ap)
          Method to tell if the "sea-of-gates" router should favor this ArcProto, by default.
static boolean isFactorySeaOfGatesPrevent(ArcProto ap)
          Method to tell if the "sea-of-gates" router can use this ArcProto, by default.
static boolean isFactorySeaOfGatesUseParallelFromToRoutes()
          Method to tell whether the "sea-of-gates" router does from/to analysis in parallel, by default.
static boolean isFactorySeaOfGatesUseParallelRoutes()
          Method to tell whether the "sea-of-gates" router finds routes in parallel, by default.
static boolean isMimicStitchInteractive()
          Method to tell whether Mimic-stitching runs interactively.
static boolean isMimicStitchMatchNodeSize()
          Method to tell whether Mimic-stitching only works when the node sizes are the same.
static boolean isMimicStitchMatchNodeType()
          Method to tell whether Mimic-stitching only works when the nodes have the same type.
static boolean isMimicStitchMatchNumArcs()
          Method to tell whether Mimic-stitching only works when the number of existing arcs matches.
static boolean isMimicStitchMatchPorts()
          Method to tell whether Mimic-stitching only works between matching ports.
static boolean isMimicStitchMatchPortWidth()
          Method to tell whether Mimic-stitching only works between ports of the same width.
static boolean isMimicStitchNoOtherArcsSameDir()
          Method to tell whether Mimic-stitching only works when there are no other arcs running in the same direction.
static boolean isMimicStitchOn()
          Method to tell whether Mimic-stitching should be done.
static boolean isMimicStitchOnlyNewTopology()
          Method to tell whether Mimic-stitching creates arcs only where not already connected.
static boolean isMimicStitchPinsKept()
          Method to tell whether Mimic-stitching keeps pins even if it has no arc connections.
static boolean isSeaOfGatesFavor(ArcProto ap)
          Method to tell if the "sea-of-gates" router should favor this ArcProto.
static boolean isSeaOfGatesPrevent(ArcProto ap)
          Method to tell if the "sea-of-gates" router can use this ArcProto.
static boolean isSeaOfGatesUseParallelFromToRoutes()
          Method to tell whether the "sea-of-gates" router does from/to analysis in parallel.
static boolean isSeaOfGatesUseParallelRoutes()
          Method to tell whether the "sea-of-gates" router finds routes in parallel.
 void mimicSelected()
          Method to mimic the currently selected ArcInst.
static void pasteRoutingTopology()
          Method called when the "Paste Routing Topology" command is issued.
static void setAutoStitchCreateExports(boolean on)
          Method to set whether Auto-stitching should create exports if necessary.
static void setAutoStitchOn(boolean on)
          Method to set whether Auto-stitching should be done.
static void setMimicStitchInteractive(boolean on)
          Method to set whether Mimic-stitching runs interactively.
static void setMimicStitchMatchNodeSize(boolean on)
          Method to set whether Mimic-stitching only works when the node sizes are the same.
static void setMimicStitchMatchNodeType(boolean on)
          Method to set whether Mimic-stitching only works when the nodes have the same type.
static void setMimicStitchMatchNumArcs(boolean on)
          Method to set whether Mimic-stitching only works when the number of existing arcs matches.
static void setMimicStitchMatchPorts(boolean on)
          Method to set whether Mimic-stitching only works between matching ports.
static void setMimicStitchMatchPortWidth(boolean on)
          Method to set whether Mimic-stitching only works between ports of the same width.
static void setMimicStitchNoOtherArcsSameDir(boolean on)
          Method to set whether Mimic-stitching only works when there are no other arcs running in the same direction.
static void setMimicStitchOn(boolean on)
          Method to set whether Mimic-stitching should be done.
static void setMimicStitchOnlyNewTopology(boolean on)
          Method to set whether Mimic-stitching creates arcs only where not already connected.
static void setMimicStitchPinsKept(boolean on)
          Method to set whether Mimic-stitching keeps pins even if it has no arc connections.
static void setPreferredRoutingArc(java.lang.String arcName)
          Method to set the name of the arc that should be used as a default by the stitching routers.
static void setSeaOfGatesComplexityLimit(int c)
          Method to set the "sea-of-gates" complexity limit.
static void setSeaOfGatesFavor(ArcProto ap, boolean favor)
          Method to set the "sea-of-gates favor" bit for this ArcProto.
static void setSeaOfGatesMaxWidth(double w)
          Method to set the "sea-of-gates" maximum arc width.
static void setSeaOfGatesPrevent(ArcProto ap, boolean prevent)
          Method to set the "sea-of-gates can use" bit for this ArcProto.
static void setSeaOfGatesUseParallelFromToRoutes(boolean p)
          Method to set whether the "sea-of-gates" router does from/to analysis in parallel.
static void setSeaOfGatesUseParallelRoutes(boolean p)
          Method to set whether the "sea-of-gates" router finds routes in parallel.
static void setSunRouterCostLimit(double r)
           
static void setSunRouterCutlineDeviation(double r)
           
static void setSunRouterDelta(double r)
           
static void setSunRouterDenseViaAreaSize(int r)
           
static void setSunRouterGlobalPathExpansion(int r)
           
static void setSunRouterHighPathSearchCost(int r)
           
static void setSunRouterLayerAssgnCapF(double r)
           
static void setSunRouterLengthLongNet(double r)
           
static void setSunRouterLengthMedNet(double r)
           
static void setSunRouterLowPathSearchCost(int r)
           
static void setSunRouterMediumPathSearchCost(int r)
           
static void setSunRouterOneTileFactor(double r)
           
static void setSunRouterOverloadLimit(int r)
           
static void setSunRouterPathSearchControl(int r)
           
static void setSunRouterPinFactor(int r)
           
static void setSunRouterRetryDenseViaAreaSize(int r)
           
static void setSunRouterRetryExpandRouting(int r)
           
static void setSunRouterRipUpExpansion(int r)
           
static void setSunRouterRipUpMaximum(int r)
           
static void setSunRouterRipUpPenalty(int r)
           
static void setSunRouterRipUpSearches(int r)
           
static void setSunRouterSinkAccessExpansion(int r)
           
static void setSunRouterSourceAccessExpansion(int r)
           
static void setSunRouterSparseViaModulo(int r)
           
static void setSunRouterTakenPathSearchCost(int r)
           
static void setSunRouterTilesPerPinLongNet(double r)
           
static void setSunRouterTilesPerPinMedNet(double r)
           
static void setSunRouterUPinDensityF(double r)
           
static void setSunRouterVerboseLevel(int v)
           
static void setSunRouterWindow(int r)
           
static void setSunRouterWireBlockageFactor(double r)
           
static void setSunRouterWireModulo(int r)
           
static void setSunRouterWireOffset(int r)
           
static void setSunRouterXBitSize(int r)
           
static void setSunRouterXTileSize(int r)
           
static void setSunRouterYBitSize(int r)
           
static void setSunRouterYTileSize(int r)
           
static void setSunRouterZRipUpExpansion(int r)
           
static void sunRouteCurrentCell()
          Method to invoke the Sun Router via reflection.
static void unrouteCurrent()
          Method to convert the current network(s) to an unrouted wire.
 
Methods inherited from class com.sun.electric.tool.Listener
eraseLibrary, examineCell, killObject, modifyArcInst, modifyCell, modifyCellGroup, modifyExport, modifyLibrary, modifyNodeInst, newObject, readLibrary, renameObject, request, slice, startBatch, writeLibrary
 
Methods inherited from class com.sun.electric.tool.Tool
clearAnalysis, clearBackground, clearFixErrors, clearIncremental, clearOn, clearSynthesis, compareTo, findTool, getIndex, getListeners, getName, getNumTools, getProjectSettings, getTools, 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
 

Method Detail

init

public void init()
Method to initialize the Routing tool.

Specified by:
init in interface Changes
Overrides:
init in class Tool

getRoutingTool

public static Routing getRoutingTool()
Method to retrieve the singleton associated with the Routing tool.

Returns:
the Routing tool.

endBatch

public void endBatch(Snapshot oldSnapshot,
                     Snapshot newSnapshot,
                     boolean undoRedo)
Handles database changes of a Job.

Specified by:
endBatch in interface Changes
Specified by:
endBatch in class Listener
Parameters:
oldSnapshot - database snapshot before Job.
newSnapshot - database snapshot after Job and constraint propagation.
undoRedo - true if Job was Undo/Redo job.

mimicSelected

public void mimicSelected()
Method to mimic the currently selected ArcInst.


unrouteCurrent

public static void unrouteCurrent()
Method to convert the current network(s) to an unrouted wire.


getPreferredRoutingArcProto

public static ArcProto getPreferredRoutingArcProto()
Method to determine the preferred ArcProto to use for routing. Examines preferences in the Routing tool and User interface.

Returns:
the preferred ArcProto to use for routing.

findNetEnds

public static java.util.List<Connection> findNetEnds(Network net,
                                                     java.util.Set<ArcInst> arcsToDelete,
                                                     java.util.Set<NodeInst> nodesToDelete,
                                                     Netlist netList,
                                                     boolean mustBeUnrouted)
Method to find the endpoints of a network.

Parameters:
net - the network to "unroute".
arcsToDelete - a HashSet of arcs that should be deleted.
nodesToDelete - a HashSet of nodes that should be deleted.
netList - the netlist for the current cell.
mustBeUnrouted - true to include all items on the network in the list of arcs/nodes to delete. False to only include items from the generic technology or pins with no exports.
Returns:
a List of Connection (PortInst/Point2D pairs) that should be wired together.

getLastActivity

public Routing.Activity getLastActivity()
Method to return the most recent routing activity.


hasSunRouter

public static boolean hasSunRouter()
Method to tell whether the Sun Router is available. This is a proprietary tool from Sun Microsystems. This method dynamically figures out whether the router is present by using reflection.

Returns:
true if the Sun Router is available.

sunRouteCurrentCell

public static void sunRouteCurrentCell()
Method to invoke the Sun Router via reflection.


copyRoutingTopology

public static void copyRoutingTopology()
Method called when the "Copy Routing Topology" command is issued. It remembers the topology in the current cell.


pasteRoutingTopology

public static void pasteRoutingTopology()
Method called when the "Paste Routing Topology" command is issued. It applies the topology of the "copied" cell to the current cell.


copyTopology

public static boolean copyTopology(Cell fromCell,
                                   Cell toCell)
Method to copy the routing topology from one cell to another.

Parameters:
fromCell - the source of the routing topology.
toCell - the destination cell for the routing topology.
Returns:
true if successful.

getPreferredRoutingArc

public static java.lang.String getPreferredRoutingArc()
Method to return the name of the arc that should be used as a default by the stitching routers. The default is "".

Returns:
the name of the arc that should be used as a default by the stitching routers.

setPreferredRoutingArc

public static void setPreferredRoutingArc(java.lang.String arcName)
Method to set the name of the arc that should be used as a default by the stitching routers.

Parameters:
arcName - the name of the arc that should be used as a default by the stitching routers.

getFactoryPreferredRoutingArc

public static java.lang.String getFactoryPreferredRoutingArc()
Method to return the name of the arc that should be used as a factory default by the stitching routers.

Returns:
the name of the arc that should be used as a factory default by the stitching routers.

isAutoStitchOn

public static boolean isAutoStitchOn()
Method to tell whether Auto-stitching should be done. The default is "false".

Returns:
true if Auto-stitching should be done.

setAutoStitchOn

public static void setAutoStitchOn(boolean on)
Method to set whether Auto-stitching should be done.

Parameters:
on - true if Auto-stitching should be done.

isFactoryAutoStitchOn

public static boolean isFactoryAutoStitchOn()
Method to tell whether Auto-stitching should be done, by default.

Returns:
true if Auto-stitching should be done, by default.

isAutoStitchCreateExports

public static boolean isAutoStitchCreateExports()
Method to tell whether Auto-stitching should create exports if necessary. The default is "false".

Returns:
true if Auto-stitching should create exports if necessary.

setAutoStitchCreateExports

public static void setAutoStitchCreateExports(boolean on)
Method to set whether Auto-stitching should create exports if necessary.

Parameters:
on - true if Auto-stitching should create exports if necessary.

isFactoryAutoStitchCreateExports

public static boolean isFactoryAutoStitchCreateExports()
Method to tell whether Auto-stitching should create exports if necessary, by default.

Returns:
true if Auto-stitching should create exports if necessary, by default.

isMimicStitchOn

public static boolean isMimicStitchOn()
Method to tell whether Mimic-stitching should be done. The default is "false".

Returns:
true if Mimic-stitching should be done.

setMimicStitchOn

public static void setMimicStitchOn(boolean on)
Method to set whether Mimic-stitching should be done.

Parameters:
on - true if Mimic-stitching should be done.

isFactoryMimicStitchOn

public static boolean isFactoryMimicStitchOn()
Method to tell whether Mimic-stitching should be done, by default.

Returns:
true if Mimic-stitching should be done, by default.

isMimicStitchInteractive

public static boolean isMimicStitchInteractive()
Method to tell whether Mimic-stitching runs interactively. During interactive Mimic stitching, each new set of arcs is shown to the user for confirmation. The default is "false".

Returns:
true if Mimic-stitching runs interactively.

setMimicStitchInteractive

public static void setMimicStitchInteractive(boolean on)
Method to set whether Mimic-stitching runs interactively. During interactive Mimic stitching, each new set of arcs is shown to the user for confirmation.

Parameters:
on - true if Mimic-stitching runs interactively.

isFactoryMimicStitchInteractive

public static boolean isFactoryMimicStitchInteractive()
Method to tell whether Mimic-stitching runs interactively, by default. During interactive Mimic stitching, each new set of arcs is shown to the user for confirmation.

Returns:
true if Mimic-stitching runs interactively, by default.

isMimicStitchPinsKept

public static boolean isMimicStitchPinsKept()
Method to tell whether Mimic-stitching keeps pins even if it has no arc connections. The default is "false".

Returns:
true if Mimic-stitching runs interactively.

setMimicStitchPinsKept

public static void setMimicStitchPinsKept(boolean on)
Method to set whether Mimic-stitching keeps pins even if it has no arc connections.

Parameters:
on - true if Mimic-stitching runs interactively.

isFactoryMimicStitchPinsKept

public static boolean isFactoryMimicStitchPinsKept()
Method to tell whether Mimic-stitching keeps pins even if it has no arc connections, by default.

Returns:
true if Mimic-stitching runs interactively, by default.

isMimicStitchMatchPorts

public static boolean isMimicStitchMatchPorts()
Method to tell whether Mimic-stitching only works between matching ports. The default is "false".

Returns:
true if Mimic-stitching only works between matching ports.

setMimicStitchMatchPorts

public static void setMimicStitchMatchPorts(boolean on)
Method to set whether Mimic-stitching only works between matching ports.

Parameters:
on - true if Mimic-stitching only works between matching ports.

isFactoryMimicStitchMatchPorts

public static boolean isFactoryMimicStitchMatchPorts()
Method to tell whether Mimic-stitching only works between matching ports, by default.

Returns:
true if Mimic-stitching only works between matching ports, by default.

isMimicStitchMatchPortWidth

public static boolean isMimicStitchMatchPortWidth()
Method to tell whether Mimic-stitching only works between ports of the same width. This applies only in the case of busses. The default is "true".

Returns:
true if Mimic-stitching only works between matching ports.

setMimicStitchMatchPortWidth

public static void setMimicStitchMatchPortWidth(boolean on)
Method to set whether Mimic-stitching only works between ports of the same width. This applies only in the case of busses.

Parameters:
on - true if Mimic-stitching only works between ports of the same width.

isFactoryMimicStitchMatchPortWidth

public static boolean isFactoryMimicStitchMatchPortWidth()
Method to tell whether Mimic-stitching only works between ports of the same width, by default. This applies only in the case of busses.

Returns:
true if Mimic-stitching only works between matching ports, by default.

isMimicStitchMatchNumArcs

public static boolean isMimicStitchMatchNumArcs()
Method to tell whether Mimic-stitching only works when the number of existing arcs matches. The default is "false".

Returns:
true if Mimic-stitching only works when the number of existing arcs matches.

setMimicStitchMatchNumArcs

public static void setMimicStitchMatchNumArcs(boolean on)
Method to set whether Mimic-stitching only works when the number of existing arcs matches.

Parameters:
on - true if Mimic-stitching only works when the number of existing arcs matches.

isFactoryMimicStitchMatchNumArcs

public static boolean isFactoryMimicStitchMatchNumArcs()
Method to tell whether Mimic-stitching only works when the number of existing arcs matches, by default.

Returns:
true if Mimic-stitching only works when the number of existing arcs matches, by default.

isMimicStitchMatchNodeSize

public static boolean isMimicStitchMatchNodeSize()
Method to tell whether Mimic-stitching only works when the node sizes are the same. The default is "false".

Returns:
true if Mimic-stitching only works when the node sizes are the same.

setMimicStitchMatchNodeSize

public static void setMimicStitchMatchNodeSize(boolean on)
Method to set whether Mimic-stitching only works when the node sizes are the same.

Parameters:
on - true if Mimic-stitching only works when the node sizes are the same.

isFactoryMimicStitchMatchNodeSize

public static boolean isFactoryMimicStitchMatchNodeSize()
Method to tell whether Mimic-stitching only works when the node sizes are the same, by default.

Returns:
true if Mimic-stitching only works when the node sizes are the same, by default.

isMimicStitchMatchNodeType

public static boolean isMimicStitchMatchNodeType()
Method to tell whether Mimic-stitching only works when the nodes have the same type. The default is "true".

Returns:
true if Mimic-stitching only works when the nodes have the same type.

setMimicStitchMatchNodeType

public static void setMimicStitchMatchNodeType(boolean on)
Method to set whether Mimic-stitching only works when the nodes have the same type.

Parameters:
on - true if Mimic-stitching only works when the nodes have the same type.

isFactoryMimicStitchMatchNodeType

public static boolean isFactoryMimicStitchMatchNodeType()
Method to tell whether Mimic-stitching only works when the nodes have the same type, by default.

Returns:
true if Mimic-stitching only works when the nodes have the same type, by default.

isMimicStitchNoOtherArcsSameDir

public static boolean isMimicStitchNoOtherArcsSameDir()
Method to tell whether Mimic-stitching only works when there are no other arcs running in the same direction. The default is "true".

Returns:
true if Mimic-stitching only works when there are no other arcs running in the same direction.

setMimicStitchNoOtherArcsSameDir

public static void setMimicStitchNoOtherArcsSameDir(boolean on)
Method to set whether Mimic-stitching only works when there are no other arcs running in the same direction.

Parameters:
on - true if Mimic-stitching only works when there are no other arcs running in the same direction.

isFactoryMimicStitchNoOtherArcsSameDir

public static boolean isFactoryMimicStitchNoOtherArcsSameDir()
Method to tell whether Mimic-stitching only works when there are no other arcs running in the same direction, by default.

Returns:
true if Mimic-stitching only works when there are no other arcs running in the same direction, by default.

isMimicStitchOnlyNewTopology

public static boolean isMimicStitchOnlyNewTopology()
Method to tell whether Mimic-stitching creates arcs only where not already connected. If a connection is already made elsewhere, the new one is not made. The default is "true".

Returns:
true if Mimic-stitching creates arcs only where not already connected.

setMimicStitchOnlyNewTopology

public static void setMimicStitchOnlyNewTopology(boolean on)
Method to set whether Mimic-stitching creates arcs only where not already connected. If a connection is already made elsewhere, the new one is not made.

Parameters:
on - true if Mimic-stitching creates arcs only where not already connected.

isFactoryMimicStitchOnlyNewTopology

public static boolean isFactoryMimicStitchOnlyNewTopology()
Method to tell whether Mimic-stitching creates arcs only where not already connected, by default. If a connection is already made elsewhere, the new one is not made.

Returns:
true if Mimic-stitching creates arcs only where not already connected, by default.

setSeaOfGatesPrevent

public static void setSeaOfGatesPrevent(ArcProto ap,
                                        boolean prevent)
Method to set the "sea-of-gates can use" bit for this ArcProto.

Parameters:
prevent - true if sea-of-gates routing should avoid this ArcProto.

isSeaOfGatesPrevent

public static boolean isSeaOfGatesPrevent(ArcProto ap)
Method to tell if the "sea-of-gates" router can use this ArcProto.

Returns:
true if sea-of-gates routing should avoid this ArcProto.

setSeaOfGatesFavor

public static void setSeaOfGatesFavor(ArcProto ap,
                                      boolean favor)
Method to set the "sea-of-gates favor" bit for this ArcProto.

Parameters:
favor - true if sea-of-gates routing should favor this ArcProto.

isFactorySeaOfGatesPrevent

public static boolean isFactorySeaOfGatesPrevent(ArcProto ap)
Method to tell if the "sea-of-gates" router can use this ArcProto, by default.

Returns:
true if sea-of-gates routing should avoid this ArcProto, by default.

isSeaOfGatesFavor

public static boolean isSeaOfGatesFavor(ArcProto ap)
Method to tell if the "sea-of-gates" router should favor this ArcProto.

Returns:
true if sea-of-gates routing should favor this ArcProto.

isFactorySeaOfGatesFavor

public static boolean isFactorySeaOfGatesFavor(ArcProto ap)
Method to tell if the "sea-of-gates" router should favor this ArcProto, by default.

Returns:
true if sea-of-gates routing should favor this ArcProto, by default.

getSeaOfGatesMaxWidth

public static double getSeaOfGatesMaxWidth()
Method to get the "sea-of-gates" maximum arc width. Since the SOG router places arcs that are as wide as the widest arc on the net, this may be too large (especially near pads). This value limits the width.

Returns:
the maximum arc width in sea-of-gates routing.

setSeaOfGatesMaxWidth

public static void setSeaOfGatesMaxWidth(double w)
Method to set the "sea-of-gates" maximum arc width. Since the SOG router places arcs that are as wide as the widest arc on the net, this may be too large (especially near pads). This value limits the width.

Parameters:
w - the maximum arc width in sea-of-gates routing.

getFactorySeaOfGatesMaxWidth

public static double getFactorySeaOfGatesMaxWidth()
Method to get the "sea-of-gates" maximum arc width, by default. Since the SOG router places arcs that are as wide as the widest arc on the net, this may be too large (especially near pads). This value limits the width.

Returns:
the maximum arc width in sea-of-gates routing, by default.

getSeaOfGatesComplexityLimit

public static int getSeaOfGatesComplexityLimit()
Method to get the "sea-of-gates" complexity limit. This is the maximum number of steps allowed when searching for a routing path.

Returns:
the "sea-of-gates" complexity limit.

setSeaOfGatesComplexityLimit

public static void setSeaOfGatesComplexityLimit(int c)
Method to set the "sea-of-gates" complexity limit. This is the maximum number of steps allowed when searching for a routing path.

Parameters:
c - the "sea-of-gates" complexity limit.

getFactorySeaOfGatesComplexityLimit

public static int getFactorySeaOfGatesComplexityLimit()
Method to get the "sea-of-gates" complexity limit, by default. This is the maximum number of steps allowed when searching for a routing path.

Returns:
the "sea-of-gates" complexity limit, by default.

isSeaOfGatesUseParallelFromToRoutes

public static boolean isSeaOfGatesUseParallelFromToRoutes()
Method to tell whether the "sea-of-gates" router does from/to analysis in parallel. Normally, a path is found by looking both from one end to the other, and then from the other end back to the first. The best result of these two searches is used as the route. When true, both paths are run in parallel on separate processors if there are multiple processors (default is true).

Returns:
true if the "sea-of-gates" router does from/to analysis in parallel.

setSeaOfGatesUseParallelFromToRoutes

public static void setSeaOfGatesUseParallelFromToRoutes(boolean p)
Method to set whether the "sea-of-gates" router does from/to analysis in parallel. Normally, a path is found by looking both from one end to the other, and then from the other end back to the first. The best result of these two searches is used as the route. When true, both paths are run in parallel on separate processors if there are multiple processors (default is true).

Parameters:
p - true if the "sea-of-gates" router does from/to analysis in parallel.

isFactorySeaOfGatesUseParallelFromToRoutes

public static boolean isFactorySeaOfGatesUseParallelFromToRoutes()
Method to tell whether the "sea-of-gates" router does from/to analysis in parallel, by default. Normally, a path is found by looking both from one end to the other, and then from the other end back to the first. The best result of these two searches is used as the route. When true, both paths are run in parallel on separate processors if there are multiple processors.

Returns:
true if the "sea-of-gates" router does from/to analysis in parallel, by default.

isSeaOfGatesUseParallelRoutes

public static boolean isSeaOfGatesUseParallelRoutes()
Method to tell whether the "sea-of-gates" router finds routes in parallel. When true, multiple routes are searched using parallel threads, if there are multiple processors (default is false).

Returns:
true if the "sea-of-gates" router finds routes in parallel.

setSeaOfGatesUseParallelRoutes

public static void setSeaOfGatesUseParallelRoutes(boolean p)
Method to set whether the "sea-of-gates" router finds routes in parallel. When true, multiple routes are searched using parallel threads, if there are multiple processors (default is false).

Parameters:
p - true if the "sea-of-gates" router finds routes in parallel.

isFactorySeaOfGatesUseParallelRoutes

public static boolean isFactorySeaOfGatesUseParallelRoutes()
Method to tell whether the "sea-of-gates" router finds routes in parallel, by default. When true, multiple routes are searched using parallel threads, if there are multiple processors.

Returns:
true if the "sea-of-gates" router finds routes in parallel, by default.

getSunRouterVerboseLevel

public static int getSunRouterVerboseLevel()
verbose level can be 0: silent, 1: quiet, 2: normal 3: verbose


setSunRouterVerboseLevel

public static void setSunRouterVerboseLevel(int v)

getFactorySunRouterVerboseLevel

public static int getFactorySunRouterVerboseLevel()

getSunRouterCostLimit

public static double getSunRouterCostLimit()

setSunRouterCostLimit

public static void setSunRouterCostLimit(double r)

getFactorySunRouterCostLimit

public static double getFactorySunRouterCostLimit()

getSunRouterCutlineDeviation

public static double getSunRouterCutlineDeviation()

setSunRouterCutlineDeviation

public static void setSunRouterCutlineDeviation(double r)

getFactorySunRouterCutlineDeviation

public static double getFactorySunRouterCutlineDeviation()

getSunRouterDelta

public static double getSunRouterDelta()

setSunRouterDelta

public static void setSunRouterDelta(double r)

getFactorySunRouterDelta

public static double getFactorySunRouterDelta()

getSunRouterXBitSize

public static int getSunRouterXBitSize()

setSunRouterXBitSize

public static void setSunRouterXBitSize(int r)

getFactorySunRouterXBitSize

public static int getFactorySunRouterXBitSize()

getSunRouterYBitSize

public static int getSunRouterYBitSize()

setSunRouterYBitSize

public static void setSunRouterYBitSize(int r)

getFactorySunRouterYBitSize

public static int getFactorySunRouterYBitSize()

getSunRouterXTileSize

public static int getSunRouterXTileSize()

setSunRouterXTileSize

public static void setSunRouterXTileSize(int r)

getFactorySunRouterXTileSize

public static int getFactorySunRouterXTileSize()

getSunRouterYTileSize

public static int getSunRouterYTileSize()

setSunRouterYTileSize

public static void setSunRouterYTileSize(int r)

getFactorySunRouterYTileSize

public static int getFactorySunRouterYTileSize()

getSunRouterLayerAssgnCapF

public static double getSunRouterLayerAssgnCapF()

setSunRouterLayerAssgnCapF

public static void setSunRouterLayerAssgnCapF(double r)

getFactorySunRouterLayerAssgnCapF

public static double getFactorySunRouterLayerAssgnCapF()

getSunRouterLengthLongNet

public static double getSunRouterLengthLongNet()

setSunRouterLengthLongNet

public static void setSunRouterLengthLongNet(double r)

getFactorySunRouterLengthLongNet

public static double getFactorySunRouterLengthLongNet()

getSunRouterLengthMedNet

public static double getSunRouterLengthMedNet()

setSunRouterLengthMedNet

public static void setSunRouterLengthMedNet(double r)

getFactorySunRouterLengthMedNet

public static double getFactorySunRouterLengthMedNet()

getSunRouterTilesPerPinLongNet

public static double getSunRouterTilesPerPinLongNet()

setSunRouterTilesPerPinLongNet

public static void setSunRouterTilesPerPinLongNet(double r)

getFactorySunRouterTilesPerPinLongNet

public static double getFactorySunRouterTilesPerPinLongNet()

getSunRouterTilesPerPinMedNet

public static double getSunRouterTilesPerPinMedNet()

setSunRouterTilesPerPinMedNet

public static void setSunRouterTilesPerPinMedNet(double r)

getFactorySunRouterTilesPerPinMedNet

public static double getFactorySunRouterTilesPerPinMedNet()

getSunRouterOneTileFactor

public static double getSunRouterOneTileFactor()

setSunRouterOneTileFactor

public static void setSunRouterOneTileFactor(double r)

getFactorySunRouterOneTileFactor

public static double getFactorySunRouterOneTileFactor()

getSunRouterOverloadLimit

public static int getSunRouterOverloadLimit()

setSunRouterOverloadLimit

public static void setSunRouterOverloadLimit(int r)

getFactorySunRouterOverloadLimit

public static int getFactorySunRouterOverloadLimit()

getSunRouterPinFactor

public static int getSunRouterPinFactor()

setSunRouterPinFactor

public static void setSunRouterPinFactor(int r)

getFactorySunRouterPinFactor

public static int getFactorySunRouterPinFactor()

getSunRouterUPinDensityF

public static double getSunRouterUPinDensityF()

setSunRouterUPinDensityF

public static void setSunRouterUPinDensityF(double r)

getFactorySunRouterUPinDensityF

public static double getFactorySunRouterUPinDensityF()

getSunRouterWindow

public static int getSunRouterWindow()

setSunRouterWindow

public static void setSunRouterWindow(int r)

getFactorySunRouterWindow

public static int getFactorySunRouterWindow()

getSunRouterWireOffset

public static int getSunRouterWireOffset()

setSunRouterWireOffset

public static void setSunRouterWireOffset(int r)

getFactorySunRouterWireOffset

public static int getFactorySunRouterWireOffset()

getSunRouterWireModulo

public static int getSunRouterWireModulo()

setSunRouterWireModulo

public static void setSunRouterWireModulo(int r)

getFactorySunRouterWireModulo

public static int getFactorySunRouterWireModulo()

getSunRouterWireBlockageFactor

public static double getSunRouterWireBlockageFactor()

setSunRouterWireBlockageFactor

public static void setSunRouterWireBlockageFactor(double r)

getFactorySunRouterWireBlockageFactor

public static double getFactorySunRouterWireBlockageFactor()

getSunRouterRipUpMaximum

public static int getSunRouterRipUpMaximum()

setSunRouterRipUpMaximum

public static void setSunRouterRipUpMaximum(int r)

getFactorySunRouterRipUpMaximum

public static int getFactorySunRouterRipUpMaximum()

getSunRouterRipUpPenalty

public static int getSunRouterRipUpPenalty()

setSunRouterRipUpPenalty

public static void setSunRouterRipUpPenalty(int r)

getFactorySunRouterRipUpPenalty

public static int getFactorySunRouterRipUpPenalty()

getSunRouterRipUpExpansion

public static int getSunRouterRipUpExpansion()

setSunRouterRipUpExpansion

public static void setSunRouterRipUpExpansion(int r)

getFactorySunRouterRipUpExpansion

public static int getFactorySunRouterRipUpExpansion()

getSunRouterZRipUpExpansion

public static int getSunRouterZRipUpExpansion()

setSunRouterZRipUpExpansion

public static void setSunRouterZRipUpExpansion(int r)

getFactorySunRouterZRipUpExpansion

public static int getFactorySunRouterZRipUpExpansion()

getSunRouterRipUpSearches

public static int getSunRouterRipUpSearches()

setSunRouterRipUpSearches

public static void setSunRouterRipUpSearches(int r)

getFactorySunRouterRipUpSearches

public static int getFactorySunRouterRipUpSearches()

getSunRouterGlobalPathExpansion

public static int getSunRouterGlobalPathExpansion()

setSunRouterGlobalPathExpansion

public static void setSunRouterGlobalPathExpansion(int r)

getFactorySunRouterGlobalPathExpansion

public static int getFactorySunRouterGlobalPathExpansion()

getSunRouterSourceAccessExpansion

public static int getSunRouterSourceAccessExpansion()

setSunRouterSourceAccessExpansion

public static void setSunRouterSourceAccessExpansion(int r)

getFactorySunRouterSourceAccessExpansion

public static int getFactorySunRouterSourceAccessExpansion()

getSunRouterSinkAccessExpansion

public static int getSunRouterSinkAccessExpansion()

setSunRouterSinkAccessExpansion

public static void setSunRouterSinkAccessExpansion(int r)

getFactorySunRouterSinkAccessExpansion

public static int getFactorySunRouterSinkAccessExpansion()

getSunRouterDenseViaAreaSize

public static int getSunRouterDenseViaAreaSize()

setSunRouterDenseViaAreaSize

public static void setSunRouterDenseViaAreaSize(int r)

getFactorySunRouterDenseViaAreaSize

public static int getFactorySunRouterDenseViaAreaSize()

getSunRouterRetryExpandRouting

public static int getSunRouterRetryExpandRouting()

setSunRouterRetryExpandRouting

public static void setSunRouterRetryExpandRouting(int r)

getFactorySunRouterRetryExpandRouting

public static int getFactorySunRouterRetryExpandRouting()

getSunRouterRetryDenseViaAreaSize

public static int getSunRouterRetryDenseViaAreaSize()

setSunRouterRetryDenseViaAreaSize

public static void setSunRouterRetryDenseViaAreaSize(int r)

getFactorySunRouterRetryDenseViaAreaSize

public static int getFactorySunRouterRetryDenseViaAreaSize()

getSunRouterPathSearchControl

public static int getSunRouterPathSearchControl()

setSunRouterPathSearchControl

public static void setSunRouterPathSearchControl(int r)

getFactorySunRouterPathSearchControl

public static int getFactorySunRouterPathSearchControl()

getSunRouterSparseViaModulo

public static int getSunRouterSparseViaModulo()

setSunRouterSparseViaModulo

public static void setSunRouterSparseViaModulo(int r)

getFactorySunRouterSparseViaModulo

public static int getFactorySunRouterSparseViaModulo()

getSunRouterLowPathSearchCost

public static int getSunRouterLowPathSearchCost()

setSunRouterLowPathSearchCost

public static void setSunRouterLowPathSearchCost(int r)

getFactorySunRouterLowPathSearchCost

public static int getFactorySunRouterLowPathSearchCost()

getSunRouterMediumPathSearchCost

public static int getSunRouterMediumPathSearchCost()

setSunRouterMediumPathSearchCost

public static void setSunRouterMediumPathSearchCost(int r)

getFactorySunRouterMediumPathSearchCost

public static int getFactorySunRouterMediumPathSearchCost()

getSunRouterHighPathSearchCost

public static int getSunRouterHighPathSearchCost()

setSunRouterHighPathSearchCost

public static void setSunRouterHighPathSearchCost(int r)

getFactorySunRouterHighPathSearchCost

public static int getFactorySunRouterHighPathSearchCost()

getSunRouterTakenPathSearchCost

public static int getSunRouterTakenPathSearchCost()

setSunRouterTakenPathSearchCost

public static void setSunRouterTakenPathSearchCost(int r)

getFactorySunRouterTakenPathSearchCost

public static int getFactorySunRouterTakenPathSearchCost()