#!/usr/bin/env python3 import ast, sys data = "" with open(sys.argv[1], 'r') as f: data = f.read() ip_dat = ast.literal_eval("{\n" + data + "}") def is_cbit(ident): if "_ENABLE" in ident or "DELAYED" in ident: return True else: return False def is_bus(ident): return ident.startswith("SB") ips = sorted(ip_dat) print ("\n", end='') for ip in ips: t, loc = ip x, y, z = loc print("" % (t, x, y, z), end='') print ("") # TODO: could group busses? for print_t in ["SB", "G", "CBIT"]: for n in sorted(ip_dat[ips[0]]): if is_bus(n) != (print_t == "SB"): continue if is_cbit(n) != (print_t == "CBIT"): continue print("", end='') em_o = "" em_c = "" if is_cbit(n): em_o = "" em_c = "" print("" % (em_o, n, em_c), end='') for ip in ips: entry = ip_dat[ip][n] x, y, name = entry print("" % (em_o, x, y, name, em_c), end='') print("") print ("
Signal%s
(%d, %d, %d)
%s%s%s%s(%d, %d, %s)%s
")