Learning Tracks

Formal
Verification

Write properties, prove them for every input with SymbiYosys, and read the counterexample when a proof fails.

Explore the Lessons

Open a module to see its lessons.

Can any input break this rule?

Formal Verification

Explore every input, write properties, read counterexamples and learn what a proof establishes.

56 lessons
  1. F1

    Why Formal, and How It Thinks

    6 lessons
  2. F2

    The Engines: What Runs Under the Hood

    6 lessons

    See what a formal tool builds from RTL, what SAT and SMT solvers answer, and how BMC, k-induction, IC3/PDR and the other engines reach a verdict.

    1. F2.1From RTL to a Transition System
    2. F2.2SAT and SMT in One Lesson
    3. F2.3Bounded Model Checking
    4. F2.4k-Induction
    5. F2.5IC3/PDR: Invariants Found by the Tool
    6. F2.6BDDs, Interpolation and the Engine Zoo
  3. F3

    Writing Properties for Formal

    7 lessons
  4. F4

    Convergence: Making Proofs Finish

    7 lessons

    Find out why a proof stalls, then make it finish with cut points, blackboxes, case splits, assume-guarantee, symbolic constants, abstraction, helper invariants and the right engine, and check every step stays sound.

    1. F4.1Why Proofs Do Not Converge
    2. F4.2Cutpoints and Blackboxes
    3. F4.3Case Splitting and Assume-Guarantee
    4. F4.4Symbolic Constants and Data Independence: The Formal Scoreboard
    5. F4.5Counter, Memory and Parameter Abstraction
    6. F4.6Induction Strengthening in Practice
    7. F4.7Engine Choice and Run Management
  5. F5

    Formal Apps

    9 lessons

    Build each packaged formal app by hand on the open engine: automatic checks, connectivity, registers, X, clock crossings, unreachability, information flow and post-silicon debug.

    1. F5.1The App Map
    2. F5.2Automatic Checks
    3. F5.3Connectivity
    4. F5.4Registers (CSRs)
    5. F5.5X-Propagation
    6. F5.6CDC and RDC with Formal
    7. F5.7Unreachability and Coverage Closure
    8. F5.8Security: Information Flow
    9. F5.9Formal for Post-Silicon Debug
  6. F6

    Equivalence Checking

    5 lessons

    Prove two designs the same: the miter, combinational LEC with matched flops, sequential equivalence with a latency, why multipliers defeat the solvers, conditional equivalence for a bug fix, and mutation coverage of a property set.

    1. F6.1LEC: Combinational Equivalence
    2. F6.2SEC: Sequential Equivalence
    3. F6.3Datapaths: Why Multipliers Hurt
    4. F6.4Proving a Bug Fix Changed Only the Bug
    5. F6.5Mutation Coverage with MCY
  7. F7

    Formal Coverage and Sign-Off

    5 lessons

    Say what a proof covers and what it does not, measure a property set by mutation, argue a bounded sign-off with a required depth, hand formal results to simulation, and write the plan a lead can review.

    1. F7.1What a Proof Covers
    2. F7.2Property Completeness
    3. F7.3The Sign-Off Argument
    4. F7.4Formal with Simulation
    5. F7.5The Formal Verification Plan
  8. F8

    The Classic Blocks, End to End

    7 lessons

    Complete formal benches for the blocks every job has: a FIFO, an arbiter, a timer, handshaking FSMs, APB and AXI4-Lite, a memory controller with a write buffer, and a pipeline. Properties, assumptions, covers, proofs and the bugs they catch, all measured.

    1. F8.1A FIFO, End to End
    2. F8.2An Arbiter: Exclusion, Rotation and Fairness
    3. F8.3Counters, Timers and Shift Registers
    4. F8.4FSMs and Handshake Controllers
    5. F8.5A Bus Interface: APB and AXI4-Lite
    6. F8.6A Memory Controller: One Symbolic Address
    7. F8.7A Pipeline: Instruction-Level Checking
  9. F9

    Capstones and the Job

    4 lessons

    Sign off a register block end to end, prove a packet router with one symbolic packet and a bounded wait, see what design for formal buys in measured seconds, and walk into a formal interview prepared.

    1. F9.1Capstone: Formal Sign-Off of the AXI4-Lite Register Block
    2. F9.2Capstone: End-to-End Proof of a Packet Router
    3. F9.3Design for Formal, and the Formal Engineer's Week
    4. F9.4Formal Interviews and Formal Careers