3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-06-01 14:47:53 +00:00

Cleanup docs.

This commit is contained in:
nella 2026-02-18 09:24:41 +01:00
parent e6e57b33e3
commit 2b4f481850
3 changed files with 19 additions and 27 deletions

View file

@ -930,12 +930,9 @@ struct AigerBackend : public Backend {
log(" make indexes zero based, enable using map files with smt solvers.\n"); log(" make indexes zero based, enable using map files with smt solvers.\n");
log("\n"); log("\n");
log(" -ywmap <filename>\n"); log(" -ywmap <filename>\n");
log(" write a map file for conversion to and from yosys witness traces.\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(" also allows for mapping AIGER bad-state properties and invariant\n");
log(" containing the hierarchical witness paths of the corresponding\n"); log(" constraints back to individual formal properties by name.\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("\n"); log("\n");
log(" -I, -O, -B, -L\n"); log(" -I, -O, -B, -L\n");
log(" If the design contains no input/output/assert/flip-flop then create one\n"); log(" If the design contains no input/output/assert/flip-flop then create one\n");

View file

@ -121,29 +121,29 @@ Result with fixed :file:`axis_master.v`:
Witness framework and per-property tracking Witness framework and per-property tracking
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When using AIGER-based formal verification flows (such as the ``abc`` engine in When using AIGER-based formal verification flows (such as the `abc` engine in
SymbiYosys), Yosys provides infrastructure for tracking individual formal SBY), Yosys provides infrastructure for tracking individual formal
properties through the verification pipeline. 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: names to all cells that participate in the witness framework:
- Witness signal cells: ``$anyconst``, ``$anyseq``, ``$anyinit``, - Witness signal cells: `$anyconst`, `$anyseq`, `$anyinit`,
``$allconst``, ``$allseq`` `$allconst`, `$allseq`
- Formal property cells: ``$assert``, ``$assume``, ``$cover``, ``$live``, - Formal property cells: `$assert`, `$assume`, `$cover`, `$live`,
``$fair``, ``$check`` `$fair`, `$check`
These public names allow downstream tools to refer to individual properties by These public names allow downstream tools to refer to individual properties by
their hierarchical path rather than by anonymous internal identifiers. 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 other things, ``"asserts"`` and ``"assumes"`` arrays. Each entry contains the
hierarchical witness path of the corresponding ``$assert`` or ``$assume`` cell. hierarchical witness path of the corresponding `$assert` or `$assume` cell.
This lets tools such as SymbiYosys map AIGER bad-state properties and invariant This lets tools such as SBY map AIGER bad-state properties and invariant
constraints back to individual formal properties, enabling features like 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 ``yosys-smt2-assert`` and ``yosys-smt2-assume`` comments. Cells whose
``hdlname`` attribute contains the ``_witness_`` marker are treated as having ``hdlname`` attribute contains the ``_witness_`` marker are treated as having
private names for comment purposes, keeping solver output clean. private names for comment purposes, keeping solver output clean.

View file

@ -262,15 +262,10 @@ struct RenamePass : public Pass {
log("\n"); log("\n");
log(" rename -witness\n"); log(" rename -witness\n");
log("\n"); log("\n");
log("Assigns auto-generated names to all $any*/$all* output wires and containing\n"); log("Assigns auto-generated names to objects used in formal verification\n");
log("cells that do not have a public name. Also renames formal property cells\n"); log("that do not have a public name. This applies to all formal property\n");
log("($assert, $assume, $cover, $live, $fair, $check) that have private names,\n"); log("cells ($assert, $assume, $cover, $live, $fair, $check), $any*/$all*\n");
log("giving them public witness-trackable names.\n"); log("output wires, and their containing cells.\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("\n"); log("\n");
log("\n"); log("\n");
log(" rename -hide [selection]\n"); log(" rename -hide [selection]\n");