diff --git a/Makefile b/Makefile index acb7f426e..abcf7e187 100644 --- a/Makefile +++ b/Makefile @@ -189,7 +189,7 @@ $(foreach DB,$(DATABASES),$(eval $(call database,$(DB)))) ARTIX_PARTS=artix7_50t artix7_200t ZYNQ_PARTS=zynq7010 -KINTEX_PARTS= +KINTEX_PARTS=kintex7_160t SPARTAN_PARTS= XRAY_PARTS=${ARTIX_PARTS} ${ZYNQ_PARTS} ${KINTEX_PARTS} ${SPARTAN_PARTS} diff --git a/fuzzers/005-tilegrid/Makefile b/fuzzers/005-tilegrid/Makefile index a880d0713..f0ad42b5a 100644 --- a/fuzzers/005-tilegrid/Makefile +++ b/fuzzers/005-tilegrid/Makefile @@ -49,8 +49,11 @@ endif # Kintex7 only fuzzers ifeq (${XRAY_DATABASE}, kintex7) +# These kintex parts give an empty design +ifneq (${XRAY_FABRIC}, $(filter ${XRAY_FABRIC}, xc7k160t xc7k325t xc7k480t)) TILEGRID_TDB_DEPENDENCIES += orphan_int_column/$(BUILD_FOLDER)/segbits_tilegrid.tdb endif +endif BASICDB_TILEGRID=$(BUILD_FOLDER)/basicdb/${XRAY_FABRIC}/tilegrid.json diff --git a/fuzzers/074-dump_all/ignored_wires/kintex7/xc7k160tffg676-2_ignored_wires.txt b/fuzzers/074-dump_all/ignored_wires/kintex7/xc7k160tffg676-2_ignored_wires.txt new file mode 100644 index 000000000..3c8095be9 --- /dev/null +++ b/fuzzers/074-dump_all/ignored_wires/kintex7/xc7k160tffg676-2_ignored_wires.txt @@ -0,0 +1,176 @@ +CMT_TOP_L_LOWER_T_X181Y122/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_L_LOWER_T_X181Y18/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_L_LOWER_T_X181Y70/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_L_UPPER_B_X181Y135/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_L_UPPER_B_X181Y31/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_L_UPPER_B_X181Y83/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_R_LOWER_T_X8Y122/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_R_LOWER_T_X8Y174/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_R_LOWER_T_X8Y18/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_R_LOWER_T_X8Y226/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_R_LOWER_T_X8Y70/CMT_PHASER_DOWN_DQS_TO_PHASER_A +CMT_TOP_R_UPPER_B_X8Y135/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_R_UPPER_B_X8Y187/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_R_UPPER_B_X8Y239/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_R_UPPER_B_X8Y31/CMT_PHASER_UP_DQS_TO_PHASER_D +CMT_TOP_R_UPPER_B_X8Y83/CMT_PHASER_UP_DQS_TO_PHASER_D +LIOI3_TBYTESRC_X0Y107/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y107/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y119/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y119/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y131/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y131/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y143/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y143/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y157/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y157/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y169/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y169/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y181/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y181/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y19/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y19/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y193/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y193/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y207/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y207/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y219/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y219/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y231/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y231/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y243/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y243/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y31/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y31/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y43/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y43/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y57/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y57/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y69/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y69/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y7/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y7/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y81/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y81/LIOI_I2GCLK_TOP1 +LIOI3_TBYTESRC_X0Y93/LIOI_I2GCLK_BOT1 +LIOI3_TBYTESRC_X0Y93/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y113/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y113/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y13/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y13/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y137/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y137/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y163/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y163/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y187/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y187/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y213/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y213/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y237/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y237/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y37/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y37/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y63/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y63/LIOI_I2GCLK_TOP1 +LIOI3_TBYTETERM_X0Y87/LIOI_I2GCLK_BOT1 +LIOI3_TBYTETERM_X0Y87/LIOI_I2GCLK_TOP1 +LIOI3_X0Y105/LIOI_I2GCLK_TOP1 +LIOI3_X0Y109/LIOI_I2GCLK_BOT1 +LIOI3_X0Y117/LIOI_I2GCLK_TOP1 +LIOI3_X0Y121/LIOI_I2GCLK_BOT1 +LIOI3_X0Y129/LIOI_I2GCLK_TOP1 +LIOI3_X0Y133/LIOI_I2GCLK_BOT1 +LIOI3_X0Y141/LIOI_I2GCLK_TOP1 +LIOI3_X0Y145/LIOI_I2GCLK_BOT1 +LIOI3_X0Y155/LIOI_I2GCLK_TOP1 +LIOI3_X0Y159/LIOI_I2GCLK_BOT1 +LIOI3_X0Y167/LIOI_I2GCLK_TOP1 +LIOI3_X0Y17/LIOI_I2GCLK_TOP1 +LIOI3_X0Y171/LIOI_I2GCLK_BOT1 +LIOI3_X0Y179/LIOI_I2GCLK_TOP1 +LIOI3_X0Y183/LIOI_I2GCLK_BOT1 +LIOI3_X0Y191/LIOI_I2GCLK_TOP1 +LIOI3_X0Y195/LIOI_I2GCLK_BOT1 +LIOI3_X0Y205/LIOI_I2GCLK_TOP1 +LIOI3_X0Y209/LIOI_I2GCLK_BOT1 +LIOI3_X0Y21/LIOI_I2GCLK_BOT1 +LIOI3_X0Y217/LIOI_I2GCLK_TOP1 +LIOI3_X0Y221/LIOI_I2GCLK_BOT1 +LIOI3_X0Y229/LIOI_I2GCLK_TOP1 +LIOI3_X0Y233/LIOI_I2GCLK_BOT1 +LIOI3_X0Y241/LIOI_I2GCLK_TOP1 +LIOI3_X0Y245/LIOI_I2GCLK_BOT1 +LIOI3_X0Y29/LIOI_I2GCLK_TOP1 +LIOI3_X0Y33/LIOI_I2GCLK_BOT1 +LIOI3_X0Y41/LIOI_I2GCLK_TOP1 +LIOI3_X0Y45/LIOI_I2GCLK_BOT1 +LIOI3_X0Y5/LIOI_I2GCLK_TOP1 +LIOI3_X0Y55/LIOI_I2GCLK_TOP1 +LIOI3_X0Y59/LIOI_I2GCLK_BOT1 +LIOI3_X0Y67/LIOI_I2GCLK_TOP1 +LIOI3_X0Y71/LIOI_I2GCLK_BOT1 +LIOI3_X0Y79/LIOI_I2GCLK_TOP1 +LIOI3_X0Y83/LIOI_I2GCLK_BOT1 +LIOI3_X0Y9/LIOI_I2GCLK_BOT1 +LIOI3_X0Y91/LIOI_I2GCLK_TOP1 +LIOI3_X0Y95/LIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y107/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y107/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y119/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y119/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y131/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y131/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y143/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y143/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y19/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y19/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y31/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y31/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y43/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y43/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y57/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y57/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y69/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y69/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y7/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y7/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y81/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y81/RIOI_I2GCLK_TOP1 +RIOI_TBYTESRC_X73Y93/RIOI_I2GCLK_BOT1 +RIOI_TBYTESRC_X73Y93/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y113/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y113/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y13/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y13/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y137/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y137/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y37/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y37/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y63/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y63/RIOI_I2GCLK_TOP1 +RIOI_TBYTETERM_X73Y87/RIOI_I2GCLK_BOT1 +RIOI_TBYTETERM_X73Y87/RIOI_I2GCLK_TOP1 +RIOI_X73Y105/RIOI_I2GCLK_TOP1 +RIOI_X73Y109/RIOI_I2GCLK_BOT1 +RIOI_X73Y117/RIOI_I2GCLK_TOP1 +RIOI_X73Y121/RIOI_I2GCLK_BOT1 +RIOI_X73Y129/RIOI_I2GCLK_TOP1 +RIOI_X73Y133/RIOI_I2GCLK_BOT1 +RIOI_X73Y141/RIOI_I2GCLK_TOP1 +RIOI_X73Y145/RIOI_I2GCLK_BOT1 +RIOI_X73Y17/RIOI_I2GCLK_TOP1 +RIOI_X73Y21/RIOI_I2GCLK_BOT1 +RIOI_X73Y29/RIOI_I2GCLK_TOP1 +RIOI_X73Y33/RIOI_I2GCLK_BOT1 +RIOI_X73Y41/RIOI_I2GCLK_TOP1 +RIOI_X73Y45/RIOI_I2GCLK_BOT1 +RIOI_X73Y5/RIOI_I2GCLK_TOP1 +RIOI_X73Y55/RIOI_I2GCLK_TOP1 +RIOI_X73Y59/RIOI_I2GCLK_BOT1 +RIOI_X73Y67/RIOI_I2GCLK_TOP1 +RIOI_X73Y71/RIOI_I2GCLK_BOT1 +RIOI_X73Y79/RIOI_I2GCLK_TOP1 +RIOI_X73Y83/RIOI_I2GCLK_BOT1 +RIOI_X73Y9/RIOI_I2GCLK_BOT1 +RIOI_X73Y91/RIOI_I2GCLK_TOP1 +RIOI_X73Y95/RIOI_I2GCLK_BOT1 diff --git a/settings/kintex7/devices.yaml b/settings/kintex7/devices.yaml index e889e781e..9b1e79281 100644 --- a/settings/kintex7/devices.yaml +++ b/settings/kintex7/devices.yaml @@ -1,3 +1,6 @@ # device to fabric mapping "xc7k70t": fabric: "xc7k70t" +"xc7k160t": + fabric: "xc7k160t" + diff --git a/settings/kintex7_160t.sh b/settings/kintex7_160t.sh new file mode 100644 index 000000000..05a806cc0 --- /dev/null +++ b/settings/kintex7_160t.sh @@ -0,0 +1,36 @@ +# 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 +export XRAY_DATABASE="kintex7" +export XRAY_PART="xc7k160tffg676-2" +export XRAY_ROI_FRAMES="0x00000000:0xffffffff" + +# All CLB's in the part, all BRAM's in the part, all DSP's in the part. +# those are site coordinats: bottom half rectangle / top half rectangle for each site type +export XRAY_ROI_TILEGRID="SLICE_X0Y0:SLICE_X109Y149 SLICE_X0Y150:SLICE_X101Y249 DSP48_X0Y0:DSP48_X5Y59 DSP48_X0Y60:DSP48_X5Y99 RAMB18_X0Y0:RAMB18_X6Y59 RAMB18_X0Y60:RAMB18_X5Y99 RAMB36_X0Y0:RAMB36_X6Y29 RAMB36_X0Y30:RAMB36_X5Y49" + +export XRAY_EXCLUDE_ROI_TILEGRID="" + +export XRAY_IOI3_TILES="LIOI3_X0Y9" + +# These settings must remain in sync +export XRAY_ROI="SLICE_X0Y100:SLICE_X19Y149 DSP48_X0Y40:DSP48_X0Y59 RAMB18_X0Y40:RAMB18_X0Y59 RAMB36_X0Y20:RAMB36_X0Y29 IOB_X0Y100:IOB_X0Y149" +# Part of CMT X0Y1 +export XRAY_ROI_GRID_X1="0" +export XRAY_ROI_GRID_X2="68" +# Include VBRK / VTERM +export XRAY_ROI_GRID_Y1="154" +export XRAY_ROI_GRID_Y2="206" + +source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh + +env=$(python3 ${XRAY_UTILS_DIR}/create_environment.py) +ENV_RET=$? +if [[ $ENV_RET != 0 ]] ; then + return $ENV_RET +fi +eval $env