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 Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
  • Part 13: Shared State and Coherence9
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
    • Writing an Interface Contract
    • Safety and Liveness
    • Protocol Assertions
    • Monitors and Transaction Reconstruction
    • Ordering-Aware Scoreboards
    • Protocol Coverage
    • Formal Methods for Protocols
    • Compliance and VIP
    • Observability and Tracing
    • A Waveform Debug Method
    • Drills: Specifying and Verifying
  • Part 16: Protocols Dissected17
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹First Principles of Hardware Protocols
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 15: Specifying and Verifying

Part 15 · Specifying and Verifying · All levels

Part 15: Specifying and Verifying

How do we know it is correct? Write a reusable set of handshake and credit assertions.

  • 11topics
  • 11lessons
On this page

    Part 15 answers: How do we know it is correct?

    Where Part 15 sits among the fifteen questions of the course.

    A protocol is only as good as its specification and the evidence that implementations follow it. This part treats both: how to write an interface contract others can build to, and how to check one with assertions, monitors, scoreboards, coverage and formal tools.

    This part covers writing an interface contract, safety and liveness, protocol assertions, monitors, ordering-aware scoreboards, protocol coverage, formal methods, compliance and VIP, observability and a waveform debug method.

    After this part you can

    • Write a reusable set of handshake and credit assertions.

    • Score responses that return out of order.

    • Plan coverage that would convince a reviewer an interface is done.

    Warm-up: three questions from Part 14

    Answer each in your head before opening it. If two or more feel shaky, revisit Part 14: Security and Isolation first.

    Check yourself Where should access permissions be checked?

    At the target or in a firewall in the fabric, using attributes carried with each transaction; never by trusting the requester alone.

    Check yourself Why do devices need an IOMMU?

    So a device can only reach the memory it was given, through translations software controls, rather than any physical address.

    Check yourself What stops one requester from hogging shared bandwidth?

    Regulators (rate limits) and QoS arbitration at the shared points, which cap its share.

    Lessons

    #

    Lesson

    Level

    Status

    15.1

    Writing an Interface Contract

    P · Principal

    Ready

    15.2

    Safety and Liveness

    W · Working

    Ready

    15.3

    Protocol Assertions

    W · Working

    Ready

    15.4

    Monitors and Transaction Reconstruction

    W · Working

    Ready

    15.5

    Ordering-Aware Scoreboards

    S · Senior

    Ready

    15.6

    Protocol Coverage

    S · Senior

    Ready

    15.7

    Formal Methods for Protocols

    S · Senior

    Ready

    15.8

    Compliance and VIP

    S · Senior

    Ready

    15.9

    Observability and Tracing

    P · Principal

    Ready

    15.10

    A Waveform Debug Method

    W · Working

    Ready

    —

    Drills and checkpoint

    all levels

    Ready

    Every lesson in this part is ready. Work through them in order: each one sets up the problem the next one solves.

    Tip

    DCLink in this part. Step 12: assertions, a monitor and an ordering-aware scoreboard. DCLink is the small protocol you build across the course; see How to use this course.

    Where other courses go deeper

    This course teaches why protocols are designed the way they are. These lessons show how to build or sign off the same ideas, so this part links to them instead of repeating them.

    • CDC & RDC: Assertions for Protocols

    • UVM course

    Related topics

    • Course hub

    • Previous: Part 14 · Security and Isolation

    • Next: Part 16 · Protocols Dissected

    PreviousNext: Writing an Interface Contract

    Up next

    Up nextWriting an Interface Contract

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • How to Use This Course
    • Reading Paths
    • Concept Map