public class EDIFHierNet
extends Object
EDIFNet
with a full hierarchical
instance name to uniquely identify a net in a netlist.
Created on: Sep 13, 2017Constructor and Description |
---|
EDIFHierNet(@NotNull EDIFHierCellInst hierarchicalInst,
@NotNull EDIFNet net)
Constructor
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
EDIFHierCellInst |
getHierarchicalInst() |
String |
getHierarchicalInstName() |
String |
getHierarchicalInstName(EDIFPortInst port)
Given a port on the net, gives the full hierarchical name of the instance
attached to the port.
|
String |
getHierarchicalNetName() |
List<EDIFHierPortInst> |
getLeafHierPortInsts()
Gets all connected leaf port instances (inputs and outputs, but not inouts) on this
hierarchical net and its aliases.
|
List<EDIFHierPortInst> |
getLeafHierPortInsts(boolean includeSourcePins)
Gets all connected leaf port instances (inputs, and optionally outputs, but not inouts) on this
hierarchical net and its aliases.
|
List<EDIFHierPortInst> |
getLeafHierPortInsts(boolean includeSourcePins,
boolean includeSinkPins)
Gets all connected leaf port instances (inputs, and/or outputs, but not inouts) on this
hierarchical net and its aliases.
|
List<EDIFHierPortInst> |
getLeafHierPortInsts(boolean includeSourcePins,
boolean includeSinkPins,
Set<EDIFHierNet> visited)
Gets all connected leaf port instances (inputs, and/or outputs, but not inouts) on this
hierarchical net and its aliases.
|
List<EDIFHierPortInst> |
getLeafHierPortInsts(boolean includeSourcePins,
Set<EDIFHierNet> visited)
Gets all connected leaf port instances (inputs, and optionally outputs, but not inouts) on this
hierarchical net and its aliases.
|
EDIFNet |
getNet() |
EDIFCellInst |
getParentInst()
Gets the parent cell instance where this net is defined.
|
Collection<EDIFHierPortInst> |
getPortInsts()
Gets the sorted ArrayList of EDIFHierPortInsts on this net as a collection.
|
List<EDIFHierPortInst> |
getSourcePortInsts(boolean includeTopLevelPorts)
This returns all sources on the net, either output ports of the
cell instances in the cell or the top level input ports.
|
int |
hashCode() |
String |
toString() |
public EDIFHierNet(@NotNull @NotNull EDIFHierCellInst hierarchicalInst, @NotNull @NotNull EDIFNet net)
hierarchicalInst
- Parent instance cell that contains this netnet
- The actual net objectpublic String getHierarchicalInstName()
public EDIFNet getNet()
public String getHierarchicalInstName(EDIFPortInst port)
port
- The reference port of the instance.public String getHierarchicalNetName()
public EDIFCellInst getParentInst()
public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
public String toString()
toString
in class Object
public EDIFHierCellInst getHierarchicalInst()
public Collection<EDIFHierPortInst> getPortInsts()
public List<EDIFHierPortInst> getSourcePortInsts(boolean includeTopLevelPorts)
public List<EDIFHierPortInst> getLeafHierPortInsts()
public List<EDIFHierPortInst> getLeafHierPortInsts(boolean includeSourcePins)
includeSourcePins
- A flag to include source pins in the result. Setting this to false
only returns the sinks.public List<EDIFHierPortInst> getLeafHierPortInsts(boolean includeSourcePins, boolean includeSinkPins)
includeSourcePins
- A flag to include source pins in the result.includeSinkPins
- A flag to include sink pins in the result.public List<EDIFHierPortInst> getLeafHierPortInsts(boolean includeSourcePins, Set<EDIFHierNet> visited)
includeSourcePins
- A flag to include source pins in the result.visited
- An initial set of EDIFHierNet-s that have already been visited and will not
be visited again. Pre-populating this set can be useful for blocking traversal.public List<EDIFHierPortInst> getLeafHierPortInsts(boolean includeSourcePins, boolean includeSinkPins, Set<EDIFHierNet> visited)
includeSourcePins
- A flag to include source pins in the result.includeSinkPins
- A flag to include sink pins in the result.visited
- An initial set of EDIFHierNet-s that have already been visited and will not
be visited again. Pre-populating this set can be useful for blocking traversal.