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

  • Start Here6
  • SystemVerilog Language Foundations28
  • Object-Oriented SystemVerilog for Verification30
  • Constraint Randomization — Interview-Critical Deep Dive36
  • SystemVerilog Assertions — Interview-Critical Deep Dive40
  • Functional Coverage in SystemVerilog22
  • Testbench Architecture in SystemVerilog23
  • Advanced Language & Integration25
  • Senior & Interview Preparation21
  • Principal-Level Verification28
    • Reusable Testbench Architecture
    • Checking Out-of-Order Traffic
      • ID-Tagged Scoreboard
      • Multi-Stream Scoreboard
      • Drain and Leak Accounting
      • Memory-Model Checker
    • Assertion Depth
    • Coverage Modelling for Real Features
    • Capstone: Out-of-Order Memory Controller
    • Principal Judgment
Loading lesson

‹Principal-Level Verification
  1. Topics
  2. SystemVerilog
  3. Principal-Level Verification
  4. Checking Out-of-Order Traffic

Part 9 · Principal-Level Verification · Advanced

Checking Out-of-Order Traffic

ID-tagged and multi-stream scoreboards, end-of-test drain and leak accounting, and byte-strobe memory models.

  • 4topics
  • 4lessons

Real interconnects keep many transactions in flight and return them out of order. A scoreboard that expects one global order fails on a correct design; one that accepts any order misses real ordering bugs. This topic builds checkers that encode exactly the ordering the protocol promises, and nothing looser.

Diagram
WHAT THE PROTOCOL PROMISES            WHAT THE CHECKER MUST DO

  same ID / same stream   -> in order   one queue per key, compare the head
  different IDs / streams -> any order  never compare across keys
  every request answered once           count per key; drain to zero at the end
  reads see accepted writes             model updated at the ordering point

Lesson

What it covers

ID-Tagged Scoreboard

An associative array of queues keyed by ID: in order within an ID, any order across IDs.

Multi-Stream Scoreboard

Routing predictor and per-stream queues for a 2-in, 3-out router; catching a misroute.

Drain and Leak Accounting

Issue times, watchdogs and a drain report that names a leaked tag and a hung stream.

Memory-Model Checker

A sparse byte-level model with strobes, and where to snapshot it when writes are posted.

Check yourself A DUT may return responses for different IDs in any order but must keep each ID in order. Which two scoreboards are wrong for it, and how does each fail?

A single global FIFO fails on legal cross-ID reordering, so it raises false errors. An any-order search (match the item anywhere) passes a within-ID swap, so it misses real bugs. The right shape is one FIFO per ID.

Interview

A common principal-level question: "Design the checking for an interconnect with outstanding, out-of-order transactions." A strong answer names the ordering key, the queue per key, the predictor that assigns each item to a key, the end-of-test accounting, and how you prove the checker can fail.

Related topics

  • Part 9: Principal-Level Verification

  • Scoreboard Architecture (Part 5)

  • Associative Arrays

PreviousNext: ID-Tagged Scoreboard

Up next

Up nextID-Tagged Scoreboard

Sign in to save progress

Practice this lessonReport an error

See also

  • Reusable Testbench Architecture
  • Assertion Depth
  • Coverage Modelling for Real Features