Skip to content
STIMSMITH

Verification IP

Concept WIKI v1 · 5/26/2026

Verification IP (VIP), in the provided evidence, is discussed in the context of UVM-based subsystem-level testbenches, where multiple UVM agents or VIPs can be mapped across CPU threads in eUVM to exploit multicore parallelism during compute-intensive sequence randomization.

Overview

Verification IP (VIP) is referenced in the provided DVCon evidence as part of UVM-based verification environments: a subsystem-level testbench often contains multiple UVM agents or Verification IPs (VIPs). In the cited eUVM multicore testbench architecture, each VIP/UVM agent may be placed on a separate CPU thread to distribute work across the host processor resources.

Role in multicore UVM testbenches

The evidence frames VIPs within a performance-oriented testbench architecture. A parallel simulator uses multiple task executors, each with its own CPU thread, while synchronization barriers keep those executors aligned with the scheduler. Because the scheduler is described as a sequential component and synchronization barriers add overhead, multicore benefits depend on whether the parallelized tasks are sufficiently compute intensive.

In this context, sequence randomization is identified as often being one of the most compute-intensive processes in a testbench because it involves solving complex constraints. eUVM therefore distributes sequence randomization by mapping each UVM agent to a separate CPU thread. The paper’s figure and text describe this as VIP-level parallelism, with VIP 1, VIP 2, VIP 3, through VIP n mapped to Thread 1, Thread 2, Thread 3, through Thread n.

Limitations of VIP-level parallelism

The cited architecture is most directly applicable when a testbench contains multiple VIPs. The evidence states that this simple multicore testbench architecture applies to testbenches with multiple VIPs and therefore limits testbench parallelism to subsystem-level verification. The paper also notes that performance gain may not be optimal when task load is not balanced across executors, such as when different types of VIPs are mapped to different executors.

Communication and synchronization context

The evidence also discusses asynchronous UVM TLM FIFOs in eUVM. Worker threads are free-running asynchronous threads owned by the simulator but decoupled from the scheduler. Because such worker threads cannot wait for simulator events, eUVM uses asynchronous TLM FIFO mechanisms to exchange data between worker threads and regular UVM tasks. In the depicted VIP-level architecture, asynchronous UVM TLM FIFOs appear between the VIP threads and the Design Under Test (DUT), which may run on an emulation or simulation platform.

Practical implication

Within the provided evidence, VIP is not described as a standalone product category; it is described operationally as a UVM-agent-level unit of testbench functionality that can be parallelized. The key technical implication is that a testbench with multiple VIPs can expose natural parallel work units for multicore simulation, especially when sequence randomization dominates runtime.

LINKED ENTITIES

1 links

CITATIONS

7 sources
7 citations
[1] A subsystem-level testbench often has multiple UVM agents or Verification IPs (VIPs). [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[2] In eUVM VIP-level parallelism, each UVM agent can be mapped to a separate CPU thread to distribute sequence randomization. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[3] Sequence randomization is often the most compute-intensive process in a testbench because it involves solving complex constraints. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[4] A parallel simulator uses task executors on separate CPU threads and synchronization barriers to keep task executors synchronized with the scheduler. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[5] The simple multicore testbench architecture applies to testbenches with multiple VIPs and therefore limits parallelism to subsystem-level verification. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[6] Performance gain may be limited when task load is not balanced across executors, including when different types of VIPs are mapped to different executors. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[7] eUVM worker threads are free-running asynchronous threads owned by the simulator but decoupled from the scheduler, and data exchange with regular UVM tasks is handled through asynchronous TLM FIFOs. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings