Skip to content

Commit 7af267a

Browse files
acomodikmurray
authored andcommitted
doc: update heterogeneous tiles tutorial
Signed-off-by: Alessandro Comodi <[email protected]>
1 parent 1b0cd51 commit 7af267a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

doc/src/tutorials/arch/heterogeneous_tiles.rst

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,27 @@ This tutorial aims at providing information to the user on how to model sub tile
77

88
An *heterogeneous tile* is a tile that includes two or more site types that may differ in the following aspects:
99

10+
- *Block types* (pb_type)
1011
- *Fc* definition
1112
- *Pin locations* definition
1213
- *IO ports* definition
1314

14-
As a result, an *heterogeneous tile* has the possibility of having multiple block types at the same *x* and *y* location in the grid.
15-
This comes with the introduction of a third spatial coordinate that identifies the placement of the block type within the x and y grid coordinate.
15+
As a result, an *heterogeneous tile* has the possibility of having multiple block types at the same (*x*, *y*) location in the grid.
16+
This comes with the introduction of a third spatial coordinate (sub-block) that identifies the placement of the block type within the x and y grid coordinate.
1617

1718
Moreover, the placer can choose and assign different locations for each block type within the same coordinates as well.
1819

1920
.. figure:: sub_tiles_grid.png
2021

21-
Device grid, with x, y and sub block coordinates. Each block can be moved by the placer in all the three spatial dimensions.
22+
Device grid, with (x, y, sub-block) coordinates. Each block can be moved by the placer in all the three spatial dimensions.
2223

2324
To correctly model an architecture, each :ref:`arch_tiles` requires at least one sub tile definition. This represents a default
24-
homogeneous architecture, composed of one or many capacity instances of the sub tile within the physical tile.
25+
homogeneous architecture, composed of one or many instances of the sub tile within the physical tile (the number of such sub-tiles is referred to as the *capacity*).
2526

2627
To enhance the expressivity of VPR architecture, additional sub tiles can be inserted alongside with the default sub tile.
2728
This enables the definition of the *heterogeneous tiles*.
2829

29-
With this new capability, the device grid of a given architecture does include a new ``depth`` coordinate that identifies
30-
the type of sub tile used and its actual location, in case the capacity is greater than 1.
30+
With this new capability, the device grid of a given architecture does include a new sub-block coordinate that identifies the type of sub tile used and its actual location, in case the capacity is greater than 1.
3131

3232
Heterogeneous tiles examples
3333
----------------------------
@@ -84,8 +84,8 @@ Heterogeneous tiles come in hand to model this kind of tiles and an example is t
8484
<output name="O" num_pins="1"/>
8585
<fc in_type="abs" in_val="2" out_type="abs" out_val="2"/>
8686
<pinlocations pattern="custom">
87-
<loc side="top">BUFG_SUB_TILE_1.S1 BUFG_SUB_TILE_1.CLK_BUFG_I0 BUFG_SUB_TILE_1.CE1 BUFG_SUB_TILE_1.CLK_BUFG_I1 BUFG_SUB_TILE_1.IGNORE1 BUFG_SUB_TILE_1.IGNORE0 BUFG_SUB_TILE_1.CE0 BUFG_SUB_TILE_1.S0</loc>
88-
<loc side="right">BUFG_SUB_TILE_1.CLK_BUFG_I0 BUFG_SUB_TILE_1.CLK_BUFG_I1 BUFG_SUB_TILE_1.CLK_BUFG_O</loc>
87+
<loc side="top">BUFG_SUB_TILE_1.S1 BUFG_SUB_TILE_1.I0 BUFG_SUB_TILE_1.CE1 BUFG_SUB_TILE_1.I1 BUFG_SUB_TILE_1.IGNORE1 BUFG_SUB_TILE_1.IGNORE0 BUFG_SUB_TILE_1.CE0 BUFG_SUB_TILE_1.S0</loc>
88+
<loc side="right">BUFG_SUB_TILE_1.I0 BUFG_SUB_TILE_1.I1 BUFG_SUB_TILE_1.O</loc>
8989
</pinlocations>
9090
<equivalent_sites>
9191
<site pb_type="BUFGCTRL" pin_mapping="direct"/>
@@ -103,8 +103,8 @@ Heterogeneous tiles come in hand to model this kind of tiles and an example is t
103103
<output name="O" num_pins="1"/>
104104
<fc in_type="abs" in_val="2" out_type="abs" out_val="2"/>
105105
<pinlocations pattern="custom">
106-
<loc side="right">BUFGCTRL_1.S1 BUFGCTRL_1.CLK_BUFG_I0 BUFGCTRL_1.CE1 BUFGCTRL_1.CLK_BUFG_I1 BUFGCTRL_1.IGNORE1 BUFGCTRL_1.IGNORE0 BUFGCTRL_1.CE0 BUFGCTRL_1.S0</loc>
107-
<loc side="left">BUFGCTRL_1.CLK_BUFG_I0 BUFGCTRL_1.CLK_BUFG_I1 BUFGCTRL_1.CLK_BUFG_O</loc>
106+
<loc side="right">BUFG_SUB_TILE_2.S1 BUFG_SUB_TILE_2.I0 BUFG_SUB_TILE_2.CE1 BUFG_SUB_TILE_2.I1 BUFG_SUB_TILE_2.IGNORE1 BUFG_SUB_TILE_2.IGNORE0 BUFG_SUB_TILE_2.CE0 BUFG_SUB_TILE_2.S0</loc>
107+
<loc side="left">BUFG_SUB_TILE_2.I0 BUFG_SUB_TILE_2.I1 BUFG_SUB_TILE_2.O</loc>
108108
</pinlocations>
109109
<equivalent_sites>
110110
<site pb_type="BUFGCTRL" pin_mapping="direct"/>
@@ -132,7 +132,7 @@ The above ``BUFG_TILE`` contains three types of sub-tiles (``BUFG_SUB_TILE_0``,
132132
While each sub-tile type contains the same pb_type (equivalent_sites of ``BUFGCTRL``), they differ in two ways:
133133

134134
1. Each sub-tile has different pin locations. For example ``BUFG_SUB_TILE_0`` has the ``I1`` pins on the top side of the tile, while ``BUFG_SUB_TILE_1`` and ``BUFG_SUB_TILE_2`` have them on the right and left sides respectively.
135-
2. Each sub-tile has a different 'capacity' (i.e. a different number of sites). ``BUFG_SUB_TILE_1`` and ``BUFG_SUB_TILE_2`` have capacity 1, while ``BUFG_SUB_TILE_1`` has capacity 14. As a result the ``BUFG_TILE`` can implement a total of 16 ``BUFG_SUB_TILE`` blocks.
135+
2. Each sub-tile has a different 'capacity' (i.e. a different number of sites). ``BUFG_SUB_TILE_1`` and ``BUFG_SUB_TILE_2`` have capacity 1, while ``BUFG_SUB_TILE_1`` has capacity 14. As a result the ``BUFG_TILE`` can implement a total of 16 ``BUFGCTRL`` blocks.
136136

137137
Sub-tiles containing different block types
138138
##########################################

0 commit comments

Comments
 (0)