fabric_geometry¶
Classes for generating and managing the geometry of FPGA fabrics.
Attributes¶
Classes¶
|
Fetch and hold geometric information about a fabric. |
Module Contents¶
FabricGeometry¶
- FabricGeometry(fabric, padding = 8) :module:
Fetch and hold geometric information about a fabric.
Objects of this class can be constructed by passing a Fabric object and optionally, padding.
Creates the fabric geometry by processing the given fabric definition and automatically generating the complete geometric layout.
- param fabric:
The fabric object from CSV definition files
- type fabric:
Fabric
- param padding:
Padding used throughout the geometry, by default 8
- type padding:
int, optional
- ivar fabric:
The fabric object passed from the CSV definition files
- vartype fabric:
Fabric
- ivar tileNames:
Set of unique tileNames in the fabric
- vartype tileNames:
set[str]
- ivar tileGeomMap:
Map of the geometry of each tile by name
- vartype tileGeomMap:
dict[str, TileGeometry]
- ivar tileLocs:
Locations of all tiles in the fabric
- vartype tileLocs:
list[list[Location]]
- ivar padding:
Padding used throughout the geometry, in multiples of the width between wires
- vartype padding:
int
- ivar width:
Width of the fabric
- vartype width:
int
- ivar height:
Height of the fabric
- vartype height:
int
- genNeighbourConstraintsqueried :module:
Generate neighbour constraints for a given tile geometry.
- param queried:
The tile geometry to generate constraints for
- type queried:
TileGeometry
- generateGeometry :module:
Generate the geometric information from the given fabric object.
The border attribute is set for tiles that are located at a border of the tile. This is done to ensure no stair-like wires being generated for these tiles. The distinction left/right and top/bottom is made, to prevent generation of horizontal and vertical stair-like wires respectively.
- saveToCSVfileName :module:
Save geometric information of the given fabric for the graphical frontend.
- param fileName:
The name of the csv file
- type fileName:
str
- totalWireLines :module:
Return the total amount of lines (segments) of wires of the fabrics routing.
Can, for instance, be used to initialize the size of datastructures in the frontend.