Part 11 · Senior Prep · Intermediate

TLM & Analysis Interview Hub: Model Answers

Hub — senior interview Q&A on UVM TLM: port/export/imp, put/get/transport, analysis ports, FIFO patterns, debug, and TLM vs direct connections.

Overview

TLM questions test whether you understand dataflow semantics — broadcast vs point-to-point, blocking vs non-blocking, and hierarchy connection rules.

Sub-lessons in this topic

  1. port-export-imp-qa — initiator, forwarder, implementer roles and connect rules.

  2. put-get-transport-qa — blocking flow control, pull model, transport combined ops.

  3. analysis-port-subscriber-qa — broadcast write(), fan-out, subscriber patterns.

  4. fifo-patterns-qa — uvm_tlm_fifo, analysis_fifo, rate matching bridges.

  5. tlm-unconnected-debug-qa — unconnected port errors, analysis write drops.

  6. tlm-vs-direct-qa — when TLM vs direct handle reference or mailbox.

diagram
[INT][SENIOR][UVM] MODEL ANSWER CHAIN

1. MECHANISM   — what it is / how it works (one sentence)
2. MOTIVATION  — why UVM needs this
3. WHEN-TO-USE — when you choose it AND when you skip it
4. PITFALL     — the mistake juniors make
5. EXAMPLE     — one concrete testbench scenario
diagram
[INT][SENIOR][UVM] monitor fan-out (whiteboard drill)

  [UVM] monitor.ap (analysis_port)
           ├────────► scoreboard.act_imp
           ├────────► coverage_subscriber.analysis_export
           └────────► predictor.req_imp  (ref model input)

Key takeaways

  • analysis = broadcast observe; put/get = point-to-point flow control.

  • port → export → imp chain follows UVM hierarchy rules.

  • Draw fan-out from monitor — interviewers expect this diagram.

Common pitfalls

  • Saying analysis_port has backpressure — it does not.

  • Connecting port-to-port without export — compile error or no call.

  • Expecting analysis write to block — zero or more subscribers, no grant.


Interview framing

For TLM questions, start with one-sentence semantics (broadcast vs P2P, blocking vs non-blocking) before naming port types.

  • Clarify active vs passive agent before explaining driver TLM.

  • Offer uvm_tlm_analysis_fifo when interviewer asks about clock domain crossing.

  • Name uvm_analysis_port#(T) parameterized type — must match subscriber imp type.