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 Here4
  • UVM Foundations14
  • UVM Phases & Simulation Lifecycle26
  • Factory & Configuration15
  • Transaction-Level Modeling (TLM)13
  • UVM Sequences & Stimulus21
  • UVM Agents & Protocol VIP21
    • Agent Architecture
    • Reusable VIP: Active, Passive and Protocol Agents
      • Active and Passive in Delivery: What a VIP Owes Its Integrator
      • Two Passive Monitors, One Bus
      • VIP Parameterization: Widths Up Front, Behavior at Runtime
      • Protocol Agent Patterns: APB, AXI and Streaming
      • Versioning, Delivery and Release Readiness
    • Error and Fault Injection
    • Agent Patterns: Slaves, Reset, Interrupts and Pipelines
  • Environment & Test Classes11
  • Checking & Coverage in UVM21
  • UVM Register Abstraction Layer (RAL)22
  • Advanced UVM in Practice13
  • Debug & Regression10
  • Coding Practice47
  • Verification in Industry Practice10
  • Senior Prep: Architecture, Leadership and Interviews32
Loading lesson

‹UVM Agents & Protocol VIP
  1. Topics
  2. UVM Verification
  3. UVM Agents & Protocol VIP
  4. Reusable VIP: Active, Passive and Protocol Agents

Part 6 · Agents & Protocol IP · Intermediate

Reusable VIP: Active, Passive and Protocol Agents

What it takes for one agent package to serve a block bench, a subsystem and a chip: passive delivery, parameters and knobs, protocol shapes, and releases.

  • 5topics
  • 5lessons
On this page

    The DMA bench's stream agent drives data into the DMA at block level, watches the DMA's output passively, and, in the two-DMA subsystem bench, watches a bus that no testbench component drives at all. Same class, three jobs, zero edits. That is what VIP (verification IP) means: an agent packaged so that other benches, other teams and other projects can use it without opening the source. This topic is about the decisions that make that true.

    What you will be able to do

    • Say exactly what a VIP must guarantee before an integrator can switch it to passive at subsystem or chip level.

    • Place two passive monitors on one bus on purpose, and know what that costs and what it buys.

    • Decide which variation points are parameters and which are configuration knobs, and live with the factory's limits on parameterized classes.

    • Name what each common protocol agent (APB, AXI, AXI-Stream) must get right, and where protocol rules should be checked.

    • Ship a VIP release that consumers can upgrade on purpose: versions, deprecation shims, a library-version check and a qualification gate.

    The picture: one agent, three deployments

    Three panels: at block level the input agent is active and the output agent passive; in the two-DMA subsystem only dma0's input agent is active; at chip level every stream agent is passive and bound to the RTL.
    The same axis_agent class at three levels. The higher the level, the more of the bus belongs to real RTL and the more agents turn passive.

    The lessons, in order

    Lesson

    What it covers

    Active and Passive in Delivery

    What a VIP owes its integrator for passive reuse: no drives from the interface, a self-sufficient monitor, input-only binding at chip level.

    Two Passive Monitors, One Bus

    The subsystem bench's middle bus, watched by dma0.out_agt and dma1.in_agt; why both stay, and how not to double count.

    VIP Parameterization

    Parameters versus knobs, max-width builds, parameterized classes and the factory, and a validated config object.

    Protocol Agent Patterns

    What APB, AXI and AXI-Stream agents must each get right, item granularity, and protocol checks in the interface.

    Versioning and Delivery

    Semantic versions, deprecation shims, UVM-library checks, encrypted delivery and the release gate.

    Tip

    How an agent builds itself in active or passive mode is taught once, in Mode-gated build. This topic starts where that one ends: what has to be true around the agent for the mode switch to be safe in someone else's bench.

    Related topics

    • Up: Agents & Protocol VIP

    • Previous topic: Agent Architecture

    • Next topic: Error and Fault Injection

    PreviousNext: Active and Passive in Delivery: What a VIP Owes Its Integrator

    Up next

    Up nextActive and Passive in Delivery: What a VIP Owes Its Integrator

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Agent Architecture
    • Error and Fault Injection
    • Agent Patterns: Slaves, Reset, Interrupts and Pipelines