public static class SeaOfGates.SeaOfGatesCellParameters
extends java.lang.Object
implements java.io.Serializable
Constructor and Description |
---|
SeaOfGates.SeaOfGatesCellParameters(Cell cell)
Constructor for the SOG parameters specific to a given Cell.
|
Modifier and Type | Method and Description |
---|---|
void |
addArcToNet(java.lang.String net,
ArcProto ap)
Method to add a new arc to a net being routed.
|
void |
addNetToRoute(java.lang.String netName)
Method to add a network name to the list of nets to route.
|
void |
clear() |
java.lang.Double |
get2XWidth(ArcProto ap)
Method to tell the threshold for 2X arcs when routing the Cell.
|
java.lang.String |
getAcceptOnly1XPrimitives()
Method to return possible regular expression to discard some 1X primitives from routing.
|
java.lang.String |
getAcceptOnly2XPrimitives()
Method to return possible regular expression to discard some 2X primitives from routing.
|
java.util.List<ArcProto> |
getArcsOnNet(java.lang.String net)
Method to return a List of Arcs that can be used on a network name in this cell.
|
java.util.List<SeaOfGates.SeaOfGatesExtraBlockage> |
getBlockages()
Method to return the list of extra blockages in this cell.
|
Cell |
getCell()
Method to return the cell that this object describes.
|
java.lang.Double |
getDefaultSpacingOverride(ArcProto ap,
int axis)
Method to tell whether a given layer should use a different spacing along a given axis
when routing the Cell.
|
java.lang.Double |
getDefaultWidthOverride(ArcProto ap)
Method to tell whether a given layer should use a different width when routing the Cell.
|
java.lang.String |
getGrid(ArcProto ap)
Method to get the grid information for a given layer in the Cell.
|
boolean |
getHorizontalEvenMetals()
Method to return if even metals are horizontal
|
java.lang.String |
getIgnorePrimitives()
Method to return possible regular expression to accept only certain primitives from routing.
|
java.util.List<java.lang.String> |
getNetsToRoute()
Method to return a Set of network names to be routed in this cell.
|
SeaOfGates.SeaOfGatesArcProperties |
getOverridesForArcsOnNet(java.lang.String net,
ArcProto ap)
Method to return an object with width and spacing overrides for a given arc on a given network in this cell.
|
java.lang.String |
getRemoveLayer(ArcProto ap)
Method to get the name of the layer which removes a given layer in the Cell.
|
java.lang.String |
getRoutingBoundsLayerName()
Method to return the name of the layer to be used to limit routing bounds.
|
java.lang.Double |
getTaperLength(ArcProto ap)
Method to tell the maximum taper length for a given layer.
|
void |
importData(java.lang.String fileName,
Cell cell,
Technology curTech)
Method to import the control file for routing.
|
boolean |
isContactAllowedDownToAvoidedLayer()
Method to tell whether routing allows contacts down to avoided layers.
|
boolean |
isContactAllowedUpToAvoidedLayer()
Method to tell whether routing allows contacts up to avoided layers.
|
boolean |
isContactsRotate()
Method to tell whether contact nodes can be rotated when placing them.
|
boolean |
isFavored(ArcProto ap)
Method to tell whether a given layer is favored in routing the Cell.
|
boolean |
isFavorHorVer()
Method to tell whether routing the Cell should favor alternating horizontal/vertical metal layers.
|
boolean |
isForceHorVer()
Method to tell whether routing the Cell should force alternating horizontal/vertical metal layers.
|
boolean |
isGridForced(ArcProto ap)
Method to tell whether a given layer is forced to be on grid in routing the Cell.
|
boolean |
isHorizontalEven()
Method to tell which way alternating horizontal/vertical metal layers run.
|
boolean |
isPrevented(ArcProto ap)
Method to tell whether a given layer is prevented in routing the Cell.
|
boolean |
isSteinerDone()
Method to tell whether routing should recompute Steiner trees.
|
boolean |
isTaperOnly(ArcProto ap)
Method to tell whether a given layer is forced to be on grid in routing the Cell.
|
void |
removeArcFromNet(java.lang.String net,
ArcProto ap)
Method to remove an arc from a net being routed.
|
void |
removeNetToRoute(java.lang.String netName)
Method to remove a network name from the list of nets to route.
|
void |
saveParameters(EditingPreferences ep)
Method to save changes to this SeaOfGatesCellParameters object.
|
void |
set2XWidth(ArcProto ap,
java.lang.Double w)
Method to set the threshold for 2X arcs when routing the Cell.
|
void |
setAcceptOnly1XPrimitives(java.lang.String s)
Method to set the regular expression to accept only certain 1X primitives from routing.
|
void |
setAcceptOnly2XPrimitives(java.lang.String s)
Method to set the regular expression to accept only certain 2X primitives from routing.
|
void |
setBlockages(java.util.List<SeaOfGates.SeaOfGatesExtraBlockage> e)
Method to set the list of extra blockages in this cell.
|
void |
setContactAllowedDownToAvoidedLayer(boolean a)
Method to set whether routing allows contacts down to avoided layers.
|
void |
setContactAllowedUpToAvoidedLayer(boolean a)
Method to set whether routing allows contacts up to avoided layers.
|
void |
setContactsRotate(boolean he)
Method to set whether contact nodes can be rotated when placing them.
|
void |
setDefaultSpacingOverride(ArcProto ap,
java.lang.Double s,
int axis)
Method to set whether a given layer should use a different spacing along a given axis
when routing the Cell.
|
void |
setDefaultWidthOverride(ArcProto ap,
java.lang.Double w)
Method to set whether a given layer should use a different width when routing the Cell.
|
void |
setFavored(ArcProto ap,
boolean f)
Method to set whether a given layer is favored in routing the Cell.
|
void |
setFavorHorVer(boolean f)
Method to set whether routing the Cell should favor alternating horizontal/vertical metal layers.
|
void |
setForceHorVer(boolean f)
Method to set whether routing the Cell should force alternating horizontal/vertical metal layers.
|
void |
setGrid(ArcProto ap,
java.lang.String grid)
Method to set the grid information for a given layer in the Cell.
|
void |
setGridForced(ArcProto ap,
boolean f)
Method to set whether a given layer is available only for tapers.
|
void |
setHorizontalEven(boolean he)
Method to set which way alternating horizontal/vertical metal layers run.
|
void |
setIgnorePrimitive(java.lang.String s)
Method to set the regular expression to discard some primitives from routing.
|
void |
setPrevented(ArcProto ap,
boolean prevent)
Method to set whether a given layer is prevented in routing the Cell.
|
void |
setRemoveLayer(ArcProto ap,
java.lang.String layerName)
Method to set the layer name which removes a given layer in the Cell.
|
void |
setRoutingBoundsLayerName(java.lang.String n)
Method to set the name of the layer to be used to limit routing bounds.
|
void |
setSpacingOverrideForArcOnNet(java.lang.String net,
ArcProto ap,
java.lang.Double spacing)
Method to set the spacing in the primary direction for a given arc on a given network.
|
void |
setSteinerDone(boolean sd)
Method to set whether routing should recompute Steiner trees.
|
void |
setTaperLength(ArcProto ap,
java.lang.Double t)
Method to set the maximum taper length for a given layer.
|
void |
setTaperOnly(ArcProto ap,
boolean f)
Method to set whether a given layer is available only for tapers.
|
void |
setWidthOverrideForArcOnNet(java.lang.String net,
ArcProto ap,
java.lang.Double width)
Method to set the width for a given arc on a given network.
|
public SeaOfGates.SeaOfGatesCellParameters(Cell cell)
cell
- the Cell in question.public void clear()
public void importData(java.lang.String fileName, Cell cell, Technology curTech)
fileName
- the name of the control file.curTech
- the current technology to use for this.public void saveParameters(EditingPreferences ep)
ep
- the EditingPreferences needed for database changes.public Cell getCell()
public void setSteinerDone(boolean sd)
sd
- true if routing should recompute Steiner trees.public boolean isSteinerDone()
public void setContactAllowedDownToAvoidedLayer(boolean a)
a
- true if routing allows contacts down to avoided layers.public boolean isContactAllowedDownToAvoidedLayer()
public void setContactAllowedUpToAvoidedLayer(boolean a)
a
- true if routing allows contacts up to avoided layers.public boolean isContactAllowedUpToAvoidedLayer()
public void setFavorHorVer(boolean f)
f
- true if routing the Cell should favor alternating horizontal/vertical metal layerspublic boolean isFavorHorVer()
public void setForceHorVer(boolean f)
f
- true if routing the Cell should force alternating horizontal/vertical metal layerspublic boolean isForceHorVer()
public void setHorizontalEven(boolean he)
he
- true to make even metal layers run horizontally, odd metal layers run vertically.
False means even metal layers run vertically, odd metal layers run horizontally.public boolean isHorizontalEven()
public void setContactsRotate(boolean he)
he
- true to allow contact nodes to be rotated when placing them.
False means they can only appear in their unrotated orientation.public boolean isContactsRotate()
public void setPrevented(ArcProto ap, boolean prevent)
ap
- the ArcProto of the layer in question.prevent
- true to prevent the layer from being used.public boolean isPrevented(ArcProto ap)
ap
- the ArcProto of the layer in question.public void setFavored(ArcProto ap, boolean f)
ap
- the ArcProto of the layer in question.f
- true to favor the layer.public boolean isFavored(ArcProto ap)
ap
- the ArcProto of the layer in question.public void setTaperOnly(ArcProto ap, boolean f)
ap
- the ArcProto of the layer in question.f
- true to force the layer to run only for tapers.public boolean isTaperOnly(ArcProto ap)
ap
- the ArcProto of the layer in question.public void setGridForced(ArcProto ap, boolean f)
ap
- the ArcProto of the layer in question.f
- true to force the layer to run only for tapers.public boolean isGridForced(ArcProto ap)
ap
- the ArcProto of the layer in question.public java.lang.Double getDefaultWidthOverride(ArcProto ap)
ap
- the ArcProto of the layer in question.public void setDefaultWidthOverride(ArcProto ap, java.lang.Double w)
ap
- the ArcProto of the layer in question.w
- the new width to use (null to use the default).public java.lang.Double getDefaultSpacingOverride(ArcProto ap, int axis)
ap
- the ArcProto of the layer in question.public void setDefaultSpacingOverride(ArcProto ap, java.lang.Double s, int axis)
ap
- the ArcProto of the layer in question.s
- the new spacing to use (null to use the default).public java.lang.Double get2XWidth(ArcProto ap)
ap
- the ArcProto in question.public void set2XWidth(ArcProto ap, java.lang.Double w)
ap
- the ArcProto in question.w
- the arc width to use (null if no special 2X treatment applies to this arc).public java.lang.Double getTaperLength(ArcProto ap)
ap
- the ArcProto in question.public void setTaperLength(ArcProto ap, java.lang.Double t)
ap
- the ArcProto in question.t
- the maximum taper length for the layer (null if no tapers are done on this layer).public java.util.List<java.lang.String> getNetsToRoute()
public void addNetToRoute(java.lang.String netName)
netName
- the network name to add to the list of nets to route.public void removeNetToRoute(java.lang.String netName)
netName
- the network name to remove from the list of nets to route.public java.util.List<ArcProto> getArcsOnNet(java.lang.String net)
net
- the name of the network.public void addArcToNet(java.lang.String net, ArcProto ap)
net
- the network name.ap
- the ArcProto that can be used to route the named net.public void removeArcFromNet(java.lang.String net, ArcProto ap)
net
- the network name.ap
- the ArcProto that can no longer be used to route the named net.public SeaOfGates.SeaOfGatesArcProperties getOverridesForArcsOnNet(java.lang.String net, ArcProto ap)
net
- the name of the network.ap
- the ArcProto being routed on the network.public void setWidthOverrideForArcOnNet(java.lang.String net, ArcProto ap, java.lang.Double width)
net
- the name of the network.ap
- the ArcProto being routed on the network.width
- the arc width to use (null to remove the override).public void setSpacingOverrideForArcOnNet(java.lang.String net, ArcProto ap, java.lang.Double spacing)
net
- the name of the network.ap
- the ArcProto being routed on the network.spacing
- the arc spacing to use (null to remove the override).public java.lang.String getGrid(ArcProto ap)
public void setGrid(ArcProto ap, java.lang.String grid)
grid
- a String with the grid information (null to remove).public java.lang.String getRemoveLayer(ArcProto ap)
public void setRemoveLayer(ArcProto ap, java.lang.String layerName)
ap
- the layer which is being removed.layerName
- a String with the name of the layer which removes geometry from the given layer
(null if no layer removes geometry).public java.lang.String getAcceptOnly1XPrimitives()
public void setAcceptOnly1XPrimitives(java.lang.String s)
s
- String representing the regular expressionpublic java.lang.String getAcceptOnly2XPrimitives()
public void setAcceptOnly2XPrimitives(java.lang.String s)
s
- String representing the regular expressionpublic java.lang.String getRoutingBoundsLayerName()
public void setRoutingBoundsLayerName(java.lang.String n)
n
- the name of the layer to be used to limit routing bounds (null if no limiting being done).public java.lang.String getIgnorePrimitives()
public void setIgnorePrimitive(java.lang.String s)
s
- String representing the regular expressionpublic boolean getHorizontalEvenMetals()
public java.util.List<SeaOfGates.SeaOfGatesExtraBlockage> getBlockages()
public void setBlockages(java.util.List<SeaOfGates.SeaOfGatesExtraBlockage> e)
e
- the list of extra blockages in this cell.