Tile-01

This tiling method performance minimal modification in the OpenFPGA generated netlist. After performing base manipulation to convert wires to buses, this tiling scheme merges neighboring instances to form a structure like shown below. This scheme is biased toward the top and right side connections boxes and right-top side switch box, as it merges connection boxes on top and right and sb on the right-top corner for flat design.

The flat design of the merged module allows setting tighter timing constraints on all internal paths.

../../_images/tile-01.svg

Detail of each Tile

Methods

class spydrnet_physical.util.Tile01(grid, netlist, library, top_module)[source]

Methods:

create_tiles

Creates tiles

merge_and_update

Merges given list of instances and updates width and height parameter

_get_width_height

_update_placement

_main_tile

Create main Tiles

_left_tile

Create Left Tiles

_right_tile

Create Right Tiles

_top_tile

Create Top Tiles

_bottom_tile

Create Bottom Tiles

_top_left_tile

Create top left tile

_top_right_tile

Create top right tile

_bottom_left_tile

Create bottom left tile

_bottom_right_tile

Create bottom right tile

create_tiles()[source]

Creates tiles

merge_and_update(instance_list, tile_name)[source]

Merges given list of instances and updates width and height parameter

_main_tile()[source]

Create main Tiles

                  +-----+
                  |     |
    +-------+ +----     ---+
    |  CBY  | |     SB     |
    +-------+ +----     ---+
+---------------+ |     |
|               | +-----+
|               | +-----+
|               | |     |
|      CLB      | | CBX |
|               | +-----+
|               |
+---------------+
_left_tile()[source]

Create Left Tiles

+-----+                  +-----+
|     |                  |     |
|     +--+ +-------+ +---+     +--+
| SB     | |  CBY  | |     SB     |
|     +--+ +-------+ +---+     +--+
|     | +--------------+ |     |
+-----+ |              | +-----+
+-----+ |              | +-----+
|     | |              | |     |
| CBX | |     CLB      | | CBX |
+-----+ |              | +-----+
        |              |
        +--------------+
_right_tile()[source]

Create Right Tiles

                 +-----+
                 |     |
    +-------+ +--+     |
    |  CBY  | |    SB  |
    +-------+ +--+     |
+--------------+ |     |
|              | +-----+
|              | +-----+
|              | |     |
|     CLB      | | CBX |
|              | +-----+
|              |
+--------------+
_top_tile()[source]

Create Top Tiles

   +-------+ +------------+
   |  CBY  | |     SB     |
   +-------+ +---+     +--+
+--------------+ |     |
|              | +-----+
|              | +-----+
|              | |     |
|     CLB      | | CBX |
|              | +-----+
|              |
+--------------+
_bottom_tile()[source]

Create Bottom Tiles

                 +-----+
                 |     |
   +-------+ +---+     +--+
   |  CBY  | |     SB     |
   +-------+ +---+     +--+
+--------------+ |     |
|              | +-----+
|              | +-----+
|              | |     |
|     CLB      | | CBX |
|              | +-----+
|              | +-----+
+--------------+ |     |
   +-------+ +---+     +--+
   |  CBY  | |     SB     |
   +-------+ +------------+
_top_left_tile()[source]

Create top left tile

+--------+ +-------+ +------------+
|  SB    | |  CBX  | |     SB     |
|     +--+ +-------+ +---+     +--+
|     | +--------------+ |     |
+-----+ |              | +-----+
+-----+ |              | +-----+
|     | |              | |     |
| CBY | |     CLB      | | CBY |
+-----+ |              | +-----+
        |              |
        +--------------+
_top_right_tile()[source]

Create top right tile

+------------+ +-------+ +---------+
|     SB     | |  CBY  | |     SB  |
+---+     +--+ +-------+ +---+     |
    |     | +--------------+ |     |
    +-----+ |              | +-----+
    +-----+ |              | +-----+
    |     | |              | |     |
    | CBX | |     CLB      | | CBX |
    +-----+ |              | +-----+
            |              |
            +--------------+
_bottom_left_tile()[source]

Create bottom left tile

+-----+                  +-----+
|     |                  |     |
|     +--+ +-------+ +---+     +--+
| SB     | |  CBY  | |     SB  |  |
|     +--+ +-------+ +---+     +--+
|     | +--------------+ |     |
+-----+ |              | +-----+
+-----+ |              | +-----+
|     | |              | |     |
| CBX | |     CLB      | | CBX |
+-----+ |              | +-----+
+-----+ |              | +-----+
|     | +--------------+ |     |
|     +--+ +-------+ +---+     +--+
| SB     | |  CBY  | |     SB     |
+--------+ +-------+ +------------+
_bottom_right_tile()[source]

Create bottom right tile

                 +-----+
                 |     |
   +-------+ +---+     |
   |  CBY  | |     SB  |
   +-------+ +---+     |
+--------------+ |     |
|              | +-----+
|              | +-----+
|              | |     |
|     CLB      | | CBX |
|              | +-----+
|              | +-----+
+--------------+ |     |
   +-------+ +---+     |
   |  CBY  | |     SB  |
   +-------+ +---------+