Skip to content

Commit 6b29737

Browse files
authored
Merge pull request #57 from gatecat/subtiles
interchange: Add sub-tiles, needed for Nexus FASM generation
2 parents eb8ca04 + 79e884d commit 6b29737

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

interchange/DeviceResources.capnp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ annotation tileTypeRef(*) :TileTypeRef;
7878
using TileTypeIdx = UInt32;
7979

8080
using TileTypeSiteTypeIdx = UInt32;
81+
using TileTypeSubTileIdx = UInt16;
8182

8283
struct Device {
8384

@@ -185,6 +186,14 @@ struct Device {
185186

186187
# Field ordinal 5 was deleted.
187188
deleted @5 : UInt32;
189+
190+
# Sub-tiles enable PIPs inside a tile to use different FASM prefices
191+
# This is needed for the Nexus, where there can be multiple tiles from a
192+
# bitstream perspective at the same (row, col) grid location. PIP.subTile
193+
# indexes into this list to get a prefix for FASM purposes.
194+
# If sub-tiles are not used; then this list is empty and an implicit
195+
# sub-tile index 0 has the same prefix as the tile name.
196+
subTilesPrefices @6 : List(StringIdx) $stringRef();
188197
}
189198

190199
######################################
@@ -254,6 +263,7 @@ struct Device {
254263
conventional @5 : Void;
255264
pseudoCells @6 : List(PseudoCell);
256265
}
266+
subTile @7 : TileTypeSubTileIdx; # Index into Tile.subTilesPrefices
257267
}
258268

259269
struct PseudoCell {

0 commit comments

Comments
 (0)