FABulous.fabric_definition.Tile

Store information about a tile.

Classes

class Tile(name, ports, bels, tileDir, matrixDir, gen_ios, userCLK, configBit=0, pinOrderConfig=None)[source]

Store information about a tile.

Parameters:
  • name (str) – The name of the tile

  • ports (list[Port]) – List of ports for the tile

  • bels (list[Bel]) – List of Basic Elements of Logic (BELs) in the tile

  • tileDir (Path) – Directory path for the tile

  • matrixDir (Path) – Directory path for the tile matrix

  • gen_ios (list[Gen_IO]) – List of general I/O components

  • userCLK (bool) – True if the tile uses a clk signal

  • configBit (int, optional) – Number of configuration bits for the switch matrix. Default is 0.

  • pinOrderConfig (dict[Side, PinOrderConfig] | None, optional) – Configuration for pin ordering on each side of the tile. If None, defaults to BUS_MAJOR sorting on all sides.

name[source]

The name of the tile

Type:

str

portsInfo[source]

The list of ports of the tile

Type:

list[Port]

bels[source]

The list of BELs of the tile

Type:

list[Bel]

matrixDir[source]

The directory of the tile matrix

Type:

Path

matrixConfigBits[source]

The number of config bits the tile switch matrix has

Type:

int

gen_ios[source]

The list of GEN_IOs of the tile

Type:

list[Gen_IO]

withUserCLK[source]

Whether the tile has a userCLK port. Default is False.

Type:

bool

wireList[source]

The list of wires of the tile

Type:

list[Wire]

tileDir[source]

The path to the tile folder

Type:

Path

partOfSuperTile[source]

Whether the tile is part of a super tile. Default is False.

Type:

bool, optional

pinOrderConfig[source]

Configuration for pin ordering on each side of the tile.

Type:

dict, optional

Properties:

property globalConfigBits[source]

Get the total number of global configuration bits.

Calculates the sum of switch matrix configuration bits and all BEL configuration bits.

Returns:

Total number of global configuration bits for the tile.

Return type:

int

Methods:

getEastPorts(io)[source]

Get all ports with east wire direction filtered by I/O type.

Parameters:

io (IO) – The I/O direction to filter by (INPUT or OUTPUT).

Returns:

List of east-direction ports with specified I/O type, excluding NULL ports.

Return type:

list[Port]

getEastSidePorts()[source]

Get all ports physically located on the east side of the tile.

Returns:

List of ports on the east side, excluding NULL ports.

Return type:

list[Port]

getNorthPorts(io)[source]

Get all ports with north wire direction filtered by I/O type.

Parameters:

io (IO) – The I/O direction to filter by (INPUT or OUTPUT).

Returns:

List of north-direction ports with specified I/O type, excluding NULL ports.

Return type:

list[Port]

getNorthSidePorts()[source]

Get all ports physically located on the north side of the tile.

Returns:

List of ports on the north side, excluding NULL ports.

Return type:

list[Port]

getSouthPorts(io)[source]

Get all ports with south wire direction filtered by I/O type.

Parameters:

io (IO) – The I/O direction to filter by (INPUT or OUTPUT).

Returns:

List of south-direction ports with specified I/O type, excluding NULL ports.

Return type:

list[Port]

getSouthSidePorts()[source]

Get all ports physically located on the south side of the tile.

Returns:

List of ports on the south side, excluding NULL ports.

Return type:

list[Port]

getTileInputNames()[source]

Get all input port destination names for the tile.

Returns:

List of destination names for input ports, excluding NULL and JUMP direction ports.

Return type:

list[str]

getTileOutputNames()[source]

Get all output port source names for the tile.

Returns:

List of source names for output ports, excluding NULL and JUMP direction ports.

Return type:

list[str]

getWestPorts(io)[source]

Get all ports with west wire direction filtered by I/O type.

Parameters:

io (IO) – The I/O direction to filter by (INPUT or OUTPUT).

Returns:

List of west-direction ports with specified I/O type, excluding NULL ports.

Return type:

list[Port]

getWestSidePorts()[source]

Get all ports physically located on the west side of the tile.

Returns:

List of ports on the west side, excluding NULL ports.

Return type:

list[Port]