-
Hello! Is there a convenient way to output the SMT/SAT problems that are solved as part of the Bluespec compilation process? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Shouldn't be too difficult, since bsc is using 3rd party SAT solvers anyway (Yices or STP), i.e., it must be preparing the problems for those solvers anyway. Hopefully someone else can comment on what's needed to output these separately. |
Beta Was this translation helpful? Give feedback.
-
There are trace flags that developers have inserted, for helping to debug the behavior of BSC. One of those is These traces happen in the modules The packages not only convert the BSC structure to the solver structure, but they also export a set of query functions. For
For
The FYI, the SMT/SAT solvers are imported in three abstraction layers:
These
|
Beta Was this translation helpful? Give feedback.
-
Please do let us know (if it is not proprietary), briefly, what you're planning to do with this! We like to keep abreast of the BSV/BH/bsc compiler community's activities. |
Beta Was this translation helpful? Give feedback.
There are trace flags that developers have inserted, for helping to debug the behavior of BSC. One of those is
-trace-smt-test
, which prints information when queries are made. There's no guarantee that this will dump everything, but I had a quick look and it seems fairly good. (As these are trace output for developers, in theory they could change, so you should not rely on the format of the output; but in practice they haven't changed in a long time.) You could also go into the BSC source and insert more print statements, if you need something that's not being traced.These traces happen in the modules
AExpr2Yices.hs
andPred2Yices.hs
(for the Yices solver, orAExpr2STP.hs
andPred2STP.hs
…