public class Connection extends Object implements Comparable<Connection>
SitePinInst
instances of a Net
instance.Constructor and Description |
---|
Connection(int id,
SitePinInst source,
SitePinInst sink,
NetWrapper netWrapper) |
Modifier and Type | Method and Description |
---|---|
void |
addNode(Node node) |
void |
addRnode(Routable rn) |
String |
bbRectangleString() |
void |
calculateCriticality(float maxDelay,
float maxCriticality,
float criticalityExponent)
Computes criticality of a connection.
|
int |
compareTo(Connection arg0) |
void |
computeConnectionBoundingBox(short boundingBoxExtensionX,
short boundingBoxExtensionY,
boolean checkSLRCrossing)
Computes the connection bounding box based on the geometric center of the net, source and sink rnodes.
|
void |
computeHpwl()
Computes the half-perimeter wirelength of connection based on the source and sink rnodes.
|
void |
enlargeBoundingBox(int horizontalIncrement,
int verticalIncrement) |
float |
getCriticality() |
short |
getHpwl() |
NetWrapper |
getNetWrapper() |
List<Node> |
getNodes() |
List<Routable> |
getRnodes() |
SitePinInst |
getSink() |
Routable |
getSinkRnode() |
SitePinInst |
getSource() |
Routable |
getSourceRnode() |
List<TimingEdge> |
getTimingEdges() |
short |
getXMaxBB() |
short |
getXMinBB() |
short |
getYMaxBB() |
short |
getYMinBB() |
int |
hashCode() |
boolean |
isCongested()
Checks if a connection has any overused rnodes to indicate the congestion status.
|
boolean |
isCrossSLR() |
boolean |
isDirect() |
boolean |
isDlyPatched() |
void |
newNodes() |
void |
resetCriticality() |
void |
resetRoute() |
void |
setCriticality(float criticality) |
void |
setCrossSLR(boolean crossSLR) |
void |
setDirect(boolean direct) |
void |
setDlyPatched(boolean dlyPatched) |
void |
setHpwl(short conHpwl) |
void |
setNetWrapper(NetWrapper netWrapper) |
void |
setNodes(List<Node> nodes) |
void |
setRnodes(List<Routable> rnodes) |
void |
setSinkRnode(Routable childRnode) |
void |
setSource(SitePinInst source) |
void |
setSourceRnode(Routable sourceNode) |
void |
setTimingEdges(List<TimingEdge> timingEdges) |
void |
setTimingEdgesDelay(float routeDelay) |
void |
setXMaxBB(short xMaxBB) |
void |
setXMinBB(short xMinBB) |
void |
setYMaxBB(short yMaxBB) |
void |
setYMinBB(short yMinBB) |
String |
toString() |
void |
updateRouteDelay() |
boolean |
useRnodesWithMultiDrivers()
Checks if a connection is routed through any rnodes that have multiple drivers.
|
public Connection(int id, SitePinInst source, SitePinInst sink, NetWrapper netWrapper)
public void computeHpwl()
public void computeConnectionBoundingBox(short boundingBoxExtensionX, short boundingBoxExtensionY, boolean checkSLRCrossing)
boundingBoxExtensionX
- To indicate the extension on top of the minimum bounding box in the horizontal direction.boundingBoxExtensionY
- To indicate the extension on top of the minimum bounding box in the vertical direction.
that contains the source rnode, sink rnode and the center of its NetWrapper
Object.checkSLRCrossing
- A flag to indicate if SLR-crossing check is needed.public void calculateCriticality(float maxDelay, float maxCriticality, float criticalityExponent)
maxDelay
- The maximum delay to normalize the slack of a connection.maxCriticality
- The maximum criticality.criticalityExponent
- The exponent to separate critical connections and non-critical connections.public boolean isCongested()
public boolean useRnodesWithMultiDrivers()
public void addRnode(Routable rn)
public void updateRouteDelay()
public void setTimingEdgesDelay(float routeDelay)
public void setCriticality(float criticality)
public void resetCriticality()
public float getCriticality()
public void resetRoute()
public Routable getSourceRnode()
public void setSourceRnode(Routable sourceNode)
public Routable getSinkRnode()
public void setSinkRnode(Routable childRnode)
public short getXMinBB()
public void setXMinBB(short xMinBB)
public short getXMaxBB()
public void setXMaxBB(short xMaxBB)
public short getYMinBB()
public void setYMinBB(short yMinBB)
public short getYMaxBB()
public void setYMaxBB(short yMaxBB)
public void setNetWrapper(NetWrapper netWrapper)
public NetWrapper getNetWrapper()
public SitePinInst getSource()
public void setSource(SitePinInst source)
public boolean isDirect()
public void setDirect(boolean direct)
public SitePinInst getSink()
public List<TimingEdge> getTimingEdges()
public void setTimingEdges(List<TimingEdge> timingEdges)
public short getHpwl()
public void setHpwl(short conHpwl)
public List<Routable> getRnodes()
public void setRnodes(List<Routable> rnodes)
public boolean isDlyPatched()
public void setDlyPatched(boolean dlyPatched)
public boolean isCrossSLR()
public void setCrossSLR(boolean crossSLR)
public void newNodes()
public void addNode(Node node)
public List<Node> getNodes()
public void setNodes(List<Node> nodes)
public void enlargeBoundingBox(int horizontalIncrement, int verticalIncrement)
public int hashCode()
hashCode
in class Object
public int compareTo(Connection arg0)
compareTo
in interface Comparable<Connection>
public String bbRectangleString()
public String toString()
toString
in class Object