From 6cabd8ad20e032840882498fc2bb3f8766f7b16a Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Mon, 8 Feb 2021 10:00:02 +0100 Subject: [PATCH] 065-gtp-common-pips: solve only IBUFDS and GTP_CHANNEL pips Signed-off-by: Alessandro Comodi --- fuzzers/065-gtp-common-pips/Makefile | 11 +++++++---- fuzzers/065-gtp-common-pips/generate.py | 8 +++++--- fuzzers/065-gtp-common-pips/generate.tcl | 2 +- fuzzers/065-gtp-common-pips/gtp_common_pip_list.tcl | 2 +- fuzzers/065-gtp-common-pips/top.py | 4 ++-- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/fuzzers/065-gtp-common-pips/Makefile b/fuzzers/065-gtp-common-pips/Makefile index d6766b86..389544b4 100644 --- a/fuzzers/065-gtp-common-pips/Makefile +++ b/fuzzers/065-gtp-common-pips/Makefile @@ -6,7 +6,8 @@ # # SPDX-License-Identifier: ISC export FUZDIR=$(shell pwd) -PIP_TYPE?=gtp_common_${XRAY_PART} +PIP_TYPE?=gtp_common_mid_${XRAY_PART} +PIP_FILE?=gtp_common_mid SEG_TYPE?=gtp_common_mid_left PIPLIST_TCL=$(FUZDIR)/gtp_common_pip_list.tcl @@ -14,13 +15,15 @@ BUILD_DIR = ${FUZDIR}/build_${XRAY_PART} RUN_OK = run.${XRAY_PART}.ok TODO_RE=".*" +EXCLUDE_RE=".*HCLK_GTP_CK_MUX.*" +PIP_DIR=${XRAY_FUZZERS_DIR}/piplist/build/$(PIP_TYPE) -MAKETODO_FLAGS=--pip-type ${PIP_TYPE} --seg-type $(SEG_TYPE) --re $(TODO_RE) --sides "" -N = 100 +MAKETODO_FLAGS=--pip-type ${PIP_FILE} --seg-type $(SEG_TYPE) --re $(TODO_RE) --sides "" --exclude-re $(EXCLUDE_RE) --pip-dir $(PIP_DIR) +N = 60 SEGMATCH_FLAGS=-c 2 SPECIMENS_DEPS=$(BUILD_DIR)/cmt_regions.csv -A_PIPLIST=gtp_common_${XRAY_PART}.txt +A_PIPLIST=gtp_common_mid.txt CHECK_ARGS= --zero-entries --timeout-iters 5 --todo-dir $(BUILD_DIR)/todo diff --git a/fuzzers/065-gtp-common-pips/generate.py b/fuzzers/065-gtp-common-pips/generate.py index 621e78ed..1d8c11ea 100644 --- a/fuzzers/065-gtp-common-pips/generate.py +++ b/fuzzers/065-gtp-common-pips/generate.py @@ -33,7 +33,7 @@ def bitfilter(frame, word): def read_pip_data(pipfile, pipdata, tile_ports): part = os.getenv('XRAY_PART') with open(os.path.join(os.getenv('FUZDIR'), '..', 'piplist', 'build', - 'gtp_common_{}'.format(part), pipfile)) as f: + 'gtp_common_mid_{}'.format(part), pipfile)) as f: for l in f: tile_type, dst, src = l.strip().split('.') if tile_type not in pipdata: @@ -53,8 +53,7 @@ def main(): ignpip = set() tile_ports = {} - part = os.getenv('XRAY_PART') - read_pip_data('gtp_common_{}.txt'.format(part), pipdata, tile_ports) + read_pip_data('gtp_common_mid.txt', pipdata, tile_ports) print("Loading tags from design.txt.") with open("design.txt", "r") as f: @@ -88,6 +87,9 @@ def main(): tiledata[tile]["srcs"].add(dst) tiledata[tile]["dsts"].add(src) + if "HCLK_GTP_CK_MUX" in src: + ignpip.add((src, dst)) + for tile, pips_srcs_dsts in tiledata.items(): tile_type = pips_srcs_dsts["type"] pips = pips_srcs_dsts["pips"] diff --git a/fuzzers/065-gtp-common-pips/generate.tcl b/fuzzers/065-gtp-common-pips/generate.tcl index abfb0c76..aea3dbad 100644 --- a/fuzzers/065-gtp-common-pips/generate.tcl +++ b/fuzzers/065-gtp-common-pips/generate.tcl @@ -8,7 +8,7 @@ source "$::env(XRAY_DIR)/utils/utils.tcl" proc load_todo {{dir "dst"}} { - set fp [open "../../todo_all.txt" r] + set fp [open "$::env(FUZDIR)/../piplist/build/gtp_common_mid_$::env(XRAY_PART)/gtp_common_mid.txt" r] # Create map of pip source to remaining destinations for that pip set todo_map [dict create] diff --git a/fuzzers/065-gtp-common-pips/gtp_common_pip_list.tcl b/fuzzers/065-gtp-common-pips/gtp_common_pip_list.tcl index fad8b60b..1c8e8a37 100644 --- a/fuzzers/065-gtp-common-pips/gtp_common_pip_list.tcl +++ b/fuzzers/065-gtp-common-pips/gtp_common_pip_list.tcl @@ -46,4 +46,4 @@ create_project -force -part $::env(XRAY_PART) design design set_property design_mode PinPlanning [current_fileset] open_io_design -name io_1 -print_tile_pips GTP_COMMON_MID_LEFT gtp_common_$::env(XRAY_PART).txt +print_tile_pips GTP_COMMON_MID_LEFT gtp_common_mid.txt diff --git a/fuzzers/065-gtp-common-pips/top.py b/fuzzers/065-gtp-common-pips/top.py index 8e990c1b..cabb7e18 100644 --- a/fuzzers/065-gtp-common-pips/top.py +++ b/fuzzers/065-gtp-common-pips/top.py @@ -320,12 +320,12 @@ module top( use_gtp_channel, use_ibufds, use_cmt = todo_pips() - if (chance < 0.3 and use_cmt) or not cmt_clock_used: + if (chance < 0.2 and use_cmt) or not cmt_clock_used: # There must always be at least one CMT clock used # to trigger the bits for the GTP_COMMON and IBUFDS pips cmt_clock_used = True clock_name = cmt_clock_sources.get_random_source(cmt) - elif chance > 0.3 and chance < 0.4 and use_ibufds: + elif chance > 0.2 and chance < 0.4 and use_ibufds: clock_name = ibufds_clock_sources.get_random_source(cmt) elif chance < 0.7 and use_gtp_channel: clock_name = gtp_channel_clock_sources.get_random_source(cmt)