aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-10-31 18:24:01 +0100
committerClifford Wolf <clifford@clifford.at>2017-10-31 18:24:01 +0100
commit3ba18d001754de563ab0baa2a1c8eecbe63ef121 (patch)
tree55369de2e9c3b4d7651961b9308b2c8893583ae1
parentd9d2a3dcaa749014f5b9a539768b8368bb529b28 (diff)
parent2ad5600b47f436752418609af19915a00e7b24f8 (diff)
downloadicestorm-3ba18d001754de563ab0baa2a1c8eecbe63ef121.tar.gz
icestorm-3ba18d001754de563ab0baa2a1c8eecbe63ef121.tar.bz2
icestorm-3ba18d001754de563ab0baa2a1c8eecbe63ef121.zip
Merge branch 'daveshah1-u5k'
-rw-r--r--examples/up5k/.gitignore4
-rw-r--r--examples/up5k/Makefile36
-rw-r--r--examples/up5k/example.v10
-rw-r--r--examples/up5k/up5k.pcf3
-rw-r--r--icebox/icebox.py233
-rw-r--r--icebox/iceboxdb.py479
-rw-r--r--icefuzz/fuzzconfig.py4
-rw-r--r--icefuzz/glbcheck.py7
-rw-r--r--icefuzz/make_prim.py22
-rw-r--r--icefuzz/make_ram40.py10
-rw-r--r--icefuzz/tests/.gitignore2
-rw-r--r--icefuzz/tests/intosc.pcf3
-rw-r--r--icefuzz/tests/intosc.v14
-rw-r--r--icefuzz/tests/ioctrl_5k.py21
-rwxr-xr-xicefuzz/tests/ioctrl_5k.sh28
-rw-r--r--icefuzz/tests/pllauto/.gitignore1
-rw-r--r--icefuzz/tests/pllauto/pll_data_up5k.txt39
-rwxr-xr-xicefuzz/tests/pllauto/pllauto.py276
-rw-r--r--icefuzz/tests/sb_io_od.pcf12
-rw-r--r--icefuzz/tests/sb_io_od.v62
-rw-r--r--icefuzz/tests/sb_mac16.v65
-rw-r--r--icefuzz/tests/sb_rgba_drv.pcf3
-rw-r--r--icefuzz/tests/sb_rgba_drv.v32
-rw-r--r--icefuzz/tests/sb_spram256ka.v25
-rw-r--r--icepack/icepack.cc20
25 files changed, 1286 insertions, 125 deletions
diff --git a/examples/up5k/.gitignore b/examples/up5k/.gitignore
new file mode 100644
index 0000000..c1fa30b
--- /dev/null
+++ b/examples/up5k/.gitignore
@@ -0,0 +1,4 @@
+example.bin
+example.blif
+example.asc
+example.rpt
diff --git a/examples/up5k/Makefile b/examples/up5k/Makefile
new file mode 100644
index 0000000..ea16f06
--- /dev/null
+++ b/examples/up5k/Makefile
@@ -0,0 +1,36 @@
+PROJ = example
+PIN_DEF = up5k.pcf
+DEVICE = up5k
+# Relative paths for easier development without messing with installed version
+ARACHNE = ../../../arachne-pnr/bin/arachne-pnr
+ARACHNE_ARGS = -c ../../icebox/chipdb-5k.txt
+ICEPACK = ../../icepack/icepack
+ICETIME = ../../icetime/icetime
+ICEPROG = ../../iceprog/iceprog
+
+all: $(PROJ).bin
+
+%.blif: %.v
+ yosys -p 'synth_ice40 -top top -blif $@' $<
+
+%.asc: $(PIN_DEF) %.blif
+ $(ARACHNE) $(ARACHNE_ARGS) -d $(subst up,,$(subst hx,,$(subst lp,,$(DEVICE)))) -o $@ -p $^
+
+%.bin: %.asc
+ $(ICEPACK) $< $@
+
+%.rpt: %.asc
+ $(ICETIME) -d $(DEVICE) -mtr $@ $<
+
+prog: $(PROJ).bin
+ $(ICEPROG) -S $<
+
+sudo-prog: $(PROJ).bin
+ @echo 'Executing prog as root!!!'
+ sudo $(ICEPROG) -S $<
+
+clean:
+ rm -f $(PROJ).blif $(PROJ).asc $(PROJ).rpt $(PROJ).bin
+
+.SECONDARY:
+.PHONY: all prog clean
diff --git a/examples/up5k/example.v b/examples/up5k/example.v
new file mode 100644
index 0000000..01b76b8
--- /dev/null
+++ b/examples/up5k/example.v
@@ -0,0 +1,10 @@
+module top (
+ input btn,
+ output LED0,
+ output LED1,
+);
+
+assign LED0 = !btn;
+assign LED1 = btn;
+
+endmodule
diff --git a/examples/up5k/up5k.pcf b/examples/up5k/up5k.pcf
new file mode 100644
index 0000000..b1d1263
--- /dev/null
+++ b/examples/up5k/up5k.pcf
@@ -0,0 +1,3 @@
+set_io LED0 12
+set_io LED1 21
+set_io btn 26
diff --git a/icebox/icebox.py b/icebox/icebox.py
index 41e8f12..b797902 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -80,12 +80,12 @@ class iceconfig:
def setup_empty_5k(self):
self.clear()
self.device = "5k"
- self.max_x = 26
- self.max_y = 33
+ self.max_x = 25
+ self.max_y = 31
for x in range(1, self.max_x):
for y in range(1, self.max_y):
- if x in (7, 20):
+ if x in (6, 19):
if y % 2 == 1:
self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
else:
@@ -194,6 +194,20 @@ class iceconfig:
entries.append((x, src_y, x, y))
return entries
+ if self.device == "5k": #Interesting, seems the 5k has more colbufs?
+ entries = list()
+ for x in range(self.max_x+1):
+ for y in range(self.max_y+1):
+ src_y = None
+ if 0 <= y <= 4: src_y = 4
+ if 5 <= y <= 10: src_y = 5
+ if 11 <= y <= 14: src_y = 14
+ if 15 <= y <= 20: src_y = 15
+ if 21 <= y <= 26: src_y = 26
+ if 27 <= y <= 31: src_y = 27
+ entries.append((x, src_y, x, y))
+ return entries
+
if self.device == "384":
entries = list()
for x in range(self.max_x+1):
@@ -213,8 +227,13 @@ class iceconfig:
if self.device in ["384", "1k", "8k"]:
if x == 0: return iotile_l_db
if x == self.max_x: return iotile_r_db
- if y == 0: return iotile_b_db
- if y == self.max_y: return iotile_t_db
+ # The 5k needs an IO db including the extra bits
+ if self.device == "5k":
+ if y == 0: return iotile_b_5k_db
+ if y == self.max_y: return iotile_t_5k_db
+ else:
+ if y == 0: return iotile_b_db
+ if y == self.max_y: return iotile_t_db
if self.device == "1k":
if (x, y) in self.logic_tiles: return logictile_db
if (x, y) in self.ramb_tiles: return rambtile_db
@@ -642,7 +661,7 @@ class iceconfig:
expected_data_lines -= 1
continue
assert expected_data_lines <= 0
- if line[0] in (".io_tile", ".logic_tile", ".ramb_tile", ".ramt_tile", ".ram_data"):
+ if line[0] in (".io_tile", ".logic_tile", ".ramb_tile", ".ramt_tile", ".ram_data", ".ipconn_tile", ".dsp1_tile", ".dsp2_tile", ".dsp3_tile", ".dsp4_tile"):
current_data = list()
expected_data_lines = 16
self.max_x = max(self.max_x, int(line[1]))
@@ -1094,20 +1113,15 @@ def parse_db(text, device="1k"):
for line in text.split("\n"):
line_384 = line.replace("384_glb_netwk_", "glb_netwk_")
line_1k = line.replace("1k_glb_netwk_", "glb_netwk_")
- line_5k = line.replace("5k_glb_netwk_", "glb_netwk_")
line_8k = line.replace("8k_glb_netwk_", "glb_netwk_")
if line_1k != line:
if device != "1k":
continue
line = line_1k
elif line_8k != line:
- if device != "8k":
+ if device != "8k" and device != "5k": # global network is the same for 8k and 5k
continue
line = line_8k
- elif line_5k != line:
- if device != "5k":
- continue
- line = line_5k
elif line_384 != line:
if device != "384":
continue
@@ -1173,15 +1187,15 @@ gbufin_db = {
( 6, 0, 5),
( 6, 17, 4),
],
- "5k": [ # not sure how to get the third column, currently based on diagram in pdf.
- ( 6, 0, 0),
- (12, 0, 1),
- (13, 0, 3),
- (19, 0, 6),
- ( 6, 31, 5),
- (12, 31, 2),
- (13, 31, 7),
- (19, 31, 4),
+ "5k": [
+ ( 6, 0, 6), #checked
+ (12, 0, 5), #checked
+ (13, 0, 7), #unknown
+ (19, 0, 0), #checked
+ ( 6, 31, 3), #checked
+ (12, 31, 4), #checked
+ (13, 31, 1), #checked
+ (19, 31, 2), #checked
],
"8k": [
(33, 16, 7),
@@ -1275,7 +1289,6 @@ noplls_db = {
"1k-cb121": [ "1k" ],
"1k-vq100": [ "1k" ],
"384-qn32": [ "384" ],
- "5k-sg48": [ "5k" ],
}
pllinfo_db = {
@@ -1381,89 +1394,88 @@ pllinfo_db = {
# 3'b110 = "SB_PLL40_2F_PAD"
# 3'b011 = "SB_PLL40_CORE"
# 3'b111 = "SB_PLL40_2F_CORE"
- "PLLTYPE_0": ( 16, 0, "PLLCONFIG_5"),
- "PLLTYPE_1": ( 18, 0, "PLLCONFIG_1"),
- "PLLTYPE_2": ( 18, 0, "PLLCONFIG_3"),
+ "PLLTYPE_0": (12, 31, "PLLCONFIG_5"),
+ "PLLTYPE_1": (14, 31, "PLLCONFIG_1"),
+ "PLLTYPE_2": (14, 31, "PLLCONFIG_3"),
# 3'b000 = "DELAY"
# 3'b001 = "SIMPLE"
# 3'b010 = "PHASE_AND_DELAY"
# 3'b110 = "EXTERNAL"
- "FEEDBACK_PATH_0": ( 18, 0, "PLLCONFIG_5"),
- "FEEDBACK_PATH_1": ( 15, 0, "PLLCONFIG_9"),
- "FEEDBACK_PATH_2": ( 16, 0, "PLLCONFIG_1"),
+ "FEEDBACK_PATH_0": (14, 31, "PLLCONFIG_5"),
+ "FEEDBACK_PATH_1": (11, 31, "PLLCONFIG_9"),
+ "FEEDBACK_PATH_2": (12, 31, "PLLCONFIG_1"),
# 1'b0 = "FIXED"
# 1'b1 = "DYNAMIC" (also set FDA_FEEDBACK=4'b1111)
- "DELAY_ADJMODE_FB": ( 17, 0, "PLLCONFIG_4"),
+ "DELAY_ADJMODE_FB": (13, 31, "PLLCONFIG_4"),
# 1'b0 = "FIXED"
# 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
- "DELAY_ADJMODE_REL": ( 17, 0, "PLLCONFIG_9"),
+ "DELAY_ADJMODE_REL": (13, 31, "PLLCONFIG_9"),
# 2'b00 = "GENCLK"
# 2'b01 = "GENCLK_HALF"
# 2'b10 = "SHIFTREG_90deg"
# 2'b11 = "SHIFTREG_0deg"
- "PLLOUT_SELECT_A_0": ( 16, 0, "PLLCONFIG_6"),
- "PLLOUT_SELECT_A_1": ( 16, 0, "PLLCONFIG_7"),
-
+ "PLLOUT_SELECT_A_0": (12, 31, "PLLCONFIG_6"),
+ "PLLOUT_SELECT_A_1": (12, 31, "PLLCONFIG_7"),
# 2'b00 = "GENCLK"
# 2'b01 = "GENCLK_HALF"
# 2'b10 = "SHIFTREG_90deg"
# 2'b11 = "SHIFTREG_0deg"
- "PLLOUT_SELECT_B_0": ( 16, 0, "PLLCONFIG_2"),
- "PLLOUT_SELECT_B_1": ( 16, 0, "PLLCONFIG_3"),
+ "PLLOUT_SELECT_B_0": (12, 31, "PLLCONFIG_2"),
+ "PLLOUT_SELECT_B_1": (12, 31, "PLLCONFIG_3"),
# Numeric Parameters
- "SHIFTREG_DIV_MODE": ( 16, 0, "PLLCONFIG_4"),
- "FDA_FEEDBACK_0": ( 16, 0, "PLLCONFIG_9"),
- "FDA_FEEDBACK_1": ( 17, 0, "PLLCONFIG_1"),
- "FDA_FEEDBACK_2": ( 17, 0, "PLLCONFIG_2"),
- "FDA_FEEDBACK_3": ( 17, 0, "PLLCONFIG_3"),
- "FDA_RELATIVE_0": ( 17, 0, "PLLCONFIG_5"),
- "FDA_RELATIVE_1": ( 17, 0, "PLLCONFIG_6"),
- "FDA_RELATIVE_2": ( 17, 0, "PLLCONFIG_7"),
- "FDA_RELATIVE_3": ( 17, 0, "PLLCONFIG_8"),
- "DIVR_0": ( 14, 0, "PLLCONFIG_1"),
- "DIVR_1": ( 14, 0, "PLLCONFIG_2"),
- "DIVR_2": ( 14, 0, "PLLCONFIG_3"),
- "DIVR_3": ( 14, 0, "PLLCONFIG_4"),
- "DIVF_0": ( 14, 0, "PLLCONFIG_5"),
- "DIVF_1": ( 14, 0, "PLLCONFIG_6"),
- "DIVF_2": ( 14, 0, "PLLCONFIG_7"),
- "DIVF_3": ( 14, 0, "PLLCONFIG_8"),
- "DIVF_4": ( 14, 0, "PLLCONFIG_9"),
- "DIVF_5": ( 15, 0, "PLLCONFIG_1"),
- "DIVF_6": ( 15, 0, "PLLCONFIG_2"),
- "DIVQ_0": ( 15, 0, "PLLCONFIG_3"),
- "DIVQ_1": ( 15, 0, "PLLCONFIG_4"),
- "DIVQ_2": ( 15, 0, "PLLCONFIG_5"),
- "FILTER_RANGE_0": ( 15, 0, "PLLCONFIG_6"),
- "FILTER_RANGE_1": ( 15, 0, "PLLCONFIG_7"),
- "FILTER_RANGE_2": ( 15, 0, "PLLCONFIG_8"),
- "TEST_MODE": ( 16, 0, "PLLCONFIG_8"),
+ "SHIFTREG_DIV_MODE": (12, 31, "PLLCONFIG_4"),
+ "FDA_FEEDBACK_0": (12, 31, "PLLCONFIG_9"),
+ "FDA_FEEDBACK_1": (13, 31, "PLLCONFIG_1"),
+ "FDA_FEEDBACK_2": (13, 31, "PLLCONFIG_2"),
+ "FDA_FEEDBACK_3": (13, 31, "PLLCONFIG_3"),
+ "FDA_RELATIVE_0": (13, 31, "PLLCONFIG_5"),
+ "FDA_RELATIVE_1": (13, 31, "PLLCONFIG_6"),
+ "FDA_RELATIVE_2": (13, 31, "PLLCONFIG_7"),
+ "FDA_RELATIVE_3": (13, 31, "PLLCONFIG_8"),
+ "DIVR_0": (10, 31, "PLLCONFIG_1"),
+ "DIVR_1": (10, 31, "PLLCONFIG_2"),
+ "DIVR_2": (10, 31, "PLLCONFIG_3"),
+ "DIVR_3": (10, 31, "PLLCONFIG_4"),
+ "DIVF_0": (10, 31, "PLLCONFIG_5"),
+ "DIVF_1": (10, 31, "PLLCONFIG_6"),
+ "DIVF_2": (10, 31, "PLLCONFIG_7"),
+ "DIVF_3": (10, 31, "PLLCONFIG_8"),
+ "DIVF_4": (10, 31, "PLLCONFIG_9"),
+ "DIVF_5": (11, 31, "PLLCONFIG_1"),
+ "DIVF_6": (11, 31, "PLLCONFIG_2"),
+ "DIVQ_0": (11, 31, "PLLCONFIG_3"),
+ "DIVQ_1": (11, 31, "PLLCONFIG_4"),
+ "DIVQ_2": (11, 31, "PLLCONFIG_5"),
+ "FILTER_RANGE_0": (11, 31, "PLLCONFIG_6"),
+ "FILTER_RANGE_1": (11, 31, "PLLCONFIG_7"),
+ "FILTER_RANGE_2": (11, 31, "PLLCONFIG_8"),
+ "TEST_MODE": (12, 31, "PLLCONFIG_8"),
# PLL Ports
- "PLLOUT_A": ( 16, 0, 1),
- "PLLOUT_B": ( 17, 0, 0),
- "REFERENCECLK": ( 13, 0, "fabout"),
- "EXTFEEDBACK": ( 14, 0, "fabout"),
- "DYNAMICDELAY_0": ( 5, 0, "fabout"),
- "DYNAMICDELAY_1": ( 6, 0, "fabout"),
- "DYNAMICDELAY_2": ( 7, 0, "fabout"),
- "DYNAMICDELAY_3": ( 8, 0, "fabout"),
- "DYNAMICDELAY_4": ( 9, 0, "fabout"),
- "DYNAMICDELAY_5": ( 10, 0, "fabout"),
- "DYNAMICDELAY_6": ( 11, 0, "fabout"),
- "DYNAMICDELAY_7": ( 12, 0, "fabout"),
- "LOCK": ( 1, 1, "neigh_op_bnl_1"),
- "BYPASS": ( 19, 0, "fabout"),
- "RESETB": ( 20, 0, "fabout"),
- "LATCHINPUTVALUE": ( 15, 0, "fabout"),
- "SDO": ( 32, 1, "neigh_op_bnr_3"),
- "SDI": ( 22, 0, "fabout"),
- "SCLK": ( 21, 0, "fabout"),
+ "PLLOUT_A": ( 12, 31, 1),
+ "PLLOUT_B": ( 13, 31, 0),
+ "REFERENCECLK": ( 10, 31, "fabout"),
+ "EXTFEEDBACK": ( 11, 31, "fabout"),
+ "DYNAMICDELAY_0": ( 1, 31, "fabout"),
+ "DYNAMICDELAY_1": ( 2, 31, "fabout"),
+ "DYNAMICDELAY_2": ( 3, 31, "fabout"),
+ "DYNAMICDELAY_3": ( 4, 31, "fabout"),
+ "DYNAMICDELAY_4": ( 5, 31, "fabout"),
+ "DYNAMICDELAY_5": ( 7, 31, "fabout"),
+ "DYNAMICDELAY_6": ( 8, 31, "fabout"),
+ "DYNAMICDELAY_7": ( 9, 31, "fabout"),
+ "LOCK": ( 1, 30, "neigh_op_tnl_1"), #check?
+ "BYPASS": ( 15, 31, "fabout"),
+ "RESETB": ( 16, 31, "fabout"),
+ "LATCHINPUTVALUE": ( 14, 31, "fabout"),
+ "SDO": ( 24, 30, "neigh_op_tnr_1"), #check?
+ "SDI": ( 18, 31, "fabout"),
+ "SCLK": ( 17, 31, "fabout"),
},
"8k_0": {
"LOC" : (16, 0),
@@ -2057,6 +2069,47 @@ ieren_db = {
( 7, 6, 0, 7, 6, 1),
( 7, 6, 1, 7, 6, 0),
],
+ "5k": [
+ ( 8, 0, 0, 8, 0, 1),
+ ( 9, 0, 1, 9, 0, 0),
+ ( 9, 0, 0, 9, 0, 1),
+ (13, 0, 1, 13, 0, 0),
+ (15, 0, 0, 15, 0, 1),
+ (16, 0, 0, 16, 0, 1),
+ (17, 0, 0, 17, 0, 1),
+ (18, 0, 0, 18, 0, 1),
+ (19, 0, 0, 19, 0, 1),
+ (23, 0, 0, 23, 0, 1),
+ (24, 0, 0, 24, 0, 1),
+ (24, 0, 1, 24, 0, 0),
+ (23, 0, 1, 23, 0, 0),
+ (22, 0, 1, 22, 0, 0),
+ (21, 0, 1, 21, 0, 0),
+ (19, 0, 1, 19, 0, 0),
+ (18, 0, 1, 18, 0, 0),
+ (19, 31, 0, 19, 31, 1),
+ (19, 31, 1, 19, 31, 0),
+ (18, 31, 0, 18, 31, 1),
+ (18, 31, 1, 18, 31, 0),
+ (17, 31, 0, 17, 31, 1),
+ (16, 31, 1, 16, 31, 0),
+ (16, 31, 0, 16, 31, 1),
+ (13, 31, 1, 13, 31, 0),
+ (12, 31, 1, 12, 31, 0),
+ ( 9, 31, 1, 9, 31, 0),
+ (13, 31, 0, 13, 31, 1),
+ ( 4, 31, 0, 4, 31, 1),
+ ( 5, 31, 0, 5, 31, 1),
+ ( 6, 31, 0, 6, 31, 1),
+ ( 8, 31, 1, 8, 31, 0),
+ ( 8, 31, 0, 8, 31, 1),
+ ( 9, 31, 0, 9, 31, 1),
+ ( 6, 0, 1, 6, 0, 0),
+ ( 7, 0, 1, 7, 0, 0),
+ ( 5, 0, 0, 5, 0, 1),
+ ( 6, 0, 0, 6, 0, 1),
+ ( 7, 0, 0, 7, 0, 1)
+ ]
}
# This dictionary maps package variants to a table of pin names and their
@@ -4152,13 +4205,29 @@ for entry in iotile_full_db:
logictile_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
logictile_db.append([["B1[50]"], "CarryInSet"])
+logictile_5k_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
+logictile_5k_db.append([["B1[50]"], "CarryInSet"])
+
logictile_8k_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
logictile_8k_db.append([["B1[50]"], "CarryInSet"])
logictile_384_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
logictile_384_db.append([["B1[50]"], "CarryInSet"])
-for db in [iotile_l_db, iotile_r_db, iotile_t_db, iotile_b_db, logictile_db, logictile_5k_db, logictile_8k_db, logictile_384_db, rambtile_db, ramttile_db, rambtile_5k_db, ramttile_5k_db, rambtile_8k_db, ramttile_8k_db]:
+# The 5k series has a couple of extra IO configuration bits. Add them in to a copy of the db here
+iotile_t_5k_db = list(iotile_t_db)
+iotile_t_5k_db.append([["B14[15]"], "IoCtrl", "padeb_test_1"])
+iotile_t_5k_db.append([["B15[14]"], "IoCtrl", "padeb_test_0"])
+iotile_t_5k_db.append([["B6[15]"], "IoCtrl", "cf_bit_35"])
+iotile_t_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
+
+iotile_b_5k_db = list(iotile_b_db)
+iotile_b_5k_db.append([["B14[15]"], "IoCtrl", "padeb_test_1"])
+iotile_b_5k_db.append([["B15[14]"], "IoCtrl", "padeb_test_0"])
+iotile_b_5k_db.append([["B6[15]"], "IoCtrl", "cf_bit_35"])
+iotile_b_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
+
+for db in [iotile_l_db, iotile_r_db, iotile_t_db, iotile_b_db, iotile_t_5k_db, iotile_b_5k_db, logictile_db, logictile_5k_db, logictile_8k_db, logictile_384_db, rambtile_db, ramttile_db, rambtile_5k_db, ramttile_5k_db, rambtile_8k_db, ramttile_8k_db]:
for entry in db:
if entry[1] in ("buffer", "routing"):
entry[2] = netname_normalize(entry[2],
diff --git a/icebox/iceboxdb.py b/icebox/iceboxdb.py
index 63f2079..24671ab 100644
--- a/icebox/iceboxdb.py
+++ b/icebox/iceboxdb.py
@@ -5356,6 +5356,7 @@ B10[25],B11[22],!B11[23],!B11[24],B11[25] buffer bnl_op_6 lc_trk_g2_6
B14[25],B15[22],!B15[23],!B15[24],B15[25] buffer bnl_op_6 lc_trk_g3_6
B10[21],B10[22],!B10[23],!B10[24],B11[21] buffer bnl_op_7 lc_trk_g2_7
B14[21],B14[22],!B14[23],!B14[24],B15[21] buffer bnl_op_7 lc_trk_g3_7
+B0[14],B1[14],!B1[15],!B1[16],B1[17] buffer bnr_op_0 lc_trk_g0_0
B4[14],B5[14],!B5[15],!B5[16],B5[17] buffer bnr_op_0 lc_trk_g1_0
!B0[15],!B0[16],B0[17],B0[18],B1[18] buffer bnr_op_1 lc_trk_g0_1
!B4[15],!B4[16],B4[17],B4[18],B5[18] buffer bnr_op_1 lc_trk_g1_1
@@ -5367,20 +5368,35 @@ B2[14],B3[14],!B3[15],!B3[16],B3[17] buffer bnr_op_4 lc_trk_g0_4
B6[14],B7[14],!B7[15],!B7[16],B7[17] buffer bnr_op_4 lc_trk_g1_4
!B2[15],!B2[16],B2[17],B2[18],B3[18] buffer bnr_op_5 lc_trk_g0_5
!B6[15],!B6[16],B6[17],B6[18],B7[18] buffer bnr_op_5 lc_trk_g1_5
+B2[25],B3[22],!B3[23],!B3[24],B3[25] buffer bnr_op_6 lc_trk_g0_6
B6[25],B7[22],!B7[23],!B7[24],B7[25] buffer bnr_op_6 lc_trk_g1_6
B2[21],B2[22],!B2[23],!B2[24],B3[21] buffer bnr_op_7 lc_trk_g0_7
+B6[21],B6[22],!B6[23],!B6[24],B7[21] buffer bnr_op_7 lc_trk_g1_7
+!B0[25],B1[22],!B1[23],B1[24],!B1[25] buffer bot_op_2 lc_trk_g0_2
+!B6[25],B7[22],!B7[23],B7[24],!B7[25] buffer bot_op_6 lc_trk_g1_6
!B2[14],!B3[14],!B3[15],!B3[16],B3[17] buffer glb2local_0 lc_trk_g0_4
+!B2[15],!B2[16],B2[17],!B2[18],!B3[18] buffer glb2local_1 lc_trk_g0_5
!B2[25],B3[22],!B3[23],!B3[24],!B3[25] buffer glb2local_2 lc_trk_g0_6
!B2[21],B2[22],!B2[23],!B2[24],!B3[21] buffer glb2local_3 lc_trk_g0_7
!B2[0],!B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_0 wire_bram/ram/RCLK
+!B12[0],B12[1],B13[0],!B13[1] buffer glb_netwk_1 glb2local_3
+!B2[0],!B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_1 wire_bram/ram/RCLK
B2[0],!B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_2 wire_bram/ram/RCLK
B6[0],B6[1],B7[0],!B7[1] buffer glb_netwk_3 glb2local_0
+B12[0],B12[1],B13[0],!B13[1] buffer glb_netwk_3 glb2local_3
+B2[0],!B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_3 wire_bram/ram/RCLK
+!B8[0],B8[1],!B9[0],B9[1] buffer glb_netwk_4 glb2local_1
+!B10[0],B10[1],!B11[0],B11[1] buffer glb_netwk_4 glb2local_2
+!B12[0],B12[1],!B13[0],B13[1] buffer glb_netwk_4 glb2local_3
!B2[0],B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_4 wire_bram/ram/RCLK
+B14[0],B14[1],!B15[0],!B15[1] buffer glb_netwk_4 wire_bram/ram/RE
!B6[0],B6[1],B7[0],B7[1] buffer glb_netwk_5 glb2local_0
+!B8[0],B8[1],B9[0],B9[1] buffer glb_netwk_5 glb2local_1
!B10[0],B10[1],B11[0],B11[1] buffer glb_netwk_5 glb2local_2
!B12[0],B12[1],B13[0],B13[1] buffer glb_netwk_5 glb2local_3
!B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_5 wire_bram/ram/RCLK
B4[0],B4[1],!B5[0],!B5[1] buffer glb_netwk_5 wire_bram/ram/RCLKE
+B8[0],B8[1],!B9[0],B9[1] buffer glb_netwk_6 glb2local_1
B10[0],B10[1],!B11[0],B11[1] buffer glb_netwk_6 glb2local_2
B12[0],B12[1],!B13[0],B13[1] buffer glb_netwk_6 glb2local_3
B2[0],B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_6 wire_bram/ram/RCLK
@@ -5394,13 +5410,17 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/RCLK
!B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g0_0 wire_bram/ram/RCLK
!B10[27],!B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_10
!B6[27],!B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_12
+!B2[27],!B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_14
+!B14[27],!B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_8
!B2[26],!B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_1 input0_1
!B6[26],!B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_1 input0_3
!B10[26],!B11[26],!B11[27],!B11[28],B11[29] buffer lc_trk_g0_1 input0_5
!B14[26],!B15[26],!B15[27],!B15[28],B15[29] buffer lc_trk_g0_1 input0_7
+!B10[35],B11[32],!B11[33],!B11[34],!B11[35] buffer lc_trk_g0_1 input2_5
!B14[35],B15[32],!B15[33],!B15[34],!B15[35] buffer lc_trk_g0_1 input2_7
!B8[27],!B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_11
!B4[27],!B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_13
+!B0[27],!B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_15
!B12[27],!B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_9
!B0[26],B1[26],!B1[27],!B1[28],B1[29] buffer lc_trk_g0_2 input0_0
!B4[26],B5[26],!B5[27],!B5[28],B5[29] buffer lc_trk_g0_2 input0_2
@@ -5408,10 +5428,13 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/RCLK
!B12[26],B13[26],!B13[27],!B13[28],B13[29] buffer lc_trk_g0_2 input0_6
!B12[35],B13[32],!B13[33],!B13[34],B13[35] buffer lc_trk_g0_2 input2_6
!B10[31],B10[32],!B10[33],!B10[34],B11[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_10
+!B6[31],B6[32],!B6[33],!B6[34],B7[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_12
!B2[31],B2[32],!B2[33],!B2[34],B3[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_14
+!B14[31],B14[32],!B14[33],!B14[34],B15[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_8
!B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g0_2 wire_bram/ram/RCLKE
!B10[27],!B10[28],B10[29],!B10[30],B11[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_10
!B6[27],!B6[28],B6[29],!B6[30],B7[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_12
+!B2[27],!B2[28],B2[29],!B2[30],B3[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_14
!B14[27],!B14[28],B14[29],!B14[30],B15[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_8
!B2[26],B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_3 input0_1
!B6[26],B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_3 input0_3
@@ -5421,6 +5444,7 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/RCLK
!B14[35],B15[32],!B15[33],!B15[34],B15[35] buffer lc_trk_g0_3 input2_7
!B8[31],B8[32],!B8[33],!B8[34],B9[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_11
!B4[31],B4[32],!B4[33],!B4[34],B5[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_13
+!B0[31],B0[32],!B0[33],!B0[34],B1[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_15
!B12[31],B12[32],!B12[33],!B12[34],B13[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_9
!B8[27],!B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g0_3 wire_bram/ram/WDATA_11
!B4[27],!B4[28],B4[29],!B4[30],B5[30] buffer lc_trk_g0_3 wire_bram/ram/WDATA_13
@@ -5443,9 +5467,13 @@ B14[31],B14[32],!B14[33],!B14[34],!B15[31] buffer lc_trk_g0_4 wire_bram/ram/MASK
B2[26],!B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_5 input0_1
B6[26],!B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_5 input0_3
B10[26],!B11[26],!B11[27],!B11[28],B11[29] buffer lc_trk_g0_5 input0_5
+B14[26],!B15[26],!B15[27],!B15[28],B15[29] buffer lc_trk_g0_5 input0_7
B14[35],B15[32],!B15[33],!B15[34],!B15[35] buffer lc_trk_g0_5 input2_7
B8[31],B8[32],!B8[33],!B8[34],!B9[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_11
+B4[31],B4[32],!B4[33],!B4[34],!B5[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_13
+B0[31],B0[32],!B0[33],!B0[34],!B1[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_15
B12[31],B12[32],!B12[33],!B12[34],!B13[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_9
+!B8[27],!B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_11
!B4[27],!B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_13
!B0[27],!B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_15
!B12[27],!B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_9
@@ -5454,20 +5482,27 @@ B4[26],B5[26],!B5[27],!B5[28],B5[29] buffer lc_trk_g0_6 input0_2
B8[26],B9[26],!B9[27],!B9[28],B9[29] buffer lc_trk_g0_6 input0_4
B12[26],B13[26],!B13[27],!B13[28],B13[29] buffer lc_trk_g0_6 input0_6
B12[35],B13[32],!B13[33],!B13[34],B13[35] buffer lc_trk_g0_6 input2_6
+B10[31],B10[32],!B10[33],!B10[34],B11[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_10
B6[31],B6[32],!B6[33],!B6[34],B7[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_12
B2[31],B2[32],!B2[33],!B2[34],B3[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_14
+B14[31],B14[32],!B14[33],!B14[34],B15[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_8
!B10[27],!B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_10
!B6[27],!B6[28],B6[29],B6[30],B7[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_12
+!B2[27],!B2[28],B2[29],B2[30],B3[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_14
!B14[27],!B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_8
B2[26],B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_7 input0_1
B6[26],B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_7 input0_3
B10[26],B11[26],!B11[27],!B11[28],B11[29] buffer lc_trk_g0_7 input0_5
B14[26],B15[26],!B15[27],!B15[28],B15[29] buffer lc_trk_g0_7 input0_7
B14[35],B15[32],!B15[33],!B15[34],B15[35] buffer lc_trk_g0_7 input2_7
+B8[31],B8[32],!B8[33],!B8[34],B9[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_11
B4[31],B4[32],!B4[33],!B4[34],B5[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_13
B0[31],B0[32],!B0[33],!B0[34],B1[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_15
+B12[31],B12[32],!B12[33],!B12[34],B13[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_9
!B8[27],!B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_11
!B4[27],!B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_13
+!B0[27],!B0[28],B0[29],B0[30],B1[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_15
+!B12[27],!B12[28],B12[29],B12[30],B13[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_9
!B2[26],!B3[26],B3[27],!B3[28],B3[29] buffer lc_trk_g1_0 input0_1
!B6[26],!B7[26],B7[27],!B7[28],B7[29] buffer lc_trk_g1_0 input0_3
!B10[26],!B11[26],B11[27],!B11[28],B11[29] buffer lc_trk_g1_0 input0_5
@@ -5475,6 +5510,9 @@ B0[31],B0[32],!B0[33],!B0[34],B1[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_15
!B10[35],B11[32],!B11[33],B11[34],!B11[35] buffer lc_trk_g1_0 input2_5
!B14[35],B15[32],!B15[33],B15[34],!B15[35] buffer lc_trk_g1_0 input2_7
!B8[31],B8[32],!B8[33],B8[34],!B9[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_11
+!B0[31],B0[32],!B0[33],B0[34],!B1[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_15
+!B12[31],B12[32],!B12[33],B12[34],!B13[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_9
+B8[27],!B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_11
B4[27],!B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_13
B0[27],!B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_15
B12[27],!B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_9
@@ -5484,7 +5522,9 @@ B12[27],!B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g1_0 wire_bram/ram/WDAT
!B12[26],!B13[26],B13[27],!B13[28],B13[29] buffer lc_trk_g1_1 input0_6
!B12[35],B13[32],!B13[33],B13[34],!B13[35] buffer lc_trk_g1_1 input2_6
!B10[31],B10[32],!B10[33],B10[34],!B11[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_10
+!B6[31],B6[32],!B6[33],B6[34],!B7[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_12
!B2[31],B2[32],!B2[33],B2[34],!B3[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_14
+!B14[31],B14[32],!B14[33],B14[34],!B15[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_8
!B2[0],!B2[1],B2[2],B3[0],B3[2] buffer lc_trk_g1_1 wire_bram/ram/RCLK
B10[27],!B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_10
B6[27],!B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_12
@@ -5495,10 +5535,12 @@ B14[27],!B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g1_1 wire_bram/ram/WDAT
!B10[26],B11[26],B11[27],!B11[28],B11[29] buffer lc_trk_g1_2 input0_5
!B14[26],B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_2 input0_7
!B14[35],B15[32],!B15[33],B15[34],B15[35] buffer lc_trk_g1_2 input2_7
+!B4[31],B4[32],!B4[33],B4[34],B5[31] buffer lc_trk_g1_2 wire_bram/ram/MASK_13
!B0[31],B0[32],!B0[33],B0[34],B1[31] buffer lc_trk_g1_2 wire_bram/ram/MASK_15
!B12[31],B12[32],!B12[33],B12[34],B13[31] buffer lc_trk_g1_2 wire_bram/ram/MASK_9
B8[27],!B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_11
B4[27],!B4[28],B4[29],!B4[30],B5[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_13
+B0[27],!B0[28],B0[29],!B0[30],B1[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_15
B12[27],!B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_9
!B0[26],B1[26],B1[27],!B1[28],B1[29] buffer lc_trk_g1_3 input0_0
!B4[26],B5[26],B5[27],!B5[28],B5[29] buffer lc_trk_g1_3 input0_2
@@ -5517,10 +5559,13 @@ B2[26],!B3[26],B3[27],!B3[28],B3[29] buffer lc_trk_g1_4 input0_1
B6[26],!B7[26],B7[27],!B7[28],B7[29] buffer lc_trk_g1_4 input0_3
B10[26],!B11[26],B11[27],!B11[28],B11[29] buffer lc_trk_g1_4 input0_5
B14[26],!B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_4 input0_7
+B10[35],B11[32],!B11[33],B11[34],!B11[35] buffer lc_trk_g1_4 input2_5
B14[35],B15[32],!B15[33],B15[34],!B15[35] buffer lc_trk_g1_4 input2_7
B8[31],B8[32],!B8[33],B8[34],!B9[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_11
B4[31],B4[32],!B4[33],B4[34],!B5[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_13
B0[31],B0[32],!B0[33],B0[34],!B1[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_15
+B12[31],B12[32],!B12[33],B12[34],!B13[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_9
+B8[27],!B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_11
B4[27],!B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_13
B0[27],!B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_15
B12[27],!B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_9
@@ -5530,7 +5575,13 @@ B8[26],!B9[26],B9[27],!B9[28],B9[29] buffer lc_trk_g1_5 input0_4
B12[26],!B13[26],B13[27],!B13[28],B13[29] buffer lc_trk_g1_5 input0_6
B12[35],B13[32],!B13[33],B13[34],!B13[35] buffer lc_trk_g1_5 input2_6
B10[31],B10[32],!B10[33],B10[34],!B11[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_10
+B6[31],B6[32],!B6[33],B6[34],!B7[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_12
+B2[31],B2[32],!B2[33],B2[34],!B3[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_14
+B14[31],B14[32],!B14[33],B14[34],!B15[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_8
!B14[0],B14[1],B15[0],B15[1] buffer lc_trk_g1_5 wire_bram/ram/RE
+B10[27],!B10[28],B10[29],B10[30],!B11[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_10
+B6[27],!B6[28],B6[29],B6[30],!B7[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_12
+B2[27],!B2[28],B2[29],B2[30],!B3[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_14
B14[27],!B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_8
B2[26],B3[26],B3[27],!B3[28],B3[29] buffer lc_trk_g1_6 input0_1
B6[26],B7[26],B7[27],!B7[28],B7[29] buffer lc_trk_g1_6 input0_3
@@ -5542,7 +5593,9 @@ B8[31],B8[32],!B8[33],B8[34],B9[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_11
B4[31],B4[32],!B4[33],B4[34],B5[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_13
B0[31],B0[32],!B0[33],B0[34],B1[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_15
B12[31],B12[32],!B12[33],B12[34],B13[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_9
+B8[27],!B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_11
B4[27],!B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_13
+B0[27],!B0[28],B0[29],B0[30],B1[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_15
B12[27],!B12[28],B12[29],B12[30],B13[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_9
B0[26],B1[26],B1[27],!B1[28],B1[29] buffer lc_trk_g1_7 input0_0
B4[26],B5[26],B5[27],!B5[28],B5[29] buffer lc_trk_g1_7 input0_2
@@ -5552,27 +5605,37 @@ B12[35],B13[32],!B13[33],B13[34],B13[35] buffer lc_trk_g1_7 input2_6
B10[31],B10[32],!B10[33],B10[34],B11[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_10
B6[31],B6[32],!B6[33],B6[34],B7[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_12
B2[31],B2[32],!B2[33],B2[34],B3[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_14
+B14[31],B14[32],!B14[33],B14[34],B15[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_8
B10[27],!B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_10
B6[27],!B6[28],B6[29],B6[30],B7[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_12
+B14[27],!B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_8
!B0[26],!B1[26],!B1[27],B1[28],B1[29] buffer lc_trk_g2_0 input0_0
!B4[26],!B5[26],!B5[27],B5[28],B5[29] buffer lc_trk_g2_0 input0_2
!B8[26],!B9[26],!B9[27],B9[28],B9[29] buffer lc_trk_g2_0 input0_4
!B12[26],!B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_0 input0_6
!B12[35],B13[32],B13[33],!B13[34],!B13[35] buffer lc_trk_g2_0 input2_6
+!B10[31],B10[32],B10[33],!B10[34],!B11[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_10
+!B6[31],B6[32],B6[33],!B6[34],!B7[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_12
!B2[31],B2[32],B2[33],!B2[34],!B3[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_14
!B14[31],B14[32],B14[33],!B14[34],!B15[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_8
B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g2_0 wire_bram/ram/RCLK
+!B10[27],B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_10
!B6[27],B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_12
!B2[27],B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_14
+!B14[27],B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_8
!B2[26],!B3[26],!B3[27],B3[28],B3[29] buffer lc_trk_g2_1 input0_1
!B6[26],!B7[26],!B7[27],B7[28],B7[29] buffer lc_trk_g2_1 input0_3
!B10[26],!B11[26],!B11[27],B11[28],B11[29] buffer lc_trk_g2_1 input0_5
!B14[26],!B15[26],!B15[27],B15[28],B15[29] buffer lc_trk_g2_1 input0_7
!B10[35],B11[32],B11[33],!B11[34],!B11[35] buffer lc_trk_g2_1 input2_5
!B14[35],B15[32],B15[33],!B15[34],!B15[35] buffer lc_trk_g2_1 input2_7
+!B8[31],B8[32],B8[33],!B8[34],!B9[31] buffer lc_trk_g2_1 wire_bram/ram/MASK_11
+!B4[31],B4[32],B4[33],!B4[34],!B5[31] buffer lc_trk_g2_1 wire_bram/ram/MASK_13
!B0[31],B0[32],B0[33],!B0[34],!B1[31] buffer lc_trk_g2_1 wire_bram/ram/MASK_15
!B12[31],B12[32],B12[33],!B12[34],!B13[31] buffer lc_trk_g2_1 wire_bram/ram/MASK_9
+!B8[27],B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g2_1 wire_bram/ram/WDATA_11
!B4[27],B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g2_1 wire_bram/ram/WDATA_13
+!B0[27],B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g2_1 wire_bram/ram/WDATA_15
!B12[27],B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g2_1 wire_bram/ram/WDATA_9
!B0[26],B1[26],!B1[27],B1[28],B1[29] buffer lc_trk_g2_2 input0_0
!B4[26],B5[26],!B5[27],B5[28],B5[29] buffer lc_trk_g2_2 input0_2
@@ -5580,6 +5643,7 @@ B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g2_0 wire_bram/ram/RCLK
!B12[26],B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_2 input0_6
!B12[35],B13[32],B13[33],!B13[34],B13[35] buffer lc_trk_g2_2 input2_6
!B10[31],B10[32],B10[33],!B10[34],B11[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_10
+!B6[31],B6[32],B6[33],!B6[34],B7[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_12
!B2[31],B2[32],B2[33],!B2[34],B3[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_14
!B14[31],B14[32],B14[33],!B14[34],B15[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_8
B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g2_2 wire_bram/ram/RCLKE
@@ -5593,6 +5657,7 @@ B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g2_2 wire_bram/ram/RCLKE
!B14[26],B15[26],!B15[27],B15[28],B15[29] buffer lc_trk_g2_3 input0_7
!B14[35],B15[32],B15[33],!B15[34],B15[35] buffer lc_trk_g2_3 input2_7
!B8[31],B8[32],B8[33],!B8[34],B9[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_11
+!B4[31],B4[32],B4[33],!B4[34],B5[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_13
!B0[31],B0[32],B0[33],!B0[34],B1[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_15
!B12[31],B12[32],B12[33],!B12[34],B13[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_9
!B8[27],B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g2_3 wire_bram/ram/WDATA_11
@@ -5606,10 +5671,12 @@ B12[26],!B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_4 input0_6
B12[35],B13[32],B13[33],!B13[34],!B13[35] buffer lc_trk_g2_4 input2_6
B10[31],B10[32],B10[33],!B10[34],!B11[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_10
B6[31],B6[32],B6[33],!B6[34],!B7[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_12
+B2[31],B2[32],B2[33],!B2[34],!B3[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_14
B14[31],B14[32],B14[33],!B14[34],!B15[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_8
B14[0],B14[1],!B15[0],B15[1] buffer lc_trk_g2_4 wire_bram/ram/RE
!B10[27],B10[28],B10[29],B10[30],!B11[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_10
!B6[27],B6[28],B6[29],B6[30],!B7[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_12
+!B2[27],B2[28],B2[29],B2[30],!B3[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_14
!B14[27],B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_8
B2[26],!B3[26],!B3[27],B3[28],B3[29] buffer lc_trk_g2_5 input0_1
B6[26],!B7[26],!B7[27],B7[28],B7[29] buffer lc_trk_g2_5 input0_3
@@ -5618,7 +5685,10 @@ B14[26],!B15[26],!B15[27],B15[28],B15[29] buffer lc_trk_g2_5 input0_7
B10[35],B11[32],B11[33],!B11[34],!B11[35] buffer lc_trk_g2_5 input2_5
B14[35],B15[32],B15[33],!B15[34],!B15[35] buffer lc_trk_g2_5 input2_7
B8[31],B8[32],B8[33],!B8[34],!B9[31] buffer lc_trk_g2_5 wire_bram/ram/MASK_11
+B4[31],B4[32],B4[33],!B4[34],!B5[31] buffer lc_trk_g2_5 wire_bram/ram/MASK_13
+B0[31],B0[32],B0[33],!B0[34],!B1[31] buffer lc_trk_g2_5 wire_bram/ram/MASK_15
B12[31],B12[32],B12[33],!B12[34],!B13[31] buffer lc_trk_g2_5 wire_bram/ram/MASK_9
+!B8[27],B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_11
!B4[27],B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_13
!B0[27],B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_15
!B12[27],B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_9
@@ -5628,19 +5698,25 @@ B8[26],B9[26],!B9[27],B9[28],B9[29] buffer lc_trk_g2_6 input0_4
B12[26],B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_6 input0_6
B12[35],B13[32],B13[33],!B13[34],B13[35] buffer lc_trk_g2_6 input2_6
B10[31],B10[32],B10[33],!B10[34],B11[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_10
+B6[31],B6[32],B6[33],!B6[34],B7[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_12
B2[31],B2[32],B2[33],!B2[34],B3[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_14
B14[31],B14[32],B14[33],!B14[34],B15[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_8
!B10[27],B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_10
+!B6[27],B6[28],B6[29],B6[30],B7[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_12
!B2[27],B2[28],B2[29],B2[30],B3[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_14
+!B14[27],B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_8
B2[26],B3[26],!B3[27],B3[28],B3[29] buffer lc_trk_g2_7 input0_1
B6[26],B7[26],!B7[27],B7[28],B7[29] buffer lc_trk_g2_7 input0_3
B10[26],B11[26],!B11[27],B11[28],B11[29] buffer lc_trk_g2_7 input0_5
B14[26],B15[26],!B15[27],B15[28],B15[29] buffer lc_trk_g2_7 input0_7
+B10[35],B11[32],B11[33],!B11[34],B11[35] buffer lc_trk_g2_7 input2_5
B14[35],B15[32],B15[33],!B15[34],B15[35] buffer lc_trk_g2_7 input2_7
B4[31],B4[32],B4[33],!B4[34],B5[31] buffer lc_trk_g2_7 wire_bram/ram/MASK_13
+B0[31],B0[32],B0[33],!B0[34],B1[31] buffer lc_trk_g2_7 wire_bram/ram/MASK_15
B12[31],B12[32],B12[33],!B12[34],B13[31] buffer lc_trk_g2_7 wire_bram/ram/MASK_9
!B8[27],B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g2_7 wire_bram/ram/WDATA_11
!B4[27],B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g2_7 wire_bram/ram/WDATA_13
+!B0[27],B0[28],B0[29],B0[30],B1[30] buffer lc_trk_g2_7 wire_bram/ram/WDATA_15
!B12[27],B12[28],B12[29],B12[30],B13[30] buffer lc_trk_g2_7 wire_bram/ram/WDATA_9
!B2[26],!B3[26],B3[27],B3[28],B3[29] buffer lc_trk_g3_0 input0_1
!B6[26],!B7[26],B7[27],B7[28],B7[29] buffer lc_trk_g3_0 input0_3
@@ -5648,8 +5724,11 @@ B12[31],B12[32],B12[33],!B12[34],B13[31] buffer lc_trk_g2_7 wire_bram/ram/MASK_9
!B14[26],!B15[26],B15[27],B15[28],B15[29] buffer lc_trk_g3_0 input0_7
!B10[35],B11[32],B11[33],B11[34],!B11[35] buffer lc_trk_g3_0 input2_5
!B14[35],B15[32],B15[33],B15[34],!B15[35] buffer lc_trk_g3_0 input2_7
+!B8[31],B8[32],B8[33],B8[34],!B9[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_11
!B4[31],B4[32],B4[33],B4[34],!B5[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_13
+!B0[31],B0[32],B0[33],B0[34],!B1[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_15
!B12[31],B12[32],B12[33],B12[34],!B13[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_9
+B8[27],B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_11
B4[27],B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_13
B0[27],B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_15
B12[27],B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_9
@@ -5660,14 +5739,21 @@ B12[27],B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA
!B12[35],B13[32],B13[33],B13[34],!B13[35] buffer lc_trk_g3_1 input2_6
!B10[31],B10[32],B10[33],B10[34],!B11[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_10
!B6[31],B6[32],B6[33],B6[34],!B7[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_12
+!B2[31],B2[32],B2[33],B2[34],!B3[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_14
!B14[31],B14[32],B14[33],B14[34],!B15[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_8
B2[0],!B2[1],B2[2],B3[0],B3[2] buffer lc_trk_g3_1 wire_bram/ram/RCLK
+B10[27],B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_10
+B6[27],B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_12
+B2[27],B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_14
+B14[27],B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_8
!B2[26],B3[26],B3[27],B3[28],B3[29] buffer lc_trk_g3_2 input0_1
!B6[26],B7[26],B7[27],B7[28],B7[29] buffer lc_trk_g3_2 input0_3
!B10[26],B11[26],B11[27],B11[28],B11[29] buffer lc_trk_g3_2 input0_5
!B14[26],B15[26],B15[27],B15[28],B15[29] buffer lc_trk_g3_2 input0_7
+!B10[35],B11[32],B11[33],B11[34],B11[35] buffer lc_trk_g3_2 input2_5
!B14[35],B15[32],B15[33],B15[34],B15[35] buffer lc_trk_g3_2 input2_7
!B8[31],B8[32],B8[33],B8[34],B9[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_11
+!B4[31],B4[32],B4[33],B4[34],B5[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_13
!B0[31],B0[32],B0[33],B0[34],B1[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_15
!B12[31],B12[32],B12[33],B12[34],B13[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_9
B8[27],B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_11
@@ -5679,9 +5765,14 @@ B12[27],B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_
!B8[26],B9[26],B9[27],B9[28],B9[29] buffer lc_trk_g3_3 input0_4
!B12[26],B13[26],B13[27],B13[28],B13[29] buffer lc_trk_g3_3 input0_6
!B12[35],B13[32],B13[33],B13[34],B13[35] buffer lc_trk_g3_3 input2_6
+!B10[31],B10[32],B10[33],B10[34],B11[31] buffer lc_trk_g3_3 wire_bram/ram/MASK_10
+!B6[31],B6[32],B6[33],B6[34],B7[31] buffer lc_trk_g3_3 wire_bram/ram/MASK_12
!B2[31],B2[32],B2[33],B2[34],B3[31] buffer lc_trk_g3_3 wire_bram/ram/MASK_14
!B14[31],B14[32],B14[33],B14[34],B15[31] buffer lc_trk_g3_3 wire_bram/ram/MASK_8
B4[0],B4[1],B5[0],B5[1] buffer lc_trk_g3_3 wire_bram/ram/RCLKE
+B6[27],B6[28],B6[29],!B6[30],B7[30] buffer lc_trk_g3_3 wire_bram/ram/WDATA_12
+B2[27],B2[28],B2[29],!B2[30],B3[30] buffer lc_trk_g3_3 wire_bram/ram/WDATA_14
+B14[27],B14[28],B14[29],!B14[30],B15[30] buffer lc_trk_g3_3 wire_bram/ram/WDATA_8
B2[26],!B3[26],B3[27],B3[28],B3[29] buffer lc_trk_g3_4 input0_1
B6[26],!B7[26],B7[27],B7[28],B7[29] buffer lc_trk_g3_4 input0_3
B10[26],!B11[26],B11[27],B11[28],B11[29] buffer lc_trk_g3_4 input0_5
@@ -5690,9 +5781,11 @@ B10[35],B11[32],B11[33],B11[34],!B11[35] buffer lc_trk_g3_4 input2_5
B14[35],B15[32],B15[33],B15[34],!B15[35] buffer lc_trk_g3_4 input2_7
B8[31],B8[32],B8[33],B8[34],!B9[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_11
B4[31],B4[32],B4[33],B4[34],!B5[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_13
+B0[31],B0[32],B0[33],B0[34],!B1[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_15
B12[31],B12[32],B12[33],B12[34],!B13[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_9
B8[27],B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_11
B4[27],B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_13
+B0[27],B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_15
B12[27],B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_9
B0[26],!B1[26],B1[27],B1[28],B1[29] buffer lc_trk_g3_5 input0_0
B4[26],!B5[26],B5[27],B5[28],B5[29] buffer lc_trk_g3_5 input0_2
@@ -5700,17 +5793,23 @@ B8[26],!B9[26],B9[27],B9[28],B9[29] buffer lc_trk_g3_5 input0_4
B12[26],!B13[26],B13[27],B13[28],B13[29] buffer lc_trk_g3_5 input0_6
B12[35],B13[32],B13[33],B13[34],!B13[35] buffer lc_trk_g3_5 input2_6
B10[31],B10[32],B10[33],B10[34],!B11[31] buffer lc_trk_g3_5 wire_bram/ram/MASK_10
+B6[31],B6[32],B6[33],B6[34],!B7[31] buffer lc_trk_g3_5 wire_bram/ram/MASK_12
B2[31],B2[32],B2[33],B2[34],!B3[31] buffer lc_trk_g3_5 wire_bram/ram/MASK_14
B14[31],B14[32],B14[33],B14[34],!B15[31] buffer lc_trk_g3_5 wire_bram/ram/MASK_8
B14[0],B14[1],B15[0],B15[1] buffer lc_trk_g3_5 wire_bram/ram/RE
B10[27],B10[28],B10[29],B10[30],!B11[30] buffer lc_trk_g3_5 wire_bram/ram/WDATA_10
+B6[27],B6[28],B6[29],B6[30],!B7[30] buffer lc_trk_g3_5 wire_bram/ram/WDATA_12
+B2[27],B2[28],B2[29],B2[30],!B3[30] buffer lc_trk_g3_5 wire_bram/ram/WDATA_14
+B14[27],B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g3_5 wire_bram/ram/WDATA_8
B2[26],B3[26],B3[27],B3[28],B3[29] buffer lc_trk_g3_6 input0_1
B6[26],B7[26],B7[27],B7[28],B7[29] buffer lc_trk_g3_6 input0_3
B10[26],B11[26],B11[27],B11[28],B11[29] buffer lc_trk_g3_6 input0_5
B14[26],B15[26],B15[27],B15[28],B15[29] buffer lc_trk_g3_6 input0_7
B14[35],B15[32],B15[33],B15[34],B15[35] buffer lc_trk_g3_6 input2_7
+B8[31],B8[32],B8[33],B8[34],B9[31] buffer lc_trk_g3_6 wire_bram/ram/MASK_11
B4[31],B4[32],B4[33],B4[34],B5[31] buffer lc_trk_g3_6 wire_bram/ram/MASK_13
B0[31],B0[32],B0[33],B0[34],B1[31] buffer lc_trk_g3_6 wire_bram/ram/MASK_15
+B12[31],B12[32],B12[33],B12[34],B13[31] buffer lc_trk_g3_6 wire_bram/ram/MASK_9
B8[27],B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g3_6 wire_bram/ram/WDATA_11
B4[27],B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g3_6 wire_bram/ram/WDATA_13
B0[27],B0[28],B0[29],B0[30],B1[30] buffer lc_trk_g3_6 wire_bram/ram/WDATA_15
@@ -5720,8 +5819,13 @@ B4[26],B5[26],B5[27],B5[28],B5[29] buffer lc_trk_g3_7 input0_2
B8[26],B9[26],B9[27],B9[28],B9[29] buffer lc_trk_g3_7 input0_4
B12[26],B13[26],B13[27],B13[28],B13[29] buffer lc_trk_g3_7 input0_6
B12[35],B13[32],B13[33],B13[34],B13[35] buffer lc_trk_g3_7 input2_6
+B10[31],B10[32],B10[33],B10[34],B11[31] buffer lc_trk_g3_7 wire_bram/ram/MASK_10
B6[31],B6[32],B6[33],B6[34],B7[31] buffer lc_trk_g3_7 wire_bram/ram/MASK_12
+B2[31],B2[32],B2[33],B2[34],B3[31] buffer lc_trk_g3_7 wire_bram/ram/MASK_14
+B14[31],B14[32],B14[33],B14[34],B15[31] buffer lc_trk_g3_7 wire_bram/ram/MASK_8
+B10[27],B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g3_7 wire_bram/ram/WDATA_10
B6[27],B6[28],B6[29],B6[30],B7[30] buffer lc_trk_g3_7 wire_bram/ram/WDATA_12
+B14[27],B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g3_7 wire_bram/ram/WDATA_8
B0[14],!B1[14],B1[15],!B1[16],B1[17] buffer lft_op_0 lc_trk_g0_0
B4[14],!B5[14],B5[15],!B5[16],B5[17] buffer lft_op_0 lc_trk_g1_0
B0[15],!B0[16],B0[17],B0[18],!B1[18] buffer lft_op_1 lc_trk_g0_1
@@ -5760,6 +5864,8 @@ B12[19] buffer sp12_h_l_1 sp4_h_r_13
!B2[15],B2[16],B2[17],!B2[18],!B3[18] buffer sp12_h_l_10 lc_trk_g0_5
!B6[15],B6[16],B6[17],!B6[18],!B7[18] buffer sp12_h_l_10 lc_trk_g1_5
!B2[21],B2[22],B2[23],!B2[24],!B3[21] buffer sp12_h_l_12 lc_trk_g0_7
+!B6[21],B6[22],B6[23],!B6[24],!B7[21] buffer sp12_h_l_12 lc_trk_g1_7
+!B0[15],B0[16],B0[17],!B0[18],B1[18] buffer sp12_h_l_14 lc_trk_g0_1
!B4[15],B4[16],B4[17],!B4[18],B5[18] buffer sp12_h_l_14 lc_trk_g1_1
!B0[14],B1[14],!B1[15],B1[16],B1[17] buffer sp12_h_l_15 lc_trk_g0_0
!B4[14],B5[14],!B5[15],B5[16],B5[17] buffer sp12_h_l_15 lc_trk_g1_0
@@ -5768,6 +5874,7 @@ B8[2] buffer sp12_h_l_15 sp4_h_l_9
!B4[21],B4[22],B4[23],!B4[24],B5[21] buffer sp12_h_l_16 lc_trk_g1_3
!B0[25],B1[22],B1[23],!B1[24],B1[25] buffer sp12_h_l_17 lc_trk_g0_2
!B4[25],B5[22],B5[23],!B5[24],B5[25] buffer sp12_h_l_17 lc_trk_g1_2
+B10[2] buffer sp12_h_l_17 sp4_h_r_21
B2[15],!B2[16],B2[17],B2[18],B3[18] buffer sp12_h_l_2 lc_trk_g0_5
B6[15],!B6[16],B6[17],B6[18],B7[18] buffer sp12_h_l_2 lc_trk_g1_5
!B2[21],B2[22],B2[23],!B2[24],B3[21] buffer sp12_h_l_20 lc_trk_g0_7
@@ -5797,20 +5904,26 @@ B6[2] buffer sp12_h_r_14 sp4_h_l_6
!B2[14],B3[14],!B3[15],B3[16],B3[17] buffer sp12_h_r_20 lc_trk_g0_4
!B6[14],B7[14],!B7[15],B7[16],B7[17] buffer sp12_h_r_20 lc_trk_g1_4
B12[2] buffer sp12_h_r_20 sp4_h_l_11
+!B6[15],B6[16],B6[17],!B6[18],B7[18] buffer sp12_h_r_21 lc_trk_g1_5
!B2[25],B3[22],B3[23],!B3[24],B3[25] buffer sp12_h_r_22 lc_trk_g0_6
!B6[25],B7[22],B7[23],!B7[24],B7[25] buffer sp12_h_r_22 lc_trk_g1_6
+B14[2] buffer sp12_h_r_22 sp4_h_r_23
B0[21],B0[22],!B0[23],B0[24],B1[21] buffer sp12_h_r_3 lc_trk_g0_3
B4[21],B4[22],!B4[23],B4[24],B5[21] buffer sp12_h_r_3 lc_trk_g1_3
+B2[21],B2[22],!B2[23],B2[24],B3[21] buffer sp12_h_r_7 lc_trk_g0_7
B6[21],B6[22],!B6[23],B6[24],B7[21] buffer sp12_h_r_7 lc_trk_g1_7
!B0[14],!B1[14],!B1[15],B1[16],B1[17] buffer sp12_h_r_8 lc_trk_g0_0
+!B4[14],!B5[14],!B5[15],B5[16],B5[17] buffer sp12_h_r_8 lc_trk_g1_0
B0[2] buffer sp12_h_r_8 sp4_h_r_16
!B4[15],B4[16],B4[17],!B4[18],!B5[18] buffer sp12_h_r_9 lc_trk_g1_1
B8[14],B9[14],B9[15],!B9[16],B9[17] buffer sp12_v_b_0 lc_trk_g2_0
B12[14],B13[14],B13[15],!B13[16],B13[17] buffer sp12_v_b_0 lc_trk_g3_0
+B8[15],!B8[16],B8[17],B8[18],B9[18] buffer sp12_v_b_1 lc_trk_g2_1
B12[15],!B12[16],B12[17],B12[18],B13[18] buffer sp12_v_b_1 lc_trk_g3_1
B1[19] buffer sp12_v_b_1 sp4_v_b_12
!B8[25],B9[22],B9[23],!B9[24],!B9[25] buffer sp12_v_b_10 lc_trk_g2_2
!B12[25],B13[22],B13[23],!B13[24],!B13[25] buffer sp12_v_b_10 lc_trk_g3_2
+!B10[15],B10[16],B10[17],!B10[18],!B11[18] buffer sp12_v_b_13 lc_trk_g2_5
!B14[15],B14[16],B14[17],!B14[18],!B15[18] buffer sp12_v_b_13 lc_trk_g3_5
B7[19] buffer sp12_v_b_13 sp4_v_t_7
!B10[25],B11[22],B11[23],!B11[24],!B11[25] buffer sp12_v_b_14 lc_trk_g2_6
@@ -5851,6 +5964,7 @@ B9[19] buffer sp12_v_t_14 sp4_v_b_20
!B14[15],B14[16],B14[17],!B14[18],B15[18] buffer sp12_v_t_18 lc_trk_g3_5
B11[19] buffer sp12_v_t_18 sp4_v_t_11
!B10[21],B10[22],B10[23],!B10[24],B11[21] buffer sp12_v_t_20 lc_trk_g2_7
+!B14[21],B14[22],B14[23],!B14[24],B15[21] buffer sp12_v_t_20 lc_trk_g3_7
B10[19] buffer sp12_v_t_20 sp4_v_b_23
B10[21],B10[22],!B10[23],B10[24],B11[21] buffer sp12_v_t_4 lc_trk_g2_7
B14[21],B14[22],!B14[23],B14[24],B15[21] buffer sp12_v_t_4 lc_trk_g3_7
@@ -5870,6 +5984,7 @@ B6[25],B7[22],B7[23],B7[24],B7[25] buffer sp4_h_l_11 lc_trk_g1_6
!B12[21],B12[22],B12[23],B12[24],B13[21] buffer sp4_h_l_14 lc_trk_g3_3
!B8[25],B9[22],B9[23],B9[24],B9[25] buffer sp4_h_l_15 lc_trk_g2_2
!B12[25],B13[22],B13[23],B13[24],B13[25] buffer sp4_h_l_15 lc_trk_g3_2
+!B10[25],B11[22],B11[23],B11[24],B11[25] buffer sp4_h_l_19 lc_trk_g2_6
!B14[25],B15[22],B15[23],B15[24],B15[25] buffer sp4_h_l_19 lc_trk_g3_6
B8[21],B8[22],B8[23],B8[24],!B9[21] buffer sp4_h_l_22 lc_trk_g2_3
B12[21],B12[22],B12[23],B12[24],!B13[21] buffer sp4_h_l_22 lc_trk_g3_3
@@ -5878,6 +5993,7 @@ B14[21],B14[22],B14[23],B14[24],!B15[21] buffer sp4_h_l_26 lc_trk_g3_7
B14[25],B15[22],B15[23],B15[24],!B15[25] buffer sp4_h_l_27 lc_trk_g3_6
B8[15],B8[16],B8[17],B8[18],B9[18] buffer sp4_h_l_28 lc_trk_g2_1
B12[15],B12[16],B12[17],B12[18],B13[18] buffer sp4_h_l_28 lc_trk_g3_1
+B2[25],B3[22],B3[23],B3[24],!B3[25] buffer sp4_h_l_3 lc_trk_g0_6
B6[25],B7[22],B7[23],B7[24],!B7[25] buffer sp4_h_l_3 lc_trk_g1_6
B0[21],B0[22],B0[23],B0[24],B1[21] buffer sp4_h_l_6 lc_trk_g0_3
B4[21],B4[22],B4[23],B4[24],B5[21] buffer sp4_h_l_6 lc_trk_g1_3
@@ -5908,12 +6024,15 @@ B6[15],B6[16],B6[17],B6[18],B7[18] buffer sp4_h_r_21 lc_trk_g1_5
B2[21],B2[22],B2[23],B2[24],B3[21] buffer sp4_h_r_23 lc_trk_g0_7
B6[21],B6[22],B6[23],B6[24],B7[21] buffer sp4_h_r_23 lc_trk_g1_7
!B8[14],B9[14],B9[15],B9[16],B9[17] buffer sp4_h_r_24 lc_trk_g2_0
+!B12[14],B13[14],B13[15],B13[16],B13[17] buffer sp4_h_r_24 lc_trk_g3_0
B8[15],B8[16],B8[17],!B8[18],B9[18] buffer sp4_h_r_25 lc_trk_g2_1
B12[15],B12[16],B12[17],!B12[18],B13[18] buffer sp4_h_r_25 lc_trk_g3_1
!B10[14],B11[14],B11[15],B11[16],B11[17] buffer sp4_h_r_28 lc_trk_g2_4
+!B14[14],B15[14],B15[15],B15[16],B15[17] buffer sp4_h_r_28 lc_trk_g3_4
B14[15],B14[16],B14[17],!B14[18],B15[18] buffer sp4_h_r_29 lc_trk_g3_5
!B0[21],B0[22],B0[23],B0[24],B1[21] buffer sp4_h_r_3 lc_trk_g0_3
!B4[21],B4[22],B4[23],B4[24],B5[21] buffer sp4_h_r_3 lc_trk_g1_3
+!B10[21],B10[22],B10[23],B10[24],B11[21] buffer sp4_h_r_31 lc_trk_g2_7
!B14[21],B14[22],B14[23],B14[24],B15[21] buffer sp4_h_r_31 lc_trk_g3_7
B8[14],!B9[14],B9[15],B9[16],B9[17] buffer sp4_h_r_32 lc_trk_g2_0
B8[15],B8[16],B8[17],B8[18],!B9[18] buffer sp4_h_r_33 lc_trk_g2_1
@@ -5925,6 +6044,7 @@ B14[14],!B15[14],B15[15],B15[16],B15[17] buffer sp4_h_r_36 lc_trk_g3_4
B10[15],B10[16],B10[17],B10[18],!B11[18] buffer sp4_h_r_37 lc_trk_g2_5
B14[15],B14[16],B14[17],B14[18],!B15[18] buffer sp4_h_r_37 lc_trk_g3_5
!B2[14],B3[14],B3[15],B3[16],B3[17] buffer sp4_h_r_4 lc_trk_g0_4
+!B6[14],B7[14],B7[15],B7[16],B7[17] buffer sp4_h_r_4 lc_trk_g1_4
B8[14],B9[14],B9[15],B9[16],B9[17] buffer sp4_h_r_40 lc_trk_g2_0
B12[14],B13[14],B13[15],B13[16],B13[17] buffer sp4_h_r_40 lc_trk_g3_0
B8[25],B9[22],B9[23],B9[24],B9[25] buffer sp4_h_r_42 lc_trk_g2_2
@@ -5939,7 +6059,9 @@ B10[25],B11[22],B11[23],B11[24],B11[25] buffer sp4_h_r_46 lc_trk_g2_6
B14[25],B15[22],B15[23],B15[24],B15[25] buffer sp4_h_r_46 lc_trk_g3_6
B10[21],B10[22],B10[23],B10[24],B11[21] buffer sp4_h_r_47 lc_trk_g2_7
B14[21],B14[22],B14[23],B14[24],B15[21] buffer sp4_h_r_47 lc_trk_g3_7
+B2[15],B2[16],B2[17],!B2[18],B3[18] buffer sp4_h_r_5 lc_trk_g0_5
B6[15],B6[16],B6[17],!B6[18],B7[18] buffer sp4_h_r_5 lc_trk_g1_5
+!B2[25],B3[22],B3[23],B3[24],B3[25] buffer sp4_h_r_6 lc_trk_g0_6
!B6[25],B7[22],B7[23],B7[24],B7[25] buffer sp4_h_r_6 lc_trk_g1_6
!B2[21],B2[22],B2[23],B2[24],B3[21] buffer sp4_h_r_7 lc_trk_g0_7
!B6[21],B6[22],B6[23],B6[24],B7[21] buffer sp4_h_r_7 lc_trk_g1_7
@@ -5979,6 +6101,7 @@ B4[15],B4[16],B4[17],B4[18],!B5[18] buffer sp4_h_r_9 lc_trk_g1_1
!B2[25],B3[22],!B3[23],!B3[24],B3[25] buffer sp4_r_v_b_30 lc_trk_g0_6
!B6[25],B7[22],!B7[23],!B7[24],B7[25] buffer sp4_r_v_b_30 lc_trk_g1_6
!B2[21],B2[22],!B2[23],!B2[24],B3[21] buffer sp4_r_v_b_31 lc_trk_g0_7
+!B6[21],B6[22],!B6[23],!B6[24],B7[21] buffer sp4_r_v_b_31 lc_trk_g1_7
!B0[21],B0[22],!B0[23],!B0[24],B1[21] buffer sp4_r_v_b_32 lc_trk_g0_3
!B8[14],B9[14],!B9[15],!B9[16],B9[17] buffer sp4_r_v_b_32 lc_trk_g2_0
!B0[25],B1[22],!B1[23],!B1[24],B1[25] buffer sp4_r_v_b_33 lc_trk_g0_2
@@ -6006,15 +6129,18 @@ B4[15],B4[16],B4[17],B4[18],!B5[18] buffer sp4_h_r_9 lc_trk_g1_1
!B8[14],!B9[14],!B9[15],!B9[16],B9[17] buffer sp4_r_v_b_8 lc_trk_g2_0
!B8[15],!B8[16],B8[17],!B8[18],!B9[18] buffer sp4_r_v_b_9 lc_trk_g2_1
B0[14],!B1[14],!B1[15],B1[16],B1[17] buffer sp4_v_b_0 lc_trk_g0_0
+B4[14],!B5[14],!B5[15],B5[16],B5[17] buffer sp4_v_b_0 lc_trk_g1_0
!B0[15],B0[16],B0[17],B0[18],!B1[18] buffer sp4_v_b_1 lc_trk_g0_1
!B4[15],B4[16],B4[17],B4[18],!B5[18] buffer sp4_v_b_1 lc_trk_g1_1
B0[25],B1[22],B1[23],!B1[24],B1[25] buffer sp4_v_b_10 lc_trk_g0_2
+B4[25],B5[22],B5[23],!B5[24],B5[25] buffer sp4_v_b_10 lc_trk_g1_2
B0[21],B0[22],B0[23],!B0[24],B1[21] buffer sp4_v_b_11 lc_trk_g0_3
B4[21],B4[22],B4[23],!B4[24],B5[21] buffer sp4_v_b_11 lc_trk_g1_3
B2[14],B3[14],!B3[15],B3[16],B3[17] buffer sp4_v_b_12 lc_trk_g0_4
B6[14],B7[14],!B7[15],B7[16],B7[17] buffer sp4_v_b_12 lc_trk_g1_4
!B2[15],B2[16],B2[17],B2[18],B3[18] buffer sp4_v_b_13 lc_trk_g0_5
!B6[15],B6[16],B6[17],B6[18],B7[18] buffer sp4_v_b_13 lc_trk_g1_5
+B2[25],B3[22],B3[23],!B3[24],B3[25] buffer sp4_v_b_14 lc_trk_g0_6
B6[25],B7[22],B7[23],!B7[24],B7[25] buffer sp4_v_b_14 lc_trk_g1_6
!B0[14],!B1[14],B1[15],B1[16],B1[17] buffer sp4_v_b_16 lc_trk_g0_0
!B4[14],!B5[14],B5[15],B5[16],B5[17] buffer sp4_v_b_16 lc_trk_g1_0
@@ -6022,6 +6148,7 @@ B0[25],B1[22],B1[23],!B1[24],!B1[25] buffer sp4_v_b_2 lc_trk_g0_2
B4[25],B5[22],B5[23],!B5[24],!B5[25] buffer sp4_v_b_2 lc_trk_g1_2
!B2[14],!B3[14],B3[15],B3[16],B3[17] buffer sp4_v_b_20 lc_trk_g0_4
!B6[14],!B7[14],B7[15],B7[16],B7[17] buffer sp4_v_b_20 lc_trk_g1_4
+!B2[21],B2[22],B2[23],B2[24],!B3[21] buffer sp4_v_b_23 lc_trk_g0_7
!B6[21],B6[22],B6[23],B6[24],!B7[21] buffer sp4_v_b_23 lc_trk_g1_7
!B8[15],B8[16],B8[17],B8[18],!B9[18] buffer sp4_v_b_25 lc_trk_g2_1
!B12[15],B12[16],B12[17],B12[18],!B13[18] buffer sp4_v_b_25 lc_trk_g3_1
@@ -6072,6 +6199,7 @@ B12[14],!B13[14],!B13[15],B13[16],B13[17] buffer sp4_v_t_13 lc_trk_g3_0
B8[25],B9[22],B9[23],!B9[24],!B9[25] buffer sp4_v_t_15 lc_trk_g2_2
B12[25],B13[22],B13[23],!B13[24],!B13[25] buffer sp4_v_t_15 lc_trk_g3_2
B10[25],B11[22],B11[23],!B11[24],!B11[25] buffer sp4_v_t_19 lc_trk_g2_6
+B14[25],B15[22],B15[23],!B15[24],!B15[25] buffer sp4_v_t_19 lc_trk_g3_6
B2[21],B2[22],B2[23],!B2[24],B3[21] buffer sp4_v_t_2 lc_trk_g0_7
B6[21],B6[22],B6[23],!B6[24],B7[21] buffer sp4_v_t_2 lc_trk_g1_7
!B8[15],B8[16],B8[17],B8[18],B9[18] buffer sp4_v_t_20 lc_trk_g2_1
@@ -6086,7 +6214,9 @@ B10[25],B11[22],B11[23],!B11[24],B11[25] buffer sp4_v_t_27 lc_trk_g2_6
B14[25],B15[22],B15[23],!B15[24],B15[25] buffer sp4_v_t_27 lc_trk_g3_6
!B8[25],B9[22],B9[23],B9[24],!B9[25] buffer sp4_v_t_31 lc_trk_g2_2
!B12[25],B13[22],B13[23],B13[24],!B13[25] buffer sp4_v_t_31 lc_trk_g3_2
+!B10[21],B10[22],B10[23],B10[24],!B11[21] buffer sp4_v_t_34 lc_trk_g2_7
!B14[21],B14[22],B14[23],B14[24],!B15[21] buffer sp4_v_t_34 lc_trk_g3_7
+B0[15],B0[16],B0[17],!B0[18],!B1[18] buffer sp4_v_t_4 lc_trk_g0_1
B4[15],B4[16],B4[17],!B4[18],!B5[18] buffer sp4_v_t_4 lc_trk_g1_1
!B0[21],B0[22],B0[23],B0[24],!B1[21] buffer sp4_v_t_6 lc_trk_g0_3
!B4[21],B4[22],B4[23],B4[24],!B5[21] buffer sp4_v_t_6 lc_trk_g1_3
@@ -6110,35 +6240,48 @@ B14[15],!B14[16],B14[17],!B14[18],B15[18] buffer tnl_op_5 lc_trk_g3_5
!B14[25],B15[22],!B15[23],B15[24],B15[25] buffer tnl_op_6 lc_trk_g3_6
!B10[21],B10[22],!B10[23],B10[24],B11[21] buffer tnl_op_7 lc_trk_g2_7
!B14[21],B14[22],!B14[23],B14[24],B15[21] buffer tnl_op_7 lc_trk_g3_7
+!B8[14],!B9[14],B9[15],!B9[16],B9[17] buffer tnr_op_0 lc_trk_g2_0
!B12[14],!B13[14],B13[15],!B13[16],B13[17] buffer tnr_op_0 lc_trk_g3_0
+B8[15],!B8[16],B8[17],!B8[18],!B9[18] buffer tnr_op_1 lc_trk_g2_1
+B12[15],!B12[16],B12[17],!B12[18],!B13[18] buffer tnr_op_1 lc_trk_g3_1
!B8[25],B9[22],!B9[23],B9[24],!B9[25] buffer tnr_op_2 lc_trk_g2_2
+!B12[25],B13[22],!B13[23],B13[24],!B13[25] buffer tnr_op_2 lc_trk_g3_2
!B8[21],B8[22],!B8[23],B8[24],!B9[21] buffer tnr_op_3 lc_trk_g2_3
!B12[21],B12[22],!B12[23],B12[24],!B13[21] buffer tnr_op_3 lc_trk_g3_3
!B14[14],!B15[14],B15[15],!B15[16],B15[17] buffer tnr_op_4 lc_trk_g3_4
B10[15],!B10[16],B10[17],!B10[18],!B11[18] buffer tnr_op_5 lc_trk_g2_5
B14[15],!B14[16],B14[17],!B14[18],!B15[18] buffer tnr_op_5 lc_trk_g3_5
+!B14[25],B15[22],!B15[23],B15[24],!B15[25] buffer tnr_op_6 lc_trk_g3_6
+!B10[21],B10[22],!B10[23],B10[24],!B11[21] buffer tnr_op_7 lc_trk_g2_7
B10[37] buffer wire_bram/ram/RDATA_10 sp12_h_l_1
+B11[38] buffer wire_bram/ram/RDATA_10 sp12_h_l_17
B11[40] buffer wire_bram/ram/RDATA_10 sp12_v_b_10
B11[37] buffer wire_bram/ram/RDATA_10 sp4_h_l_15
B10[36] buffer wire_bram/ram/RDATA_10 sp4_h_r_42
B11[41] buffer wire_bram/ram/RDATA_10 sp4_r_v_b_11
B10[40] buffer wire_bram/ram/RDATA_10 sp4_r_v_b_27
+B10[41] buffer wire_bram/ram/RDATA_10 sp4_r_v_b_43
B11[39] buffer wire_bram/ram/RDATA_10 sp4_v_b_10
B10[38] buffer wire_bram/ram/RDATA_10 sp4_v_t_15
B10[39] buffer wire_bram/ram/RDATA_10 sp4_v_t_31
+B9[38] buffer wire_bram/ram/RDATA_11 sp12_h_l_15
B8[37] buffer wire_bram/ram/RDATA_11 sp12_h_r_0
B9[40] buffer wire_bram/ram/RDATA_11 sp12_v_t_7
B9[37] buffer wire_bram/ram/RDATA_11 sp4_h_r_24
B9[36] buffer wire_bram/ram/RDATA_11 sp4_h_r_8
+B8[40] buffer wire_bram/ram/RDATA_11 sp4_r_v_b_25
B8[41] buffer wire_bram/ram/RDATA_11 sp4_r_v_b_41
+B9[41] buffer wire_bram/ram/RDATA_11 sp4_r_v_b_9
B8[39] buffer wire_bram/ram/RDATA_11 sp4_v_b_40
B9[39] buffer wire_bram/ram/RDATA_11 sp4_v_b_8
B8[38] buffer wire_bram/ram/RDATA_11 sp4_v_t_13
B6[37] buffer wire_bram/ram/RDATA_12 sp12_h_r_14
B7[40] buffer wire_bram/ram/RDATA_12 sp12_v_b_22
B6[39] buffer wire_bram/ram/RDATA_12 sp12_v_t_5
+B7[37] buffer wire_bram/ram/RDATA_12 sp4_h_l_11
B6[36] buffer wire_bram/ram/RDATA_12 sp4_h_l_27
B7[36] buffer wire_bram/ram/RDATA_12 sp4_h_r_6
+B6[40] buffer wire_bram/ram/RDATA_12 sp4_r_v_b_23
B6[41] buffer wire_bram/ram/RDATA_12 sp4_r_v_b_39
B7[41] buffer wire_bram/ram/RDATA_12 sp4_r_v_b_7
B7[38] buffer wire_bram/ram/RDATA_12 sp4_v_b_6
@@ -6149,6 +6292,7 @@ B5[40] buffer wire_bram/ram/RDATA_13 sp12_v_b_20
B4[39] buffer wire_bram/ram/RDATA_13 sp12_v_b_4
B5[37] buffer wire_bram/ram/RDATA_13 sp4_h_l_9
B4[36] buffer wire_bram/ram/RDATA_13 sp4_h_r_36
+B5[36] buffer wire_bram/ram/RDATA_13 sp4_h_r_4
B4[40] buffer wire_bram/ram/RDATA_13 sp4_r_v_b_21
B4[41] buffer wire_bram/ram/RDATA_13 sp4_r_v_b_37
B5[41] buffer wire_bram/ram/RDATA_13 sp4_r_v_b_5
@@ -6161,6 +6305,7 @@ B2[39] buffer wire_bram/ram/RDATA_14 sp12_v_t_1
B3[37] buffer wire_bram/ram/RDATA_14 sp4_h_r_18
B2[36] buffer wire_bram/ram/RDATA_14 sp4_h_r_34
B2[40] buffer wire_bram/ram/RDATA_14 sp4_r_v_b_19
+B3[41] buffer wire_bram/ram/RDATA_14 sp4_r_v_b_3
B2[41] buffer wire_bram/ram/RDATA_14 sp4_r_v_b_35
B3[38] buffer wire_bram/ram/RDATA_14 sp4_v_b_2
B2[38] buffer wire_bram/ram/RDATA_14 sp4_v_b_34
@@ -6171,8 +6316,10 @@ B1[40] buffer wire_bram/ram/RDATA_15 sp12_v_b_16
B1[36] buffer wire_bram/ram/RDATA_15 sp4_h_r_0
B1[37] buffer wire_bram/ram/RDATA_15 sp4_h_r_16
B0[36] buffer wire_bram/ram/RDATA_15 sp4_h_r_32
+B1[41] buffer wire_bram/ram/RDATA_15 sp4_r_v_b_1
B0[40] buffer wire_bram/ram/RDATA_15 sp4_r_v_b_17
B0[41] buffer wire_bram/ram/RDATA_15 sp4_r_v_b_33
+B1[38] buffer wire_bram/ram/RDATA_15 sp4_v_b_0
B1[39] buffer wire_bram/ram/RDATA_15 sp4_v_b_16
B0[38] buffer wire_bram/ram/RDATA_15 sp4_v_b_32
B14[37] buffer wire_bram/ram/RDATA_8 sp12_h_l_5
@@ -6192,26 +6339,30 @@ B13[36] buffer wire_bram/ram/RDATA_9 sp4_h_l_1
B13[37] buffer wire_bram/ram/RDATA_9 sp4_h_r_28
B12[36] buffer wire_bram/ram/RDATA_9 sp4_h_r_44
B13[41] buffer wire_bram/ram/RDATA_9 sp4_r_v_b_13
+B12[40] buffer wire_bram/ram/RDATA_9 sp4_r_v_b_29
B12[41] buffer wire_bram/ram/RDATA_9 sp4_r_v_b_45
B13[39] buffer wire_bram/ram/RDATA_9 sp4_v_b_12
B12[38] buffer wire_bram/ram/RDATA_9 sp4_v_b_28
B12[39] buffer wire_bram/ram/RDATA_9 sp4_v_b_44
+!B12[3],B13[3] routing sp12_h_l_22 sp12_h_r_1
!B8[3],B9[3] routing sp12_h_l_22 sp12_v_b_1
!B14[3],B15[3] routing sp12_h_l_22 sp12_v_t_22
+!B4[3],B5[3] routing sp12_h_l_23 sp12_h_r_0
!B0[3],B1[3] routing sp12_h_l_23 sp12_v_b_0
!B6[3],B7[3] routing sp12_h_l_23 sp12_v_t_23
B2[3],B3[3] routing sp12_h_r_0 sp12_h_l_23
B0[3],B1[3] routing sp12_h_r_0 sp12_v_b_0
B6[3],B7[3] routing sp12_h_r_0 sp12_v_t_23
+B10[3],B11[3] routing sp12_h_r_1 sp12_h_l_22
B8[3],B9[3] routing sp12_h_r_1 sp12_v_b_1
B14[3],B15[3] routing sp12_h_r_1 sp12_v_t_22
!B2[3],B3[3] routing sp12_v_b_0 sp12_h_l_23
B4[3],B5[3] routing sp12_v_b_0 sp12_h_r_0
B6[3],!B7[3] routing sp12_v_b_0 sp12_v_t_23
-B11[3] routing sp12_v_b_1 sp12_h_l_22
+!B10[3],B11[3] routing sp12_v_b_1 sp12_h_l_22
B12[3],B13[3] routing sp12_v_b_1 sp12_h_r_1
B14[3],!B15[3] routing sp12_v_b_1 sp12_v_t_22
-B10[3] routing sp12_v_t_22 sp12_h_l_22
+B10[3],!B11[3] routing sp12_v_t_22 sp12_h_l_22
B12[3],!B13[3] routing sp12_v_t_22 sp12_h_r_1
B8[3],!B9[3] routing sp12_v_t_22 sp12_v_b_1
B2[3],!B3[3] routing sp12_v_t_23 sp12_h_l_23
@@ -6219,75 +6370,117 @@ B4[3],!B5[3] routing sp12_v_t_23 sp12_h_r_0
B0[3],!B1[3] routing sp12_v_t_23 sp12_v_b_0
B0[8],!B0[9],!B0[10] routing sp4_h_l_36 sp4_h_r_1
!B4[8],B4[9],B4[10] routing sp4_h_l_36 sp4_h_r_4
+!B12[5],B13[4],B13[6] routing sp4_h_l_36 sp4_h_r_9
B1[8],B1[9],!B1[10] routing sp4_h_l_36 sp4_v_b_1
B9[8],B9[9],B9[10] routing sp4_h_l_36 sp4_v_b_7
B3[8],!B3[9],!B3[10] routing sp4_h_l_36 sp4_v_t_36
!B10[4],B10[6],!B11[5] routing sp4_h_l_36 sp4_v_t_43
+!B0[5],!B1[4],B1[6] routing sp4_h_l_37 sp4_h_r_0
+B4[5],B5[4],!B5[6] routing sp4_h_l_37 sp4_h_r_3
+!B8[12],B9[11],B9[13] routing sp4_h_l_37 sp4_h_r_8
B0[4],!B0[6],B1[5] routing sp4_h_l_37 sp4_v_b_0
B8[4],B8[6],B9[5] routing sp4_h_l_37 sp4_v_b_6
!B2[4],!B2[6],B3[5] routing sp4_h_l_37 sp4_v_t_37
B6[11],!B6[13],!B7[12] routing sp4_h_l_37 sp4_v_t_40
+!B12[12],B13[11],B13[13] routing sp4_h_l_38 sp4_h_r_11
+!B4[5],!B5[4],B5[6] routing sp4_h_l_38 sp4_h_r_3
+B8[5],B9[4],!B9[6] routing sp4_h_l_38 sp4_h_r_6
B4[4],!B4[6],B5[5] routing sp4_h_l_38 sp4_v_b_3
B12[4],B12[6],B13[5] routing sp4_h_l_38 sp4_v_b_9
!B6[4],!B6[6],B7[5] routing sp4_h_l_38 sp4_v_t_38
B10[11],!B10[13],!B11[12] routing sp4_h_l_38 sp4_v_t_45
+B12[8],!B12[9],B12[10] routing sp4_h_l_39 sp4_h_r_10
+!B0[12],B1[11],!B1[13] routing sp4_h_l_39 sp4_h_r_2
+B4[12],!B5[11],B5[13] routing sp4_h_l_39 sp4_h_r_5
!B0[11],B0[13],B1[12] routing sp4_h_l_39 sp4_v_b_2
B8[11],B8[13],B9[12] routing sp4_h_l_39 sp4_v_b_8
!B2[11],!B2[13],B3[12] routing sp4_h_l_39 sp4_v_t_39
!B11[8],!B11[9],B11[10] routing sp4_h_l_39 sp4_v_t_42
B0[8],!B0[9],B0[10] routing sp4_h_l_40 sp4_h_r_1
+!B4[12],B5[11],!B5[13] routing sp4_h_l_40 sp4_h_r_5
+B8[12],!B9[11],B9[13] routing sp4_h_l_40 sp4_h_r_8
B12[11],B12[13],B13[12] routing sp4_h_l_40 sp4_v_b_11
!B4[11],B4[13],B5[12] routing sp4_h_l_40 sp4_v_b_5
!B6[11],!B6[13],B7[12] routing sp4_h_l_40 sp4_v_t_40
!B15[8],!B15[9],B15[10] routing sp4_h_l_40 sp4_v_t_47
+!B0[5],B1[4],B1[6] routing sp4_h_l_41 sp4_h_r_0
+B4[8],!B4[9],!B4[10] routing sp4_h_l_41 sp4_h_r_4
+!B8[8],B8[9],B8[10] routing sp4_h_l_41 sp4_h_r_7
B13[8],B13[9],B13[10] routing sp4_h_l_41 sp4_v_b_10
B5[8],B5[9],!B5[10] routing sp4_h_l_41 sp4_v_b_4
B7[8],!B7[9],!B7[10] routing sp4_h_l_41 sp4_v_t_41
!B14[4],B14[6],!B15[5] routing sp4_h_l_41 sp4_v_t_44
+!B12[8],B12[9],B12[10] routing sp4_h_l_42 sp4_h_r_10
+!B4[5],B5[4],B5[6] routing sp4_h_l_42 sp4_h_r_3
+B8[8],!B8[9],!B8[10] routing sp4_h_l_42 sp4_h_r_7
B1[8],B1[9],B1[10] routing sp4_h_l_42 sp4_v_b_1
B9[8],B9[9],!B9[10] routing sp4_h_l_42 sp4_v_b_7
!B2[4],B2[6],!B3[5] routing sp4_h_l_42 sp4_v_t_37
B11[8],!B11[9],!B11[10] routing sp4_h_l_42 sp4_v_t_42
+!B0[12],B1[11],B1[13] routing sp4_h_l_43 sp4_h_r_2
+!B8[5],!B9[4],B9[6] routing sp4_h_l_43 sp4_h_r_6
+B12[5],B13[4],!B13[6] routing sp4_h_l_43 sp4_h_r_9
B0[4],B0[6],B1[5] routing sp4_h_l_43 sp4_v_b_0
B8[4],!B8[6],B9[5] routing sp4_h_l_43 sp4_v_b_6
!B10[4],!B10[6],B11[5] routing sp4_h_l_43 sp4_v_t_43
B14[11],!B14[13],!B15[12] routing sp4_h_l_43 sp4_v_t_46
B0[5],B1[4],!B1[6] routing sp4_h_l_44 sp4_h_r_0
+!B4[12],B5[11],B5[13] routing sp4_h_l_44 sp4_h_r_5
+!B12[5],!B13[4],B13[6] routing sp4_h_l_44 sp4_h_r_9
B4[4],B4[6],B5[5] routing sp4_h_l_44 sp4_v_b_3
B12[4],!B12[6],B13[5] routing sp4_h_l_44 sp4_v_b_9
B2[11],!B2[13],!B3[12] routing sp4_h_l_44 sp4_v_t_39
!B14[4],!B14[6],B15[5] routing sp4_h_l_44 sp4_v_t_44
+B12[12],!B13[11],B13[13] routing sp4_h_l_45 sp4_h_r_11
B4[8],!B4[9],B4[10] routing sp4_h_l_45 sp4_h_r_4
+!B8[12],B9[11],!B9[13] routing sp4_h_l_45 sp4_h_r_8
B0[11],B0[13],B1[12] routing sp4_h_l_45 sp4_v_b_2
!B8[11],B8[13],B9[12] routing sp4_h_l_45 sp4_v_b_8
!B3[8],!B3[9],B3[10] routing sp4_h_l_45 sp4_v_t_36
!B10[11],!B10[13],B11[12] routing sp4_h_l_45 sp4_v_t_45
+!B12[12],B13[11],!B13[13] routing sp4_h_l_46 sp4_h_r_11
+B0[12],!B1[11],B1[13] routing sp4_h_l_46 sp4_h_r_2
+B8[8],!B8[9],B8[10] routing sp4_h_l_46 sp4_h_r_7
!B12[11],B12[13],B13[12] routing sp4_h_l_46 sp4_v_b_11
B4[11],B4[13],B5[12] routing sp4_h_l_46 sp4_v_b_5
!B7[8],!B7[9],B7[10] routing sp4_h_l_46 sp4_v_t_41
!B14[11],!B14[13],B15[12] routing sp4_h_l_46 sp4_v_t_46
+!B0[8],B0[9],B0[10] routing sp4_h_l_47 sp4_h_r_1
B12[8],!B12[9],!B12[10] routing sp4_h_l_47 sp4_h_r_10
+!B8[5],B9[4],B9[6] routing sp4_h_l_47 sp4_h_r_6
B13[8],B13[9],!B13[10] routing sp4_h_l_47 sp4_v_b_10
B5[8],B5[9],B5[10] routing sp4_h_l_47 sp4_v_b_4
!B6[4],B6[6],!B7[5] routing sp4_h_l_47 sp4_v_t_38
B15[8],!B15[9],!B15[10] routing sp4_h_l_47 sp4_v_t_47
+!B2[5],!B3[4],B3[6] routing sp4_h_r_0 sp4_h_l_37
+B6[5],B7[4],!B7[6] routing sp4_h_r_0 sp4_h_l_38
+!B10[12],B11[11],B11[13] routing sp4_h_r_0 sp4_h_l_45
!B0[4],!B0[6],B1[5] routing sp4_h_r_0 sp4_v_b_0
B4[11],!B4[13],!B5[12] routing sp4_h_r_0 sp4_v_b_5
B2[4],!B2[6],B3[5] routing sp4_h_r_0 sp4_v_t_37
B10[4],B10[6],B11[5] routing sp4_h_r_0 sp4_v_t_43
+B2[8],!B2[9],!B2[10] routing sp4_h_r_1 sp4_h_l_36
+!B6[8],B6[9],B6[10] routing sp4_h_r_1 sp4_h_l_41
+!B14[5],B15[4],B15[6] routing sp4_h_r_1 sp4_h_l_44
B1[8],!B1[9],!B1[10] routing sp4_h_r_1 sp4_v_b_1
!B8[4],B8[6],!B9[5] routing sp4_h_r_1 sp4_v_b_6
B3[8],B3[9],!B3[10] routing sp4_h_r_1 sp4_v_t_36
B11[8],B11[9],B11[10] routing sp4_h_r_1 sp4_v_t_42
!B2[8],B2[9],B2[10] routing sp4_h_r_10 sp4_h_l_36
+!B10[5],B11[4],B11[6] routing sp4_h_r_10 sp4_h_l_43
+B14[8],!B14[9],!B14[10] routing sp4_h_r_10 sp4_h_l_47
B13[8],!B13[9],!B13[10] routing sp4_h_r_10 sp4_v_b_10
!B4[4],B4[6],!B5[5] routing sp4_h_r_10 sp4_v_b_3
+B7[8],B7[9],B7[10] routing sp4_h_r_10 sp4_v_t_41
B15[8],B15[9],!B15[10] routing sp4_h_r_10 sp4_v_t_47
+B2[12],!B3[11],B3[13] routing sp4_h_r_11 sp4_h_l_39
+B10[8],!B10[9],B10[10] routing sp4_h_r_11 sp4_h_l_42
!B14[12],B15[11],!B15[13] routing sp4_h_r_11 sp4_h_l_46
!B12[11],!B12[13],B13[12] routing sp4_h_r_11 sp4_v_b_11
!B5[8],!B5[9],B5[10] routing sp4_h_r_11 sp4_v_b_4
B6[11],B6[13],B7[12] routing sp4_h_r_11 sp4_v_t_40
!B14[11],B14[13],B15[12] routing sp4_h_r_11 sp4_v_t_46
+!B2[12],B3[11],!B3[13] routing sp4_h_r_2 sp4_h_l_39
B6[12],!B7[11],B7[13] routing sp4_h_r_2 sp4_h_l_40
B14[8],!B14[9],B14[10] routing sp4_h_r_2 sp4_h_l_47
!B0[11],!B0[13],B1[12] routing sp4_h_r_2 sp4_v_b_2
@@ -6308,24 +6501,37 @@ B5[8],!B5[9],!B5[10] routing sp4_h_r_4 sp4_v_b_4
!B12[4],B12[6],!B13[5] routing sp4_h_r_4 sp4_v_b_9
B7[8],B7[9],!B7[10] routing sp4_h_r_4 sp4_v_t_41
B15[8],B15[9],B15[10] routing sp4_h_r_4 sp4_v_t_47
+B2[8],!B2[9],B2[10] routing sp4_h_r_5 sp4_h_l_36
+!B6[12],B7[11],!B7[13] routing sp4_h_r_5 sp4_h_l_40
+B10[12],!B11[11],B11[13] routing sp4_h_r_5 sp4_h_l_45
!B13[8],!B13[9],B13[10] routing sp4_h_r_5 sp4_v_b_10
!B4[11],!B4[13],B5[12] routing sp4_h_r_5 sp4_v_b_5
!B6[11],B6[13],B7[12] routing sp4_h_r_5 sp4_v_t_40
B14[11],B14[13],B15[12] routing sp4_h_r_5 sp4_v_t_46
+!B2[12],B3[11],B3[13] routing sp4_h_r_6 sp4_h_l_39
!B10[5],!B11[4],B11[6] routing sp4_h_r_6 sp4_h_l_43
+B14[5],B15[4],!B15[6] routing sp4_h_r_6 sp4_h_l_44
B12[11],!B12[13],!B13[12] routing sp4_h_r_6 sp4_v_b_11
!B8[4],!B8[6],B9[5] routing sp4_h_r_6 sp4_v_b_6
B2[4],B2[6],B3[5] routing sp4_h_r_6 sp4_v_t_37
B10[4],!B10[6],B11[5] routing sp4_h_r_6 sp4_v_t_43
+!B6[5],B7[4],B7[6] routing sp4_h_r_7 sp4_h_l_38
+B10[8],!B10[9],!B10[10] routing sp4_h_r_7 sp4_h_l_42
!B14[8],B14[9],B14[10] routing sp4_h_r_7 sp4_h_l_47
!B0[4],B0[6],!B1[5] routing sp4_h_r_7 sp4_v_b_0
B9[8],!B9[9],!B9[10] routing sp4_h_r_7 sp4_v_b_7
B3[8],B3[9],B3[10] routing sp4_h_r_7 sp4_v_t_36
B11[8],B11[9],!B11[10] routing sp4_h_r_7 sp4_v_t_42
+B6[8],!B6[9],B6[10] routing sp4_h_r_8 sp4_h_l_41
!B10[12],B11[11],!B11[13] routing sp4_h_r_8 sp4_h_l_45
+B14[12],!B15[11],B15[13] routing sp4_h_r_8 sp4_h_l_46
+!B1[8],!B1[9],B1[10] routing sp4_h_r_8 sp4_v_b_1
+!B8[11],!B8[13],B9[12] routing sp4_h_r_8 sp4_v_b_8
B2[11],B2[13],B3[12] routing sp4_h_r_8 sp4_v_t_39
!B10[11],B10[13],B11[12] routing sp4_h_r_8 sp4_v_t_45
B2[5],B3[4],!B3[6] routing sp4_h_r_9 sp4_h_l_37
+!B6[12],B7[11],B7[13] routing sp4_h_r_9 sp4_h_l_40
+!B14[5],!B15[4],B15[6] routing sp4_h_r_9 sp4_h_l_44
B0[11],!B0[13],!B1[12] routing sp4_h_r_9 sp4_v_b_2
!B12[4],!B12[6],B13[5] routing sp4_h_r_9 sp4_v_b_9
B6[4],B6[6],B7[5] routing sp4_h_r_9 sp4_v_t_38
@@ -6340,11 +6546,14 @@ B10[11],B10[13],!B11[12] routing sp4_v_b_0 sp4_v_t_45
!B2[8],B2[9],!B2[10] routing sp4_v_b_1 sp4_h_l_36
!B10[5],B11[4],!B11[6] routing sp4_v_b_1 sp4_h_l_43
B0[8],B0[9],!B0[10] routing sp4_v_b_1 sp4_h_r_1
+B8[8],B8[9],B8[10] routing sp4_v_b_1 sp4_h_r_7
!B3[8],B3[9],!B3[10] routing sp4_v_b_1 sp4_v_t_36
B7[8],!B7[9],B7[10] routing sp4_v_b_1 sp4_v_t_41
B14[4],B14[6],!B15[5] routing sp4_v_b_1 sp4_v_t_44
!B6[5],B7[4],!B7[6] routing sp4_v_b_10 sp4_h_l_38
!B14[8],B14[9],!B14[10] routing sp4_v_b_10 sp4_h_l_47
+B12[8],B12[9],!B12[10] routing sp4_v_b_10 sp4_h_r_10
+B4[8],B4[9],B4[10] routing sp4_v_b_10 sp4_h_r_4
B3[8],!B3[9],B3[10] routing sp4_v_b_10 sp4_v_t_36
B10[4],B10[6],!B11[5] routing sp4_v_b_10 sp4_v_t_43
!B15[8],B15[9],!B15[10] routing sp4_v_b_10 sp4_v_t_47
@@ -6357,13 +6566,15 @@ B2[11],!B2[13],B3[12] routing sp4_v_b_11 sp4_v_t_39
!B14[11],B14[13],!B15[12] routing sp4_v_b_11 sp4_v_t_46
B2[12],!B3[11],!B3[13] routing sp4_v_b_2 sp4_h_l_39
!B10[8],!B10[9],B10[10] routing sp4_v_b_2 sp4_h_l_42
-B0[12],B1[11] routing sp4_v_b_2 sp4_h_r_2
+B0[12],B1[11],!B1[13] routing sp4_v_b_2 sp4_h_r_2
B8[12],B9[11],B9[13] routing sp4_v_b_2 sp4_h_r_8
!B2[11],B2[13],!B3[12] routing sp4_v_b_2 sp4_v_t_39
B6[11],!B6[13],B7[12] routing sp4_v_b_2 sp4_v_t_40
!B15[8],B15[9],B15[10] routing sp4_v_b_2 sp4_v_t_47
B6[5],!B7[4],!B7[6] routing sp4_v_b_3 sp4_h_l_38
!B10[12],!B11[11],B11[13] routing sp4_v_b_3 sp4_h_l_45
+B4[5],!B5[4],B5[6] routing sp4_v_b_3 sp4_h_r_3
+B12[5],B13[4],B13[6] routing sp4_v_b_3 sp4_h_r_9
B6[4],!B6[6],!B7[5] routing sp4_v_b_3 sp4_v_t_38
!B10[4],B10[6],B11[5] routing sp4_v_b_3 sp4_v_t_43
B14[11],B14[13],!B15[12] routing sp4_v_b_3 sp4_v_t_46
@@ -6391,11 +6602,13 @@ B10[4],!B10[6],!B11[5] routing sp4_v_b_6 sp4_v_t_43
!B2[5],B3[4],!B3[6] routing sp4_v_b_7 sp4_h_l_37
!B10[8],B10[9],!B10[10] routing sp4_v_b_7 sp4_h_l_42
B0[8],B0[9],B0[10] routing sp4_v_b_7 sp4_h_r_1
+B8[8],B8[9],!B8[10] routing sp4_v_b_7 sp4_h_r_7
B6[4],B6[6],!B7[5] routing sp4_v_b_7 sp4_v_t_38
!B11[8],B11[9],!B11[10] routing sp4_v_b_7 sp4_v_t_42
B15[8],!B15[9],B15[10] routing sp4_v_b_7 sp4_v_t_47
!B2[8],!B2[9],B2[10] routing sp4_v_b_8 sp4_h_l_36
B10[12],!B11[11],!B11[13] routing sp4_v_b_8 sp4_h_l_45
+B0[12],B1[11],B1[13] routing sp4_v_b_8 sp4_h_r_2
B8[12],B9[11],!B9[13] routing sp4_v_b_8 sp4_h_r_8
!B7[8],B7[9],B7[10] routing sp4_v_b_8 sp4_v_t_41
!B10[11],B10[13],!B11[12] routing sp4_v_b_8 sp4_v_t_45
@@ -6403,7 +6616,7 @@ B14[11],!B14[13],B15[12] routing sp4_v_b_8 sp4_v_t_46
!B2[12],!B3[11],B3[13] routing sp4_v_b_9 sp4_h_l_39
B14[5],!B15[4],!B15[6] routing sp4_v_b_9 sp4_h_l_44
B4[5],B5[4],B5[6] routing sp4_v_b_9 sp4_h_r_3
-B12[5],B13[6] routing sp4_v_b_9 sp4_h_r_9
+B12[5],!B13[4],B13[6] routing sp4_v_b_9 sp4_h_r_9
!B2[4],B2[6],B3[5] routing sp4_v_b_9 sp4_v_t_37
B6[11],B6[13],!B7[12] routing sp4_v_b_9 sp4_v_t_40
B14[4],!B14[6],!B15[5] routing sp4_v_b_9 sp4_v_t_44
@@ -6430,7 +6643,8 @@ B4[4],!B4[6],!B5[5] routing sp4_v_t_38 sp4_v_b_3
!B8[4],B8[6],B9[5] routing sp4_v_t_38 sp4_v_b_6
B2[12],B3[11],!B3[13] routing sp4_v_t_39 sp4_h_l_39
B10[12],B11[11],B11[13] routing sp4_v_t_39 sp4_h_l_45
-B0[12],!B1[11] routing sp4_v_t_39 sp4_h_r_2
+B0[12],!B1[11],!B1[13] routing sp4_v_t_39 sp4_h_r_2
+!B8[8],!B8[9],B8[10] routing sp4_v_t_39 sp4_h_r_7
!B13[8],B13[9],B13[10] routing sp4_v_t_39 sp4_v_b_10
!B0[11],B0[13],!B1[12] routing sp4_v_t_39 sp4_v_b_2
B4[11],!B4[13],B5[12] routing sp4_v_t_39 sp4_v_b_5
@@ -6444,13 +6658,14 @@ B8[11],!B8[13],B9[12] routing sp4_v_t_40 sp4_v_b_8
B6[8],B6[9],!B6[10] routing sp4_v_t_41 sp4_h_l_41
B14[8],B14[9],B14[10] routing sp4_v_t_41 sp4_h_l_47
!B4[8],B4[9],!B4[10] routing sp4_v_t_41 sp4_h_r_4
-B13[4] routing sp4_v_t_41 sp4_h_r_9
+!B12[5],B13[4],!B13[6] routing sp4_v_t_41 sp4_h_r_9
B0[4],B0[6],!B1[5] routing sp4_v_t_41 sp4_v_b_0
!B5[8],B5[9],!B5[10] routing sp4_v_t_41 sp4_v_b_4
B9[8],!B9[9],B9[10] routing sp4_v_t_41 sp4_v_b_7
B2[8],B2[9],B2[10] routing sp4_v_t_42 sp4_h_l_36
B10[8],B10[9],!B10[10] routing sp4_v_t_42 sp4_h_l_42
-B8[9] routing sp4_v_t_42 sp4_h_r_7
+!B0[5],B1[4],!B1[6] routing sp4_v_t_42 sp4_h_r_0
+!B8[8],B8[9],!B8[10] routing sp4_v_t_42 sp4_h_r_7
B13[8],!B13[9],B13[10] routing sp4_v_t_42 sp4_v_b_10
B4[4],B4[6],!B5[5] routing sp4_v_t_42 sp4_v_b_3
!B9[8],B9[9],!B9[10] routing sp4_v_t_42 sp4_v_b_7
@@ -6463,17 +6678,20 @@ B8[4],!B8[6],!B9[5] routing sp4_v_t_43 sp4_v_b_6
!B12[4],B12[6],B13[5] routing sp4_v_t_43 sp4_v_b_9
B6[5],B7[4],B7[6] routing sp4_v_t_44 sp4_h_l_38
B14[5],!B15[4],B15[6] routing sp4_v_t_44 sp4_h_l_44
-B1[13] routing sp4_v_t_44 sp4_h_r_2
+!B0[12],!B1[11],B1[13] routing sp4_v_t_44 sp4_h_r_2
+B12[5],!B13[4],!B13[6] routing sp4_v_t_44 sp4_h_r_9
!B0[4],B0[6],B1[5] routing sp4_v_t_44 sp4_v_b_0
B4[11],B4[13],!B5[12] routing sp4_v_t_44 sp4_v_b_5
B12[4],!B12[6],!B13[5] routing sp4_v_t_44 sp4_v_b_9
B2[12],B3[11],B3[13] routing sp4_v_t_45 sp4_h_l_39
B10[12],B11[11],!B11[13] routing sp4_v_t_45 sp4_h_l_45
!B0[8],!B0[9],B0[10] routing sp4_v_t_45 sp4_h_r_1
+B8[12],!B9[11],!B9[13] routing sp4_v_t_45 sp4_h_r_8
B12[11],!B12[13],B13[12] routing sp4_v_t_45 sp4_v_b_11
!B5[8],B5[9],B5[10] routing sp4_v_t_45 sp4_v_b_4
!B8[11],B8[13],!B9[12] routing sp4_v_t_45 sp4_v_b_8
B6[12],B7[11],B7[13] routing sp4_v_t_46 sp4_h_l_40
+B14[12],B15[11],!B15[13] routing sp4_v_t_46 sp4_h_l_46
B12[12],!B13[11],!B13[13] routing sp4_v_t_46 sp4_h_r_11
!B4[8],!B4[9],B4[10] routing sp4_v_t_46 sp4_h_r_4
!B12[11],B12[13],!B13[12] routing sp4_v_t_46 sp4_v_b_11
@@ -6525,15 +6743,18 @@ B0[14],B1[14],!B1[15],!B1[16],B1[17] buffer bnr_op_0 lc_trk_g0_0
B4[14],B5[14],!B5[15],!B5[16],B5[17] buffer bnr_op_0 lc_trk_g1_0
!B0[15],!B0[16],B0[17],B0[18],B1[18] buffer bnr_op_1 lc_trk_g0_1
!B4[15],!B4[16],B4[17],B4[18],B5[18] buffer bnr_op_1 lc_trk_g1_1
+B0[25],B1[22],!B1[23],!B1[24],B1[25] buffer bnr_op_2 lc_trk_g0_2
B4[25],B5[22],!B5[23],!B5[24],B5[25] buffer bnr_op_2 lc_trk_g1_2
B0[21],B0[22],!B0[23],!B0[24],B1[21] buffer bnr_op_3 lc_trk_g0_3
B4[21],B4[22],!B4[23],!B4[24],B5[21] buffer bnr_op_3 lc_trk_g1_3
B2[14],B3[14],!B3[15],!B3[16],B3[17] buffer bnr_op_4 lc_trk_g0_4
B6[14],B7[14],!B7[15],!B7[16],B7[17] buffer bnr_op_4 lc_trk_g1_4
!B2[15],!B2[16],B2[17],B2[18],B3[18] buffer bnr_op_5 lc_trk_g0_5
+!B6[15],!B6[16],B6[17],B6[18],B7[18] buffer bnr_op_5 lc_trk_g1_5
B2[25],B3[22],!B3[23],!B3[24],B3[25] buffer bnr_op_6 lc_trk_g0_6
B6[25],B7[22],!B7[23],!B7[24],B7[25] buffer bnr_op_6 lc_trk_g1_6
B2[21],B2[22],!B2[23],!B2[24],B3[21] buffer bnr_op_7 lc_trk_g0_7
+B6[21],B6[22],!B6[23],!B6[24],B7[21] buffer bnr_op_7 lc_trk_g1_7
!B2[14],!B3[14],!B3[15],!B3[16],B3[17] buffer glb2local_0 lc_trk_g0_4
!B2[15],!B2[16],B2[17],!B2[18],!B3[18] buffer glb2local_1 lc_trk_g0_5
!B2[25],B3[22],!B3[23],!B3[24],!B3[25] buffer glb2local_2 lc_trk_g0_6
@@ -6541,16 +6762,23 @@ B2[21],B2[22],!B2[23],!B2[24],B3[21] buffer bnr_op_7 lc_trk_g0_7
!B2[0],!B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_0 wire_bram/ram/WCLK
B2[0],!B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_2 wire_bram/ram/WCLK
B6[0],B6[1],B7[0],!B7[1] buffer glb_netwk_3 glb2local_0
-B8[0],B8[1],B9[0] buffer glb_netwk_3 glb2local_1
+B8[0],B8[1],B9[0],!B9[1] buffer glb_netwk_3 glb2local_1
+B10[0],B10[1],B11[0],!B11[1] buffer glb_netwk_3 glb2local_2
+B12[0],B12[1],B13[0],!B13[1] buffer glb_netwk_3 glb2local_3
+B2[0],!B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_3 wire_bram/ram/WCLK
!B4[0],B4[1],B5[0],!B5[1] buffer glb_netwk_3 wire_bram/ram/WCLKE
!B6[0],B6[1],!B7[0],B7[1] buffer glb_netwk_4 glb2local_0
-B10[1],!B11[0],B11[1] buffer glb_netwk_4 glb2local_2
+!B8[0],B8[1],!B9[0],B9[1] buffer glb_netwk_4 glb2local_1
+!B10[0],B10[1],!B11[0],B11[1] buffer glb_netwk_4 glb2local_2
+!B2[0],B2[1],B2[2],!B3[0],!B3[2] buffer glb_netwk_4 wire_bram/ram/WCLK
B14[0],B14[1],!B15[0],!B15[1] buffer glb_netwk_4 wire_bram/ram/WE
!B6[0],B6[1],B7[0],B7[1] buffer glb_netwk_5 glb2local_0
-B10[1],B11[0],B11[1] buffer glb_netwk_5 glb2local_2
-B12[1],B13[0],B13[1] buffer glb_netwk_5 glb2local_3
+!B8[0],B8[1],B9[0],B9[1] buffer glb_netwk_5 glb2local_1
+!B10[0],B10[1],B11[0],B11[1] buffer glb_netwk_5 glb2local_2
+!B12[0],B12[1],B13[0],B13[1] buffer glb_netwk_5 glb2local_3
!B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_5 wire_bram/ram/WCLK
B4[0],B4[1],!B5[0],!B5[1] buffer glb_netwk_5 wire_bram/ram/WCLKE
+B14[0],B14[1],B15[0],!B15[1] buffer glb_netwk_6 wire_bram/ram/WE
B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/WCLK
!B0[26],!B1[26],!B1[27],!B1[28],B1[29] buffer lc_trk_g0_0 input0_0
!B4[26],!B5[26],!B5[27],!B5[28],B5[29] buffer lc_trk_g0_0 input0_2
@@ -6559,6 +6787,7 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/WCLK
!B12[35],B13[32],!B13[33],!B13[34],!B13[35] buffer lc_trk_g0_0 input2_6
!B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g0_0 wire_bram/ram/WCLK
!B14[27],!B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_0
+!B10[27],!B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_2
!B6[27],!B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_4
!B2[27],!B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g0_0 wire_bram/ram/WDATA_6
!B2[26],!B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_1 input0_1
@@ -6568,6 +6797,7 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/WCLK
!B10[35],B11[32],!B11[33],!B11[34],!B11[35] buffer lc_trk_g0_1 input2_5
!B14[35],B15[32],!B15[33],!B15[34],!B15[35] buffer lc_trk_g0_1 input2_7
!B12[27],!B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_1
+!B8[27],!B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_3
!B4[27],!B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_5
!B0[27],!B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g0_1 wire_bram/ram/WDATA_7
!B0[26],B1[26],!B1[27],!B1[28],B1[29] buffer lc_trk_g0_2 input0_0
@@ -6575,8 +6805,10 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/WCLK
!B8[26],B9[26],!B9[27],!B9[28],B9[29] buffer lc_trk_g0_2 input0_4
!B12[26],B13[26],!B13[27],!B13[28],B13[29] buffer lc_trk_g0_2 input0_6
!B12[35],B13[32],!B13[33],!B13[34],B13[35] buffer lc_trk_g0_2 input2_6
+!B14[31],B14[32],!B14[33],!B14[34],B15[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_0
!B10[31],B10[32],!B10[33],!B10[34],B11[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_2
!B6[31],B6[32],!B6[33],!B6[34],B7[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_4
+!B2[31],B2[32],!B2[33],!B2[34],B3[31] buffer lc_trk_g0_2 wire_bram/ram/MASK_6
!B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g0_2 wire_bram/ram/WCLKE
!B14[27],!B14[28],B14[29],!B14[30],B15[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_0
!B10[27],!B10[28],B10[29],!B10[30],B11[30] buffer lc_trk_g0_2 wire_bram/ram/WDATA_2
@@ -6589,6 +6821,8 @@ B2[0],B2[1],B2[2],B3[0],!B3[2] buffer glb_netwk_7 wire_bram/ram/WCLK
!B10[35],B11[32],!B11[33],!B11[34],B11[35] buffer lc_trk_g0_3 input2_5
!B14[35],B15[32],!B15[33],!B15[34],B15[35] buffer lc_trk_g0_3 input2_7
!B8[31],B8[32],!B8[33],!B8[34],B9[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_3
+!B4[31],B4[32],!B4[33],!B4[34],B5[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_5
+!B0[31],B0[32],!B0[33],!B0[34],B1[31] buffer lc_trk_g0_3 wire_bram/ram/MASK_7
!B12[27],!B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g0_3 wire_bram/ram/WDATA_1
!B8[27],!B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g0_3 wire_bram/ram/WDATA_3
!B4[27],!B4[28],B4[29],!B4[30],B5[30] buffer lc_trk_g0_3 wire_bram/ram/WDATA_5
@@ -6598,6 +6832,7 @@ B4[26],!B5[26],!B5[27],!B5[28],B5[29] buffer lc_trk_g0_4 input0_2
B8[26],!B9[26],!B9[27],!B9[28],B9[29] buffer lc_trk_g0_4 input0_4
B12[26],!B13[26],!B13[27],!B13[28],B13[29] buffer lc_trk_g0_4 input0_6
B12[35],B13[32],!B13[33],!B13[34],!B13[35] buffer lc_trk_g0_4 input2_6
+B14[31],B14[32],!B14[33],!B14[34],!B15[31] buffer lc_trk_g0_4 wire_bram/ram/MASK_0
B10[31],B10[32],!B10[33],!B10[34],!B11[31] buffer lc_trk_g0_4 wire_bram/ram/MASK_2
B6[31],B6[32],!B6[33],!B6[34],!B7[31] buffer lc_trk_g0_4 wire_bram/ram/MASK_4
!B14[27],!B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g0_4 wire_bram/ram/WDATA_0
@@ -6609,19 +6844,23 @@ B2[26],!B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_5 input0_1
B6[26],!B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_5 input0_3
B10[26],!B11[26],!B11[27],!B11[28],B11[29] buffer lc_trk_g0_5 input0_5
B14[26],!B15[26],!B15[27],!B15[28],B15[29] buffer lc_trk_g0_5 input0_7
+B10[35],B11[32],!B11[33],!B11[34],!B11[35] buffer lc_trk_g0_5 input2_5
B14[35],B15[32],!B15[33],!B15[34],!B15[35] buffer lc_trk_g0_5 input2_7
B12[31],B12[32],!B12[33],!B12[34],!B13[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_1
B8[31],B8[32],!B8[33],!B8[34],!B9[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_3
+B4[31],B4[32],!B4[33],!B4[34],!B5[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_5
B0[31],B0[32],!B0[33],!B0[34],!B1[31] buffer lc_trk_g0_5 wire_bram/ram/MASK_7
!B12[27],!B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_1
!B8[27],!B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_3
!B4[27],!B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_5
+!B0[27],!B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g0_5 wire_bram/ram/WDATA_7
B0[26],B1[26],!B1[27],!B1[28],B1[29] buffer lc_trk_g0_6 input0_0
B4[26],B5[26],!B5[27],!B5[28],B5[29] buffer lc_trk_g0_6 input0_2
B8[26],B9[26],!B9[27],!B9[28],B9[29] buffer lc_trk_g0_6 input0_4
B12[26],B13[26],!B13[27],!B13[28],B13[29] buffer lc_trk_g0_6 input0_6
B12[35],B13[32],!B13[33],!B13[34],B13[35] buffer lc_trk_g0_6 input2_6
B14[31],B14[32],!B14[33],!B14[34],B15[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_0
+B10[31],B10[32],!B10[33],!B10[34],B11[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_2
B2[31],B2[32],!B2[33],!B2[34],B3[31] buffer lc_trk_g0_6 wire_bram/ram/MASK_6
!B14[27],!B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_0
!B10[27],!B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g0_6 wire_bram/ram/WDATA_2
@@ -6631,8 +6870,10 @@ B2[26],B3[26],!B3[27],!B3[28],B3[29] buffer lc_trk_g0_7 input0_1
B6[26],B7[26],!B7[27],!B7[28],B7[29] buffer lc_trk_g0_7 input0_3
B10[26],B11[26],!B11[27],!B11[28],B11[29] buffer lc_trk_g0_7 input0_5
B14[26],B15[26],!B15[27],!B15[28],B15[29] buffer lc_trk_g0_7 input0_7
+B10[35],B11[32],!B11[33],!B11[34],B11[35] buffer lc_trk_g0_7 input2_5
B14[35],B15[32],!B15[33],!B15[34],B15[35] buffer lc_trk_g0_7 input2_7
B12[31],B12[32],!B12[33],!B12[34],B13[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_1
+B8[31],B8[32],!B8[33],!B8[34],B9[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_3
!B12[27],!B12[28],B12[29],B12[30],B13[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_1
!B8[27],!B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_3
!B4[27],!B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g0_7 wire_bram/ram/WDATA_5
@@ -6641,10 +6882,12 @@ B12[31],B12[32],!B12[33],!B12[34],B13[31] buffer lc_trk_g0_7 wire_bram/ram/MASK_
!B6[26],!B7[26],B7[27],!B7[28],B7[29] buffer lc_trk_g1_0 input0_3
!B10[26],!B11[26],B11[27],!B11[28],B11[29] buffer lc_trk_g1_0 input0_5
!B14[26],!B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_0 input0_7
+!B10[35],B11[32],!B11[33],B11[34],!B11[35] buffer lc_trk_g1_0 input2_5
!B14[35],B15[32],!B15[33],B15[34],!B15[35] buffer lc_trk_g1_0 input2_7
!B12[31],B12[32],!B12[33],B12[34],!B13[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_1
!B8[31],B8[32],!B8[33],B8[34],!B9[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_3
!B4[31],B4[32],!B4[33],B4[34],!B5[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_5
+!B0[31],B0[32],!B0[33],B0[34],!B1[31] buffer lc_trk_g1_0 wire_bram/ram/MASK_7
B12[27],!B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_1
B8[27],!B8[28],B8[29],!B8[30],!B9[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_3
B4[27],!B4[28],B4[29],!B4[30],!B5[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_5
@@ -6657,14 +6900,19 @@ B0[27],!B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g1_0 wire_bram/ram/WDATA_7
!B14[31],B14[32],!B14[33],B14[34],!B15[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_0
!B10[31],B10[32],!B10[33],B10[34],!B11[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_2
!B6[31],B6[32],!B6[33],B6[34],!B7[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_4
+!B2[31],B2[32],!B2[33],B2[34],!B3[31] buffer lc_trk_g1_1 wire_bram/ram/MASK_6
!B2[0],!B2[1],B2[2],B3[0],B3[2] buffer lc_trk_g1_1 wire_bram/ram/WCLK
B14[27],!B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_0
B10[27],!B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_2
+B6[27],!B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_4
+B2[27],!B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g1_1 wire_bram/ram/WDATA_6
!B2[26],B3[26],B3[27],!B3[28],B3[29] buffer lc_trk_g1_2 input0_1
!B6[26],B7[26],B7[27],!B7[28],B7[29] buffer lc_trk_g1_2 input0_3
!B10[26],B11[26],B11[27],!B11[28],B11[29] buffer lc_trk_g1_2 input0_5
!B14[26],B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_2 input0_7
+!B10[35],B11[32],!B11[33],B11[34],B11[35] buffer lc_trk_g1_2 input2_5
!B14[35],B15[32],!B15[33],B15[34],B15[35] buffer lc_trk_g1_2 input2_7
+!B12[31],B12[32],!B12[33],B12[34],B13[31] buffer lc_trk_g1_2 wire_bram/ram/MASK_1
!B8[31],B8[32],!B8[33],B8[34],B9[31] buffer lc_trk_g1_2 wire_bram/ram/MASK_3
B12[27],!B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_1
B8[27],!B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_3
@@ -6675,8 +6923,12 @@ B0[27],!B0[28],B0[29],!B0[30],B1[30] buffer lc_trk_g1_2 wire_bram/ram/WDATA_7
!B8[26],B9[26],B9[27],!B9[28],B9[29] buffer lc_trk_g1_3 input0_4
!B12[26],B13[26],B13[27],!B13[28],B13[29] buffer lc_trk_g1_3 input0_6
!B12[35],B13[32],!B13[33],B13[34],B13[35] buffer lc_trk_g1_3 input2_6
+!B14[31],B14[32],!B14[33],B14[34],B15[31] buffer lc_trk_g1_3 wire_bram/ram/MASK_0
!B10[31],B10[32],!B10[33],B10[34],B11[31] buffer lc_trk_g1_3 wire_bram/ram/MASK_2
+!B6[31],B6[32],!B6[33],B6[34],B7[31] buffer lc_trk_g1_3 wire_bram/ram/MASK_4
+!B2[31],B2[32],!B2[33],B2[34],B3[31] buffer lc_trk_g1_3 wire_bram/ram/MASK_6
!B4[0],B4[1],B5[0],B5[1] buffer lc_trk_g1_3 wire_bram/ram/WCLKE
+B14[27],!B14[28],B14[29],!B14[30],B15[30] buffer lc_trk_g1_3 wire_bram/ram/WDATA_0
B10[27],!B10[28],B10[29],!B10[30],B11[30] buffer lc_trk_g1_3 wire_bram/ram/WDATA_2
B6[27],!B6[28],B6[29],!B6[30],B7[30] buffer lc_trk_g1_3 wire_bram/ram/WDATA_4
B2[27],!B2[28],B2[29],!B2[30],B3[30] buffer lc_trk_g1_3 wire_bram/ram/WDATA_6
@@ -6687,6 +6939,9 @@ B14[26],!B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_4 input0_7
B10[35],B11[32],!B11[33],B11[34],!B11[35] buffer lc_trk_g1_4 input2_5
B14[35],B15[32],!B15[33],B15[34],!B15[35] buffer lc_trk_g1_4 input2_7
B12[31],B12[32],!B12[33],B12[34],!B13[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_1
+B8[31],B8[32],!B8[33],B8[34],!B9[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_3
+B4[31],B4[32],!B4[33],B4[34],!B5[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_5
+B0[31],B0[32],!B0[33],B0[34],!B1[31] buffer lc_trk_g1_4 wire_bram/ram/MASK_7
B12[27],!B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_1
B8[27],!B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_3
B4[27],!B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g1_4 wire_bram/ram/WDATA_5
@@ -6700,6 +6955,7 @@ B10[31],B10[32],!B10[33],B10[34],!B11[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_
B6[31],B6[32],!B6[33],B6[34],!B7[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_4
B2[31],B2[32],!B2[33],B2[34],!B3[31] buffer lc_trk_g1_5 wire_bram/ram/MASK_6
B14[27],!B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_0
+B10[27],!B10[28],B10[29],B10[30],!B11[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_2
B6[27],!B6[28],B6[29],B6[30],!B7[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_4
B2[27],!B2[28],B2[29],B2[30],!B3[30] buffer lc_trk_g1_5 wire_bram/ram/WDATA_6
!B14[0],B14[1],B15[0],B15[1] buffer lc_trk_g1_5 wire_bram/ram/WE
@@ -6710,6 +6966,7 @@ B14[26],B15[26],B15[27],!B15[28],B15[29] buffer lc_trk_g1_6 input0_7
B10[35],B11[32],!B11[33],B11[34],B11[35] buffer lc_trk_g1_6 input2_5
B14[35],B15[32],!B15[33],B15[34],B15[35] buffer lc_trk_g1_6 input2_7
B4[31],B4[32],!B4[33],B4[34],B5[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_5
+B0[31],B0[32],!B0[33],B0[34],B1[31] buffer lc_trk_g1_6 wire_bram/ram/MASK_7
B12[27],!B12[28],B12[29],B12[30],B13[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_1
B8[27],!B8[28],B8[29],B8[30],B9[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_3
B4[27],!B4[28],B4[29],B4[30],B5[30] buffer lc_trk_g1_6 wire_bram/ram/WDATA_5
@@ -6720,8 +6977,11 @@ B8[26],B9[26],B9[27],!B9[28],B9[29] buffer lc_trk_g1_7 input0_4
B12[26],B13[26],B13[27],!B13[28],B13[29] buffer lc_trk_g1_7 input0_6
B12[35],B13[32],!B13[33],B13[34],B13[35] buffer lc_trk_g1_7 input2_6
B14[31],B14[32],!B14[33],B14[34],B15[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_0
+B6[31],B6[32],!B6[33],B6[34],B7[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_4
+B2[31],B2[32],!B2[33],B2[34],B3[31] buffer lc_trk_g1_7 wire_bram/ram/MASK_6
B14[27],!B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_0
B10[27],!B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_2
+B6[27],!B6[28],B6[29],B6[30],B7[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_4
B2[27],!B2[28],B2[29],B2[30],B3[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_6
!B0[26],!B1[26],!B1[27],B1[28],B1[29] buffer lc_trk_g2_0 input0_0
!B4[26],!B5[26],!B5[27],B5[28],B5[29] buffer lc_trk_g2_0 input0_2
@@ -6730,10 +6990,12 @@ B2[27],!B2[28],B2[29],B2[30],B3[30] buffer lc_trk_g1_7 wire_bram/ram/WDATA_6
!B12[35],B13[32],B13[33],!B13[34],!B13[35] buffer lc_trk_g2_0 input2_6
!B14[31],B14[32],B14[33],!B14[34],!B15[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_0
!B10[31],B10[32],B10[33],!B10[34],!B11[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_2
+!B6[31],B6[32],B6[33],!B6[34],!B7[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_4
!B2[31],B2[32],B2[33],!B2[34],!B3[31] buffer lc_trk_g2_0 wire_bram/ram/MASK_6
B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g2_0 wire_bram/ram/WCLK
!B14[27],B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_0
!B10[27],B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_2
+!B6[27],B6[28],B6[29],!B6[30],!B7[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_4
!B2[27],B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g2_0 wire_bram/ram/WDATA_6
!B2[26],!B3[26],!B3[27],B3[28],B3[29] buffer lc_trk_g2_1 input0_1
!B6[26],!B7[26],!B7[27],B7[28],B7[29] buffer lc_trk_g2_1 input0_3
@@ -6754,6 +7016,8 @@ B2[0],!B2[1],B2[2],!B3[0],B3[2] buffer lc_trk_g2_0 wire_bram/ram/WCLK
!B8[26],B9[26],!B9[27],B9[28],B9[29] buffer lc_trk_g2_2 input0_4
!B12[26],B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_2 input0_6
!B12[35],B13[32],B13[33],!B13[34],B13[35] buffer lc_trk_g2_2 input2_6
+!B14[31],B14[32],B14[33],!B14[34],B15[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_0
+!B10[31],B10[32],B10[33],!B10[34],B11[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_2
!B6[31],B6[32],B6[33],!B6[34],B7[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_4
!B2[31],B2[32],B2[33],!B2[34],B3[31] buffer lc_trk_g2_2 wire_bram/ram/MASK_6
B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g2_2 wire_bram/ram/WCLKE
@@ -6765,8 +7029,12 @@ B4[0],B4[1],!B5[0],B5[1] buffer lc_trk_g2_2 wire_bram/ram/WCLKE
!B6[26],B7[26],!B7[27],B7[28],B7[29] buffer lc_trk_g2_3 input0_3
!B10[26],B11[26],!B11[27],B11[28],B11[29] buffer lc_trk_g2_3 input0_5
!B14[26],B15[26],!B15[27],B15[28],B15[29] buffer lc_trk_g2_3 input0_7
+!B10[35],B11[32],B11[33],!B11[34],B11[35] buffer lc_trk_g2_3 input2_5
!B14[35],B15[32],B15[33],!B15[34],B15[35] buffer lc_trk_g2_3 input2_7
+!B12[31],B12[32],B12[33],!B12[34],B13[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_1
!B8[31],B8[32],B8[33],!B8[34],B9[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_3
+!B4[31],B4[32],B4[33],!B4[34],B5[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_5
+!B0[31],B0[32],B0[33],!B0[34],B1[31] buffer lc_trk_g2_3 wire_bram/ram/MASK_7
!B12[27],B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g2_3 wire_bram/ram/WDATA_1
!B8[27],B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g2_3 wire_bram/ram/WDATA_3
!B4[27],B4[28],B4[29],!B4[30],B5[30] buffer lc_trk_g2_3 wire_bram/ram/WDATA_5
@@ -6779,6 +7047,7 @@ B12[35],B13[32],B13[33],!B13[34],!B13[35] buffer lc_trk_g2_4 input2_6
B14[31],B14[32],B14[33],!B14[34],!B15[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_0
B10[31],B10[32],B10[33],!B10[34],!B11[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_2
B6[31],B6[32],B6[33],!B6[34],!B7[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_4
+B2[31],B2[32],B2[33],!B2[34],!B3[31] buffer lc_trk_g2_4 wire_bram/ram/MASK_6
!B14[27],B14[28],B14[29],B14[30],!B15[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_0
!B10[27],B10[28],B10[29],B10[30],!B11[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_2
!B6[27],B6[28],B6[29],B6[30],!B7[30] buffer lc_trk_g2_4 wire_bram/ram/WDATA_4
@@ -6797,12 +7066,15 @@ B0[31],B0[32],B0[33],!B0[34],!B1[31] buffer lc_trk_g2_5 wire_bram/ram/MASK_7
!B12[27],B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_1
!B8[27],B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_3
!B4[27],B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_5
+!B0[27],B0[28],B0[29],B0[30],!B1[30] buffer lc_trk_g2_5 wire_bram/ram/WDATA_7
B0[26],B1[26],!B1[27],B1[28],B1[29] buffer lc_trk_g2_6 input0_0
B4[26],B5[26],!B5[27],B5[28],B5[29] buffer lc_trk_g2_6 input0_2
B8[26],B9[26],!B9[27],B9[28],B9[29] buffer lc_trk_g2_6 input0_4
B12[26],B13[26],!B13[27],B13[28],B13[29] buffer lc_trk_g2_6 input0_6
B12[35],B13[32],B13[33],!B13[34],B13[35] buffer lc_trk_g2_6 input2_6
B14[31],B14[32],B14[33],!B14[34],B15[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_0
+B10[31],B10[32],B10[33],!B10[34],B11[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_2
+B6[31],B6[32],B6[33],!B6[34],B7[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_4
B2[31],B2[32],B2[33],!B2[34],B3[31] buffer lc_trk_g2_6 wire_bram/ram/MASK_6
!B14[27],B14[28],B14[29],B14[30],B15[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_0
!B10[27],B10[28],B10[29],B10[30],B11[30] buffer lc_trk_g2_6 wire_bram/ram/WDATA_2
@@ -6829,6 +7101,7 @@ B0[31],B0[32],B0[33],!B0[34],B1[31] buffer lc_trk_g2_7 wire_bram/ram/MASK_7
!B10[35],B11[32],B11[33],B11[34],!B11[35] buffer lc_trk_g3_0 input2_5
!B14[35],B15[32],B15[33],B15[34],!B15[35] buffer lc_trk_g3_0 input2_7
!B12[31],B12[32],B12[33],B12[34],!B13[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_1
+!B8[31],B8[32],B8[33],B8[34],!B9[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_3
!B4[31],B4[32],B4[33],B4[34],!B5[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_5
!B0[31],B0[32],B0[33],B0[34],!B1[31] buffer lc_trk_g3_0 wire_bram/ram/MASK_7
B12[27],B12[28],B12[29],!B12[30],!B13[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_1
@@ -6841,7 +7114,9 @@ B0[27],B0[28],B0[29],!B0[30],!B1[30] buffer lc_trk_g3_0 wire_bram/ram/WDATA_7
!B12[26],!B13[26],B13[27],B13[28],B13[29] buffer lc_trk_g3_1 input0_6
!B12[35],B13[32],B13[33],B13[34],!B13[35] buffer lc_trk_g3_1 input2_6
!B14[31],B14[32],B14[33],B14[34],!B15[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_0
+!B10[31],B10[32],B10[33],B10[34],!B11[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_2
!B6[31],B6[32],B6[33],B6[34],!B7[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_4
+!B2[31],B2[32],B2[33],B2[34],!B3[31] buffer lc_trk_g3_1 wire_bram/ram/MASK_6
B2[0],!B2[1],B2[2],B3[0],B3[2] buffer lc_trk_g3_1 wire_bram/ram/WCLK
B14[27],B14[28],B14[29],!B14[30],!B15[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_0
B10[27],B10[28],B10[29],!B10[30],!B11[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_2
@@ -6855,10 +7130,12 @@ B2[27],B2[28],B2[29],!B2[30],!B3[30] buffer lc_trk_g3_1 wire_bram/ram/WDATA_6
!B14[35],B15[32],B15[33],B15[34],B15[35] buffer lc_trk_g3_2 input2_7
!B12[31],B12[32],B12[33],B12[34],B13[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_1
!B8[31],B8[32],B8[33],B8[34],B9[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_3
+!B4[31],B4[32],B4[33],B4[34],B5[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_5
!B0[31],B0[32],B0[33],B0[34],B1[31] buffer lc_trk_g3_2 wire_bram/ram/MASK_7
B12[27],B12[28],B12[29],!B12[30],B13[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_1
B8[27],B8[28],B8[29],!B8[30],B9[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_3
B4[27],B4[28],B4[29],!B4[30],B5[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_5
+B0[27],B0[28],B0[29],!B0[30],B1[30] buffer lc_trk_g3_2 wire_bram/ram/WDATA_7
!B0[26],B1[26],B1[27],B1[28],B1[29] buffer lc_trk_g3_3 input0_0
!B4[26],B5[26],B5[27],B5[28],B5[29] buffer lc_trk_g3_3 input0_2
!B8[26],B9[26],B9[27],B9[28],B9[29] buffer lc_trk_g3_3 input0_4
@@ -6882,6 +7159,7 @@ B14[35],B15[32],B15[33],B15[34],!B15[35] buffer lc_trk_g3_4 input2_7
B12[31],B12[32],B12[33],B12[34],!B13[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_1
B8[31],B8[32],B8[33],B8[34],!B9[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_3
B4[31],B4[32],B4[33],B4[34],!B5[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_5
+B0[31],B0[32],B0[33],B0[34],!B1[31] buffer lc_trk_g3_4 wire_bram/ram/MASK_7
B12[27],B12[28],B12[29],B12[30],!B13[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_1
B8[27],B8[28],B8[29],B8[30],!B9[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_3
B4[27],B4[28],B4[29],B4[30],!B5[30] buffer lc_trk_g3_4 wire_bram/ram/WDATA_5
@@ -6943,45 +7221,70 @@ B6[25],B7[22],!B7[23],B7[24],!B7[25] buffer lft_op_6 lc_trk_g1_6
B2[21],B2[22],!B2[23],B2[24],!B3[21] buffer lft_op_7 lc_trk_g0_7
B6[21],B6[22],!B6[23],B6[24],!B7[21] buffer lft_op_7 lc_trk_g1_7
B12[14],!B13[14],B13[15],!B13[16],B13[17] buffer rgt_op_0 lc_trk_g3_0
+B8[15],!B8[16],B8[17],B8[18],!B9[18] buffer rgt_op_1 lc_trk_g2_1
+B12[15],!B12[16],B12[17],B12[18],!B13[18] buffer rgt_op_1 lc_trk_g3_1
B8[25],B9[22],!B9[23],B9[24],!B9[25] buffer rgt_op_2 lc_trk_g2_2
B12[25],B13[22],!B13[23],B13[24],!B13[25] buffer rgt_op_2 lc_trk_g3_2
+B8[21],B8[22],!B8[23],B8[24],!B9[21] buffer rgt_op_3 lc_trk_g2_3
B12[21],B12[22],!B12[23],B12[24],!B13[21] buffer rgt_op_3 lc_trk_g3_3
B10[14],!B11[14],B11[15],!B11[16],B11[17] buffer rgt_op_4 lc_trk_g2_4
B14[14],!B15[14],B15[15],!B15[16],B15[17] buffer rgt_op_4 lc_trk_g3_4
+B10[15],!B10[16],B10[17],B10[18],!B11[18] buffer rgt_op_5 lc_trk_g2_5
B14[15],!B14[16],B14[17],B14[18],!B15[18] buffer rgt_op_5 lc_trk_g3_5
B10[25],B11[22],!B11[23],B11[24],!B11[25] buffer rgt_op_6 lc_trk_g2_6
B14[25],B15[22],!B15[23],B15[24],!B15[25] buffer rgt_op_6 lc_trk_g3_6
B10[21],B10[22],!B10[23],B10[24],!B11[21] buffer rgt_op_7 lc_trk_g2_7
+B14[21],B14[22],!B14[23],B14[24],!B15[21] buffer rgt_op_7 lc_trk_g3_7
+B0[21],B0[22],!B0[23],B0[24],B1[21] buffer sp12_h_l_0 lc_trk_g0_3
B4[21],B4[22],!B4[23],B4[24],B5[21] buffer sp12_h_l_0 lc_trk_g1_3
+!B6[21],B6[22],B6[23],!B6[24],!B7[21] buffer sp12_h_l_12 lc_trk_g1_7
!B2[25],B3[22],B3[23],!B3[24],!B3[25] buffer sp12_h_l_13 lc_trk_g0_6
!B6[25],B7[22],B7[23],!B7[24],!B7[25] buffer sp12_h_l_13 lc_trk_g1_6
B6[2] buffer sp12_h_l_13 sp4_h_r_19
+!B4[21],B4[22],B4[23],!B4[24],B5[21] buffer sp12_h_l_16 lc_trk_g1_3
+!B2[15],B2[16],B2[17],!B2[18],B3[18] buffer sp12_h_l_18 lc_trk_g0_5
+!B6[15],B6[16],B6[17],!B6[18],B7[18] buffer sp12_h_l_18 lc_trk_g1_5
+!B2[25],B3[22],B3[23],!B3[24],B3[25] buffer sp12_h_l_21 lc_trk_g0_6
!B6[25],B7[22],B7[23],!B7[24],B7[25] buffer sp12_h_l_21 lc_trk_g1_6
B14[2] buffer sp12_h_l_21 sp4_h_l_10
B2[14],B3[14],B3[15],!B3[16],B3[17] buffer sp12_h_l_3 lc_trk_g0_4
+B6[14],B7[14],B7[15],!B7[16],B7[17] buffer sp12_h_l_3 lc_trk_g1_4
B15[19] buffer sp12_h_l_3 sp4_h_l_3
B2[25],B3[22],!B3[23],B3[24],B3[25] buffer sp12_h_l_5 lc_trk_g0_6
B6[25],B7[22],!B7[23],B7[24],B7[25] buffer sp12_h_l_5 lc_trk_g1_6
B14[19] buffer sp12_h_l_5 sp4_h_l_2
+!B0[15],B0[16],B0[17],!B0[18],!B1[18] buffer sp12_h_l_6 lc_trk_g0_1
!B4[15],B4[16],B4[17],!B4[18],!B5[18] buffer sp12_h_l_6 lc_trk_g1_1
+B0[14],B1[14],B1[15],!B1[16],B1[17] buffer sp12_h_r_0 lc_trk_g0_0
B4[14],B5[14],B5[15],!B5[16],B5[17] buffer sp12_h_r_0 lc_trk_g1_0
+B13[19] buffer sp12_h_r_0 sp4_h_r_12
B0[15],!B0[16],B0[17],B0[18],B1[18] buffer sp12_h_r_1 lc_trk_g0_1
B4[15],!B4[16],B4[17],B4[18],B5[18] buffer sp12_h_r_1 lc_trk_g1_1
!B0[25],B1[22],B1[23],!B1[24],!B1[25] buffer sp12_h_r_10 lc_trk_g0_2
!B4[25],B5[22],B5[23],!B5[24],!B5[25] buffer sp12_h_r_10 lc_trk_g1_2
B3[1] buffer sp12_h_r_10 sp4_h_r_17
+!B2[14],!B3[14],!B3[15],B3[16],B3[17] buffer sp12_h_r_12 lc_trk_g0_4
!B6[14],!B7[14],!B7[15],B7[16],B7[17] buffer sp12_h_r_12 lc_trk_g1_4
+B4[2] buffer sp12_h_r_12 sp4_h_l_7
!B2[15],B2[16],B2[17],!B2[18],!B3[18] buffer sp12_h_r_13 lc_trk_g0_5
!B6[15],B6[16],B6[17],!B6[18],!B7[18] buffer sp12_h_r_13 lc_trk_g1_5
!B4[14],B5[14],!B5[15],B5[16],B5[17] buffer sp12_h_r_16 lc_trk_g1_0
+B8[2] buffer sp12_h_r_16 sp4_h_r_20
+!B0[15],B0[16],B0[17],!B0[18],B1[18] buffer sp12_h_r_17 lc_trk_g0_1
+!B4[15],B4[16],B4[17],!B4[18],B5[18] buffer sp12_h_r_17 lc_trk_g1_1
!B0[25],B1[22],B1[23],!B1[24],B1[25] buffer sp12_h_r_18 lc_trk_g0_2
+!B4[25],B5[22],B5[23],!B5[24],B5[25] buffer sp12_h_r_18 lc_trk_g1_2
B10[2] buffer sp12_h_r_18 sp4_h_l_8
B0[25],B1[22],!B1[23],B1[24],B1[25] buffer sp12_h_r_2 lc_trk_g0_2
B4[25],B5[22],!B5[23],B5[24],B5[25] buffer sp12_h_r_2 lc_trk_g1_2
B12[19] buffer sp12_h_r_2 sp4_h_r_13
+B12[2] buffer sp12_h_r_20 sp4_h_r_22
+!B6[21],B6[22],B6[23],!B6[24],B7[21] buffer sp12_h_r_23 lc_trk_g1_7
B2[15],!B2[16],B2[17],B2[18],B3[18] buffer sp12_h_r_5 lc_trk_g0_5
+B6[15],!B6[16],B6[17],B6[18],B7[18] buffer sp12_h_r_5 lc_trk_g1_5
!B0[14],!B1[14],!B1[15],B1[16],B1[17] buffer sp12_h_r_8 lc_trk_g0_0
!B4[14],!B5[14],!B5[15],B5[16],B5[17] buffer sp12_h_r_8 lc_trk_g1_0
+B0[2] buffer sp12_h_r_8 sp4_h_l_5
B8[14],B9[14],B9[15],!B9[16],B9[17] buffer sp12_v_b_0 lc_trk_g2_0
B12[14],B13[14],B13[15],!B13[16],B13[17] buffer sp12_v_b_0 lc_trk_g3_0
B8[15],!B8[16],B8[17],B8[18],B9[18] buffer sp12_v_b_1 lc_trk_g2_1
@@ -7036,6 +7339,7 @@ B8[19] buffer sp12_v_t_16 sp4_v_t_8
!B14[14],B15[14],!B15[15],B15[16],B15[17] buffer sp12_v_t_19 lc_trk_g3_4
!B10[25],B11[22],B11[23],!B11[24],B11[25] buffer sp12_v_t_21 lc_trk_g2_6
!B14[25],B15[22],B15[23],!B15[24],B15[25] buffer sp12_v_t_21 lc_trk_g3_6
+B10[14],B11[14],B11[15],!B11[16],B11[17] buffer sp12_v_t_3 lc_trk_g2_4
B14[14],B15[14],B15[15],!B15[16],B15[17] buffer sp12_v_t_3 lc_trk_g3_4
!B8[14],!B9[14],!B9[15],B9[16],B9[17] buffer sp12_v_t_7 lc_trk_g2_0
!B12[14],!B13[14],!B13[15],B13[16],B13[17] buffer sp12_v_t_7 lc_trk_g3_0
@@ -7044,15 +7348,23 @@ B14[14],B15[14],B15[15],!B15[16],B15[17] buffer sp12_v_t_3 lc_trk_g3_4
B2[21],B2[22],B2[23],B2[24],B3[21] buffer sp4_h_l_10 lc_trk_g0_7
B6[21],B6[22],B6[23],B6[24],B7[21] buffer sp4_h_l_10 lc_trk_g1_7
!B8[14],B9[14],B9[15],B9[16],B9[17] buffer sp4_h_l_13 lc_trk_g2_0
+!B12[14],B13[14],B13[15],B13[16],B13[17] buffer sp4_h_l_13 lc_trk_g3_0
+!B8[25],B9[22],B9[23],B9[24],B9[25] buffer sp4_h_l_15 lc_trk_g2_2
!B12[25],B13[22],B13[23],B13[24],B13[25] buffer sp4_h_l_15 lc_trk_g3_2
B10[15],B10[16],B10[17],!B10[18],B11[18] buffer sp4_h_l_16 lc_trk_g2_5
B14[15],B14[16],B14[17],!B14[18],B15[18] buffer sp4_h_l_16 lc_trk_g3_5
!B10[14],B11[14],B11[15],B11[16],B11[17] buffer sp4_h_l_17 lc_trk_g2_4
+!B14[14],B15[14],B15[15],B15[16],B15[17] buffer sp4_h_l_17 lc_trk_g3_4
+!B10[21],B10[22],B10[23],B10[24],B11[21] buffer sp4_h_l_18 lc_trk_g2_7
+!B14[21],B14[22],B14[23],B14[24],B15[21] buffer sp4_h_l_18 lc_trk_g3_7
+B2[21],B2[22],B2[23],B2[24],!B3[21] buffer sp4_h_l_2 lc_trk_g0_7
B6[21],B6[22],B6[23],B6[24],!B7[21] buffer sp4_h_l_2 lc_trk_g1_7
B8[15],B8[16],B8[17],B8[18],!B9[18] buffer sp4_h_l_20 lc_trk_g2_1
B12[15],B12[16],B12[17],B12[18],!B13[18] buffer sp4_h_l_20 lc_trk_g3_1
B8[14],!B9[14],B9[15],B9[16],B9[17] buffer sp4_h_l_21 lc_trk_g2_0
+B12[14],!B13[14],B13[15],B13[16],B13[17] buffer sp4_h_l_21 lc_trk_g3_0
B10[21],B10[22],B10[23],B10[24],!B11[21] buffer sp4_h_l_26 lc_trk_g2_7
+B10[25],B11[22],B11[23],B11[24],!B11[25] buffer sp4_h_l_27 lc_trk_g2_6
B14[25],B15[22],B15[23],B15[24],!B15[25] buffer sp4_h_l_27 lc_trk_g3_6
B8[15],B8[16],B8[17],B8[18],B9[18] buffer sp4_h_l_28 lc_trk_g2_1
B12[15],B12[16],B12[17],B12[18],B13[18] buffer sp4_h_l_28 lc_trk_g3_1
@@ -7091,6 +7403,7 @@ B2[25],B3[22],B3[23],B3[24],B3[25] buffer sp4_h_r_22 lc_trk_g0_6
B6[25],B7[22],B7[23],B7[24],B7[25] buffer sp4_h_r_22 lc_trk_g1_6
B8[15],B8[16],B8[17],!B8[18],B9[18] buffer sp4_h_r_25 lc_trk_g2_1
B12[15],B12[16],B12[17],!B12[18],B13[18] buffer sp4_h_r_25 lc_trk_g3_1
+!B8[21],B8[22],B8[23],B8[24],B9[21] buffer sp4_h_r_27 lc_trk_g2_3
!B12[21],B12[22],B12[23],B12[24],B13[21] buffer sp4_h_r_27 lc_trk_g3_3
!B0[21],B0[22],B0[23],B0[24],B1[21] buffer sp4_h_r_3 lc_trk_g0_3
!B4[21],B4[22],B4[23],B4[24],B5[21] buffer sp4_h_r_3 lc_trk_g1_3
@@ -7102,6 +7415,7 @@ B8[21],B8[22],B8[23],B8[24],!B9[21] buffer sp4_h_r_35 lc_trk_g2_3
B12[21],B12[22],B12[23],B12[24],!B13[21] buffer sp4_h_r_35 lc_trk_g3_3
B10[14],!B11[14],B11[15],B11[16],B11[17] buffer sp4_h_r_36 lc_trk_g2_4
B14[14],!B15[14],B15[15],B15[16],B15[17] buffer sp4_h_r_36 lc_trk_g3_4
+B10[15],B10[16],B10[17],B10[18],!B11[18] buffer sp4_h_r_37 lc_trk_g2_5
B14[15],B14[16],B14[17],B14[18],!B15[18] buffer sp4_h_r_37 lc_trk_g3_5
!B2[14],B3[14],B3[15],B3[16],B3[17] buffer sp4_h_r_4 lc_trk_g0_4
!B6[14],B7[14],B7[15],B7[16],B7[17] buffer sp4_h_r_4 lc_trk_g1_4
@@ -7115,8 +7429,10 @@ B10[25],B11[22],B11[23],B11[24],B11[25] buffer sp4_h_r_46 lc_trk_g2_6
B14[25],B15[22],B15[23],B15[24],B15[25] buffer sp4_h_r_46 lc_trk_g3_6
B10[21],B10[22],B10[23],B10[24],B11[21] buffer sp4_h_r_47 lc_trk_g2_7
B14[21],B14[22],B14[23],B14[24],B15[21] buffer sp4_h_r_47 lc_trk_g3_7
+B2[15],B2[16],B2[17],!B2[18],B3[18] buffer sp4_h_r_5 lc_trk_g0_5
B6[15],B6[16],B6[17],!B6[18],B7[18] buffer sp4_h_r_5 lc_trk_g1_5
!B2[25],B3[22],B3[23],B3[24],B3[25] buffer sp4_h_r_6 lc_trk_g0_6
+!B6[25],B7[22],B7[23],B7[24],B7[25] buffer sp4_h_r_6 lc_trk_g1_6
!B2[21],B2[22],B2[23],B2[24],B3[21] buffer sp4_h_r_7 lc_trk_g0_7
!B6[21],B6[22],B6[23],B6[24],B7[21] buffer sp4_h_r_7 lc_trk_g1_7
B0[14],!B1[14],B1[15],B1[16],B1[17] buffer sp4_h_r_8 lc_trk_g0_0
@@ -7284,23 +7600,29 @@ B6[15],B6[16],B6[17],!B6[18],!B7[18] buffer sp4_v_t_8 lc_trk_g1_5
B8[15],!B8[16],B8[17],!B8[18],B9[18] buffer tnl_op_1 lc_trk_g2_1
B12[15],!B12[16],B12[17],!B12[18],B13[18] buffer tnl_op_1 lc_trk_g3_1
!B8[25],B9[22],!B9[23],B9[24],B9[25] buffer tnl_op_2 lc_trk_g2_2
+!B12[25],B13[22],!B13[23],B13[24],B13[25] buffer tnl_op_2 lc_trk_g3_2
!B8[21],B8[22],!B8[23],B8[24],B9[21] buffer tnl_op_3 lc_trk_g2_3
!B12[21],B12[22],!B12[23],B12[24],B13[21] buffer tnl_op_3 lc_trk_g3_3
!B10[14],B11[14],B11[15],!B11[16],B11[17] buffer tnl_op_4 lc_trk_g2_4
!B14[14],B15[14],B15[15],!B15[16],B15[17] buffer tnl_op_4 lc_trk_g3_4
B10[15],!B10[16],B10[17],!B10[18],B11[18] buffer tnl_op_5 lc_trk_g2_5
B14[15],!B14[16],B14[17],!B14[18],B15[18] buffer tnl_op_5 lc_trk_g3_5
+!B10[25],B11[22],!B11[23],B11[24],B11[25] buffer tnl_op_6 lc_trk_g2_6
!B14[25],B15[22],!B15[23],B15[24],B15[25] buffer tnl_op_6 lc_trk_g3_6
+!B10[21],B10[22],!B10[23],B10[24],B11[21] buffer tnl_op_7 lc_trk_g2_7
!B14[21],B14[22],!B14[23],B14[24],B15[21] buffer tnl_op_7 lc_trk_g3_7
!B8[14],!B9[14],B9[15],!B9[16],B9[17] buffer tnr_op_0 lc_trk_g2_0
!B12[14],!B13[14],B13[15],!B13[16],B13[17] buffer tnr_op_0 lc_trk_g3_0
B8[15],!B8[16],B8[17],!B8[18],!B9[18] buffer tnr_op_1 lc_trk_g2_1
+B12[15],!B12[16],B12[17],!B12[18],!B13[18] buffer tnr_op_1 lc_trk_g3_1
!B8[25],B9[22],!B9[23],B9[24],!B9[25] buffer tnr_op_2 lc_trk_g2_2
!B12[25],B13[22],!B13[23],B13[24],!B13[25] buffer tnr_op_2 lc_trk_g3_2
!B8[21],B8[22],!B8[23],B8[24],!B9[21] buffer tnr_op_3 lc_trk_g2_3
!B12[21],B12[22],!B12[23],B12[24],!B13[21] buffer tnr_op_3 lc_trk_g3_3
!B10[14],!B11[14],B11[15],!B11[16],B11[17] buffer tnr_op_4 lc_trk_g2_4
+!B14[14],!B15[14],B15[15],!B15[16],B15[17] buffer tnr_op_4 lc_trk_g3_4
B10[15],!B10[16],B10[17],!B10[18],!B11[18] buffer tnr_op_5 lc_trk_g2_5
+B14[15],!B14[16],B14[17],!B14[18],!B15[18] buffer tnr_op_5 lc_trk_g3_5
!B10[25],B11[22],!B11[23],B11[24],!B11[25] buffer tnr_op_6 lc_trk_g2_6
!B14[25],B15[22],!B15[23],B15[24],!B15[25] buffer tnr_op_6 lc_trk_g3_6
!B10[21],B10[22],!B10[23],B10[24],!B11[21] buffer tnr_op_7 lc_trk_g2_7
@@ -7312,6 +7634,7 @@ B14[37] buffer wire_bram/ram/RDATA_0 sp12_h_l_5
B15[40] buffer wire_bram/ram/RDATA_0 sp12_v_b_14
B15[36] buffer wire_bram/ram/RDATA_0 sp4_h_l_3
B15[37] buffer wire_bram/ram/RDATA_0 sp4_h_r_30
+B14[36] buffer wire_bram/ram/RDATA_0 sp4_h_r_46
B15[41] buffer wire_bram/ram/RDATA_0 sp4_r_v_b_15
B14[40] buffer wire_bram/ram/RDATA_0 sp4_r_v_b_31
B14[41] buffer wire_bram/ram/RDATA_0 sp4_r_v_b_47
@@ -7346,11 +7669,14 @@ B8[37] buffer wire_bram/ram/RDATA_3 sp12_h_r_0
B9[38] buffer wire_bram/ram/RDATA_3 sp12_h_r_16
B9[40] buffer wire_bram/ram/RDATA_3 sp12_v_t_7
B9[37] buffer wire_bram/ram/RDATA_3 sp4_h_l_13
+B8[36] buffer wire_bram/ram/RDATA_3 sp4_h_l_29
+B9[36] buffer wire_bram/ram/RDATA_3 sp4_h_r_8
B8[40] buffer wire_bram/ram/RDATA_3 sp4_r_v_b_25
B8[41] buffer wire_bram/ram/RDATA_3 sp4_r_v_b_41
B9[41] buffer wire_bram/ram/RDATA_3 sp4_r_v_b_9
B8[39] buffer wire_bram/ram/RDATA_3 sp4_v_b_40
B9[39] buffer wire_bram/ram/RDATA_3 sp4_v_b_8
+B8[38] buffer wire_bram/ram/RDATA_3 sp4_v_t_13
B6[37] buffer wire_bram/ram/RDATA_4 sp12_h_l_13
B6[39] buffer wire_bram/ram/RDATA_4 sp12_v_b_6
B7[40] buffer wire_bram/ram/RDATA_4 sp12_v_t_21
@@ -7407,78 +7733,117 @@ B0[38] buffer wire_bram/ram/RDATA_7 sp4_v_t_21
B2[3],B3[3] routing sp12_h_r_0 sp12_h_l_23
B0[3],B1[3] routing sp12_h_r_0 sp12_v_b_0
B6[3],B7[3] routing sp12_h_r_0 sp12_v_t_23
+B10[3],B11[3] routing sp12_h_r_1 sp12_h_l_22
B8[3],B9[3] routing sp12_h_r_1 sp12_v_b_1
B14[3],B15[3] routing sp12_h_r_1 sp12_v_t_22
!B2[3],B3[3] routing sp12_v_b_0 sp12_h_l_23
B4[3],B5[3] routing sp12_v_b_0 sp12_h_r_0
B6[3],!B7[3] routing sp12_v_b_0 sp12_v_t_23
-B11[3] routing sp12_v_b_1 sp12_h_l_22
+!B10[3],B11[3] routing sp12_v_b_1 sp12_h_l_22
B12[3],B13[3] routing sp12_v_b_1 sp12_h_r_1
B14[3],!B15[3] routing sp12_v_b_1 sp12_v_t_22
-B10[3] routing sp12_v_t_22 sp12_h_l_22
+B10[3],!B11[3] routing sp12_v_t_22 sp12_h_l_22
B12[3],!B13[3] routing sp12_v_t_22 sp12_h_r_1
B8[3],!B9[3] routing sp12_v_t_22 sp12_v_b_1
B2[3],!B3[3] routing sp12_v_t_23 sp12_h_l_23
B4[3],!B5[3] routing sp12_v_t_23 sp12_h_r_0
B0[3],!B1[3] routing sp12_v_t_23 sp12_v_b_0
+B0[8],!B0[9],!B0[10] routing sp4_h_l_36 sp4_h_r_1
+!B4[8],B4[9],B4[10] routing sp4_h_l_36 sp4_h_r_4
+!B12[5],B13[4],B13[6] routing sp4_h_l_36 sp4_h_r_9
B1[8],B1[9],!B1[10] routing sp4_h_l_36 sp4_v_b_1
B9[8],B9[9],B9[10] routing sp4_h_l_36 sp4_v_b_7
B3[8],!B3[9],!B3[10] routing sp4_h_l_36 sp4_v_t_36
!B10[4],B10[6],!B11[5] routing sp4_h_l_36 sp4_v_t_43
-B1[6] routing sp4_h_l_37 sp4_h_r_0
+!B0[5],!B1[4],B1[6] routing sp4_h_l_37 sp4_h_r_0
+B4[5],B5[4],!B5[6] routing sp4_h_l_37 sp4_h_r_3
+!B8[12],B9[11],B9[13] routing sp4_h_l_37 sp4_h_r_8
B0[4],!B0[6],B1[5] routing sp4_h_l_37 sp4_v_b_0
B8[4],B8[6],B9[5] routing sp4_h_l_37 sp4_v_b_6
!B2[4],!B2[6],B3[5] routing sp4_h_l_37 sp4_v_t_37
B6[11],!B6[13],!B7[12] routing sp4_h_l_37 sp4_v_t_40
!B12[12],B13[11],B13[13] routing sp4_h_l_38 sp4_h_r_11
+!B4[5],!B5[4],B5[6] routing sp4_h_l_38 sp4_h_r_3
+B8[5],B9[4],!B9[6] routing sp4_h_l_38 sp4_h_r_6
B4[4],!B4[6],B5[5] routing sp4_h_l_38 sp4_v_b_3
B12[4],B12[6],B13[5] routing sp4_h_l_38 sp4_v_b_9
!B6[4],!B6[6],B7[5] routing sp4_h_l_38 sp4_v_t_38
B10[11],!B10[13],!B11[12] routing sp4_h_l_38 sp4_v_t_45
+B12[8],!B12[9],B12[10] routing sp4_h_l_39 sp4_h_r_10
+!B0[12],B1[11],!B1[13] routing sp4_h_l_39 sp4_h_r_2
B4[12],!B5[11],B5[13] routing sp4_h_l_39 sp4_h_r_5
!B0[11],B0[13],B1[12] routing sp4_h_l_39 sp4_v_b_2
B8[11],B8[13],B9[12] routing sp4_h_l_39 sp4_v_b_8
!B2[11],!B2[13],B3[12] routing sp4_h_l_39 sp4_v_t_39
!B11[8],!B11[9],B11[10] routing sp4_h_l_39 sp4_v_t_42
+B0[8],!B0[9],B0[10] routing sp4_h_l_40 sp4_h_r_1
+!B4[12],B5[11],!B5[13] routing sp4_h_l_40 sp4_h_r_5
+B8[12],!B9[11],B9[13] routing sp4_h_l_40 sp4_h_r_8
B12[11],B12[13],B13[12] routing sp4_h_l_40 sp4_v_b_11
!B4[11],B4[13],B5[12] routing sp4_h_l_40 sp4_v_b_5
!B6[11],!B6[13],B7[12] routing sp4_h_l_40 sp4_v_t_40
!B15[8],!B15[9],B15[10] routing sp4_h_l_40 sp4_v_t_47
+!B0[5],B1[4],B1[6] routing sp4_h_l_41 sp4_h_r_0
B4[8],!B4[9],!B4[10] routing sp4_h_l_41 sp4_h_r_4
+!B8[8],B8[9],B8[10] routing sp4_h_l_41 sp4_h_r_7
B13[8],B13[9],B13[10] routing sp4_h_l_41 sp4_v_b_10
B5[8],B5[9],!B5[10] routing sp4_h_l_41 sp4_v_b_4
B7[8],!B7[9],!B7[10] routing sp4_h_l_41 sp4_v_t_41
+!B14[4],B14[6],!B15[5] routing sp4_h_l_41 sp4_v_t_44
+!B12[8],B12[9],B12[10] routing sp4_h_l_42 sp4_h_r_10
+!B4[5],B5[4],B5[6] routing sp4_h_l_42 sp4_h_r_3
+B8[8],!B8[9],!B8[10] routing sp4_h_l_42 sp4_h_r_7
B1[8],B1[9],B1[10] routing sp4_h_l_42 sp4_v_b_1
B9[8],B9[9],!B9[10] routing sp4_h_l_42 sp4_v_b_7
!B2[4],B2[6],!B3[5] routing sp4_h_l_42 sp4_v_t_37
+B11[8],!B11[9],!B11[10] routing sp4_h_l_42 sp4_v_t_42
+!B0[12],B1[11],B1[13] routing sp4_h_l_43 sp4_h_r_2
+!B8[5],!B9[4],B9[6] routing sp4_h_l_43 sp4_h_r_6
B12[5],B13[4],!B13[6] routing sp4_h_l_43 sp4_h_r_9
B0[4],B0[6],B1[5] routing sp4_h_l_43 sp4_v_b_0
B8[4],!B8[6],B9[5] routing sp4_h_l_43 sp4_v_b_6
!B10[4],!B10[6],B11[5] routing sp4_h_l_43 sp4_v_t_43
B14[11],!B14[13],!B15[12] routing sp4_h_l_43 sp4_v_t_46
+B0[5],B1[4],!B1[6] routing sp4_h_l_44 sp4_h_r_0
+!B4[12],B5[11],B5[13] routing sp4_h_l_44 sp4_h_r_5
+!B12[5],!B13[4],B13[6] routing sp4_h_l_44 sp4_h_r_9
B4[4],B4[6],B5[5] routing sp4_h_l_44 sp4_v_b_3
B12[4],!B12[6],B13[5] routing sp4_h_l_44 sp4_v_b_9
B2[11],!B2[13],!B3[12] routing sp4_h_l_44 sp4_v_t_39
!B14[4],!B14[6],B15[5] routing sp4_h_l_44 sp4_v_t_44
+B12[12],!B13[11],B13[13] routing sp4_h_l_45 sp4_h_r_11
B4[8],!B4[9],B4[10] routing sp4_h_l_45 sp4_h_r_4
+!B8[12],B9[11],!B9[13] routing sp4_h_l_45 sp4_h_r_8
B0[11],B0[13],B1[12] routing sp4_h_l_45 sp4_v_b_2
!B8[11],B8[13],B9[12] routing sp4_h_l_45 sp4_v_b_8
!B3[8],!B3[9],B3[10] routing sp4_h_l_45 sp4_v_t_36
-!B10[11],B11[12] routing sp4_h_l_45 sp4_v_t_45
+!B10[11],!B10[13],B11[12] routing sp4_h_l_45 sp4_v_t_45
+!B12[12],B13[11],!B13[13] routing sp4_h_l_46 sp4_h_r_11
+B0[12],!B1[11],B1[13] routing sp4_h_l_46 sp4_h_r_2
+B8[8],!B8[9],B8[10] routing sp4_h_l_46 sp4_h_r_7
!B12[11],B12[13],B13[12] routing sp4_h_l_46 sp4_v_b_11
B4[11],B4[13],B5[12] routing sp4_h_l_46 sp4_v_b_5
!B7[8],!B7[9],B7[10] routing sp4_h_l_46 sp4_v_t_41
!B14[11],!B14[13],B15[12] routing sp4_h_l_46 sp4_v_t_46
+!B0[8],B0[9],B0[10] routing sp4_h_l_47 sp4_h_r_1
+B12[8],!B12[9],!B12[10] routing sp4_h_l_47 sp4_h_r_10
+!B8[5],B9[4],B9[6] routing sp4_h_l_47 sp4_h_r_6
B13[8],B13[9],!B13[10] routing sp4_h_l_47 sp4_v_b_10
B5[8],B5[9],B5[10] routing sp4_h_l_47 sp4_v_b_4
!B6[4],B6[6],!B7[5] routing sp4_h_l_47 sp4_v_t_38
B15[8],!B15[9],!B15[10] routing sp4_h_l_47 sp4_v_t_47
+!B2[5],!B3[4],B3[6] routing sp4_h_r_0 sp4_h_l_37
B6[5],B7[4],!B7[6] routing sp4_h_r_0 sp4_h_l_38
+!B10[12],B11[11],B11[13] routing sp4_h_r_0 sp4_h_l_45
!B0[4],!B0[6],B1[5] routing sp4_h_r_0 sp4_v_b_0
B4[11],!B4[13],!B5[12] routing sp4_h_r_0 sp4_v_b_5
+B2[4],!B2[6],B3[5] routing sp4_h_r_0 sp4_v_t_37
B10[4],B10[6],B11[5] routing sp4_h_r_0 sp4_v_t_43
+B2[8],!B2[9],!B2[10] routing sp4_h_r_1 sp4_h_l_36
!B6[8],B6[9],B6[10] routing sp4_h_r_1 sp4_h_l_41
+!B14[5],B15[4],B15[6] routing sp4_h_r_1 sp4_h_l_44
B1[8],!B1[9],!B1[10] routing sp4_h_r_1 sp4_v_b_1
+!B8[4],B8[6],!B9[5] routing sp4_h_r_1 sp4_v_b_6
B3[8],B3[9],!B3[10] routing sp4_h_r_1 sp4_v_t_36
B11[8],B11[9],B11[10] routing sp4_h_r_1 sp4_v_t_42
!B2[8],B2[9],B2[10] routing sp4_h_r_10 sp4_h_l_36
@@ -7488,54 +7853,86 @@ B13[8],!B13[9],!B13[10] routing sp4_h_r_10 sp4_v_b_10
!B4[4],B4[6],!B5[5] routing sp4_h_r_10 sp4_v_b_3
B7[8],B7[9],B7[10] routing sp4_h_r_10 sp4_v_t_41
B15[8],B15[9],!B15[10] routing sp4_h_r_10 sp4_v_t_47
+B2[12],!B3[11],B3[13] routing sp4_h_r_11 sp4_h_l_39
B10[8],!B10[9],B10[10] routing sp4_h_r_11 sp4_h_l_42
+!B14[12],B15[11],!B15[13] routing sp4_h_r_11 sp4_h_l_46
!B12[11],!B12[13],B13[12] routing sp4_h_r_11 sp4_v_b_11
!B5[8],!B5[9],B5[10] routing sp4_h_r_11 sp4_v_b_4
B6[11],B6[13],B7[12] routing sp4_h_r_11 sp4_v_t_40
!B14[11],B14[13],B15[12] routing sp4_h_r_11 sp4_v_t_46
!B2[12],B3[11],!B3[13] routing sp4_h_r_2 sp4_h_l_39
+B6[12],!B7[11],B7[13] routing sp4_h_r_2 sp4_h_l_40
+B14[8],!B14[9],B14[10] routing sp4_h_r_2 sp4_h_l_47
!B0[11],!B0[13],B1[12] routing sp4_h_r_2 sp4_v_b_2
!B9[8],!B9[9],B9[10] routing sp4_h_r_2 sp4_v_b_7
!B2[11],B2[13],B3[12] routing sp4_h_r_2 sp4_v_t_39
+B10[11],B10[13],B11[12] routing sp4_h_r_2 sp4_v_t_45
+!B6[5],!B7[4],B7[6] routing sp4_h_r_3 sp4_h_l_38
+B10[5],B11[4],!B11[6] routing sp4_h_r_3 sp4_h_l_43
!B14[12],B15[11],B15[13] routing sp4_h_r_3 sp4_h_l_46
!B4[4],!B4[6],B5[5] routing sp4_h_r_3 sp4_v_b_3
B8[11],!B8[13],!B9[12] routing sp4_h_r_3 sp4_v_b_8
B6[4],!B6[6],B7[5] routing sp4_h_r_3 sp4_v_t_38
B14[4],B14[6],B15[5] routing sp4_h_r_3 sp4_v_t_44
+!B2[5],B3[4],B3[6] routing sp4_h_r_4 sp4_h_l_37
+B6[8],!B6[9],!B6[10] routing sp4_h_r_4 sp4_h_l_41
+!B10[8],B10[9],B10[10] routing sp4_h_r_4 sp4_h_l_42
+B5[8],!B5[9],!B5[10] routing sp4_h_r_4 sp4_v_b_4
!B12[4],B12[6],!B13[5] routing sp4_h_r_4 sp4_v_b_9
+B7[8],B7[9],!B7[10] routing sp4_h_r_4 sp4_v_t_41
+B15[8],B15[9],B15[10] routing sp4_h_r_4 sp4_v_t_47
+B2[8],!B2[9],B2[10] routing sp4_h_r_5 sp4_h_l_36
+!B6[12],B7[11],!B7[13] routing sp4_h_r_5 sp4_h_l_40
B10[12],!B11[11],B11[13] routing sp4_h_r_5 sp4_h_l_45
!B13[8],!B13[9],B13[10] routing sp4_h_r_5 sp4_v_b_10
!B4[11],!B4[13],B5[12] routing sp4_h_r_5 sp4_v_b_5
!B6[11],B6[13],B7[12] routing sp4_h_r_5 sp4_v_t_40
B14[11],B14[13],B15[12] routing sp4_h_r_5 sp4_v_t_46
+!B2[12],B3[11],B3[13] routing sp4_h_r_6 sp4_h_l_39
!B10[5],!B11[4],B11[6] routing sp4_h_r_6 sp4_h_l_43
+B14[5],B15[4],!B15[6] routing sp4_h_r_6 sp4_h_l_44
B12[11],!B12[13],!B13[12] routing sp4_h_r_6 sp4_v_b_11
!B8[4],!B8[6],B9[5] routing sp4_h_r_6 sp4_v_b_6
B2[4],B2[6],B3[5] routing sp4_h_r_6 sp4_v_t_37
+B10[4],!B10[6],B11[5] routing sp4_h_r_6 sp4_v_t_43
+!B6[5],B7[4],B7[6] routing sp4_h_r_7 sp4_h_l_38
+B10[8],!B10[9],!B10[10] routing sp4_h_r_7 sp4_h_l_42
+!B14[8],B14[9],B14[10] routing sp4_h_r_7 sp4_h_l_47
!B0[4],B0[6],!B1[5] routing sp4_h_r_7 sp4_v_b_0
B9[8],!B9[9],!B9[10] routing sp4_h_r_7 sp4_v_b_7
B3[8],B3[9],B3[10] routing sp4_h_r_7 sp4_v_t_36
B11[8],B11[9],!B11[10] routing sp4_h_r_7 sp4_v_t_42
+B6[8],!B6[9],B6[10] routing sp4_h_r_8 sp4_h_l_41
+!B10[12],B11[11],!B11[13] routing sp4_h_r_8 sp4_h_l_45
+B14[12],!B15[11],B15[13] routing sp4_h_r_8 sp4_h_l_46
!B1[8],!B1[9],B1[10] routing sp4_h_r_8 sp4_v_b_1
!B8[11],!B8[13],B9[12] routing sp4_h_r_8 sp4_v_b_8
B2[11],B2[13],B3[12] routing sp4_h_r_8 sp4_v_t_39
+!B10[11],B10[13],B11[12] routing sp4_h_r_8 sp4_v_t_45
+B2[5],B3[4],!B3[6] routing sp4_h_r_9 sp4_h_l_37
+!B6[12],B7[11],B7[13] routing sp4_h_r_9 sp4_h_l_40
!B14[5],!B15[4],B15[6] routing sp4_h_r_9 sp4_h_l_44
B0[11],!B0[13],!B1[12] routing sp4_h_r_9 sp4_v_b_2
!B12[4],!B12[6],B13[5] routing sp4_h_r_9 sp4_v_b_9
B6[4],B6[6],B7[5] routing sp4_h_r_9 sp4_v_t_38
B14[4],!B14[6],B15[5] routing sp4_h_r_9 sp4_v_t_44
-B2[5],!B3[6] routing sp4_v_b_0 sp4_h_l_37
-B7[13] routing sp4_v_b_0 sp4_h_l_40
+B2[5],!B3[4],!B3[6] routing sp4_v_b_0 sp4_h_l_37
+!B6[12],!B7[11],B7[13] routing sp4_v_b_0 sp4_h_l_40
+B0[5],!B1[4],B1[6] routing sp4_v_b_0 sp4_h_r_0
+B8[5],B9[4],B9[6] routing sp4_v_b_0 sp4_h_r_6
B2[4],!B2[6],!B3[5] routing sp4_v_b_0 sp4_v_t_37
!B6[4],B6[6],B7[5] routing sp4_v_b_0 sp4_v_t_38
B10[11],B10[13],!B11[12] routing sp4_v_b_0 sp4_v_t_45
!B2[8],B2[9],!B2[10] routing sp4_v_b_1 sp4_h_l_36
!B10[5],B11[4],!B11[6] routing sp4_v_b_1 sp4_h_l_43
+B0[8],B0[9],!B0[10] routing sp4_v_b_1 sp4_h_r_1
B8[8],B8[9],B8[10] routing sp4_v_b_1 sp4_h_r_7
!B3[8],B3[9],!B3[10] routing sp4_v_b_1 sp4_v_t_36
B7[8],!B7[9],B7[10] routing sp4_v_b_1 sp4_v_t_41
B14[4],B14[6],!B15[5] routing sp4_v_b_1 sp4_v_t_44
!B6[5],B7[4],!B7[6] routing sp4_v_b_10 sp4_h_l_38
+!B14[8],B14[9],!B14[10] routing sp4_v_b_10 sp4_h_l_47
+B12[8],B12[9],!B12[10] routing sp4_v_b_10 sp4_h_r_10
B4[8],B4[9],B4[10] routing sp4_v_b_10 sp4_h_r_4
B3[8],!B3[9],B3[10] routing sp4_v_b_10 sp4_v_t_36
B10[4],B10[6],!B11[5] routing sp4_v_b_10 sp4_v_t_43
@@ -7543,14 +7940,21 @@ B10[4],B10[6],!B11[5] routing sp4_v_b_10 sp4_v_t_43
!B6[8],!B6[9],B6[10] routing sp4_v_b_11 sp4_h_l_41
B14[12],!B15[11],!B15[13] routing sp4_v_b_11 sp4_h_l_46
B12[12],B13[11],!B13[13] routing sp4_v_b_11 sp4_h_r_11
+B4[12],B5[11],B5[13] routing sp4_v_b_11 sp4_h_r_5
B2[11],!B2[13],B3[12] routing sp4_v_b_11 sp4_v_t_39
!B11[8],B11[9],B11[10] routing sp4_v_b_11 sp4_v_t_42
!B14[11],B14[13],!B15[12] routing sp4_v_b_11 sp4_v_t_46
+B2[12],!B3[11],!B3[13] routing sp4_v_b_2 sp4_h_l_39
!B10[8],!B10[9],B10[10] routing sp4_v_b_2 sp4_h_l_42
+B0[12],B1[11],!B1[13] routing sp4_v_b_2 sp4_h_r_2
+B8[12],B9[11],B9[13] routing sp4_v_b_2 sp4_h_r_8
!B2[11],B2[13],!B3[12] routing sp4_v_b_2 sp4_v_t_39
B6[11],!B6[13],B7[12] routing sp4_v_b_2 sp4_v_t_40
!B15[8],B15[9],B15[10] routing sp4_v_b_2 sp4_v_t_47
B6[5],!B7[4],!B7[6] routing sp4_v_b_3 sp4_h_l_38
+!B10[12],!B11[11],B11[13] routing sp4_v_b_3 sp4_h_l_45
+B4[5],!B5[4],B5[6] routing sp4_v_b_3 sp4_h_r_3
+B12[5],B13[4],B13[6] routing sp4_v_b_3 sp4_h_r_9
B6[4],!B6[6],!B7[5] routing sp4_v_b_3 sp4_v_t_38
!B10[4],B10[6],B11[5] routing sp4_v_b_3 sp4_v_t_43
B14[11],B14[13],!B15[12] routing sp4_v_b_3 sp4_v_t_46
@@ -7561,7 +7965,7 @@ B4[8],B4[9],!B4[10] routing sp4_v_b_4 sp4_h_r_4
B2[4],B2[6],!B3[5] routing sp4_v_b_4 sp4_v_t_37
!B7[8],B7[9],!B7[10] routing sp4_v_b_4 sp4_v_t_41
B11[8],!B11[9],B11[10] routing sp4_v_b_4 sp4_v_t_42
-B6[12],!B7[11] routing sp4_v_b_5 sp4_h_l_40
+B6[12],!B7[11],!B7[13] routing sp4_v_b_5 sp4_h_l_40
!B14[8],!B14[9],B14[10] routing sp4_v_b_5 sp4_h_l_47
B12[12],B13[11],B13[13] routing sp4_v_b_5 sp4_h_r_11
B4[12],B5[11],!B5[13] routing sp4_v_b_5 sp4_h_r_5
@@ -7570,19 +7974,24 @@ B4[12],B5[11],!B5[13] routing sp4_v_b_5 sp4_h_r_5
B10[11],!B10[13],B11[12] routing sp4_v_b_5 sp4_v_t_45
B10[5],!B11[4],!B11[6] routing sp4_v_b_6 sp4_h_l_43
!B14[12],!B15[11],B15[13] routing sp4_v_b_6 sp4_h_l_46
-B8[5],B9[6] routing sp4_v_b_6 sp4_h_r_6
+B0[5],B1[4],B1[6] routing sp4_v_b_6 sp4_h_r_0
+B8[5],!B9[4],B9[6] routing sp4_v_b_6 sp4_h_r_6
B2[11],B2[13],!B3[12] routing sp4_v_b_6 sp4_v_t_39
B10[4],!B10[6],!B11[5] routing sp4_v_b_6 sp4_v_t_43
!B14[4],B14[6],B15[5] routing sp4_v_b_6 sp4_v_t_44
-B3[4] routing sp4_v_b_7 sp4_h_l_37
+!B2[5],B3[4],!B3[6] routing sp4_v_b_7 sp4_h_l_37
+!B10[8],B10[9],!B10[10] routing sp4_v_b_7 sp4_h_l_42
+B0[8],B0[9],B0[10] routing sp4_v_b_7 sp4_h_r_1
+B8[8],B8[9],!B8[10] routing sp4_v_b_7 sp4_h_r_7
B6[4],B6[6],!B7[5] routing sp4_v_b_7 sp4_v_t_38
!B11[8],B11[9],!B11[10] routing sp4_v_b_7 sp4_v_t_42
B15[8],!B15[9],B15[10] routing sp4_v_b_7 sp4_v_t_47
!B2[8],!B2[9],B2[10] routing sp4_v_b_8 sp4_h_l_36
B10[12],!B11[11],!B11[13] routing sp4_v_b_8 sp4_h_l_45
B0[12],B1[11],B1[13] routing sp4_v_b_8 sp4_h_r_2
+B8[12],B9[11],!B9[13] routing sp4_v_b_8 sp4_h_r_8
!B7[8],B7[9],B7[10] routing sp4_v_b_8 sp4_v_t_41
-!B10[11],B10[13] routing sp4_v_b_8 sp4_v_t_45
+!B10[11],B10[13],!B11[12] routing sp4_v_b_8 sp4_v_t_45
B14[11],!B14[13],B15[12] routing sp4_v_b_8 sp4_v_t_46
!B2[12],!B3[11],B3[13] routing sp4_v_b_9 sp4_h_l_39
B14[5],!B15[4],!B15[6] routing sp4_v_b_9 sp4_h_l_44
@@ -7593,19 +8002,22 @@ B6[11],B6[13],!B7[12] routing sp4_v_b_9 sp4_v_t_40
B14[4],!B14[6],!B15[5] routing sp4_v_b_9 sp4_v_t_44
B2[8],B2[9],!B2[10] routing sp4_v_t_36 sp4_h_l_36
B10[8],B10[9],B10[10] routing sp4_v_t_36 sp4_h_l_42
-B0[9] routing sp4_v_t_36 sp4_h_r_1
-B9[4] routing sp4_v_t_36 sp4_h_r_6
+!B0[8],B0[9],!B0[10] routing sp4_v_t_36 sp4_h_r_1
+!B8[5],B9[4],!B9[6] routing sp4_v_t_36 sp4_h_r_6
!B1[8],B1[9],!B1[10] routing sp4_v_t_36 sp4_v_b_1
B5[8],!B5[9],B5[10] routing sp4_v_t_36 sp4_v_b_4
B12[4],B12[6],!B13[5] routing sp4_v_t_36 sp4_v_b_9
-B2[5],B3[6] routing sp4_v_t_37 sp4_h_l_37
+B2[5],!B3[4],B3[6] routing sp4_v_t_37 sp4_h_l_37
B10[5],B11[4],B11[6] routing sp4_v_t_37 sp4_h_l_43
-B0[5] routing sp4_v_t_37 sp4_h_r_0
+B0[5],!B1[4],!B1[6] routing sp4_v_t_37 sp4_h_r_0
+!B4[12],!B5[11],B5[13] routing sp4_v_t_37 sp4_h_r_5
B0[4],!B0[6],!B1[5] routing sp4_v_t_37 sp4_v_b_0
!B4[4],B4[6],B5[5] routing sp4_v_t_37 sp4_v_b_3
B8[11],B8[13],!B9[12] routing sp4_v_t_37 sp4_v_b_8
+B6[5],!B7[4],B7[6] routing sp4_v_t_38 sp4_h_l_38
B14[5],B15[4],B15[6] routing sp4_v_t_38 sp4_h_l_44
-B9[13] routing sp4_v_t_38 sp4_h_r_8
+B4[5],!B5[4],!B5[6] routing sp4_v_t_38 sp4_h_r_3
+!B8[12],!B9[11],B9[13] routing sp4_v_t_38 sp4_h_r_8
B12[11],B12[13],!B13[12] routing sp4_v_t_38 sp4_v_b_11
B4[4],!B4[6],!B5[5] routing sp4_v_t_38 sp4_v_b_3
!B8[4],B8[6],B9[5] routing sp4_v_t_38 sp4_v_b_6
@@ -7616,7 +8028,7 @@ B0[12],!B1[11],!B1[13] routing sp4_v_t_39 sp4_h_r_2
!B13[8],B13[9],B13[10] routing sp4_v_t_39 sp4_v_b_10
!B0[11],B0[13],!B1[12] routing sp4_v_t_39 sp4_v_b_2
B4[11],!B4[13],B5[12] routing sp4_v_t_39 sp4_v_b_5
-B6[12],B7[11] routing sp4_v_t_40 sp4_h_l_40
+B6[12],B7[11],!B7[13] routing sp4_v_t_40 sp4_h_l_40
B14[12],B15[11],B15[13] routing sp4_v_t_40 sp4_h_l_46
!B12[8],!B12[9],B12[10] routing sp4_v_t_40 sp4_h_r_10
B4[12],!B5[11],!B5[13] routing sp4_v_t_40 sp4_h_r_5
@@ -7626,17 +8038,21 @@ B8[11],!B8[13],B9[12] routing sp4_v_t_40 sp4_v_b_8
B6[8],B6[9],!B6[10] routing sp4_v_t_41 sp4_h_l_41
B14[8],B14[9],B14[10] routing sp4_v_t_41 sp4_h_l_47
!B4[8],B4[9],!B4[10] routing sp4_v_t_41 sp4_h_r_4
-!B12[5],B13[4] routing sp4_v_t_41 sp4_h_r_9
+!B12[5],B13[4],!B13[6] routing sp4_v_t_41 sp4_h_r_9
B0[4],B0[6],!B1[5] routing sp4_v_t_41 sp4_v_b_0
!B5[8],B5[9],!B5[10] routing sp4_v_t_41 sp4_v_b_4
B9[8],!B9[9],B9[10] routing sp4_v_t_41 sp4_v_b_7
B2[8],B2[9],B2[10] routing sp4_v_t_42 sp4_h_l_36
B10[8],B10[9],!B10[10] routing sp4_v_t_42 sp4_h_l_42
+!B0[5],B1[4],!B1[6] routing sp4_v_t_42 sp4_h_r_0
+!B8[8],B8[9],!B8[10] routing sp4_v_t_42 sp4_h_r_7
B13[8],!B13[9],B13[10] routing sp4_v_t_42 sp4_v_b_10
B4[4],B4[6],!B5[5] routing sp4_v_t_42 sp4_v_b_3
!B9[8],B9[9],!B9[10] routing sp4_v_t_42 sp4_v_b_7
+B2[5],B3[4],B3[6] routing sp4_v_t_43 sp4_h_l_37
B10[5],!B11[4],B11[6] routing sp4_v_t_43 sp4_h_l_43
!B12[12],!B13[11],B13[13] routing sp4_v_t_43 sp4_h_r_11
+B8[5],!B9[4],!B9[6] routing sp4_v_t_43 sp4_h_r_6
B0[11],B0[13],!B1[12] routing sp4_v_t_43 sp4_v_b_2
B8[4],!B8[6],!B9[5] routing sp4_v_t_43 sp4_v_b_6
!B12[4],B12[6],B13[5] routing sp4_v_t_43 sp4_v_b_9
@@ -7649,10 +8065,12 @@ B4[11],B4[13],!B5[12] routing sp4_v_t_44 sp4_v_b_5
B12[4],!B12[6],!B13[5] routing sp4_v_t_44 sp4_v_b_9
B2[12],B3[11],B3[13] routing sp4_v_t_45 sp4_h_l_39
B10[12],B11[11],!B11[13] routing sp4_v_t_45 sp4_h_l_45
-B8[12] routing sp4_v_t_45 sp4_h_r_8
+!B0[8],!B0[9],B0[10] routing sp4_v_t_45 sp4_h_r_1
+B8[12],!B9[11],!B9[13] routing sp4_v_t_45 sp4_h_r_8
B12[11],!B12[13],B13[12] routing sp4_v_t_45 sp4_v_b_11
!B5[8],B5[9],B5[10] routing sp4_v_t_45 sp4_v_b_4
!B8[11],B8[13],!B9[12] routing sp4_v_t_45 sp4_v_b_8
+B6[12],B7[11],B7[13] routing sp4_v_t_46 sp4_h_l_40
B14[12],B15[11],!B15[13] routing sp4_v_t_46 sp4_h_l_46
B12[12],!B13[11],!B13[13] routing sp4_v_t_46 sp4_h_r_11
!B4[8],!B4[9],B4[10] routing sp4_v_t_46 sp4_h_r_4
@@ -7662,6 +8080,7 @@ B0[11],!B0[13],B1[12] routing sp4_v_t_46 sp4_v_b_2
B6[8],B6[9],B6[10] routing sp4_v_t_47 sp4_h_l_41
B14[8],B14[9],!B14[10] routing sp4_v_t_47 sp4_h_l_47
!B12[8],B12[9],!B12[10] routing sp4_v_t_47 sp4_h_r_10
+!B4[5],B5[4],!B5[6] routing sp4_v_t_47 sp4_h_r_3
B1[8],!B1[9],B1[10] routing sp4_v_t_47 sp4_v_b_1
!B13[8],B13[9],!B13[10] routing sp4_v_t_47 sp4_v_b_10
B8[4],B8[6],!B9[5] routing sp4_v_t_47 sp4_v_b_6
diff --git a/icefuzz/fuzzconfig.py b/icefuzz/fuzzconfig.py
index 2e925ef..a5c1e2c 100644
--- a/icefuzz/fuzzconfig.py
+++ b/icefuzz/fuzzconfig.py
@@ -63,8 +63,10 @@ elif device_class == "5k":
#TODO(tannewt): Add 39, 40, 41 to this list. It causes placement failures for some reason.
# Also add 14 15 16 17 which are constrained to SPI.
+ #TODO(daveshah1): Add back I3C IO 23 which cause placement failures when assigned to
+ #an SB_IO clk_in
pins = """2 3 4 6 9 10 11 12
- 13 18 19 20 21 23
+ 13 18 19 20 21
25 26 27 28 31 32 34 35 36
37 38 42 43 44 45 46 47 48
""".split()
diff --git a/icefuzz/glbcheck.py b/icefuzz/glbcheck.py
index 742c335..49008ca 100644
--- a/icefuzz/glbcheck.py
+++ b/icefuzz/glbcheck.py
@@ -30,13 +30,13 @@ with open(argv[1]) as f:
with open(argv[2]) as f:
current_tile = None
for line in f:
- if line.startswith(("Tile", "IO_Tile", "RAM_Tile", "LogicTile")):
- f = line.replace("IO_", "").replace("RAM_", "").split("_")
+ if line.startswith(("Tile", "IO_Tile", "RAM_Tile", "LogicTile", "DSP_Tile", "IpCon_Tile")):
+ f = line.replace("IO_", "").replace("RAM_", "").replace("DSP_","").replace("IpCon_","").split("_")
assert len(f) == 3
current_tile = "%02d.%02d" % (int(f[1]), int(f[2]))
continue
- if line.find("GlobalNetwork") >= 0 or line.startswith(("IpCon", "DSP")):
+ if line.find("GlobalNetwork") >= 0:
current_tile = None
continue
@@ -65,4 +65,3 @@ for bit in sorted(only_in_glb):
print(bit)
exit(1)
-
diff --git a/icefuzz/make_prim.py b/icefuzz/make_prim.py
index b96a100..90186da 100644
--- a/icefuzz/make_prim.py
+++ b/icefuzz/make_prim.py
@@ -31,20 +31,40 @@ for idx in range(num):
print("endmodule", file=f)
with open(working_dir + "/prim_%02d.pcf" % idx, "w") as f:
p = np.random.permutation(pins)
+ used_pins = []
if np.random.choice([True, False]):
for i in range(w):
print("set_io a[%d] %s" % (i, p[i]), file=f)
+ used_pins.append(p[i])
if np.random.choice([True, False]):
for i in range(w):
print("set_io b[%d] %s" % (i, p[w+i]), file=f)
+ used_pins.append(p[w+i])
if np.random.choice([True, False]):
for i in range(w):
print("set_io y[%d] %s" % (i, p[2*w+i]), file=f)
+ used_pins.append(p[2*w+i])
if np.random.choice([True, False]):
print("set_io x %s" % p[3*w], file=f)
+ used_pins.append(p[3*w])
+
if np.random.choice([True, False]):
print("set_io y %s" % p[3*w+1], file=f)
- if np.random.choice([True, False]):
+ used_pins.append(p[3*w+1])
+
+ # There is a low but non-zero probability, particularly on devices with
+ # fewer pins and GBINs such as the UltraPlus, that a permutation will be
+ # picked where all of the GBINs are already constrained at this point,
+ # hence icecube fails to assign clk successfully. This is fixed by
+ # forcing clock assignment if no GBINs are free.
+
+ global_free = False
+ for glbi in gpins:
+ if not glbi in used_pins:
+ global_free = True
+ break
+
+ if np.random.choice([True, False]) or not global_free:
print("set_io clk %s" % p[3*w+2], file=f)
diff --git a/icefuzz/make_ram40.py b/icefuzz/make_ram40.py
index f4acb4e..75ac604 100644
--- a/icefuzz/make_ram40.py
+++ b/icefuzz/make_ram40.py
@@ -14,7 +14,11 @@ os.mkdir(working_dir)
for idx in range(num):
with open(working_dir + "/ram40_%02d.v" % idx, "w") as f:
glbs = ["glb[%d]" % i for i in range(np.random.randint(8)+1)]
- glbs_choice = ["wa", "ra", "msk", "wd", "we", "wce", "wc", "re", "rce", "rc"]
+ # Connecting GLB to CE pins seemingly disallowed
+ if device_class == "5k":
+ glbs_choice = ["wa", "ra", "msk", "wd", "we", "wc", "re", "rc"]
+ else:
+ glbs_choice = ["wa", "ra", "msk", "wd", "we", "wce", "wc", "re", "rce", "rc"]
print("""
module top (
input [%d:0] glb_pins,
@@ -26,7 +30,7 @@ for idx in range(num):
.USER_SIGNAL_TO_GLOBAL_BUFFER(glb_pins),
.GLOBAL_BUFFER_OUTPUT(glb)
);
- """ % (len(glbs)-1, len(pins) - 16 - 1, len(glbs)-1, len(glbs)-1), file=f)
+ """ % (len(glbs)-1, len(pins) - len(glbs) - 16 - 1, len(glbs)-1, len(glbs)-1), file=f)
bits = ["in_pins[%d]" % i for i in range(60)]
bits = list(np.random.permutation(bits))
for i in range(num_ramb40):
@@ -102,7 +106,7 @@ for idx in range(num):
print("endmodule", file=f)
with open(working_dir + "/ram40_%02d.pcf" % idx, "w") as f:
p = list(np.random.permutation(pins))
- for i in range(len(pins) - 16):
+ for i in range(len(pins) - len(glbs) - 16):
print("set_io in_pins[%d] %s" % (i, p.pop()), file=f)
for i in range(16):
print("set_io out_pins[%d] %s" % (i, p.pop()), file=f)
diff --git a/icefuzz/tests/.gitignore b/icefuzz/tests/.gitignore
new file mode 100644
index 0000000..cc0ba46
--- /dev/null
+++ b/icefuzz/tests/.gitignore
@@ -0,0 +1,2 @@
+ioctrl.work
+intosc.work
diff --git a/icefuzz/tests/intosc.pcf b/icefuzz/tests/intosc.pcf
new file mode 100644
index 0000000..9e580de
--- /dev/null
+++ b/icefuzz/tests/intosc.pcf
@@ -0,0 +1,3 @@
+set_io clkhfpu 2
+set_io clkhfen 3
+set_io clkhf 4
diff --git a/icefuzz/tests/intosc.v b/icefuzz/tests/intosc.v
new file mode 100644
index 0000000..227cb55
--- /dev/null
+++ b/icefuzz/tests/intosc.v
@@ -0,0 +1,14 @@
+module top (
+ input clkhfpu,
+ input clkhfen,
+ output clkhf
+);
+SB_HFOSC #(
+
+ .CLKHF_DIV("0b10")
+) hfosc (
+ .CLKHFPU(clkhfpu),
+ .CLKHFEN(clkhfen),
+ .CLKHF(clkhf)
+);
+endmodule
diff --git a/icefuzz/tests/ioctrl_5k.py b/icefuzz/tests/ioctrl_5k.py
new file mode 100644
index 0000000..67c0c6d
--- /dev/null
+++ b/icefuzz/tests/ioctrl_5k.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import fileinput
+
+for line in fileinput.input():
+ line = line.split()
+ if len(line) == 0:
+ continue
+ if line[0] == ".io_tile":
+ current_tile = (int(line[1]), int(line[2]))
+ if line[0] == "IoCtrl" and line[1] == "REN_0":
+ ren = (current_tile[0], current_tile[1], 0)
+ if line[0] == "IoCtrl" and line[1] == "REN_1":
+ ren = (current_tile[0], current_tile[1], 1)
+ if line[0] == "IOB_0":
+ iob = (current_tile[0], current_tile[1], 0)
+ if line[0] == "IOB_1":
+ iob = (current_tile[0], current_tile[1], 1)
+
+print("(%2d, %2d, %2d, %2d, %2d, %2d)," % (iob[0], iob[1], iob[2], ren[0], ren[1], ren[2]))
+
diff --git a/icefuzz/tests/ioctrl_5k.sh b/icefuzz/tests/ioctrl_5k.sh
new file mode 100755
index 0000000..339cac7
--- /dev/null
+++ b/icefuzz/tests/ioctrl_5k.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -ex
+
+mkdir -p ioctrl.work
+cd ioctrl.work
+
+pins="2 3 4 6 9 10 11 12
+ 13 14 15 16 17 18 19 20 21 23
+ 25 26 27 28 31 32 34 35 36
+ 37 38 42 43 44 45 46 47 48
+ "
+pins="$( echo $pins )"
+
+for pin in $pins; do
+ pf="ioctrl_$pin"
+ echo "module top (output pin); assign pin = 1; endmodule" > ${pf}.v
+ echo "set_io pin $pin" > ${pf}.pcf
+ bash ../../icecube.sh -up5k ${pf}.v > ${pf}.log 2>&1
+ ../../../icebox/icebox_explain.py ${pf}.asc > ${pf}.exp
+done
+
+set +x
+echo "--snip--"
+for pin in $pins; do
+ python3 ../ioctrl_5k.py ioctrl_${pin}.exp
+done | tee ioctrl_db.txt
+echo "--snap--"
diff --git a/icefuzz/tests/pllauto/.gitignore b/icefuzz/tests/pllauto/.gitignore
new file mode 100644
index 0000000..7fafebe
--- /dev/null
+++ b/icefuzz/tests/pllauto/.gitignore
@@ -0,0 +1 @@
+work_pllauto/ \ No newline at end of file
diff --git a/icefuzz/tests/pllauto/pll_data_up5k.txt b/icefuzz/tests/pllauto/pll_data_up5k.txt
new file mode 100644
index 0000000..2010989
--- /dev/null
+++ b/icefuzz/tests/pllauto/pll_data_up5k.txt
@@ -0,0 +1,39 @@
+"PLLTYPE_1": (14, 31, "PLLCONFIG_1"),
+"PLLTYPE_2": (14, 31, "PLLCONFIG_3"),
+"PLLTYPE_0": (12, 31, "PLLCONFIG_5"),
+"FEEDBACK_PATH_0": (14, 31, "PLLCONFIG_5"),
+"FEEDBACK_PATH_1": (11, 31, "PLLCONFIG_9"),
+"FEEDBACK_PATH_2": (12, 31, "PLLCONFIG_1"),
+"PLLOUT_SELECT_A_0": (12, 31, "PLLCONFIG_6"),
+"PLLOUT_SELECT_A_1": (12, 31, "PLLCONFIG_7"),
+"PLLOUT_SELECT_B_0": (12, 31, "PLLCONFIG_2"),
+"PLLOUT_SELECT_B_1": (12, 31, "PLLCONFIG_3"),
+"SHIFTREG_DIV_MODE": (12, 31, "PLLCONFIG_4"),
+"FDA_FEEDBACK_0": (12, 31, "PLLCONFIG_9"),
+"FDA_FEEDBACK_1": (13, 31, "PLLCONFIG_1"),
+"FDA_FEEDBACK_2": (13, 31, "PLLCONFIG_2"),
+"FDA_FEEDBACK_3": (13, 31, "PLLCONFIG_3"),
+"FDA_RELATIVE_0": (13, 31, "PLLCONFIG_5"),
+"FDA_RELATIVE_1": (13, 31, "PLLCONFIG_6"),
+"FDA_RELATIVE_2": (13, 31, "PLLCONFIG_7"),
+"FDA_RELATIVE_3": (13, 31, "PLLCONFIG_8"),
+"DIVR_0": (10, 31, "PLLCONFIG_1"),
+"DIVR_1": (10, 31, "PLLCONFIG_2"),
+"DIVR_2": (10, 31, "PLLCONFIG_3"),
+"DIVR_3": (10, 31, "PLLCONFIG_4"),
+"DIVF_0": (10, 31, "PLLCONFIG_5"),
+"DIVF_1": (10, 31, "PLLCONFIG_6"),
+"DIVF_2": (10, 31, "PLLCONFIG_7"),
+"DIVF_3": (10, 31, "PLLCONFIG_8"),
+"DIVF_4": (10, 31, "PLLCONFIG_9"),
+"DIVF_5": (11, 31, "PLLCONFIG_1"),
+"DIVF_6": (11, 31, "PLLCONFIG_2"),
+"DIVQ_0": (11, 31, "PLLCONFIG_3"),
+"DIVQ_1": (11, 31, "PLLCONFIG_4"),
+"DIVQ_2": (11, 31, "PLLCONFIG_5"),
+"FILTER_RANGE_0": (11, 31, "PLLCONFIG_6"),
+"FILTER_RANGE_1": (11, 31, "PLLCONFIG_7"),
+"FILTER_RANGE_2": (11, 31, "PLLCONFIG_8"),
+"TEST_MODE": (12, 31, "PLLCONFIG_8"),
+"DELAY_ADJMODE_FB": (13, 31, "PLLCONFIG_4"),
+"DELAY_ADJMODE_REL": (13, 31, "PLLCONFIG_9"),
diff --git a/icefuzz/tests/pllauto/pllauto.py b/icefuzz/tests/pllauto/pllauto.py
new file mode 100755
index 0000000..647be29
--- /dev/null
+++ b/icefuzz/tests/pllauto/pllauto.py
@@ -0,0 +1,276 @@
+#!/usr/bin/env python3
+
+import os, sys
+# PLL automatic fuzzing script (WIP)
+
+device = "up5k"
+
+# PLL config bits to be fuzzed
+# These must be in an order such that a config with bit i set doesn't set any other undiscovered bits yet
+# e.g. PLL_TYPE must be fuzzed first as these will need to be set later on by virtue of enabling the PLL
+
+fuzz_bits = [
+ "PLLTYPE_1",
+ "PLLTYPE_2",
+ "PLLTYPE_0", #NB: as per the rule above this comes later is it can only be set by also setting 1 or 2
+
+ "FEEDBACK_PATH_0",
+ "FEEDBACK_PATH_1",
+ "FEEDBACK_PATH_2",
+
+ "PLLOUT_SELECT_A_0",
+ "PLLOUT_SELECT_A_1",
+
+ "PLLOUT_SELECT_B_0",
+ "PLLOUT_SELECT_B_1",
+
+ "SHIFTREG_DIV_MODE",
+
+ "FDA_FEEDBACK_0",
+ "FDA_FEEDBACK_1",
+ "FDA_FEEDBACK_2",
+ "FDA_FEEDBACK_3",
+
+ "FDA_RELATIVE_0",
+ "FDA_RELATIVE_1",
+ "FDA_RELATIVE_2",
+ "FDA_RELATIVE_3",
+
+ "DIVR_0",
+ "DIVR_1",
+ "DIVR_2",
+ "DIVR_3",
+
+ "DIVF_0",
+ "DIVF_1",
+ "DIVF_2",
+ "DIVF_3",
+ "DIVF_4",
+ "DIVF_5",
+ "DIVF_6",
+
+ #DIVQ_0 is missing, see comments later on
+ "DIVQ_1",
+ "DIVQ_2",
+
+ "FILTER_RANGE_0",
+ "FILTER_RANGE_1",
+ "FILTER_RANGE_2",
+
+ "TEST_MODE",
+
+ "DELAY_ADJMODE_FB", #these come at the end in case they set FDA_RELATIVE??
+ "DELAY_ADJMODE_REL"
+]
+
+# Boilerplate code based on the icefuzz script
+code_prefix = """
+module top(packagepin, a, b, w, x, y, z, extfeedback, bypass, resetb, lock, latchinputvalue, sdi, sdo, sclk, dynamicdelay_0, dynamicdelay_1, dynamicdelay_2, dynamicdelay_3, dynamicdelay_4, dynamicdelay_5, dynamicdelay_6, dynamicdelay_7);
+input packagepin;
+input a;
+input b;
+output w;
+output x;
+output reg y;
+output reg z;
+input extfeedback;
+input bypass;
+input resetb;
+output lock;
+input latchinputvalue;
+input sdi;
+output sdo;
+input sclk;
+wire plloutcorea;
+wire plloutcoreb;
+wire plloutglobala;
+wire plloutglobalb;
+assign w = plloutcorea ^ a;
+assign x = plloutcoreb ^ b;
+always @(posedge plloutglobala) y <= a;
+always @(posedge plloutglobalb) z <= b;
+input dynamicdelay_0;
+input dynamicdelay_1;
+input dynamicdelay_2;
+input dynamicdelay_3;
+input dynamicdelay_4;
+input dynamicdelay_5;
+input dynamicdelay_6;
+input dynamicdelay_7;
+"""
+
+def get_param_value(param_name, param_size, fuzz_bit):
+ param = str(param_size) + "'b";
+ for i in range(param_size - 1, -1, -1):
+ if fuzz_bit == param_name + "_" + str(i):
+ param += '1'
+ else:
+ param += '0'
+ return param
+def inst_pll(fuzz_bit):
+ pll_type = "SB_PLL40_2F_PAD" #default to this as it's most flexible
+
+ if fuzz_bit == "PLLTYPE_0":
+ pll_type = "SB_PLL40_CORE"
+ elif fuzz_bit == "PLLTYPE_1":
+ pll_type = "SB_PLL40_PAD"
+ elif fuzz_bit == "PLLTYPE_2":
+ pll_type = "SB_PLL40_2_PAD"
+
+ v = pll_type + " pll_inst (\n"
+ if pll_type == "SB_PLL40_CORE":
+ v += "\t.REFERENCECLK(referenceclk), \n"
+ else:
+ v += "\t.PACKAGEPIN(packagepin), \n"
+ v += "\t.RESETB(resetb),\n"
+ v += "\t.BYPASS(bypass),\n"
+ v += "\t.EXTFEEDBACK(extfeedback),\n"
+ v += "\t.LOCK(lock),\n"
+ v += "\t.LATCHINPUTVALUE(latchinputvalue),\n"
+ v += "\t.SDI(sdi),\n"
+ v += "\t.SDO(sdo),\n"
+ v += "\t.SCLK(sclk),\n"
+ if pll_type == "SB_PLL40_2F_PAD" or pll_type == "SB_PLL40_2_PAD":
+ v += "\t.PLLOUTCOREA(plloutcorea),\n"
+ v += "\t.PLLOUTGLOBALA(plloutglobala),\n"
+ v += "\t.PLLOUTCOREB(plloutcoreb),\n"
+ v += "\t.PLLOUTGLOBALB(plloutglobalb),\n"
+ else:
+ v += "\t.PLLOUTCORE(plloutcorea),\n"
+ v += "\t.PLLOUTGLOBAL(plloutglobala),\n"
+ v += "\t.DYNAMICDELAY({dynamicdelay_7, dynamicdelay_6, dynamicdelay_5, dynamicdelay_4, dynamicdelay_3, dynamicdelay_2, dynamicdelay_1, dynamicdelay_0})\n"
+ v += ");\n"
+
+ v += "defparam pll_inst.DIVR = " + get_param_value("DIVR", 4, fuzz_bit) + ";\n"
+ v += "defparam pll_inst.DIVF = " + get_param_value("DIVF", 7, fuzz_bit) + ";\n"
+ v += "defparam pll_inst.DIVQ = " + get_param_value("DIVQ", 3, fuzz_bit) + ";\n"
+ v += "defparam pll_inst.FILTER_RANGE = " + get_param_value("FILTER_RANGE", 3, fuzz_bit) + ";\n"
+
+ if fuzz_bit == "FEEDBACK_PATH_0":
+ v += "defparam pll_inst.FEEDBACK_PATH = \"SIMPLE\";\n"
+ elif fuzz_bit == "FEEDBACK_PATH_1":
+ v += "defparam pll_inst.FEEDBACK_PATH = \"PHASE_AND_DELAY\";\n"
+ elif fuzz_bit == "FEEDBACK_PATH_2":
+ v += "defparam pll_inst.FEEDBACK_PATH = \"EXTERNAL\";\n"
+ else:
+ v += "defparam pll_inst.FEEDBACK_PATH = \"DELAY\";\n"
+
+ v += "defparam pll_inst.DELAY_ADJUSTMENT_MODE_FEEDBACK = \"" + ("DYNAMIC" if (fuzz_bit == "DELAY_ADJMODE_FB") else "FIXED") + "\";\n"
+ v += "defparam pll_inst.FDA_FEEDBACK = " + get_param_value("FDA_FEEDBACK", 4, fuzz_bit) + ";\n"
+ v += "defparam pll_inst.DELAY_ADJUSTMENT_MODE_RELATIVE = \"" + ("DYNAMIC" if (fuzz_bit == "DELAY_ADJMODE_REL") else "FIXED") + "\";\n"
+ v += "defparam pll_inst.FDA_RELATIVE = " + get_param_value("FDA_RELATIVE", 4, fuzz_bit) + ";\n"
+ v += "defparam pll_inst.SHIFTREG_DIV_MODE = " + ("1'b1" if (fuzz_bit == "SHIFTREG_DIV_MODE") else "1'b0") + ";\n"
+
+
+
+ if pll_type == "SB_PLL40_2F_PAD" or pll_type == "SB_PLL40_2_PAD":
+ if pll_type == "SB_PLL40_2F_PAD":
+ if fuzz_bit == "PLLOUT_SELECT_A_0":
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTA = \"GENCLK_HALF\";\n"
+ elif fuzz_bit == "PLLOUT_SELECT_A_1":
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTA = \"SHIFTREG_90deg\";\n"
+ else:
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTA = \"GENCLK\";\n"
+ if fuzz_bit == "PLLOUT_SELECT_B_0":
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTB = \"GENCLK_HALF\";\n"
+ elif fuzz_bit == "PLLOUT_SELECT_B_1":
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTB = \"SHIFTREG_90deg\";\n"
+ else:
+ v += "defparam pll_inst.PLLOUT_SELECT_PORTB = \"GENCLK\";\n"
+ else:
+ if fuzz_bit == "PLLOUT_SELECT_A_0":
+ v += "defparam pll_inst.PLLOUT_SELECT = \"GENCLK_HALF\";\n"
+ elif fuzz_bit == "PLLOUT_SELECT_A_1":
+ v += "defparam pll_inst.PLLOUT_SELECT = \"SHIFTREG_90deg\";\n"
+ else:
+ v += "defparam pll_inst.PLLOUT_SELECT = \"GENCLK\";\n"
+ v += "defparam pll_inst.TEST_MODE = " + ("1'b1" if (fuzz_bit == "TEST_MODE") else "1'b0") + ";\n"
+
+ return v;
+
+def make_vlog(fuzz_bit):
+ vlog = code_prefix
+ vlog += inst_pll(fuzz_bit)
+ vlog += "endmodule"
+ return vlog
+
+known_bits = []
+
+# Set to true to continue even if multiple bits are changed (needed because
+# of the issue discusssed below)
+show_all_bits = False #TODO: make this an argument
+
+device = "up5k" #TODO: environment variable?
+
+#HACK: icecube doesn't let you set all of the DIVQ bits to 0,
+#which makes fuzzing early on annoying as there is never a case
+#with just 1 bit set. So a tiny bit of semi-manual work is needed
+#first to discover this (basically run this script with show_all_bits=True
+#and look for the stuck bit)
+#TODO: clever code could get rid of this
+divq_bit0 = {
+ "up5k" : (11, 31, 3)
+}
+
+#Return a list of PLL config bits in the format (x, y, bit)
+def parse_exp(expfile):
+ current_x = 0
+ current_y = 0
+ bits = []
+ with open(expfile, 'r') as f:
+ for line in f:
+ splitline = line.split(' ')
+ if splitline[0] == ".io_tile":
+ current_x = int(splitline[1])
+ current_y = int(splitline[2])
+ elif splitline[0] == "PLL":
+ if splitline[1][:10] == "PLLCONFIG_":
+ bitidx = int(splitline[1][10:])
+ bits.append((current_x, current_y, bitidx))
+ return bits
+
+#Convert a bit tuple as returned from the above to a nice string
+def bit_to_str(bit):
+ return "(%d, %d, \"PLLCONFIG_%d\")" % bit
+
+#The main fuzzing function
+def do_fuzz():
+ if not os.path.exists("./work_pllauto"):
+ os.mkdir("./work_pllauto")
+ known_bits.append(divq_bit0[device])
+ with open("pll_data_" + device + ".txt", 'w') as dat:
+ for fuzz_bit in fuzz_bits:
+ vlog = make_vlog(fuzz_bit)
+ with open("./work_pllauto/pllauto.v", 'w') as f:
+ f.write(vlog)
+ retval = os.system("bash ../../icecube.sh -" + device + " ./work_pllauto/pllauto.v > ./work_pllauto/icecube.log 2>&1")
+ if retval != 0:
+ sys.stderr.write('ERROR: icecube returned non-zero error code\n')
+ sys.exit(1)
+ retval = os.system("../../../icebox/icebox_explain.py ./work_pllauto/pllauto.asc > ./work_pllauto/pllauto.exp")
+ if retval != 0:
+ sys.stderr.write('ERROR: icebox_explain returned non-zero error code\n')
+ sys.exit(1)
+ pll_bits = parse_exp("./work_pllauto/pllauto.exp")
+ new_bits = []
+ for set_bit in pll_bits:
+ if not (set_bit in known_bits):
+ new_bits.append(set_bit)
+ if len(new_bits) == 0:
+ sys.stderr.write('ERROR: no new bits set when setting config bit ' + fuzz_bit + '\n')
+ sys.exit(1)
+ if len(new_bits) > 1:
+ sys.stderr.write('ERROR: multiple new bits set when setting config bit ' + fuzz_bit + '\n')
+ for bit in new_bits:
+ sys.stderr.write('\t' + bit_to_str(bit) + '\n')
+ if not show_all_bits:
+ sys.exit(1)
+ if len(new_bits) == 1:
+ known_bits.append(new_bits[0])
+ #print DIVQ_0 at the right moment, as it's not fuzzed normally
+ if fuzz_bit == "DIVQ_1":
+ print(("\"DIVQ_0\":").ljust(24) + bit_to_str(divq_bit0[device]) + ",")
+ dat.write(("\"DIVQ_0\":").ljust(24) + bit_to_str(divq_bit0[device]) + ",\n")
+ print(("\"" + fuzz_bit + "\":").ljust(24) + bit_to_str(new_bits[0]) + ",")
+ dat.write(("\"" + fuzz_bit + "\":").ljust(24) + bit_to_str(new_bits[0]) + ",\n")
+do_fuzz() \ No newline at end of file
diff --git a/icefuzz/tests/sb_io_od.pcf b/icefuzz/tests/sb_io_od.pcf
new file mode 100644
index 0000000..b613227
--- /dev/null
+++ b/icefuzz/tests/sb_io_od.pcf
@@ -0,0 +1,12 @@
+# set_io pin 1
+set_io pin 39
+
+# set_io pin
+# set_io latch_in
+# set_io clk_in
+# set_io clk_out
+# set_io oen
+# set_io dout_0
+# set_io dout_1
+# set_io din_0
+# set_io din_1
diff --git a/icefuzz/tests/sb_io_od.v b/icefuzz/tests/sb_io_od.v
new file mode 100644
index 0000000..7894741
--- /dev/null
+++ b/icefuzz/tests/sb_io_od.v
@@ -0,0 +1,62 @@
+//`define CONN_INTERNAL_BITS
+
+`define PINTYPE 6'b010001
+// `define IOSTANDARD "SB_LVCMOS"
+`define IOSTANDARD "SB_LVCMOS"
+
+// The following IO standards are just aliases for SB_LVCMOS
+// `define IOSTANDARD "SB_LVCMOS25_16"
+// `define IOSTANDARD "SB_LVCMOS25_12"
+// `define IOSTANDARD "SB_LVCMOS25_8"
+// `define IOSTANDARD "SB_LVCMOS25_4"
+// `define IOSTANDARD "SB_LVCMOS18_10"
+// `define IOSTANDARD "SB_LVCMOS18_8"
+// `define IOSTANDARD "SB_LVCMOS18_4"
+// `define IOSTANDARD "SB_LVCMOS18_2"
+// `define IOSTANDARD "SB_LVCMOS15_4"
+// `define IOSTANDARD "SB_LVCMOS15_2"
+// `define IOSTANDARD "SB_MDDR10"
+// `define IOSTANDARD "SB_MDDR8"
+// `define IOSTANDARD "SB_MDDR4"
+// `define IOSTANDARD "SB_MDDR2"
+
+`ifdef CONN_INTERNAL_BITS
+module top (
+ inout pin,
+ input latch_in,
+ input clk_in,
+ input clk_out,
+ input oen,
+ input dout_0,
+ input dout_1,
+ output din_0,
+ output din_1
+);
+`else
+module top(pin);
+ inout pin;
+ wire latch_in = 0;
+ wire clk_in = 0;
+ wire clk_out = 0;
+ wire oen = 0;
+ wire dout_0 = 0;
+ wire dout_1 = 0;
+ wire din_0;
+ wire din_1;
+`endif
+ SB_IO_OD #(
+ .PIN_TYPE(`PINTYPE),
+ .NEG_TRIGGER(1'b0)
+ ) IO_PIN_I (
+ .PACKAGEPIN(pin),
+ .LATCHINPUTVALUE(latch_in),
+ .CLOCKENABLE(clk_en),
+ .INPUTCLK(clk_in),
+ .OUTPUTCLK(clk_out),
+ .OUTPUTENABLE(oen),
+ .DOUT0(dout_0),
+ .DOUT1(dout_1),
+ .DIN0(din_0),
+ .DIN1(din_1)
+ );
+endmodule
diff --git a/icefuzz/tests/sb_mac16.v b/icefuzz/tests/sb_mac16.v
new file mode 100644
index 0000000..c2fd850
--- /dev/null
+++ b/icefuzz/tests/sb_mac16.v
@@ -0,0 +1,65 @@
+module top(
+ input clk,
+ input rst,
+ input [7:0] a,
+ input [7:0] b,
+ output [15:0] y);
+ wire co;
+ wire [31:0] out;
+ SB_MAC16 i_sbmac16
+ (
+ .A(a),
+ .B(b),
+ .C(8'd0),
+ .D(8'd0),
+ .O(out),
+ .CLK(clk),
+ .IRSTTOP(rst),
+ .IRSTBOT(rst),
+ .ORSTTOP(rst),
+ .ORSTBOT(rst),
+ .AHOLD(1'b0),
+ .BHOLD(1'b0),
+ .CHOLD(1'b0),
+ .DHOLD(1'b0),
+ .OHOLDTOP(1'b0),
+ .OHOLDBOT(1'b0),
+ .OLOADTOP(1'b0),
+ .OLOADBOT(1'b0),
+ .ADDSUBTOP(1'b0),
+ .ADDSUBBOT(1'b0),
+ .CO(co),
+ .CI(1'b0),
+ .ACCUMCI(),
+ .ACCUMCO(),
+ .SIGNEXTIN(),
+ .SIGNEXTOUT()
+ );
+
+//Config: mult_8x8_pipeline_unsigned
+
+defparam i_sbmac16. B_SIGNED = 1'b0;
+defparam i_sbmac16. A_SIGNED = 1'b0;
+defparam i_sbmac16. MODE_8x8 = 1'b1;
+
+defparam i_sbmac16. BOTADDSUB_CARRYSELECT = 2'b00;
+defparam i_sbmac16. BOTADDSUB_UPPERINPUT = 1'b0;
+defparam i_sbmac16. BOTADDSUB_LOWERINPUT = 2'b00;
+defparam i_sbmac16. BOTOUTPUT_SELECT = 2'b10;
+
+defparam i_sbmac16. TOPADDSUB_CARRYSELECT = 2'b00;
+defparam i_sbmac16. TOPADDSUB_UPPERINPUT = 1'b0;
+defparam i_sbmac16. TOPADDSUB_LOWERINPUT = 2'b00;
+defparam i_sbmac16. TOPOUTPUT_SELECT = 2'b10;
+
+defparam i_sbmac16. PIPELINE_16x16_MULT_REG2 = 1'b0;
+defparam i_sbmac16. PIPELINE_16x16_MULT_REG1 = 1'b1;
+defparam i_sbmac16. BOT_8x8_MULT_REG = 1'b1;
+defparam i_sbmac16. TOP_8x8_MULT_REG = 1'b1;
+defparam i_sbmac16. D_REG = 1'b0;
+defparam i_sbmac16. B_REG = 1'b1;
+defparam i_sbmac16. A_REG = 1'b1;
+defparam i_sbmac16. C_REG = 1'b0;
+
+assign y = out[15:0];
+endmodule \ No newline at end of file
diff --git a/icefuzz/tests/sb_rgba_drv.pcf b/icefuzz/tests/sb_rgba_drv.pcf
new file mode 100644
index 0000000..94515d2
--- /dev/null
+++ b/icefuzz/tests/sb_rgba_drv.pcf
@@ -0,0 +1,3 @@
+set_io r_led 39
+set_io g_led 40
+set_io b_led 41
diff --git a/icefuzz/tests/sb_rgba_drv.v b/icefuzz/tests/sb_rgba_drv.v
new file mode 100644
index 0000000..e5a0c36
--- /dev/null
+++ b/icefuzz/tests/sb_rgba_drv.v
@@ -0,0 +1,32 @@
+module top(
+ input r_in,
+ input g_in,
+ input b_in,
+ output r_led,
+ output g_led,
+ output b_led);
+
+ wire curren;
+ wire rgbleden;
+
+ SB_RGBA_DRV RGBA_DRIVER (
+ .CURREN(curren),
+ .RGBLEDEN(rgbleden),
+ .RGB0PWM(r_in),
+ .RGB1PWM(r_in),
+ .RGB2PWM(r_in),
+ .RGB0(r_led),
+ .RGB1(g_led),
+ .RGB2(b_led)
+ );
+
+defparam RGBA_DRIVER.CURRENT_MODE = "0b0";
+defparam RGBA_DRIVER.RGB0_CURRENT = "0b000011";
+defparam RGBA_DRIVER.RGB1_CURRENT = "0b001111";
+defparam RGBA_DRIVER.RGB2_CURRENT = "0b111111";
+
+assign curren = 1'b1;
+assign rgbleden = 1'b1;
+
+
+endmodule \ No newline at end of file
diff --git a/icefuzz/tests/sb_spram256ka.v b/icefuzz/tests/sb_spram256ka.v
new file mode 100644
index 0000000..e1e1403
--- /dev/null
+++ b/icefuzz/tests/sb_spram256ka.v
@@ -0,0 +1,25 @@
+module top(
+ input clk,
+ input [13:0] addr,
+ input [7:0] din,
+ input wren,
+ input cs,
+ output [7:0] dout
+);
+
+SB_SPRAM256KA spram_i
+ (
+ .ADDRESS(addr),
+ .DATAIN(din),
+ .MASKWREN(4'b1111),
+ .WREN(wren),
+ .CHIPSELECT(cs),
+ .CLOCK(clk),
+ .STANDBY(1'b0),
+ .SLEEP(1'b0),
+ .POWEROFF(1'b0),
+ .DATAOUT(dout)
+ );
+
+
+endmodule \ No newline at end of file
diff --git a/icepack/icepack.cc b/icepack/icepack.cc
index 2eac9c6..e776bb8 100644
--- a/icepack/icepack.cc
+++ b/icepack/icepack.cc
@@ -801,7 +801,7 @@ void FpgaConfig::write_ascii(std::ostream &ofs) const
error("cram_x %d (bit %d, %d) larger than bank size %lu\n", cram_x, bit_x, bit_y, this->cram[cram_bank].size());
}
if (cram_y > int(this->cram[cram_bank][cram_x].size())) {
- error("cram_y %d larger than bank size %lu\n", cram_y, this->cram[cram_bank][cram_x].size());
+ error("cram_y %d (bit %d, %d) larger than bank %d size %lu\n", cram_y, bit_x, bit_y, cram_bank, this->cram[cram_bank][cram_x].size());
}
ofs << (this->cram[cram_bank][cram_x][cram_y] ? '1' : '0');
}
@@ -980,8 +980,18 @@ vector<int> FpgaConfig::chip_cols() const
string FpgaConfig::tile_type(int x, int y) const
{
if ((x == 0 || x == this->chip_width()+1) && (y == 0 || y == this->chip_height()+1)) return "corner";
- // The sides on the 5k devices are unsupported tile types.
- if (this->device == "5k" && (x == 0 || x == this->chip_width()+1)) return "unsupported";
+ // The sides on the 5k devices are IPConnect or DSP tiles
+ if (this->device == "5k" && (x == 0 || x == this->chip_width()+1)) {
+ if( (y == 5) || (y == 10) || (y == 15) || (y == 23)) //check ordering here, tile 23-26 might be reversed
+ return "dsp0";
+ if( (y == 6) || (y == 11) || (y == 16) || (y == 24))
+ return "dsp1";
+ if( (y == 7) || (y == 12) || (y == 17) || (y == 25))
+ return "dsp2";
+ if( (y == 8) || (y == 13) || (y == 18) || (y == 26))
+ return "dsp3";
+ return "ipconn";
+ }
if ((x == 0 || x == this->chip_width()+1) || (y == 0 || y == this->chip_height()+1)) return "io";
if (this->device == "384") return "logic";
@@ -1011,7 +1021,9 @@ int FpgaConfig::tile_width(const string &type) const
if (type == "ramb") return 42;
if (type == "ramt") return 42;
if (type == "io") return 18;
- if (type == "unsupported") return 76;
+ if (type.substr(0, 3) == "dsp") return 54;
+ if (type == "ipconn") return 54;
+
panic("Unknown tile type '%s'.\n", type.c_str());
}