mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-05 06:04:06 +00:00
Add "skip" options (smtbmc only)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
parent
7ff783598f
commit
bf47da495b
|
@ -159,6 +159,10 @@ options are:
|
|||
| | | engine. Other engines ignore this option in ``prove`` |
|
||||
| | | mode. Default: ``20`` |
|
||||
+------------------+------------+---------------------------------------------------------+
|
||||
| ``skip`` | ``bmc``, | Skip the specified number of time steps. Only valid |
|
||||
| | ``cover`` | with smtbmc engine. All other engines are disabled when |
|
||||
| | | this option is used. Default: None |
|
||||
+------------------+------------+---------------------------------------------------------+
|
||||
| ``append`` | ``bmc``, | When generating a counter-example trace, add the |
|
||||
| | ``prove``, | specified number of cycles at the end of the trace. |
|
||||
| | ``cover`` | Default: ``0`` |
|
||||
|
|
|
@ -497,6 +497,7 @@ class SbyJob:
|
|||
self.handle_int_option("timeout", None)
|
||||
|
||||
self.handle_str_option("smtc", None)
|
||||
self.handle_int_option("skip", None)
|
||||
self.handle_str_option("tbtop", None)
|
||||
|
||||
if self.opt_smtc is not None:
|
||||
|
@ -504,6 +505,14 @@ class SbyJob:
|
|||
if engine[0] != "smtbmc":
|
||||
self.error("Option smtc is only valid for smtbmc engine.")
|
||||
|
||||
if self.opt_skip is not None:
|
||||
if self.opt_skip == 0:
|
||||
self.opt_skip = None
|
||||
else:
|
||||
for engine in self.engines:
|
||||
if engine[0] != "smtbmc":
|
||||
self.error("Option skip is only valid for smtbmc engine.")
|
||||
|
||||
self.copy_src()
|
||||
|
||||
if self.opt_mode == "bmc":
|
||||
|
|
|
@ -121,9 +121,15 @@ def run(mode, job, engine_idx, engine):
|
|||
if not progress:
|
||||
smtbmc_opts.append("--noprogress")
|
||||
|
||||
|
||||
if job.opt_skip is not None:
|
||||
t_opt = "%d:%d" % (job.opt_skip, job.opt_depth)
|
||||
else:
|
||||
t_opt = "%d" % job.opt_depth
|
||||
|
||||
task = SbyTask(job, taskname, job.model(model_name),
|
||||
"cd %s; %s %s -t %d --append %d --dump-vcd %s.vcd --dump-vlogtb %s_tb.v --dump-smtc %s.smtc model/design_%s.smt2" %
|
||||
(job.workdir, job.exe_paths["smtbmc"], " ".join(smtbmc_opts), job.opt_depth, job.opt_append, trace_prefix, trace_prefix, trace_prefix, model_name),
|
||||
"cd %s; %s %s -t %s --append %d --dump-vcd %s.vcd --dump-vlogtb %s_tb.v --dump-smtc %s.smtc model/design_%s.smt2" %
|
||||
(job.workdir, job.exe_paths["smtbmc"], " ".join(smtbmc_opts), t_opt, job.opt_append, trace_prefix, trace_prefix, trace_prefix, model_name),
|
||||
logfile=open(logfile_prefix + ".txt", "w"), logstderr=(not progress))
|
||||
|
||||
if mode == "prove_basecase":
|
||||
|
|
Loading…
Reference in a new issue