cocotb
Beginner
A free toolkit for writing chip tests in Python, a popular programming language.
Novice
An open-source framework for writing testbenches in Python, a general-purpose programming language, instead of a hardware language. The design runs in an ordinary simulator, and Python drives its inputs and checks its outputs.
Expert
Connects to the simulator through its standard programming interfaces (VPI, VHPI or FLI). Tests are Python coroutines: functions that pause until the simulator reaches a given time or signal change. Python’s libraries make reference models, file handling and data analysis easy.
Explained in Verification (Design Flow).
See also: UVM (Universal Verification Methodology), Testbench.