IRON
1.0
|
Public Member Functions | |
def | __init__ (self) |
def | make_placement (self, Device device, Runtime rt, list[Worker] workers, list[ObjectFifoHandle] object_fifos) |
Private Member Functions | |
int | _get_common_col (self, list[Tile] tiles) |
Tile | _find_col_match (self, int col, list[Tile] tiles) |
SequentialPlacer is a simple implementation of a placer. The SequentialPlacer is to named because it will sequentially place workers to Compute Tiles. After workers are placed, Memory Tiles and Shim Tiles are placed so as to match the column of the given compute tile. The SequentialPlacer does not do any validation of placement and can often yield invalid placements that exceed resource limits for channels, memory, etc. For complex or resource sensitive designs, a more complex placer or manual placement is required.
def iron.placers.SequentialPlacer.__init__ | ( | self | ) |
A utility function that sequentially searches a list of tiles to find one with a matching column.
|
private |
A utility function that calculates a column that is "close" or "common" to a set of tiles. It is a simple heuristic using the average to represent "distance"
def iron.placers.SequentialPlacer.make_placement | ( | self, | |
Device | device, | ||
Runtime | rt, | ||
list[Worker] | workers, | ||
list[ObjectFifoHandle] | object_fifos | ||
) |
Assign placement informatio to a program. Args: device (Device): The device to use for placement. rt (Runtime): The runtime information for the program. workers (list[Worker]): The workers included in the program. object_fifos (list[ObjectFifoHandle]): The object fifos used by the program.
Reimplemented from iron.placers.Placer.