[Libre-soc-bugs] [Bug 835] add support for smtlib2 floating-point to yosys and nmigen
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon May 23 11:05:00 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=835
--- Comment #11 from Jacob Lifshay <programmerjake at gmail.com> ---
Added smtlib2 subexpression interning to avoid exponential blowup for things
like:
a = SmtBitVec.make(sig)
for i in range(100):
# would create 2 ** 100 subexpressions without interning
a *= a
https://gitlab.com/nmigen/nmigen/-/merge_requests/7/diffs?commit_id=4022161b8ad467d44c65c76b3a8faf37a791144e
Found an issue with nmigen's // operator in formal proofs (it maps to yosys's
$divfloor operator):
https://github.com/YosysHQ/yosys/issues/3330
so I had to use a workaround in the tests.
I'm realizing that this is getting a bit (but not a lot) bigger than
expected...
1340 lines of new tests
(all of SmtBool, nearly all of SmtReal, no other smtlib2 types yet)
2618 lines in nmigen/hdl/smtlib2.py (completed afaict)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list