Skip to content
Rivoryxa Technologies

Formal verification and SVA

Check the rules your block must satisfy, including scenarios simulation may miss.

How the check works

A proof is only meaningful within its assumptions.

A state graph is checked against a property document. An amber route illustrates a counterexample recorded as a sequence of states.
  1. Define the conditions

    State the design rule and the environment assumptions.

  2. Check the property

    Search for a violating sequence and assess trigger reachability.

  3. Read the result

    Record a proof, counterexample, bounded result, or unresolved check.

Concept illustration. A bounded pass covers only the checked depth. Cover checks help expose properties that never had a chance to fire.

What you receive

  • The property file and the formal tool configuration.
  • A proof log for each property, or the depth reached and why.
  • Cover results showing which property triggers were reached and which remain unresolved.
  • A counterexample trace when the tool finds a property violation.

When this is useful

  • Control logic, an arbiter, or a protocol state machine keeps producing late bugs.
  • A formal run passes but nobody can say what it actually checked.
  • You want the same checks to keep running in your regression.
Problem, approach, and required inputs

The problem

A green simulation only shows the design worked on the tests someone wrote. For control logic, handshakes, and arbiters, the failing case is often one nobody thought to test. A formal pass can also mean nothing if the property was never able to fire.

What we do

We express design requirements as properties and agree the environment assumptions. Relevant cover checks assess whether property triggers can occur. The report distinguishes unbounded proofs, bounded results, failures, and unresolved checks, including unreached triggers. Property integration is agreed for the selected tool flow.

Inputs agreed after scoping and NDA

  • The block, under NDA.
  • Its specification or interface description.

Related public demonstration

Public demonstration, not a client result

From a missed timer interrupt to a verified fix

A RISC-V machine timer with a seeded bug, taken from failing test to counterexample, root cause, proven fix, and closed coverage holes.

More problems you can reproduce

Technical details

How the result is checked

Proof logs and cover traces are kept exactly as the tool produced them. The SystemVerilog Assertions (SVA), configuration, and run instructions are included for the agreed tool flow.

Tools used for this kind of work

  • SymbiYosys
  • Yosys
  • z3
  • SystemVerilog Assertions

Scripts are handed over as agreed in the scope. Properties are standard SystemVerilog Assertions and can be adapted to a commercial tool. If we have not tested your simulator or flow, the scope says so.

Discuss this problem.

Tell us what you are trying to verify and what is blocking you. A person replies, and the scope comes back in writing after a call.

Discuss a verification problem