Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
    • Coherency Scoreboards and Reference Models
    • Formal Properties for Coherency Safety
    • Coverage Closure and Waiver Governance
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Cache Coherency
  1. Topics
  2. Cache Coherency
  3. Verification

Part 11 · Verification · All levels

Verification

Check coherence by values, prove its invariants on small models, and close coverage on the races where the bugs live.

  • 3topics
  • 12lessons

Topics in this section

  1. 1Coherency Scoreboards and Reference Models4 lessons
    • Check Values, Not States
    • A Reference Model in Python
    • Random Traffic and Injected Bugs
    • Scoreboard Architecture
  2. 2Formal Properties for Coherency Safety4 lessons
    • SWMR as an Assertion
    • Safety Versus Liveness
    • Assumptions and Vacuity
    • Small Models and Parameters
  3. 3Coverage Closure and Waiver Governance4 lessons
    • State and Transition Coverage
    • Race and Cross Coverage
    • Directed Race Stress
    • Closure Evidence

A coherence protocol can look right in every trace drawn so far and still be wrong in an interleaving nobody drew. This part turns the course's invariants into checks: a reference model and a value checker that judge every load, formal properties for SWMR and the data-value invariant on small models, and a coverage plan built from the protocol table and its races. The Python models here run in the course checks, and each protocol model is shown catching a deliberately injected bug.

Learning path through the three Part 11 topics.
Suggested order: value checking and the reference model, then formal safety and liveness, then coverage and sign-off evidence.

Twelve lessons

Lesson

After it you can...

Check Values, Not States

Explain why a checker must judge every load's value.

A Reference Model in Python

Run a small protocol model with a golden value checker.

Random Traffic and Injected Bugs

Show that the checker catches each injected bug.

Scoreboard Architecture

Place monitors and checkers in a real testbench.

SWMR as an Assertion

Write SWMR and the data-value invariant as properties.

Safety Versus Liveness

Separate safety from liveness and state the fairness needed.

Assumptions and Vacuity

Spot over-constraint and vacuous passes.

Small Models and Parameters

Model-check a tiny protocol and read a counterexample.

State and Transition Coverage

Derive a coverage model from the protocol table.

Race and Cross Coverage

Cover the races that random traffic rarely hits.

Directed Race Stress

Choose knobs that make races happen.

Closure Evidence

Assemble sign-off evidence and review a waiver.

General verification method (scoreboards, coverage, formal) is taught in the First Principles of Verification Strategy course; this part applies it to coherence and links there instead of repeating it.

Check yourself A regression of a billion random transactions passed with no checker failure. What must you still show before calling the protocol verified?

That the checker actually judges values (not only states), that the races in the protocol table were exercised (race and cross coverage), that assertions were not vacuous, and that SWMR holds on a small model by proof. A large passing number alone shows only that the traffic it generated did not expose a bug.

Related topics

  • Shared course model

  • SWMR and the data-value invariant

  • Races and controllers

  • First Principles of Verification Strategy

PreviousNext: Coherency Scoreboards and Reference Models

Up next

Up nextCoherency Scoreboards and Reference Models

Sign in to save progress

Practice this lessonReport an error

See also

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary