tilegrid: Adjust for 16bit words

Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
diff --git a/fuzzers/002-tilegrid/add_tdb.py b/fuzzers/002-tilegrid/add_tdb.py
index 9a6d9f5..a5d0271 100644
--- a/fuzzers/002-tilegrid/add_tdb.py
+++ b/fuzzers/002-tilegrid/add_tdb.py
@@ -4,6 +4,7 @@
 import util as localutil
 import os
 
+BITS_PER_WORD = 16
 
 def check_frames(tagstr, addrlist):
     frames = set()
@@ -18,8 +19,8 @@
     # 00020027_003_03
     line = line.split("_")
     frame = int(line[0], 16)
-    wordidx = int(line[1], 10)
-    bitidx = int(line[2], 10)
+    wordidx = int(line[1], 10) * (32 / BITS_PER_WORD) + int(line[2], 10) // BITS_PER_WORD
+    bitidx = int(line[2], 10) % BITS_PER_WORD
 
     if get_base_frame:
         delta = frame % 128
@@ -69,17 +70,12 @@
 def run(fn_in, fn_out, verbose=False):
     database = json.load(open(fn_in, "r"))
 
-    # Load a map of sites to base addresses
-    # Need to figure out the
-    # FIXME: generate frames from part file (or equivilent)
-    # See https://github.com/SymbiFlow/prjxray/issues/327
-    # FIXME: generate words from pitch
     int_frames, int_words = localutil.get_int_params()
     build_dir = "build_" + os.getenv('URAY_PART')
     tdb_fns = [
-        ("cle/" + build_dir + "/segbits_tilegrid.tdb", 36, 2),
-        ("clel_int/" + build_dir + "/segbits_tilegrid.tdb", 60, 2),
-        ("clem_int/" + build_dir + "/segbits_tilegrid.tdb", 60, 2),
+        ("cle/" + build_dir + "/segbits_tilegrid.tdb", 36, 3),
+        ("clel_int/" + build_dir + "/segbits_tilegrid.tdb", 60, 3),
+        ("clem_int/" + build_dir + "/segbits_tilegrid.tdb", 60, 3),
     ]
 
     for (tdb_fn, frames, words) in tdb_fns:
diff --git a/fuzzers/002-tilegrid/cle/Makefile b/fuzzers/002-tilegrid/cle/Makefile
index fe8b375..3624fb0 100644
--- a/fuzzers/002-tilegrid/cle/Makefile
+++ b/fuzzers/002-tilegrid/cle/Makefile
@@ -1,4 +1,4 @@
 N ?= 15
-GENERATE_ARGS?=--oneval 1 --design params.csv --dword 0 --dframe 0C
+GENERATE_ARGS?=--oneval 1 --design params.csv --dword 2 --dframe 0C
 include ../fuzzaddr/common.mk
 
diff --git a/fuzzers/002-tilegrid/clel_int/Makefile b/fuzzers/002-tilegrid/clel_int/Makefile
index 1046649..de77107 100644
--- a/fuzzers/002-tilegrid/clel_int/Makefile
+++ b/fuzzers/002-tilegrid/clel_int/Makefile
@@ -1,4 +1,4 @@
 N ?= 20
-GENERATE_ARGS?=--oneval 0 --design params.csv --dword 1 --dframe 3a
+GENERATE_ARGS?=--oneval 0 --design params.csv --dword 2 --dframe 3a
 include ../fuzzaddr/common.mk
 
diff --git a/fuzzers/002-tilegrid/clem_int/Makefile b/fuzzers/002-tilegrid/clem_int/Makefile
index 685dd28..0f986f1 100644
--- a/fuzzers/002-tilegrid/clem_int/Makefile
+++ b/fuzzers/002-tilegrid/clem_int/Makefile
@@ -1,4 +1,4 @@
 N ?= 20
-GENERATE_ARGS?=--oneval 0 --design params.csv --dword 1 --dframe 03
+GENERATE_ARGS?=--oneval 0 --design params.csv --dword 2 --dframe 03
 include ../fuzzaddr/common.mk
 
diff --git a/fuzzers/002-tilegrid/util.py b/fuzzers/002-tilegrid/util.py
index 6aaa4fd..1cc3fbf 100644
--- a/fuzzers/002-tilegrid/util.py
+++ b/fuzzers/002-tilegrid/util.py
@@ -36,12 +36,12 @@
     bits = tile_db['bits']
     block_type = util.addr2btype(baseaddr)
 
-    assert offset <= 100, (tile_name, offset)
+    assert offset <= 93 * 2, (tile_name, offset)
     # Few rare cases at X=0 for double width tiles split in half => small negative offset
     assert offset >= 0 or "IOB" in tile_name, (
         tile_name, hex(baseaddr), offset)
-    assert 1 <= words <= 101, words
-    assert offset + words <= 101, (
+    assert 1 <= words <= 93 * 2, words
+    assert offset + words <= 93 * 2, (
         tile_name, offset + words, offset, words, block_type)
 
     baseaddr_str = '0x%08X' % baseaddr
@@ -64,7 +64,7 @@
     block["frames"] = frames
 
     # Index of first word used within each frame
-    block["offset"] = offset
+    block["offset"] = int(offset)
 
     # Number of words used by tile.
     block["words"] = words