cd SymbiYosys
sudo make install
+Yices 2
+~~~~~~~
+
+.. code-block:: text
+
+ git clone https://github.com/SRI-CSL/yices2.git yices2
+ cd yices2
+ autoconf
+ ./configure
+ make -j$(nproc)
+ sudo make install
+
Z3
~~
Until I find the time to write install guides for the following packages, this
links must suffice:
- * Yices2: http://yices.csl.sri.com/
* Boolector: http://fmv.jku.at/boolector/
* AIGER: http://fmv.jku.at/aiger/
(``smtbmc boolector`` uses boolector as SMT solver. Note that boolector is
only free-to-use for noncommercial purposes. Use ``smtbmc z3`` to use the
-permissively licensed solver Z3 instead. Z3 is the default solver when no
-argument is used with ``smtbmc``.)
+permissively licensed solver Z3, or use ``smtbmc yices`` to use the
+copyleft licensed solver Yices 2 intead. Yices 2 is the default solver when
+no argument is used with ``smtbmc``.)
Exercise: The engine ``abc bmc3`` does not provide abstract memory models.
Therefore SymbiYosys has to synthesize the memories in the example to FFs
| | | consistency. Values: ``on``, ``off``. Default: ``off`` |
+-------------+------------+---------------------------------------------------------+
| ``aigsmt`` | All | Which SMT2 solver to use for converting AIGER witnesses |
-| | | to counter example traces. Default: ``z3`` |
+| | | to counter example traces. Default: ``yices`` |
+-------------+------------+---------------------------------------------------------+
| ``smtc`` | ``bmc``, | Pass this ``.smtc`` file to the smtbmc engine. All |
| | ``prove``, | other engines are disabled when this option is used. |
def run(job):
job.handle_int_option("depth", 20)
job.handle_int_option("append", 0)
- job.handle_str_option("aigsmt", "z3")
+ job.handle_str_option("aigsmt", "yices")
for engine_idx in range(len(job.engines)):
engine = job.engines[engine_idx]
from sby_core import SbyTask
def run(job):
- job.handle_str_option("aigsmt", "z3")
+ job.handle_str_option("aigsmt", "yices")
job.status = "UNKNOWN"
def run(job):
job.handle_int_option("depth", 20)
job.handle_int_option("append", 0)
- job.handle_str_option("aigsmt", "z3")
+ job.handle_str_option("aigsmt", "yices")
job.status = "UNKNOWN"