mirror of
https://github.com/YosysHQ/yosys
synced 2025-11-03 04:57:53 +00:00
smtbmc: Add native json based witness format + smt2 backend support
This adds a native json based witness trace format. By having a common
format that includes everything we support, and providing a conversion
utility (yosys-witness) we no longer need to implement every format for
every tool that deals with witness traces, avoiding a quadratic
opportunity to introduce subtle bugs.
Included:
* smt2: New yosys-smt2-witness info lines containing full hierarchical
paths without lossy escaping.
* yosys-smtbmc --dump-yw trace.yw: Dump results in the new format.
* yosys-smtbmc --yw trace.yw: Read new format as constraints.
* yosys-witness: New tool to convert witness formats.
Currently this can only display traces in a human-readable-only
format and do a passthrough read/write of the new format.
* ywio.py: Small python lib for reading and writing the new format.
Used by yosys-smtbmc and yosys-witness to avoid duplication.
This commit is contained in:
parent
96a1173598
commit
f041e36c6e
9 changed files with 983 additions and 113 deletions
|
|
@ -11,6 +11,10 @@ Yosys 0.20 .. Yosys 0.20-dev
|
|||
* Formal Verification
|
||||
- Added $anyinit cell to directly represent FFs with an unconstrained
|
||||
initialization value. These can be generated by the new formalff pass.
|
||||
- New JSON based yosys witness format for formal verification traces.
|
||||
- yosys-smtbmc: Reading and writing of yosys witness traces.
|
||||
- write_smt2: Emit inline metadata to support yosys witness trace.
|
||||
- yosys-witness is a new tool to inspect and convert yosys witness traces.
|
||||
|
||||
Yosys 0.19 .. Yosys 0.20
|
||||
--------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue