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
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
    • Capstone Brief
    • Build the Model
    • Find the Races
    • Fix and Compare
    • Write the Design Memo
Loading lesson

‹Cache Coherency
  1. Topics
  2. Cache Coherency
  3. Capstone: A Coherent Model Lab

Part 14 · Capstone · All levels

Capstone: A Coherent Model Lab

Build a three-core MESI directory model with a golden checker, find three planted races, fix them, compare MESI and MOESI traffic and write the design memo.

  • 5topics
  • 5lessons
On this page

    The capstone turns the course into one piece of work you can show. You write a runnable model of a three-core MESI directory protocol on the course model, with a checker that judges every value after every event. Then you switch on three planted defects, the kinds of race that reach silicon, and find each with the right check: a lost invalidation and a stale writeback by the value checker, a buffer deadlock by a progress check. You fix them, measure what MOESI would change on the same trace, and write the memo a design review would ask for.

    Learning path through the five capstone lessons: brief, build the model, find the races, fix and compare, design memo.
    The five steps, in order: each one uses the output of the one before.

    Five steps

    Lesson

    After it you can...

    Time (estimate)

    Capstone Brief

    State the system, the deliverables and how they are graded.

    30 minutes

    Build the Model

    Run a MESI directory model with a golden checker and show the races occur.

    2 to 3 hours

    Find the Races

    Find each planted defect with the right check and reduce it to a trace.

    2 hours

    Fix and Compare

    Restore the broken rules, prove the fix, and compare MESI and MOESI traffic.

    1 to 2 hours

    Write the Design Memo

    Write a two-page memo with a recommendation, risks and a verification plan.

    1 to 2 hours

    About 7 to 9 hours in total if you write your own model; about 2 hours to read and run the worked solution. The estimates are a guide, not a measurement.

    Prerequisites

    • The course model and its notation.

    • SWMR and the data-value invariant (Part 2), upgrades, forwarding and writebacks (Part 3), races and controller resources (Part 4), deadlock and message classes (Part 5).

    • The Part 11 reference model, which this one extends. Python 3 with the standard library only.

    Check yourself All three planted defects make some run fail. Why does the lab insist that each is caught by a particular check, not just by any check?

    Because the point is to prove each check can fire on the bug class it exists for. If the lost invalidation were only ever caught by an end-of-run check, nobody would know whether the per-event value checker works; if the deadlock were only caught by a timeout, the progress check would be unproven. Matching each bug to its intended check measures the testbench, not just the design.

    Related topics

    • Shared course model

    • Part 11: Verification

    • Part 5: a protocol deadlock

    • Writing a design memo

    PreviousNext: Capstone Brief

    Up next

    Up nextCapstone Brief

    Sign in to save progress

    Practice this lessonReport an error

    See also

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