|DVCLUB Europe | Make Verification Fun Again with Python and cocotb
|Philipp Wagner, FOSSi Foundation
|Make Verification Fun Again with Python and cocotb
|Getting complex designs to work has never been easy, and constraint random verification with SystemVerilog and UVM has been the go-to solution in ASIC designs for years now. At the same time, many developers are overwhelmed by the complexity of UVM and are looking for alternative verification solutions. This search has come to an end: with cocotb, developers can productively write verification code in Python, while continuing to use their Verilog or VHDL simulator of choice for the hardware design.
cocotb is an open source coroutine-based cosimulation testbench environment for verifying VHDL and SystemVerilog RTL using Python. cocotb connects a testbench written in Python with almost all industry-standard simulators. Additionally, cocotb provides a small but powerful framework to efficiently write testcases and run them against a design. cocotb even includes a test runner framework which can hook designs into a CI system such as Jenkins in no time.
In this presentation, Philipp, a maintainer of cocotb, will introduce cocotb based on a small example. We will then explore how cocotb can make verification fun again, especially in fast-paced iterative development flows as they are common in the FPGA world: We will look at how cocotb can interface with golden models running e.g. in Matlab, we will be looking at coverage collection, and we will be digging into gradually extending a directed testbench into a constraint random one. Finally, we’ll have a look at defining and collecting functional coverage.
This presentation is intended to give an overview of what’s possible with cocotb, and provide the audience a starting point for their own experiments
|Philipp is a curious engineer at the intersection of hardware and
software, design and verification, with a strong interest in open source
and development methodology. After his Diploma at Technical University
Munich he researched novel ways to observe and diagnose the software
execution on embedded systems, for which he was awarded a Dr.-Ing. (PhD-equiv.) in Electrical Engineering. After three years architecting and developing a
security chip in Cambridge, UK, he joined IBM as verification engineer. Philipp is one of the maintainers of the free and open cocotb project and founding director of the FOSSi Foundation.
DVCLUB Europe is made possible through the generosity of our sponsors.