| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ABC9: RAMB36E1 Bug Patch
* Add simplified testcase
* Also fix xaiger writer for under-width output ports
* Remove old testcase
* Missing top-level input port
* Fix tabs
---------
Co-authored-by: Eddie Hung <eddie@fpgeh.com>
|
| |
|
|
|
|
|
| |
While bwmuxmap generates equivalent logic, it doesn't propagate x bits
in the same way, which can be relevant when writing verilog.
|
|
|
|
|
|
|
| |
This should fix #3648 where when calling `emit_elaborated_extmodules` it
checks to see if a module is a black-box, however there was no
validation that the cell type was actually known, and it just always
assumed that we would get a valid instance, causing a segfault.
|
|\
| |
| | |
smt2: Fix operation width computation for boolean producing cells
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The output width for the boolean value should not influence the
operation width. The previous incorrect width extension would still
produce correct results, but could produce invalid smt2 output for
reduction operators when the output width was larger than the width of
the vector to which the reduction was applied.
This fixes #3654
|
|/ |
|
|\
| |
| | |
Changes to support SBY trace generation with the sim command
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Fixed $cover handling
* Improved sparse memory handling when writing traces
* JSON summary output
|
| | |
|
| | |
|
| |
| |
| |
| | |
Without x-bits they are equivalent
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is not valid when the prefix of a trace already violates
assertions. This can happen when the trace generating solver doesn't
look for a minimal length counterexample.
|
|
|
| |
I have added an optional flag to smtbmc that causes failed temporal induction counterexample traces to be checked for duplicate states and reported to the user, since loops in the counterexample mean that increasing the induction depth won't help prove a design's safety properties.
|
|
|
|
|
| |
The "uninitialized" value is a _list_ of chunks that are part of the
initial state for the witness trace.
|
|
|
|
|
|
|
| |
The witness metadata was missing fine grained FFs completely and for
coarse grained FFs where the output connection has multiple chunks it
lacked the offset of the chunk within the SMT expression. This fixes
both, the later by adding an "smtoffset" field to the metadata.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Uses the regex below to search (using vscode):
^\t\tlog\("(.{10,}(?<!\\n)|.{81,}\\n)"\);
Finds any log messages double indented (which help messages are)
and checks if *either* there are is no newline character at the end,
*or* the number of characters before the newline is more than 80.
|
|
|
|
| |
This broke while switching sby's formal flows to always use $_FF_'s.
|
| |
|
| |
|
|
|
|
|
| |
This verifies that the given constraints force an assertion failure.
This is useful to debug witness trace conversion (and minimization).
|
|
|
|
|
| |
Adds a new json based aiger map file and yosys-witness converters to us
this to convert between native and AIGER witness files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 attribute can be used by formal backends to indicate which clocks
were mapped to the global clock. Update the btor and smt2 backend which
already handle clock inputs to understand this attribute.
|
| |
|
| |
|
|\
| |
| | |
jny: Added JNY schema and additional information to JNY output file
|
| |
| |
| |
| | |
well as a "$schema" entry to point to the location the schema will be at
|
|/
|
|
| |
Fixes #3431, fixes #3344
|
| |
|
|
|
|
|
|
|
|
| |
This approach had major issues with ROMs whose initialization was not
fully defined. If required, memory_map -rom-only -keepdc should be
called early in a formal flow instead. (This does require a careful
choice of optimization passes though. Sby's scripts will be updated
accordingly.)
|
|
|
|
| |
Use it when invoking memory_map -rom-only from write_{smt2,btor}.
|
| |
|
|
|
|
|
|
| |
This avoids provability regressions now that we infer more ROMs.
This fixes #3378
|
| |
|
|\
| |
| | |
smtbmc: recognize cvc5 and fix unrolling for cvc4/cvc5
|
| | |
|
| | |
|