IRON  1.0
Public Member Functions | Private Member Functions | List of all members
iron.placers.SequentialPlacer Class Reference
Inheritance diagram for iron.placers.SequentialPlacer:
Inheritance graph
[legend]
Collaboration diagram for iron.placers.SequentialPlacer:
Collaboration graph
[legend]

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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ __init__()

def iron.placers.SequentialPlacer.__init__ (   self)

Member Function Documentation

◆ _find_col_match()

Tile iron.placers.SequentialPlacer._find_col_match (   self,
int  col,
list[Tile tiles 
)
private
A utility function that sequentially searches a list of tiles to find one with a matching column.

◆ _get_common_col()

int iron.placers.SequentialPlacer._get_common_col (   self,
list[Tile tiles 
)
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"

◆ make_placement()

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.


The documentation for this class was generated from the following file: