From db15e3bffa2e26d469eb2cfe31e0860fc811f9eb Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Wed, 3 Nov 2021 13:53:10 -0300 Subject: [PATCH 1/7] preliminary settings for xc7k325t Signed-off-by: Torsten Reuschel --- settings/kintex7/devices.yaml | 2 ++ settings/kintex7_325t.sh | 43 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 settings/kintex7_325t.sh diff --git a/settings/kintex7/devices.yaml b/settings/kintex7/devices.yaml index e889e781e..a62e01b3b 100644 --- a/settings/kintex7/devices.yaml +++ b/settings/kintex7/devices.yaml @@ -1,3 +1,5 @@ # device to fabric mapping +"xc7k325t": + fabric: "xc7k325t" "xc7k70t": fabric: "xc7k70t" diff --git a/settings/kintex7_325t.sh b/settings/kintex7_325t.sh new file mode 100644 index 000000000..eb8b93a31 --- /dev/null +++ b/settings/kintex7_325t.sh @@ -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 +export XRAY_DATABASE="kintex7" +export XRAY_PART="xc7k325tffg900-2" +export XRAY_ROI_FRAMES="0x00000000:0xffffffff" + +# All CLB's in part, all BRAM's in part, all DSP's in part. +# tcl queries IOB => don't bother adding +#FIXME: need to update to include entire part +export XRAY_ROI_TILEGRID="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" + +export XRAY_EXCLUDE_ROI_TILEGRID="" + +# This is used by fuzzers/005-tilegrid/generate_full.py +# (special handling for frame addresses of certain IOIs -- see the script for details). +# This needs to be changed for any new device! +# If you have a FASM mismatch or unknown bits in IOIs, CHECK THIS FIRST. +export XRAY_IOI3_TILES="" + +#FIXME: need to update accordingly +# These settings must remain in sync +export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" +#export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y20:DSP48_X0Y39 RAMB18_X0Y20:RAMB18_X0Y39 RAMB36_X0Y10:RAMB36_X0Y19 IOB_X0Y50:IOB_X0Y99" +# Part of CMT X0Y1 +export XRAY_ROI_GRID_X1="-1" #"0" +export XRAY_ROI_GRID_X2="-1" #"38" +# Include VBRK / VTERM +export XRAY_ROI_GRID_Y1="-1" #"104" +export XRAY_ROI_GRID_Y2="-1" #"156" + +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 From ef02523f75df78276d28b7d5c196d39649973ae7 Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Wed, 3 Nov 2021 14:10:41 -0300 Subject: [PATCH 2/7] add device Signed-off-by: Torsten Reuschel --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 53c38789b..6ef2e01d3 100644 --- a/Makefile +++ b/Makefile @@ -185,8 +185,8 @@ $(foreach DB,$(DATABASES),$(eval $(call database,$(DB)))) ARTIX_PARTS=artix7_50t artix7_200t ZYNQ_PARTS=zynq7010 -KINTEX_PARTS= SPARTAN_PARTS= +KINTEX_PARTS=kintex7_325t XRAY_PARTS=${ARTIX_PARTS} ${ZYNQ_PARTS} ${KINTEX_PARTS} ${SPARTAN_PARTS} @@ -275,4 +275,4 @@ clean: $(MAKE) -C fuzzers clean rm -rf build -.PHONY: clean \ No newline at end of file +.PHONY: clean From 9e464aa27f92fd5cacba97e01796513fa74877bd Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Wed, 3 Nov 2021 20:37:44 -0300 Subject: [PATCH 3/7] add LIOI3 row to special handling Signed-off-by: Torsten Reuschel --- settings/kintex7_325t.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/settings/kintex7_325t.sh b/settings/kintex7_325t.sh index eb8b93a31..706c73526 100644 --- a/settings/kintex7_325t.sh +++ b/settings/kintex7_325t.sh @@ -11,7 +11,6 @@ export XRAY_ROI_FRAMES="0x00000000:0xffffffff" # All CLB's in part, all BRAM's in part, all DSP's in part. # tcl queries IOB => don't bother adding -#FIXME: need to update to include entire part export XRAY_ROI_TILEGRID="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" export XRAY_EXCLUDE_ROI_TILEGRID="" @@ -20,9 +19,8 @@ export XRAY_EXCLUDE_ROI_TILEGRID="" # (special handling for frame addresses of certain IOIs -- see the script for details). # This needs to be changed for any new device! # If you have a FASM mismatch or unknown bits in IOIs, CHECK THIS FIRST. -export XRAY_IOI3_TILES="" +export XRAY_IOI3_TILES="LIOI3_X0Y0" -#FIXME: need to update accordingly # These settings must remain in sync export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" #export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y20:DSP48_X0Y39 RAMB18_X0Y20:RAMB18_X0Y39 RAMB36_X0Y10:RAMB36_X0Y19 IOB_X0Y50:IOB_X0Y99" From c15805e7709b463463755a4c06c2897cdb23daa2 Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Thu, 4 Nov 2021 10:34:54 -0300 Subject: [PATCH 4/7] deactivate orphan_int_column fuzzer for specific Kintex7 part/package, since test returns empty list Signed-off-by: Torsten Reuschel --- fuzzers/005-tilegrid/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fuzzers/005-tilegrid/Makefile b/fuzzers/005-tilegrid/Makefile index a880d0713..979e4e800 100644 --- a/fuzzers/005-tilegrid/Makefile +++ b/fuzzers/005-tilegrid/Makefile @@ -49,8 +49,11 @@ endif # Kintex7 only fuzzers ifeq (${XRAY_DATABASE}, kintex7) +# Enable orphan_int_column for kintex7, but not for xc7k325tffg900-2 where this fuzzer returns empty. +ifneq (${XRAY_PART}, xc7k325tffg900-2) TILEGRID_TDB_DEPENDENCIES += orphan_int_column/$(BUILD_FOLDER)/segbits_tilegrid.tdb endif +endif BASICDB_TILEGRID=$(BUILD_FOLDER)/basicdb/${XRAY_FABRIC}/tilegrid.json From 4d02a0231fc6b3e8543d6e3e8d21bc1c9d84a40a Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Thu, 4 Nov 2021 18:48:52 -0300 Subject: [PATCH 5/7] reenter XRAY_IOI3_TILES which is mandated to be set; processing for case of empty list of IOI tiles Signed-off-by: Torsten Reuschel --- fuzzers/005-tilegrid/generate_full.py | 4 ++++ settings/kintex7_325t.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/fuzzers/005-tilegrid/generate_full.py b/fuzzers/005-tilegrid/generate_full.py index 4022edc0d..f6729f1a2 100644 --- a/fuzzers/005-tilegrid/generate_full.py +++ b/fuzzers/005-tilegrid/generate_full.py @@ -505,6 +505,10 @@ def propagate_IOI_Y9(database, tiles_by_grid): ioi_tiles = os.getenv('XRAY_IOI3_TILES') assert ioi_tiles is not None, "XRAY_IOI3_TILES env variable not set" + #skip further processing if XRAY_IOI3_TILES is empty string + if (ioi_tiles.strip() == ''): + return + tiles = ioi_tiles.split(" ") for tile in tiles: diff --git a/settings/kintex7_325t.sh b/settings/kintex7_325t.sh index 706c73526..8222bf676 100644 --- a/settings/kintex7_325t.sh +++ b/settings/kintex7_325t.sh @@ -19,7 +19,7 @@ export XRAY_EXCLUDE_ROI_TILEGRID="" # (special handling for frame addresses of certain IOIs -- see the script for details). # This needs to be changed for any new device! # If you have a FASM mismatch or unknown bits in IOIs, CHECK THIS FIRST. -export XRAY_IOI3_TILES="LIOI3_X0Y0" +export XRAY_IOI3_TILES="" # These settings must remain in sync export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" From 47d04851439947828f8b30ac928dc335564fcf29 Mon Sep 17 00:00:00 2001 From: unbtorsten Date: Thu, 4 Nov 2021 19:04:51 -0300 Subject: [PATCH 6/7] cleanup Signed-off-by: Torsten Reuschel --- settings/kintex7_325t.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/settings/kintex7_325t.sh b/settings/kintex7_325t.sh index 8222bf676..a4ea31145 100644 --- a/settings/kintex7_325t.sh +++ b/settings/kintex7_325t.sh @@ -23,13 +23,12 @@ export XRAY_IOI3_TILES="" # These settings must remain in sync export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y0:DSP48_X5Y139 RAMB18_X0Y0:RAMB18_X5Y139 RAMB36_X0Y0:RAMB36_X4Y69" -#export XRAY_ROI="SLICE_X0Y0:SLICE_X153Y349 DSP48_X0Y20:DSP48_X0Y39 RAMB18_X0Y20:RAMB18_X0Y39 RAMB36_X0Y10:RAMB36_X0Y19 IOB_X0Y50:IOB_X0Y99" # Part of CMT X0Y1 -export XRAY_ROI_GRID_X1="-1" #"0" -export XRAY_ROI_GRID_X2="-1" #"38" +export XRAY_ROI_GRID_X1="-1" +export XRAY_ROI_GRID_X2="-1" # Include VBRK / VTERM -export XRAY_ROI_GRID_Y1="-1" #"104" -export XRAY_ROI_GRID_Y2="-1" #"156" +export XRAY_ROI_GRID_Y1="-1" +export XRAY_ROI_GRID_Y2="-1" source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh From 989b36350255a7faa61dd7515b23ab69cb8abbd4 Mon Sep 17 00:00:00 2001 From: Torsten Reuschel Date: Fri, 5 Nov 2021 13:34:57 -0300 Subject: [PATCH 7/7] no wires detected that are to be ignored at this time Signed-off-by: Torsten Reuschel --- .../ignored_wires/kintex7/xc7k325tffg900-2_ignored_wires.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 fuzzers/074-dump_all/ignored_wires/kintex7/xc7k325tffg900-2_ignored_wires.txt diff --git a/fuzzers/074-dump_all/ignored_wires/kintex7/xc7k325tffg900-2_ignored_wires.txt b/fuzzers/074-dump_all/ignored_wires/kintex7/xc7k325tffg900-2_ignored_wires.txt new file mode 100644 index 000000000..e69de29bb