Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

smt2: fix bitwuzla invocation #4589

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

mattyoung101
Copy link

What are the reasons/motivation for this change?

Bitwuzla no longer shares options in common with Boolector. It now requires "--lang smt2" instead of "--smt2", and always runs incrementally by default (see: Bitwuzla news)

I found this because I'm using Bitwuzla 0.5.0-dev-main@69e4be28-dirty (through the AUR bitwuzla-git package), and it currently does not run correctly through eqy.

Explain how this is achieved.

smtio.py is modified to invoke Bitwuzla correctly, taking into account the fact it uses incremental solving by default

If applicable, please suggest to reviewers how they can test the change.

This should be testable by using any sby tools with Bitwuzla. I was using eqy and confirmed it worked with a very small testbench of mine (it's a bit hard to share because it's a Yosys plugin that generates the design on the fly).

Bitwuzla no longer shares options in common with Boolector. It now
requires "--lang smt2", and always runs incrementally by default.
@donn
Copy link
Contributor

donn commented Sep 8, 2024

@mattyoung101
Copy link
Author

mattyoung101 commented Sep 8, 2024

Thanks for the link, unfortunately missed it when searching the issue tracker before making this PR. Do we know if the upstream Bitwuzla performance regression has been fixed? As I understand it, that was the main reason blocking oss-cad-suite from upgrading to a newer Bitwuzla? (edit: and possibly the Meson build system?)

@donn
Copy link
Contributor

donn commented Sep 8, 2024

Honestly don't know, you and I are in the same boat- you could try running @jix's benchmark (it's downloadable)

@KrystalDelusion
Copy link
Member

I clicked the button to run CI, although I suspect that the test-verific run which does run SBY tests will either fail because it's using the older version of Bitwuzla used in OSS CAD suite, or just pass without testing Bitwuzla specifically 😅

@mattyoung101
Copy link
Author

@KrystalDelusion Looks like the CI pipeline has passed, although that probably does mean that Bitwuzla is not tested directly by the Verific tests 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants