From 4df3a9bce79223f5f048b393eb7e7e7f6acc7aea Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sun, 19 Nov 2017 08:14:31 +0000 Subject: [PATCH] Update database Signed-off-by: Clifford Wolf Signed-off-by: Tim 'mithro' Ansell --- fuzzers/052-clkin/generate.py | 12 ++++++++++-- utils/segmaker.py | 9 ++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/fuzzers/052-clkin/generate.py b/fuzzers/052-clkin/generate.py index ebb74da4..01234d8d 100644 --- a/fuzzers/052-clkin/generate.py +++ b/fuzzers/052-clkin/generate.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import sys, re +import sys, os, re sys.path.append("../../../utils/") from segmaker import segmaker @@ -58,6 +58,14 @@ for tile, pips_srcs_dsts in tiledata.items(): elif src_dst[1] not in dsts: segmk.addtag(tile, "%s.%s" % (dst, src), 0) -segmk.compile() +def bitfilter(frame_idx, bit_idx): + assert os.getenv("XRAY_DATABASE") == "artix7" + if frame_idx == 0 and bit_idx == 48: + return False + if frame_idx == 1 and bit_idx == 31: + return False + return frame_idx in [0, 1] + +segmk.compile(bitfilter=bitfilter) segmk.write() diff --git a/utils/segmaker.py b/utils/segmaker.py index c1105814..76e67eb0 100644 --- a/utils/segmaker.py +++ b/utils/segmaker.py @@ -31,7 +31,7 @@ class segmaker: self.tags[site] = dict() self.tags[site][name] = value - def compile(self): + def compile(self, bitfilter=None): print("Compiling segment data.") self.segments_by_type = dict() @@ -60,8 +60,11 @@ class segmaker: if wordidx not in self.bits[base_frame]: continue for bit_frame, bit_wordidx, bit_bitidx in self.bits[base_frame][wordidx]: - bitname = "%02d_%02d" % (bit_frame - base_frame, 32*(bit_wordidx - segdata["baseaddr"][1]) + bit_bitidx) - segments[segname]["bits"].add(bitname) + bitname_frame = bit_frame - base_frame + bitname_bit = 32*(bit_wordidx - segdata["baseaddr"][1]) + bit_bitidx + if bitfilter is None or bitfilter(bitname_frame, bitname_bit): + bitname = "%02d_%02d" % (bitname_frame, bitname_bit) + segments[segname]["bits"].add(bitname) if tilename in self.tags: add_segbits()