diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py
index c395afb4..7865e9e2 100644
--- a/htmlgen/htmlgen.py
+++ b/htmlgen/htmlgen.py
@@ -147,27 +147,45 @@ for segtype in segbits.keys():
else:
label = m.group(1) + "?"
+ if re.search(r"\.[ABCD]5?FF\.", bit_name):
+ bgcolor = "#aaffaa"
+ m = re.search(r"\.([ABCD]5?)FF\.([A-Z]+)", bit_name)
+ if m.group(2) == "ZINI":
+ label = m.group(1) + "Z"
+ else:
+ label = m.group(1) + "?"
+
+ if re.search(r"\.[ABCD]LUT5$", bit_name):
+ bgcolor = "#cccc88"
+ label = bit_name[-5] + "5"
+
print("
%s | " % (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("", file =f)
- print("", file =f)
- print("%s
" % prefix, file =f)
- print("", file =f)
- print("| Bit Name | Position |
", file=f)
-
- trstyle = " bgcolor=\"#dddddd\"" if trstyle == "" else ""
- print("| %s | %s |
" % (trstyle, bit_name, bit_pos), file=f)
-
print("
", file =f)
+
+
+ bits_by_prefix = dict()
+
+ for bit_name, bit_pos in segbits[segtype].items():
+ prefix = ".".join(bit_name.split(".")[0:-1])
+
+ if prefix not in bits_by_prefix:
+ bits_by_prefix[prefix] = set()
+
+ bits_by_prefix[prefix].add((bit_name, bit_pos))
+
+ for prefix, bits in sorted(bits_by_prefix.items()):
+ print("", file =f)
+ print("%s
" % prefix, file =f)
+ print("", file =f)
+ print("| Bit Name | Position |
", file=f)
+
+ trstyle = ""
+ for bit_name, bit_pos in sorted(bits):
+ trstyle = " bgcolor=\"#dddddd\"" if trstyle == "" else ""
+ print("| %s | %s |
" % (trstyle, bit_name, bit_pos), file=f)
+
+ print("
", file =f)
+
print("