From 24beaef67a489532d4256e35feff4756ff2ff14d Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 30 Nov 2017 18:09:31 +0100 Subject: [PATCH] Add hclk_l/hclk_r databases Signed-off-by: Clifford Wolf Signed-off-by: Tim 'mithro' Ansell --- fuzzers/005-tilegrid/generate.py | 19 ++++++++++++++++- htmlgen/htmlgen.py | 35 ++++++++++++++++++++++---------- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/fuzzers/005-tilegrid/generate.py b/fuzzers/005-tilegrid/generate.py index 50ecfb7c..40c0a2fc 100644 --- a/fuzzers/005-tilegrid/generate.py +++ b/fuzzers/005-tilegrid/generate.py @@ -37,12 +37,12 @@ for record in tiles: database["tiles"][tile_name] = { "type": tile_type, + "sites": dict(), "grid_x": grid_x, "grid_y": grid_y } if len(record) > 4: - database["tiles"][tile_name]["sites"] = dict() for i in range(4, len(record), 2): site_type, site_name = record[i:i+2] if site_name in site_baseaddr: @@ -61,6 +61,16 @@ for record in tiles: database["segments"][segment_name]["baseaddr"] = [framebaseaddr, 0] database["tiles"][tile_name]["segment"] = segment_name + if tile_type in ["HCLK_L", "HCLK_R"]: + segment_name = "SEG_" + tile_name + segtype = tile_type.lower() + database["segments"][segment_name] = dict() + database["segments"][segment_name]["tiles"] = [tile_name] + database["segments"][segment_name]["type"] = segtype + database["segments"][segment_name]["frames"] = 36 + database["segments"][segment_name]["words"] = 1 + database["tiles"][tile_name]["segment"] = segment_name + ####################################### # Pupulate segment base addresses @@ -113,6 +123,13 @@ for segment_name in database["segments"].keys(): s = set(database["segments"][segment_name]["tiles"] + [inttile]) database["segments"][segment_name]["tiles"] = list(sorted(s)) + if inttile.endswith("25") or inttile.endswith("75"): + clktile = tiles_by_grid[(grid_x, grid_y+1)] + assert clktile.startswith("HCLK_") + clkseg = database["tiles"][clktile]["segment"] + framebase, wordbase = database["segments"][segment_name]["baseaddr"] + database["segments"][clkseg]["baseaddr"] = [framebase, wordbase-1] + ####################################### # Write diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py index 2f402a94..ddd6a0df 100644 --- a/htmlgen/htmlgen.py +++ b/htmlgen/htmlgen.py @@ -156,6 +156,7 @@ with open("%s/index.html" % os.getenv("XRAY_DATABASE"), "w") as f: if tiledata["type"] in ["INT_L", "INT_R"]: bgcolor="#aaaaff" if tiledata["type"] in ["CLBLL_L", "CLBLL_R"]: bgcolor="#ffffaa" if tiledata["type"] in ["CLBLM_L", "CLBLM_R"]: bgcolor="#ffaaaa" + if tiledata["type"] in ["HCLK_L", "HCLK_R"]: bgcolor="#aaffaa" title = [tilename] @@ -178,7 +179,7 @@ with open("%s/index.html" % os.getenv("XRAY_DATABASE"), "w") as f: print("%s" % (segtype, tilename.replace("_X", "
X")), file=f) else: - print("%s" % tilename.replace("_X", "
X"), file=f) + print("%s" % tilename.replace("_X", "
X").replace("B_TERM", "B
TERM"), file=f) print("", file=f) @@ -193,8 +194,11 @@ 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 Segment (%s Tile + %s Tile)

" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper(), - segtype.upper(), re.sub("clbl[lm]", "int", segtype).upper()), file=f) + if segtype in ["hclk_l", "hclk-r"]: + print("

X-Ray %s Database: %s Segment

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

X-Ray %s Database: %s Segment (%s Tile + %s Tile)

" % (os.getenv("XRAY_DATABASE").upper(), segtype.upper(), + segtype.upper(), re.sub("clbl[lm]", "int", segtype).upper()), file=f) print("""