public class Node extends Object implements WireInterface
Modifier and Type | Field and Description |
---|---|
static int |
DELAY_ARC |
static int |
GAP_ARC |
static int |
LOGICAL_DRIVER_ARC |
static int |
NULL_ARC |
static int |
NULL_TILE_ID |
static HashMap<Pair<Integer,Integer>,Integer> |
offsets |
static int |
SPECIAL_INVERTING_ARC |
static int |
STUB_ARC |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Node obj) |
boolean |
equals(Object obj) |
boolean |
equals(WireInterface w)
Checks equality (based on tile and wire values) between this node and another
WireInterface
|
List<Node> |
getAllDownhillNodes()
Creates a list of all downhill (can be driven by this node) nodes.
|
Collection<Node> |
getAllDownhillNodes(Collection<Node> nodes)
Creates a list of all downhill (can be driven by this node) nodes.
|
List<PIP> |
getAllDownhillPIPs()
Creates a list of all downhill PIPs (PIPs that are driven by this node)
from this node.
|
List<Node> |
getAllUphillNodes()
Creates a list of all uphill (can drive this node) nodes.
|
Collection<Node> |
getAllUphillNodes(Collection<Node> nodes)
Creates a list of all uphill (can drive this node) nodes.
|
List<PIP> |
getAllUphillPIPs()
Creates a list of all uphill PIPs (PIPs that drive this node)
from this node.
|
Wire[] |
getAllWiresInNode()
Creates and array of wire objects that make up this node.
|
IntentCode |
getIntentCode()
Gets the IntentCode of this node using the base wire as the lookup.
|
static Node |
getNode(RouteNode routeNode)
Getter that builds a node from a RouteNode
|
static Node |
getNode(String nodeName,
Device dev)
Getter that creates a node from the name of a wire or node
as displayed in Vivado (ex: INT_X0Y0/LOGIC_OUTS_R20)
|
static Node |
getNode(Tile tile,
int wire)
Constructor that creates a node from a specific tile and wire.
|
static Node |
getNode(Tile tile,
String wireName)
Getter that creates a node from a specific tile and wire.
|
static Node |
getNode(Wire wire)
Getter that creates a node from a specific wire.
|
SitePin |
getSitePin()
Gets the site pin connected to this node.
|
Tile |
getTile()
Gets the tile of the base wire of this node.
|
int |
getWireIndex()
Gets the wire index of the base wire of this node.
|
static Wire[] |
getWiresInNode(Tile tile,
int wire)
Creates an array of wires that correspond to the node of the provided
wire reference.
|
int |
hashCode()
Produces a hash code based on the tile and wire of the object.
|
boolean |
hasIntentCode(IntentCode intentCode)
Checks the IntentCode of this node using the base wire as the lookup.
|
boolean |
isInvalidNode()
Checks if a node created with the constructor is invalid.
|
boolean |
isTied()
Checks if the node is tied to a static source (GND/VCC).
|
boolean |
isTiedToGnd()
Checks if the node is tied to a static '0' or GND.
|
boolean |
isTiedToVcc()
Checks if the node is tied to a static '1' or VCC.
|
String |
toString()
Gets the Vivado string representation of the node
|
getTileName, getWireName
public static final int NULL_TILE_ID
public static final int NULL_ARC
public static final int GAP_ARC
public static final int LOGICAL_DRIVER_ARC
public static final int DELAY_ARC
public static final int STUB_ARC
public static final int SPECIAL_INVERTING_ARC
public static HashMap<Pair<Integer,Integer>,Integer> offsets
public Node(Node node)
node
- Node to copy frompublic static Node getNode(Tile tile, int wire)
tile
- The tile containing the wire of interest.wire
- The specific wire in the referenced tile.public static Node getNode(Tile tile, String wireName)
tile
- The tile containing the wire of interest.wireName
- The specific wire name in the referenced tile.Vivado Tcl:
get_nodes -of [get_wires "$tile/$wireName"]
public static Node getNode(Wire wire)
w
- A wire that belongs to the node to be created.Vivado Tcl:
get_nodes -of [get_wire $w]
public static Node getNode(String nodeName, Device dev)
nodeName
- Name of the node (dev
- The device from which to find the node object.public static Node getNode(RouteNode routeNode)
routeNode
- The route node to use to create the nodepublic boolean isInvalidNode()
public Tile getTile()
Vivado Tcl:
lindex [get_tiles -of $this] 0
getTile
in interface WireInterface
public int getWireIndex()
Vivado Tcl:
get_property ID_IN_TILE_TYPE [lindex [get_wires -of $this] 0]
getWireIndex
in interface WireInterface
public Wire[] getAllWiresInNode()
Vivado Tcl:
get_wires -of $this
public static Wire[] getWiresInNode(Tile tile, int wire)
Vivado Tcl:
get_wires -of [get_nodes -of [get_wires -of [get_tiles $tile] -filter ID_IN_TILE_TYPE==$wire]]
tile
- Tile of the reference wire to getwire
- The wire of the reference tile to getpublic List<Node> getAllDownhillNodes()
Vivado Tcl:
get_nodes -downhill -of $this
public Collection<Node> getAllDownhillNodes(Collection<Node> nodes)
Vivado Tcl:
get_nodes -downhill -of $this
nodes
- The collection to populate with downhill nodes. This overload of
Node.getAllDownhillNodes()
is a work around so that callers can pass in a set if they are
sensitive to duplicate entries that occur in rare cases.public List<Node> getAllUphillNodes()
Vivado Tcl:
get_nodes -uphill -of $this
public Collection<Node> getAllUphillNodes(Collection<Node> nodes)
Vivado Tcl:
get_nodes -uphill -of $this
nodes
- The collection to populate with uphill nodes. This overload of
Node.getAllDownhillNodes()
is a work around so that callers can pass in a set if they are
sensitive to duplicate entries that occur in rare cases.public List<PIP> getAllDownhillPIPs()
Vivado Tcl:
get_pips -downhill -of $this
public List<PIP> getAllUphillPIPs()
Vivado Tcl:
get_pips -uphill -of $this
public SitePin getSitePin()
Vivado Tcl:
get_site_pins -of $this
getSitePin
in interface WireInterface
public String toString()
toString
in class Object
public boolean isTiedToGnd()
public boolean isTiedToVcc()
public boolean isTied()
public int hashCode()
WireInterface
hashCode
in interface WireInterface
hashCode
in class Object
public boolean equals(WireInterface w)
equals
in interface WireInterface
w
- The other WireInterface object to check against for equality.public boolean equals(Node obj)
public boolean equals(Object obj)
equals
in class Object
public IntentCode getIntentCode()
getIntentCode
in interface WireInterface
public boolean hasIntentCode(IntentCode intentCode)