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

[circt-bmc] Add support for verif.symbolic_value #8197

Open
fabianschuiki opened this issue Feb 6, 2025 · 2 comments
Open

[circt-bmc] Add support for verif.symbolic_value #8197

fabianschuiki opened this issue Feb 6, 2025 · 2 comments
Labels

Comments

@fabianschuiki
Copy link
Contributor

fabianschuiki commented Feb 6, 2025

The circt-bmc pipeline currently doesn't support symbolic values. This feels like it might actually not be too hard to do, since we already support primary inputs. Would this be something that the externalize register pass would have to handle, such that the symbolic values become top-level inputs?

cc @TaoBi22 @maerhart

@maerhart
Copy link
Member

maerhart commented Feb 6, 2025

Ideally, we'd have a lowering pass from verif.formal to verif.bmc which also deals with the symbolic inputs (which should be relatively easy to implement, the only thing to take care of is probably proper handling the clock signals).

But we already have the FormalToHW lowering pass which creates a module with root inputs from the symbolic values, so running that in the pipeline and then the circt-bmc pipeline by giving it the module name should already work.

@maerhart maerhart changed the title [crict-bmc] Add support for verif.symbolic_value [circt-bmc] Add support for verif.symbolic_value Feb 6, 2025
@fabianschuiki
Copy link
Contributor Author

That's an excellent idea! I forgot about FormalToHW 👍

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

No branches or pull requests

2 participants