Skip to content
STIMSMITH

TLM Fifo Asynchronous Communication

Technique

TLM Fifo Asynchronous Communication is an eUVM technique for exchanging transactions between scheduler-controlled UVM tasks and free-running worker threads, or between two asynchronous worker threads. It adapts standard UVM TLM FIFO event-based blocking by replacing event waits with software semaphores on asynchronous ports, enabling synchronization for threads that cannot wait on simulator events.

First seen 5/25/2026
Last seen 5/25/2026
Evidence 2 chunks
Wiki v1

WIKI

Overview

TLM Fifo Asynchronous Communication is a technique described for eUVM multicore verification environments. It addresses how free-running asynchronous worker threads exchange transaction data with regular scheduler-controlled UVM tasks, while preserving synchronization through TLM FIFOs. In eUVM, worker threads are hierarchically owned by the simulator but are decoupled from the scheduler; they keep running when the scheduler activates, cannot wait for simulator events, and can trigger events. [worker_threads_in_euvm]

Although worker threads share memory with simulator tasks, the cited source states that UVM requires data exchange through TLM FIFOs to maintain synchronization across threads. [data_exchange_via_tlm_fifos]

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

3 connections
eUVM ← uses 100% 2e
eUVM implements three types of asynchronous TLM fifos for data exchange between threads.
Sequence Level Parallelism ← uses 100% 2e
Sequence level parallelism uses TLM fifos for data exchange between worker threads and synchronous tasks.
Inter-Process Communication ← compares with 95% 1e
Asynchronous TLM fifo constructs play the same functional role as IPC channels but with less overhead.