aboutsummaryrefslogtreecommitdiffstats
path: root/icebox/icebox_diff.py
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-07-18 13:07:39 +0200
committerClifford Wolf <clifford@clifford.at>2015-07-18 13:07:39 +0200
commit13e63e6b65e044e348356731b55610d02cb308b9 (patch)
tree00274273090bec68fc31022b6daef4115290efbb /icebox/icebox_diff.py
parentc41701ca3a2046e9cabe303cff0aa203215d70c1 (diff)
downloadicestorm-13e63e6b65e044e348356731b55610d02cb308b9.tar.gz
icestorm-13e63e6b65e044e348356731b55610d02cb308b9.tar.bz2
icestorm-13e63e6b65e044e348356731b55610d02cb308b9.zip
Import of icestorm-snapshot-150526.zip
Diffstat (limited to 'icebox/icebox_diff.py')
-rwxr-xr-xicebox/icebox_diff.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/icebox/icebox_diff.py b/icebox/icebox_diff.py
index da7962b..59fa0a8 100755
--- a/icebox/icebox_diff.py
+++ b/icebox/icebox_diff.py
@@ -29,6 +29,17 @@ print("Reading file '%s'.." % sys.argv[2])
ic2 = icebox.iceconfig()
ic2.read_file(sys.argv[2])
+def format_bits(line_nr, this_line, other_line):
+ text = ""
+ for i in range(len(this_line)):
+ if this_line[i] != other_line[i]:
+ if this_line[i] == "1":
+ text += "%8s" % ("B%d[%d]" % (line_nr, i))
+ else:
+ text += "%8s" % ""
+ return text
+
+
def diff_tiles(stmt, tiles1, tiles2):
for i in sorted(set(tiles1.keys() + tiles2.keys())):
if not i in tiles1:
@@ -48,8 +59,8 @@ def diff_tiles(stmt, tiles1, tiles2):
if tiles1[i][c] == tiles2[i][c]:
print(" %s" % tiles1[i][c])
else:
- print("- %s" % tiles1[i][c])
- print("+ %s" % tiles2[i][c])
+ print("- %s%s" % (tiles1[i][c], format_bits(c, tiles1[i][c], tiles2[i][c])))
+ print("+ %s%s" % (tiles2[i][c], format_bits(c, tiles2[i][c], tiles1[i][c])))
diff_tiles(".io_tile", ic1.io_tiles, ic2.io_tiles)
diff_tiles(".logic_tile", ic1.logic_tiles, ic2.logic_tiles)