icebox_vlog: Save error message to file and print it.

Previously if you were doing;

`icebox_vlog example.asc > example_bit.v` you would just get;

```
Traceback (most recent call last):
  File "icebox_vlog.py", line 947, in <module>
    assert False
AssertionError
```

Now you get;
```
Traceback (most recent call last):
  File "icebox_vlog.py", line 948, in <module>
    assert False, "\n  ".join(emsg)
AssertionError: Single-driver-check failed for 2 nets:
  n10 has 0 drivers: []
  n15 has 2 drivers: ['clk', 'clk2']
```
This commit is contained in:
Tim 'mithro' Ansell 2018-07-08 15:59:53 -07:00
parent b2e1df618c
commit ef618927ca
1 changed files with 4 additions and 3 deletions

View File

@ -941,8 +941,9 @@ print("endmodule")
print()
if failed_drivers_check:
print("// Single-driver-check failed for %d nets:" % len(failed_drivers_check))
emsg = ["Single-driver-check failed for %d nets:" % len(failed_drivers_check)]
for net, drivers in failed_drivers_check:
print("// %s has %d drivers: %s" % (net, len(drivers), drivers))
assert False
emsg.append("%s has %d drivers: %s" % (net, len(drivers), drivers))
print("//", "\n//".join(emsg))
assert False, "\n ".join(emsg)