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
    • TLM 1: Ports, Exports and Analysis
    • TLM 2.0 Sockets
      • Initiator and Target Sockets
      • Blocking Transport
      • Non-Blocking Transport
      • Temporal Decoupling
      • TLM 2.0 Generic Payload: Extensions and Status
  • UVM Sequences & Stimulus21
  • UVM Agents & Protocol VIP21
  • 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

‹Transaction-Level Modeling (TLM)
  1. Topics
  2. UVM Verification
  3. Transaction-Level Modeling (TLM)
  4. TLM 2.0 Sockets

Part 4 · TLM & Analysis · Intermediate

TLM 2.0 Sockets

Initiator and target sockets, blocking and non-blocking transport, timing annotation and temporal decoupling, and the generic payload with its status codes and extensions, as UVM-SV provides them.

  • 5topics
  • 5lessons
On this page

    A DV engineer meets TLM 2.0 when the bench has to talk to something that was not written in UVM: a SystemC model of the DMA's register block from the virtual-platform team, a C++ reference model wrapped for co-simulation, or the register layer's own uvm_reg_tlm_adapter. TLM 2.0 standardizes one memory-mapped transaction, the generic payload, and a timing contract, so models from different teams plug together. UVM-SV implements a subset of it. This topic covers that subset, and where it stops.

    What you will be able to do

    • Declare and bind initiator, target and passthrough sockets, and predict what connect() refuses.

    • Write a b_transport target and initiator that agree on who consumes the annotated delay.

    • Follow a non-blocking transfer through its phases, including the legal shortcuts.

    • Explain temporal decoupling and why UVM-SV has no quantum keeper.

    • Build a generic payload correctly, return the right response status, and carry sideband data in an extension.

    Learning path: sockets first, then the generic payload, then blocking transport, then non-blocking transport and temporal decoupling.
    Start with sockets. The generic payload lesson can be read next or last; blocking transport comes before the non-blocking and decoupling lessons.

    The lessons

    Lesson

    What you learn

    Initiator and target sockets

    What a socket bundles, the socket classes, passthrough sockets, and binding rules.

    Blocking transport

    b_transport, uvm_tlm_time, and the two ways to account for delay.

    Non-blocking transport

    The four phases, sync return values, and the 3-, 2- and 1-call shortcuts.

    Temporal decoupling

    Running ahead of simulation time with a local offset and a quantum, and loosely versus approximately timed.

    Generic payload: extensions and status

    Fields and accessors, response status codes, byte enables, streaming width, uvm_tlm_extension, and what SystemC has that UVM-SV does not.

    Interview

    The one-sentence screen: TLM 2.0 sockets carry a standard memory-mapped payload with a timing annotation between one bound initiator and one target; TLM 1 ports carry any transaction type with direct flow control or broadcast. Follow-ups usually probe early completion in nb_transport, response status, and extensions.

    Related topics

    • Up: Transaction-Level Modeling

    • Previous topic: TLM 1

    PreviousNext: Initiator and Target Sockets

    Up next

    Up nextInitiator and Target Sockets

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • TLM 1: Ports, Exports and Analysis