From c27c51d0935cfa4943fc3f5f015cb786760bd708 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Wed, 30 Apr 2025 10:13:58 +0700 Subject: [PATCH] 005-tilegrid/cfg: use ICAP instead of BSCANE2, because the fuzzed BSCANE2 parameter depends on primitive placement Signed-off-by: Hans Baier --- fuzzers/005-tilegrid/cfg/Makefile | 3 ++- fuzzers/005-tilegrid/cfg/top.py | 28 +++++++++++----------------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/fuzzers/005-tilegrid/cfg/Makefile b/fuzzers/005-tilegrid/cfg/Makefile index e7ad0523..6aa3cb36 100644 --- a/fuzzers/005-tilegrid/cfg/Makefile +++ b/fuzzers/005-tilegrid/cfg/Makefile @@ -4,8 +4,9 @@ # license that can be found in the LICENSE file or at # https://opensource.org/licenses/ISC # +# # SPDX-License-Identifier: ISC N ?= 2 -GENERATE_ARGS?="--oneval 1 --design params.csv --dword 67 --dframe 1B --dbit 18" +GENERATE_ARGS?="--oneval 1 --design params.csv --dword 68 --dframe 1A --dbit 23" include ../fuzzaddr/common.mk diff --git a/fuzzers/005-tilegrid/cfg/top.py b/fuzzers/005-tilegrid/cfg/top.py index 4e436853..46e860b1 100644 --- a/fuzzers/005-tilegrid/cfg/top.py +++ b/fuzzers/005-tilegrid/cfg/top.py @@ -23,7 +23,7 @@ def gen_sites(): gridinfo = grid.gridinfo_at_loc(loc) if gridinfo.tile_type in ['CFG_CENTER_MID']: for site_name in sorted(gridinfo.sites.keys()): - if site_name.startswith("BSCAN_X0Y0"): + if site_name.startswith("ICAP_X0Y0"): yield tile_name, site_name @@ -41,30 +41,24 @@ module top(); params = {} sites = list(gen_sites()) - jtag_chains = ("1", "2", "3", "4") + param = ("X8", "X16", "X32") for (tile_name, site_name), isone in zip(sites, util.gen_fuzz_states(len(sites))): params[tile_name] = (site_name, isone) print( ''' (* KEEP, DONT_TOUCH, LOC = "{0}" *) - BSCANE2 #( - .JTAG_CHAIN("{1}") + ICAPE2 #( + .ICAP_WIDTH("{1}") ) - BSCANE2_{0} ( - .CAPTURE(), - .DRCK(), - .RESET(), - .RUNTEST(), - .SEL(), - .SHIFT(), - .TCK(), - .TDI(), - .TMS(), - .UPDATE(), - .TDO(1'b1) + ICAP_{0} ( + .CSIB(), + .RDWRB(), + .I(), + .O(), + .CLK() ); - '''.format(site_name, jtag_chains[isone])) + '''.format(site_name, param[isone])) print("endmodule") write_params(params)