Glossary

BFM

Bus Functional Model

blocking function

A function that blocks the caller until the function finishes. This is typically a regular function, but sometimes involves calls to threaded code which blocks execution for an indeterminite amount of time. See also the Python glossary.

coroutine function

The definition of a function that, when called, returns a coroutine object. Implemented using async functions. See also the Python glossary.

coroutine

The result of calling a coroutine function. Coroutines are not run immediately, you must either await on them which blocks the awaiting coroutine until it is finished; or turn them into a task, which can be run concurrently. See also the Python glossary.

DUT

Design under Test

DUV

Design under Verification

FLI

Foreign Language Interface. Mentor Graphics’ equivalent to VHPI

GPI

Generic Procedural Interface, cocotb’s abstraction over VPI, VHPI, and FLI.

HAL

Hardware Abstraction Layer

HDL

Hardware Description Language

MDV

Metric-driven Verification

RTL

Register Transfer Level

task

A coroutine that can be run concurrently.

UVM

Universal Verification Methodology

VHPI

The VHDL Procedural Interface, an application-programming interface to VHDL tools.

VIP

Verification IP

VPI

The Verilog Procedural Interface, an application-programming interface to (System)Verilog tools. Its original name was “PLI 2.0”.