public class ClockRegion extends Object implements Serializable, PBlockCorner
Modifier and Type | Method and Description |
---|---|
boolean |
containsTile(Tile tile)
Checks if this clock region contains the specified tile.
|
boolean |
equals(Object obj) |
Tile |
getApproximateCenter()
Calculates the approximate tile in the center of the clock region.
|
int |
getColumn()
Gets the column (X coordinate) to which this clock regions belongs.
|
int |
getConfigRowIndex()
Gets the configuration row index for this clock region.
|
Device |
getDevice()
Gets the corresponding device parent for this clock region
|
int |
getInstanceX()
Gets the X coordinate (column) of this clock region
|
int |
getInstanceY()
Gets the Y coordinate (row) of this clock region
|
Tile |
getLowerLeft()
Gets the bottom left most tile based on the TOP_LEFT_TILE and BOTTOM_RIGHT_TILE designations.
|
Tile |
getLowerRight()
Gets the bottom right most tile that belongs to the clock region
|
int |
getManhattanDistance(ClockRegion clockRegion)
Calculated the Manhattan distance between this clock region and
another clock region in terms of clock region indices.
|
String |
getName()
Gets the name of the clock region (for example: X0Y0)
|
ClockRegion |
getNeighborClockRegion(int rowOffset,
int colOffset)
Gets a neighbor clock region using an offset approach.
|
int |
getRow()
Gets the row (Y coordinate) to which this clock regions belongs.
|
SLR |
getSLR()
Gets the SLR to which this clock region belongs.
|
Tile |
getUpperLeft()
Gets the top left most tile that belongs to the clock region
|
Tile |
getUpperRight()
Gets the top right most tile based on the TOP_LEFT_TILE and BOTTOM_RIGHT_TILE designations.
|
int |
hashCode() |
boolean |
hasTileColumn(int colIndex)
Checks if a particular tile column is within the boundaries of the clock region.
|
boolean |
hasTileType(TileTypeEnum type)
Checks if the clock region has any tiles of a particular type by
scanning horizontally across the bottom row.
|
String |
toString() |
public int getRow()
Vivado Tcl:
get_property ROW_INDEX [get_clock_regions $cr]
public int getColumn()
Vivado Tcl:
get_property COLUMN_INDEX [get_clock_regions $cr]
public String getName()
Vivado Tcl:
get_property NAME [get_clock_regions $cr]
getName
in interface PBlockCorner
public Tile getUpperLeft()
Vivado Tcl:
get_property TOP_LEFT_TILE [get_clock_regions $cr]
public Tile getLowerRight()
Vivado Tcl:
get_property BOTTOM_RIGHT_TILE [get_clock_regions $cr]
public Tile getLowerLeft()
public Tile getUpperRight()
public Tile getApproximateCenter()
Vivado Tcl:
set br [get_tiles [get_property BOTTOM_RIGHT_TILE $cr]]; set tl [get_tiles [get_property TOP_LEFT_TILE $cr]]; set c [expr (([get_property COLUMN $br] - [get_property COLUMN $tl])/2) + [get_property COLUMN $tl]]; set r [expr (([get_property ROW $br] - [get_property ROW $tl])/2) + [get_property ROW $tl]]; get_tiles -filter {ROW==$r && COLUMN==$c}
public ClockRegion getNeighborClockRegion(int rowOffset, int colOffset)
Vivado Tcl:
get_clock_region "X[expr [get_property COLUMN_INDEX $cr] + $colOffset]Y[expr [get_property ROW_INDEX $cr] + $rowOffset]"
rowOffset
- Row offset from this clock region to get.colOffset
- Column offset from this clock region to get.public int getManhattanDistance(ClockRegion clockRegion)
clockRegion
- The other clock region to calculate distance.public boolean hasTileColumn(int colIndex)
colIndex
- The tile column index (see Tile.getColumn()
.public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
public String toString()
toString
in class Object
public boolean hasTileType(TileTypeEnum type)
Vivado Tcl:
[llength [get_tiles -of_objects [get_clock_regions $cr] -filter TYPE==$type]] > 0
type
- The tile type to query.public int getConfigRowIndex()
public int getInstanceX()
getInstanceX
in interface PBlockCorner
public int getInstanceY()
getInstanceY
in interface PBlockCorner
public Device getDevice()
getDevice
in interface PBlockCorner
public SLR getSLR()
public boolean containsTile(Tile tile)
tile
- The tile to query