mirror of
https://github.com/YosysHQ/yosys
synced 2026-03-01 19:26:55 +00:00
Cleanup docs.
This commit is contained in:
parent
e6e57b33e3
commit
2b4f481850
3 changed files with 19 additions and 27 deletions
|
|
@ -930,12 +930,9 @@ struct AigerBackend : public Backend {
|
|||
log(" make indexes zero based, enable using map files with smt solvers.\n");
|
||||
log("\n");
|
||||
log(" -ywmap <filename>\n");
|
||||
log(" write a map file for conversion to and from yosys witness traces.\n");
|
||||
log(" The generated JSON map includes \"asserts\" and \"assumes\" arrays\n");
|
||||
log(" containing the hierarchical witness paths of the corresponding\n");
|
||||
log(" $assert and $assume cells. This enables downstream tools to map\n");
|
||||
log(" AIGER bad-state properties and invariant constraints back to\n");
|
||||
log(" individual formal properties by name.\n");
|
||||
log(" write a map file for conversion to and from yosys witness traces,\n");
|
||||
log(" also allows for mapping AIGER bad-state properties and invariant\n");
|
||||
log(" constraints back to individual formal properties by name.\n");
|
||||
log("\n");
|
||||
log(" -I, -O, -B, -L\n");
|
||||
log(" If the design contains no input/output/assert/flip-flop then create one\n");
|
||||
|
|
|
|||
|
|
@ -121,29 +121,29 @@ Result with fixed :file:`axis_master.v`:
|
|||
Witness framework and per-property tracking
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using AIGER-based formal verification flows (such as the ``abc`` engine in
|
||||
SymbiYosys), Yosys provides infrastructure for tracking individual formal
|
||||
When using AIGER-based formal verification flows (such as the `abc` engine in
|
||||
SBY), Yosys provides infrastructure for tracking individual formal
|
||||
properties through the verification pipeline.
|
||||
|
||||
The ``rename -witness`` pass (run automatically by ``prep``) assigns public
|
||||
The `rename -witness` pass (run automatically by `prep`) assigns public
|
||||
names to all cells that participate in the witness framework:
|
||||
|
||||
- Witness signal cells: ``$anyconst``, ``$anyseq``, ``$anyinit``,
|
||||
``$allconst``, ``$allseq``
|
||||
- Formal property cells: ``$assert``, ``$assume``, ``$cover``, ``$live``,
|
||||
``$fair``, ``$check``
|
||||
- Witness signal cells: `$anyconst`, `$anyseq`, `$anyinit`,
|
||||
`$allconst`, `$allseq`
|
||||
- Formal property cells: `$assert`, `$assume`, `$cover`, `$live`,
|
||||
`$fair`, `$check`
|
||||
|
||||
These public names allow downstream tools to refer to individual properties by
|
||||
their hierarchical path rather than by anonymous internal identifiers.
|
||||
|
||||
The ``write_aiger -ywmap`` option generates a JSON map file that includes, among
|
||||
The `write_aiger -ywmap` option generates a JSON map file that includes, among
|
||||
other things, ``"asserts"`` and ``"assumes"`` arrays. Each entry contains the
|
||||
hierarchical witness path of the corresponding ``$assert`` or ``$assume`` cell.
|
||||
This lets tools such as SymbiYosys map AIGER bad-state properties and invariant
|
||||
hierarchical witness path of the corresponding `$assert` or `$assume` cell.
|
||||
This lets tools such as SBY map AIGER bad-state properties and invariant
|
||||
constraints back to individual formal properties, enabling features like
|
||||
per-property pass/fail reporting (e.g. ``abc pdr`` with ``--keep-going`` mode).
|
||||
per-property pass/fail reporting (e.g. `abc pdr` with ``--keep-going`` mode).
|
||||
|
||||
The ``write_smt2`` backend similarly uses the public witness names when emitting
|
||||
The `write_smt2` backend similarly uses the public witness names when emitting
|
||||
``yosys-smt2-assert`` and ``yosys-smt2-assume`` comments. Cells whose
|
||||
``hdlname`` attribute contains the ``_witness_`` marker are treated as having
|
||||
private names for comment purposes, keeping solver output clean.
|
||||
|
|
|
|||
|
|
@ -262,15 +262,10 @@ struct RenamePass : public Pass {
|
|||
log("\n");
|
||||
log(" rename -witness\n");
|
||||
log("\n");
|
||||
log("Assigns auto-generated names to all $any*/$all* output wires and containing\n");
|
||||
log("cells that do not have a public name. Also renames formal property cells\n");
|
||||
log("($assert, $assume, $cover, $live, $fair, $check) that have private names,\n");
|
||||
log("giving them public witness-trackable names.\n");
|
||||
log("\n");
|
||||
log("This ensures that, during formal verification, a solver-found trace can be\n");
|
||||
log("fully specified using public hierarchical names, and that individual property\n");
|
||||
log("results can be tracked by name in flows that support per-property reporting\n");
|
||||
log("(e.g. SBY with abc pdr in --keep-going mode).\n");
|
||||
log("Assigns auto-generated names to objects used in formal verification\n");
|
||||
log("that do not have a public name. This applies to all formal property\n");
|
||||
log("cells ($assert, $assume, $cover, $live, $fair, $check), $any*/$all*\n");
|
||||
log("output wires, and their containing cells.\n");
|
||||
log("\n");
|
||||
log("\n");
|
||||
log(" rename -hide [selection]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue