fabricΒΆ
FPGA fabric definition module.
This module contains the Fabric class which represents the complete FPGA fabric including tile layout, configuration parameters, and connectivity information. The fabric is the top-level container for all tiles, BELs, and routing resources.
ClassesΒΆ
Store the configuration of a fabric. |
Module ContentsΒΆ
FabricΒΆ
- class Fabric[source]ΒΆ
Store the configuration of a fabric.
All the information is parsed from the CSV file.
- Variables:
fabric_dir (Path) β The path to the fabric config file
name (str) β The name of the fabric
numberOfRows (int) β The number of rows of the fabric
numberOfColumns (int) β The number of columns of the fabric
configBitMode (ConfigBitMode) β The configuration bit mode of the fabric. Currently supports frame based or ff chain
frameBitsPerRow (int) β The number of frame bits per row of the fabric
maxFramesPerCol (int) β The maximum number of frames per column of the fabric
package (str) β The extra package used by the fabric. Only useful for VHDL output.
generateDelayInSwitchMatrix (int) β The amount of delay in a switch matrix.
multiplexerStyle (MultiplexerStyle) β The style of the multiplexer used in the fabric. Currently supports custom or generic
frameSelectWidth (int) β The width of the frame select signal.
rowSelectWidth (int) β The width of the row select signal.
desync_flag (int) β The flag indicating desynchronization status, used to manage timing issues within the fabric.
numberOfBRAMs (int) β The number of BRAMs in the fabric.
superTileEnable (bool) β Whether the fabric has super tile.
disableUserCLK (bool) β Whether to disable UserCLK generation in the fabric.
tileDic (dict[str, Tile]) β A dictionary of tiles used in the fabric. The key is the name of the tile and the value is the tile.
superTileDic (dict[str, SuperTile]) β A dictionary of super tiles used in the fabric. The key is the name of the supertile and the value is the supertile.
unusedTileDic (dict[str, Tile]) β A dictionary of tiles that are not used in the fabric, but defined in the fabric.csv. The key is the name of the tile and the value is the tile.
unusedSuperTileDic (dict[str, SuperTile]) β A dictionary of super tiles that are not used in the fabric, but defined in the fabric.csv. The key is the name of the tile and the value is the tile.
commonWirePair (list[tuple[str, str]]) β A list of common wire pairs in the fabric.
MethodsΒΆ
- determine_border_side(x, y) Side | None[source]ΒΆ
Determine which border side a tile position is on, if any.
- find_tile_positions(tile) list[tuple[int, int]] | None[source]ΒΆ
Find all positions where a tile or supertile appears in the fabric grid.
- getAllUniqueBels() list[Bel][source]ΒΆ
Get all unique BELs from all tiles in the fabric.
- Returns:
A list of all unique BELs across all tiles.
- getBelsByTileXY(x, y) list[Bel][source]ΒΆ
Get all the Bels of a tile.
- Parameters:
- Returns:
A list of Bels in the tile.
- Raises:
ValueError β Tile coordinates are out of range.
- getSuperTileByName(name) SuperTile[source]ΒΆ
Get a supertile by its name from the fabric.
Searches for the supertile first in the used supertiles dictionary, then in the unused supertiles dictionary if not found.
- getTileByName(name) Tile | SuperTile[source]ΒΆ
Get a tile by its name from the fabric.
Search for the tile first in the used tiles dictionary, then in the unused tiles dictionary then in the supertiles if not found.