#!/usr/bin/env python3
#
#  Copyright (C) 2015  Clifford Wolf <clifford@clifford.at>
#
#  Permission to use, copy, modify, and/or distribute this software for any
#  purpose with or without fee is hereby granted, provided that the above
#  copyright notice and this permission notice appear in all copies.
#
#  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
#  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
#  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
#  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
#  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#

import iceboxdb
import re, sys

class iceconfig:
    def __init__(self):
        self.clear()

    def clear(self):
        self.max_x = 0
        self.max_y = 0
        self.device = ""
        self.warmboot = True
        self.logic_tiles = dict()
        self.io_tiles = dict()
        self.ramb_tiles = dict()
        self.ramt_tiles = dict()
        self.dsp_tiles = [dict() for i in range(4)]
        self.ipcon_tiles = dict()
        self.ram_data = dict()
        self.extra_bits = set()
        self.symbols = dict()

    def setup_empty_384(self):
        self.clear()
        self.device = "384"
        self.max_x = 7
        self.max_y = 9

        for x in range(1, self.max_x):
            for y in range(1, self.max_y):
                self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]

        for y in range(1, self.max_y):
            self.io_tiles[(0, y)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(self.max_x, y)] = ["0" * 18 for i in range(16)]

    def setup_empty_1k(self):
        self.clear()
        self.device = "1k"
        self.max_x = 13
        self.max_y = 17

        for x in range(1, self.max_x):
            for y in range(1, self.max_y):
                if x in (3, 10):
                    if y % 2 == 1:
                        self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                    else:
                        self.ramt_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                else:
                    self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]

        for y in range(1, self.max_y):
            self.io_tiles[(0, y)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(self.max_x, y)] = ["0" * 18 for i in range(16)]

    def setup_empty_lm4k(self):
        self.clear()
        self.device = "lm4k"
        self.max_x = 25
        self.max_y = 21
        
        for x in range(1, self.max_x):
            for y in range(1, self.max_y):
                if x in (6, 19):
                    if y % 2 == 1:
                        self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                    else:
                        self.ramt_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                else:
                    self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]

        for y in range(1, self.max_y):
            self.io_tiles[(0, y)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(self.max_x, y)] = ["0" * 18 for i in range(16)]

    def setup_empty_u4k(self):
        self.clear()
        self.device = "u4k"
        self.max_x = 25
        self.max_y = 21

        for x in range(1, self.max_x):
            for y in range(1, self.max_y):
                if x in (6, 19):
                    if y % 2 == 1:
                        self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                    else:
                        self.ramt_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                else:
                    self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]

        for x in [0, self.max_x]:
            for y in range(1, self.max_y):
                if y in [5, 13]:
                    self.dsp_tiles[0][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [6, 14]:
                    self.dsp_tiles[1][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [7, 15]:
                    self.dsp_tiles[2][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [8, 16]:
                    self.dsp_tiles[3][(x, y)] = ["0" * 54 for i in range(16)]
                else:
                    self.ipcon_tiles[(x, y)] = ["0" * 54 for i in range(16)]

    def setup_empty_5k(self):
        self.clear()
        self.device = "5k"
        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 (6, 19):
                    if y % 2 == 1:
                        self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                    else:
                        self.ramt_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                else:
                    self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]
        for x in [0, self.max_x]:
            for y in range(1, self.max_y):
                if y in [5, 10, 15, 23]:
                    self.dsp_tiles[0][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [6, 11, 16, 24]:
                    self.dsp_tiles[1][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [7, 12, 17, 25]:
                    self.dsp_tiles[2][(x, y)] = ["0" * 54 for i in range(16)]
                elif y in [8, 13, 18, 26]:
                    self.dsp_tiles[3][(x, y)] = ["0" * 54 for i in range(16)]
                else:
                    self.ipcon_tiles[(x, y)] = ["0" * 54 for i in range(16)]
    def setup_empty_8k(self):
        self.clear()
        self.device = "8k"
        self.max_x = 33
        self.max_y = 33

        for x in range(1, self.max_x):
            for y in range(1, self.max_y):
                if x in (8, 25):
                    if y % 2 == 1:
                        self.ramb_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                    else:
                        self.ramt_tiles[(x, y)] = ["0" * 42 for i in range(16)]
                else:
                    self.logic_tiles[(x, y)] = ["0" * 54 for i in range(16)]

        for x in range(1, self.max_x):
            self.io_tiles[(x, 0)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(x, self.max_y)] = ["0" * 18 for i in range(16)]

        for y in range(1, self.max_y):
            self.io_tiles[(0, y)] = ["0" * 18 for i in range(16)]
            self.io_tiles[(self.max_x, y)] = ["0" * 18 for i in range(16)]

    def lookup_extra_bit(self, bit):
        assert self.device in extra_bits_db
        if bit in extra_bits_db[self.device]:
            return extra_bits_db[self.device][bit]
        return ("UNKNOWN_FUNCTION",)

    def tile(self, x, y):
        if (x, y) in self.io_tiles: return self.io_tiles[(x, y)]
        if (x, y) in self.logic_tiles: return self.logic_tiles[(x, y)]
        if (x, y) in self.ramb_tiles: return self.ramb_tiles[(x, y)]
        if (x, y) in self.ramt_tiles: return self.ramt_tiles[(x, y)]
        for i in range(4):
            if (x, y) in self.dsp_tiles[i]: return self.dsp_tiles[i][(x, y)]
        if (x, y) in self.ipcon_tiles: return self.ipcon_tiles[(x, y)]            
        return None

    def pinloc_db(self, package = None):
        if package is None:
            if self.device == "384": return pinloc_db["384-qn32"]
            if self.device == "1k": return pinloc_db["1k-tq144"]
            if self.device == "lm4k": return pinloc_db["lm4k-cm49"]
            if self.device == "u4k": return pinloc_db["u4k-sg48"]
            if self.device == "5k": return pinloc_db["5k-sg48"]
            if self.device == "8k": return pinloc_db["8k-ct256"]
        else:
            return pinloc_db[self.device + "-" + package]
        assert False

    def gbufin_db(self):
        return gbufin_db[self.device]

    def iolatch_db(self):
        return iolatch_db[self.device]

    def padin_pio_db(self):
        return padin_pio_db[self.device]

    def extra_bits_db(self):
        return extra_bits_db[self.device]

    def ieren_db(self):
        return ieren_db[self.device]

    def pll_list(self):
        if self.device == "1k":
            return ["1k"]
        if self.device == "lm4k":
            return ["lm4k"]
        if self.device == "u4k":
            return ["u4k"]
        if self.device == "5k":
            return ["5k"]
        if self.device == "8k":
            return ["8k_0", "8k_1"]
        if self.device == "384":
            return [ ]
        assert False

    # Return true if device is Ultra/UltraPlus series, i.e. has
    # IpConnect/DSP at the sides instead of IO
    def is_ultra(self):
        return self.device in ["5k", "u4k"]

    def colbuf_db(self):
        if self.device == "1k":
            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 <=  8: src_y =  5
                    if  9 <= y <= 12: src_y = 12
                    if 13 <= y <= 17: src_y = 13
                    if x in [3, 10] and src_y ==  4: src_y =  3
                    if x in [3, 10] and src_y == 12: src_y = 11
                    entries.append((x, src_y, x, y))
            return entries

        # TODO(awygle) - actually capture 0 and 21 here
        if self.device == "lm4k":
            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 <= 16: src_y = 16
                    if 17 <= y <= 21: src_y = 17
                    entries.append((x, src_y, x, y))
            return entries

        if self.device == "u4k":
            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 <= 16: src_y = 16
                    if 17 <= y <= 21: src_y = 17
                    entries.append((x, src_y, x, y))
            return entries

        if self.device == "8k":
            entries = list()
            for x in range(self.max_x+1):
                for y in range(self.max_y+1):
                    src_y = None
                    if  0 <= y <=  8: src_y =  8
                    if  9 <= y <= 16: src_y =  9
                    if 17 <= y <= 24: src_y = 24
                    if 25 <= y <= 33: src_y = 25
                    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):
                for y in range(self.max_y+1):
                    src_y = None                 #Is ColBufCtrl relevant?
                    if  0 <= y <=  2: src_y =  2 #384?
                    if  3 <= y <=  4: src_y =  3 #384?
                    if  5 <= y <=  6: src_y =  6 #384?
                    if  7 <= y <=  9: src_y =  7 #384?
                    entries.append((x, src_y, x, y))
            return entries

        assert False
        
    # Return a map between HDL name and routing net and location for a given DSP cell    
    def get_dsp_nets_db(self, x, y):
        assert ((x, y) in self.dsp_tiles[0])
        # Control signals
        nets = {
            "CLK":          (x, y+2, "lutff_global/clk"),
            "CE":           (x, y+2, "lutff_global/cen"),
            "IRSTTOP":      (x, y+1, "lutff_global/s_r"),
            "IRSTBOT":      (x, y+0, "lutff_global/s_r"),
            "ORSTTOP":      (x, y+3, "lutff_global/s_r"),
            "ORSTBOT":      (x, y+2, "lutff_global/s_r"),
            "AHOLD":        (x, y+2, "lutff_0/in_0"),
            "BHOLD":        (x, y+1, "lutff_0/in_0"),
            "CHOLD":        (x, y+3, "lutff_0/in_0"),
            "DHOLD":        (x, y+0, "lutff_0/in_0"),
            "OHOLDTOP":     (x, y+3, "lutff_1/in_0"),
            "OHOLDBOT":     (x, y+0, "lutff_1/in_0"),
            "ADDSUBTOP":    (x, y+3, "lutff_3/in_0"),
            "ADDSUBBOT":    (x, y+0, "lutff_3/in_0"),
            "OLOADTOP":     (x, y+3, "lutff_2/in_0"),
            "OLOADBOT":    (x, y+0, "lutff_2/in_0"),
            "CI":           (x, y+0, "lutff_4/in_0"),
            "CO":           (x, y+4, "slf_op_0")
        }
        #Data ports
        for i in range(8):
            nets["C_%d" % i]        = (x, y+3, "lutff_%d/in_3" % i)
            nets["C_%d" % (i+8)]    = (x, y+3, "lutff_%d/in_1" % i)
            
            nets["A_%d" % i]        = (x, y+2, "lutff_%d/in_3" % i)
            nets["A_%d" % (i+8)]    = (x, y+2, "lutff_%d/in_1" % i)

            nets["B_%d" % i]        = (x, y+1, "lutff_%d/in_3" % i)
            nets["B_%d" % (i+8)]    = (x, y+1, "lutff_%d/in_1" % i)

            nets["D_%d" % i]        = (x, y+0, "lutff_%d/in_3" % i)
            nets["D_%d" % (i+8)]    = (x, y+0, "lutff_%d/in_1" % i)
        for i in range(32):
            nets["O_%d" % i]        = (x, y+(i//8), "mult/O_%d" % i)
        return nets
    
    # Return the location of configuration bits for a given DSP cell
    def get_dsp_config_db(self, x, y):
        assert ((x, y) in self.dsp_tiles[0])
         
        override = { }
        if (("%s_%d_%d" % (self.device, x, y)) in dsp_config_db):
             override = dsp_config_db["%s_%d_%d" % (self.device, x, y)]
        default_db = dsp_config_db["default"]
        merged = { }
        for cfgkey in default_db:
            cx, cy, cbit = default_db[cfgkey]
            if cfgkey in override:
                cx, cy, cbit = override[cfgkey]
            merged[cfgkey] = (x + cx, y + cy, cbit)
        return merged
    
    def tile_db(self, x, y):
        # Only these devices have IO on the left and right sides.
        if self.device in ["384", "1k", "lm4k", "8k"]:
          if x == 0: return iotile_l_db
          if x == self.max_x: return iotile_r_db
        # The 5k needs an IO db including the extra bits
        if self.device == "5k" or self.device == "u4k":
            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
            if (x, y) in self.ramt_tiles: return ramttile_db
        elif self.device == "5k" or self.device == "u4k":
            if (x, y) in self.logic_tiles: return logictile_5k_db
            if (x, y) in self.ramb_tiles: return rambtile_8k_db
            if (x, y) in self.ramt_tiles: return ramttile_8k_db
            if (x, y) in self.ipcon_tiles: return ipcon_5k_db
            if (x, y) in self.dsp_tiles[0]: return dsp0_5k_db
            if (x, y) in self.dsp_tiles[1]: return dsp1_5k_db
            if (x, y) in self.dsp_tiles[2]: return dsp2_5k_db
            if (x, y) in self.dsp_tiles[3]: return dsp3_5k_db

        elif self.device == "8k" or self.device == "lm4k":
            if (x, y) in self.logic_tiles: return logictile_8k_db
            if (x, y) in self.ramb_tiles: return rambtile_8k_db
            if (x, y) in self.ramt_tiles: return ramttile_8k_db
        elif self.device == "384":
            if (x, y) in self.logic_tiles: return logictile_384_db

        print("Tile type unknown at (%d, %d)" % (x, y))
        assert False

    def tile_type(self, x, y):
        if x == 0 and (not self.is_ultra()): return "IO"
        if y == 0: return "IO"
        if x == self.max_x and (not self.is_ultra()): return "IO"
        if y == self.max_y: return "IO"
        if (x, y) in self.ramb_tiles: return "RAMB"
        if (x, y) in self.ramt_tiles: return "RAMT"
        if (x, y) in self.logic_tiles: return "LOGIC"
        if (x == 0 or x == self.max_x) and self.is_ultra():
            if (x, y) in self.dsp_tiles[0]: return "DSP0"
            elif (x, y) in self.dsp_tiles[1]: return "DSP1"
            elif (x, y) in self.dsp_tiles[2]: return "DSP2"
            elif (x, y) in self.dsp_tiles[3]: return "DSP3"
            else: return "IPCON"
        assert False

    def tile_pos(self, x, y):
        if x == 0 and 0 < y < self.max_y: return "l"
        if y == 0 and 0 < x < self.max_x: return "b"
        if x == self.max_x and 0 < y < self.max_y: return "r"
        if y == self.max_y and 0 < x < self.max_x: return "t"
        if 0 < x < self.max_x and 0 < y < self.max_y: return "x"
        return None

    def tile_has_entry(self, x, y, entry):
        if entry[1] in ("routing", "buffer"):
            return self.tile_has_net(x, y, entry[2]) and self.tile_has_net(x, y, entry[3])
        return True

    def tile_has_net(self, x, y, netname):
        if netname.startswith("logic_op_"):
            if netname.startswith("logic_op_bot_"):
                if y == self.max_y and 0 < x < self.max_x: return True
            if netname.startswith("logic_op_bnl_"):
                if x == self.max_x and 1 < y < self.max_y and (not self.is_ultra()): return True
                if y == self.max_y and 1 < x < self.max_x: return True
            if netname.startswith("logic_op_bnr_"):
                if x == 0 and 1 < y < self.max_y and (not self.is_ultra()): return True
                if y == self.max_y and 0 < x < self.max_x-1: return True

            if netname.startswith("logic_op_top_"):
                if y == 0 and 0 < x < self.max_x: return True
            if netname.startswith("logic_op_tnl_"):
                if x == self.max_x and 0 < y < self.max_y-1 and (not self.is_ultra()): return True
                if y == 0 and 1 < x < self.max_x: return True
            if netname.startswith("logic_op_tnr_"):
                if x == 0 and 0 < y < self.max_y-1 and (not self.is_ultra()): return True
                if y == 0 and 0 < x < self.max_x-1: return True

            if netname.startswith("logic_op_lft_"):
                if x == self.max_x and (not self.is_ultra()): return True
            if netname.startswith("logic_op_rgt_"):
                if x == 0 and (not self.is_ultra()): return True

            return False

        if not 0 <= x <= self.max_x: return False
        if not 0 <= y <= self.max_y: return False
        return pos_has_net(self.tile_pos(x, y), netname)

    def tile_follow_net(self, x, y, direction, netname):
        if x == 1 and y not in (0, self.max_y) and direction == 'l': return pos_follow_net("x", "L", netname, self.is_ultra())
        if y == 1 and x not in (0, self.max_x) and direction == 'b': return pos_follow_net("x", "B", netname, self.is_ultra())
        if x == self.max_x-1 and y not in (0, self.max_y) and direction == 'r': return pos_follow_net("x", "R", netname, self.is_ultra())
        if y == self.max_y-1 and x not in (0, self.max_x) and direction == 't': return pos_follow_net("x", "T", netname, self.is_ultra())
        if self.is_ultra(): # Pass through corner positions as they must be handled differently
            if y == 1 and x in (0, self.max_x) and direction == 'b': return pos_follow_net(self.tile_pos(x, y), "B", netname, self.is_ultra())
            if y == self.max_y-1 and x in (0, self.max_x) and direction == 't': return pos_follow_net(self.tile_pos(x, y), "T", netname, self.is_ultra())
            if x == 1 and y in (0, self.max_y) and direction == 'l': return pos_follow_net(self.tile_pos(x, y), "L", netname, self.is_ultra())
            if x == self.max_x-1 and y in (0, self.max_y) and direction == 'r': return pos_follow_net(self.tile_pos(x, y), "R", netname, self.is_ultra())

        return pos_follow_net(self.tile_pos(x, y), direction, netname, self.is_ultra())

    def follow_funcnet(self, x, y, func):
        neighbours = set()
        def do_direction(name, nx, ny):
            if (0 < nx < self.max_x or self.is_ultra()) and 0 < ny < self.max_y:
                neighbours.add((nx, ny, "neigh_op_%s_%d" % (name, func)))
            if nx in (0, self.max_x) and 0 < ny < self.max_y and nx != x and (not self.is_ultra()):
                neighbours.add((nx, ny, "logic_op_%s_%d" % (name, func)))
            if ny in (0, self.max_y) and 0 < nx < self.max_x and ny != y:
                neighbours.add((nx, ny, "logic_op_%s_%d" % (name, func)))
        do_direction("bot", x,   y+1)
        do_direction("bnl", x+1, y+1)
        do_direction("bnr", x-1, y+1)
        do_direction("top", x,   y-1)
        do_direction("tnl", x+1, y-1)
        do_direction("tnr", x-1, y-1)
        do_direction("lft", x+1, y  )
        do_direction("rgt", x-1, y  )
        return neighbours

    def lookup_funcnet(self, nx, ny, x, y, func):
        npos = self.tile_pos(nx, ny)
        pos = self.tile_pos(x, y)

        if npos is not None and pos is not None:
            if npos == "x":
                if (nx, ny) in self.logic_tiles:
                    return (nx, ny, "lutff_%d/out" % func)
                for i in range(4):
                    if (nx, ny) in self.dsp_tiles[i]: #TODO: check this
                        return (nx, ny, "mult/O_%d" % (i * 8 + func))
                if (nx, ny) in self.ramb_tiles:
                    if self.device == "1k":
                        return (nx, ny, "ram/RDATA_%d" % func)
                    elif self.device == "5k" or self.device == "u4k":
                        return (nx, ny, "ram/RDATA_%d" % (15-func))
                    elif self.device == "8k" or self.device == "lm4k":
                        return (nx, ny, "ram/RDATA_%d" % (15-func))
                    else:
                        assert False
                if (nx, ny) in self.ramt_tiles:
                    if self.device == "1k":
                        return (nx, ny, "ram/RDATA_%d" % (8+func))
                    elif self.device == "5k" or self.device == "u4k":
                        return (nx, ny, "ram/RDATA_%d" % (7-func))
                    elif self.device == "8k" or self.device == "lm4k":
                        return (nx, ny, "ram/RDATA_%d" % (7-func))
                    else:
                        assert False

            elif pos == "x" and ((npos in ("t", "b")) or ((not self.is_ultra()) and (npos in ("l", "r")))):
                if func in (0, 4): return (nx, ny, "io_0/D_IN_0")
                if func in (1, 5): return (nx, ny, "io_0/D_IN_1")
                if func in (2, 6): return (nx, ny, "io_1/D_IN_0")
                if func in (3, 7): return (nx, ny, "io_1/D_IN_1")

        return None

    def rlookup_funcnet(self, x, y, netname):
        funcnets = set()

        if netname == "io_0/D_IN_0":
            for net in self.follow_funcnet(x, y, 0) | self.follow_funcnet(x, y, 4):
                if self.tile_pos(net[0], net[1]) == "x": funcnets.add(net)

        if netname == "io_0/D_IN_1":
            for net in self.follow_funcnet(x, y, 1) | self.follow_funcnet(x, y, 5):
                if self.tile_pos(net[0], net[1]) == "x": funcnets.add(net)

        if netname == "io_1/D_IN_0":
            for net in self.follow_funcnet(x, y, 2) | self.follow_funcnet(x, y, 6):
                if self.tile_pos(net[0], net[1]) == "x": funcnets.add(net)

        if netname == "io_1/D_IN_1":
            for net in self.follow_funcnet(x, y, 3) | self.follow_funcnet(x, y, 7):
                if self.tile_pos(net[0], net[1]) == "x": funcnets.add(net)

        match = re.match(r"lutff_(\d+)/out", netname)
        if match:
            funcnets |= self.follow_funcnet(x, y, int(match.group(1)))

        match = re.match(r"ram/RDATA_(\d+)", netname)
        if match:
            if self.device == "1k":
                funcnets |= self.follow_funcnet(x, y, int(match.group(1)) % 8)
            elif self.device == "5k" or self.device == "u4k":
                funcnets |= self.follow_funcnet(x, y, 7 - int(match.group(1)) % 8)
            elif self.device == "8k" or self.device == "lm4k":
                funcnets |= self.follow_funcnet(x, y, 7 - int(match.group(1)) % 8)
            else:
                assert False

        return funcnets
    
    def ultraplus_follow_corner(self, corner, direction, netname):
        m = re.match("span4_(horz|vert)_([lrtb])_(\d+)$", netname)
        if not m:
            return None
        cur_edge = m.group(2)
        cur_index = int(m.group(3))
        if direction not in corner:
            return None
        if direction != cur_edge:
            return None
        h_idx, v_idx = self.ultraplus_trace_corner_idx(corner, cur_index)
        if h_idx is None and (direction == "b" or direction == "t"):
            return None
        if v_idx is None and (direction == "l" or direction == "r"):
            return None
        if corner == "bl" and direction == "l":
            return (0, 1, sp4v_normalize("sp4_v_b_%d" % v_idx))
        if corner == "bl" and direction == "b":
            return (1, 0, ultra_span4_horz_normalize("span4_horz_l_%d" % h_idx))
        if corner == "br" and direction == "r":
            return (self.max_x, 1, sp4v_normalize("sp4_v_b_%d" % v_idx))
        if corner == "br" and direction == "b":
            return (self.max_x-1, 0, ultra_span4_horz_normalize("span4_horz_r_%d" % h_idx))
        if corner == "tl" and direction == "l":
            return (0, self.max_y-1, sp4v_normalize("sp4_v_t_%d" % v_idx))
        if corner == "tl" and direction == "t":
            return (1, self.max_y, ultra_span4_horz_normalize("span4_horz_l_%d" % h_idx))
        if corner == "tr" and direction == "r":
            return (self.max_x, self.max_y-1, sp4v_normalize("sp4_v_t_%d" % v_idx))
        if corner == "tr" and direction == "t":
            return (self.max_x-1, self.max_y, ultra_span4_horz_normalize("span4_horz_r_%d" % h_idx))
        assert False
    #UltraPlus corner routing: given the corner name and net index,
    #return a tuple containing H and V indexes, or none if NA
    def ultraplus_trace_corner_idx(self, corner, idx):
        h_idx = None
        v_idx = None
        if corner == "bl" or corner == "br":
            if idx < 16:
                v_idx = idx + 32
            if idx >= 32 and idx < 48:
                h_idx = idx - 32
        elif corner == "tl" or corner == "tr":
            if idx >= 0 and idx < 16:
                v_idx = idx
                h_idx = idx
        return (h_idx, v_idx)
    
    def get_corner(self, x, y):
        corner = ""
        if y == 0:
            corner += "b"
        elif y == self.max_y:
            corner += "t"
        else:
            corner += "x"
        if x == 0:
            corner += "l"
        elif x == self.max_x:
            corner += "r"
        else:
            corner += "x"
        return corner
    
    def follow_net(self, netspec):
        x, y, netname = netspec
        neighbours = self.rlookup_funcnet(x, y, netname)

        #print(netspec)
        #print('\t', neighbours)

        if netname == "carry_in" and y > 1:
            neighbours.add((x, y-1, "lutff_7/cout"))

        if netname == "lutff_7/cout" and y+1 < self.max_y:
            neighbours.add((x, y+1, "carry_in"))

        if netname.startswith("glb_netwk_"):
            for nx in range(self.max_x+1):
                for ny in range(self.max_y+1):
                    if self.tile_pos(nx, ny) is not None:
                        neighbours.add((nx, ny, netname))

        match = re.match(r"sp4_r_v_b_(\d+)", netname)
        if match and ((0 < x < self.max_x-1) or (self.is_ultra() and (x < self.max_x))):
            neighbours.add((x+1, y, sp4v_normalize("sp4_v_b_" + match.group(1))))
        #print('\tafter r_v_b', neighbours)

        match = re.match(r"sp4_v_[bt]_(\d+)", netname)
        if match and (1 < x < self.max_x or (self.is_ultra() and (x > 0))):
            n = sp4v_normalize(netname, "b")
            if n is not None:
                n = n.replace("sp4_", "sp4_r_")
                neighbours.add((x-1, y, n))
        #print('\tafter v_[bt]', neighbours)

        match = re.match(r"(logic|neigh)_op_(...)_(\d+)", netname)
        if match:
            if match.group(2) == "bot": nx, ny = (x,   y-1)
            if match.group(2) == "bnl": nx, ny = (x-1, y-1)
            if match.group(2) == "bnr": nx, ny = (x+1, y-1)
            if match.group(2) == "top": nx, ny = (x,   y+1)
            if match.group(2) == "tnl": nx, ny = (x-1, y+1)
            if match.group(2) == "tnr": nx, ny = (x+1, y+1)
            if match.group(2) == "lft": nx, ny = (x-1, y  )
            if match.group(2) == "rgt": nx, ny = (x+1, y  )
            n = self.lookup_funcnet(nx, ny, x, y, int(match.group(3)))
            if n is not None:
                neighbours.add(n)

        for direction in ["l", "r", "t", "b"]:
            n = self.tile_follow_net(x, y, direction, netname)
            if n is not None:
                if direction == "l": s = (x-1, y, n)
                if direction == "r": s = (x+1, y, n)
                if direction == "t": s = (x, y+1, n)
                if direction == "b": s = (x, y-1, n)

                if s[0] in (0, self.max_x) and s[1] in (0, self.max_y):
                    if self.is_ultra():
                        s = self.ultraplus_follow_corner(self.get_corner(s[0], s[1]), direction, n)
                        if s is None:
                            continue
                    elif re.match("span4_(vert|horz)_[lrtb]_\d+$", n) and not self.is_ultra():
                        m = re.match("span4_(vert|horz)_([lrtb])_\d+$", n)

                        vert_net = n.replace("_l_", "_t_").replace("_r_", "_b_").replace("_horz_", "_vert_")
                        horz_net = n.replace("_t_", "_l_").replace("_b_", "_r_").replace("_vert_", "_horz_")
                                    
                        if s[0] == 0 and s[1] == 0:
                            if direction == "l": s = (0, 1, vert_net)
                            if direction == "b": s = (1, 0, horz_net)

                        if s[0] == self.max_x and s[1] == self.max_y:
                            if direction == "r": s = (self.max_x, self.max_y-1, vert_net)
                            if direction == "t": s = (self.max_x-1, self.max_y, horz_net)

                        vert_net = netname.replace("_l_", "_t_").replace("_r_", "_b_").replace("_horz_", "_vert_")
                        horz_net = netname.replace("_t_", "_l_").replace("_b_", "_r_").replace("_vert_", "_horz_")
                            
                        if s[0] == 0 and s[1] == self.max_y:
                            if direction == "l": s = (0, self.max_y-1, vert_net)
                            if direction == "t": s = (1, self.max_y, horz_net)

                        if s[0] == self.max_x and s[1] == 0:
                            if direction == "r": s = (self.max_x, 1, vert_net)
                            if direction == "b": s = (self.max_x-1, 0, horz_net)

                if self.tile_has_net(s[0], s[1], s[2]):
                    neighbours.add((s[0], s[1], s[2]))

        #print('\tafter directions', neighbours)
        return neighbours

    def get_net_number(self, segment):
        if not hasattr(self, 'net_map') or self.net_map is None:
            self.net_map = {}
            for netidx, group in enumerate(sorted(self.all_group_segments())):
                for seg in group:
                    self.net_map[seg] = netidx

        return self.net_map[segment]

    def all_group_segments(self):
        if not hasattr(self, 'all_groups') or self.all_groups is None:
            all_tiles = set()
            for x in range(self.max_x + 1):
                for y in range(self.max_y + 1):
                    if self.tile(x, y) is not None:
                        all_tiles.add((x, y))

            self.all_groups = self.group_segments(all_tiles, connect_gb=False)
        return self.all_groups

    def group_segments(self, all_from_tiles=set(), extra_connections=list(), extra_segments=list(), connect_gb=True):
        seed_segments = set()
        seen_segments = set()
        connected_segments = dict()
        grouped_segments = set()

        for seg in extra_segments:
            seed_segments.add(seg)

        for conn in extra_connections:
            s1, s2 = conn
            connected_segments.setdefault(s1, set()).add(s2)
            connected_segments.setdefault(s2, set()).add(s1)
            seed_segments.add(s1)
            seed_segments.add(s2)

        for idx, tile in self.io_tiles.items():
            tc = tileconfig(tile)
            pintypes = [ list("000000"), list("000000") ]
            for entry in self.tile_db(idx[0], idx[1]):
                if entry[1].startswith("IOB_") and entry[2].startswith("PINTYPE_") and tc.match(entry[0]):
                    pintypes[int(entry[1][-1])][int(entry[2][-1])] = "1"
            if "".join(pintypes[0][2:6]) != "0000":
                seed_segments.add((idx[0], idx[1], "io_0/D_OUT_0"))
            if "".join(pintypes[1][2:6]) != "0000":
                seed_segments.add((idx[0], idx[1], "io_1/D_OUT_0"))

        def add_seed_segments(idx, tile, db):
            tc = tileconfig(tile)
            for entry in db:
                if entry[1] in ("routing", "buffer"):
                    config_match = tc.match(entry[0])
                    if idx in all_from_tiles or config_match:
                        if not self.tile_has_net(idx[0], idx[1], entry[2]): continue
                        if not self.tile_has_net(idx[0], idx[1], entry[3]): continue
                        s1 = (idx[0], idx[1], entry[2])
                        s2 = (idx[0], idx[1], entry[3])
                        if config_match:
                            connected_segments.setdefault(s1, set()).add(s2)
                            connected_segments.setdefault(s2, set()).add(s1)
                        seed_segments.add(s1)
                        seed_segments.add(s2)

        for idx, tile in self.io_tiles.items():
            add_seed_segments(idx, tile, self.tile_db(idx[0], idx[1]))

        for idx, tile in self.logic_tiles.items():
            if idx in all_from_tiles:
                seed_segments.add((idx[0], idx[1], "lutff_7/cout"))
            if self.device == "1k":
                add_seed_segments(idx, tile, logictile_db)
            elif self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, logictile_5k_db)
            elif self.device == "8k" or self.device == "lm4k":
                add_seed_segments(idx, tile, logictile_8k_db)
            elif self.device == "384":
                add_seed_segments(idx, tile, logictile_384_db)
            else:
                assert False

        for idx, tile in self.ramb_tiles.items():
            if self.device == "1k":
                add_seed_segments(idx, tile, rambtile_db)
            elif self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, rambtile_8k_db)
            elif self.device == "8k" or self.device == "lm4k":
                add_seed_segments(idx, tile, rambtile_8k_db)
            else:
                assert False

        for idx, tile in self.ramt_tiles.items():
            if self.device == "1k":
                add_seed_segments(idx, tile, ramttile_db)
            elif self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, ramttile_8k_db)
            elif self.device == "8k" or self.device == "lm4k":
                add_seed_segments(idx, tile, ramttile_8k_db)
            else:
                assert False

        for idx, tile in self.dsp_tiles[0].items():
            if self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, dsp0_5k_db)
        for idx, tile in self.dsp_tiles[1].items():
            if self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, dsp1_5k_db)
        for idx, tile in self.dsp_tiles[2].items():
            if self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, dsp2_5k_db)
        for idx, tile in self.dsp_tiles[3].items():
            if self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, dsp3_5k_db)
        for idx, tile in self.ipcon_tiles.items():
            if self.device == "5k" or self.device == "u4k":
                add_seed_segments(idx, tile, ipcon_5k_db)
        for padin, pio in enumerate(self.padin_pio_db()):
            s1 = (pio[0], pio[1], "padin_%d" % pio[2])
            s2 = (pio[0], pio[1], "glb_netwk_%d" % padin)
            if s1 in seed_segments or (pio[0], pio[1]) in all_from_tiles:
                connected_segments.setdefault(s1, set()).add(s2)
                connected_segments.setdefault(s2, set()).add(s1)
                seed_segments.add(s1)
                seed_segments.add(s2)

        for entry in self.iolatch_db():
            if entry[0] == 0 or entry[0] == self.max_x:
                iocells = [(entry[0], i) for i in range(1, self.max_y)]
            if entry[1] == 0 or entry[1] == self.max_y:
                iocells = [(i, entry[1]) for i in range(1, self.max_x)]
            for cell in iocells:
                s1 = (entry[0], entry[1], "fabout")
                s2 = (cell[0], cell[1], "io_global/latch")
                if s1 in seed_segments or s2 in seed_segments or \
                        (entry[0], entry[1]) in all_from_tiles or (cell[0], cell[1]) in all_from_tiles:
                    connected_segments.setdefault(s1, set()).add(s2)
                    connected_segments.setdefault(s2, set()).add(s1)
                    seed_segments.add(s1)
                    seed_segments.add(s2)

        if connect_gb:
            for entry in self.gbufin_db():
                s1 = (entry[0], entry[1], "fabout")
                s2 = (entry[0], entry[1], "glb_netwk_%d" % entry[2])
                if s1 in seed_segments or (pio[0], pio[1]) in all_from_tiles:
                    connected_segments.setdefault(s1, set()).add(s2)
                    connected_segments.setdefault(s2, set()).add(s1)
                    seed_segments.add(s1)
                    seed_segments.add(s2)

        while seed_segments:
            queue = set()
            segments = set()
            queue.add(seed_segments.pop())
            while queue:
                next_segment = queue.pop()
                expanded = self.expand_net(next_segment)
                for s in expanded:
                    if s not in segments:
                        segments.add(s)
                        if s in seen_segments:
                          print("//", s, "has already been seen. Check your bitmapping.")
                          assert False
                        seen_segments.add(s)
                        seed_segments.discard(s)
                        if s in connected_segments:
                            for cs in connected_segments[s]:
                                if not cs in segments:
                                    queue.add(cs)
            for s in segments:
                assert s not in seed_segments
            grouped_segments.add(tuple(sorted(segments)))

        return grouped_segments

    def expand_net(self, netspec):
        queue = set()
        segments = set()
        queue.add(netspec)
        while queue:
            n = queue.pop()
            segments.add(n)
            for k in self.follow_net(n):
                if k not in segments:
                    queue.add(k)
        return segments

    def read_file(self, filename):
        self.clear()
        current_data = None
        expected_data_lines = 0
        with open(filename, "r") as f:
            for linenum, linetext in enumerate(f):
                # print("DEBUG: input line %d: %s" % (linenum, linetext.strip()))
                line = linetext.strip().split()
                if len(line) == 0:
                    assert expected_data_lines == 0
                    continue
                if line[0][0] != ".":
                    if expected_data_lines == -1:
                        continue
                    if line[0][0] not in "0123456789abcdef":
                        print("Warning: ignoring data block in line %d: %s" % (linenum, linetext.strip()))
                        expected_data_lines = 0
                        continue
                    assert expected_data_lines != 0
                    current_data.append(line[0])
                    expected_data_lines -= 1
                    continue
                assert expected_data_lines <= 0
                if line[0] in (".io_tile", ".logic_tile", ".ramb_tile", ".ramt_tile", ".ram_data", ".ipcon_tile", ".dsp0_tile", ".dsp1_tile", ".dsp2_tile", ".dsp3_tile"):
                    current_data = list()
                    expected_data_lines = 16
                    self.max_x = max(self.max_x, int(line[1]))
                    self.max_y = max(self.max_y, int(line[2]))
                if line[0] == ".io_tile":
                    self.io_tiles[(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".logic_tile":
                    self.logic_tiles[(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".ramb_tile":
                    self.ramb_tiles[(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".ramt_tile":
                    self.ramt_tiles[(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".ipcon_tile":
                    self.ipcon_tiles[(int(line[1]), int(line[2]))] = current_data
                    continue
                match = re.match(r".dsp(\d)_tile", line[0])
                if match:
                    self.dsp_tiles[int(match.group(1))][(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".ram_data":
                    self.ram_data[(int(line[1]), int(line[2]))] = current_data
                    continue
                if line[0] == ".extra_bit":
                    self.extra_bits.add((int(line[1]), int(line[2]), int(line[3])))
                    continue
                if line[0] == ".device":
                    assert line[1] in ["1k", "lm4k", "u4k", "5k", "8k", "384"]
                    self.device = line[1]
                    continue
                if line[0] == ".warmboot":
                    assert line[1] in ["disabled", "enabled"]
                    self.warmboot = line[1] == "enabled"
                    continue
                if line[0] == ".sym":
                    self.symbols.setdefault(int(line[1]), set()).add(line[2])
                    continue
                if line[0] == ".comment":
                    expected_data_lines = -1
                    continue
                print("Warning: ignoring line %d: %s" % (linenum, linetext.strip()))
                expected_data_lines = -1

    def write_file(self, filename):
        with open(filename, "w") as f:
            print(".device %s" % self.device, file=f)
            if not self.warmboot:
                print(".warmboot disabled", file=f)
            for y in range(self.max_y+1):
                for x in range(self.max_x+1):
                    if self.tile_pos(x, y) is not None:
                        print(".%s_tile %d %d" % (self.tile_type(x, y).lower(), x, y), file=f)
                        for line in self.tile(x, y):
                            print(line, file=f)
            for x, y in sorted(self.ram_data):
                print(".ram_data %d %d" % (x, y), file=f)
                for line in self.ram_data[(x, y)]:
                    print(line, file=f)
            for extra_bit in sorted(self.extra_bits):
                print(".extra_bit %d %d %d" % extra_bit, file=f)
            for net in sorted(self.symbols.keys()):
                for sym_key in self.symbols[net]:
                    print(".sym %s %s" % (net, sym_key), file=f)
class tileconfig:
    def __init__(self, tile):
        self.bits = set()
        for k, line in enumerate(tile):
            for i in range(len(line)):
                if line[i] == "1":
                    self.bits.add("B%d[%d]" % (k, i))
                else:
                    self.bits.add("!B%d[%d]" % (k, i))
    def match(self, pattern):
        for bit in pattern:
            if not bit in self.bits:
                return False
        return True

if False:
    ## Lattice span net name normalization

    valid_sp4_h_l = set([1, 2, 4, 5, 7, 9, 10, 11, 15, 16, 17, 21, 24, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47])
    valid_sp4_h_r = set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 19, 21, 24, 25, 27, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46])

    valid_sp4_v_t = set([1, 3, 5, 9, 12, 14, 16, 17, 18, 21, 22, 23, 26, 28, 29, 30, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47])
    valid_sp4_v_b = set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 18, 19, 21, 22, 23, 24, 26, 30, 33, 36, 37, 38, 42, 46, 47])

    valid_sp12_h_l = set([3, 4, 5, 12, 14, 16, 17, 18, 21, 22, 23])
    valid_sp12_h_r = set([0, 1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 14, 16, 20, 23])

    valid_sp12_v_t = set([0, 1, 2, 3, 6, 9, 10, 12, 14, 21, 22, 23])
    valid_sp12_v_b = set([0, 1, 6, 7, 8, 11, 12, 14, 16, 18, 19, 20, 21, 23])

else:
    ## IceStorm span net name normalization

    valid_sp4_h_l = set(range(36, 48))
    valid_sp4_h_r = set(range(48))

    valid_sp4_v_t = set(range(36, 48))
    valid_sp4_v_b = set(range(48))

    valid_sp12_h_l = set(range(22, 24))
    valid_sp12_h_r = set(range(24))

    valid_sp12_v_t = set(range(22, 24))
    valid_sp12_v_b = set(range(24))

def sp4h_normalize(netname, edge=""):
    m = re.match("sp4_h_([lr])_(\d+)$", netname)
    assert m
    if not m: return None
    cur_edge = m.group(1)
    cur_index = int(m.group(2))

    if cur_edge == edge:
        return netname

    if cur_edge == "r" and (edge == "l" or (edge == "" and cur_index not in valid_sp4_h_r)):
        if cur_index < 12:
            return None
        return "sp4_h_l_%d" % ((cur_index-12)^1)

    if cur_edge == "l" and (edge == "r" or (edge == "" and cur_index not in valid_sp4_h_l)):
        if cur_index >= 36:
            return None
        return "sp4_h_r_%d" % ((cur_index+12)^1)

    return netname
# "Normalization" of span4 (not just sp4) is needed during Ultra/UltraPlus
# corner tracing
def ultra_span4_horz_normalize(netname, edge=""):
    m = re.match("span4_horz_([rl])_(\d+)$", netname)
    assert m
    if not m: return None
    cur_edge = m.group(1)
    cur_index = int(m.group(2))
    if cur_edge == edge:
        return netname
    if edge == "":
        if cur_edge == "l" and cur_index < 12:
            return "span4_horz_r_%d" % (cur_index + 4)
        else:
            return netname
    elif edge == "l" and cur_edge == "r":
        if cur_index < 4:
            return None
        else:
            cur_index -= 4
        return "span4_horz_l_%d" % cur_index
    elif edge == "r" and cur_edge == "l":
        if cur_index < 12:
            return "span4_horz_r_%d" % (cur_index + 4)
        else:
            return None
    assert False
    
def sp4v_normalize(netname, edge=""):
    m = re.match("sp4_v_([bt])_(\d+)$", netname)
    assert m
    if not m: return None
    cur_edge = m.group(1)
    cur_index = int(m.group(2))

    if cur_edge == edge:
        return netname

    if cur_edge == "b" and (edge == "t" or (edge == "" and cur_index not in valid_sp4_v_b)):
        if cur_index < 12:
            return None
        return "sp4_v_t_%d" % ((cur_index-12)^1)

    if cur_edge == "t" and (edge == "b" or (edge == "" and cur_index not in valid_sp4_v_t)):
        if cur_index >= 36:
            return None
        return "sp4_v_b_%d" % ((cur_index+12)^1)

    return netname

def sp12h_normalize(netname, edge=""):
    m = re.match("sp12_h_([lr])_(\d+)$", netname)
    assert m
    if not m: return None
    cur_edge = m.group(1)
    cur_index = int(m.group(2))

    if cur_edge == edge:
        return netname

    if cur_edge == "r" and (edge == "l" or (edge == "" and cur_index not in valid_sp12_h_r)):
        if cur_index < 2:
            return None
        return "sp12_h_l_%d" % ((cur_index-2)^1)

    if cur_edge == "l" and (edge == "r" or (edge == "" and cur_index not in valid_sp12_h_l)):
        if cur_index >= 22:
            return None
        return "sp12_h_r_%d" % ((cur_index+2)^1)

    return netname

def sp12v_normalize(netname, edge=""):
    m = re.match("sp12_v_([bt])_(\d+)$", netname)
    assert m
    if not m: return None
    cur_edge = m.group(1)
    cur_index = int(m.group(2))

    if cur_edge == edge:
        return netname

    if cur_edge == "b" and (edge == "t" or (edge == "" and cur_index not in valid_sp12_v_b)):
        if cur_index < 2:
            return None
        return "sp12_v_t_%d" % ((cur_index-2)^1)

    if cur_edge == "t" and (edge == "b" or (edge == "" and cur_index not in valid_sp12_v_t)):
        if cur_index >= 22:
            return None
        return "sp12_v_b_%d" % ((cur_index+2)^1)

    return netname

def netname_normalize(netname, edge="", ramb=False, ramt=False, ramb_8k=False, ramt_8k=False):
    if netname.startswith("sp4_v_"): return sp4v_normalize(netname, edge)
    if netname.startswith("sp4_h_"): return sp4h_normalize(netname, edge)
    if netname.startswith("sp12_v_"): return sp12v_normalize(netname, edge)
    if netname.startswith("sp12_h_"): return sp12h_normalize(netname, edge)
    if netname.startswith("input_2_"): netname = netname.replace("input_2_", "wire_logic_cluster/lc_") + "/in_2"
    netname = netname.replace("lc_trk_", "local_")
    netname = netname.replace("lc_", "lutff_")
    netname = netname.replace("wire_logic_cluster/", "")
    netname = netname.replace("wire_io_cluster/", "")
    netname = netname.replace("wire_mult/", "")
    netname = netname.replace("wire_con_box/", "")
    netname = netname.replace("wire_bram/", "")
    if (ramb or ramt or ramb_8k or ramt_8k) and netname.startswith("input"):
        match = re.match(r"input(\d)_(\d)", netname)
        idx1, idx2 = (int(match.group(1)), int(match.group(2)))
        if ramb: netname="ram/WADDR_%d" % (idx1*4 + idx2)
        if ramt: netname="ram/RADDR_%d" % (idx1*4 + idx2)
        if ramb_8k: netname="ram/RADDR_%d" % ([7, 6, 5, 4, 3, 2, 1, 0, -1, -1, -1, -1, -1, 10, 9, 8][idx1*4 + idx2])
        if ramt_8k: netname="ram/WADDR_%d" % ([7, 6, 5, 4, 3, 2, 1, 0, -1, -1, -1, -1, -1, 10, 9, 8][idx1*4 + idx2])
    match = re.match(r"(...)_op_(.*)", netname)
    if match and (match.group(1) != "slf"):
        netname = "neigh_op_%s_%s" % (match.group(1), match.group(2))
    if re.match(r"lutff_7/(cen|clk|s_r)", netname):
        netname = netname.replace("lutff_7/", "lutff_global/")
    if re.match(r"io_1/(cen|inclk|outclk)", netname):
        netname = netname.replace("io_1/", "io_global/")
    if netname == "carry_in_mux/cout":
        return "carry_in_mux"
    return netname

def pos_has_net(pos, netname):
    if pos in ("l", "r"):
        if re.search(r"_vert_\d+$", netname): return False
        if re.search(r"_horz_[rl]_\d+$", netname): return False
    if pos in ("t", "b"):
        if re.search(r"_horz_\d+$", netname): return False
        if re.search(r"_vert_[bt]_\d+$", netname): return False
    return True

def pos_follow_net(pos, direction, netname, is_ultra):
    if pos == "x" or ((pos in ("l", "r")) and is_ultra):
            m = re.match("sp4_h_[lr]_(\d+)$", netname)
            if m and direction in ("l", "L"):
                n = sp4h_normalize(netname, "l")
                if n is not None:
                    if direction == "l" or is_ultra:
                        n = re.sub("_l_", "_r_", n)
                        n = sp4h_normalize(n)
                    else:
                        n = re.sub("_l_", "_", n)
                        n = re.sub("sp4_h_", "span4_horz_", n)
                    return n
            if m and direction in ("r", "R"):
                n = sp4h_normalize(netname, "r")
                if n is not None:
                    if direction == "r" or is_ultra:
                        n = re.sub("_r_", "_l_", n)
                        n = sp4h_normalize(n)
                    else:
                        n = re.sub("_r_", "_", n)
                        n = re.sub("sp4_h_", "span4_horz_", n)
                    return n

            m = re.match("sp4_v_[tb]_(\d+)$", netname)
            if m and direction in ("t", "T"):
                n = sp4v_normalize(netname, "t")
                if n is not None:
                    if is_ultra and direction == "T" and pos in ("l", "r"):
                        return re.sub("sp4_v_", "span4_vert_", n)
                    elif direction == "t":
                        n = re.sub("_t_", "_b_", n)
                        n = sp4v_normalize(n)
                    else:
                        n = re.sub("_t_", "_", n)
                        n = re.sub("sp4_v_", "span4_vert_", n)
                    return n
            if m and direction in ("b", "B"):
                n = sp4v_normalize(netname, "b")
                if n is not None:
                    if is_ultra and direction == "B" and pos in ("l", "r"):
                        return re.sub("sp4_v_", "span4_vert_", n)
                    elif direction == "b":
                        n = re.sub("_b_", "_t_", n)
                        n = sp4v_normalize(n)
                    else:
                        n = re.sub("_b_", "_", n)
                        n = re.sub("sp4_v_", "span4_vert_", n)
                    return n

            m = re.match("sp12_h_[lr]_(\d+)$", netname)
            if m and direction in ("l", "L"):
                n = sp12h_normalize(netname, "l")
                if n is not None:
                    if direction == "l" or is_ultra:
                        n = re.sub("_l_", "_r_", n)
                        n = sp12h_normalize(n)
                    else:
                        n = re.sub("_l_", "_", n)
                        n = re.sub("sp12_h_", "span12_horz_", n)
                    return n
            if m and direction in ("r", "R"):
                n = sp12h_normalize(netname, "r")
                if n is not None:
                    if direction == "r" or is_ultra:
                        n = re.sub("_r_", "_l_", n)
                        n = sp12h_normalize(n)
                    else:
                        n = re.sub("_r_", "_", n)
                        n = re.sub("sp12_h_", "span12_horz_", n)
                    return n

            m = re.match("sp12_v_[tb]_(\d+)$", netname)
            if m and direction in ("t", "T"):
                n = sp12v_normalize(netname, "t")
                if n is not None:
                    if direction == "t":
                        n = re.sub("_t_", "_b_", n)
                        n = sp12v_normalize(n)
                    elif direction == "T" and pos in ("l", "r"):
                        pass
                    else:
                        n = re.sub("_t_", "_", n)
                        n = re.sub("sp12_v_", "span12_vert_", n)
                    return n
            if m and direction in ("b", "B"):
                n = sp12v_normalize(netname, "b")
                if n is not None:
                    if direction == "b":
                        n = re.sub("_b_", "_t_", n)
                        n = sp12v_normalize(n)
                    elif direction == "B" and pos in ("l", "r"):
                        pass
                    else:
                        n = re.sub("_b_", "_", n)
                        n = re.sub("sp12_v_", "span12_vert_", n)
                    return n

    if (pos in ("l", "r" )) and (not is_ultra):
        m = re.match("span4_vert_([bt])_(\d+)$", netname)
        if m:
            case, idx = direction + m.group(1), int(m.group(2))
            if case == "tt":
                return "span4_vert_b_%d" % idx
            if case == "tb" and idx >= 4:
                return "span4_vert_b_%d" % (idx-4)
            if case == "bb" and idx < 12:
                return "span4_vert_b_%d" % (idx+4)
            if case == "bb" and idx >= 12:
                return "span4_vert_t_%d" % idx

    if pos in ("t", "b" ):
        m = re.match("span4_horz_([rl])_(\d+)$", netname)
        if m:
            case, idx = direction + m.group(1), int(m.group(2))
            if direction == "L":
                return ultra_span4_horz_normalize(netname, "l")
            elif direction == "R":
                return ultra_span4_horz_normalize(netname, "r")            
            if case == "ll":
                return "span4_horz_r_%d" % idx
            if case == "lr" and idx >= 4:
                return "span4_horz_r_%d" % (idx-4)
            if case == "rr" and idx < 12:
                return "span4_horz_r_%d" % (idx+4)
            if case == "rr" and idx >= 12:
                return "span4_horz_l_%d" % idx

    if pos == "l" and direction == "r" and (not is_ultra):
            m = re.match("span4_horz_(\d+)$", netname)
            if m: return sp4h_normalize("sp4_h_l_%s" % m.group(1))
            m = re.match("span12_horz_(\d+)$", netname)
            if m: return sp12h_normalize("sp12_h_l_%s" % m.group(1))

    if pos == "r" and direction == "l" and (not is_ultra):
            m = re.match("span4_horz_(\d+)$", netname)
            if m: return sp4h_normalize("sp4_h_r_%s" % m.group(1))
            m = re.match("span12_horz_(\d+)$", netname)
            if m: return sp12h_normalize("sp12_h_r_%s" % m.group(1))

    if pos == "t" and direction == "b":
            m = re.match("span4_vert_(\d+)$", netname)
            if m: return sp4v_normalize("sp4_v_t_%s" % m.group(1))
            m = re.match("span12_vert_(\d+)$", netname)
            if m: return sp12v_normalize("sp12_v_t_%s" % m.group(1))

    if pos == "b" and direction == "t":
            m = re.match("span4_vert_(\d+)$", netname)
            if m: return sp4v_normalize("sp4_v_b_%s" % m.group(1))
            m = re.match("span12_vert_(\d+)$", netname)
            if m: return sp12v_normalize("sp12_v_b_%s" % m.group(1))

    return None

def get_lutff_bits(tile, index):
    bits = list("--------------------")
    for k, line in enumerate(tile):
        for i in range(36, 46):
            lutff_idx = k // 2
            lutff_bitnum = (i-36) + 10*(k%2)
            if lutff_idx == index:
                bits[lutff_bitnum] = line[i];
    return bits

def get_lutff_lut_bits(tile, index):
    lutff_bits = get_lutff_bits(tile, index)
    return [lutff_bits[i] for i in [4, 14, 15, 5, 6, 16, 17, 7, 3, 13, 12, 2, 1, 11, 10, 0]]

def get_lutff_seq_bits(tile, index):
    lutff_bits = get_lutff_bits(tile, index)
    return [lutff_bits[i] for i in [8, 9, 18, 19]]

def get_carry_cascade_bit(tile):
    return tile[1][49]

def get_carry_bit(tile):
    return tile[1][50]

def get_negclk_bit(tile):
    return tile[0][0]

def key_netname(netname):
    return re.sub(r"\d+", lambda m: "%09d" % int(m.group(0)), netname)

def run_checks_neigh():
    print("Running consistency checks on neighbour finder..")
    ic = iceconfig()
    # ic.setup_empty_1k()
    #ic.setup_empty_lm4k()
    ic.setup_empty_u4k()
    #ic.setup_empty_5k()
    # ic.setup_empty_8k()
    # ic.setup_empty_384()

    all_segments = set()

    def add_segments(idx, db):
        for entry in db:
            if entry[1] in ("routing", "buffer"):
                if not ic.tile_has_net(idx[0], idx[1], entry[2]): continue
                if not ic.tile_has_net(idx[0], idx[1], entry[3]): continue
                all_segments.add((idx[0], idx[1], entry[2]))
                all_segments.add((idx[0], idx[1], entry[3]))

    for x in range(ic.max_x+1):
        for y in range(ic.max_x+1):
            # Skip the corners.
            if x in (0, ic.max_x) and y in (0, ic.max_y):
                continue
            add_segments((x, y), ic.tile_db(x, y))
            if (x, y) in ic.logic_tiles:
                all_segments.add((x, y, "lutff_7/cout"))

    for s1 in all_segments:
        for s2 in ic.follow_net(s1):
            # if s1[1] > 4: continue
            if s1 not in ic.follow_net(s2):
                print("ERROR: %s -> %s, but not vice versa!" % (s1, s2))
                print("Neighbours of %s:" % (s1,))
                for s in ic.follow_net(s1):
                    print("  ", s)
                print("Neighbours of %s:" % (s2,))
                for s in ic.follow_net(s2):
                    print("  ", s)
                print()

def run_checks():
    run_checks_neigh()

def parse_db(text, device="1k"):
    db = list()
    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_8k = line.replace("8k_glb_netwk_", "glb_netwk_")
        if line_1k != line:
            if device != "1k":
                continue
            line = line_1k
        elif line_8k != line:
            # global network is the same for 8k, 5k, lm4k, and u4k
            if device != "8k" and device != "5k" and device != "lm4k" and device != "u4k":
                continue
            line = line_8k
        elif line_384 != line:
            if device != "384":
                continue
            line = line_384
        line = line.split("\t")
        if len(line) == 0 or line[0] == "":
            continue
        line[0] = line[0].split(",")
        db.append(line)
    return db

extra_bits_db = {
    "1k": {
        (0, 330, 142): ("padin_glb_netwk", "0"),
        (0, 331, 142): ("padin_glb_netwk", "1"),
        (1, 330, 143): ("padin_glb_netwk", "2"),
        (1, 331, 143): ("padin_glb_netwk", "3"), # (1 3)  (331 144)  (331 144)  routing T_0_0.padin_3 <X> T_0_0.glb_netwk_3
        (1, 330, 142): ("padin_glb_netwk", "4"),
        (1, 331, 142): ("padin_glb_netwk", "5"),
        (0, 330, 143): ("padin_glb_netwk", "6"), # (0 0)  (330 143)  (330 143)  routing T_0_0.padin_6 <X> T_0_0.glb_netwk_6
        (0, 331, 143): ("padin_glb_netwk", "7"),
    },
    "lm4k": {
        (0, 654, 174): ("padin_glb_netwk", "0"),
        (0, 655, 174): ("padin_glb_netwk", "1"),
        (1, 654, 175): ("padin_glb_netwk", "2"),
        (1, 655, 175): ("padin_glb_netwk", "3"),
        (1, 654, 174): ("padin_glb_netwk", "4"), # HSOSC
        (1, 655, 174): ("padin_glb_netwk", "5"), # LSOSC
        (0, 654, 175): ("padin_glb_netwk", "6"),
        (0, 655, 175): ("padin_glb_netwk", "7"),
    },
    "5k": {
        (0, 690, 334): ("padin_glb_netwk", "0"), # check
        (0, 691, 334): ("padin_glb_netwk", "1"), # good
        (1, 690, 175): ("padin_glb_netwk", "2"), # good
        (1, 691, 175): ("padin_glb_netwk", "3"), # check
        (1, 690, 174): ("padin_glb_netwk", "4"), # good (INTOSC only)
        (1, 691, 174): ("padin_glb_netwk", "5"), # good (INTOSC only)
        (0, 690, 335): ("padin_glb_netwk", "6"), # check
        (0, 691, 335): ("padin_glb_netwk", "7"), # good
    },
    "u4k": {
        (0, 691, 175): ("padin_glb_netwk", "0"),   # good
        (1, 690, 175): ("padin_glb_netwk", "1"),   # good
        (0, 690, 175): ("padin_glb_netwk", "2"),   # made up
        (0, 690, 174): ("padin_glb_netwk", "3"),   # good
        (1, 690, 174): ("padin_glb_netwk", "4"),   # HFOSC, good
        (1, 691, 174): ("padin_glb_netwk", "5"),   # LFOSC, good
        (0, 691, 174): ("padin_glb_netwk", "6"),   # good
        (1, 691, 175): ("padin_glb_netwk", "7"),   # made up
        },
    "8k": {
        (0, 870, 270): ("padin_glb_netwk", "0"),
        (0, 871, 270): ("padin_glb_netwk", "1"),
        (1, 870, 271): ("padin_glb_netwk", "2"),
        (1, 871, 271): ("padin_glb_netwk", "3"),
        (1, 870, 270): ("padin_glb_netwk", "4"),
        (1, 871, 270): ("padin_glb_netwk", "5"),
        (0, 870, 271): ("padin_glb_netwk", "6"),
        (0, 871, 271): ("padin_glb_netwk", "7"),
    },
    "384": {
        (0, 180, 78): ("padin_glb_netwk", "0"),
        (0, 181, 78): ("padin_glb_netwk", "1"),
        (1, 180, 79): ("padin_glb_netwk", "2"),
        (1, 181, 79): ("padin_glb_netwk", "3"),
        (1, 180, 78): ("padin_glb_netwk", "4"),
        (1, 181, 78): ("padin_glb_netwk", "5"),
        (0, 180, 79): ("padin_glb_netwk", "6"),
        (0, 181, 79): ("padin_glb_netwk", "7"),
    }
}

gbufin_db = {
    "1k": [
        (13,  8,  7),
        ( 0,  8,  6),
        ( 7, 17,  1),
        ( 7,  0,  0),
        ( 0,  9,  3),
        (13,  9,  2),
        ( 6,  0,  5),
        ( 6, 17,  4),
    ],
    "5k": [
        ( 6,  0,  6), #checked
        (12,  0,  5), #checked
        (13,  0,  0), #checked
        (19,  0,  7), #checked
        ( 6, 31,  3), #checked
        (12, 31,  4), #checked
        (13, 31,  1), #checked
        (19, 31,  2), #checked
    ],
    "u4k": [
        (13,  0,  0), # 0 ok
        (13, 21,  1), # 1 ok
        (19, 21,  2), # 2 ok
        ( 6, 21,  3), # 3 ok
        (12, 21,  4), # 4 ok
        (12,  0,  5), # 5 ok
        ( 6,  0,  6), # 6 ok
        (19,  0,  7), # 7 ok
    ],
    "lm4k": [
        ( 6,  0,  6),
        (12,  0,  5),
        (13,  0,  0),
        (19,  0,  7),
        ( 6, 21,  3),
        (12, 21,  4),
        (13, 21,  1),
        (19, 21,  2),
    ],
    "8k": [
        (33, 16,  7),
        ( 0, 16,  6),
        (17, 33,  1),
        (17,  0,  0),
        ( 0, 17,  3),
        (33, 17,  2),
        (16,  0,  5),
        (16, 33,  4),
    ],
    "384": [
        ( 7,  4,  7),
        ( 0,  4,  6),
        ( 4,  9,  1),
        ( 4,  0,  0),
        ( 0,  5,  3),
        ( 7,  5,  2),
        ( 3,  0,  5),
        ( 3,  9,  4),
    ]
}

# To figure these out:
#   1. Copy io_latched.sh and convert it for your pinout (like io_latched_5k.sh).
#   2. Run it. It will create an io_latched_<device>.work directory with a bunch of files.
#   3. Grep the *.ve files in that directory for "'fabout')". The coordinates
#      before it are where the io latches are.
#
# Note: This may not work if your icepack configuration of cell sizes is incorrect because
# icebox_vlog.py won't correctly interpret the meaning of particular bits.
iolatch_db = {
    "1k": [
        ( 0,  7),
        (13, 10),
        ( 5,  0),
        ( 8, 17),
    ],
    "lm4k": [
        (14, 0),
        (14, 21)
    ],
    "5k": [
        (14, 0),
        (14, 31),
    ],
    "u4k": [
        (14, 0),
        (14, 21),
    ],
    "8k": [
        ( 0, 15),
        (33, 18),
        (18,  0),
        (15, 33),
    ],
    "384": [
        ( 0,  3), #384?
        ( 7,  5), #384?
        ( 2,  0), #384?
        ( 5,  9), #384?
    ],
}

# The x, y cell locations of the WARMBOOT controls. Run tests/sb_warmboot.v
# through icecube.sh to determine these values.
warmbootinfo_db = {
    "1k": {
        "BOOT": ( 12, 0, "fabout" ),
        "S0":   ( 13, 1, "fabout" ),
        "S1":   ( 13, 2, "fabout" ),
    },
    "5k": {
        # These are the right locations but may be the wrong order.
        "BOOT": ( 22, 0, "fabout" ),
        "S0":   ( 23, 0, "fabout" ),
        "S1":   ( 24, 0, "fabout" ),
    },
    "u4k": {
        # These are the right locations but may be the wrong order.
        "BOOT": ( 22, 0, "fabout" ),
        "S0":   ( 23, 0, "fabout" ),
        "S1":   ( 24, 0, "fabout" ),
        },
    "lm4k": {
        # These are the right locations but may be the wrong order.
        "BOOT": ( 23, 0, "fabout" ),
        "S0":   ( 24, 0, "fabout" ),
        "S1":   ( 25, 1, "fabout" ),
    },
    "8k": {
        "BOOT": ( 31, 0, "fabout" ),
        "S0":   ( 33, 1, "fabout" ),
        "S1":   ( 33, 2, "fabout" ),
    },
    "384": {
        "BOOT": ( 6, 0, "fabout" ), #384?
        "S0":   ( 7, 1, "fabout" ),
        "S1":   ( 7, 2, "fabout" ),
    }
}

noplls_db = {
    "1k-swg16tr": [ "1k" ],
    "1k-cm36": [ "1k" ],
    "1k-cm49": [ "1k" ],
    "8k-cm81": [ "8k_1" ],
    "8k-cm81:4k": [ "8k_1" ],
    "1k-qn48": [ "1k" ],
    "1k-cb81": [ "1k" ],
    "1k-cb121": [ "1k" ],
    "1k-vq100": [ "1k" ],
    "384-qn32": [ "384" ],
}

pllinfo_db = {
    "1k": {
        "LOC" : (6, 0),

        # 3'b000 = "DISABLED"
        # 3'b010 = "SB_PLL40_PAD"
        # 3'b100 = "SB_PLL40_2_PAD"
        # 3'b110 = "SB_PLL40_2F_PAD"
        # 3'b011 = "SB_PLL40_CORE"
        # 3'b111 = "SB_PLL40_2F_CORE"
        "PLLTYPE_0":            ( 0,  3, "PLLCONFIG_5"),
        "PLLTYPE_1":            ( 0,  5, "PLLCONFIG_1"),
        "PLLTYPE_2":            ( 0,  5, "PLLCONFIG_3"),

        # 3'b000 = "DELAY"
        # 3'b001 = "SIMPLE"
        # 3'b010 = "PHASE_AND_DELAY"
        # 3'b110 = "EXTERNAL"
        "FEEDBACK_PATH_0":      ( 0,  5, "PLLCONFIG_5"),
        "FEEDBACK_PATH_1":      ( 0,  2, "PLLCONFIG_9"),
        "FEEDBACK_PATH_2":      ( 0,  3, "PLLCONFIG_1"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_FEEDBACK=4'b1111)
        "DELAY_ADJMODE_FB":     ( 0,  4, "PLLCONFIG_4"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
        "DELAY_ADJMODE_REL":    ( 0,  4, "PLLCONFIG_9"),

        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_A_0":    ( 0,  3, "PLLCONFIG_6"),
        "PLLOUT_SELECT_A_1":    ( 0,  3, "PLLCONFIG_7"),

        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_B_0":    ( 0,  3, "PLLCONFIG_2"),
        "PLLOUT_SELECT_B_1":    ( 0,  3, "PLLCONFIG_3"),

        # Numeric Parameters
        "SHIFTREG_DIV_MODE":    ( 0,  3, "PLLCONFIG_4"),
        "FDA_FEEDBACK_0":       ( 0,  3, "PLLCONFIG_9"),
        "FDA_FEEDBACK_1":       ( 0,  4, "PLLCONFIG_1"),
        "FDA_FEEDBACK_2":       ( 0,  4, "PLLCONFIG_2"),
        "FDA_FEEDBACK_3":       ( 0,  4, "PLLCONFIG_3"),
        "FDA_RELATIVE_0":       ( 0,  4, "PLLCONFIG_5"),
        "FDA_RELATIVE_1":       ( 0,  4, "PLLCONFIG_6"),
        "FDA_RELATIVE_2":       ( 0,  4, "PLLCONFIG_7"),
        "FDA_RELATIVE_3":       ( 0,  4, "PLLCONFIG_8"),
        "DIVR_0":               ( 0,  1, "PLLCONFIG_1"),
        "DIVR_1":               ( 0,  1, "PLLCONFIG_2"),
        "DIVR_2":               ( 0,  1, "PLLCONFIG_3"),
        "DIVR_3":               ( 0,  1, "PLLCONFIG_4"),
        "DIVF_0":               ( 0,  1, "PLLCONFIG_5"),
        "DIVF_1":               ( 0,  1, "PLLCONFIG_6"),
        "DIVF_2":               ( 0,  1, "PLLCONFIG_7"),
        "DIVF_3":               ( 0,  1, "PLLCONFIG_8"),
        "DIVF_4":               ( 0,  1, "PLLCONFIG_9"),
        "DIVF_5":               ( 0,  2, "PLLCONFIG_1"),
        "DIVF_6":               ( 0,  2, "PLLCONFIG_2"),
        "DIVQ_0":               ( 0,  2, "PLLCONFIG_3"),
        "DIVQ_1":               ( 0,  2, "PLLCONFIG_4"),
        "DIVQ_2":               ( 0,  2, "PLLCONFIG_5"),
        "FILTER_RANGE_0":       ( 0,  2, "PLLCONFIG_6"),
        "FILTER_RANGE_1":       ( 0,  2, "PLLCONFIG_7"),
        "FILTER_RANGE_2":       ( 0,  2, "PLLCONFIG_8"),
        "TEST_MODE":            ( 0,  3, "PLLCONFIG_8"),

        # PLL Ports
        "PLLOUT_A":             ( 6,  0, 1),
        "PLLOUT_B":             ( 7,  0, 0),
        "REFERENCECLK":         ( 0,  1, "fabout"),
        "EXTFEEDBACK":          ( 0,  2, "fabout"),
        "DYNAMICDELAY_0":       ( 0,  4, "fabout"),
        "DYNAMICDELAY_1":       ( 0,  5, "fabout"),
        "DYNAMICDELAY_2":       ( 0,  6, "fabout"),
        "DYNAMICDELAY_3":       ( 0, 10, "fabout"),
        "DYNAMICDELAY_4":       ( 0, 11, "fabout"),
        "DYNAMICDELAY_5":       ( 0, 12, "fabout"),
        "DYNAMICDELAY_6":       ( 0, 13, "fabout"),
        "DYNAMICDELAY_7":       ( 0, 14, "fabout"),
        "LOCK":                 ( 1,  1, "neigh_op_bnl_1"),
        "BYPASS":               ( 1,  0, "fabout"),
        "RESETB":               ( 2,  0, "fabout"),
        "LATCHINPUTVALUE":      ( 5,  0, "fabout"),
        "SDO":                  (12,  1, "neigh_op_bnr_3"),
        "SDI":                  ( 4,  0, "fabout"),
        "SCLK":                 ( 3,  0, "fabout"),
    },
    "lm4k": {
        "LOC" : (12, 0),

        # 3'b000 = "DISABLED"
        # 3'b010 = "SB_PLL40_PAD"
        # 3'b100 = "SB_PLL40_2_PAD"
        # 3'b110 = "SB_PLL40_2F_PAD"
        # 3'b011 = "SB_PLL40_CORE"
        # 3'b111 = "SB_PLL40_2F_CORE"
        "PLLTYPE_0":            (12,  0, "PLLCONFIG_5"),
        "PLLTYPE_1":            (14,  0, "PLLCONFIG_1"),
        "PLLTYPE_2":            (14,  0, "PLLCONFIG_3"),

        # 3'b000 = "DELAY"
        # 3'b001 = "SIMPLE"
        # 3'b010 = "PHASE_AND_DELAY"
        # 3'b110 = "EXTERNAL"
        "FEEDBACK_PATH_0":      (14,  0, "PLLCONFIG_5"),
        "FEEDBACK_PATH_1":      (11,  0, "PLLCONFIG_9"),
        "FEEDBACK_PATH_2":      (12,  0, "PLLCONFIG_1"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_FEEDBACK=4'b1111)
        "DELAY_ADJMODE_FB":     (13,  0, "PLLCONFIG_4"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
        "DELAY_ADJMODE_REL":    (13,  0, "PLLCONFIG_9"),

        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_A_0":    (12,  0, "PLLCONFIG_6"),
        "PLLOUT_SELECT_A_1":    (12,  0, "PLLCONFIG_7"),
        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_B_0":    (12,  0, "PLLCONFIG_2"),
        "PLLOUT_SELECT_B_1":    (12,  0, "PLLCONFIG_3"),

        # Numeric Parameters
        "SHIFTREG_DIV_MODE":    (12,  0, "PLLCONFIG_4"),
        "FDA_FEEDBACK_0":       (12,  0, "PLLCONFIG_9"),
        "FDA_FEEDBACK_1":       (13,  0, "PLLCONFIG_1"),
        "FDA_FEEDBACK_2":       (13,  0, "PLLCONFIG_2"),
        "FDA_FEEDBACK_3":       (13,  0, "PLLCONFIG_3"),
        "FDA_RELATIVE_0":       (13,  0, "PLLCONFIG_5"),
        "FDA_RELATIVE_1":       (13,  0, "PLLCONFIG_6"),
        "FDA_RELATIVE_2":       (13,  0, "PLLCONFIG_7"),
        "FDA_RELATIVE_3":       (13,  0, "PLLCONFIG_8"),
        "DIVR_0":               (10,  0, "PLLCONFIG_1"),
        "DIVR_1":               (10,  0, "PLLCONFIG_2"),
        "DIVR_2":               (10,  0, "PLLCONFIG_3"),
        "DIVR_3":               (10,  0, "PLLCONFIG_4"),
        "DIVF_0":               (10,  0, "PLLCONFIG_5"),
        "DIVF_1":               (10,  0, "PLLCONFIG_6"),
        "DIVF_2":               (10,  0, "PLLCONFIG_7"),
        "DIVF_3":               (10,  0, "PLLCONFIG_8"),
        "DIVF_4":               (10,  0, "PLLCONFIG_9"),
        "DIVF_5":               (11,  0, "PLLCONFIG_1"),
        "DIVF_6":               (11,  0, "PLLCONFIG_2"),
        "DIVQ_0":               (11,  0, "PLLCONFIG_3"),
        "DIVQ_1":               (11,  0, "PLLCONFIG_4"),
        "DIVQ_2":               (11,  0, "PLLCONFIG_5"),
        "FILTER_RANGE_0":       (11,  0, "PLLCONFIG_6"),
        "FILTER_RANGE_1":       (11,  0, "PLLCONFIG_7"),
        "FILTER_RANGE_2":       (11,  0, "PLLCONFIG_8"),
        "TEST_MODE":            (12,  0, "PLLCONFIG_8"),

        # PLL Ports
        # TODO(awygle) confirm these
        "PLLOUT_A":             ( 12,  0, 1), 
        "PLLOUT_B":             ( 13,  0, 0), 
        "REFERENCECLK":         ( 10,  0, "fabout"),
        "EXTFEEDBACK":          ( 11,  0, "fabout"), 
        "DYNAMICDELAY_0":       (  1,  0, "fabout"), 
        "DYNAMICDELAY_1":       (  2,  0, "fabout"), 
        "DYNAMICDELAY_2":       (  3,  0, "fabout"), 
        "DYNAMICDELAY_3":       (  4,  0, "fabout"), 
        "DYNAMICDELAY_4":       (  5,  0, "fabout"), 
        "DYNAMICDELAY_5":       (  7,  0, "fabout"), 
        "DYNAMICDELAY_6":       (  8,  0, "fabout"), 
        "DYNAMICDELAY_7":       (  9,  0, "fabout"), 
        "LOCK":                 (  1,  1, "neigh_op_bnl_1"), #check?
        "BYPASS":               ( 15,  0, "fabout"),
        "RESETB":               ( 16,  0, "fabout"),
        "LATCHINPUTVALUE":      ( 14,  0, "fabout"),
        "SDO":                  ( 24,  1, "neigh_op_bnr_3"), #check?
        "SDI":                  ( 18,  0, "fabout"),
        "SCLK":                 ( 17,  0, "fabout"),
    },
    "5k": {
        "LOC" : (12, 31),

        # 3'b000 = "DISABLED"
        # 3'b010 = "SB_PLL40_PAD"
        # 3'b100 = "SB_PLL40_2_PAD"
        # 3'b110 = "SB_PLL40_2F_PAD"
        # 3'b011 = "SB_PLL40_CORE"
        # 3'b111 = "SB_PLL40_2F_CORE"
        "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":      (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":     (13, 31, "PLLCONFIG_4"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
        "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":    (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":    (12, 31, "PLLCONFIG_2"),
        "PLLOUT_SELECT_B_1":    (12, 31, "PLLCONFIG_3"),

        # Numeric Parameters
        "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":             ( 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"),
    },
    "u4k": {
        "LOC" : (12, 21),

        "PLLTYPE_1":            (14, 21, "PLLCONFIG_1"),
        "PLLTYPE_2":            (14, 21, "PLLCONFIG_3"),
        "PLLTYPE_0":            (12, 21, "PLLCONFIG_5"),
        "FEEDBACK_PATH_0":      (14, 21, "PLLCONFIG_5"),
        "FEEDBACK_PATH_1":      (11, 21, "PLLCONFIG_9"),
        "FEEDBACK_PATH_2":      (12, 21, "PLLCONFIG_1"),
        "PLLOUT_SELECT_A_0":    (12, 21, "PLLCONFIG_6"),
        "PLLOUT_SELECT_A_1":    (12, 21, "PLLCONFIG_7"),
        "PLLOUT_SELECT_B_0":    (12, 21, "PLLCONFIG_2"),
        "PLLOUT_SELECT_B_1":    (12, 21, "PLLCONFIG_3"),
        "SHIFTREG_DIV_MODE":    (12, 21, "PLLCONFIG_4"),
        "FDA_FEEDBACK_0":       (12, 21, "PLLCONFIG_9"),
        "FDA_FEEDBACK_1":       (13, 21, "PLLCONFIG_1"),
        "FDA_FEEDBACK_2":       (13, 21, "PLLCONFIG_2"),
        "FDA_FEEDBACK_3":       (13, 21, "PLLCONFIG_3"),
        "FDA_RELATIVE_0":       (13, 21, "PLLCONFIG_5"),
        "FDA_RELATIVE_1":       (13, 21, "PLLCONFIG_6"),
        "FDA_RELATIVE_2":       (13, 21, "PLLCONFIG_7"),
        "FDA_RELATIVE_3":       (13, 21, "PLLCONFIG_8"),
        "DIVR_0":               (10, 21, "PLLCONFIG_1"),
        "DIVR_1":               (10, 21, "PLLCONFIG_2"),
        "DIVR_2":               (10, 21, "PLLCONFIG_3"),
        "DIVR_3":               (10, 21, "PLLCONFIG_4"),
        "DIVF_0":               (10, 21, "PLLCONFIG_5"),
        "DIVF_1":               (10, 21, "PLLCONFIG_6"),
        "DIVF_2":               (10, 21, "PLLCONFIG_7"),
        "DIVF_3":               (10, 21, "PLLCONFIG_8"),
        "DIVF_4":               (10, 21, "PLLCONFIG_9"),
        "DIVF_5":               (11, 21, "PLLCONFIG_1"),
        "DIVF_6":               (11, 21, "PLLCONFIG_2"),
        "DIVQ_0":               (11, 21, "PLLCONFIG_3"),
        "DIVQ_1":               (11, 21, "PLLCONFIG_4"),
        "DIVQ_2":               (11, 21, "PLLCONFIG_5"),
        "FILTER_RANGE_0":       (11, 21, "PLLCONFIG_6"),
        "FILTER_RANGE_1":       (11, 21, "PLLCONFIG_7"),
        "FILTER_RANGE_2":       (11, 21, "PLLCONFIG_8"),
        "TEST_MODE":            (12, 21, "PLLCONFIG_8"),
        "DELAY_ADJMODE_FB":     (13, 21, "PLLCONFIG_4"),
        "DELAY_ADJMODE_REL":    (13, 21, "PLLCONFIG_9"),

        # PLL Ports
        "PLLOUT_A":             ( 12, 21, 1),
        "PLLOUT_B":             ( 13, 21, 0),
        "REFERENCECLK":         ( 10, 21, "fabout"),
        "EXTFEEDBACK":          ( 11, 21, "fabout"),
        "DYNAMICDELAY_0":       (  1, 21, "fabout"),
        "DYNAMICDELAY_1":       (  2, 21, "fabout"),
        "DYNAMICDELAY_2":       (  3, 21, "fabout"),
        "DYNAMICDELAY_3":       (  4, 21, "fabout"),
        "DYNAMICDELAY_4":       (  5, 21, "fabout"),
        "DYNAMICDELAY_5":       (  7, 21, "fabout"),
        "DYNAMICDELAY_6":       (  8, 21, "fabout"),
        "DYNAMICDELAY_7":       (  9, 21, "fabout"),
        "LOCK":                 (  1, 20, "neigh_op_tnl_1"), #check?
        "BYPASS":               ( 15, 21, "fabout"),
        "RESETB":               ( 16, 21, "fabout"),
        "LATCHINPUTVALUE":      ( 14, 21, "fabout"),
        "SDO":                  ( 24, 20, "neigh_op_tnr_1"), #check?
        "SDI":                  ( 18, 21, "fabout"),
        "SCLK":                 ( 17, 21, "fabout"),
    },
    "8k_0": {
        "LOC" : (16, 0),

        # 3'b000 = "DISABLED"
        # 3'b010 = "SB_PLL40_PAD"
        # 3'b100 = "SB_PLL40_2_PAD"
        # 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"),

        # 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"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_FEEDBACK=4'b1111)
        "DELAY_ADJMODE_FB":     ( 17, 0, "PLLCONFIG_4"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
        "DELAY_ADJMODE_REL":    ( 17, 0, "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"),

        # 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"),

        # 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"),

        # 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"),
    },
    "8k_1": {
        "LOC" : (16, 33),

        # 3'b000 = "DISABLED"
        # 3'b010 = "SB_PLL40_PAD"
        # 3'b100 = "SB_PLL40_2_PAD"
        # 3'b110 = "SB_PLL40_2F_PAD"
        # 3'b011 = "SB_PLL40_CORE"
        # 3'b111 = "SB_PLL40_2F_CORE"
        "PLLTYPE_0":            ( 16, 33, "PLLCONFIG_5"),
        "PLLTYPE_1":            ( 18, 33, "PLLCONFIG_1"),
        "PLLTYPE_2":            ( 18, 33, "PLLCONFIG_3"),

        # 3'b000 = "DELAY"
        # 3'b001 = "SIMPLE"
        # 3'b010 = "PHASE_AND_DELAY"
        # 3'b110 = "EXTERNAL"
        "FEEDBACK_PATH_0":      ( 18, 33, "PLLCONFIG_5"),
        "FEEDBACK_PATH_1":      ( 15, 33, "PLLCONFIG_9"),
        "FEEDBACK_PATH_2":      ( 16, 33, "PLLCONFIG_1"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_FEEDBACK=4'b1111)
        "DELAY_ADJMODE_FB":     ( 17, 33, "PLLCONFIG_4"),

        # 1'b0 = "FIXED"
        # 1'b1 = "DYNAMIC" (also set FDA_RELATIVE=4'b1111)
        "DELAY_ADJMODE_REL":    ( 17, 33, "PLLCONFIG_9"),

        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_A_0":    ( 16, 33, "PLLCONFIG_6"),
        "PLLOUT_SELECT_A_1":    ( 16, 33, "PLLCONFIG_7"),

        # 2'b00 = "GENCLK"
        # 2'b01 = "GENCLK_HALF"
        # 2'b10 = "SHIFTREG_90deg"
        # 2'b11 = "SHIFTREG_0deg"
        "PLLOUT_SELECT_B_0":    ( 16, 33, "PLLCONFIG_2"),
        "PLLOUT_SELECT_B_1":    ( 16, 33, "PLLCONFIG_3"),

        # Numeric Parameters
        "SHIFTREG_DIV_MODE":    ( 16, 33, "PLLCONFIG_4"),
        "FDA_FEEDBACK_0":       ( 16, 33, "PLLCONFIG_9"),
        "FDA_FEEDBACK_1":       ( 17, 33, "PLLCONFIG_1"),
        "FDA_FEEDBACK_2":       ( 17, 33, "PLLCONFIG_2"),
        "FDA_FEEDBACK_3":       ( 17, 33, "PLLCONFIG_3"),
        "FDA_RELATIVE_0":       ( 17, 33, "PLLCONFIG_5"),
        "FDA_RELATIVE_1":       ( 17, 33, "PLLCONFIG_6"),
        "FDA_RELATIVE_2":       ( 17, 33, "PLLCONFIG_7"),
        "FDA_RELATIVE_3":       ( 17, 33, "PLLCONFIG_8"),
        "DIVR_0":               ( 14, 33, "PLLCONFIG_1"),
        "DIVR_1":               ( 14, 33, "PLLCONFIG_2"),
        "DIVR_2":               ( 14, 33, "PLLCONFIG_3"),
        "DIVR_3":               ( 14, 33, "PLLCONFIG_4"),
        "DIVF_0":               ( 14, 33, "PLLCONFIG_5"),
        "DIVF_1":               ( 14, 33, "PLLCONFIG_6"),
        "DIVF_2":               ( 14, 33, "PLLCONFIG_7"),
        "DIVF_3":               ( 14, 33, "PLLCONFIG_8"),
        "DIVF_4":               ( 14, 33, "PLLCONFIG_9"),
        "DIVF_5":               ( 15, 33, "PLLCONFIG_1"),
        "DIVF_6":               ( 15, 33, "PLLCONFIG_2"),
        "DIVQ_0":               ( 15, 33, "PLLCONFIG_3"),
        "DIVQ_1":               ( 15, 33, "PLLCONFIG_4"),
        "DIVQ_2":               ( 15, 33, "PLLCONFIG_5"),
        "FILTER_RANGE_0":       ( 15, 33, "PLLCONFIG_6"),
        "FILTER_RANGE_1":       ( 15, 33, "PLLCONFIG_7"),
        "FILTER_RANGE_2":       ( 15, 33, "PLLCONFIG_8"),
        "TEST_MODE":            ( 16, 33, "PLLCONFIG_8"),

        # PLL Ports
        "PLLOUT_A":             ( 16, 33, 1),
        "PLLOUT_B":             ( 17, 33, 0),
        "REFERENCECLK":         ( 13, 33, "fabout"),
        "EXTFEEDBACK":          ( 14, 33, "fabout"),
        "DYNAMICDELAY_0":       (  5, 33, "fabout"),
        "DYNAMICDELAY_1":       (  6, 33, "fabout"),
        "DYNAMICDELAY_2":       (  7, 33, "fabout"),
        "DYNAMICDELAY_3":       (  8, 33, "fabout"),
        "DYNAMICDELAY_4":       (  9, 33, "fabout"),
        "DYNAMICDELAY_5":       ( 10, 33, "fabout"),
        "DYNAMICDELAY_6":       ( 11, 33, "fabout"),
        "DYNAMICDELAY_7":       ( 12, 33, "fabout"),
        "LOCK":                 (  1, 32, "neigh_op_tnl_1"),
        "BYPASS":               ( 19, 33, "fabout"),
        "RESETB":               ( 20, 33, "fabout"),
        "LATCHINPUTVALUE":      ( 15, 33, "fabout"),
        "SDO":                  ( 32, 32, "neigh_op_tnr_1"),
        "SDI":                  ( 22, 33, "fabout"),
        "SCLK":                 ( 21, 33, "fabout"),
    },
}

padin_pio_db = {
    "1k": [
        (13,  8, 1),  # glb_netwk_0
        ( 0,  8, 1),  # glb_netwk_1
        ( 7, 17, 0),  # glb_netwk_2
        ( 7,  0, 0),  # glb_netwk_3
        ( 0,  9, 0),  # glb_netwk_4
        (13,  9, 0),  # glb_netwk_5
        ( 6,  0, 1),  # glb_netwk_6
        ( 6, 17, 1),  # glb_netwk_7
    ],
    "lm4k": [
        (19,  0, 0), #0 fixed
        ( 6,  0, 1), #1 fixed
        (13, 21, 0), #2 fixed
        (13,  0, 0), #3 fixed
        
        (19, 21, 0), #These two are questionable, but keep the order correct
        ( 6, 21, 0), #They may need to be fixed if other package options are added.

        (12,  0, 1), #6 fixed
        (12, 21, 1), #7 fixed
    ],
    "5k": [
        (19,  0, 1), #0 fixed
        ( 6,  0, 1), #1 fixed
        (13, 31, 0), #2 fixed
        (13,  0, 0), #3 fixed
        
        (19, 31, 0), #These two are questionable, but keep the order correct
        ( 6, 31, 0), #They may need to be fixed if other package options are added.

        (12,  0, 1), #6 fixed
        (12, 31, 1), #7 fixed
    ],
    "u4k": [
        (19,  0, 1), # 0 ok
        ( 6,  0, 1), # 1 ok

        (13, 21, 0), # 2 ok
        (13,  0, 0), # 3 unclear
        (19, 21, 0), # 4 HFOSC unclear
        ( 6, 21, 0), # 5 LFOSC unclear
        (12,  0, 1), # 6 unclear
        (12, 21, 1), # 7 ok
    ],
    "8k": [
        (33, 16, 1),
        ( 0, 16, 1),
        (17, 33, 0),
        (17,  0, 0),
        ( 0, 17, 0),
        (33, 17, 0),
        (16,  0, 1),
        (16, 33, 1),
    ],
    "384": [
        ( 7,  4, 1),
        ( 0,  4, 1),
        ( 4,  9, 0),
        ( 4,  0, 0), #QFN32: no pin?!
        ( 0,  5, 0),
        ( 7,  5, 0),
        ( 3,  0, 1), #QFN32: no pin?!
        ( 3,  9, 1),
    ]
}

ieren_db = {
    "1k": [
        # IO-block (X, Y, Z) <-> IeRen-block (X, Y, Z)
        ( 0,  2, 0,  0,  2, 1),
        ( 0,  2, 1,  0,  2, 0),
        ( 0,  3, 0,  0,  3, 1),
        ( 0,  3, 1,  0,  3, 0),
        ( 0,  4, 0,  0,  4, 1),
        ( 0,  4, 1,  0,  4, 0),
        ( 0,  5, 0,  0,  5, 1),
        ( 0,  5, 1,  0,  5, 0),
        ( 0,  6, 0,  0,  6, 1),
        ( 0,  6, 1,  0,  6, 0),
        ( 0,  8, 0,  0,  8, 1),
        ( 0,  8, 1,  0,  8, 0),
        ( 0,  9, 0,  0,  9, 1),
        ( 0,  9, 1,  0,  9, 0),
        ( 0, 10, 0,  0, 10, 1),
        ( 0, 10, 1,  0, 10, 0),
        ( 0, 11, 0,  0, 11, 1),
        ( 0, 11, 1,  0, 11, 0),
        ( 0, 12, 0,  0, 12, 1),
        ( 0, 12, 1,  0, 12, 0),
        ( 0, 13, 0,  0, 13, 1),
        ( 0, 13, 1,  0, 13, 0),
        ( 0, 14, 0,  0, 14, 1),
        ( 0, 14, 1,  0, 14, 0),
        ( 1,  0, 0,  1,  0, 0),
        ( 1,  0, 1,  1,  0, 1),
        ( 1, 17, 0,  1, 17, 0),
        ( 1, 17, 1,  1, 17, 1),
        ( 2,  0, 0,  2,  0, 0),
        ( 2,  0, 1,  2,  0, 1),
        ( 2, 17, 0,  2, 17, 0),
        ( 2, 17, 1,  2, 17, 1),
        ( 3,  0, 0,  3,  0, 0),
        ( 3,  0, 1,  3,  0, 1),
        ( 3, 17, 0,  3, 17, 0),
        ( 3, 17, 1,  3, 17, 1),
        ( 4,  0, 0,  4,  0, 0),
        ( 4,  0, 1,  4,  0, 1),
        ( 4, 17, 0,  4, 17, 0),
        ( 4, 17, 1,  4, 17, 1),
        ( 5,  0, 0,  5,  0, 0),
        ( 5,  0, 1,  5,  0, 1),
        ( 5, 17, 0,  5, 17, 0),
        ( 5, 17, 1,  5, 17, 1),
        ( 6,  0, 0,  7,  0, 0),
        ( 6,  0, 1,  6,  0, 0),
        ( 6, 17, 0,  6, 17, 0),
        ( 6, 17, 1,  6, 17, 1),
        ( 7,  0, 0,  6,  0, 1),
        ( 7,  0, 1,  7,  0, 1),
        ( 7, 17, 0,  7, 17, 0),
        ( 7, 17, 1,  7, 17, 1),
        ( 8,  0, 0,  8,  0, 0),
        ( 8,  0, 1,  8,  0, 1),
        ( 8, 17, 0,  8, 17, 0),
        ( 8, 17, 1,  8, 17, 1),
        ( 9,  0, 0,  9,  0, 0),
        ( 9,  0, 1,  9,  0, 1),
        ( 9, 17, 0, 10, 17, 0),
        ( 9, 17, 1, 10, 17, 1),
        (10,  0, 0, 10,  0, 0),
        (10,  0, 1, 10,  0, 1),
        (10, 17, 0,  9, 17, 0),
        (10, 17, 1,  9, 17, 1),
        (11,  0, 0, 11,  0, 0),
        (11,  0, 1, 11,  0, 1),
        (11, 17, 0, 11, 17, 0),
        (11, 17, 1, 11, 17, 1),
        (12,  0, 0, 12,  0, 0),
        (12,  0, 1, 12,  0, 1),
        (12, 17, 0, 12, 17, 0),
        (12, 17, 1, 12, 17, 1),
        (13,  1, 0, 13,  1, 0),
        (13,  1, 1, 13,  1, 1),
        (13,  2, 0, 13,  2, 0),
        (13,  2, 1, 13,  2, 1),
        (13,  3, 1, 13,  3, 1),
        (13,  4, 0, 13,  4, 0),
        (13,  4, 1, 13,  4, 1),
        (13,  6, 0, 13,  6, 0),
        (13,  6, 1, 13,  6, 1),
        (13,  7, 0, 13,  7, 0),
        (13,  7, 1, 13,  7, 1),
        (13,  8, 0, 13,  8, 0),
        (13,  8, 1, 13,  8, 1),
        (13,  9, 0, 13,  9, 0),
        (13,  9, 1, 13,  9, 1),
        (13, 11, 0, 13, 10, 0),
        (13, 11, 1, 13, 10, 1),
        (13, 12, 0, 13, 11, 0),
        (13, 12, 1, 13, 11, 1),
        (13, 13, 0, 13, 13, 0),
        (13, 13, 1, 13, 13, 1),
        (13, 14, 0, 13, 14, 0),
        (13, 14, 1, 13, 14, 1),
        (13, 15, 0, 13, 15, 0),
        (13, 15, 1, 13, 15, 1),
    ],
    "8k": [
        ( 0,  3, 0,  0,  3, 0),
        ( 0,  3, 1,  0,  3, 1),
        ( 0,  4, 0,  0,  4, 0),
        ( 0,  4, 1,  0,  4, 1),
        ( 0,  5, 0,  0,  5, 0),
        ( 0,  5, 1,  0,  5, 1),
        ( 0,  6, 0,  0,  6, 0),
        ( 0,  6, 1,  0,  6, 1),
        ( 0,  7, 0,  0,  7, 0),
        ( 0,  7, 1,  0,  7, 1),
        ( 0,  8, 0,  0,  8, 0),
        ( 0,  8, 1,  0,  8, 1),
        ( 0,  9, 0,  0,  9, 0),
        ( 0,  9, 1,  0,  9, 1),
        ( 0, 10, 0,  0, 10, 0),
        ( 0, 10, 1,  0, 10, 1),
        ( 0, 11, 0,  0, 11, 0),
        ( 0, 11, 1,  0, 11, 1),
        ( 0, 12, 0,  0, 12, 0),
        ( 0, 12, 1,  0, 12, 1),
        ( 0, 13, 0,  0, 13, 0),
        ( 0, 13, 1,  0, 13, 1),
        ( 0, 14, 0,  0, 14, 0),
        ( 0, 14, 1,  0, 14, 1),
        ( 0, 16, 0,  0, 16, 0),
        ( 0, 16, 1,  0, 16, 1),
        ( 0, 17, 0,  0, 17, 0),
        ( 0, 17, 1,  0, 17, 1),
        ( 0, 18, 0,  0, 18, 0),
        ( 0, 18, 1,  0, 18, 1),
        ( 0, 19, 0,  0, 19, 0),
        ( 0, 19, 1,  0, 19, 1),
        ( 0, 20, 0,  0, 20, 0),
        ( 0, 20, 1,  0, 20, 1),
        ( 0, 21, 0,  0, 21, 0),
        ( 0, 21, 1,  0, 21, 1),
        ( 0, 22, 0,  0, 22, 0),
        ( 0, 22, 1,  0, 22, 1),
        ( 0, 23, 0,  0, 23, 0),
        ( 0, 23, 1,  0, 23, 1),
        ( 0, 24, 0,  0, 24, 0),
        ( 0, 24, 1,  0, 24, 1),
        ( 0, 25, 0,  0, 25, 0),
        ( 0, 25, 1,  0, 25, 1),
        ( 0, 27, 0,  0, 27, 0),
        ( 0, 27, 1,  0, 27, 1),
        ( 0, 28, 0,  0, 28, 0),
        ( 0, 28, 1,  0, 28, 1),
        ( 0, 30, 0,  0, 30, 0),
        ( 0, 30, 1,  0, 30, 1),
        ( 0, 31, 0,  0, 31, 0),
        ( 0, 31, 1,  0, 31, 1),
        ( 1, 33, 0,  1, 33, 0),
        ( 1, 33, 1,  1, 33, 1),
        ( 2,  0, 0,  2,  0, 0),
        ( 2,  0, 1,  2,  0, 1),
        ( 2, 33, 0,  2, 33, 0),
        ( 2, 33, 1,  2, 33, 1),
        ( 3,  0, 0,  3,  0, 0),
        ( 3,  0, 1,  3,  0, 1),
        ( 3, 33, 0,  3, 33, 0),
        ( 3, 33, 1,  3, 33, 1),
        ( 4,  0, 0,  4,  0, 0),
        ( 4,  0, 1,  4,  0, 1),
        ( 4, 33, 0,  4, 33, 0),
        ( 4, 33, 1,  4, 33, 1),
        ( 5,  0, 0,  5,  0, 0),
        ( 5,  0, 1,  5,  0, 1),
        ( 5, 33, 0,  5, 33, 0),
        ( 5, 33, 1,  5, 33, 1),
        ( 6,  0, 0,  6,  0, 0),
        ( 6,  0, 1,  6,  0, 1),
        ( 6, 33, 0,  6, 33, 0),
        ( 6, 33, 1,  6, 33, 1),
        ( 7,  0, 0,  7,  0, 0),
        ( 7,  0, 1,  7,  0, 1),
        ( 7, 33, 0,  7, 33, 0),
        ( 7, 33, 1,  7, 33, 1),
        ( 8,  0, 0,  8,  0, 0),
        ( 8,  0, 1,  8,  0, 1),
        ( 8, 33, 0,  8, 33, 0),
        ( 8, 33, 1,  8, 33, 1),
        ( 9,  0, 0,  9,  0, 0),
        ( 9,  0, 1,  9,  0, 1),
        ( 9, 33, 0,  9, 33, 0),
        ( 9, 33, 1,  9, 33, 1),
        (10,  0, 0, 10,  0, 0),
        (10,  0, 1, 10,  0, 1),
        (10, 33, 0, 10, 33, 0),
        (10, 33, 1, 10, 33, 1),
        (11,  0, 0, 11,  0, 0),
        (11,  0, 1, 11,  0, 1),
        (11, 33, 0, 11, 33, 0),
        (11, 33, 1, 11, 33, 1),
        (12,  0, 0, 12,  0, 0),
        (12,  0, 1, 12,  0, 1),
        (12, 33, 0, 12, 33, 0),
        (13,  0, 0, 13,  0, 0),
        (13,  0, 1, 13,  0, 1),
        (13, 33, 0, 13, 33, 0),
        (13, 33, 1, 13, 33, 1),
        (14,  0, 0, 14,  0, 0),
        (14,  0, 1, 14,  0, 1),
        (14, 33, 0, 14, 33, 0),
        (14, 33, 1, 14, 33, 1),
        (15,  0, 0, 15,  0, 0),
        (15,  0, 1, 15,  0, 1),
        (16,  0, 0, 16,  0, 0),
        (16,  0, 1, 16,  0, 1),
        (16, 33, 0, 16, 33, 0),
        (16, 33, 1, 16, 33, 1),
        (17,  0, 0, 17,  0, 0),
        (17,  0, 1, 17,  0, 1),
        (17, 33, 0, 17, 33, 0),
        (17, 33, 1, 17, 33, 1),
        (18, 33, 0, 18, 33, 0),
        (18, 33, 1, 18, 33, 1),
        (19,  0, 0, 19,  0, 0),
        (19,  0, 1, 19,  0, 1),
        (19, 33, 0, 19, 33, 0),
        (19, 33, 1, 19, 33, 1),
        (20,  0, 0, 20,  0, 0),
        (20,  0, 1, 20,  0, 1),
        (20, 33, 0, 20, 33, 0),
        (20, 33, 1, 20, 33, 1),
        (21,  0, 0, 21,  0, 0),
        (21,  0, 1, 21,  0, 1),
        (21, 33, 0, 21, 33, 0),
        (21, 33, 1, 21, 33, 1),
        (22,  0, 0, 22,  0, 0),
        (22,  0, 1, 22,  0, 1),
        (22, 33, 0, 22, 33, 0),
        (22, 33, 1, 22, 33, 1),
        (23,  0, 0, 23,  0, 0),
        (23,  0, 1, 23,  0, 1),
        (23, 33, 0, 23, 33, 0),
        (23, 33, 1, 23, 33, 1),
        (24,  0, 0, 24,  0, 0),
        (24,  0, 1, 24,  0, 1),
        (24, 33, 0, 24, 33, 0),
        (24, 33, 1, 24, 33, 1),
        (25,  0, 0, 25,  0, 0),
        (25, 33, 0, 25, 33, 0),
        (25, 33, 1, 25, 33, 1),
        (26,  0, 0, 26,  0, 0),
        (26,  0, 1, 26,  0, 1),
        (26, 33, 0, 26, 33, 0),
        (26, 33, 1, 26, 33, 1),
        (27,  0, 0, 27,  0, 0),
        (27,  0, 1, 27,  0, 1),
        (27, 33, 0, 27, 33, 0),
        (27, 33, 1, 27, 33, 1),
        (28,  0, 0, 28,  0, 0),
        (28, 33, 1, 28, 33, 1),
        (29,  0, 0, 29,  0, 0),
        (29,  0, 1, 29,  0, 1),
        (29, 33, 0, 29, 33, 0),
        (29, 33, 1, 29, 33, 1),
        (30,  0, 0, 30,  0, 0),
        (30,  0, 1, 30,  0, 1),
        (30, 33, 0, 30, 33, 0),
        (30, 33, 1, 30, 33, 1),
        (31,  0, 0, 31,  0, 0),
        (31,  0, 1, 31,  0, 1),
        (31, 33, 0, 31, 33, 0),
        (31, 33, 1, 31, 33, 1),
        (33,  1, 0, 33,  1, 0),
        (33,  1, 1, 33,  1, 1),
        (33,  2, 0, 33,  2, 0),
        (33,  2, 1, 33,  2, 1),
        (33,  3, 0, 33,  3, 0),
        (33,  3, 1, 33,  3, 1),
        (33,  4, 0, 33,  4, 0),
        (33,  4, 1, 33,  4, 1),
        (33,  5, 0, 33,  5, 0),
        (33,  5, 1, 33,  5, 1),
        (33,  6, 0, 33,  6, 0),
        (33,  6, 1, 33,  6, 1),
        (33,  7, 0, 33,  7, 0),
        (33,  7, 1, 33,  7, 1),
        (33,  8, 0, 33,  8, 0),
        (33,  9, 0, 33,  9, 0),
        (33,  9, 1, 33,  9, 1),
        (33, 10, 0, 33, 10, 0),
        (33, 10, 1, 33, 10, 1),
        (33, 11, 0, 33, 11, 0),
        (33, 11, 1, 33, 11, 1),
        (33, 12, 0, 33, 12, 0),
        (33, 13, 0, 33, 13, 0),
        (33, 13, 1, 33, 13, 1),
        (33, 14, 0, 33, 14, 0),
        (33, 14, 1, 33, 14, 1),
        (33, 15, 0, 33, 15, 0),
        (33, 15, 1, 33, 15, 1),
        (33, 16, 0, 33, 16, 0),
        (33, 16, 1, 33, 16, 1),
        (33, 17, 0, 33, 17, 0),
        (33, 17, 1, 33, 17, 1),
        (33, 19, 0, 33, 19, 0),
        (33, 19, 1, 33, 19, 1),
        (33, 20, 0, 33, 20, 0),
        (33, 20, 1, 33, 20, 1),
        (33, 21, 0, 33, 21, 0),
        (33, 21, 1, 33, 21, 1),
        (33, 22, 0, 33, 22, 0),
        (33, 22, 1, 33, 22, 1),
        (33, 23, 0, 33, 23, 0),
        (33, 23, 1, 33, 23, 1),
        (33, 24, 0, 33, 24, 0),
        (33, 24, 1, 33, 24, 1),
        (33, 25, 0, 33, 25, 0),
        (33, 25, 1, 33, 25, 1),
        (33, 26, 0, 33, 26, 0),
        (33, 26, 1, 33, 26, 1),
        (33, 27, 0, 33, 27, 0),
        (33, 27, 1, 33, 27, 1),
        (33, 28, 0, 33, 28, 0),
        (33, 28, 1, 33, 28, 1),
        (33, 29, 1, 33, 29, 1),
        (33, 30, 0, 33, 30, 0),
        (33, 30, 1, 33, 30, 1),
        (33, 31, 0, 33, 31, 0),
    ],
    "384": [
        ( 0,  1, 0,  0,  1, 1),
        ( 0,  1, 1,  0,  1, 0),
        ( 0,  2, 0,  0,  2, 1),
        ( 0,  2, 1,  0,  2, 0),
        ( 0,  4, 0,  0,  4, 1),
        ( 0,  4, 1,  0,  4, 0),
        ( 0,  5, 0,  0,  5, 1),
        ( 0,  5, 1,  0,  5, 0),
        ( 0,  6, 0,  0,  6, 1),
        ( 0,  6, 1,  0,  6, 0),
        ( 0,  7, 0,  0,  7, 1),
        ( 0,  7, 1,  0,  7, 0),
        ( 2,  9, 0,  2,  9, 1),
        ( 2,  9, 1,  2,  9, 0),
        ( 3,  0, 0,  3,  0, 1),
        ( 3,  0, 1,  3,  0, 0),
        ( 3,  9, 0,  3,  9, 1),
        ( 3,  9, 1,  3,  9, 0),
        ( 4,  0, 0,  4,  0, 1),
        ( 4,  0, 1,  4,  0, 0),
        ( 4,  9, 0,  4,  9, 1),
        ( 4,  9, 1,  4,  9, 0),
        ( 5,  0, 0,  5,  0, 1),
        ( 5,  0, 1,  5,  0, 0),
        ( 5,  9, 0,  5,  9, 1),
        ( 5,  9, 1,  5,  9, 0),
        ( 6,  0, 0,  6,  0, 1),
        ( 6,  0, 1,  6,  0, 0),
        ( 6,  9, 0,  6,  9, 1),
        ( 6,  9, 1,  6,  9, 0),
        ( 7,  3, 1,  7,  3, 0),
        ( 7,  4, 0,  7,  4, 1),
        ( 7,  4, 1,  7,  4, 0),
        ( 7,  5, 0,  7,  5, 1),
        ( 7,  5, 1,  7,  5, 0),
        ( 7,  6, 0,  7,  6, 1),
        ( 7,  6, 1,  7,  6, 0),
    ],
    "lm4k": [
        ( 4, 21,  0,  4, 21,  1),
        ( 4, 21,  1,  4, 21,  0),
        ( 5, 21,  1,  5, 21,  0),
        ( 6,  0,  0,  6,  0,  1),
        ( 6,  0,  1,  6,  0,  0),
        ( 6, 21,  0,  6, 21,  1),
        ( 7,  0,  0,  7,  0,  1),
        ( 7,  0,  1,  7,  0,  0),
        ( 7, 21,  1,  7, 21,  0),
        ( 8,  0,  0,  8,  0,  1),
        ( 8,  0,  1,  8,  0,  0),
        ( 9, 21,  1,  9, 21,  0),
        ( 9, 21,  0,  9, 21,  1),
        (10,  0,  0, 10,  0,  1),
        (12,  0,  0, 12,  0,  1),
        (12,  0,  1, 12,  0,  0),
        (12, 21,  1, 12, 21,  0),
        (13,  0,  0, 13,  0,  1),
        (13,  0,  1, 13,  0,  0),
        (13, 21,  0, 13, 21,  1),
        (14,  0,  1, 14,  0,  0),
        (15, 21,  0, 15, 21,  1),
        (16, 21,  1, 16, 21,  0),
        (17, 21,  1, 17, 21,  0),
        (18, 21,  0, 18, 21,  1),
        (19,  0,  0, 19,  0,  1),
        (19,  0,  1, 19,  0,  0),
        (19, 21,  0, 19, 21,  1),
        (19, 21,  1, 19, 21,  0),
        (21,  0,  0, 21,  0,  1),
        (21,  0,  1, 21,  0,  0),
        (21, 21,  1, 21, 21,  0),
        (22,  0,  0, 22,  0,  1),
        (22,  0,  1, 22,  0,  0),
        (22, 21,  1, 22, 21,  0),
        (23,  0,  0, 23,  0,  1),
        (23,  0,  1, 23,  0,  0),
        (23, 21,  0, 23, 21,  1),
        (23, 21,  1, 23, 21,  0),
        (24,  0,  0, 24,  0,  1),
        (24,  0,  1, 24,  0,  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),
        (12, 31,  0, 12, 31,  1),
        (12,  0,  0, 12,  0,  1),
        (13,  0,  0, 13,  0,  1),
        (12,  0,  1, 12,  0,  0)
    ],
    "u4k": [
        ( 4, 21, 0,  4, 21, 1),
        ( 5,  0, 0,  5,  0, 1),
        ( 5, 21, 0,  5, 21, 1),
        ( 6,  0, 0,  6,  0, 1),
        ( 6,  0, 1,  6,  0, 0),
        ( 6, 21, 0,  6, 21, 1),
        ( 7,  0, 0,  7,  0, 1),
        ( 7,  0, 1,  7,  0, 0),
        ( 8,  0, 0,  8,  0, 1),
        ( 8, 21, 0,  8, 21, 1),
        ( 8, 21, 1,  8, 21, 0),
        ( 9,  0, 0,  9,  0, 1),
        ( 9,  0, 1,  9,  0, 0),
        ( 9, 21, 0,  9, 21, 1),
        ( 9, 21, 1,  9, 21, 0),
        (12, 21, 1, 12, 21, 0),
        (13,  0, 1, 13,  0, 0),
        (13, 21, 0, 13, 21, 1),
        (13, 21, 1, 13, 21, 0),
        (15,  0, 0, 15,  0, 1),
        (16,  0, 0, 16,  0, 1),
        (16, 21, 0, 16, 21, 1),
        (16, 21, 1, 16, 21, 0),
        (17,  0, 0, 17,  0, 1),
        (17, 21, 0, 17, 21, 1),
        (18,  0, 0, 18,  0, 1),
        (18,  0, 1, 18,  0, 0),
        (18, 21, 0, 18, 21, 1),
        (18, 21, 1, 18, 21, 0),
        (19,  0, 0, 19,  0, 1),
        (19,  0, 1, 19,  0, 0),
        (19, 21, 0, 19, 21, 1),
        (19, 21, 1, 19, 21, 0),
        (21,  0, 1, 21,  0, 0),
        (22,  0, 1, 22,  0, 0),
        (23,  0, 0, 23,  0, 1),
        (23,  0, 1, 23,  0, 0),
        (24,  0, 0, 24,  0, 1),
        (24,  0, 1, 24,  0, 0)
    ]
}

# This dictionary maps package variants to a table of pin names and their
# corresponding grid location (x, y, block). This is most easily found through
# the package view in iCEcube2 by hovering the mouse over each pin.
pinloc_db = {
    "1k-swg16tr": [
        ( "A2",  6, 17, 1),
        ( "A4",  2, 17, 0),
        ( "B1", 11, 17, 1),
        ( "B2",  0,  8, 1),
        ( "B3",  0,  9, 0),
        ( "C1", 12,  0, 0),
        ( "C2", 11,  0, 1),
        ( "C3", 11,  0, 0),
        ( "D1", 12,  0, 1),
        ( "D3",  6,  0, 1),
    ],
    "1k-cm36": [
        ( "A1",  0, 13, 0),
        ( "A2",  4, 17, 1),
        ( "A3",  7, 17, 0),
        ( "B1",  0, 13, 1),
        ( "B3",  6, 17, 1),
        ( "B4", 13,  9, 0),
        ( "B5", 13, 11, 0),
        ( "B6", 13, 11, 1),
        ( "C1",  0,  9, 0),
        ( "C2",  0,  9, 1),
        ( "C3",  4, 17, 0),
        ( "C5", 13,  8, 1),
        ( "C6", 13, 12, 0),
        ( "D1",  0,  8, 1),
        ( "D5", 12,  0, 1),
        ( "D6", 13,  6, 0),
        ( "E1",  0,  8, 0),
        ( "E2",  6,  0, 0),
        ( "E3", 10,  0, 0),
        ( "E4", 11,  0, 0),
        ( "E5", 12,  0, 0),
        ( "E6", 13,  4, 1),
        ( "F2",  6,  0, 1),
        ( "F3", 10,  0, 1),
        ( "F5", 11,  0, 1),
    ],
    "1k-cm49": [
        ( "A1",  0, 11, 1),
        ( "A2",  3, 17, 1),
        ( "A3",  8, 17, 1),
        ( "A4",  8, 17, 0),
        ( "A5",  9, 17, 1),
        ( "A6", 10, 17, 0),
        ( "A7",  9, 17, 0),
        ( "B1",  0, 11, 0),
        ( "B2",  0, 13, 0),
        ( "B3",  4, 17, 0),
        ( "B4",  6, 17, 1),
        ( "C1",  0,  5, 0),
        ( "C2",  0, 13, 1),
        ( "C4",  7, 17, 0),
        ( "C5", 13, 12, 0),
        ( "C6", 13, 11, 1),
        ( "C7", 13, 11, 0),
        ( "D1",  0,  5, 1),
        ( "D2",  0,  9, 0),
        ( "D3",  0,  9, 1),
        ( "D4",  4, 17, 1),
        ( "D6", 13,  8, 1),
        ( "D7", 13,  9, 0),
        ( "E2",  0,  8, 1),
        ( "E6", 12,  0, 1),
        ( "E7", 13,  4, 1),
        ( "F2",  0,  8, 0),
        ( "F3",  6,  0, 0),
        ( "F4", 10,  0, 0),
        ( "F5", 11,  0, 0),
        ( "F6", 12,  0, 0),
        ( "F7", 13,  6, 0),
        ( "G3",  6,  0, 1),
        ( "G4", 10,  0, 1),
        ( "G6", 11,  0, 1),
    ],
    "1k-cm81": [
        ( "A1",  1, 17, 1),
        ( "A2",  4, 17, 0),
        ( "A3",  5, 17, 0),
        ( "A4",  6, 17, 0),
        ( "A6",  8, 17, 1),
        ( "A7",  9, 17, 0),
        ( "A8", 10, 17, 0),
        ( "A9", 13, 14, 1),
        ( "B1",  0, 13, 0),
        ( "B2",  0, 14, 0),
        ( "B3",  2, 17, 1),
        ( "B4",  4, 17, 1),
        ( "B5",  8, 17, 0),
        ( "B6",  9, 17, 1),
        ( "B7", 10, 17, 1),
        ( "B8", 11, 17, 0),
        ( "B9", 13, 11, 1),
        ( "C1",  0, 13, 1),
        ( "C2",  0, 14, 1),
        ( "C3",  0, 12, 1),
        ( "C4",  6, 17, 1),
        ( "C5",  7, 17, 0),
        ( "C9", 13, 12, 0),
        ( "D1",  0, 11, 1),
        ( "D2",  0, 12, 0),
        ( "D3",  0,  9, 0),
        ( "D5",  3, 17, 1),
        ( "D6", 13,  6, 0),
        ( "D7", 13,  7, 0),
        ( "D8", 13,  9, 0),
        ( "D9", 13, 11, 0),
        ( "E1",  0, 10, 1),
        ( "E2",  0, 10, 0),
        ( "E3",  0,  8, 1),
        ( "E4",  0, 11, 0),
        ( "E5",  5, 17, 1),
        ( "E7", 13,  6, 1),
        ( "E8", 13,  8, 1),
        ( "F1",  0,  8, 0),
        ( "F3",  0,  9, 1),
        ( "F7", 12,  0, 1),
        ( "F8", 13,  4, 0),
        ( "G1",  0,  5, 1),
        ( "G3",  0,  5, 0),
        ( "G4",  6,  0, 0),
        ( "G5", 10,  0, 0),
        ( "G6", 11,  0, 0),
        ( "G7", 12,  0, 0),
        ( "G8", 13,  4, 1),
        ( "G9", 13,  2, 1),
        ( "H1",  2,  0, 0),
        ( "H4",  6,  0, 1),
        ( "H5", 10,  0, 1),
        ( "H7", 11,  0, 1),
        ( "H9", 13,  2, 0),
        ( "J1",  3,  0, 0),
        ( "J2",  2,  0, 1),
        ( "J3",  3,  0, 1),
        ( "J4",  5,  0, 0),
        ( "J6",  7,  0, 0),
        ( "J7",  9,  0, 1),
        ( "J8", 13,  1, 0),
        ( "J9", 13,  1, 1),
    ],
    "1k-cm121": [
        ( "A1",  0, 14, 0),
        ( "A2",  2, 17, 1),
        ( "A3",  3, 17, 0),
        ( "A5",  5, 17, 1),
        ( "A7",  8, 17, 0),
        ( "A8", 10, 17, 1),
        ( "A9", 11, 17, 0),
        ("A10", 12, 17, 0),
        ("A11", 13, 15, 0),
        ( "B1",  0, 13, 0),
        ( "B2",  1, 17, 1),
        ( "B3",  2, 17, 0),
        ( "B4",  3, 17, 1),
        ( "B5",  4, 17, 1),
        ( "B7",  9, 17, 0),
        ( "B8", 11, 17, 1),
        ( "B9", 12, 17, 1),
        ("B10", 13, 15, 1),
        ("B11", 13, 14, 1),
        ( "C1",  0, 12, 0),
        ( "C2",  0, 13, 1),
        ( "C3",  0, 14, 1),
        ( "C4",  1, 17, 0),
        ( "C5",  4, 17, 0),
        ( "C6",  7, 17, 1),
        ( "C7",  8, 17, 1),
        ( "C8",  9, 17, 1),
        ( "C9", 10, 17, 0),
        ("C10", 13, 14, 0),
        ("C11", 13, 13, 1),
        ( "D1",  0, 11, 0),
        ( "D2",  0, 12, 1),
        ( "D3",  0, 11, 1),
        ( "D4",  0, 10, 1),
        ( "D5",  6, 17, 1),
        ( "D6",  7, 17, 0),
        ("D10", 13, 12, 1),
        ("D11", 13, 11, 1),
        ( "E2",  0, 10, 0),
        ( "E3",  0,  9, 1),
        ( "E4",  0,  9, 0),
        ( "E6",  5, 17, 0),
        ( "E7", 13, 12, 0),
        ( "E8", 13, 13, 0),
        ( "E9", 13,  9, 0),
        ("E10", 13,  9, 1),
        ( "F2",  0,  6, 0),
        ( "F3",  0,  5, 0),
        ( "F4",  0,  8, 1),
        ( "F5",  0,  8, 0),
        ( "F6",  6, 17, 0),
        ( "F8", 13, 11, 0),
        ( "F9", 13,  8, 1),
        ("F11", 13,  7, 1),
        ( "G2",  0,  5, 1),
        ( "G4",  0,  3, 0),
        ( "G8", 12,  0, 1),
        ( "G9", 13,  8, 0),
        ("G11", 13,  7, 0),
        ( "H1",  0,  6, 1),
        ( "H2",  0,  4, 1),
        ( "H4",  0,  2, 0),
        ( "H5",  6,  0, 0),
        ( "H6", 10,  0, 0),
        ( "H7", 11,  0, 0),
        ( "H8", 12,  0, 0),
        ( "H9", 13,  6, 1),
        ("H10", 13,  2, 1),
        ("H11", 13,  4, 1),
        ( "J1",  0,  4, 0),
        ( "J2",  1,  0, 1),
        ( "J5",  6,  0, 1),
        ( "J6", 10,  0, 1),
        ( "J8", 11,  0, 1),
        ("J10", 13,  2, 0),
        ("J11", 13,  6, 0),
        ( "K1",  0,  3, 1),
        ( "K2",  2,  0, 0),
        ( "K3",  2,  0, 1),
        ( "K4",  4,  0, 0),
        ( "K5",  5,  0, 0),
        ( "K7",  7,  0, 1),
        ( "K8",  9,  0, 0),
        ( "K9", 13,  1, 0),
        ("K10", 13,  1, 1),
        ("K11", 13,  3, 1),
        ( "L1",  0,  2, 1),
        ( "L2",  3,  0, 0),
        ( "L3",  3,  0, 1),
        ( "L4",  4,  0, 1),
        ( "L5",  7,  0, 0),
        ( "L7",  8,  0, 0),
        ( "L9",  8,  0, 1),
        ("L10",  9,  0, 1),
        ("L11", 13,  4, 0),
    ],
    "1k-cb81": [
        ( "A2",  2, 17, 1),
        ( "A3",  3, 17, 1),
        ( "A4",  6, 17, 1),
        ( "A7", 11, 17, 0),
        ( "A8", 12, 17, 1),
        ( "B1",  0, 13, 1),
        ( "B2",  0, 14, 0),
        ( "B3",  0, 13, 0),
        ( "B4",  5, 17, 1),
        ( "B5",  8, 17, 1),
        ( "B6",  9, 17, 1),
        ( "B7", 11, 17, 1),
        ( "B8", 12, 17, 0),
        ( "C1",  0, 12, 0),
        ( "C2",  0, 10, 0),
        ( "C3",  0, 14, 1),
        ( "C4",  1, 17, 1),
        ( "C5",  8, 17, 0),
        ( "C6", 10, 17, 0),
        ( "C7", 13, 15, 0),
        ( "C8", 13, 15, 1),
        ( "C9", 13, 14, 1),
        ( "D1",  0,  9, 0),
        ( "D2",  0, 10, 1),
        ( "D3",  0, 12, 1),
        ( "D4",  5, 17, 0),
        ( "D5",  4, 17, 0),
        ( "D6",  7, 17, 0),
        ( "D7", 13, 13, 0),
        ( "D8", 13, 13, 1),
        ( "E1",  0,  8, 1),
        ( "E2",  0,  8, 0),
        ( "E3",  0,  9, 1),
        ( "E6", 10, 17, 1),
        ( "E7", 13, 12, 0),
        ( "E8", 13, 11, 0),
        ( "E9", 13, 11, 1),
        ( "F2",  0,  6, 1),
        ( "F3",  0,  6, 0),
        ( "F6", 13,  8, 0),
        ( "F7", 13,  9, 0),
        ( "F8", 13,  8, 1),
        ( "F9", 13,  7, 1),
        ( "G1",  0,  4, 1),
        ( "G2",  0,  2, 1),
        ( "G3",  3,  0, 1),
        ( "G4",  4,  0, 0),
        ( "G5", 10,  0, 0),
        ( "G6", 13,  4, 0),
        ( "G7", 13,  4, 1),
        ( "G8", 13,  6, 1),
        ( "G9", 13,  7, 0),
        ( "H2",  0,  4, 0),
        ( "H3",  2,  0, 1),
        ( "H4",  6,  0, 0),
        ( "H5", 10,  0, 1),
        ( "H7", 11,  0, 0),
        ( "H8", 12,  0, 1),
        ( "J2",  2,  0, 0),
        ( "J3",  6,  0, 1),
        ( "J7", 11,  0, 1),
        ( "J8", 12,  0, 0),
    ],
    "1k-cb121": [
        ( "A2",  1, 17, 1),
        ( "A3",  2, 17, 0),
        ( "A4",  4, 17, 0),
        ( "A5",  3, 17, 1),
        ( "A6",  4, 17, 1),
        ( "A8", 10, 17, 0),
        ("A10", 12, 17, 1),
        ("A11", 13, 15, 0),
        ( "B1",  0, 14, 0),
        ( "B3",  1, 17, 0),
        ( "B4",  2, 17, 1),
        ( "B5",  3, 17, 0),
        ( "B8", 10, 17, 1),
        ( "B9", 12, 17, 0),
        ("B11", 13, 15, 1),
        ( "C1",  0, 14, 1),
        ( "C2",  0, 11, 1),
        ( "C3",  0, 13, 1),
        ( "C4",  0, 13, 0),
        ( "C5",  5, 17, 0),
        ( "C6",  7, 17, 0),
        ( "C7",  8, 17, 1),
        ( "C8", 11, 17, 0),
        ( "C9", 11, 17, 1),
        ("C11", 13, 14, 1),
        ( "D1",  0, 10, 1),
        ( "D2",  0, 11, 0),
        ( "D3",  0,  9, 0),
        ( "D4",  0, 12, 0),
        ( "D5",  5, 17, 1),
        ( "D6",  6, 17, 1),
        ( "D7",  8, 17, 0),
        ( "D8", 13, 12, 0),
        ( "D9", 13, 13, 0),
        ("D10", 13, 13, 1),
        ("D11", 13, 14, 0),
        ( "E2",  0, 10, 0),
        ( "E3",  0,  9, 1),
        ( "E4",  0, 12, 1),
        ( "E5",  6, 17, 0),
        ( "E6",  7, 17, 1),
        ( "E7",  9, 17, 0),
        ( "E8", 13, 11, 0),
        ( "E9", 13, 11, 1),
        ("E11", 13, 12, 1),
        ( "F2",  0,  6, 1),
        ( "F3",  0,  5, 1),
        ( "F4",  0,  8, 1),
        ( "F7",  9, 17, 1),
        ( "F8", 13,  8, 1),
        ( "F9", 13,  9, 0),
        ("F10", 13,  9, 1),
        ( "G1",  0,  6, 0),
        ( "G3",  0,  5, 0),
        ( "G4",  0,  8, 0),
        ( "G7", 13,  6, 1),
        ( "G8", 13,  7, 0),
        ( "G9", 13,  7, 1),
        ("G10", 13,  8, 0),
        ( "H1",  0,  3, 1),
        ( "H2",  0,  4, 1),
        ( "H3",  0,  4, 0),
        ( "H4",  4,  0, 0),
        ( "H5",  4,  0, 1),
        ( "H6", 10,  0, 0),
        ( "H7", 13,  4, 1),
        ( "H8", 13,  6, 0),
        ( "H9", 13,  4, 0),
        ("H10", 13,  3, 1),
        ("H11",  9,  0, 1),
        ( "J1",  0,  3, 0),
        ( "J2",  0,  2, 0),
        ( "J3",  0,  2, 1),
        ( "J4",  2,  0, 1),
        ( "J5",  3,  0, 0),
        ( "J6", 10,  0, 1),
        ( "J8", 11,  0, 0),
        ( "J9", 12,  0, 1),
        ("J11",  8,  0, 1),
        ( "K3",  1,  0, 0),
        ( "K4",  1,  0, 1),
        ( "K8", 11,  0, 1),
        ( "K9", 12,  0, 0),
        ("K11",  9,  0, 0),
        ( "L2",  2,  0, 0),
        ( "L3",  3,  0, 1),
        ( "L4",  5,  0, 0),
        ( "L5",  5,  0, 1),
        ( "L8",  7,  0, 0),
        ( "L9",  6,  0, 1),
        ("L10",  7,  0, 1),
        ("L11",  8,  0, 0),
    ],
    "1k-cb132": [
        ( "A1",  1, 17, 1),
        ( "A2",  2, 17, 1),
        ( "A4",  4, 17, 0),
        ( "A5",  4, 17, 1),
        ( "A6",  6, 17, 1),
        ( "A7",  7, 17, 0),
        ("A10", 10, 17, 0),
        ("A12", 12, 17, 0),
        ( "B1",  0, 14, 1),
        ("B14", 13, 15, 0),
        ( "C1",  0, 14, 0),
        ( "C3",  0, 13, 1),
        ( "C4",  1, 17, 0),
        ( "C5",  3, 17, 0),
        ( "C6",  5, 17, 0),
        ( "C7",  6, 17, 0),
        ( "C8",  8, 17, 0),
        ( "C9",  9, 17, 0),
        ("C10", 11, 17, 0),
        ("C11", 11, 17, 1),
        ("C12", 12, 17, 1),
        ("C14", 13, 14, 0),
        ( "D1",  0, 11, 1),
        ( "D3",  0, 13, 0),
        ( "D4",  0, 12, 1),
        ( "D5",  2, 17, 0),
        ( "D6",  3, 17, 1),
        ( "D7",  5, 17, 1),
        ( "D8",  7, 17, 1),
        ( "D9",  8, 17, 1),
        ("D10",  9, 17, 1),
        ("D11", 10, 17, 1),
        ("D12", 13, 15, 1),
        ("D14", 13, 13, 1),
        ( "E1",  0, 11, 0),
        ( "E4",  0, 12, 0),
        ("E11", 13, 14, 1),
        ("E12", 13, 13, 0),
        ("E14", 13, 12, 0),
        ( "F3",  0, 10, 0),
        ( "F4",  0, 10, 1),
        ("F11", 13, 12, 1),
        ("F12", 13, 11, 1),
        ("F14", 13,  8, 1),
        ( "G1",  0,  8, 1),
        ( "G3",  0,  8, 0),
        ( "G4",  0,  6, 1),
        ("G11", 13, 11, 0),
        ("G12", 13,  9, 1),
        ("G14", 13,  9, 0),
        ( "H1",  0,  9, 0),
        ( "H3",  0,  9, 1),
        ( "H4",  0,  6, 0),
        ("H11", 13,  8, 0),
        ("H12", 13,  7, 1),
        ( "J1",  0,  5, 1),
        ( "J3",  0,  5, 0),
        ("J11", 13,  7, 0),
        ("J12", 13,  6, 1),
        ( "K3",  0,  3, 0),
        ( "K4",  0,  3, 1),
        ("K11", 13,  4, 1),
        ("K12", 13,  4, 0),
        ("K14", 13,  6, 0),
        ( "L1",  0,  2, 0),
        ( "L4",  1,  0, 1),
        ( "L5",  3,  0, 1),
        ( "L6",  4,  0, 1),
        ( "L7",  8,  0, 0),
        ( "L8",  9,  0, 0),
        ( "L9", 10,  0, 0),
        ("L12", 13,  2, 0),
        ("L14", 13,  3, 1),
        ( "M1",  0,  2, 1),
        ( "M3",  1,  0, 0),
        ( "M4",  3,  0, 0),
        ( "M6",  5,  0, 1),
        ( "M7",  6,  0, 0),
        ( "M8",  8,  0, 1),
        ( "M9",  9,  0, 1),
        ("M11", 11,  0, 0),
        ("M12", 13,  1, 0),
        ("N14", 13,  2, 1),
        ( "P2",  2,  0, 0),
        ( "P3",  2,  0, 1),
        ( "P4",  4,  0, 0),
        ( "P5",  5,  0, 0),
        ( "P7",  6,  0, 1),
        ( "P8",  7,  0, 0),
        ( "P9",  7,  0, 1),
        ("P10", 10,  0, 1),
        ("P11", 11,  0, 1),
        ("P12", 12,  0, 0),
        ("P13", 12,  0, 1),
        ("P14", 13,  1, 1),
    ],
    "1k-qn84": [
        ( "A1",  0, 14, 0),
        ( "A2",  0, 13, 0),
        ( "A3",  0, 12, 0),
        ( "A4",  0, 11, 0),
        ( "A5",  0, 10, 0),
        ( "A8",  0,  9, 0),
        ( "A9",  0,  8, 1),
        ("A10",  0,  5, 1),
        ("A11",  0,  4, 0),
        ("A12",  0,  2, 0),
        ("A13",  4,  0, 0),
        ("A14",  6,  0, 1),
        ("A16",  6,  0, 0),
        ("A19",  9,  0, 1),
        ("A20", 10,  0, 1),
        ("A22", 11,  0, 1),
        ("A23", 12,  0, 0),
        ("A25", 13,  4, 0),
        ("A26", 13,  6, 0),
        ("A27", 13,  7, 1),
        ("A29", 13,  8, 1),
        ("A31", 13, 11, 1),
        ("A32", 13, 12, 1),
        ("A33", 13, 13, 1),
        ("A34", 13, 14, 0),
        ("A35", 13, 15, 0),
        ("A38", 11, 17, 0),
        ("A39", 10, 17, 0),
        ("A40",  9, 17, 0),
        ("A41",  8, 17, 0),
        ("A43",  7, 17, 0),
        ("A44",  6, 17, 0),
        ("A45",  5, 17, 0),
        ("A46",  4, 17, 0),
        ("A47",  3, 17, 0),
        ("A48",  1, 17, 1),
        ( "B1",  0, 13, 1),
        ( "B2",  0, 12, 1),
        ( "B3",  0, 11, 1),
        ( "B4",  0, 10, 1),
        ( "B5",  0,  9, 1),
        ( "B7",  0,  8, 0),
        ( "B8",  0,  5, 0),
        ( "B9",  0,  3, 0),
        ("B10",  5,  0, 0),
        ("B11",  5,  0, 1),
        ("B12",  7,  0, 0),
        ("B13",  8,  0, 0),
        ("B14",  9,  0, 0),
        ("B15", 10,  0, 0),
        ("B17", 11,  0, 0),
        ("B18", 12,  0, 1),
        ("B19", 13,  3, 1),
        ("B20", 13,  6, 1),
        ("B21", 13,  7, 0),
        ("B22", 13,  9, 0),
        ("B23", 13, 11, 0),
        ("B24", 13, 12, 0),
        ("B26", 13, 14, 1),
        ("B27", 13, 15, 1),
        ("B29", 10, 17, 1),
        ("B30",  9, 17, 1),
        ("B31",  8, 17, 1),
        ("B32",  6, 17, 1),
        ("B34",  4, 17, 1),
        ("B35",  3, 17, 1),
        ("B36",  2, 17, 1),
    ],
    "1k-tq144": [
        (  "1",  0, 14, 1),
        (  "2",  0, 14, 0),
        (  "3",  0, 13, 1),
        (  "4",  0, 13, 0),
        (  "7",  0, 12, 1),
        (  "8",  0, 12, 0),
        (  "9",  0, 11, 1),
        ( "10",  0, 11, 0),
        ( "11",  0, 10, 1),
        ( "12",  0, 10, 0),
        ( "19",  0,  9, 1),
        ( "20",  0,  9, 0),
        ( "21",  0,  8, 1),
        ( "22",  0,  8, 0),
        ( "23",  0,  6, 1),
        ( "24",  0,  6, 0),
        ( "25",  0,  5, 1),
        ( "26",  0,  5, 0),
        ( "28",  0,  4, 1),
        ( "29",  0,  4, 0),
        ( "31",  0,  3, 1),
        ( "32",  0,  3, 0),
        ( "33",  0,  2, 1),
        ( "34",  0,  2, 0),
        ( "37",  1,  0, 0),
        ( "38",  1,  0, 1),
        ( "39",  2,  0, 0),
        ( "41",  2,  0, 1),
        ( "42",  3,  0, 0),
        ( "43",  3,  0, 1),
        ( "44",  4,  0, 0),
        ( "45",  4,  0, 1),
        ( "47",  5,  0, 0),
        ( "48",  5,  0, 1),
        ( "49",  6,  0, 1),
        ( "50",  7,  0, 0),
        ( "52",  6,  0, 0),
        ( "56",  7,  0, 1),
        ( "58",  8,  0, 0),
        ( "60",  8,  0, 1),
        ( "61",  9,  0, 0),
        ( "62",  9,  0, 1),
        ( "63", 10,  0, 0),
        ( "64", 10,  0, 1),
        ( "67", 11,  0, 0),
        ( "68", 11,  0, 1),
        ( "70", 12,  0, 0),
        ( "71", 12,  0, 1),
        ( "73", 13,  1, 0),
        ( "74", 13,  1, 1),
        ( "75", 13,  2, 0),
        ( "76", 13,  2, 1),
        ( "78", 13,  3, 1),
        ( "79", 13,  4, 0),
        ( "80", 13,  4, 1),
        ( "81", 13,  6, 0),
        ( "87", 13,  6, 1),
        ( "88", 13,  7, 0),
        ( "90", 13,  7, 1),
        ( "91", 13,  8, 0),
        ( "93", 13,  8, 1),
        ( "94", 13,  9, 0),
        ( "95", 13,  9, 1),
        ( "96", 13, 11, 0),
        ( "97", 13, 11, 1),
        ( "98", 13, 12, 0),
        ( "99", 13, 12, 1),
        ("101", 13, 13, 0),
        ("102", 13, 13, 1),
        ("104", 13, 14, 0),
        ("105", 13, 14, 1),
        ("106", 13, 15, 0),
        ("107", 13, 15, 1),
        ("112", 12, 17, 1),
        ("113", 12, 17, 0),
        ("114", 11, 17, 1),
        ("115", 11, 17, 0),
        ("116", 10, 17, 1),
        ("117", 10, 17, 0),
        ("118",  9, 17, 1),
        ("119",  9, 17, 0),
        ("120",  8, 17, 1),
        ("121",  8, 17, 0),
        ("122",  7, 17, 1),
        ("128",  7, 17, 0),
        ("129",  6, 17, 1),
        ("134",  5, 17, 1),
        ("135",  5, 17, 0),
        ("136",  4, 17, 1),
        ("137",  4, 17, 0),
        ("138",  3, 17, 1),
        ("139",  3, 17, 0),
        ("141",  2, 17, 1),
        ("142",  2, 17, 0),
        ("143",  1, 17, 1),
        ("144",  1, 17, 0),
    ],
    "1k-vq100": [
        (  "1",  0, 14, 1),
        (  "2",  0, 14, 0),
        (  "3",  0, 13, 1),
        (  "4",  0, 13, 0),
        (  "7",  0, 12, 1),
        (  "8",  0, 12, 0),
        (  "9",  0, 10, 1),
        ( "10",  0, 10, 0),
        ( "12",  0,  9, 1),
        ( "13",  0,  9, 0),
        ( "15",  0,  8, 1),
        ( "16",  0,  8, 0),
        ( "18",  0,  6, 1),
        ( "19",  0,  6, 0),
        ( "20",  0,  4, 1),
        ( "21",  0,  4, 0),
        ( "24",  0,  2, 1),
        ( "25",  0,  2, 0),
        ( "26",  2,  0, 0),
        ( "27",  2,  0, 1),
        ( "28",  3,  0, 0),
        ( "29",  3,  0, 1),
        ( "30",  4,  0, 0),
        ( "33",  6,  0, 1),
        ( "34",  7,  0, 0),
        ( "36",  6,  0, 0),
        ( "37",  7,  0, 1),
        ( "40",  9,  0, 1),
        ( "41", 10,  0, 0),
        ( "42", 10,  0, 1),
        ( "45", 11,  0, 0),
        ( "46", 11,  0, 1),
        ( "48", 12,  0, 0),
        ( "49", 12,  0, 1),
        ( "51", 13,  3, 1),
        ( "52", 13,  4, 0),
        ( "53", 13,  4, 1),
        ( "54", 13,  6, 0),
        ( "56", 13,  6, 1),
        ( "57", 13,  7, 0),
        ( "59", 13,  7, 1),
        ( "60", 13,  8, 0),
        ( "62", 13,  8, 1),
        ( "63", 13,  9, 0),
        ( "64", 13, 11, 0),
        ( "65", 13, 11, 1),
        ( "66", 13, 12, 0),
        ( "68", 13, 13, 0),
        ( "69", 13, 13, 1),
        ( "71", 13, 14, 0),
        ( "72", 13, 14, 1),
        ( "73", 13, 15, 0),
        ( "74", 13, 15, 1),
        ( "78", 12, 17, 1),
        ( "79", 12, 17, 0),
        ( "80", 11, 17, 1),
        ( "81", 10, 17, 1),
        ( "82", 10, 17, 0),
        ( "83",  9, 17, 1),
        ( "85",  9, 17, 0),
        ( "86",  8, 17, 1),
        ( "87",  8, 17, 0),
        ( "89",  7, 17, 0),
        ( "90",  6, 17, 1),
        ( "91",  6, 17, 0),
        ( "93",  5, 17, 1),
        ( "94",  5, 17, 0),
        ( "95",  4, 17, 1),
        ( "96",  4, 17, 0),
        ( "97",  3, 17, 1),
        ( "99",  2, 17, 1),
        ("100",  1, 17, 1),
    ],
    "8k-cb132:4k": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 0),
        ( "A3",  3, 33, 1),
        ( "A4",  5, 33, 0),
        ( "A5", 10, 33, 1),
        ( "A6", 16, 33, 1),
        ( "A7", 17, 33, 0),
        ("A10", 25, 33, 0),
        ("A11", 26, 33, 0),
        ("A12", 30, 33, 1),
        ( "B1",  0, 30, 1),
        ("B14", 33, 28, 0),
        ( "C1",  0, 30, 0),
        ( "C3",  0, 27, 1),
        ( "C4",  4, 33, 0),
        ( "C5",  8, 33, 1),
        ( "C6", 11, 33, 1),
        ( "C7", 14, 33, 1),
        ( "C9", 20, 33, 1),
        ("C10", 22, 33, 1),
        ("C11", 28, 33, 1),
        ("C12", 29, 33, 1),
        ("C14", 33, 24, 1),
        ( "D1",  0, 25, 1),
        ( "D3",  0, 27, 0),
        ( "D4",  0, 22, 1),
        ( "D5",  9, 33, 0),
        ( "D6", 11, 33, 0),
        ( "D7", 13, 33, 1),
        ( "D9", 21, 33, 1),
        ("D10", 27, 33, 0),
        ("D11", 26, 33, 1),
        ("D12", 33, 27, 1),
        ("D14", 33, 23, 1),
        ( "E1",  0, 25, 0),
        ( "E4",  0, 22, 0),
        ("E11", 33, 20, 1),
        ("E12", 33, 21, 0),
        ("E14", 33, 21, 1),
        ( "F3",  0, 21, 0),
        ( "F4",  0, 21, 1),
        ("F11", 33, 19, 1),
        ("F12", 33, 15, 0),
        ("F14", 33, 16, 1),
        ( "G1",  0, 17, 0),
        ( "G3",  0, 17, 1),
        ( "G4",  0, 20, 0),
        ("G11", 33, 14, 1),
        ("G12", 33, 11, 0),
        ("G14", 33, 17, 0),
        ( "H1",  0, 16, 1),
        ( "H3",  0, 16, 0),
        ( "H4",  0, 20, 1),
        ("H11", 33, 10, 1),
        ("H12", 33,  6, 1),
        ( "J1",  0, 18, 0),
        ( "J3",  0, 18, 1),
        ("J11", 33,  6, 0),
        ("J12", 33,  5, 1),
        ( "K3",  0, 11, 1),
        ( "K4",  0, 11, 0),
        ("K11", 33,  4, 1),
        ("K12", 33,  4, 0),
        ("K14", 33,  5, 0),
        ( "L1",  0,  6, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 11,  0, 1),
        ( "L6", 15,  0, 0),
        ( "L8", 20,  0, 1),
        ( "L9", 29,  0, 0),
        ("L12", 33,  2, 0),
        ("L14", 33,  3, 1),
        ( "M1",  0,  6, 0),
        ( "M3",  8,  0, 0),
        ( "M4",  7,  0, 1),
        ( "M6", 14,  0, 1),
        ( "M7", 15,  0, 1),
        ( "M9", 22,  0, 1),
        ("M11", 30,  0, 0),
        ("M12", 33,  1, 0),
        ( "N1",  0,  4, 1),
        ("N14", 33,  2, 1),
        ( "P1",  0,  4, 0),
        ( "P2",  4,  0, 0),
        ( "P3",  5,  0, 1),
        ( "P4", 12,  0, 1),
        ( "P5", 13,  0, 0),
        ( "P7", 16,  0, 1),
        ( "P8", 17,  0, 0),
        ( "P9", 21,  0, 1),
        ("P10", 29,  0, 1),
        ("P11", 30,  0, 1),
        ("P12", 31,  0, 0),
        ("P13", 31,  0, 1),
        ("P14", 33,  1, 1),
    ],
    "8k-tq144:4k": [
        (  "1",  0, 30, 1),
        (  "2",  0, 30, 0),
        (  "3",  0, 28, 1),
        (  "4",  0, 28, 0),
        (  "7",  0, 27, 1),
        (  "8",  0, 27, 0),
        (  "9",  0, 25, 1),
        ( "10",  0, 25, 0),
        ( "11",  0, 22, 1),
        ( "12",  0, 22, 0),
        ( "15",  0, 20, 1),
        ( "16",  0, 20, 0),
        ( "17",  0, 18, 1),
        ( "18",  0, 18, 0),
        ( "19",  0, 17, 1),
        ( "20",  0, 17, 0),
        ( "21",  0, 16, 1),
        ( "22",  0, 16, 0),
        ( "23",  0, 12, 1),
        ( "24",  0, 12, 0),
        ( "25",  0, 11, 1),
        ( "26",  0, 11, 0),
        ( "28",  0,  6, 1),
        ( "29",  0,  6, 0),
        ( "31",  0,  5, 1),
        ( "32",  0,  5, 0),
        ( "33",  0,  4, 1),
        ( "34",  0,  4, 0),
        ( "37",  4,  0, 0),
        ( "38",  4,  0, 1),
        ( "39",  6,  0, 1),
        ( "41",  7,  0, 1),
        ( "42",  8,  0, 0),
        ( "43", 11,  0, 1),
        ( "44", 12,  0, 0),
        ( "45", 12,  0, 1),
        ( "47", 15,  0, 1),
        ( "48", 16,  0, 0),
        ( "49", 16,  0, 1),
        ( "52", 17,  0, 0),
        ( "55", 22,  0, 1),
        ( "56", 24,  0, 0),
        ( "60", 24,  0, 1),
        ( "61", 25,  0, 0),
        ( "62", 28,  0, 0),
        ( "63", 29,  0, 0),
        ( "64", 29,  0, 1),
        ( "67", 30,  0, 0),
        ( "68", 30,  0, 1),
        ( "70", 31,  0, 0),
        ( "71", 31,  0, 1),
        ( "73", 33,  1, 0),
        ( "74", 33,  1, 1),
        ( "75", 33,  2, 0),
        ( "76", 33,  2, 1),
        ( "78", 33,  3, 1),
        ( "79", 33,  4, 0),
        ( "80", 33,  4, 1),
        ( "81", 33,  5, 0),
        ( "82", 33,  5, 1),
        ( "83", 33,  6, 0),
        ( "84", 33,  6, 1),
        ( "85", 33, 10, 1),
        ( "87", 33, 14, 1),
        ( "88", 33, 15, 0),
        ( "90", 33, 15, 1),
        ( "91", 33, 16, 0),
        ( "93", 33, 16, 1),
        ( "94", 33, 17, 0),
        ( "95", 33, 19, 1),
        ( "96", 33, 20, 1),
        ( "97", 33, 21, 0),
        ( "98", 33, 21, 1),
        ( "99", 33, 23, 1),
        ("101", 33, 27, 1),
        ("102", 33, 28, 0),
        ("104", 33, 29, 1),
        ("105", 33, 30, 0),
        ("106", 33, 30, 1),
        ("107", 33, 31, 0),
        ("110", 31, 33, 1),
        ("112", 31, 33, 0),
        ("113", 30, 33, 1),
        ("114", 30, 33, 0),
        ("115", 29, 33, 1),
        ("116", 29, 33, 0),
        ("117", 28, 33, 1),
        ("118", 27, 33, 0),
        ("119", 26, 33, 1),
        ("120", 26, 33, 0),
        ("121", 25, 33, 0),
        ("122", 20, 33, 1),
        ("124", 20, 33, 0),
        ("125", 19, 33, 1),
        ("128", 17, 33, 0),
        ("129", 16, 33, 1),
        ("130", 11, 33, 1),
        ("134",  8, 33, 1),
        ("135",  8, 33, 0),
        ("136",  7, 33, 1),
        ("137",  7, 33, 0),
        ("138",  6, 33, 1),
        ("139",  6, 33, 0),
        ("141",  5, 33, 0),
        ("142",  4, 33, 1),
        ("143",  4, 33, 0),
        ("144",  3, 33, 1),
    ],
    "8k-cm81:4k": [
        ( "A1",  2, 33, 1),
        ( "A2",  4, 33, 0),
        ( "A3",  6, 33, 0),
        ( "A4", 10, 33, 1),
        ( "A6", 23, 33, 0),
        ( "A7", 27, 33, 0),
        ( "A8", 28, 33, 1),
        ( "A9", 33,  4, 1),
        ( "B1",  0, 28, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  5, 33, 1),
        ( "B4",  9, 33, 0),
        ( "B5", 21, 33, 1),
        ( "B6", 24, 33, 0),
        ( "B7", 25, 33, 1),
        ( "B8", 30, 33, 1),
        ( "B9", 33,  6, 1),
        ( "C1",  0, 28, 0),
        ( "C2",  0, 30, 1),
        ( "C3",  0, 23, 0),
        ( "C4", 16, 33, 1),
        ( "C5", 17, 33, 0),
        ( "C9", 33, 21, 1),
        ( "D1",  0, 20, 1),
        ( "D2",  0, 23, 1),
        ( "D3",  0, 17, 0),
        ( "D5",  8, 33, 1),
        ( "D6", 33,  4, 0),
        ( "D7", 33,  5, 0),
        ( "D8", 33, 17, 0),
        ( "D9", 33,  6, 0),
        ( "E1",  0, 20, 0),
        ( "E2",  0, 17, 1),
        ( "E3",  0, 16, 1),
        ( "E4",  0, 16, 0),
        ( "E5",  7, 33, 1),
        ( "E7", 33,  5, 1),
        ( "E8", 33, 16, 1),
        ( "F1",  0,  7, 1),
        ( "F3",  0,  7, 0),
        ( "F7", 31,  0, 1),
        ( "F8", 33,  3, 0),
        ( "G1",  0,  5, 0),
        ( "G2",  0,  3, 1),
        ( "G3",  0,  5, 1),
        ( "G4", 16,  0, 1),
        ( "G5", 29,  0, 0),
        ( "G6", 30,  0, 0),
        ( "G7", 31,  0, 0),
        ( "G8", 33,  3, 1),
        ( "G9", 33,  2, 1),
        ( "H1",  3,  0, 0),
        ( "H2",  0,  3, 0),
        ( "H4", 17,  0, 0),
        ( "H5", 29,  0, 1),
        ( "H7", 30,  0, 1),
        ( "H9", 33,  2, 0),
        ( "J1",  3,  0, 1),
        ( "J2",  4,  0, 0),
        ( "J3",  4,  0, 1),
        ( "J4", 11,  0, 0),
        ( "J8", 33,  1, 0),
        ( "J9", 33,  1, 1),
    ],
    "8k-cm121:4k": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 1),
        ( "A3",  3, 33, 0),
        ( "A4",  9, 33, 0),
        ( "A5", 11, 33, 0),
        ( "A6", 11, 33, 1),
        ( "A7", 19, 33, 1),
        ( "A8", 20, 33, 1),
        ( "A9", 26, 33, 1),
        ("A10", 30, 33, 1),
        ("A11", 31, 33, 1),
        ( "B1",  0, 30, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  4, 33, 0),
        ( "B4",  5, 33, 0),
        ( "B5", 10, 33, 1),
        ( "B6", 16, 33, 1),
        ( "B7", 17, 33, 0),
        ( "B8", 27, 33, 0),
        ( "B9", 28, 33, 1),
        ("B11", 33, 28, 0),
        ( "C1",  0, 25, 0),
        ( "C2",  0, 25, 1),
        ( "C3",  0, 27, 0),
        ( "C4",  0, 27, 1),
        ( "C7", 20, 33, 0),
        ( "C8", 26, 33, 0),
        ( "C9", 29, 33, 1),
        ("C11", 33, 27, 1),
        ( "D1",  0, 22, 0),
        ( "D2",  0, 21, 1),
        ( "D3",  0, 21, 0),
        ( "D5",  8, 33, 1),
        ( "D7", 25, 33, 0),
        ( "D9", 33, 21, 0),
        ("D10", 33, 24, 1),
        ("D11", 33, 23, 1),
        ( "E1",  0, 22, 1),
        ( "E2",  0, 20, 1),
        ( "E3",  0, 20, 0),
        ( "E8", 33, 20, 1),
        ( "E9", 33, 19, 1),
        ("E10", 33, 17, 0),
        ("E11", 33, 21, 1),
        ( "F1",  0, 18, 1),
        ( "F2",  0, 18, 0),
        ( "F3",  0, 17, 0),
        ( "F4",  0, 17, 1),
        ( "F9", 33, 15, 0),
        ("F10", 33, 14, 1),
        ("F11", 33, 16, 1),
        ( "G1",  0, 16, 1),
        ( "G2",  0, 16, 0),
        ( "G3",  0, 12, 1),
        ( "G8", 33,  5, 1),
        ( "G9", 33, 10, 1),
        ("G10", 33,  6, 1),
        ("G11", 33, 11, 0),
        ( "H1",  0, 11, 1),
        ( "H2",  0, 11, 0),
        ( "H3",  0, 12, 0),
        ( "H7", 20,  0, 1),
        ( "H9", 29,  0, 1),
        ("H10", 33,  4, 1),
        ("H11", 33,  6, 0),
        ( "J1",  0,  6, 1),
        ( "J2",  0,  4, 0),
        ( "J3",  4,  0, 1),
        ( "J4",  8,  0, 0),
        ( "J5", 15,  0, 0),
        ( "J7", 20,  0, 0),
        ( "J8", 22,  0, 1),
        ( "J9", 30,  0, 1),
        ("J10", 33,  5, 0),
        ("J11", 33,  3, 1),
        ( "K1",  0,  6, 0),
        ( "K2",  0,  4, 1),
        ( "K3",  7,  0, 1),
        ( "K4", 12,  0, 1),
        ( "K5", 15,  0, 1),
        ( "K6", 17,  0, 0),
        ( "K7", 21,  0, 1),
        ( "K9", 30,  0, 0),
        ("K10", 31,  0, 1),
        ("K11", 33,  4, 0),
        ( "L1",  4,  0, 0),
        ( "L2",  6,  0, 1),
        ( "L3", 11,  0, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 16,  0, 1),
        ( "L7", 24,  0, 0),
        ( "L8", 29,  0, 0),
        ("L10", 31,  0, 0),
    ],
	"8k-bg121:4k": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 1),
        ( "A3",  3, 33, 0),
        ( "A4",  9, 33, 0),
        ( "A5", 11, 33, 0),
        ( "A6", 11, 33, 1),
        ( "A7", 19, 33, 1),
        ( "A8", 20, 33, 1),
        ( "A9", 26, 33, 1),
        ("A10", 30, 33, 1),
        ("A11", 31, 33, 1),
        ( "B1",  0, 30, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  4, 33, 0),
        ( "B4",  5, 33, 0),
        ( "B5", 10, 33, 1),
        ( "B6", 16, 33, 1),
        ( "B7", 17, 33, 0),
        ( "B8", 27, 33, 0),
        ( "B9", 28, 33, 1),
        ("B11", 33, 28, 0),
        ( "C1",  0, 25, 0),
        ( "C2",  0, 25, 1),
        ( "C3",  0, 27, 0),
        ( "C4",  0, 27, 1),
        ( "C7", 20, 33, 0),
        ( "C8", 26, 33, 0),
        ( "C9", 29, 33, 1),
        ("C11", 33, 27, 1),
        ( "D1",  0, 22, 0),
        ( "D2",  0, 21, 1),
        ( "D3",  0, 21, 0),
        ( "D5",  8, 33, 1),
        ( "D7", 25, 33, 0),
        ( "D9", 33, 21, 0),
        ("D10", 33, 24, 1),
        ("D11", 33, 23, 1),
        ( "E1",  0, 22, 1),
        ( "E2",  0, 20, 1),
        ( "E3",  0, 20, 0),
        ( "E8", 33, 20, 1),
        ( "E9", 33, 19, 1),
        ("E10", 33, 17, 0),
        ("E11", 33, 21, 1),
        ( "F1",  0, 18, 1),
        ( "F2",  0, 18, 0),
        ( "F3",  0, 17, 0),
        ( "F4",  0, 17, 1),
        ( "F9", 33, 15, 0),
        ("F10", 33, 14, 1),
        ("F11", 33, 16, 1),
        ( "G1",  0, 16, 1),
        ( "G2",  0, 16, 0),
        ( "G3",  0, 12, 1),
        ( "G8", 33,  5, 1),
        ( "G9", 33, 10, 1),
        ("G10", 33,  6, 1),
        ("G11", 33, 11, 0),
        ( "H1",  0, 11, 1),
        ( "H2",  0, 11, 0),
        ( "H3",  0, 12, 0),
        ( "H7", 20,  0, 1),
        ( "H9", 29,  0, 1),
        ("H10", 33,  4, 1),
        ("H11", 33,  6, 0),
        ( "J1",  0,  6, 1),
        ( "J2",  0,  4, 0),
        ( "J3",  4,  0, 1),
        ( "J4",  8,  0, 0),
        ( "J5", 15,  0, 0),
        ( "J7", 20,  0, 0),
        ( "J8", 22,  0, 1),
        ( "J9", 30,  0, 1),
        ("J10", 33,  5, 0),
        ("J11", 33,  3, 1),
        ( "K1",  0,  6, 0),
        ( "K2",  0,  4, 1),
        ( "K3",  7,  0, 1),
        ( "K4", 12,  0, 1),
        ( "K5", 15,  0, 1),
        ( "K6", 17,  0, 0),
        ( "K7", 21,  0, 1),
        ( "K9", 30,  0, 0),
        ("K10", 31,  0, 1),
        ("K11", 33,  4, 0),
        ( "L1",  4,  0, 0),
        ( "L2",  6,  0, 1),
        ( "L3", 11,  0, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 16,  0, 1),
        ( "L7", 24,  0, 0),
        ( "L8", 29,  0, 0),
        ("L10", 31,  0, 0),
    ],
    "8k-cm225:4k": [
        ( "A1",  1, 33, 1),
        ( "A2",  3, 33, 1),
        ( "A5",  6, 33, 1),
        ( "A6", 11, 33, 0),
        ( "A7", 12, 33, 0),
        ( "A8", 17, 33, 1),
        ( "A9", 18, 33, 1),
        ("A11", 23, 33, 1),
        ("A15", 31, 33, 0),
        ( "B2",  2, 33, 1),
        ( "B3",  4, 33, 1),
        ( "B4",  5, 33, 1),
        ( "B5",  7, 33, 1),
        ( "B6", 10, 33, 0),
        ( "B7", 14, 33, 0),
        ( "B8", 19, 33, 1),
        ( "B9", 18, 33, 0),
        ("B10", 22, 33, 0),
        ("B11", 23, 33, 0),
        ("B12", 25, 33, 1),
        ("B13", 27, 33, 1),
        ("B14", 31, 33, 1),
        ("B15", 33, 31, 0),
        ( "C1",  0, 28, 0),
        ( "C3",  2, 33, 0),
        ( "C4",  3, 33, 0),
        ( "C5",  5, 33, 0),
        ( "C6", 13, 33, 0),
        ( "C7", 11, 33, 1),
        ( "C8", 19, 33, 0),
        ( "C9", 17, 33, 0),
        ("C10", 20, 33, 0),
        ("C11", 24, 33, 1),
        ("C12", 30, 33, 1),
        ("C13", 30, 33, 0),
        ("C14", 33, 30, 0),
        ( "D1",  0, 25, 0),
        ( "D2",  0, 24, 1),
        ( "D3",  0, 27, 0),
        ( "D4",  0, 30, 0),
        ( "D5",  4, 33, 0),
        ( "D6",  9, 33, 0),
        ( "D7", 10, 33, 1),
        ( "D8", 16, 33, 1),
        ( "D9", 26, 33, 1),
        ("D10", 25, 33, 0),
        ("D11", 28, 33, 1),
        ("D13", 33, 27, 1),
        ("D14", 33, 25, 0),
        ("D15", 33, 27, 0),
        ( "E2",  0, 24, 0),
        ( "E3",  0, 28, 1),
        ( "E4",  0, 30, 1),
        ( "E5",  0, 27, 1),
        ( "E6",  0, 25, 1),
        ( "E9", 26, 33, 0),
        ("E10", 27, 33, 0),
        ("E11", 29, 33, 1),
        ("E13", 33, 28, 0),
        ("E14", 33, 24, 0),
        ( "F1",  0, 20, 0),
        ( "F2",  0, 21, 0),
        ( "F3",  0, 21, 1),
        ( "F4",  0, 22, 0),
        ( "F5",  0, 22, 1),
        ( "F7",  8, 33, 1),
        ( "F9", 20, 33, 1),
        ("F11", 33, 24, 1),
        ("F12", 33, 23, 1),
        ("F13", 33, 23, 0),
        ("F14", 33, 21, 0),
        ("F15", 33, 22, 0),
        ( "G2",  0, 20, 1),
        ( "G4",  0, 17, 0),
        ( "G5",  0, 18, 1),
        ("G10", 33, 20, 1),
        ("G11", 33, 19, 1),
        ("G12", 33, 21, 1),
        ("G13", 33, 17, 0),
        ("G14", 33, 20, 0),
        ("G15", 33, 19, 0),
        ( "H1",  0, 16, 0),
        ( "H2",  0, 18, 0),
        ( "H3",  0, 14, 1),
        ( "H4",  0, 13, 1),
        ( "H5",  0, 16, 1),
        ( "H6",  0, 17, 1),
        ("H11", 33, 14, 1),
        ("H12", 33, 16, 1),
        ("H13", 33, 15, 1),
        ("H14", 33, 15, 0),
        ( "J1",  0, 13, 0),
        ( "J2",  0, 12, 0),
        ( "J3",  0, 14, 0),
        ( "J4",  0, 11, 1),
        ( "J5",  0, 12, 1),
        ("J10", 33,  5, 1),
        ("J11", 33, 10, 1),
        ("J12", 33,  6, 1),
        ("J14", 33, 14, 0),
        ("J15", 33, 13, 0),
        ( "K1",  0, 11, 0),
        ( "K4",  0,  4, 0),
        ( "K5",  0,  6, 1),
        ( "K9", 20,  0, 1),
        ("K11", 29,  0, 0),
        ("K12", 33,  4, 1),
        ("K13", 33,  5, 0),
        ("K15", 33,  9, 0),
        ( "L3",  0,  7, 1),
        ( "L4",  0,  3, 0),
        ( "L5",  4,  0, 0),
        ( "L6",  7,  0, 0),
        ( "L7", 12,  0, 0),
        ( "L9", 17,  0, 0),
        ("L10", 21,  0, 1),
        ("L11", 30,  0, 1),
        ("L12", 33,  3, 1),
        ("L13", 33,  6, 0),
        ( "M1",  0,  7, 0),
        ( "M2",  0,  6, 0),
        ( "M3",  0,  5, 0),
        ( "M4",  0,  3, 1),
        ( "M5",  6,  0, 0),
        ( "M6",  8,  0, 0),
        ( "M7", 13,  0, 1),
        ( "M8", 15,  0, 0),
        ( "M9", 19,  0, 1),
        ("M11", 30,  0, 0),
        ("M12", 31,  0, 1),
        ("M13", 33,  4, 0),
        ("M15", 33,  3, 0),
        ( "N2",  0,  5, 1),
        ( "N3",  2,  0, 0),
        ( "N4",  3,  0, 0),
        ( "N5",  9,  0, 1),
        ( "N6", 12,  0, 1),
        ( "N7", 16,  0, 1),
        ( "N9", 20,  0, 0),
        ("N10", 22,  0, 1),
        ("N12", 31,  0, 0),
        ( "P1",  0,  4, 1),
        ( "P2",  2,  0, 1),
        ( "P4",  7,  0, 1),
        ( "P5", 10,  0, 1),
        ( "P6", 14,  0, 1),
        ( "P7", 17,  0, 1),
        ( "P8", 19,  0, 0),
        ( "P9", 22,  0, 0),
        ("P10", 23,  0, 0),
        ("P11", 25,  0, 0),
        ("P12", 29,  0, 1),
        ("P13", 27,  0, 0),
        ("P14", 33,  2, 1),
        ("P15", 33,  1, 1),
        ( "R1",  3,  0, 1),
        ( "R2",  4,  0, 1),
        ( "R3",  6,  0, 1),
        ( "R4",  8,  0, 1),
        ( "R5", 11,  0, 1),
        ( "R6", 15,  0, 1),
        ( "R9", 21,  0, 0),
        ("R10", 24,  0, 0),
        ("R11", 26,  0, 0),
        ("R12", 28,  0, 0),
        ("R14", 33,  2, 0),
        ("R15", 33,  1, 0),
    ],
    "8k-cm81": [
        ( "A1",  2, 33, 1),
        ( "A2",  4, 33, 0),
        ( "A3",  6, 33, 0),
        ( "A4", 10, 33, 1),
        ( "A6", 23, 33, 0),
        ( "A7", 27, 33, 0),
        ( "A8", 28, 33, 1),
        ( "A9", 33,  4, 1),
        ( "B1",  0, 28, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  5, 33, 1),
        ( "B4",  9, 33, 0),
        ( "B5", 21, 33, 1),
        ( "B6", 24, 33, 0),
        ( "B7", 25, 33, 1),
        ( "B8", 30, 33, 1),
        ( "B9", 33,  6, 1),
        ( "C1",  0, 28, 0),
        ( "C2",  0, 30, 1),
        ( "C3",  0, 23, 0),
        ( "C4", 16, 33, 1),
        ( "C5", 17, 33, 0),
        ( "C9", 33, 21, 1),
        ( "D1",  0, 20, 1),
        ( "D2",  0, 23, 1),
        ( "D3",  0, 17, 0),
        ( "D5",  8, 33, 1),
        ( "D6", 33,  4, 0),
        ( "D7", 33,  5, 0),
        ( "D8", 33, 17, 0),
        ( "D9", 33,  6, 0),
        ( "E1",  0, 20, 0),
        ( "E2",  0, 17, 1),
        ( "E3",  0, 16, 1),
        ( "E4",  0, 16, 0),
        ( "E5",  7, 33, 1),
        ( "E7", 33,  5, 1),
        ( "E8", 33, 16, 1),
        ( "F1",  0,  7, 1),
        ( "F3",  0,  7, 0),
        ( "F7", 31,  0, 1),
        ( "F8", 33,  3, 0),
        ( "G1",  0,  5, 0),
        ( "G2",  0,  3, 1),
        ( "G3",  0,  5, 1),
        ( "G4", 16,  0, 1),
        ( "G5", 29,  0, 0),
        ( "G6", 30,  0, 0),
        ( "G7", 31,  0, 0),
        ( "G8", 33,  3, 1),
        ( "G9", 33,  2, 1),
        ( "H1",  3,  0, 0),
        ( "H2",  0,  3, 0),
        ( "H4", 17,  0, 0),
        ( "H5", 29,  0, 1),
        ( "H7", 30,  0, 1),
        ( "H9", 33,  2, 0),
        ( "J1",  3,  0, 1),
        ( "J2",  4,  0, 0),
        ( "J3",  4,  0, 1),
        ( "J4", 11,  0, 0),
        ( "J8", 33,  1, 0),
        ( "J9", 33,  1, 1),
    ],
    "8k-cm121": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 1),
        ( "A3",  3, 33, 0),
        ( "A4",  9, 33, 0),
        ( "A5", 11, 33, 0),
        ( "A6", 11, 33, 1),
        ( "A7", 19, 33, 1),
        ( "A8", 20, 33, 1),
        ( "A9", 26, 33, 1),
        ("A10", 30, 33, 1),
        ("A11", 31, 33, 1),
        ( "B1",  0, 30, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  4, 33, 0),
        ( "B4",  5, 33, 0),
        ( "B5", 10, 33, 1),
        ( "B6", 16, 33, 1),
        ( "B7", 17, 33, 0),
        ( "B8", 27, 33, 0),
        ( "B9", 28, 33, 1),
        ("B11", 33, 28, 0),
        ( "C1",  0, 25, 0),
        ( "C2",  0, 25, 1),
        ( "C3",  0, 27, 0),
        ( "C4",  0, 27, 1),
        ( "C7", 20, 33, 0),
        ( "C8", 26, 33, 0),
        ( "C9", 29, 33, 1),
        ("C11", 33, 27, 1),
        ( "D1",  0, 22, 0),
        ( "D2",  0, 21, 1),
        ( "D3",  0, 21, 0),
        ( "D5",  8, 33, 1),
        ( "D7", 25, 33, 0),
        ( "D9", 33, 21, 0),
        ("D10", 33, 24, 1),
        ("D11", 33, 23, 1),
        ( "E1",  0, 22, 1),
        ( "E2",  0, 20, 1),
        ( "E3",  0, 20, 0),
        ( "E8", 33, 20, 1),
        ( "E9", 33, 19, 1),
        ("E10", 33, 17, 0),
        ("E11", 33, 21, 1),
        ( "F1",  0, 18, 1),
        ( "F2",  0, 18, 0),
        ( "F3",  0, 17, 0),
        ( "F4",  0, 17, 1),
        ( "F9", 33, 15, 0),
        ("F10", 33, 14, 1),
        ("F11", 33, 16, 1),
        ( "G1",  0, 16, 1),
        ( "G2",  0, 16, 0),
        ( "G3",  0, 12, 1),
        ( "G8", 33,  5, 1),
        ( "G9", 33, 10, 1),
        ("G10", 33,  6, 1),
        ("G11", 33, 11, 0),
        ( "H1",  0, 11, 1),
        ( "H2",  0, 11, 0),
        ( "H3",  0, 12, 0),
        ( "H7", 20,  0, 1),
        ( "H9", 29,  0, 1),
        ("H10", 33,  4, 1),
        ("H11", 33,  6, 0),
        ( "J1",  0,  6, 1),
        ( "J2",  0,  4, 0),
        ( "J3",  4,  0, 1),
        ( "J4",  8,  0, 0),
        ( "J5", 15,  0, 0),
        ( "J7", 20,  0, 0),
        ( "J8", 22,  0, 1),
        ( "J9", 30,  0, 1),
        ("J10", 33,  5, 0),
        ("J11", 33,  3, 1),
        ( "K1",  0,  6, 0),
        ( "K2",  0,  4, 1),
        ( "K3",  7,  0, 1),
        ( "K4", 12,  0, 1),
        ( "K5", 15,  0, 1),
        ( "K6", 17,  0, 0),
        ( "K7", 21,  0, 1),
        ( "K9", 30,  0, 0),
        ("K10", 31,  0, 1),
        ("K11", 33,  4, 0),
        ( "L1",  4,  0, 0),
        ( "L2",  6,  0, 1),
        ( "L3", 11,  0, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 16,  0, 1),
        ( "L7", 24,  0, 0),
        ( "L8", 29,  0, 0),
        ("L10", 31,  0, 0),
    ],
	"8k-bg121": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 1),
        ( "A3",  3, 33, 0),
        ( "A4",  9, 33, 0),
        ( "A5", 11, 33, 0),
        ( "A6", 11, 33, 1),
        ( "A7", 19, 33, 1),
        ( "A8", 20, 33, 1),
        ( "A9", 26, 33, 1),
        ("A10", 30, 33, 1),
        ("A11", 31, 33, 1),
        ( "B1",  0, 30, 1),
        ( "B2",  0, 30, 0),
        ( "B3",  4, 33, 0),
        ( "B4",  5, 33, 0),
        ( "B5", 10, 33, 1),
        ( "B6", 16, 33, 1),
        ( "B7", 17, 33, 0),
        ( "B8", 27, 33, 0),
        ( "B9", 28, 33, 1),
        ("B11", 33, 28, 0),
        ( "C1",  0, 25, 0),
        ( "C2",  0, 25, 1),
        ( "C3",  0, 27, 0),
        ( "C4",  0, 27, 1),
        ( "C7", 20, 33, 0),
        ( "C8", 26, 33, 0),
        ( "C9", 29, 33, 1),
        ("C11", 33, 27, 1),
        ( "D1",  0, 22, 0),
        ( "D2",  0, 21, 1),
        ( "D3",  0, 21, 0),
        ( "D5",  8, 33, 1),
        ( "D7", 25, 33, 0),
        ( "D9", 33, 21, 0),
        ("D10", 33, 24, 1),
        ("D11", 33, 23, 1),
        ( "E1",  0, 22, 1),
        ( "E2",  0, 20, 1),
        ( "E3",  0, 20, 0),
        ( "E8", 33, 20, 1),
        ( "E9", 33, 19, 1),
        ("E10", 33, 17, 0),
        ("E11", 33, 21, 1),
        ( "F1",  0, 18, 1),
        ( "F2",  0, 18, 0),
        ( "F3",  0, 17, 0),
        ( "F4",  0, 17, 1),
        ( "F9", 33, 15, 0),
        ("F10", 33, 14, 1),
        ("F11", 33, 16, 1),
        ( "G1",  0, 16, 1),
        ( "G2",  0, 16, 0),
        ( "G3",  0, 12, 1),
        ( "G8", 33,  5, 1),
        ( "G9", 33, 10, 1),
        ("G10", 33,  6, 1),
        ("G11", 33, 11, 0),
        ( "H1",  0, 11, 1),
        ( "H2",  0, 11, 0),
        ( "H3",  0, 12, 0),
        ( "H7", 20,  0, 1),
        ( "H9", 29,  0, 1),
        ("H10", 33,  4, 1),
        ("H11", 33,  6, 0),
        ( "J1",  0,  6, 1),
        ( "J2",  0,  4, 0),
        ( "J3",  4,  0, 1),
        ( "J4",  8,  0, 0),
        ( "J5", 15,  0, 0),
        ( "J7", 20,  0, 0),
        ( "J8", 22,  0, 1),
        ( "J9", 30,  0, 1),
        ("J10", 33,  5, 0),
        ("J11", 33,  3, 1),
        ( "K1",  0,  6, 0),
        ( "K2",  0,  4, 1),
        ( "K3",  7,  0, 1),
        ( "K4", 12,  0, 1),
        ( "K5", 15,  0, 1),
        ( "K6", 17,  0, 0),
        ( "K7", 21,  0, 1),
        ( "K9", 30,  0, 0),
        ("K10", 31,  0, 1),
        ("K11", 33,  4, 0),
        ( "L1",  4,  0, 0),
        ( "L2",  6,  0, 1),
        ( "L3", 11,  0, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 16,  0, 1),
        ( "L7", 24,  0, 0),
        ( "L8", 29,  0, 0),
        ("L10", 31,  0, 0),
    ],
    "8k-cm225": [
        ( "A1",  1, 33, 1),
        ( "A2",  3, 33, 1),
        ( "A5",  6, 33, 1),
        ( "A6", 11, 33, 0),
        ( "A7", 12, 33, 0),
        ( "A8", 17, 33, 1),
        ( "A9", 18, 33, 1),
        ("A10", 21, 33, 0),
        ("A11", 23, 33, 1),
        ("A15", 31, 33, 0),
        ( "B1",  0, 31, 0),
        ( "B2",  2, 33, 1),
        ( "B3",  4, 33, 1),
        ( "B4",  5, 33, 1),
        ( "B5",  7, 33, 1),
        ( "B6", 10, 33, 0),
        ( "B7", 14, 33, 0),
        ( "B8", 19, 33, 1),
        ( "B9", 18, 33, 0),
        ("B10", 22, 33, 0),
        ("B11", 23, 33, 0),
        ("B12", 25, 33, 1),
        ("B13", 27, 33, 1),
        ("B14", 31, 33, 1),
        ("B15", 33, 31, 0),
        ( "C1",  0, 28, 0),
        ( "C2",  0, 31, 1),
        ( "C3",  2, 33, 0),
        ( "C4",  3, 33, 0),
        ( "C5",  5, 33, 0),
        ( "C6", 13, 33, 0),
        ( "C7", 11, 33, 1),
        ( "C8", 19, 33, 0),
        ( "C9", 17, 33, 0),
        ("C10", 20, 33, 0),
        ("C11", 24, 33, 1),
        ("C12", 30, 33, 1),
        ("C13", 30, 33, 0),
        ("C14", 33, 30, 0),
        ( "D1",  0, 25, 0),
        ( "D2",  0, 24, 1),
        ( "D3",  0, 27, 0),
        ( "D4",  0, 30, 0),
        ( "D5",  4, 33, 0),
        ( "D6",  9, 33, 0),
        ( "D7", 10, 33, 1),
        ( "D8", 16, 33, 1),
        ( "D9", 26, 33, 1),
        ("D10", 25, 33, 0),
        ("D11", 28, 33, 1),
        ("D13", 33, 27, 1),
        ("D14", 33, 25, 0),
        ("D15", 33, 27, 0),
        ( "E2",  0, 24, 0),
        ( "E3",  0, 28, 1),
        ( "E4",  0, 30, 1),
        ( "E5",  0, 27, 1),
        ( "E6",  0, 25, 1),
        ( "E9", 26, 33, 0),
        ("E10", 27, 33, 0),
        ("E11", 29, 33, 1),
        ("E13", 33, 28, 0),
        ("E14", 33, 24, 0),
        ( "F1",  0, 20, 0),
        ( "F2",  0, 21, 0),
        ( "F3",  0, 21, 1),
        ( "F4",  0, 22, 0),
        ( "F5",  0, 22, 1),
        ( "F7",  8, 33, 1),
        ( "F9", 20, 33, 1),
        ("F11", 33, 24, 1),
        ("F12", 33, 23, 1),
        ("F13", 33, 23, 0),
        ("F14", 33, 21, 0),
        ("F15", 33, 22, 0),
        ( "G1",  0, 19, 0),
        ( "G2",  0, 20, 1),
        ( "G3",  0, 19, 1),
        ( "G4",  0, 17, 0),
        ( "G5",  0, 18, 1),
        ("G10", 33, 20, 1),
        ("G11", 33, 19, 1),
        ("G12", 33, 21, 1),
        ("G13", 33, 17, 0),
        ("G14", 33, 20, 0),
        ("G15", 33, 19, 0),
        ( "H1",  0, 16, 0),
        ( "H2",  0, 18, 0),
        ( "H3",  0, 14, 1),
        ( "H4",  0, 13, 1),
        ( "H5",  0, 16, 1),
        ( "H6",  0, 17, 1),
        ("H11", 33, 14, 1),
        ("H12", 33, 16, 1),
        ("H13", 33, 15, 1),
        ("H14", 33, 15, 0),
        ( "J1",  0, 13, 0),
        ( "J2",  0, 12, 0),
        ( "J3",  0, 14, 0),
        ( "J4",  0, 11, 1),
        ( "J5",  0, 12, 1),
        ("J10", 33,  5, 1),
        ("J11", 33, 10, 1),
        ("J12", 33,  6, 1),
        ("J13", 33, 11, 0),
        ("J14", 33, 14, 0),
        ("J15", 33, 13, 0),
        ( "K1",  0, 11, 0),
        ( "K3",  0,  9, 1),
        ( "K4",  0,  4, 0),
        ( "K5",  0,  6, 1),
        ( "K9", 20,  0, 1),
        ("K11", 29,  0, 0),
        ("K12", 33,  4, 1),
        ("K13", 33,  5, 0),
        ("K14", 33, 12, 0),
        ("K15", 33,  9, 0),
        ( "L1",  0,  9, 0),
        ( "L3",  0,  7, 1),
        ( "L4",  0,  3, 0),
        ( "L5",  4,  0, 0),
        ( "L6",  7,  0, 0),
        ( "L7", 12,  0, 0),
        ( "L9", 17,  0, 0),
        ("L10", 21,  0, 1),
        ("L11", 30,  0, 1),
        ("L12", 33,  3, 1),
        ("L13", 33,  6, 0),
        ("L14", 33,  7, 0),
        ( "M1",  0,  7, 0),
        ( "M2",  0,  6, 0),
        ( "M3",  0,  5, 0),
        ( "M4",  0,  3, 1),
        ( "M5",  6,  0, 0),
        ( "M6",  8,  0, 0),
        ( "M7", 13,  0, 1),
        ( "M8", 15,  0, 0),
        ( "M9", 19,  0, 1),
        ("M11", 30,  0, 0),
        ("M12", 31,  0, 1),
        ("M13", 33,  4, 0),
        ("M14", 33,  8, 0),
        ("M15", 33,  3, 0),
        ( "N2",  0,  5, 1),
        ( "N3",  2,  0, 0),
        ( "N4",  3,  0, 0),
        ( "N5",  9,  0, 1),
        ( "N6", 12,  0, 1),
        ( "N7", 16,  0, 1),
        ( "N9", 20,  0, 0),
        ("N10", 22,  0, 1),
        ("N12", 31,  0, 0),
        ( "P1",  0,  4, 1),
        ( "P2",  2,  0, 1),
        ( "P4",  7,  0, 1),
        ( "P5", 10,  0, 1),
        ( "P6", 14,  0, 1),
        ( "P7", 17,  0, 1),
        ( "P8", 19,  0, 0),
        ( "P9", 22,  0, 0),
        ("P10", 23,  0, 0),
        ("P11", 25,  0, 0),
        ("P12", 29,  0, 1),
        ("P13", 27,  0, 0),
        ("P14", 33,  2, 1),
        ("P15", 33,  1, 1),
        ( "R1",  3,  0, 1),
        ( "R2",  4,  0, 1),
        ( "R3",  6,  0, 1),
        ( "R4",  8,  0, 1),
        ( "R5", 11,  0, 1),
        ( "R6", 15,  0, 1),
        ( "R9", 21,  0, 0),
        ("R10", 24,  0, 0),
        ("R11", 26,  0, 0),
        ("R12", 28,  0, 0),
        ("R14", 33,  2, 0),
        ("R15", 33,  1, 0),
    ],
    "8k-cb132": [
        ( "A1",  2, 33, 0),
        ( "A2",  3, 33, 0),
        ( "A3",  3, 33, 1),
        ( "A4",  5, 33, 0),
        ( "A5", 10, 33, 1),
        ( "A6", 16, 33, 1),
        ( "A7", 17, 33, 0),
        ("A10", 25, 33, 0),
        ("A11", 26, 33, 0),
        ("A12", 30, 33, 1),
        ( "B1",  0, 30, 1),
        ("B14", 33, 28, 0),
        ( "C1",  0, 30, 0),
        ( "C3",  0, 27, 1),
        ( "C4",  4, 33, 0),
        ( "C5",  8, 33, 1),
        ( "C6", 11, 33, 1),
        ( "C7", 14, 33, 1),
        ( "C9", 20, 33, 1),
        ("C10", 22, 33, 1),
        ("C11", 28, 33, 1),
        ("C12", 29, 33, 1),
        ("C14", 33, 24, 1),
        ( "D1",  0, 25, 1),
        ( "D3",  0, 27, 0),
        ( "D4",  0, 22, 1),
        ( "D5",  9, 33, 0),
        ( "D6", 11, 33, 0),
        ( "D7", 13, 33, 1),
        ( "D9", 21, 33, 1),
        ("D10", 27, 33, 0),
        ("D11", 26, 33, 1),
        ("D12", 33, 27, 1),
        ("D14", 33, 23, 1),
        ( "E1",  0, 25, 0),
        ( "E4",  0, 22, 0),
        ("E11", 33, 20, 1),
        ("E12", 33, 21, 0),
        ("E14", 33, 21, 1),
        ( "F3",  0, 21, 0),
        ( "F4",  0, 21, 1),
        ("F11", 33, 19, 1),
        ("F12", 33, 15, 0),
        ("F14", 33, 16, 1),
        ( "G1",  0, 17, 0),
        ( "G3",  0, 17, 1),
        ( "G4",  0, 20, 0),
        ("G11", 33, 14, 1),
        ("G12", 33, 11, 0),
        ("G14", 33, 17, 0),
        ( "H1",  0, 16, 1),
        ( "H3",  0, 16, 0),
        ( "H4",  0, 20, 1),
        ("H11", 33, 10, 1),
        ("H12", 33,  6, 1),
        ( "J1",  0, 18, 0),
        ( "J3",  0, 18, 1),
        ("J11", 33,  6, 0),
        ("J12", 33,  5, 1),
        ( "K3",  0, 11, 1),
        ( "K4",  0, 11, 0),
        ("K11", 33,  4, 1),
        ("K12", 33,  4, 0),
        ("K14", 33,  5, 0),
        ( "L1",  0,  6, 1),
        ( "L4", 12,  0, 0),
        ( "L5", 11,  0, 1),
        ( "L6", 15,  0, 0),
        ( "L8", 20,  0, 1),
        ( "L9", 29,  0, 0),
        ("L12", 33,  2, 0),
        ("L14", 33,  3, 1),
        ( "M1",  0,  6, 0),
        ( "M3",  8,  0, 0),
        ( "M4",  7,  0, 1),
        ( "M6", 14,  0, 1),
        ( "M7", 15,  0, 1),
        ( "M9", 22,  0, 1),
        ("M11", 30,  0, 0),
        ("M12", 33,  1, 0),
        ( "N1",  0,  4, 1),
        ("N14", 33,  2, 1),
        ( "P1",  0,  4, 0),
        ( "P2",  4,  0, 0),
        ( "P3",  5,  0, 1),
        ( "P4", 12,  0, 1),
        ( "P5", 13,  0, 0),
        ( "P7", 16,  0, 1),
        ( "P8", 17,  0, 0),
        ( "P9", 21,  0, 1),
        ("P10", 29,  0, 1),
        ("P11", 30,  0, 1),
        ("P12", 31,  0, 0),
        ("P13", 31,  0, 1),
        ("P14", 33,  1, 1),
    ],
    "8k-ct256": [
        ( "A1",  4, 33, 1),
        ( "A2",  5, 33, 1),
        ( "A5",  8, 33, 0),
        ( "A6",  9, 33, 0),
        ( "A7", 12, 33, 0),
        ( "A9", 18, 33, 1),
        ("A10", 22, 33, 1),
        ("A11", 22, 33, 0),
        ("A15", 27, 33, 0),
        ("A16", 27, 33, 1),
        ( "B1",  0, 30, 0),
        ( "B2",  0, 31, 0),
        ( "B3",  3, 33, 0),
        ( "B4",  6, 33, 1),
        ( "B5",  7, 33, 1),
        ( "B6", 10, 33, 1),
        ( "B7", 11, 33, 0),
        ( "B8", 13, 33, 0),
        ( "B9", 16, 33, 0),
        ("B10", 24, 33, 0),
        ("B11", 23, 33, 1),
        ("B12", 24, 33, 1),
        ("B13", 26, 33, 1),
        ("B14", 30, 33, 0),
        ("B15", 31, 33, 0),
        ("B16", 33, 30, 0),
        ( "C1",  0, 28, 1),
        ( "C2",  0, 28, 0),
        ( "C3",  1, 33, 0),
        ( "C4",  3, 33, 1),
        ( "C5",  4, 33, 0),
        ( "C6", 10, 33, 0),
        ( "C7", 11, 33, 1),
        ( "C8", 17, 33, 0),
        ( "C9", 20, 33, 0),
        ("C10", 23, 33, 0),
        ("C11", 25, 33, 1),
        ("C12", 29, 33, 1),
        ("C13", 28, 33, 1),
        ("C14", 31, 33, 1),
        ("C16", 33, 28, 0),
        ( "D1",  0, 25, 0),
        ( "D2",  0, 27, 0),
        ( "D3",  1, 33, 1),
        ( "D4",  2, 33, 1),
        ( "D5",  5, 33, 0),
        ( "D6",  8, 33, 1),
        ( "D7",  9, 33, 1),
        ( "D8", 14, 33, 1),
        ( "D9", 19, 33, 0),
        ("D10", 20, 33, 1),
        ("D11", 25, 33, 0),
        ("D13", 30, 33, 1),
        ("D14", 33, 31, 0),
        ("D15", 33, 26, 0),
        ("D16", 33, 24, 0),
        ( "E2",  0, 23, 0),
        ( "E3",  0, 24, 0),
        ( "E4",  0, 31, 1),
        ( "E5",  2, 33, 0),
        ( "E6",  7, 33, 0),
        ( "E9", 19, 33, 1),
        ("E10", 26, 33, 0),
        ("E11", 29, 33, 0),
        ("E13", 33, 30, 1),
        ("E14", 33, 27, 1),
        ("E16", 33, 23, 0),
        ( "F1",  0, 20, 0),
        ( "F2",  0, 21, 0),
        ( "F3",  0, 22, 0),
        ( "F4",  0, 27, 1),
        ( "F5",  0, 30, 1),
        ( "F7", 16, 33, 1),
        ( "F9", 17, 33, 1),
        ("F11", 33, 26, 1),
        ("F12", 33, 25, 1),
        ("F13", 33, 28, 1),
        ("F14", 33, 25, 0),
        ("F15", 33, 22, 0),
        ("F16", 33, 21, 0),
        ( "G1",  0, 17, 0),
        ( "G2",  0, 19, 0),
        ( "G3",  0, 22, 1),
        ( "G4",  0, 24, 1),
        ( "G5",  0, 25, 1),
        ("G10", 33, 20, 1),
        ("G11", 33, 21, 1),
        ("G12", 33, 24, 1),
        ("G13", 33, 23, 1),
        ("G14", 33, 22, 1),
        ("G15", 33, 20, 0),
        ("G16", 33, 19, 0),
        ( "H1",  0, 16, 0),
        ( "H2",  0, 18, 0),
        ( "H3",  0, 21, 1),
        ( "H4",  0, 19, 1),
        ( "H5",  0, 23, 1),
        ( "H6",  0, 20, 1),
        ("H11", 33, 16, 1),
        ("H12", 33, 19, 1),
        ("H13", 33, 16, 0),
        ("H14", 33, 17, 1),
        ("H16", 33, 17, 0),
        ( "J1",  0, 14, 0),
        ( "J2",  0, 14, 1),
        ( "J3",  0, 16, 1),
        ( "J4",  0, 18, 1),
        ( "J5",  0, 17, 1),
        ("J10", 33,  7, 1),
        ("J11", 33,  9, 1),
        ("J12", 33, 14, 1),
        ("J13", 33, 15, 0),
        ("J14", 33, 13, 1),
        ("J15", 33, 11, 1),
        ("J16", 33, 15, 1),
        ( "K1",  0, 13, 1),
        ( "K3",  0, 13, 0),
        ( "K4",  0, 11, 1),
        ( "K5",  0,  9, 1),
        ( "K9", 17,  0, 0),
        ("K11", 29,  0, 0),
        ("K12", 33,  6, 1),
        ("K13", 33, 10, 1),
        ("K14", 33, 11, 0),
        ("K15", 33, 12, 0),
        ("K16", 33, 13, 0),
        ( "L1",  0, 12, 0),
        ( "L3",  0, 10, 0),
        ( "L4",  0, 12, 1),
        ( "L5",  0,  6, 1),
        ( "L6",  0, 10, 1),
        ( "L7",  0,  8, 1),
        ( "L9", 13,  0, 0),
        ("L10", 19,  0, 1),
        ("L11", 26,  0, 1),
        ("L12", 33,  4, 1),
        ("L13", 33,  5, 1),
        ("L14", 33,  6, 0),
        ("L16", 33, 10, 0),
        ( "M1",  0, 11, 0),
        ( "M2",  0,  9, 0),
        ( "M3",  0,  7, 0),
        ( "M4",  0,  5, 0),
        ( "M5",  0,  4, 0),
        ( "M6",  0,  7, 1),
        ( "M7",  8,  0, 0),
        ( "M8", 10,  0, 0),
        ( "M9", 16,  0, 0),
        ("M11", 23,  0, 1),
        ("M12", 27,  0, 1),
        ("M13", 33,  3, 1),
        ("M14", 33,  4, 0),
        ("M15", 33,  8, 0),
        ("M16", 33,  7, 0),
        ( "N2",  0,  8, 0),
        ( "N3",  0,  6, 0),
        ( "N4",  0,  3, 0),
        ( "N5",  4,  0, 0),
        ( "N6",  2,  0, 0),
        ( "N7",  9,  0, 0),
        ( "N9", 15,  0, 0),
        ("N10", 20,  0, 1),
        ("N12", 26,  0, 0),
        ("N16", 33,  5, 0),
        ( "P1",  0,  5, 1),
        ( "P2",  0,  4, 1),
        ( "P4",  3,  0, 0),
        ( "P5",  5,  0, 0),
        ( "P6",  9,  0, 1),
        ( "P7", 14,  0, 1),
        ( "P8", 12,  0, 0),
        ( "P9", 17,  0, 1),
        ("P10", 20,  0, 0),
        ("P11", 30,  0, 1),
        ("P12", 30,  0, 0),
        ("P13", 29,  0, 1),
        ("P14", 33,  2, 0),
        ("P15", 33,  2, 1),
        ("P16", 33,  3, 0),
        ( "R1",  0,  3, 1),
        ( "R2",  3,  0, 1),
        ( "R3",  5,  0, 1),
        ( "R4",  7,  0, 1),
        ( "R5",  6,  0, 0),
        ( "R6", 11,  0, 1),
        ( "R9", 16,  0, 1),
        ("R10", 19,  0, 0),
        ("R11", 31,  0, 0),
        ("R12", 31,  0, 1),
        ("R14", 33,  1, 0),
        ("R15", 33,  1, 1),
        ("R16", 28,  0, 0),
        ( "T1",  2,  0, 1),
        ( "T2",  4,  0, 1),
        ( "T3",  6,  0, 1),
        ( "T5", 10,  0, 1),
        ( "T6", 12,  0, 1),
        ( "T7", 13,  0, 1),
        ( "T8", 14,  0, 0),
        ( "T9", 15,  0, 1),
        ("T10", 21,  0, 0),
        ("T11", 21,  0, 1),
        ("T13", 24,  0, 0),
        ("T14", 23,  0, 0),
        ("T15", 22,  0, 1),
        ("T16", 27,  0, 0),
    ],
    "384-qn32": [
        (  "1",  0,  7, 0),
        (  "2",  0,  7, 1),
        (  "5",  0,  5, 1),
        (  "6",  0,  5, 0),
        (  "7",  0,  4, 0),
        (  "8",  0,  4, 1),
        ( "12",  5,  0, 0),
        ( "13",  5,  0, 1),
        ( "14",  6,  0, 1),
        ( "15",  6,  0, 0),
        ( "18",  7,  4, 0),
        ( "19",  7,  4, 1),
        ( "20",  7,  5, 0),
        ( "22",  7,  6, 0),
        ( "23",  7,  6, 1),
        ( "26",  6,  9, 0),
        ( "27",  5,  9, 0),
        ( "29",  4,  9, 0),
        ( "30",  3,  9, 1),
        ( "31",  2,  9, 0),
        ( "32",  2,  9, 1),
    ],
    "384-cm36": [
        ( "A1",  0,  7, 0),
        ( "A2",  2,  9, 1),
        ( "A3",  3,  9, 1),
        ( "B1",  0,  7, 1),
        ( "B3",  4,  9, 0),
        ( "B4",  7,  5, 0),
        ( "B5",  7,  5, 1),
        ( "B6",  7,  6, 0),
        ( "C1",  0,  5, 0),
        ( "C2",  0,  5, 1),
        ( "C3",  2,  9, 0),
        ( "C5",  7,  4, 1),
        ( "C6",  7,  6, 1),
        ( "D1",  0,  4, 1),
        ( "D5",  6,  0, 1),
        ( "D6",  7,  4, 0),
        ( "E1",  0,  4, 0),
        ( "E2",  3,  0, 1),
        ( "E3",  4,  0, 0),
        ( "E4",  5,  0, 0),
        ( "E5",  6,  0, 0),
        ( "E6",  7,  3, 1),
        ( "F2",  3,  0, 0),
        ( "F3",  4,  0, 1),
        ( "F5",  5,  0, 1),
    ],
    "384-cm49": [
        ( "A1",  0,  7, 1),
        ( "A2",  2,  9, 1),
        ( "A3",  3,  9, 0),
        ( "A4",  4,  9, 1),
        ( "A5",  5,  9, 0),
        ( "A6",  6,  9, 0),
        ( "A7",  6,  9, 1),
        ( "B1",  0,  7, 0),
        ( "B2",  0,  6, 0),
        ( "B3",  2,  9, 0),
        ( "B4",  4,  9, 0),
        ( "C1",  0,  5, 1),
        ( "C2",  0,  6, 1),
        ( "C4",  3,  9, 1),
        ( "C5",  7,  6, 1),
        ( "C6",  7,  5, 1),
        ( "C7",  7,  6, 0),
        ( "D1",  0,  4, 0),
        ( "D2",  0,  5, 0),
        ( "D3",  0,  2, 0),
        ( "D4",  5,  9, 1),
        ( "D6",  7,  4, 1),
        ( "D7",  7,  5, 0),
        ( "E2",  0,  4, 1),
        ( "E6",  6,  0, 1),
        ( "E7",  7,  4, 0),
        ( "F1",  0,  2, 1),
        ( "F2",  0,  1, 0),
        ( "F3",  3,  0, 1),
        ( "F4",  4,  0, 0),
        ( "F5",  5,  0, 0),
        ( "F6",  6,  0, 0),
        ( "F7",  7,  3, 1),
        ( "G1",  0,  1, 1),
        ( "G3",  3,  0, 0),
        ( "G4",  4,  0, 1),
        ( "G6",  5,  0, 1),
    ],
    "5k-sg48": [
        (  "2",  8,  0, 0),
        (  "3",  9,  0, 1),
        (  "4",  9,  0, 0),
        (  "6", 13,  0, 1),
        (  "9", 15,  0, 0),
        ( "10", 16,  0, 0),
        ( "11", 17,  0, 0),
        ( "12", 18,  0, 0),
        ( "13", 19,  0, 0),
        ( "14", 23,  0, 0),
        ( "15", 24,  0, 0),
        ( "16", 24,  0, 1),
        ( "17", 23,  0, 1),
        ( "18", 22,  0, 1),
        ( "19", 21,  0, 1),
        ( "20", 19,  0, 1),
        ( "21", 18,  0, 1),
        ( "23", 19, 31, 0),
        ( "25", 19, 31, 1),
        ( "26", 18, 31, 0),
        ( "27", 18, 31, 1),
        ( "28", 17, 31, 0),
        ( "31", 16, 31, 1),
        ( "32", 16, 31, 0),
        ( "34", 13, 31, 1),
        ( "35", 12, 31, 1),
        ( "36",  9, 31, 1),
        ( "37", 13, 31, 0),
        ( "38",  8, 31, 1),
        ( "39",  4, 31, 0),
        ( "40",  5, 31, 0),
        ( "41",  6, 31, 0),
        ( "42",  8, 31, 0),
        ( "43",  9, 31, 0),
        ( "44",  6,  0, 1),
        ( "45",  7,  0, 1),
        ( "46",  5,  0, 0),
        ( "47",  6,  0, 0),
        ( "48",  7,  0, 0),
    ],
    "u4k-sg48": [
        (  "2",  8,  0, 0),
        (  "3",  9,  0, 1),
        (  "4",  9,  0, 0),
        (  "6", 13,  0, 1),
        (  "9", 15,  0, 0),
        ( "10", 16,  0, 0),
        ( "11", 17,  0, 0),
        ( "12", 18,  0, 0),
        ( "13", 19,  0, 0),
        ( "14", 23,  0, 0),
        ( "15", 24,  0, 0),
        ( "16", 24,  0, 1),
        ( "17", 23,  0, 1),
        ( "18", 22,  0, 1),
        ( "19", 21,  0, 1),
        ( "20", 19,  0, 1),
        ( "21", 18,  0, 1),
        ( "23", 19, 21, 0),
        ( "25", 19, 21, 1),
        ( "26", 18, 21, 0),
        ( "27", 18, 21, 1),
        ( "28", 17, 21, 0),
        ( "31", 16, 21, 1),
        ( "32", 16, 21, 0),
        ( "34", 13, 21, 1),
        ( "35", 12, 21, 1),
        ( "36",  9, 21, 1),
        ( "37", 13, 21, 0),
        ( "38",  8, 21, 1),
        ( "39",  6, 21, 0),
        ( "40",  5, 21, 0),
        ( "41",  4, 21, 0),
        ( "42",  8, 21, 0),
        ( "43",  9, 21, 0),
        ( "44",  6,  0, 1),
        ( "45",  7,  0, 1),
        ( "46",  5,  0, 0),
        ( "47",  6,  0, 0),
        ( "48",  7,  0, 0),
    ],
    "5k-uwg30": [
        ( "A1", 19, 31, 1),
        ( "A2", 19, 31, 0),
        ( "A4", 12, 31, 0),
        ( "A5",  4, 31, 0),
        ( "B1", 19,  0, 0),
        ( "B3", 12, 31, 1),
        ( "B5",  5, 31, 0),
        ( "C1", 24,  0, 1),
        ( "C3", 12,  0, 0),
        ( "C5",  6, 31, 0),
        ( "D1", 24,  0, 0),
        ( "D3", 13,  0, 0),
        ( "D5",  6,  0, 0),
        ( "E1", 23,  0, 1),
        ( "E3", 13,  0, 1),
        ( "E4",  9,  0, 1),
        ( "E5",  5,  0, 0),
        ( "F1", 23,  0, 0),
        ( "F2", 19,  0, 1),
        ( "F4", 12,  0, 1),
        ( "F5",  6,  0, 1),
    ],
    "lm4k-cm49": [
        ( "A1",  5,  21, 1),
        ( "A2",  6,  21, 0),
        ( "A3",  12, 21, 1),
        ( "A4",  13, 21, 0),
        ( "A5",  17, 21, 1),
        ( "A6",  19, 21, 1),
        ( "A7",  22, 21, 1),
        ( "B1",  4, 21, 1),
        ( "B2",  7, 21, 1),
        ( "B4",  15, 21, 0),
        ( "B6",  18, 21, 0),
        ( "B7",  23, 21, 1),
        ( "C1",  4, 21, 0),
        ( "C3",  9, 21, 0),
        ( "C4",  19, 21, 0),
        ( "C6",  21, 21, 1),
        ( "C7",  23, 21, 0),
        ( "D1",  7,  0, 1),
        ( "D2",  6,  0, 1),
        ( "D3", 10,  0, 0),
        ( "D6", 19,  0, 1),
        ( "D7", 21,  0, 0),
        ( "E1",  6,  0, 0),
        ( "E2", 12,  0, 1),
        ( "E3",  7,  0, 0),
        ( "E4", 12,  0, 0),
        ( "E5", 19,  0, 0),
        ( "E6", 24,  0, 1),
        ( "E7", 22,  0, 0),
        ( "F2",  8,  0, 1),
        ( "F3",  8,  0, 0),
        ( "F4", 13,  0, 1),
        ( "F5", 23,  0, 0),
        ( "F6", 24,  0, 0),
        ( "F7", 21,  0, 1),
        ( "G3", 13,  0, 0),
        ( "G6", 23,  0, 1),
    ],
    "lm4k-cm36": [
        ( "A1",  5, 21, 1),
        ( "A2",  7, 21, 1),
        ( "A3",  9, 21, 1),
        ( "A4", 16, 21, 1),
        ( "A5", 19, 21, 1),
        ( "A6", 22, 21, 1),
        ( "B1",  4, 21, 1),
        ( "B2",  6, 21, 0),
        ( "B3", 12, 21, 1),
        ( "B4", 13, 21, 0),
        ( "B5", 21, 21, 1),
        ( "B6", 23, 21, 1),
        ( "C1",  7,  0, 1),
        ( "C5", 23, 21, 0),
        ( "C6", 23,  0, 0),
        ( "D1",  6,  0, 1),
        ( "D6", 24,  0, 0),
        ( "E1",  7,  0, 0),
        ( "E2", 13,  0, 0),
        ( "E3", 14,  0, 1),
        ( "E5", 22,  0, 1),
        ( "E6", 24,  0, 1),
        ( "F1",  6,  0, 0),
        ( "F2", 10,  0, 0),
        ( "F3", 12,  0, 1),
        ( "F4", 19,  0, 0),
        ( "F5", 22,  0, 0),
        ( "F6", 23,  0, 1),
    ],
    "lm4k-swg25tr": [
        ( "A1", 22, 21, 1),
        ( "A3", 13, 21, 0),
        ( "A4", 12, 21, 1),
        ( "A5",  5, 21, 1),
        ( "B1", 21, 21, 1),
        ( "B5",  6, 21, 0),
        ( "C1", 23,  0, 1),
        ( "C2", 19, 21, 1),
        ( "C4", 13,  0, 0),
        ( "C5",  7,  0, 1),
        ( "D1", 24,  0, 0),
        ( "D2", 23,  0, 0),
        ( "D3", 19,  0, 0),
        ( "D5",  6,  0, 1),
        ( "E1", 24,  0, 1),
        ( "E3", 12,  0, 1),
        ( "E4",  7,  0, 0),
        ( "E5",  6,  0, 0),
    ]
}

# This database contains the locations of configuration bits of the DSP tiles
# The standard configuration is stored under the key  "default". If it is necessary to
# override it for a certain DSP on a certain device use the key "{device}_{x}_{y}" where
# {x} and {y} are the location of the DSP0 tile of the DSP (NOT the tile the cbit is in).
# x and y are relative to the DSP0 tile.
dsp_config_db = {
    "default" : {
            "C_REG":                        (0, 0, "CBIT_0"),
            "A_REG":                        (0, 0, "CBIT_1"),
            "B_REG":                        (0, 0, "CBIT_2"),
            "D_REG":                        (0, 0, "CBIT_3"),
            "TOP_8x8_MULT_REG":             (0, 0, "CBIT_4"),
            "BOT_8x8_MULT_REG":             (0, 0, "CBIT_5"),
            "PIPELINE_16x16_MULT_REG1":     (0, 0, "CBIT_6"),
            "PIPELINE_16x16_MULT_REG2":     (0, 0, "CBIT_7"),
            "TOPOUTPUT_SELECT_0":           (0, 1, "CBIT_0"),
            "TOPOUTPUT_SELECT_1":           (0, 1, "CBIT_1"),
            "TOPADDSUB_LOWERINPUT_0":       (0, 1, "CBIT_2"),
            "TOPADDSUB_LOWERINPUT_1":       (0, 1, "CBIT_3"),
            "TOPADDSUB_UPPERINPUT":         (0, 1, "CBIT_4"),
            "TOPADDSUB_CARRYSELECT_0":      (0, 1, "CBIT_5"),
            "TOPADDSUB_CARRYSELECT_1":      (0, 1, "CBIT_6"),
            "BOTOUTPUT_SELECT_0":           (0, 1, "CBIT_7"),
            "BOTOUTPUT_SELECT_1":           (0, 2, "CBIT_0"),
            "BOTADDSUB_LOWERINPUT_0":       (0, 2, "CBIT_1"),
            "BOTADDSUB_LOWERINPUT_1":       (0, 2, "CBIT_2"),
            "BOTADDSUB_UPPERINPUT":         (0, 2, "CBIT_3"),
            "BOTADDSUB_CARRYSELECT_0":      (0, 2, "CBIT_4"),
            "BOTADDSUB_CARRYSELECT_1":      (0, 2, "CBIT_5"),
            "MODE_8x8":                     (0, 2, "CBIT_6"),
            "A_SIGNED":                     (0, 2, "CBIT_7"),
            "B_SIGNED":                     (0, 3, "CBIT_0")
        },
    "5k_0_15": {
            "TOPOUTPUT_SELECT_1":           (0, 4, "CBIT_3"),
            "TOPADDSUB_LOWERINPUT_0":       (0, 4, "CBIT_4"),
            "TOPADDSUB_LOWERINPUT_1":       (0, 4, "CBIT_5"),
            "TOPADDSUB_UPPERINPUT":         (0, 4, "CBIT_6")
        }
}

# SPRAM data for UltraPlus devices, use icefuzz/tests/fuzz_spram.py
# to generate this
spram_db = { 
    "5k" : {
        (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"), 
    	}
    }
}

# This contains the data for extra cells not included
# in any previous databases

extra_cells_db = {
    "5k" : {
        ("HFOSC", (0, 31, 1)) : {
            "CLKHFPU":                      (0, 29, "lutff_0/in_1"),
            "CLKHFEN":                      (0, 29, "lutff_7/in_3"),
            "CLKHF":                        (0, 29, "glb_netwk_4"),
            "CLKHF_FABRIC":                 (0, 28, "slf_op_7"),
            "TRIM0":                        (25, 28, "lutff_4/in_0"),
            "TRIM1":                        (25, 28, "lutff_5/in_0"),
            "TRIM2":                        (25, 28, "lutff_6/in_0"),
            "TRIM3":                        (25, 28, "lutff_7/in_0"),
            "TRIM4":                        (25, 29, "lutff_0/in_3"),
            "TRIM5":                        (25, 29, "lutff_1/in_3"),
            "TRIM6":                        (25, 29, "lutff_2/in_3"),
            "TRIM7":                        (25, 29, "lutff_3/in_3"),
            "TRIM8":                        (25, 29, "lutff_4/in_3"),
            "TRIM9":                        (25, 29, "lutff_5/in_3"),
            "CLKHF_DIV_1":                  (0, 16, "CBIT_4"),
            "CLKHF_DIV_0":                  (0, 16, "CBIT_3"),
            "TRIM_EN":                      (0, 16, "CBIT_5")
        },
        ("LFOSC", (25, 31, 1)) : {
            "CLKLFPU":                      (25, 29, "lutff_0/in_1"),
            "CLKLFEN":                      (25, 29, "lutff_7/in_3"),
            "CLKLF":                        (25, 29, "glb_netwk_5"),
            "CLKLF_FABRIC":                 (25, 29, "slf_op_0")
        },
        ("RGBA_DRV", (0, 30, 0)) : {
            "CURREN":                       (25, 29, "lutff_6/in_3"),
            "RGBLEDEN":                     (0, 30, "lutff_1/in_1"),
            "RGB0PWM":                      (0, 30, "lutff_2/in_1"),
            "RGB1PWM":                      (0, 30, "lutff_3/in_1"),
            "RGB2PWM":                      (0, 30, "lutff_4/in_1"),
            "RGBA_DRV_EN":                  (0, 28, "CBIT_5"),
            "RGB0_CURRENT_0":               (0, 28, "CBIT_6"),
            "RGB0_CURRENT_1":               (0, 28, "CBIT_7"),
            "RGB0_CURRENT_2":               (0, 29, "CBIT_0"),
            "RGB0_CURRENT_3":               (0, 29, "CBIT_1"),
            "RGB0_CURRENT_4":               (0, 29, "CBIT_2"),
            "RGB0_CURRENT_5":               (0, 29, "CBIT_3"),
            "RGB1_CURRENT_0":               (0, 29, "CBIT_4"),
            "RGB1_CURRENT_1":               (0, 29, "CBIT_5"),
            "RGB1_CURRENT_2":               (0, 29, "CBIT_6"),
            "RGB1_CURRENT_3":               (0, 29, "CBIT_7"),
            "RGB1_CURRENT_4":               (0, 30, "CBIT_0"),
            "RGB1_CURRENT_5":               (0, 30, "CBIT_1"),
            "RGB2_CURRENT_0":               (0, 30, "CBIT_2"),
            "RGB2_CURRENT_1":               (0, 30, "CBIT_3"),
            "RGB2_CURRENT_2":               (0, 30, "CBIT_4"),
            "RGB2_CURRENT_3":               (0, 30, "CBIT_5"),
            "RGB2_CURRENT_4":               (0, 30, "CBIT_6"),
            "RGB2_CURRENT_5":               (0, 30, "CBIT_7"),
            "CURRENT_MODE":                 (0, 28, "CBIT_4"),
            
            "RGB0":                         (4, 31, 0),
            "RGB1":                         (5, 31, 0),
            "RGB2":                         (6, 31, 0),

        },
        ("I2C", (0, 31, 0)): {
    		"I2CIRQ":                (0, 30, "slf_op_7"), 
    		"I2CWKUP":               (0, 29, "slf_op_5"), 
    		"I2C_ENABLE_0":          (13, 31, "cbit2usealt_in_0"), 
    		"I2C_ENABLE_1":          (12, 31, "cbit2usealt_in_1"), 
    		"SBACKO":                (0, 30, "slf_op_6"), 
    		"SBADRI0":               (0, 30, "lutff_1/in_0"), 
    		"SBADRI1":               (0, 30, "lutff_2/in_0"), 
    		"SBADRI2":               (0, 30, "lutff_3/in_0"), 
    		"SBADRI3":               (0, 30, "lutff_4/in_0"), 
    		"SBADRI4":               (0, 30, "lutff_5/in_0"), 
    		"SBADRI5":               (0, 30, "lutff_6/in_0"), 
    		"SBADRI6":               (0, 30, "lutff_7/in_0"), 
    		"SBADRI7":               (0, 29, "lutff_2/in_0"), 
    		"SBCLKI":                (0, 30, "clk"), 
    		"SBDATI0":               (0, 29, "lutff_5/in_0"), 
    		"SBDATI1":               (0, 29, "lutff_6/in_0"), 
    		"SBDATI2":               (0, 29, "lutff_7/in_0"), 
    		"SBDATI3":               (0, 30, "lutff_0/in_3"), 
    		"SBDATI4":               (0, 30, "lutff_5/in_1"), 
    		"SBDATI5":               (0, 30, "lutff_6/in_1"), 
    		"SBDATI6":               (0, 30, "lutff_7/in_1"), 
    		"SBDATI7":               (0, 30, "lutff_0/in_0"), 
    		"SBDATO0":               (0, 29, "slf_op_6"), 
    		"SBDATO1":               (0, 29, "slf_op_7"), 
    		"SBDATO2":               (0, 30, "slf_op_0"), 
    		"SBDATO3":               (0, 30, "slf_op_1"), 
    		"SBDATO4":               (0, 30, "slf_op_2"), 
    		"SBDATO5":               (0, 30, "slf_op_3"), 
    		"SBDATO6":               (0, 30, "slf_op_4"), 
    		"SBDATO7":               (0, 30, "slf_op_5"), 
    		"SBRWI":                 (0, 29, "lutff_4/in_0"), 
    		"SBSTBI":                (0, 29, "lutff_3/in_0"), 
    		"SCLI":                  (0, 29, "lutff_2/in_1"), 
    		"SCLO":                  (0, 29, "slf_op_3"), 
    		"SCLOE":                 (0, 29, "slf_op_4"), 
    		"SDAI":                  (0, 29, "lutff_1/in_1"), 
    		"SDAO":                  (0, 29, "slf_op_1"), 
    		"SDAOE":                 (0, 29, "slf_op_2"), 
    		"SDA_INPUT_DELAYED":     (12, 31, "SDA_input_delay"), 
    		"SDA_OUTPUT_DELAYED":    (12, 31, "SDA_output_delay"), 
    	},
    	("I2C", (25, 31, 0)): {
    		"I2CIRQ":                (25, 30, "slf_op_7"), 
    		"I2CWKUP":               (25, 29, "slf_op_5"), 
    		"I2C_ENABLE_0":          (19, 31, "cbit2usealt_in_0"), 
    		"I2C_ENABLE_1":          (19, 31, "cbit2usealt_in_1"), 
    		"SBACKO":                (25, 30, "slf_op_6"), 
    		"SBADRI0":               (25, 30, "lutff_1/in_0"), 
    		"SBADRI1":               (25, 30, "lutff_2/in_0"), 
    		"SBADRI2":               (25, 30, "lutff_3/in_0"), 
    		"SBADRI3":               (25, 30, "lutff_4/in_0"), 
    		"SBADRI4":               (25, 30, "lutff_5/in_0"), 
    		"SBADRI5":               (25, 30, "lutff_6/in_0"), 
    		"SBADRI6":               (25, 30, "lutff_7/in_0"), 
    		"SBADRI7":               (25, 29, "lutff_2/in_0"), 
    		"SBCLKI":                (25, 30, "clk"), 
    		"SBDATI0":               (25, 29, "lutff_5/in_0"), 
    		"SBDATI1":               (25, 29, "lutff_6/in_0"), 
    		"SBDATI2":               (25, 29, "lutff_7/in_0"), 
    		"SBDATI3":               (25, 30, "lutff_0/in_3"), 
    		"SBDATI4":               (25, 30, "lutff_5/in_1"), 
    		"SBDATI5":               (25, 30, "lutff_6/in_1"), 
    		"SBDATI6":               (25, 30, "lutff_7/in_1"), 
    		"SBDATI7":               (25, 30, "lutff_0/in_0"), 
    		"SBDATO0":               (25, 29, "slf_op_6"), 
    		"SBDATO1":               (25, 29, "slf_op_7"), 
    		"SBDATO2":               (25, 30, "slf_op_0"), 
    		"SBDATO3":               (25, 30, "slf_op_1"), 
    		"SBDATO4":               (25, 30, "slf_op_2"), 
    		"SBDATO5":               (25, 30, "slf_op_3"), 
    		"SBDATO6":               (25, 30, "slf_op_4"), 
    		"SBDATO7":               (25, 30, "slf_op_5"), 
    		"SBRWI":                 (25, 29, "lutff_4/in_0"), 
    		"SBSTBI":                (25, 29, "lutff_3/in_0"), 
    		"SCLI":                  (25, 29, "lutff_2/in_1"), 
    		"SCLO":                  (25, 29, "slf_op_3"), 
    		"SCLOE":                 (25, 29, "slf_op_4"), 
    		"SDAI":                  (25, 29, "lutff_1/in_1"), 
    		"SDAO":                  (25, 29, "slf_op_1"), 
    		"SDAOE":                 (25, 29, "slf_op_2"), 
    		"SDA_INPUT_DELAYED":     (19, 31, "SDA_input_delay"), 
    		"SDA_OUTPUT_DELAYED":    (19, 31, "SDA_output_delay"), 
    	},
    	("SPI", (0, 0, 0)): {
    		"MCSNO0":                (0, 21, "slf_op_2"), 
    		"MCSNO1":                (0, 21, "slf_op_4"), 
    		"MCSNO2":                (0, 21, "slf_op_7"), 
    		"MCSNO3":                (0, 22, "slf_op_1"), 
    		"MCSNOE0":               (0, 21, "slf_op_3"), 
    		"MCSNOE1":               (0, 21, "slf_op_5"), 
    		"MCSNOE2":               (0, 22, "slf_op_0"), 
    		"MCSNOE3":               (0, 22, "slf_op_2"), 
    		"MI":                    (0, 22, "lutff_0/in_1"), 
    		"MO":                    (0, 20, "slf_op_6"), 
    		"MOE":                   (0, 20, "slf_op_7"), 
    		"SBACKO":                (0, 20, "slf_op_1"), 
    		"SBADRI0":               (0, 19, "lutff_1/in_1"), 
    		"SBADRI1":               (0, 19, "lutff_2/in_1"), 
    		"SBADRI2":               (0, 20, "lutff_0/in_3"), 
    		"SBADRI3":               (0, 20, "lutff_1/in_3"), 
    		"SBADRI4":               (0, 20, "lutff_2/in_3"), 
    		"SBADRI5":               (0, 20, "lutff_3/in_3"), 
    		"SBADRI6":               (0, 20, "lutff_4/in_3"), 
    		"SBADRI7":               (0, 20, "lutff_5/in_3"), 
    		"SBCLKI":                (0, 20, "clk"), 
    		"SBDATI0":               (0, 19, "lutff_1/in_3"), 
    		"SBDATI1":               (0, 19, "lutff_2/in_3"), 
    		"SBDATI2":               (0, 19, "lutff_3/in_3"), 
    		"SBDATI3":               (0, 19, "lutff_4/in_3"), 
    		"SBDATI4":               (0, 19, "lutff_5/in_3"), 
    		"SBDATI5":               (0, 19, "lutff_6/in_3"), 
    		"SBDATI6":               (0, 19, "lutff_7/in_3"), 
    		"SBDATI7":               (0, 19, "lutff_0/in_1"), 
    		"SBDATO0":               (0, 19, "slf_op_1"), 
    		"SBDATO1":               (0, 19, "slf_op_2"), 
    		"SBDATO2":               (0, 19, "slf_op_3"), 
    		"SBDATO3":               (0, 19, "slf_op_4"), 
    		"SBDATO4":               (0, 19, "slf_op_5"), 
    		"SBDATO5":               (0, 19, "slf_op_6"), 
    		"SBDATO6":               (0, 19, "slf_op_7"), 
    		"SBDATO7":               (0, 20, "slf_op_0"), 
    		"SBRWI":                 (0, 19, "lutff_0/in_3"), 
    		"SBSTBI":                (0, 20, "lutff_6/in_3"), 
    		"SCKI":                  (0, 22, "lutff_1/in_1"), 
    		"SCKO":                  (0, 21, "slf_op_0"), 
    		"SCKOE":                 (0, 21, "slf_op_1"), 
    		"SCSNI":                 (0, 22, "lutff_2/in_1"), 
    		"SI":                    (0, 22, "lutff_7/in_3"), 
    		"SO":                    (0, 20, "slf_op_4"), 
    		"SOE":                   (0, 20, "slf_op_5"), 
    		"SPIIRQ":                (0, 20, "slf_op_2"), 
    		"SPIWKUP":               (0, 20, "slf_op_3"), 
    		"SPI_ENABLE_0":          (7, 0, "cbit2usealt_in_0"), 
    		"SPI_ENABLE_1":          (7, 0, "cbit2usealt_in_1"), 
    		"SPI_ENABLE_2":          (6, 0, "cbit2usealt_in_0"), 
    		"SPI_ENABLE_3":          (6, 0, "cbit2usealt_in_1"), 
    	},
    	("SPI", (25, 0, 1)): {
    		"MCSNO0":                (25, 21, "slf_op_2"), 
    		"MCSNO1":                (25, 21, "slf_op_4"), 
    		"MCSNO2":                (25, 21, "slf_op_7"), 
    		"MCSNO3":                (25, 22, "slf_op_1"), 
    		"MCSNOE0":               (25, 21, "slf_op_3"), 
    		"MCSNOE1":               (25, 21, "slf_op_5"), 
    		"MCSNOE2":               (25, 22, "slf_op_0"), 
    		"MCSNOE3":               (25, 22, "slf_op_2"), 
    		"MI":                    (25, 22, "lutff_0/in_1"), 
    		"MO":                    (25, 20, "slf_op_6"), 
    		"MOE":                   (25, 20, "slf_op_7"), 
    		"SBACKO":                (25, 20, "slf_op_1"), 
    		"SBADRI0":               (25, 19, "lutff_1/in_1"), 
    		"SBADRI1":               (25, 19, "lutff_2/in_1"), 
    		"SBADRI2":               (25, 20, "lutff_0/in_3"), 
    		"SBADRI3":               (25, 20, "lutff_1/in_3"), 
    		"SBADRI4":               (25, 20, "lutff_2/in_3"), 
    		"SBADRI5":               (25, 20, "lutff_3/in_3"), 
    		"SBADRI6":               (25, 20, "lutff_4/in_3"), 
    		"SBADRI7":               (25, 20, "lutff_5/in_3"), 
    		"SBCLKI":                (25, 20, "clk"), 
    		"SBDATI0":               (25, 19, "lutff_1/in_3"), 
    		"SBDATI1":               (25, 19, "lutff_2/in_3"), 
    		"SBDATI2":               (25, 19, "lutff_3/in_3"), 
    		"SBDATI3":               (25, 19, "lutff_4/in_3"), 
    		"SBDATI4":               (25, 19, "lutff_5/in_3"), 
    		"SBDATI5":               (25, 19, "lutff_6/in_3"), 
    		"SBDATI6":               (25, 19, "lutff_7/in_3"), 
    		"SBDATI7":               (25, 19, "lutff_0/in_1"), 
    		"SBDATO0":               (25, 19, "slf_op_1"), 
    		"SBDATO1":               (25, 19, "slf_op_2"), 
    		"SBDATO2":               (25, 19, "slf_op_3"), 
    		"SBDATO3":               (25, 19, "slf_op_4"), 
    		"SBDATO4":               (25, 19, "slf_op_5"), 
    		"SBDATO5":               (25, 19, "slf_op_6"), 
    		"SBDATO6":               (25, 19, "slf_op_7"), 
    		"SBDATO7":               (25, 20, "slf_op_0"), 
    		"SBRWI":                 (25, 19, "lutff_0/in_3"), 
    		"SBSTBI":                (25, 20, "lutff_6/in_3"), 
    		"SCKI":                  (25, 22, "lutff_1/in_1"), 
    		"SCKO":                  (25, 21, "slf_op_0"), 
    		"SCKOE":                 (25, 21, "slf_op_1"), 
    		"SCSNI":                 (25, 22, "lutff_2/in_1"), 
    		"SI":                    (25, 22, "lutff_7/in_3"), 
    		"SO":                    (25, 20, "slf_op_4"), 
    		"SOE":                   (25, 20, "slf_op_5"), 
    		"SPIIRQ":                (25, 20, "slf_op_2"), 
    		"SPIWKUP":               (25, 20, "slf_op_3"), 
    		"SPI_ENABLE_0":          (23, 0, "cbit2usealt_in_0"), 
    		"SPI_ENABLE_1":          (24, 0, "cbit2usealt_in_0"), 
    		"SPI_ENABLE_2":          (23, 0, "cbit2usealt_in_1"), 
    		"SPI_ENABLE_3":          (24, 0, "cbit2usealt_in_1"), 
    	},
    	("LEDDA_IP", (0, 31, 2)): {
    		"LEDDADDR0":             (0, 28, "lutff_4/in_0"), 
    		"LEDDADDR1":             (0, 28, "lutff_5/in_0"), 
    		"LEDDADDR2":             (0, 28, "lutff_6/in_0"), 
    		"LEDDADDR3":             (0, 28, "lutff_7/in_0"), 
    		"LEDDCLK":               (0, 29, "clk"), 
    		"LEDDCS":                (0, 28, "lutff_2/in_0"), 
    		"LEDDDAT0":              (0, 28, "lutff_2/in_1"), 
    		"LEDDDAT1":              (0, 28, "lutff_3/in_1"), 
    		"LEDDDAT2":              (0, 28, "lutff_4/in_1"), 
    		"LEDDDAT3":              (0, 28, "lutff_5/in_1"), 
    		"LEDDDAT4":              (0, 28, "lutff_6/in_1"), 
    		"LEDDDAT5":              (0, 28, "lutff_7/in_1"), 
    		"LEDDDAT6":              (0, 28, "lutff_0/in_0"), 
    		"LEDDDAT7":              (0, 28, "lutff_1/in_0"), 
    		"LEDDDEN":               (0, 28, "lutff_1/in_1"), 
    		"LEDDEXE":               (0, 28, "lutff_0/in_1"), 
    		"LEDDON":                (0, 29, "slf_op_0"), 
    		"PWMOUT0":               (0, 28, "slf_op_4"), 
    		"PWMOUT1":               (0, 28, "slf_op_5"), 
    		"PWMOUT2":               (0, 28, "slf_op_6"), 
    	},
        ("IO_I3C", (25, 27, 0)): {
            "PU_ENB":                (25, 27, "lutff_6/in_0"),
            "WEAK_PU_ENB":           (25, 27, "lutff_4/in_0"),
            "PACKAGE_PIN":           (19, 31, 0)
        },
        ("IO_I3C", (25, 27, 1)): {
            "PU_ENB":                (25, 27, "lutff_7/in_0"),
            "WEAK_PU_ENB":           (25, 27, "lutff_5/in_0"),
            "PACKAGE_PIN":           (19, 31, 1)
        }
    },

    "u4k" : {
        ("HFOSC", (0, 21, 1)) : {
            "CLKHFPU":                      (0, 19, "lutff_0/in_1"),
            "CLKHFEN":                      (0, 19, "lutff_7/in_3"),
            "CLKHF":                        (0, 19, "glb_netwk_4"),
            "CLKLF_FABRIC":                 (0, 18, "slf_op_7"),
            "CLKHF_DIV_1":                  (0, 16, "CBIT_4"),
            "CLKHF_DIV_0":                  (0, 16, "CBIT_3")
        },
        ("LFOSC", (25, 21, 1)) : {
            "CLKLFPU":                      (25, 19, "lutff_0/in_1"),
            "CLKLFEN":                      (25, 19, "lutff_7/in_3"),
            "CLKLF":                        (25, 19, "glb_netwk_5"),
            "CLKLF_FABRIC":                 (25, 19, "slf_op_0")
        },
        ("SMCCLK", (25, 3, 0)) : {
            "CLK":                          (25, 3, "slf_op_5")
        },
    }
}

iotile_full_db = parse_db(iceboxdb.database_io_txt)
logictile_db = parse_db(iceboxdb.database_logic_txt, "1k")
logictile_5k_db = parse_db(iceboxdb.database_logic_txt, "5k")
logictile_8k_db = parse_db(iceboxdb.database_logic_txt, "8k")
logictile_384_db = parse_db(iceboxdb.database_logic_txt, "384")
rambtile_db = parse_db(iceboxdb.database_ramb_txt, "1k")
ramttile_db = parse_db(iceboxdb.database_ramt_txt, "1k")
rambtile_8k_db = parse_db(iceboxdb.database_ramb_8k_txt, "8k")
ramttile_8k_db = parse_db(iceboxdb.database_ramt_8k_txt, "8k")

ipcon_5k_db = parse_db(iceboxdb.database_ipcon_5k_txt, "5k")
dsp0_5k_db = parse_db(iceboxdb.database_dsp0_5k_txt, "5k")
dsp1_5k_db = parse_db(iceboxdb.database_dsp1_5k_txt, "5k")

#This bit doesn't exist in DB because icecube won't ever set it,
#but it exists
dsp1_5k_db.append([["B4[7]"], "IpConfig", "CBIT_5"])


dsp2_5k_db = parse_db(iceboxdb.database_dsp2_5k_txt, "5k")
dsp3_5k_db = parse_db(iceboxdb.database_dsp3_5k_txt, "5k")

dsp3_5k_db.append([["B2[7]"], "IpConfig", "CBIT_3"])   # for u4k HFOSC.CLKHF_DIV
dsp3_5k_db.append([["B5[7]"], "IpConfig", "CBIT_4"])


#Add missing LC_ bits to DSP and IPCon databases
for db_to_fix in [ipcon_5k_db, dsp0_5k_db, dsp1_5k_db, dsp2_5k_db, dsp3_5k_db]:
    for entry in db_to_fix:
        if len(entry) >= 2 and entry[1].startswith("LC_"):
            for lentry in logictile_5k_db:
                if len(lentry) >= 2 and lentry[1] == entry[1]:
                    entry[0] = lentry[0]

iotile_l_db = list()
iotile_r_db = list()
iotile_t_db = list()
iotile_b_db = list()

for entry in iotile_full_db:
    if entry[1] == "buffer" and entry[2].startswith("IO_L."):
        new_entry = entry[:]
        new_entry[2] = new_entry[2][5:]
        iotile_l_db.append(new_entry)
    elif entry[1] == "buffer" and entry[2].startswith("IO_R."):
        new_entry = entry[:]
        new_entry[2] = new_entry[2][5:]
        iotile_r_db.append(new_entry)
    elif entry[1] == "buffer" and entry[2].startswith("IO_T."):
        new_entry = entry[:]
        new_entry[2] = new_entry[2][5:]
        iotile_t_db.append(new_entry)
    elif entry[1] == "buffer" and entry[2].startswith("IO_B."):
        new_entry = entry[:]
        new_entry[2] = new_entry[2][5:]
        iotile_b_db.append(new_entry)
    else:
        iotile_l_db.append(entry)
        iotile_r_db.append(entry)
        iotile_t_db.append(entry)
        iotile_b_db.append(entry)

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"])

# 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([["B7[10]"], "IoCtrl", "cf_bit_32"])
iotile_t_5k_db.append([["B6[10]"], "IoCtrl", "cf_bit_33"])
iotile_t_5k_db.append([["B7[15]"], "IoCtrl", "cf_bit_34"])
iotile_t_5k_db.append([["B6[15]"], "IoCtrl", "cf_bit_35"])
iotile_t_5k_db.append([["B13[10]"], "IoCtrl", "cf_bit_36"])
iotile_t_5k_db.append([["B12[10]"], "IoCtrl", "cf_bit_37"])
iotile_t_5k_db.append([["B13[15]"], "IoCtrl", "cf_bit_38"])
iotile_t_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
iotile_t_5k_db.append([["B10[3]"], "IpConfig", "cbit2usealt_in_0"])
iotile_t_5k_db.append([["B12[2]"], "IpConfig", "cbit2usealt_in_1"])
iotile_t_5k_db.append([["B12[3]"], "IpConfig", "SDA_input_delay"])
iotile_t_5k_db.append([["B15[3]"], "IpConfig", "SDA_output_delay"])

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([["B7[10]"], "IoCtrl", "cf_bit_32"])
iotile_b_5k_db.append([["B6[10]"], "IoCtrl", "cf_bit_33"])
iotile_b_5k_db.append([["B7[15]"], "IoCtrl", "cf_bit_34"])
iotile_b_5k_db.append([["B6[15]"], "IoCtrl", "cf_bit_35"])
iotile_b_5k_db.append([["B13[10]"], "IoCtrl", "cf_bit_36"])
iotile_b_5k_db.append([["B12[10]"], "IoCtrl", "cf_bit_37"])
iotile_b_5k_db.append([["B13[15]"], "IoCtrl", "cf_bit_38"])
iotile_b_5k_db.append([["B12[15]"], "IoCtrl", "cf_bit_39"])
iotile_b_5k_db.append([["B10[3]"], "IpConfig", "cbit2usealt_in_0"])
iotile_b_5k_db.append([["B12[2]"], "IpConfig", "cbit2usealt_in_1"])
iotile_b_5k_db.append([["B12[3]"], "IpConfig", "SDA_input_delay"])
iotile_b_5k_db.append([["B15[3]"], "IpConfig", "SDA_output_delay"])

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_8k_db, ramttile_8k_db, dsp0_5k_db, dsp1_5k_db, dsp2_5k_db, dsp3_5k_db, ipcon_5k_db]:
    for entry in db:
        if entry[1] in ("buffer", "routing"):
            entry[2] = netname_normalize(entry[2],
                                         ramb=(db == rambtile_db),
                                         ramt=(db == ramttile_db),
                                         ramb_8k=(db == rambtile_8k_db),
                                         ramt_8k=(db == ramttile_8k_db))
            entry[3] = netname_normalize(entry[3],
                                         ramb=(db == rambtile_db),
                                         ramt=(db == ramttile_db),
                                         ramb_8k=(db == rambtile_8k_db),
                                         ramt_8k=(db == ramttile_8k_db))
    unique_entries = dict()
    while db:
        entry = db.pop()
        key = " ".join(entry[1:]) + str(entry)
        unique_entries[key] = entry
    for key in sorted(unique_entries):
        db.append(unique_entries[key])

if __name__ == "__main__":
    run_checks()
