diff --git a/fuzzers/064-gtx-channel-conf/Makefile b/fuzzers/064-gtx-channel-conf/Makefile
new file mode 100644
index 0000000..032e32e
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/Makefile
@@ -0,0 +1,65 @@
+# Copyright (C) 2017-2020  The Project X-Ray Authors.
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+
+SHELL = bash
+
+N ?= 20
+
+BUILD_DIR = build_${XRAY_PART}
+
+SPECIMENS := $(addprefix ${BUILD_DIR}/specimen_,$(shell seq -f '%03.0f' $(N)))
+SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
+FUZDIR ?= ${PWD}
+
+CELLS_DATA_DIR = ${XRAY_FAMILY_DIR}/cells_data
+
+all: database
+
+$(SPECIMENS_OK): $(SPECIMENS_DEPS)
+	mkdir -p ${BUILD_DIR}
+	bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@)
+
+run:
+	$(MAKE) clean
+	$(MAKE) database
+	$(MAKE) pushdb
+	touch run.${XRAY_PART}.ok
+
+clean:
+	rm -rf ${BUILD_DIR} run.${XRAY_PART}.ok
+
+.PHONY: all run clean
+
+# These are pins that are hard to parse as a regexp given that the port name ends with a number, which is misinterpreted
+# as the index in the port bus
+SPECIAL_PINS = CLKRSVD0,CLKRSVD1,GTREFCLK0,GTREFCLK1,GTNORTHREFCLK0,GTNORTHREFCLK1,GTSOUTHREFCLK0,GTSOUTHREFCLK1,RXUSRCLK,RXUSRCLK2,TXUSRCLK,TXUSRCLK2,RXOSINTID0,PMARSVDIN0,PMARSVDIN1,PMARSVDIN2,PMARSVDIN3,PMARSVDIN4,PMARSVDOUT0,PMARSVDOUT1
+
+$(BUILD_DIR)/gtxe2_channel_ports.csv:
+	env FILE_NAME=$(BUILD_DIR)/gtxe2_channel_pins.csv ${XRAY_VIVADO} -mode batch -source generate_ports.tcl
+
+$(BUILD_DIR)/gtxe2_channel_ports.json: $(BUILD_DIR)/gtxe2_channel_ports.csv
+	python3 ${XRAY_UTILS_DIR}/make_ports.py $(BUILD_DIR)/gtxe2_channel_pins.csv $(BUILD_DIR)/gtxe2_channel_ports.json --special-pins $(SPECIAL_PINS)
+
+database: ${BUILD_DIR}/segbits_gtx_channelx.db $(BUILD_DIR)/gtxe2_channel_ports.json
+
+${BUILD_DIR}/segbits_gtx_channelx.rdb: $(SPECIMENS_OK)
+	${XRAY_SEGMATCH} -c 9 -o ${BUILD_DIR}/segbits_gtx_channelx.rdb $$(find $(SPECIMENS) -name "segdata_gtx_channel_[0123]*")
+
+${BUILD_DIR}/segbits_gtx_channelx.db: ${BUILD_DIR}/segbits_gtx_channelx.rdb
+	${XRAY_DBFIXUP} --db-root ${BUILD_DIR} --zero-db bits.dbf \
+		--seg-fn-in ${BUILD_DIR}/segbits_gtx_channelx.rdb \
+		--seg-fn-out ${BUILD_DIR}/segbits_gtx_channelx.db
+	${XRAY_MASKMERGE} ${BUILD_DIR}/mask_gtx_channelx.db $$(find $(SPECIMENS) -name "segdata_gtx_channel_[0123]*")
+
+pushdb:
+	mkdir -p $(CELLS_DATA_DIR)
+	cp attrs.json $(CELLS_DATA_DIR)/gtxe2_channel_attrs.json
+	cp $(BUILD_DIR)/gtxe2_channel_ports.json $(CELLS_DATA_DIR)/gtxe2_channel_ports.json
+	BUILD_DIR=$(BUILD_DIR) source pushdb.sh
+
+.PHONY: database pushdb
diff --git a/fuzzers/064-gtx-channel-conf/attrs.json b/fuzzers/064-gtx-channel-conf/attrs.json
new file mode 100644
index 0000000..415f4c3
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/attrs.json
@@ -0,0 +1,1000 @@
+{
+    "UCODEER_CLR": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RXBUFRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RXCDRPHRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RXCDRFREQRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RXDFELPMRESET_TIME": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RXPMARESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RXPCSRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RXISCANRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "TXPCSRESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "TXPMARESET_TIME": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RX_XCLK_SEL": {
+        "type": "STR",
+        "values": ["RXREC", "RXUSR"],
+        "digits": 1
+    },
+    "CPLL_INIT_CFG": {
+        "type": "BIN",
+        "values": [16777215],
+        "digits": 24
+    },
+    "CPLL_CFG": {
+        "type": "BIN",
+        "values": [16777215],
+        "digits": 24
+    },
+    "SATA_CPLL_CFG": {
+        "type": "STR",
+        "values": ["VCO_3000MHZ", "VCO_1500MHZ", "VCO_750MHZ"],
+        "digits": 2
+    },
+    "CPLL_REFCLK_DIV": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20],
+        "encoding": [16, 0, 1, 2, 3, 5, 6, 7, 13, 14, 15],
+        "digits": 5
+    },
+    "CPLL_FBDIV_45": {
+        "type": "INT",
+        "values": [4, 5],
+        "encoding": [0, 1],
+        "digits": 1
+    },
+    "CPLL_FBDIV": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20],
+        "encoding": [16, 0, 1, 2, 3, 5, 6, 7, 13, 14, 15],
+        "digits": 5
+    },
+    "CPLL_LOCK_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "RX_DATA_WIDTH": {
+        "type": "INT",
+        "values": [16, 20, 32, 40, 64, 80],
+        "encoding": [2, 3, 4, 5, 6, 7],
+        "digits": 3
+    },
+    "RX_INT_DATAWIDTH": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RX_CLK25_DIV": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
+        "digits": 5
+    },
+    "RX_CM_SEL": {
+        "type": "BIN",
+        "values": [3],
+        "digits": 2
+    },
+    "RXPRBS_ERR_LOOPBACK": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "SATA_BURST_SEQ_LEN": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "OUTREFCLK_SEL_INV": {
+        "type": "BIN",
+        "values": [3],
+        "digits": 2
+    },
+    "SATA_BURST_VAL": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "RXOOB_CFG": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "SAS_MIN_COM": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "SATA_MIN_BURST": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61],
+        "digits": 6
+    },
+    "SATA_EIDLE_VAL": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "SATA_MIN_WAKE": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "SATA_MIN_INIT": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "SAS_MAX_COM": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127],
+        "digits": 7
+    },
+    "SATA_MAX_BURST": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "SATA_MAX_WAKE": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "SATA_MAX_INIT": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "TRANS_TIME_RATE": {
+        "type": "BIN",
+        "values": [255],
+        "digits": 8
+    },
+    "TX_PREDRIVER_MODE": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "TX_LOOPBACK_DRIVE_HIZ": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TX_DRIVE_MODE": {
+        "type": "STR",
+        "values": ["DIRECT", "PIPE", "PIPEGEN3"],
+        "digits": 5
+    },
+    "PD_TRANS_TIME_TO_P2": {
+        "type": "BIN",
+        "values": [255],
+        "digits": 8
+    },
+    "PD_TRANS_TIME_NONE_P2": {
+        "type": "BIN",
+        "values": [255],
+        "digits": 8
+    },
+    "PD_TRANS_TIME_FROM_P2": {
+        "type": "BIN",
+        "values": [4095],
+        "digits": 12
+    },
+    "PCS_PCIE_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TXBUF_RESET_ON_RATE_CHANGE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TXBUF_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TXGEARBOX_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "GEARBOX_MODE": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "RX_DFE_GAIN_CFG": {
+        "type": "BIN",
+        "values": [8388607],
+        "digits": 23
+    },
+    "RX_DFE_LPM_HOLD_DURING_EIDLE": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RX_DFE_H2_CFG": {
+        "type": "BIN",
+        "values": [4095],
+        "digits": 12
+    },
+    "RX_DFE_H3_CFG": {
+        "type": "BIN",
+        "values": [4095],
+        "digits": 12
+    },
+    "RX_DFE_H4_CFG": {
+        "type": "BIN",
+        "values": [2047],
+        "digits": 11
+    },
+    "RX_DFE_H5_CFG": {
+        "type": "BIN",
+        "values": [2047],
+        "digits": 11
+    },
+    "RX_DFE_KL_CFG": {
+        "type": "BIN",
+        "values": [8191],
+        "digits": 13
+    },
+    "RX_DFE_UT_CFG": {
+        "type": "BIN",
+        "values": [131071],
+        "digits": 17
+    },
+    "RX_OS_CFG": {
+        "type": "BIN",
+        "values": [8191],
+        "digits": 13
+    },
+    "RX_DFE_VP_CFG": {
+        "type": "BIN",
+        "values": [131071],
+        "digits": 17
+    },
+    "RX_DFE_XYD_CFG": {
+        "type": "BIN",
+        "values": [8191],
+        "digits": 13
+    },
+    "RX_DFE_LPM_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "RXLPM_LF_CFG": {
+        "type": "BIN",
+        "values": [262144],
+        "digits": 18
+    },
+    "RXLPM_HF_CFG": {
+        "type": "BIN",
+        "values": [16383],
+        "digits": 14
+    },
+    "ES_QUALIFIER": {
+        "type": "BIN",
+        "values": [1208833588708967444709375],
+        "digits": 80
+    },
+    "ES_QUAL_MASK": {
+        "type": "BIN",
+        "values": [1208833588708967444709375],
+        "digits": 80
+    },
+    "ES_SDATA_MASK": {
+        "type": "BIN",
+        "values": [1208833588708967444709375],
+        "digits": 80
+    },
+    "ES_PRESCALE": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "ES_VERT_OFFSET": {
+        "type": "BIN",
+        "values": [511],
+        "digits": 9
+    },
+    "ES_HORZ_OFFSET": {
+        "type": "BIN",
+        "values": [4095],
+        "digits": 12
+    },
+    "RX_DISPERR_SEQ_MATCH": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "DEC_PCOMMA_DETECT": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "DEC_MCOMMA_DETECT": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "DEC_VALID_COMMA_ONLY": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "ES_ERRDET_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "ES_EYE_SCAN_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "ES_CONTROL": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "ALIGN_COMMA_ENABLE": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "ALIGN_MCOMMA_VALUE": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "RXSLIDE_MODE": {
+        "type": "STR",
+        "values": ["OFF", "AUTO", "PCS", "PMA"],
+        "digits": 2
+    },
+    "ALIGN_PCOMMA_VALUE": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "ALIGN_COMMA_WORD": {
+        "type": "INT",
+        "values": [1, 2, 4],
+        "encoding": [1, 2, 4],
+        "digits": 3
+    },
+    "RX_SIG_VALID_DLY": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
+        "digits": 5
+    },
+    "ALIGN_PCOMMA_DET": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "ALIGN_MCOMMA_DET": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "SHOW_REALIGN_COMMA": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "ALIGN_COMMA_DOUBLE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXSLIDE_AUTO_WAIT": {
+        "type": "INT",
+        "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
+        "digits": 4
+    },
+    "CLK_CORRECT_USE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CLK_COR_SEQ_1_ENABLE": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "CLK_COR_SEQ_1_1": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_MAX_LAT": {
+        "type": "INT",
+        "values": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
+        "encoding": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
+        "digits": 6
+    },
+    "CLK_COR_SEQ_1_2": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_MIN_LAT": {
+        "type": "INT",
+        "values": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
+        "encoding": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
+        "digits": 6
+    },
+    "CLK_COR_SEQ_1_3": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_REPEAT_WAIT": {
+        "type": "INT",
+        "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
+        "digits": 5
+    },
+    "CLK_COR_SEQ_1_4": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_SEQ_2_USE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CLK_COR_SEQ_2_ENABLE": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "CLK_COR_SEQ_2_1": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_KEEP_IDLE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CLK_COR_PRECEDENCE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CLK_COR_SEQ_LEN": {
+        "type": "INT",
+        "values": [1, 2, 3, 4],
+        "encoding": [0, 1, 2, 3],
+        "digits": 2
+    },
+    "CLK_COR_SEQ_2_2": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CLK_COR_SEQ_2_3": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "RXGEARBOX_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CLK_COR_SEQ_2_4": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_SEQ_1_ENABLE": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "CHAN_BOND_SEQ_1_1": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_SEQ_LEN": {
+        "type": "INT",
+        "values": [1, 2, 3, 4],
+        "encoding": [0, 1, 2, 3],
+        "digits": 2
+    },
+    "CHAN_BOND_SEQ_1_2": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_KEEP_ALIGN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CHAN_BOND_SEQ_1_3": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_SEQ_1_4": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_SEQ_2_ENABLE": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "CHAN_BOND_SEQ_2_USE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CHAN_BOND_SEQ_2_1": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "FTS_LANE_DESKEW_CFG": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "FTS_LANE_DESKEW_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "CHAN_BOND_SEQ_2_2": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "FTS_DESKEW_SEQ_ENABLE": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "CBCC_DATA_SOURCE_SEL": {
+        "type": "STR",
+        "values": ["ENCODED", "DECODED"],
+        "digits": 1
+    },
+    "CHAN_BOND_SEQ_2_3": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "CHAN_BOND_MAX_SKEW": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
+        "encoding": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
+        "digits": 4
+    },
+    "CHAN_BOND_SEQ_2_4": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "RXDLY_TAP_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "RXDLY_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "RXPH_MONITOR_SEL": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RX_DDI_SEL": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "TX_XCLK_SEL": {
+        "type": "STR",
+        "values": ["TXOUT", "TXUSR"],
+        "digits": 1
+    },
+    "RXBUF_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TXPHDLY_CFG": {
+        "type": "BIN",
+        "values": [16711425],
+        "digits": 24
+    },
+    "TXDLY_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "TXDLY_TAP_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "TXPH_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "TXPH_MONITOR_SEL": {
+        "type": "BIN",
+        "values": [31],
+        "digits": 5
+    },
+    "RX_BIAS_CFG": {
+        "type": "BIN",
+        "values": [65535],
+        "digits": 16
+    },
+    "TX_CLKMUX_PD": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RX_CLKMUX_PD": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "TERM_RCAL_CFG": {
+        "type": "BIN",
+        "values": [32767],
+        "digits": 15
+    },
+    "TERM_RCAL_OVRD": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "TX_CLK25_DIV": {
+        "type": "INT",
+        "values": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
+        "digits": 5
+    },
+    "TX_QPI_STATUS_EN": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "TX_INT_DATAWIDTH": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "PMA_RSV4": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "TX_DATA_WIDTH": {
+        "type": "INT",
+        "values": [16, 20, 32, 40, 64, 80],
+        "encoding": [2, 3, 4, 5, 6, 7],
+        "digits": 3
+    },
+    "TX_EIDLE_ASSERT_DELAY": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "TX_EIDLE_DEASSERT_DELAY": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "PCS_RSVD_ATTR": {
+        "type": "BIN",
+        "values": [281462092005375],
+        "digits": 48
+    },
+    "RX_DFE_KL_CFG2": {
+        "type": "BIN",
+        "values": [511],
+        "digits": 9
+    },
+    "TX_MARGIN_FULL_1": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_FULL_0": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_FULL_3": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_FULL_2": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_LOW_0": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_FULL_4": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_LOW_2": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_LOW_1": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_LOW_4": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_MARGIN_LOW_3": {
+        "type": "BIN",
+        "values": [127],
+        "digits": 7
+    },
+    "TX_DEEMPH1": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "TX_DEEMPH0": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "TX_RXDETECT_REF": {
+        "type": "BIN",
+        "values": [7],
+        "digits": 3
+    },
+    "TX_MAINCURSOR_SEL": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "PMA_RSV3": {
+        "type": "BIN",
+        "values": [3],
+        "digits": 2
+    },
+    "TX_RXDETECT_CFG": {
+        "type": "BIN",
+        "values": [16383],
+        "digits": 14
+    },
+    "RX_CM_TRIM": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "PMA_RSV2": {
+        "type": "BIN",
+        "values": [4294836225],
+        "digits": 32
+    },
+    "DMONITOR_CFG": {
+        "type": "BIN",
+        "values": [16711425],
+        "digits": 24
+    },
+    "TXOUT_DIV": {
+        "type": "INT",
+        "values": [1, 2, 4, 8, 16],
+        "encoding": [0, 1, 2, 3, 4],
+        "digits": 2
+    },
+    "RXOUT_DIV": {
+        "type": "INT",
+        "values": [1, 2, 4, 8, 16],
+        "encoding": [0, 1, 2, 3, 4],
+        "digits": 2
+    },
+    "TST_RSV": {
+        "type": "BIN",
+        "values": [4294836225],
+        "digits": 32
+    },
+    "PMA_RSV": {
+        "type": "BIN",
+        "values": [4294836225],
+        "digits": 32
+    },
+    "RX_BUFFER_CFG": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "RXBUF_THRESH_OVRD": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXBUF_RESET_ON_EIDLE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXBUF_RESET_ON_CB_CHANGE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXBUF_RESET_ON_RATE_CHANGE": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXBUF_RESET_ON_COMMAALIGN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "RXBUF_THRESH_UNDFLW": {
+        "type": "INT",
+        "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "RXBUF_EIDLE_HI_CNT": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "RXBUF_EIDLE_LO_CNT": {
+        "type": "BIN",
+        "values": [15],
+        "digits": 4
+    },
+    "RXBUF_ADDR_MODE": {
+        "type": "STR",
+        "values": ["FULL", "FAST"],
+        "digits": 1
+    },
+    "RXBUF_THRESH_OVFLW": {
+        "type": "INT",
+        "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "encoding": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
+        "digits": 6
+    },
+    "RX_DEFER_RESET_BUF_EN": {
+        "type": "BOOL",
+        "values": ["FALSE", "TRUE"],
+        "digits": 1
+    },
+    "TXDLY_LCFG": {
+        "type": "BIN",
+        "values": [511],
+        "digits": 9
+    },
+    "RXDLY_LCFG": {
+        "type": "BIN",
+        "values": [511],
+        "digits": 9
+    },
+    "RXPH_CFG": {
+        "type": "BIN",
+        "values": [16711425],
+        "digits": 24
+    },
+    "RXPHDLY_CFG": {
+        "type": "BIN",
+        "values": [16711425],
+        "digits": 24
+    },
+    "RX_DEBUG_CFG": {
+        "type": "BIN",
+        "values": [16383],
+        "digits": 14
+    },
+    "ES_PMA_CFG": {
+        "type": "BIN",
+        "values": [1023],
+        "digits": 10
+    },
+    "RXCDR_PH_RESET_ON_EIDLE": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RXCDR_FR_RESET_ON_EIDLE": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RXCDR_HOLD_DURING_EIDLE": {
+        "type": "BIN",
+        "values": [1],
+        "digits": 1
+    },
+    "RXCDR_LOCK_CFG": {
+        "type": "BIN",
+        "values": [63],
+        "digits": 6
+    },
+    "RXCDR_CFG": {
+        "type": "BIN",
+        "values": [8461835120962772112965625],
+        "digits": 83
+    }
+}
diff --git a/fuzzers/064-gtx-channel-conf/bits.dbf b/fuzzers/064-gtx-channel-conf/bits.dbf
new file mode 100644
index 0000000..0ec7559
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/bits.dbf
@@ -0,0 +1,2 @@
+00_519 01_519
+28_519 29_519
diff --git a/fuzzers/064-gtx-channel-conf/generate.py b/fuzzers/064-gtx-channel-conf/generate.py
new file mode 100644
index 0000000..ba6c58c
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/generate.py
@@ -0,0 +1,147 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2017-2020  The Project X-Ray Authors.
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+
+import json
+import os
+from enum import Enum
+
+from prjxray.segmaker import Segmaker, add_site_group_zero
+
+INT = "INT"
+BIN = "BIN"
+BOOL = "BOOL"
+STR = "STR"
+
+
+def bitfilter_gtx_channel_x(frame, bit):
+    # Filter out interconnect bits.
+    # if frame not in [28, 29, 30, 31]:
+    #    return False
+
+    return True
+
+
+def bitfilter_gtx_channel_x_mid(frame, bit):
+    # Filter out interconnect bits.
+    #if frame not in [0, 1, 2, 3]:
+    #    return False
+
+    return True
+
+
+def main():
+    segmk = Segmaker("design.bits")
+
+    fuz_dir = os.getenv("FUZDIR", None)
+    assert fuz_dir
+    with open(os.path.join(fuz_dir, "attrs.json"), "r") as attr_file:
+        attrs = json.load(attr_file)
+
+    print("Loading tags")
+    with open("params.json") as f:
+        primitives_list = json.load(f)
+
+    for primitive in primitives_list:
+        tile_type = primitive["tile_type"]
+        params_list = primitive["params"]
+
+        for params in params_list:
+            site = params["site"]
+
+            if "GTXE2_CHANNEL" not in site:
+                continue
+
+            in_use = params["IN_USE"]
+
+            segmk.add_site_tag(site, "IN_USE", in_use)
+
+            if in_use:
+                for param, param_info in attrs.items():
+                    value = params[param]
+                    param_type = param_info["type"]
+                    param_digits = param_info["digits"]
+                    param_values = param_info["values"]
+
+                    if param_type == INT:
+                        param_encodings = param_info["encoding"]
+                        param_encoding = param_encodings[param_values.index(
+                            value)]
+                        bitstr = [
+                            int(x) for x in "{value:0{digits}b}".format(
+                                value=param_encoding, digits=param_digits)
+                            [::-1]
+                        ]
+
+                        for i in range(param_digits):
+                            segmk.add_site_tag(
+                                site, '%s[%u]' % (param, i), bitstr[i])
+                    elif param_type == BIN:
+                        bitstr = [
+                            int(x) for x in "{value:0{digits}b}".format(
+                                value=value, digits=param_digits)[::-1]
+                        ]
+
+                        for i in range(param_digits):
+                            segmk.add_site_tag(
+                                site, "%s[%u]" % (param, i), bitstr[i])
+                    elif param_type == BOOL:
+                        segmk.add_site_tag(site, param, value == "TRUE")
+                    else:
+                        assert param_type == STR
+
+                        # The RXSLIDE_MODE parameter has overlapping bits
+                        # for its possible values. We need to treat it
+                        # differently
+                        if param == "RXSLIDE_MODE":
+                            add_site_group_zero(
+                                segmk, site, "{}.".format(param), param_values,
+                                "OFF", value)
+                        else:
+                            for param_value in param_values:
+                                segmk.add_site_tag(
+                                    site, "{}.{}".format(param, param_value),
+                                    value == param_value)
+
+                for param in ["TXUSRCLK", "TXUSRCLK2", "TXPHDLYTSTCLK",
+                              "RXUSRCLK", "RXUSRCLK2", "DRPCLK"]:
+                    segmk.add_site_tag(site, "INV_" + param, params[param])
+
+    gtx_channel_x = [
+        "GTX_CHANNEL_0",
+        "GTX_CHANNEL_1",
+        "GTX_CHANNEL_2",
+        "GTX_CHANNEL_3",
+    ]
+
+    gtx_channel_x_mid = [
+        "GTX_CHANNEL_0_MID_LEFT",
+        "GTX_CHANNEL_1_MID_LEFT",
+        "GTX_CHANNEL_2_MID_LEFT",
+        "GTX_CHANNEL_3_MID_LEFT",
+        "GTX_CHANNEL_0_MID_RIGHT",
+        "GTX_CHANNEL_1_MID_RIGHT",
+        "GTX_CHANNEL_2_MID_RIGHT",
+        "GTX_CHANNEL_3_MID_RIGHT",
+    ]
+
+    if tile_type in gtx_channel_x:
+        bitfilter = bitfilter_gtx_channel_x
+    elif tile_type in gtx_channel_x_mid:
+        bitfilter = bitfilter_gtx_channel_x_mid
+    else:
+        assert False, tile_type
+
+    segmk.compile(bitfilter=bitfilter)
+    segmk.write()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/fuzzers/064-gtx-channel-conf/generate.tcl b/fuzzers/064-gtx-channel-conf/generate.tcl
new file mode 100644
index 0000000..b050e95
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/generate.tcl
@@ -0,0 +1,43 @@
+# Copyright (C) 2017-2020  The Project X-Ray Authors
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+proc run {} {
+    create_project -force -part $::env(XRAY_PART) design design
+    read_verilog top.v
+    synth_design -top top
+
+    set_property CFGBVS VCCO [current_design]
+    set_property CONFIG_VOLTAGE 3.3 [current_design]
+    set_property BITSTREAM.GENERAL.PERFRAMECRC YES [current_design]
+
+    set_property IS_ENABLED 0 [get_drc_checks {NSTD-1}]
+    set_property IS_ENABLED 0 [get_drc_checks {UCIO-1}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-48}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-47}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-1619}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-17}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-18}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-19}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-19}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-20}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-20}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-21}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-22}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-51}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-51}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-51}]
+    set_property IS_ENABLED 0 [get_drc_checks {REQP-51}]
+    set_property IS_ENABLED 0 [get_drc_checks {AVAL-23}]
+
+    place_design
+    route_design
+
+    write_checkpoint -force design.dcp
+    write_bitstream -force design.bit
+}
+
+run
diff --git a/fuzzers/064-gtx-channel-conf/generate_ports.tcl b/fuzzers/064-gtx-channel-conf/generate_ports.tcl
new file mode 100644
index 0000000..352ea6f
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/generate_ports.tcl
@@ -0,0 +1,15 @@
+# Copyright (C) 2017-2020  The Project X-Ray Authors
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+
+source "$::env(XRAY_DIR)/utils/utils.tcl"
+
+create_project -force -name design -part $::env(XRAY_PART)
+set_property design_mode PinPlanning [current_fileset]
+open_io_design -name io_1
+
+dump_pins $::env(FILE_NAME) GTXE2_CHANNEL
diff --git a/fuzzers/064-gtx-channel-conf/pushdb.sh b/fuzzers/064-gtx-channel-conf/pushdb.sh
new file mode 100644
index 0000000..28f271f
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/pushdb.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Copyright (C) 2017-2020  The Project X-Ray Authors.
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+
+if ! test $(find ${BUILD_DIR} -name "segdata_gtx_channel_[0123]_mid_*.txt" | wc -c) -eq 0
+then
+    ${XRAY_MERGEDB} gtx_channel_0_mid_left ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_1_mid_left ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_2_mid_left ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_3_mid_left ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_0_mid_left ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_1_mid_left ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_2_mid_left ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_3_mid_left ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_0_mid_right ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_1_mid_right ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_2_mid_right ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_3_mid_right ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_0_mid_right ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_1_mid_right ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_2_mid_right ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_3_mid_right ${BUILD_DIR}/mask_gtx_channelx.db
+fi
+
+if ! test $(find ${BUILD_DIR} -name "segdata_gtx_channel_[0123].txt" | wc -c) -eq 0
+then
+    ${XRAY_MERGEDB} gtx_channel_0 ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_1 ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_2 ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} gtx_channel_3 ${BUILD_DIR}/segbits_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_0 ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_1 ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_2 ${BUILD_DIR}/mask_gtx_channelx.db
+    ${XRAY_MERGEDB} mask_gtx_channel_3 ${BUILD_DIR}/mask_gtx_channelx.db
+fi
diff --git a/fuzzers/064-gtx-channel-conf/top.py b/fuzzers/064-gtx-channel-conf/top.py
new file mode 100644
index 0000000..6a8d65c
--- /dev/null
+++ b/fuzzers/064-gtx-channel-conf/top.py
@@ -0,0 +1,167 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2017-2020  The Project X-Ray Authors.
+#
+# Use of this source code is governed by a ISC-style
+# license that can be found in the LICENSE file or at
+# https://opensource.org/licenses/ISC
+#
+# SPDX-License-Identifier: ISC
+
+import json
+import os
+import random
+from collections import namedtuple
+
+random.seed(int(os.getenv("SEED"), 16))
+from prjxray import util
+from prjxray import verilog
+from prjxray.lut_maker import LutMaker
+from prjxray.db import Database
+
+INT = "INT"
+BIN = "BIN"
+BOOL = "BOOL"
+STR = "STR"
+
+
+def gen_sites(site):
+    db = Database(util.get_db_root(), util.get_part())
+    grid = db.grid()
+    already_used = list()
+    for tile_name in sorted(grid.tiles()):
+        loc = grid.loc_of_tilename(tile_name)
+        gridinfo = grid.gridinfo_at_loc(loc)
+
+        if gridinfo.tile_type not in [
+                "GTX_CHANNEL_0",
+                "GTX_CHANNEL_1",
+                "GTX_CHANNEL_2",
+                "GTX_CHANNEL_3",
+                "GTX_CHANNEL_0_MID_LEFT",
+                "GTX_CHANNEL_1_MID_LEFT",
+                "GTX_CHANNEL_2_MID_LEFT",
+                "GTX_CHANNEL_3_MID_LEFT",
+                "GTX_CHANNEL_0_MID_RIGHT",
+                "GTX_CHANNEL_1_MID_RIGHT",
+                "GTX_CHANNEL_2_MID_RIGHT",
+                "GTX_CHANNEL_3_MID_RIGHT",
+        ] or gridinfo.tile_type in already_used:
+            continue
+        else:
+            tile_type = gridinfo.tile_type
+            already_used.append(tile_type)
+
+        for site_name, site_type in gridinfo.sites.items():
+            if site_type != site:
+                continue
+
+            if "RIGHT" in tile_type and "X0" in site_name:
+                continue
+
+            if "LEFT" in tile_type and "X1" in site_name:
+                continue
+
+            yield tile_name, tile_type, site_name, site_type
+
+
+def main():
+    print(
+        '''
+module top(
+    input wire in,
+    output wire out
+);
+
+assign out = in;
+''')
+
+    luts = LutMaker()
+
+    primitives_list = list()
+
+    for tile_name, tile_type, site_name, site_type in gen_sites(
+            "GTXE2_CHANNEL"):
+
+        params_list = list()
+        params_dict = dict()
+
+        params_dict["tile_type"] = tile_type
+        params = dict()
+        params['site'] = site_name
+
+        verilog_attr = ""
+
+        verilog_attr = "#("
+
+        fuz_dir = os.getenv("FUZDIR", None)
+        assert fuz_dir
+        with open(os.path.join(fuz_dir, "attrs.json"), "r") as attrs_file:
+            attrs = json.load(attrs_file)
+
+        in_use = bool(random.randint(0, 9))
+        params["IN_USE"] = in_use
+
+        if in_use:
+            for param, param_info in attrs.items():
+                param_type = param_info["type"]
+                param_values = param_info["values"]
+                param_digits = param_info["digits"]
+
+                if param_type == INT:
+                    value = random.choice(param_values)
+                    value_str = value
+                elif param_type == BIN:
+                    value = random.randint(0, param_values[0])
+                    value_str = "{digits}'b{value:0{digits}b}".format(
+                        value=value, digits=param_digits)
+                elif param_type in [BOOL, STR]:
+                    value = random.choice(param_values)
+                    value_str = verilog.quote(value)
+
+                params[param] = value
+
+                verilog_attr += """
+            .{}({}),""".format(param, value_str)
+
+            verilog_ports = ""
+            for param in ["TXUSRCLK", "TXUSRCLK2", "TXPHDLYTSTCLK",
+                          "RXUSRCLK", "RXUSRCLK2", "DRPCLK"]:
+                is_inverted = random.randint(0, 1)
+
+                params[param] = is_inverted
+
+                verilog_attr += """
+            .IS_{}_INVERTED({}),""".format(param, is_inverted)
+                verilog_ports += """
+            .{}({}),""".format(param, luts.get_next_output_net())
+
+            verilog_attr = verilog_attr.rstrip(",")
+            verilog_attr += "\n)"
+
+            print("(* KEEP, DONT_TOUCH, LOC=\"{}\" *)".format(site_name))
+            print(
+                """GTXE2_CHANNEL {attrs} {site} (
+    {ports}
+);
+            """.format(
+                    attrs=verilog_attr,
+                    site=tile_type.lower(),
+                    ports=verilog_ports.rstrip(",")))
+
+        params_list.append(params)
+        params_dict["params"] = params_list
+        primitives_list.append(params_dict)
+
+    for l in luts.create_wires_and_luts():
+        print(l)
+
+    print("endmodule")
+
+    with open('params.json', 'w') as f:
+        json.dump(primitives_list, f, indent=2)
+
+
+if __name__ == '__main__':
+    main()
