UVM Transaction Level Modeling Connections

Instructor: EDA Academy
Resource—All LevelEnglish

Transaction Level Modeling defines structured UVM component communication through ports, imps, exports, blocking and nonblocking methods, analysis broadcast, FIFOs, analysis FIFOs, scoreboards, transport connections, and TLM2-style generic payloads for abstract request-response and buffered transaction exchange.

5.0
1students

This offering includes

  • 1 module
  • 5 lectures
  • Access on mobile and computer
  • 1.83 hours on-demand video

Description

Transaction Level Modeling provides the communication foundation for class-based UVM environments. Components exchange transactions through typed methods rather than direct signal-level coupling. This makes drivers, sequencers, monitors, scoreboards, coverage collectors, register models, agents, environments, and testbenches easier to connect, replace, and reuse. Communication behavior is described through data flow, control flow, timing behavior, and connector roles, giving each connection a clear technical meaning. Data flow defines the movement of transaction items from producer to consumer. Control flow defines the initiator and target relationship. These two directions determine whether a connection is pull-based through get methods or push-based through put methods. Blocking methods allow a transfer to wait until completion, while nonblocking methods return immediately with success or failure. Method families such as put, try_put, can_put, get, try_get, can_get, and peek provide precise choices for transfer control and readiness checking. UVM TLM connectors define the structure of the communication interface. A port starts the call, an imp provides the implementation, and an export routes connections through hierarchy. Connector selection is tied to the required method set, and all methods associated with a selected connector type must be implemented. Connections are usually completed during connect_phase, following control flow from initiator to target. Hierarchical paths must be connected at every level, with exports used to expose target-side access without duplicating implementation objects. Analysis communication supports observation-oriented broadcast. A monitor can publish collected transactions through an analysis port, and that port can connect to zero, one, or many analysis implementations. This one-to-many behavior is unique to analysis connections and makes monitor output highly reusable. Scoreboards, coverage collectors, register models, and other observers can receive the same transaction stream while providing different write() implementations with the same signature. FIFO-based communication adds buffering and decouples transaction production from transaction consumption. uvm_tlm_fifo provides built-in storage, put-side input, get/peek-side output, status methods, and communication method implementations. uvm_tlm_analysis_fifo adapts this buffering model to analysis ports, allowing monitor transactions to be stored before scoreboard processing. With analysis FIFOs, the scoreboard becomes the initiator, explicitly reading from FIFOs, comparing related packets, maintaining local register state, and updating statistics for received, dropped, matched, and mismatched traffic. Bidirectional transport connections combine request and response exchange in one method call. Blocking transport can model time-consuming request-response behavior, while nonblocking transport can report immediate failure when the exchange cannot complete. TLM2 support adds socket-style communication, generic payloads, base protocol concepts, and payload extensions. Generic payloads are especially useful for describing abstract stimulus before a final protocol is selected, while practical multi-language use depends on available simulator support. Catalogue: TLM API Connector Types Data and Control Flow Blocking and Nonblocking Transfers Unidirectional TLM Method Selection Connector and Method Options TLM Connection Implementation Port and Imp Connectors Get Connector Implementation Get Connection Rules Hierarchical TLM Connections Unidirectional TLM Models Analysis Broadcast Connections Broadcast Analysis Example Broadcast Analysis Connection TLM FIFO Component TLM FIFO Example TLM FIFO Connection TLM FIFO Methods Analysis FIFO Buffering Analysis FIFO Scoreboard Analysis FIFO Testbench Connection Scoreboard Using Analysis FIFOs Bidirectional TLM Transport Connection TLM2 Support in UVM

You might also like

More offerings will load here.

Secure checkout via our payment partner.