bounded_model_check [-h] [-v <verbosity_level>] [-m <minimum_length>] [-k <maximum_length>] [-s <step_value>] [-r <termination_check_step>] [-e] [-F <fairness_file>] [-S <sat_solver>] [-E <encoding>] [-C <clause_type>] [-I <inc_level>] [-d <dbg_level>] [-t <timeOutPeriod>] [-o <cnf_file>] [-i] <ltl_file>
Performs a SAT-based LTL bounded model checking (BMC) on
a flattened network. This command looks for a counterexample of length
k ( minimum_length ≤ k ≤ maximum_length). If
-r is specified, this command performs check for termination
after each termination_check_step . If no counterexample is
found, this command increases k by step_value (specifies by
the -s option) until a counterexample is found, the search
becomes intractable (timed out), or k reaches a bound
(determine by the check for termination), and then we conclude that the LTL
property passes.
This command implements the basic encoding of Bounded Model Checking (BMC) as
descibed in the paper "Symbolic Model Checking without BDDs". However, the
-E option can be used to select other encoding scheme. We
also applied some of the improvements in the BMC encoding described in the
paper "Improving the Encoding of LTL Model Checking into SAT".
To prove that an LTL property passes, we implement the termination methods
that are descirebed in the papers "Checking Safety Properties Using Induction
and a SAT-Solver" and "Proving More Properties with Bounded Model Checking".
Before calling this command, the user should have initialized the design by
calling the command
build_partition_mdds, and then calling the command
build_partition_maigs.
Command options:
<minimum_length>
<maximum_length>
<step_value>
<termination_check_step>
<sat_solver>
sat_solver must be one of the following:
0: CirCUs (Default)
1: zChaff
<encoding>
encoding must be one of the following:
0: The original BMC encoding (Default)
1: SNF encoding
2: Fixpoint encoding
<clause_type>
encoding must be one of the following:
0: Apply CirCUs SAT solver on circuit (Default)
1: Apply SAT solver on CNF generated form circuit
2: Apply SAT solver on CNF
<inc_level>
encoding must be one of the following:
1: Trace Objective (Default)
2: Distill
3: Trace Objective + Distill
<fairness_file>
<fairness_file>. Each
formula in the file is a condition that must hold infinitely often on a fair
path.
<cnf_file>
Save CNF formula in <cnf_file>
<timeOutPeriod>
<verbosity_level>
verbosity_level must be one of the following:
0: No feedback provided. This is the default.
1: Feedback on code location.
2: Feedback on code location and CPU usage.
<dbg_level>
dbg_level must be one
of the following:
0: No debugging performed.
dbg_level=0 is the default.
1: Debugging with minimal output: generate counter-example
if the LTL formula fails and the counterexample length.
<ltl_file>