diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py
index affbf814..9450b284 100644
--- a/htmlgen/htmlgen.py
+++ b/htmlgen/htmlgen.py
@@ -2,8 +2,6 @@
import os, sys, json, re
-routing_use_union = False
-
class UnionFind:
def __init__(self):
self.parents = dict()
@@ -166,7 +164,7 @@ for segtype in segbits.keys():
bit_pos = "%02d_%02d" % (frameidx, bitidx)
bit_name = segbits_r[segtype][bit_pos] if bit_pos in segbits_r[segtype] else None
- label = " "
+ label = None
title = [bit_pos]
bgcolor = "#aaaaaa"
@@ -207,6 +205,11 @@ for segtype in segbits.keys():
bgcolor = "#6666cc"
label = "R"
+ if label is None:
+ label = " "
+ else:
+ label = "%s" % (bit_pos, label)
+
print("
%s | " % (bgcolor, "\n".join(title), label), file=f)
print("", file=f)
print("", file=f)
@@ -223,6 +226,9 @@ for segtype in segbits.keys():
bits_by_prefix[prefix].add((bit_name, bit_pos))
for prefix, bits in sorted(bits_by_prefix.items()):
+ for bit_name, bit_pos in sorted(bits):
+ print("" % bit_pos, file=f)
+
print("", file=f)
print("%s
" % prefix, file=f)
print("", file=f)
@@ -237,11 +243,10 @@ for segtype in segbits.keys():
ruf = UnionFind()
- if routing_use_union:
- for bit, pips in routebits[segtype].items():
- for pip in pips:
- grp = pip.split('.')[1]
- ruf.union(grp, bit)
+ for bit, pips in routebits[segtype].items():
+ for pip in pips:
+ grp = pip.split('.')[1]
+ ruf.union(grp, bit)
rgroups = dict()
rgroup_names = dict()
@@ -259,26 +264,28 @@ for segtype in segbits.keys():
rgroups[grp][pip] = set()
rgroups[grp][pip].add(bit)
- if not routing_use_union:
- shared_bits = dict()
- for grp, gdata in sorted(rgroups.items()):
- for pip, bits in gdata.items():
- for bit in bits:
- if bit not in shared_bits:
- shared_bits[bit] = set()
- shared_bits[bit].add(grp)
+ shared_bits = dict()
+ for bit, pips in routebits[segtype].items():
+ for pip in pips:
+ grp_name = pip.split('.')[1]
+ if bit not in shared_bits:
+ shared_bits[bit] = set()
+ shared_bits[bit].add(grp_name)
for grp, gdata in sorted(rgroups.items()):
- print("", file=f)
- print("%s
" % ", ".join(sorted(rgroup_names[grp])), file=f)
- print("", file=f)
- print("| PIP | ", file=f)
-
grp_bits = set()
for pip, bits in gdata.items():
grp_bits |= bits
grp_bits = sorted(grp_bits)
+ for bit in grp_bits:
+ print("" % bit, file=f)
+
+ print("", file=f)
+ print("%s
" % ", ".join(sorted(rgroup_names[grp])), file=f)
+ print("", file=f)
+ print("| PIP | ", file=f)
+
for bit in grp_bits:
print(" %s | " % bit, file=f)
print("
", file=f)
@@ -298,16 +305,15 @@ for segtype in segbits.keys():
print("
", file=f)
- if not routing_use_union:
- first_note = True
- for bit in grp_bits:
- if len(shared_bits[bit]) > 1:
- if first_note:
- print("Note(s):
", file=f)
- print("Groups sharing bit %s: %s.
" % (bit, ", ".join(sorted(shared_bits[bit]))), file=f)
- first_note = False
- if not first_note:
- print("
", file=f)
+ first_note = True
+ for bit in grp_bits:
+ if len(shared_bits[bit]) > 1:
+ if first_note:
+ print("Note(s):
", file=f)
+ print("Groups sharing bit %s: %s.
" % (bit, ", ".join(sorted(shared_bits[bit]))), file=f)
+ first_note = False
+ if not first_note:
+ print("
", file=f)
print("
|---|