| ============= |
| tileconn file |
| ============= |
| |
| The ``tileconn.json`` file contains the information on how the wires of |
| neighboring tiles are connected. It contains one entry for each pair of |
| tile types, each containing a list of pairs of wires that belong to the same node. |
| |
| .. warning:: FIXME: This is a good place to add the tile wire, pip, site pin diagram. |
| |
| This file documents how adjacent tile pairs are connected. |
| No directionality is given. |
| |
| File format |
| ----------- |
| |
| The file contains one large list:: |
| |
| [ |
| { |
| "grid_deltas": [ |
| <DELTA_X>, |
| <DELTA_Y> |
| ], |
| "tile_types": [ |
| "<SOURCE_TILE>", |
| "<DESTINATION_TILE>" |
| ], |
| "wire_pairs": [ |
| [ |
| "<SOURCE_TILE_WIRE>", |
| "<DESTINATION_FILE_WIRE>" |
| ], |
| <...> |
| ], |
| }, |
| <...> |
| ] |
| |
| Each entry has the following fields: |
| |
| - ``grid_deltas`` - indicates the position (``<DELTA_X>``, ``<DELTA_Y>``) of |
| the source tile relative to the destination_file |
| - ``tile_types`` - contains the information about both |
| ``<SOURCE_TILE_TYPE>`` and ``<DESTINATION_TILE_TYPE>`` |
| - ``wire_pairs`` - contains the names of both |
| ``<SOURCE_TILE_WIRE>`` and ``<DESTINATION_TILE_WIRE>`` |
| |
| Example |
| ------- |
| |
| .. code-block:: javascript |
| |
| { |
| "grid_deltas": [ |
| 0, |
| 1 |
| ], |
| "tile_types": [ |
| "CLBLL_L", |
| "HCLK_CLB" |
| ], |
| "wire_pairs": [ |
| [ |
| "CLBLL_LL_CIN", |
| "HCLK_CLB_COUT0_L" |
| ], |
| [ |
| "CLBLL_L_CIN", |
| "HCLK_CLB_COUT1_L" |
| ] |
| ] |
| } |
| |
| Interpreted as: |
| |
| - Use when a ``CLBLL_L`` is above a ``HCLK_CLB`` (i.e. pointing south from ``CLBLL_L``) |
| - Connect ``CLBLL_L.CLBLL_LL_CIN`` to ``HCLK_CLB.HCLK_CLB_COUT0_L`` |
| - Connect ``CLBLL_L.CLBLL_L_CIN`` to ``HCLK_CLB.HCLK_CLB_COUT1_L`` |
| - A global clock tile is feeding into slice carry chain inputs |