assume asserts in skipped steps in BMC
-S <step_size>
- proof <step_size> time steps at once
-
- -c <vcd_filename>
- write counter-example to this VCD file
- (hint: use 'write_smt2 -wires' for maximum
- coverage of signals in generated VCD file)
+ prove <step_size> time steps at once
-i
instead of BMC run temporal induction
-m <module_name>
name of the top module
+
+ --dump-vcd <vcd_filename>
+ write counter-example to this VCD file
+ (hint: use 'write_smt2 -wires' for maximum
+ coverage of signals in generated VCD file)
""" + so.helpmsg())
sys.exit(1)
try:
- opts, args = getopt.getopt(sys.argv[1:], so.optstr + "t:u:S:c:im:")
+ opts, args = getopt.getopt(sys.argv[1:], so.shortopts + "t:u:S:im:", so.longopts + ["dump-vcd="])
except:
usage()
assume_skipped = int(a)
elif o == "-S":
step_size = int(a)
- elif o == "-c":
+ elif o == "--dump-vcd":
vcdfile = a
elif o == "-i":
tempind = True
class smtopts:
def __init__(self):
- self.optstr = "s:d:vp"
+ self.shortopts = "s:v"
+ self.longopts = ["no-progress", "dump-smt2="]
self.solver = "z3"
self.debug_print = False
self.debug_file = None
self.solver = a
elif o == "-v":
self.debug_print = True
- elif o == "-p":
+ elif o == "--no-progress":
self.timeinfo = True
- elif o == "-d":
+ elif o == "--dump-smt2":
self.debug_file = open(a, "w")
else:
return False
-v
enable debug output
- -p
- disable timer display during solving
+ --no-progress
+ disable running timer display during solving
- -d <filename>
+ --dump-smt2 <filename>
write smt2 statements to file
"""
demo1: demo1.smt2
- yosys-smtbmc -c demo1.vcd demo1.smt2
- yosys-smtbmc -i -c demo1.vcd demo1.smt2
+ yosys-smtbmc --dump-vcd demo1.vcd demo1.smt2
+ yosys-smtbmc -i --dump-vcd demo1.vcd demo1.smt2
demo1.smt2: demo1.v
yosys -p 'read_verilog -formal demo1.v; prep -top demo1; write_smt2 -wires -mem -bv demo1.smt2'