From 79e884d085aa1a369eaf20793be3a2c82b61bde0 Mon Sep 17 00:00:00 2001 From: gatecat Date: Mon, 24 May 2021 12:12:16 +0100 Subject: interchange: Add sub-tiles, needed for Nexus FASM generation Signed-off-by: gatecat --- interchange/DeviceResources.capnp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/interchange/DeviceResources.capnp b/interchange/DeviceResources.capnp index e39f844..8c4136e 100644 --- a/interchange/DeviceResources.capnp +++ b/interchange/DeviceResources.capnp @@ -78,6 +78,7 @@ annotation tileTypeRef(*) :TileTypeRef; using TileTypeIdx = UInt32; using TileTypeSiteTypeIdx = UInt32; +using TileTypeSubTileIdx = UInt16; struct Device { @@ -185,6 +186,14 @@ struct Device { # Field ordinal 5 was deleted. deleted @5 : UInt32; + + # Sub-tiles enable PIPs inside a tile to use different FASM prefices + # This is needed for the Nexus, where there can be multiple tiles from a + # bitstream perspective at the same (row, col) grid location. PIP.subTile + # indexes into this list to get a prefix for FASM purposes. + # If sub-tiles are not used; then this list is empty and an implicit + # sub-tile index 0 has the same prefix as the tile name. + subTilesPrefices @6 : List(StringIdx) $stringRef(); } ###################################### @@ -254,6 +263,7 @@ struct Device { conventional @5 : Void; pseudoCells @6 : List(PseudoCell); } + subTile @7 : TileTypeSubTileIdx; # Index into Tile.subTilesPrefices } struct PseudoCell { -- cgit v1.2.3