Skip to content
STIMSMITH

Asynchronous Worker Threads

Technique

Asynchronous worker threads are an eUVM sequence-level parallelization technique: free-running, simulator-owned threads that are decoupled from the scheduler and can continue executing while the scheduler is active. Because they cannot wait on simulator events, eUVM pairs them with asynchronous UVM TLM FIFO variants that use software semaphores and events to synchronize data exchange with regular UVM tasks or other worker threads.

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

WIKI

Overview

Asynchronous worker threads are described in eUVM as free-running asynchronous threads owned by the simulator hierarchy. They are introduced as part of a sequence-level parallelization approach intended to exploit multicore concurrency in comparatively simple module-level UVM testbenches, including cases with only a limited number of UVM components. [Worker-thread definition]

Unlike regular simulator tasks, a worker thread is decoupled from the scheduler: it keeps running even when the scheduler activates. A direct consequence is that a worker thread cannot wait for a simulator event, although it can trigger events. [Scheduler decoupling]

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

2 connections
eUVM ← uses 100% 2e
eUVM implements worker threads as free-running asynchronous threads for parallelism.
Sequence Level Parallelism ← uses 100% 1e
Sequence level parallelism is achieved using free-running asynchronous worker threads.