aboutsummaryrefslogtreecommitdiffstats
path: root/icefuzz/tests
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2017-11-17 14:29:00 +0000
committerDavid Shah <davey1576@gmail.com>2017-11-17 15:10:04 +0000
commitafcc653b7882217d98aad95829256d65665f7c07 (patch)
tree61359f190cd5fba5af0716908b156bdaa203f8f0 /icefuzz/tests
parentc71db50a27600885ea4e84d9744a4a4417af02c6 (diff)
downloadicestorm-afcc653b7882217d98aad95829256d65665f7c07.tar.gz
icestorm-afcc653b7882217d98aad95829256d65665f7c07.tar.bz2
icestorm-afcc653b7882217d98aad95829256d65665f7c07.zip
Add support for UltraPlus SPRAM
Diffstat (limited to 'icefuzz/tests')
-rwxr-xr-xicefuzz/tests/spram/fuzz_spram.py11
-rw-r--r--icefuzz/tests/spram/up5k_spram_data.txt468
2 files changed, 242 insertions, 237 deletions
diff --git a/icefuzz/tests/spram/fuzz_spram.py b/icefuzz/tests/spram/fuzz_spram.py
index 33e62cb..a92a361 100755
--- a/icefuzz/tests/spram/fuzz_spram.py
+++ b/icefuzz/tests/spram/fuzz_spram.py
@@ -77,7 +77,7 @@ for loc in spram_locs:
net_map = {}
for sig in spram_signals:
net_map[sig] = set()
- net_map["C_SPRAM_EN"] = set() # actually a CBIT not a net
+ net_map["SPRAM_EN"] = set() # actually a CBIT not a net
for n in fuzz_options:
with open("./work_spram/spram.v","w") as f:
@@ -159,15 +159,16 @@ for loc in spram_locs:
bits = []
with open("./work_spram/spram.exp", "r") as f:
bits = parse_exp(f)
- net_map["C_SPRAM_EN"].update(bits)
+ net_map["SPRAM_EN"].update(bits)
spram_data[loc] = net_map
with open(device + "_spram_data.txt", "w") as f:
for loc in spram_data:
- print("SPRAM %d %d %d" % loc, file=f)
+ print("\t(%d, %d, %d): {" % loc, file=f)
data = spram_data[loc]
for net in sorted(data):
cnets = []
for cnet in data[net]:
- cnets.append("(%d, %d, %s)" % cnet)
- print("\t%s: %s" % (net, " ".join(cnets)), file=f) \ No newline at end of file
+ cnets.append("(%d, %d, \"%s\")" % cnet)
+ print("\t\t%s %s, " % (("\"" + net.replace("[","_").replace("]","") + "\":").ljust(24), " ".join(cnets)), file=f)
+ print("\t},", file=f) \ No newline at end of file
diff --git a/icefuzz/tests/spram/up5k_spram_data.txt b/icefuzz/tests/spram/up5k_spram_data.txt
index c824e73..4526f93 100644
--- a/icefuzz/tests/spram/up5k_spram_data.txt
+++ b/icefuzz/tests/spram/up5k_spram_data.txt
@@ -1,232 +1,236 @@
-SPRAM 0 0 1
- ADDRESS[0]: (0, 2, lutff_0/in_1)
- ADDRESS[10]: (0, 2, lutff_2/in_0)
- ADDRESS[11]: (0, 2, lutff_3/in_0)
- ADDRESS[12]: (0, 2, lutff_4/in_0)
- ADDRESS[13]: (0, 2, lutff_5/in_0)
- ADDRESS[1]: (0, 2, lutff_1/in_1)
- ADDRESS[2]: (0, 2, lutff_2/in_1)
- ADDRESS[3]: (0, 2, lutff_3/in_1)
- ADDRESS[4]: (0, 2, lutff_4/in_1)
- ADDRESS[5]: (0, 2, lutff_5/in_1)
- ADDRESS[6]: (0, 2, lutff_6/in_1)
- ADDRESS[7]: (0, 2, lutff_7/in_1)
- ADDRESS[8]: (0, 2, lutff_0/in_0)
- ADDRESS[9]: (0, 2, lutff_1/in_0)
- CHIPSELECT: (0, 3, lutff_6/in_1)
- CLOCK: (0, 1, clk)
- C_SPRAM_EN: (0, 1, CBIT_0)
- DATAIN[0]: (0, 1, lutff_0/in_3)
- DATAIN[10]: (0, 1, lutff_2/in_1)
- DATAIN[11]: (0, 1, lutff_3/in_1)
- DATAIN[12]: (0, 1, lutff_4/in_1)
- DATAIN[13]: (0, 1, lutff_5/in_1)
- DATAIN[14]: (0, 1, lutff_6/in_1)
- DATAIN[15]: (0, 1, lutff_7/in_1)
- DATAIN[1]: (0, 1, lutff_1/in_3)
- DATAIN[2]: (0, 1, lutff_2/in_3)
- DATAIN[3]: (0, 1, lutff_3/in_3)
- DATAIN[4]: (0, 1, lutff_4/in_3)
- DATAIN[5]: (0, 1, lutff_5/in_3)
- DATAIN[6]: (0, 1, lutff_6/in_3)
- DATAIN[7]: (0, 1, lutff_7/in_3)
- DATAIN[8]: (0, 1, lutff_0/in_1)
- DATAIN[9]: (0, 1, lutff_1/in_1)
- DATAOUT[0]: (0, 1, slf_op_0)
- DATAOUT[10]: (0, 2, slf_op_2)
- DATAOUT[11]: (0, 2, slf_op_3)
- DATAOUT[12]: (0, 2, slf_op_4)
- DATAOUT[13]: (0, 2, slf_op_5)
- DATAOUT[14]: (0, 2, slf_op_6)
- DATAOUT[15]: (0, 2, slf_op_7)
- DATAOUT[1]: (0, 1, slf_op_1)
- DATAOUT[2]: (0, 1, slf_op_2)
- DATAOUT[3]: (0, 1, slf_op_3)
- DATAOUT[4]: (0, 1, slf_op_4)
- DATAOUT[5]: (0, 1, slf_op_5)
- DATAOUT[6]: (0, 1, slf_op_6)
- DATAOUT[7]: (0, 1, slf_op_7)
- DATAOUT[8]: (0, 2, slf_op_0)
- DATAOUT[9]: (0, 2, slf_op_1)
- MASKWREN[0]: (0, 3, lutff_0/in_0)
- MASKWREN[1]: (0, 3, lutff_1/in_0)
- MASKWREN[2]: (0, 3, lutff_2/in_0)
- MASKWREN[3]: (0, 3, lutff_3/in_0)
- POWEROFF: (0, 4, lutff_4/in_3)
- SLEEP: (0, 4, lutff_2/in_3)
- STANDBY: (0, 4, lutff_0/in_3)
- WREN: (0, 3, lutff_4/in_1)
-SPRAM 0 0 2
- ADDRESS[0]: (0, 2, lutff_6/in_0)
- ADDRESS[10]: (0, 3, lutff_0/in_1)
- ADDRESS[11]: (0, 3, lutff_1/in_1)
- ADDRESS[12]: (0, 3, lutff_2/in_1)
- ADDRESS[13]: (0, 3, lutff_3/in_1)
- ADDRESS[1]: (0, 2, lutff_7/in_0)
- ADDRESS[2]: (0, 3, lutff_0/in_3)
- ADDRESS[3]: (0, 3, lutff_1/in_3)
- ADDRESS[4]: (0, 3, lutff_2/in_3)
- ADDRESS[5]: (0, 3, lutff_3/in_3)
- ADDRESS[6]: (0, 3, lutff_4/in_3)
- ADDRESS[7]: (0, 3, lutff_5/in_3)
- ADDRESS[8]: (0, 3, lutff_6/in_3)
- ADDRESS[9]: (0, 3, lutff_7/in_3)
- CHIPSELECT: (0, 3, lutff_7/in_1)
- CLOCK: (0, 2, clk)
- C_SPRAM_EN: (0, 1, CBIT_1)
- DATAIN[0]: (0, 1, lutff_0/in_0)
- DATAIN[10]: (0, 2, lutff_2/in_3)
- DATAIN[11]: (0, 2, lutff_3/in_3)
- DATAIN[12]: (0, 2, lutff_4/in_3)
- DATAIN[13]: (0, 2, lutff_5/in_3)
- DATAIN[14]: (0, 2, lutff_6/in_3)
- DATAIN[15]: (0, 2, lutff_7/in_3)
- DATAIN[1]: (0, 1, lutff_1/in_0)
- DATAIN[2]: (0, 1, lutff_2/in_0)
- DATAIN[3]: (0, 1, lutff_3/in_0)
- DATAIN[4]: (0, 1, lutff_4/in_0)
- DATAIN[5]: (0, 1, lutff_5/in_0)
- DATAIN[6]: (0, 1, lutff_6/in_0)
- DATAIN[7]: (0, 1, lutff_7/in_0)
- DATAIN[8]: (0, 2, lutff_0/in_3)
- DATAIN[9]: (0, 2, lutff_1/in_3)
- DATAOUT[0]: (0, 3, slf_op_0)
- DATAOUT[10]: (0, 4, slf_op_2)
- DATAOUT[11]: (0, 4, slf_op_3)
- DATAOUT[12]: (0, 4, slf_op_4)
- DATAOUT[13]: (0, 4, slf_op_5)
- DATAOUT[14]: (0, 4, slf_op_6)
- DATAOUT[15]: (0, 4, slf_op_7)
- DATAOUT[1]: (0, 3, slf_op_1)
- DATAOUT[2]: (0, 3, slf_op_2)
- DATAOUT[3]: (0, 3, slf_op_3)
- DATAOUT[4]: (0, 3, slf_op_4)
- DATAOUT[5]: (0, 3, slf_op_5)
- DATAOUT[6]: (0, 3, slf_op_6)
- DATAOUT[7]: (0, 3, slf_op_7)
- DATAOUT[8]: (0, 4, slf_op_0)
- DATAOUT[9]: (0, 4, slf_op_1)
- MASKWREN[0]: (0, 3, lutff_4/in_0)
- MASKWREN[1]: (0, 3, lutff_5/in_0)
- MASKWREN[2]: (0, 3, lutff_6/in_0)
- MASKWREN[3]: (0, 3, lutff_7/in_0)
- POWEROFF: (0, 4, lutff_5/in_3)
- SLEEP: (0, 4, lutff_3/in_3)
- STANDBY: (0, 4, lutff_1/in_3)
- WREN: (0, 3, lutff_5/in_1)
-SPRAM 25 0 3
- ADDRESS[0]: (25, 2, lutff_0/in_1)
- ADDRESS[10]: (25, 2, lutff_2/in_0)
- ADDRESS[11]: (25, 2, lutff_3/in_0)
- ADDRESS[12]: (25, 2, lutff_4/in_0)
- ADDRESS[13]: (25, 2, lutff_5/in_0)
- ADDRESS[1]: (25, 2, lutff_1/in_1)
- ADDRESS[2]: (25, 2, lutff_2/in_1)
- ADDRESS[3]: (25, 2, lutff_3/in_1)
- ADDRESS[4]: (25, 2, lutff_4/in_1)
- ADDRESS[5]: (25, 2, lutff_5/in_1)
- ADDRESS[6]: (25, 2, lutff_6/in_1)
- ADDRESS[7]: (25, 2, lutff_7/in_1)
- ADDRESS[8]: (25, 2, lutff_0/in_0)
- ADDRESS[9]: (25, 2, lutff_1/in_0)
- CHIPSELECT: (25, 3, lutff_6/in_1)
- CLOCK: (25, 1, clk)
- C_SPRAM_EN: (25, 1, CBIT_0)
- DATAIN[0]: (25, 1, lutff_0/in_3)
- DATAIN[10]: (25, 1, lutff_2/in_1)
- DATAIN[11]: (25, 1, lutff_3/in_1)
- DATAIN[12]: (25, 1, lutff_4/in_1)
- DATAIN[13]: (25, 1, lutff_5/in_1)
- DATAIN[14]: (25, 1, lutff_6/in_1)
- DATAIN[15]: (25, 1, lutff_7/in_1)
- DATAIN[1]: (25, 1, lutff_1/in_3)
- DATAIN[2]: (25, 1, lutff_2/in_3)
- DATAIN[3]: (25, 1, lutff_3/in_3)
- DATAIN[4]: (25, 1, lutff_4/in_3)
- DATAIN[5]: (25, 1, lutff_5/in_3)
- DATAIN[6]: (25, 1, lutff_6/in_3)
- DATAIN[7]: (25, 1, lutff_7/in_3)
- DATAIN[8]: (25, 1, lutff_0/in_1)
- DATAIN[9]: (25, 1, lutff_1/in_1)
- DATAOUT[0]: (25, 1, slf_op_0)
- DATAOUT[10]: (25, 2, slf_op_2)
- DATAOUT[11]: (25, 2, slf_op_3)
- DATAOUT[12]: (25, 2, slf_op_4)
- DATAOUT[13]: (25, 2, slf_op_5)
- DATAOUT[14]: (25, 2, slf_op_6)
- DATAOUT[15]: (25, 2, slf_op_7)
- DATAOUT[1]: (25, 1, slf_op_1)
- DATAOUT[2]: (25, 1, slf_op_2)
- DATAOUT[3]: (25, 1, slf_op_3)
- DATAOUT[4]: (25, 1, slf_op_4)
- DATAOUT[5]: (25, 1, slf_op_5)
- DATAOUT[6]: (25, 1, slf_op_6)
- DATAOUT[7]: (25, 1, slf_op_7)
- DATAOUT[8]: (25, 2, slf_op_0)
- DATAOUT[9]: (25, 2, slf_op_1)
- MASKWREN[0]: (25, 3, lutff_0/in_0)
- MASKWREN[1]: (25, 3, lutff_1/in_0)
- MASKWREN[2]: (25, 3, lutff_2/in_0)
- MASKWREN[3]: (25, 3, lutff_3/in_0)
- POWEROFF: (25, 4, lutff_4/in_3)
- SLEEP: (25, 4, lutff_2/in_3)
- STANDBY: (25, 4, lutff_0/in_3)
- WREN: (25, 3, lutff_4/in_1)
-SPRAM 25 0 4
- ADDRESS[0]: (25, 2, lutff_6/in_0)
- ADDRESS[10]: (25, 3, lutff_0/in_1)
- ADDRESS[11]: (25, 3, lutff_1/in_1)
- ADDRESS[12]: (25, 3, lutff_2/in_1)
- ADDRESS[13]: (25, 3, lutff_3/in_1)
- ADDRESS[1]: (25, 2, lutff_7/in_0)
- ADDRESS[2]: (25, 3, lutff_0/in_3)
- ADDRESS[3]: (25, 3, lutff_1/in_3)
- ADDRESS[4]: (25, 3, lutff_2/in_3)
- ADDRESS[5]: (25, 3, lutff_3/in_3)
- ADDRESS[6]: (25, 3, lutff_4/in_3)
- ADDRESS[7]: (25, 3, lutff_5/in_3)
- ADDRESS[8]: (25, 3, lutff_6/in_3)
- ADDRESS[9]: (25, 3, lutff_7/in_3)
- CHIPSELECT: (25, 3, lutff_7/in_1)
- CLOCK: (25, 2, clk)
- C_SPRAM_EN: (25, 1, CBIT_1)
- DATAIN[0]: (25, 1, lutff_0/in_0)
- DATAIN[10]: (25, 2, lutff_2/in_3)
- DATAIN[11]: (25, 2, lutff_3/in_3)
- DATAIN[12]: (25, 2, lutff_4/in_3)
- DATAIN[13]: (25, 2, lutff_5/in_3)
- DATAIN[14]: (25, 2, lutff_6/in_3)
- DATAIN[15]: (25, 2, lutff_7/in_3)
- DATAIN[1]: (25, 1, lutff_1/in_0)
- DATAIN[2]: (25, 1, lutff_2/in_0)
- DATAIN[3]: (25, 1, lutff_3/in_0)
- DATAIN[4]: (25, 1, lutff_4/in_0)
- DATAIN[5]: (25, 1, lutff_5/in_0)
- DATAIN[6]: (25, 1, lutff_6/in_0)
- DATAIN[7]: (25, 1, lutff_7/in_0)
- DATAIN[8]: (25, 2, lutff_0/in_3)
- DATAIN[9]: (25, 2, lutff_1/in_3)
- DATAOUT[0]: (25, 3, slf_op_0)
- DATAOUT[10]: (25, 4, slf_op_2)
- DATAOUT[11]: (25, 4, slf_op_3)
- DATAOUT[12]: (25, 4, slf_op_4)
- DATAOUT[13]: (25, 4, slf_op_5)
- DATAOUT[14]: (25, 4, slf_op_6)
- DATAOUT[15]: (25, 4, slf_op_7)
- DATAOUT[1]: (25, 3, slf_op_1)
- DATAOUT[2]: (25, 3, slf_op_2)
- DATAOUT[3]: (25, 3, slf_op_3)
- DATAOUT[4]: (25, 3, slf_op_4)
- DATAOUT[5]: (25, 3, slf_op_5)
- DATAOUT[6]: (25, 3, slf_op_6)
- DATAOUT[7]: (25, 3, slf_op_7)
- DATAOUT[8]: (25, 4, slf_op_0)
- DATAOUT[9]: (25, 4, slf_op_1)
- MASKWREN[0]: (25, 3, lutff_4/in_0)
- MASKWREN[1]: (25, 3, lutff_5/in_0)
- MASKWREN[2]: (25, 3, lutff_6/in_0)
- MASKWREN[3]: (25, 3, lutff_7/in_0)
- POWEROFF: (25, 4, lutff_5/in_3)
- SLEEP: (25, 4, lutff_3/in_3)
- STANDBY: (25, 4, lutff_1/in_3)
- WREN: (25, 3, lutff_5/in_1)
+ (0, 0, 1): {
+ "ADDRESS_0": (0, 2, "lutff_0/in_1"),
+ "ADDRESS_10": (0, 2, "lutff_2/in_0"),
+ "ADDRESS_11": (0, 2, "lutff_3/in_0"),
+ "ADDRESS_12": (0, 2, "lutff_4/in_0"),
+ "ADDRESS_13": (0, 2, "lutff_5/in_0"),
+ "ADDRESS_1": (0, 2, "lutff_1/in_1"),
+ "ADDRESS_2": (0, 2, "lutff_2/in_1"),
+ "ADDRESS_3": (0, 2, "lutff_3/in_1"),
+ "ADDRESS_4": (0, 2, "lutff_4/in_1"),
+ "ADDRESS_5": (0, 2, "lutff_5/in_1"),
+ "ADDRESS_6": (0, 2, "lutff_6/in_1"),
+ "ADDRESS_7": (0, 2, "lutff_7/in_1"),
+ "ADDRESS_8": (0, 2, "lutff_0/in_0"),
+ "ADDRESS_9": (0, 2, "lutff_1/in_0"),
+ "CHIPSELECT": (0, 3, "lutff_6/in_1"),
+ "CLOCK": (0, 1, "clk"),
+ "DATAIN_0": (0, 1, "lutff_0/in_3"),
+ "DATAIN_10": (0, 1, "lutff_2/in_1"),
+ "DATAIN_11": (0, 1, "lutff_3/in_1"),
+ "DATAIN_12": (0, 1, "lutff_4/in_1"),
+ "DATAIN_13": (0, 1, "lutff_5/in_1"),
+ "DATAIN_14": (0, 1, "lutff_6/in_1"),
+ "DATAIN_15": (0, 1, "lutff_7/in_1"),
+ "DATAIN_1": (0, 1, "lutff_1/in_3"),
+ "DATAIN_2": (0, 1, "lutff_2/in_3"),
+ "DATAIN_3": (0, 1, "lutff_3/in_3"),
+ "DATAIN_4": (0, 1, "lutff_4/in_3"),
+ "DATAIN_5": (0, 1, "lutff_5/in_3"),
+ "DATAIN_6": (0, 1, "lutff_6/in_3"),
+ "DATAIN_7": (0, 1, "lutff_7/in_3"),
+ "DATAIN_8": (0, 1, "lutff_0/in_1"),
+ "DATAIN_9": (0, 1, "lutff_1/in_1"),
+ "DATAOUT_0": (0, 1, "slf_op_0"),
+ "DATAOUT_10": (0, 2, "slf_op_2"),
+ "DATAOUT_11": (0, 2, "slf_op_3"),
+ "DATAOUT_12": (0, 2, "slf_op_4"),
+ "DATAOUT_13": (0, 2, "slf_op_5"),
+ "DATAOUT_14": (0, 2, "slf_op_6"),
+ "DATAOUT_15": (0, 2, "slf_op_7"),
+ "DATAOUT_1": (0, 1, "slf_op_1"),
+ "DATAOUT_2": (0, 1, "slf_op_2"),
+ "DATAOUT_3": (0, 1, "slf_op_3"),
+ "DATAOUT_4": (0, 1, "slf_op_4"),
+ "DATAOUT_5": (0, 1, "slf_op_5"),
+ "DATAOUT_6": (0, 1, "slf_op_6"),
+ "DATAOUT_7": (0, 1, "slf_op_7"),
+ "DATAOUT_8": (0, 2, "slf_op_0"),
+ "DATAOUT_9": (0, 2, "slf_op_1"),
+ "MASKWREN_0": (0, 3, "lutff_0/in_0"),
+ "MASKWREN_1": (0, 3, "lutff_1/in_0"),
+ "MASKWREN_2": (0, 3, "lutff_2/in_0"),
+ "MASKWREN_3": (0, 3, "lutff_3/in_0"),
+ "POWEROFF": (0, 4, "lutff_4/in_3"),
+ "SLEEP": (0, 4, "lutff_2/in_3"),
+ "SPRAM_EN": (0, 1, "CBIT_0"),
+ "STANDBY": (0, 4, "lutff_0/in_3"),
+ "WREN": (0, 3, "lutff_4/in_1"),
+ },
+ (0, 0, 2): {
+ "ADDRESS_0": (0, 2, "lutff_6/in_0"),
+ "ADDRESS_10": (0, 3, "lutff_0/in_1"),
+ "ADDRESS_11": (0, 3, "lutff_1/in_1"),
+ "ADDRESS_12": (0, 3, "lutff_2/in_1"),
+ "ADDRESS_13": (0, 3, "lutff_3/in_1"),
+ "ADDRESS_1": (0, 2, "lutff_7/in_0"),
+ "ADDRESS_2": (0, 3, "lutff_0/in_3"),
+ "ADDRESS_3": (0, 3, "lutff_1/in_3"),
+ "ADDRESS_4": (0, 3, "lutff_2/in_3"),
+ "ADDRESS_5": (0, 3, "lutff_3/in_3"),
+ "ADDRESS_6": (0, 3, "lutff_4/in_3"),
+ "ADDRESS_7": (0, 3, "lutff_5/in_3"),
+ "ADDRESS_8": (0, 3, "lutff_6/in_3"),
+ "ADDRESS_9": (0, 3, "lutff_7/in_3"),
+ "CHIPSELECT": (0, 3, "lutff_7/in_1"),
+ "CLOCK": (0, 2, "clk"),
+ "DATAIN_0": (0, 1, "lutff_0/in_0"),
+ "DATAIN_10": (0, 2, "lutff_2/in_3"),
+ "DATAIN_11": (0, 2, "lutff_3/in_3"),
+ "DATAIN_12": (0, 2, "lutff_4/in_3"),
+ "DATAIN_13": (0, 2, "lutff_5/in_3"),
+ "DATAIN_14": (0, 2, "lutff_6/in_3"),
+ "DATAIN_15": (0, 2, "lutff_7/in_3"),
+ "DATAIN_1": (0, 1, "lutff_1/in_0"),
+ "DATAIN_2": (0, 1, "lutff_2/in_0"),
+ "DATAIN_3": (0, 1, "lutff_3/in_0"),
+ "DATAIN_4": (0, 1, "lutff_4/in_0"),
+ "DATAIN_5": (0, 1, "lutff_5/in_0"),
+ "DATAIN_6": (0, 1, "lutff_6/in_0"),
+ "DATAIN_7": (0, 1, "lutff_7/in_0"),
+ "DATAIN_8": (0, 2, "lutff_0/in_3"),
+ "DATAIN_9": (0, 2, "lutff_1/in_3"),
+ "DATAOUT_0": (0, 3, "slf_op_0"),
+ "DATAOUT_10": (0, 4, "slf_op_2"),
+ "DATAOUT_11": (0, 4, "slf_op_3"),
+ "DATAOUT_12": (0, 4, "slf_op_4"),
+ "DATAOUT_13": (0, 4, "slf_op_5"),
+ "DATAOUT_14": (0, 4, "slf_op_6"),
+ "DATAOUT_15": (0, 4, "slf_op_7"),
+ "DATAOUT_1": (0, 3, "slf_op_1"),
+ "DATAOUT_2": (0, 3, "slf_op_2"),
+ "DATAOUT_3": (0, 3, "slf_op_3"),
+ "DATAOUT_4": (0, 3, "slf_op_4"),
+ "DATAOUT_5": (0, 3, "slf_op_5"),
+ "DATAOUT_6": (0, 3, "slf_op_6"),
+ "DATAOUT_7": (0, 3, "slf_op_7"),
+ "DATAOUT_8": (0, 4, "slf_op_0"),
+ "DATAOUT_9": (0, 4, "slf_op_1"),
+ "MASKWREN_0": (0, 3, "lutff_4/in_0"),
+ "MASKWREN_1": (0, 3, "lutff_5/in_0"),
+ "MASKWREN_2": (0, 3, "lutff_6/in_0"),
+ "MASKWREN_3": (0, 3, "lutff_7/in_0"),
+ "POWEROFF": (0, 4, "lutff_5/in_3"),
+ "SLEEP": (0, 4, "lutff_3/in_3"),
+ "SPRAM_EN": (0, 1, "CBIT_1"),
+ "STANDBY": (0, 4, "lutff_1/in_3"),
+ "WREN": (0, 3, "lutff_5/in_1"),
+ },
+ (25, 0, 3): {
+ "ADDRESS_0": (25, 2, "lutff_0/in_1"),
+ "ADDRESS_10": (25, 2, "lutff_2/in_0"),
+ "ADDRESS_11": (25, 2, "lutff_3/in_0"),
+ "ADDRESS_12": (25, 2, "lutff_4/in_0"),
+ "ADDRESS_13": (25, 2, "lutff_5/in_0"),
+ "ADDRESS_1": (25, 2, "lutff_1/in_1"),
+ "ADDRESS_2": (25, 2, "lutff_2/in_1"),
+ "ADDRESS_3": (25, 2, "lutff_3/in_1"),
+ "ADDRESS_4": (25, 2, "lutff_4/in_1"),
+ "ADDRESS_5": (25, 2, "lutff_5/in_1"),
+ "ADDRESS_6": (25, 2, "lutff_6/in_1"),
+ "ADDRESS_7": (25, 2, "lutff_7/in_1"),
+ "ADDRESS_8": (25, 2, "lutff_0/in_0"),
+ "ADDRESS_9": (25, 2, "lutff_1/in_0"),
+ "CHIPSELECT": (25, 3, "lutff_6/in_1"),
+ "CLOCK": (25, 1, "clk"),
+ "DATAIN_0": (25, 1, "lutff_0/in_3"),
+ "DATAIN_10": (25, 1, "lutff_2/in_1"),
+ "DATAIN_11": (25, 1, "lutff_3/in_1"),
+ "DATAIN_12": (25, 1, "lutff_4/in_1"),
+ "DATAIN_13": (25, 1, "lutff_5/in_1"),
+ "DATAIN_14": (25, 1, "lutff_6/in_1"),
+ "DATAIN_15": (25, 1, "lutff_7/in_1"),
+ "DATAIN_1": (25, 1, "lutff_1/in_3"),
+ "DATAIN_2": (25, 1, "lutff_2/in_3"),
+ "DATAIN_3": (25, 1, "lutff_3/in_3"),
+ "DATAIN_4": (25, 1, "lutff_4/in_3"),
+ "DATAIN_5": (25, 1, "lutff_5/in_3"),
+ "DATAIN_6": (25, 1, "lutff_6/in_3"),
+ "DATAIN_7": (25, 1, "lutff_7/in_3"),
+ "DATAIN_8": (25, 1, "lutff_0/in_1"),
+ "DATAIN_9": (25, 1, "lutff_1/in_1"),
+ "DATAOUT_0": (25, 1, "slf_op_0"),
+ "DATAOUT_10": (25, 2, "slf_op_2"),
+ "DATAOUT_11": (25, 2, "slf_op_3"),
+ "DATAOUT_12": (25, 2, "slf_op_4"),
+ "DATAOUT_13": (25, 2, "slf_op_5"),
+ "DATAOUT_14": (25, 2, "slf_op_6"),
+ "DATAOUT_15": (25, 2, "slf_op_7"),
+ "DATAOUT_1": (25, 1, "slf_op_1"),
+ "DATAOUT_2": (25, 1, "slf_op_2"),
+ "DATAOUT_3": (25, 1, "slf_op_3"),
+ "DATAOUT_4": (25, 1, "slf_op_4"),
+ "DATAOUT_5": (25, 1, "slf_op_5"),
+ "DATAOUT_6": (25, 1, "slf_op_6"),
+ "DATAOUT_7": (25, 1, "slf_op_7"),
+ "DATAOUT_8": (25, 2, "slf_op_0"),
+ "DATAOUT_9": (25, 2, "slf_op_1"),
+ "MASKWREN_0": (25, 3, "lutff_0/in_0"),
+ "MASKWREN_1": (25, 3, "lutff_1/in_0"),
+ "MASKWREN_2": (25, 3, "lutff_2/in_0"),
+ "MASKWREN_3": (25, 3, "lutff_3/in_0"),
+ "POWEROFF": (25, 4, "lutff_4/in_3"),
+ "SLEEP": (25, 4, "lutff_2/in_3"),
+ "SPRAM_EN": (25, 1, "CBIT_0"),
+ "STANDBY": (25, 4, "lutff_0/in_3"),
+ "WREN": (25, 3, "lutff_4/in_1"),
+ },
+ (25, 0, 4): {
+ "ADDRESS_0": (25, 2, "lutff_6/in_0"),
+ "ADDRESS_10": (25, 3, "lutff_0/in_1"),
+ "ADDRESS_11": (25, 3, "lutff_1/in_1"),
+ "ADDRESS_12": (25, 3, "lutff_2/in_1"),
+ "ADDRESS_13": (25, 3, "lutff_3/in_1"),
+ "ADDRESS_1": (25, 2, "lutff_7/in_0"),
+ "ADDRESS_2": (25, 3, "lutff_0/in_3"),
+ "ADDRESS_3": (25, 3, "lutff_1/in_3"),
+ "ADDRESS_4": (25, 3, "lutff_2/in_3"),
+ "ADDRESS_5": (25, 3, "lutff_3/in_3"),
+ "ADDRESS_6": (25, 3, "lutff_4/in_3"),
+ "ADDRESS_7": (25, 3, "lutff_5/in_3"),
+ "ADDRESS_8": (25, 3, "lutff_6/in_3"),
+ "ADDRESS_9": (25, 3, "lutff_7/in_3"),
+ "CHIPSELECT": (25, 3, "lutff_7/in_1"),
+ "CLOCK": (25, 2, "clk"),
+ "DATAIN_0": (25, 1, "lutff_0/in_0"),
+ "DATAIN_10": (25, 2, "lutff_2/in_3"),
+ "DATAIN_11": (25, 2, "lutff_3/in_3"),
+ "DATAIN_12": (25, 2, "lutff_4/in_3"),
+ "DATAIN_13": (25, 2, "lutff_5/in_3"),
+ "DATAIN_14": (25, 2, "lutff_6/in_3"),
+ "DATAIN_15": (25, 2, "lutff_7/in_3"),
+ "DATAIN_1": (25, 1, "lutff_1/in_0"),
+ "DATAIN_2": (25, 1, "lutff_2/in_0"),
+ "DATAIN_3": (25, 1, "lutff_3/in_0"),
+ "DATAIN_4": (25, 1, "lutff_4/in_0"),
+ "DATAIN_5": (25, 1, "lutff_5/in_0"),
+ "DATAIN_6": (25, 1, "lutff_6/in_0"),
+ "DATAIN_7": (25, 1, "lutff_7/in_0"),
+ "DATAIN_8": (25, 2, "lutff_0/in_3"),
+ "DATAIN_9": (25, 2, "lutff_1/in_3"),
+ "DATAOUT_0": (25, 3, "slf_op_0"),
+ "DATAOUT_10": (25, 4, "slf_op_2"),
+ "DATAOUT_11": (25, 4, "slf_op_3"),
+ "DATAOUT_12": (25, 4, "slf_op_4"),
+ "DATAOUT_13": (25, 4, "slf_op_5"),
+ "DATAOUT_14": (25, 4, "slf_op_6"),
+ "DATAOUT_15": (25, 4, "slf_op_7"),
+ "DATAOUT_1": (25, 3, "slf_op_1"),
+ "DATAOUT_2": (25, 3, "slf_op_2"),
+ "DATAOUT_3": (25, 3, "slf_op_3"),
+ "DATAOUT_4": (25, 3, "slf_op_4"),
+ "DATAOUT_5": (25, 3, "slf_op_5"),
+ "DATAOUT_6": (25, 3, "slf_op_6"),
+ "DATAOUT_7": (25, 3, "slf_op_7"),
+ "DATAOUT_8": (25, 4, "slf_op_0"),
+ "DATAOUT_9": (25, 4, "slf_op_1"),
+ "MASKWREN_0": (25, 3, "lutff_4/in_0"),
+ "MASKWREN_1": (25, 3, "lutff_5/in_0"),
+ "MASKWREN_2": (25, 3, "lutff_6/in_0"),
+ "MASKWREN_3": (25, 3, "lutff_7/in_0"),
+ "POWEROFF": (25, 4, "lutff_5/in_3"),
+ "SLEEP": (25, 4, "lutff_3/in_3"),
+ "SPRAM_EN": (25, 1, "CBIT_1"),
+ "STANDBY": (25, 4, "lutff_1/in_3"),
+ "WREN": (25, 3, "lutff_5/in_1"),
+ },