From 778905ff090e23eb2fd3ec1218681b3d90459777 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Wed, 18 Oct 2017 13:00:25 +0200 Subject: [PATCH] Improve htmlgen, Simplify LUT init tags Signed-off-by: Clifford Wolf Signed-off-by: Tim 'mithro' Ansell --- fuzzers/010-lutinit/generate.py | 8 ++++++- htmlgen/htmlgen.py | 40 +++++++++++++++++++++++++-------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/fuzzers/010-lutinit/generate.py b/fuzzers/010-lutinit/generate.py index 423e468d..e043c529 100644 --- a/fuzzers/010-lutinit/generate.py +++ b/fuzzers/010-lutinit/generate.py @@ -82,7 +82,13 @@ for tilename, tiledata in grid["tiles"].items(): assert 0 for name, value in luts[site].items(): - segments[segname]["tags"]["%s.%s.%s" % (re.sub("_[LR]$", "", tile_type), sitekey, name)] = value + tag = "%s.%s.%s" % (re.sub("_[LR]$", "", tile_type), sitekey, name) + tag = tag.replace("SLICE_X0.SLICEM", "SLICEM_X0") + tag = tag.replace("SLICE_X1.SLICEM", "SLICEM_X1") + tag = tag.replace("SLICE_X0.SLICEL", "SLICEL_X0") + tag = tag.replace("SLICE_X1.SLICEL", "SLICEL_X1") + tag = tag.replace("6LUT", "LUT") + segments[segname]["tags"][tag] = value base_frame = int(segdata["baseaddr"][0][2:], 16) for wordidx in range(segdata["baseaddr"][1], segdata["baseaddr"][1]+2): diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py index 03657553..412a0226 100644 --- a/htmlgen/htmlgen.py +++ b/htmlgen/htmlgen.py @@ -22,7 +22,7 @@ for segname, segdata in grid["segments"].items(): if segtype not in segbits: segbits[segtype] = dict() segbits_r[segtype] = dict() - segframes[segtype] = 36 + segframes[segtype] = segdata["frames"] print("Loading %s segbits." % segtype) with open("../database/%s/seg_%s.segbits" % (os.getenv("XRAY_DATABASE"), segtype)) as f: @@ -42,6 +42,9 @@ print("Writing %s/index.html." % os.getenv("XRAY_DATABASE")) os.makedirs(os.getenv("XRAY_DATABASE"), exist_ok=True) with open("%s/index.html" % os.getenv("XRAY_DATABASE"), "w") as f: print("X-Ray %s Database" % os.getenv("XRAY_DATABASE").upper(), file=f) + print("

X-Ray %s Database

" % os.getenv("XRAY_DATABASE").upper(), file=f) + + print("

Part: %s
ROI: %s
ROI Frames: %s

" % (os.getenv("XRAY_PART"), os.getenv("XRAY_ROI"), os.getenv("XRAY_ROI_FRAMES")), file=f) for tilename, tiledata in grid["tiles"].items(): grid_x = tiledata["grid_x"] @@ -85,14 +88,14 @@ with open("%s/index.html" % os.getenv("XRAY_DATABASE"), "w") as f: if "segment" in tiledata: title.append("Baseaddr: %s %d" % tuple(segdata["baseaddr"])) - print("" % (bgcolor, "\n".join(title)), file=f) + print("" % (bgcolor, "\n".join(title)), file=f) if "segment" in tiledata: segtype = segdata["type"].lower() segtype = re.sub(r"_[lr]$", "", segtype) - print("
%s
" % + print("%s
" % (segtype, tilename.replace("_X", "
X")), file=f) else: - print("
%s
" % tilename.replace("_X", "
X"), file=f) + print("%s" % tilename.replace("_X", "
X"), file=f) print("", file=f) @@ -107,17 +110,18 @@ for segtype in segbits.keys(): print("Writing %s/seg_%s.html." % (os.getenv("XRAY_DATABASE"), segtype)) with open("%s/seg_%s.html" % (os.getenv("XRAY_DATABASE"), segtype), "w") as f: print("X-Ray %s Database: %s" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper()), file=f) + print("

X-Ray %s Database: %s

" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper()), file=f) print("", file =f) print("", file =f) - print("", file =f) + print("", file =f) for frameidx in range(segframes[segtype]): - print("" % frameidx, file =f) + print("" % frameidx, file =f) print("", file =f) for bitidx in range(63, -1, -1): print("", file =f) - print("" % bitidx, file =f) + print("" % bitidx, file =f) for frameidx in range(segframes[segtype]): bit_pos = "%02x_%02x_%02x" % (frameidx, bitidx // 32, bitidx % 32) bit_name = segbits_r[segtype][bit_pos] if bit_pos in segbits_r[segtype] else None @@ -132,12 +136,30 @@ for segtype in segbits.keys(): if "LUT.INIT" in bit_name: bgcolor = "#ffffaa" - m = re.search(r"(.)6LUT.INIT\[(..)\]", bit_name) + m = re.search(r"(.)LUT.INIT\[(..)\]", bit_name) label = m.group(1) + m.group(2) - print("" % (bgcolor, "\n".join(title), label), file=f) + print("" % (bgcolor, "\n".join(title), label), file=f) print("", file =f) + + prefix = "" + + for bit_name, bit_pos in sorted(segbits[segtype].items()): + bit_prefix = ".".join(bit_name.split(".")[0:-1]) + + if prefix != bit_prefix: + trstyle = "" + prefix = bit_prefix + print("
%d%d
%d%d%s%s
", file =f) + print("

", file =f) + print("

%s

" % prefix, file =f) + print("", file =f) + print("", file=f) + + trstyle = " bgcolor=\"#dddddd\"" if trstyle == "" else "" + print("" % (trstyle, bit_name, bit_pos), file=f) + print("
Bit NamePosition
%s%s
", file =f) print("", file=f)