This is a really basic unit test to validate the operation of each solver. In this instance only 'mathsat' is under test. The same test works with other solvers such as yices and boolector.
This example is expected to fail with the solver (DONE,FAIL,rc!=0), due to HDL being deliberate broken, via the reset value 1 being lower than the allowed ranges from assert.
The unit test is validating the Formal testing framework (of SpinalHDL) can correctly interpret the output results from logs/exitStatus/stdout/stderr.
The python Error/Exception is not seen with a successful use of mathsat solver when the result is (DONE,PASS,rc=0).
I don't expect to see the Python exception/stack-traces in the output.
Actual Behavior
Process sby -f /work/spinalhdl/./FormalSimpleMathsatTester/Formal_mathsat_Simple_fail/unnamed.sby /work/spinalhdl/./FormalSimpleMathsatTester/Formal_mathsat_Simple_fail
Traceback (most recent call last):
File "/opt/oss-cad-suite/libexec/yosys-smtbmc", line 1887, in <module>
write_trace(0, last_check_step+1+append_steps, "%d" % traceidx if keep_going else '%')
File "/opt/oss-cad-suite/libexec/yosys-smtbmc", line 1316, in write_trace
write_vcd_trace(steps_start, steps_stop, index)
File "/opt/oss-cad-suite/libexec/yosys-smtbmc", line 976, in write_vcd_trace
value_list = smt.get_net_bin_list(topmod, path_list, "s%d" % i)
File "/opt/oss-cad-suite/libexec/../share/yosys/python3/smtio.py", line 1047, in get_net_bin_list
return [self.bv2bin(v) for v in self.get_net_list(mod_name, net_path_list, state_name)]
File "/opt/oss-cad-suite/libexec/../share/yosys/python3/smtio.py", line 1035, in get_net_list
return self.get_list([self.net_expr(mod_name, state_name, n) for n in net_path_list])
File "/opt/oss-cad-suite/libexec/../share/yosys/python3/smtio.py", line 920, in get_list
return [n[1] for n in self.parse(self.read())]
File "/opt/oss-cad-suite/libexec/../share/yosys/python3/smtio.py", line 920, in <listcomp>
return [n[1] for n in self.parse(self.read())]
IndexError: string index out of range
Version
Yosys 0.29+21 (git sha1 147cceb51, clang 10.0.0-4ubuntu1 -fPIC -Os)
On which OS did this happen?
Linux
Reproduction Steps
This is a really basic unit test to validate the operation of each solver. In this instance only 'mathsat' is under test. The same test works with other solvers such as
yices
andboolector
.This example is expected to fail with the solver (DONE,FAIL,rc!=0), due to HDL being deliberate broken, via the reset value 1 being lower than the allowed ranges from assert.
The unit test is validating the Formal testing framework (of SpinalHDL) can correctly interpret the output results from logs/exitStatus/stdout/stderr.
The python Error/Exception is not seen with a successful use of mathsat solver when the result is (DONE,PASS,rc=0).
unnamed.sby:
unnamed.sv
unamed_bmc/config.sby
logfile.txt
Expected Behavior
I don't expect to see the Python exception/stack-traces in the output.
Actual Behavior