diff --git a/fuzzers/002-tilegrid/add_tdb.py b/fuzzers/002-tilegrid/add_tdb.py
index 6140389..124db6c 100644
--- a/fuzzers/002-tilegrid/add_tdb.py
+++ b/fuzzers/002-tilegrid/add_tdb.py
@@ -76,38 +76,13 @@
     # FIXME: generate words from pitch
     int_frames, int_words = localutil.get_int_params()
     tdb_fns = [
-        ("iob/build/segbits_tilegrid.tdb", 42, 4),
-        ("ioi/build/segbits_tilegrid.tdb", 42, 4),
-        ("mmcm/build/segbits_tilegrid.tdb", 30, 101),
-        ("pll/build/segbits_tilegrid.tdb", 30, 26),
-        ("monitor/build/segbits_tilegrid.tdb", 30, 101),
-        ("bram/build/segbits_tilegrid.tdb", 28, 10),
-        ("bram_block/build/segbits_tilegrid.tdb", 128, 10),
         ("clb/build/segbits_tilegrid.tdb", 36, 2),
-        ("cfg/build/segbits_tilegrid.tdb", 30, 101),
-        ("dsp/build/segbits_tilegrid.tdb", 28, 10),
-        ("clk_hrow/build/segbits_tilegrid.tdb", 30, 18),
-        ("clk_bufg/build/segbits_tilegrid.tdb", 30, 8),
-        ("hclk_cmt/build/segbits_tilegrid.tdb", 30, 10),
-        ("hclk_ioi/build/segbits_tilegrid.tdb", 42, 1),
-        ("clb_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("iob_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("bram_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("dsp_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("fifo_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("ps7_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("cfg_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        ("monitor_int/build/segbits_tilegrid.tdb", int_frames, int_words),
-        (
-            "orphan_int_column/build/segbits_tilegrid.tdb", int_frames,
-            int_words),
     ]
 
     for (tdb_fn, frames, words) in tdb_fns:
         if not os.path.exists(tdb_fn):
             verbose and print('Skipping {}, file not found!'.format(tdb_fn))
             continue
-
         for (tile, frame, wordidx) in load_db(tdb_fn):
             tilej = database[tile]
             verbose and print("Add %s %08X_%03u" % (tile, frame, wordidx))
diff --git a/fuzzers/002-tilegrid/generate_full.py b/fuzzers/002-tilegrid/generate_full.py
index e88ca15..cc75585 100644
--- a/fuzzers/002-tilegrid/generate_full.py
+++ b/fuzzers/002-tilegrid/generate_full.py
@@ -448,13 +448,13 @@
     database = json.load(open(json_in_fn, "r"))
     tiles_by_grid = make_tiles_by_grid(database)
 
-    propagate_INT_lr_bits(database, tiles_by_grid, verbose=verbose)
-    propagate_INT_bits_in_column(database, tiles_by_grid)
-    propagate_rebuf(database, tiles_by_grid)
-    propagate_IOB_SING(database, tiles_by_grid)
-    propagate_IOI_SING(database, tiles_by_grid)
-    propagate_IOI_Y9(database, tiles_by_grid)
-    alias_HCLKs(database)
+    #propagate_INT_lr_bits(database, tiles_by_grid, verbose=verbose)
+    #propagate_INT_bits_in_column(database, tiles_by_grid)
+    #propagate_rebuf(database, tiles_by_grid)
+    #propagate_IOB_SING(database, tiles_by_grid)
+    #propagate_IOI_SING(database, tiles_by_grid)
+    #propagate_IOI_Y9(database, tiles_by_grid)
+    #alias_HCLKs(database)
 
     # Save
     xjson.pprint(open(json_out_fn, "w"), database)
