fabric_geometry

Classes for generating and managing the geometry of FPGA fabrics.

Attributes

Classes

FabricGeometry

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.

GENERATOR_VERSION = '1.0.0'[source]