public class Tile
extends Object
implements Serializable
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
ArrayList<Wire> |
getBackwardConnections(int wireID)
Gets the list of wires driving the wire in this tile.
|
ArrayList<PIP> |
getBackwardPIPs(int wire)
Creates a new list of PIPs that connect uphill to the provided wire.
|
ArrayList<PIP> |
getBackwardPIPs(String wireName)
Creates a new list of PIPs that connect uphill to the provided wire.
|
ClockRegion |
getClockRegion()
Gets the ClockRegion to which this Tile belongs
|
int |
getColumn()
The absolute column index (0 starting at the left)
|
Device |
getDevice()
Gets the device to which this tile belongs.
|
int |
getManhattanDistance(Tile tile)
Calculates the Manhattan distance between this tile and the given tile.
|
int |
getMaxUniqueAddress()
Gets the maximum unique integer address for all tiles on this device.
|
String |
getName()
Gets and returns the name of the tile (such as INT_X0Y5).
|
PIP |
getPIP(int wire0,
int wire1)
Gets the PIP that exists between wire0 and wire1 in this tile.
|
ArrayList<PIP> |
getPIPs()
This method will create a new list of PIPs that represent those in
this Tile.
|
ArrayList<PIP> |
getPIPs(int wire)
Creates a new list of PIPs that connect downhill to the provided wire index.
|
ArrayList<PIP> |
getPIPs(String wireName)
Creates a new list of PIPs that connect downhill to the provided wire name.
|
String |
getRootName()
Gets the prefix of the tile name, before "_X#Y#".
|
int |
getRow()
The absolute row index (0 starting at top)
|
int |
getSiteIndex(Site s)
Get's the index of this site within the tile's site array.
|
SitePin |
getSitePinFromWire(int wireID)
Gets the site pin corresponding to the wire of interest in the tile if it is connected.
|
Site[] |
getSites()
Gets and returns the site array for this tile.
|
SLR |
getSLR()
Gets the SLR to which this tile belongs
|
int |
getTileManhattanDistance(Tile tile)
Calculates Manhattan distance between this and the provided tile
based on row and column indices.
|
Tile |
getTileNeighbor(int columnOffset,
int rowOffset)
Gets the row,column neighbor tile in the fabric
|
int |
getTilePatternIndex()
Vivado Tcl:
|
TileTypeEnum |
getTileTypeEnum()
Gets the type of this tile.
|
int |
getTileTypeIndex()
Gets the tile type index property of the tile.
|
int |
getTileXCoordinate()
This is the X Coordinate in the tile name (the 0 in INT_X0Y5)
|
Tile |
getTileXYNeighbor(int xOffset,
int yOffset)
Gets the tile X,Y (not row and column) neighbor in the fabric by offsets.
|
int |
getTileYCoordinate()
This is the Y Coordinate in the tile name (the 5 in INT_X0Y5)
|
int |
getUniqueAddress()
Gets a unique integer address for this tile (useful for representing a tile
as a single integer).
|
List<Wire> |
getWireConnections(int wire)
This will get all of the forward wire connections that can be
made from the given wire in this tile.
|
List<Wire> |
getWireConnections(String wireName)
This will get all of the forward wire connections that can be
made from the given wire in this tile.
|
int |
getWireCount()
Gets the number of wires within the tile.
|
Integer |
getWireFromSitePin(SitePin sitePin)
Gets the wire in the this tile that connects to the provided site pin.
|
Integer |
getWireIndex(String wireName)
Gets the ID or Index of the wire in the tile by wire name.
|
IntentCode |
getWireIntentCode(int wireID)
Gets the intent code property for the wire.
|
String |
getWireName(int wireIndex)
Looks up the wire index in the tile type's name array.
|
String[] |
getWireNames()
Gets an array of wire names (by wire index) for this tile.
|
int |
hashCode() |
String |
toString() |
public Device getDevice()
public List<Wire> getWireConnections(int wire)
Vivado Tcl:
get_nodes -downhill -of_objects [get_nodes -of [get_wires -of $tile -filter INDEX==$wire]]]
wire
- A wire in this tile to query its potential connections.public List<Wire> getWireConnections(String wireName)
Vivado Tcl:
get_nodes -downhill -of_objects [get_nodes -of [get_wires -of $tile/$wireName]]]
wire
- A wire in this tile to query its potential connections.public Site[] getSites()
Vivado Tcl:
get_sites -of [get_tiles $tile]
public int getSiteIndex(Site s)
Vivado Tcl:
set l [get_sites -of $this; for {set i 0} {$i < [llength $l]} {incr i} { puts [lindex $l $i]; if {[lindex $l $i]==$s} { set j $i}}; $j
s
- The site with the index in question.public String getName()
Vivado Tcl:
get_property NAME [get_tiles $tile]
public TileTypeEnum getTileTypeEnum()
Vivado Tcl:
get_property TILE_TYPE [get_tiles $tile]
public int getRow()
Vivado Tcl:
get_property ROW [get_tiles $tile]
public int getColumn()
Vivado Tcl:
get_property COLUMN [get_tiles $tile]
public int getUniqueAddress()
Tile.getMaxUniqueAddress()
.
Vivado Tcl:
get_property INDEX [get_tiles $tile]
public int getMaxUniqueAddress()
public int getTileYCoordinate()
Vivado Tcl:
set n [get_property NAME $this]; string range $n [expr [string last "Y" $n] + 1] [expr [string length $n] - 1]
public int getTileXCoordinate()
Vivado Tcl:
set n [get_property NAME $this]; string range $n [string last "X" $n]+1 [string last "Y" $n]-1
public Tile getTileNeighbor(int columnOffset, int rowOffset)
columnOffset
- The column offset within the fabric gridrowOffset
- The row offset within the fabric gridpublic Tile getTileXYNeighbor(int xOffset, int yOffset)
xOffset
- The X offset (positive increasing values of X)yOffset
- The Y offset (positive increasing values of Y)public String getRootName()
Vivado Tcl:
set n [get_property NAME $this]; string range $n 0 [string last "X" $n]-2
public ArrayList<PIP> getPIPs()
Vivado Tcl:
get_pips -of [get_tiles $tile]
public ArrayList<PIP> getPIPs(String wireName)
Vivado Tcl:
get_pips -downhill -of [get_wires -of $tile -filter NAME=="$tile/$wireName"]
wire
- The wire name to query.public ArrayList<PIP> getPIPs(int wire)
Vivado Tcl:
get_pips -downhill -of [get_wires -of $tile -filter ID_IN_TILE_TYPE==$startWire]
wire
- The wire index to query.public ArrayList<PIP> getBackwardPIPs(String wireName)
Vivado Tcl:
get_pips -uphill -of [get_wires -of $tile -filter NAME=="$tile/$wire"]
wireName
- The wire name to query.public ArrayList<PIP> getBackwardPIPs(int wire)
Vivado Tcl:
get_pips -uphill -of [get_wires -of $tile -filter ID_IN_TILE_TYPE==$wire]
wire
- The wire index to query.public int getManhattanDistance(Tile tile)
tile
- The tile to compare against.public int getTileManhattanDistance(Tile tile)
tile
- The other tile to use for the distance calculation.public String toString()
toString
in class Object
public boolean equals(Object obj)
equals
in class Object
public int hashCode()
hashCode
in class Object
public int getTilePatternIndex()
Vivado Tcl:
get_property TILE_PATTERN_IDX [get_tiles $tile]
public String getWireName(int wireIndex)
Vivado Tcl:
set n [get_property NAME [get_wires -of $this -filter ID_IN_TILE_TYPE==$wireIndex]]; string range $n [string last "/" $n]+1 [expr [string length $n] - 1]
wireIndex
- The specific wirepublic Integer getWireIndex(String wireName)
Vivado Tcl:
get_property ID_IN_TILE_TYPE [get_wires -of [get_tiles $tile] -filter NAME==$tile/$wireName]
wireName
- Name of the wire in the tile to query.public int getWireCount()
Vivado Tcl:
llength [get_wires -of_objects [get_tiles $tile]]
public PIP getPIP(int wire0, int wire1)
wire0
- The first wire index of the PIPwire1
- The second wire index of the PIPpublic ArrayList<Wire> getBackwardConnections(int wireID)
Vivado Tcl:
get_wires -uphill -of [get_nodes -of [get_wires -of [get_tile $tile] -filter ID_IN_TILE_TYPE==$wireID]]
wireID
- The index of the wire in this tile.public SitePin getSitePinFromWire(int wireID)
Vivado Tcl:
get_site_pins -of_objects [get_node -of [get_wires -of [get_tile $tile] -filter ID_IN_TILE_TYPE==$wireID]]
wireID
- The wire index in the tile.public Integer getWireFromSitePin(SitePin sitePin)
Vivado Tcl:
set l get_wires -of [get_nodes -of $sitePin];if [expr { [get_property DIRECTION $sitePin] eq "OUT" }] {lindex $l 0} else {lindex $l [llength $l]-1}
sitePin
- The site pin to query.public ClockRegion getClockRegion()
Vivado GUI:
Tile Properties->Clock Regions
public SLR getSLR()
public String[] getWireNames()
Vivado Tcl:
foreach w [get_wires -of_objects [get_tiles $tile]] {lappend names [string range $w [string last "/" $w]+1 [string length $w]] }; $names
public int getTileTypeIndex()
Vivado Tcl:
get_property TILE_TYPE_INDEX [get_tiles $tile]
public IntentCode getWireIntentCode(int wireID)
Vivado Tcl:
get_property INTENT_CODE [get_wires -of [get_tiles $tile] -filter ID_IN_TILE_TYPE==$wireID]
wireID
- The index of the wire of interest in the tile.