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.

Define the conditions
State the design rule and the environment assumptions.
Check the property
Search for a violating sequence and assess trigger reachability.
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