Skip to content
STIMSMITH

Inter-Process Communication

Technique WIKI v1 · 5/26/2026

Inter-Process Communication (IPC) is discussed in the evidence as a technique used by distributed verification architectures to exchange generated transactions between multiple simulator instances running as separate Linux processes. In the cited DVCon material, IPC-based exchange is contrasted with eUVM’s shared-memory thread communication, which avoids IPC, packing/unpacking, and DPI overhead.

Inter-Process Communication

Overview

Inter-Process Communication (IPC) is described in the provided evidence in the context of hardware verification testbench acceleration. A distributed stimulus generator architecture uses IPC to exchange generated transactions between multiple simulator instances that run as separate Linux processes. [IPC-based transaction exchange]

Role in distributed verification architectures

The cited material positions IPC as part of a pragmatic approach for improving testbench efficacy when multicore parallelization support for testbenches is limited. In that distributed approach, generated transactions are exchanged across simulator processes using IPC channels. [IPC-based transaction exchange]

The same source also compares asynchronous FIFO constructs in eUVM with IPC channels used in a distributed sequencer: functionally, the asynchronous FIFO constructs play the same role as the IPC channels in that distributed model. [Asynchronous FIFO functional role]

Contrast with shared-memory eUVM communication

The evidence contrasts IPC-based distributed models with eUVM’s shared-memory parallelization semantics. In eUVM, a transaction or transaction handle generated on one CPU thread can be shared with other threads without IPC, packing/unpacking, or DPI overhead. [Shared-memory alternative]

Because eUVM thread communication follows a shared-memory model, the source states that the execution time required to hand over data between threads is minuscule compared with a testbench architecture that deploys Inter-Process Communication. [Shared-memory performance contrast]

Practical implication

Within the cited verification context, IPC enables communication between separate simulator processes, but it is also associated with extra communication overhead relative to shared-memory thread-based handoff in eUVM. The evidence therefore presents IPC as useful in distributed architectures while also identifying shared-memory communication as a lower-overhead alternative for thread-level exchange inside eUVM. [IPC-based transaction exchange] [Shared-memory alternative] [Shared-memory performance contrast]