Further Resources - cocotb/cocotb GitHub Wiki

Talks, Papers, Books, Blogposts...

Al-Hakeem Hayder (Wärtsilä Oy) "Simple yet powerful: Open-source HDL simulation with Cocotb" (DVClub, October 2024) (slides)

Philipp Wagner (FOSSi Foundation, IBM) "Cocotb 2.0: Modernize your testbenches for even more productivity" (DVClub, October 2024) (slides)

Grant Bowers (Garrison) "How cocotb saved us £1000s & 1000s of hours" (DVClub, October 2024) (slides)

Christian Tchilikov (Semify GmbH) "Utilizing Cocotb for Efficient Functional Verification" (FPGA Front Runner: FPGA Verification Strategies, September 2024)

Philipp Wagner (FOSSi Foundation, IBM) "cocotb is making verification fun!" (FPGA Front Runner: FPGA Verification Strategies, September 2024)

Kaleb Barrett (Hudson River Trading) "cocotb Gets A Glow Up: Fixes and Features of 2.0" (ORConf, September 2024) (slides)

Marek Cieplucha "cocotb as a way towards a new verification methodology" (ORConf, September 2024)

Peter Birch (VyperCore) "Forastero: cocotb testbenches with batteries included" (ORConf, September 2024) (slides)

Stuart Alldred (VyperCore) "Buckets of Coverage" (ORConf, September 2024) (slides)

Matthew Ballance (AMD) "PyHDL-IF: An Easy-to-Use Python/HDL Cross-Calling Interface" (LatchUp, April 2024) (video)

Miikka Sinervä (University of Oulo) "Master's Thesis: UVM Testbench In Python: Feature And Performance Comparison With SystemVerilog Implementation" (June 2023) (paper)

Lavanya Jagadeeswaran (Vyoma Systems) "Verification Makeover with RISC-V Processor Designs using CoCoTb" (June 2023) (slides)

Philipp Wagner (FOSSi Foundation, IBM) "How cocotb made Python-powered verification mainstream -- and what comes next" (ORConf, September 2023) (video)

Philipp Wagner (FOSSi Foundation, IBM) "Make Verification Fun Again with Python and cocotb" (DVClub Europe, January 2023) (video)

Markus Koch "Lazy People's Guide to Writing Test Benches" (December 2022) (Video)

Vijayvithal Jahagirdar "cocotb tutorial" (October 2022) (Videos)

Ray Salemi Python for RTL Verification: A complete course in Python, cocotb, and pyuvm (September 2022) (Book, ISBN 979-8582338147)

Rodrigo A. Melo "cocotb Tutorial" (March 2022) (slides)

Ahmed Alsawi "Cocotb Internals - Cocotb Startup VPI bootstrap to Python" (January 2022) (blogpost)

Ahmed Alsawi "Cocotb Deepdive - Test discovery" (November 2021) (blogpost)

Philipp Wagner/FOSSi Dial-Up "The long path to a sustainable cocotb community" (May 2021) (video)

The Data Bus "A gentle introduction to CocoTb" (March 2021)

Alex Forencich "FPGA Dev Live Stream: Working with cocotb" (December 2020) (video)

Symbiotic EDA "Useful tools: pyfda and cocotb" (September 2020) (video)

Tomasz Hemperek "Testing 'the Python way' with cocotb and pytest" (WOSDV 2019) (slides)

Antmicro "Testing open source USB IP cores with Python and Cocotb" (2019-12) (blog)

Philipp Wagner (FOSSi Foundation, lowRISC) "News from cocotb land" (ORConf 2019) (video)

Philipp Wagner (FOSSi Foundation, lowRISC) "Cocotb: Python-powered hardware verification" (WOSH 2019) (video)

Andres Demski (Satellogic) "COCOTB: Testbenchs in Python" (spanish) (SPL 2019) (slides)

Smith, Andrew Michael; Mayo, Jackson; Armstrong, Robert C.; Schiek, Richard; Sholander, Peter E.; Mei, Ting (Sandia National Lab): "Digital/Analog Cosimulation using CocoTB and Xyce" (paper)

Ben Rosser (University of Pennsylvania) "Cocotb: a Python-based digital logic verification framework" (CERN 2018) (pdf)

Luke Darnell (Broadcom) "Another Introduction to Cocotb" (ORConf 2018) Video, Slides and Code

Marek Ciepłucha (TDK) "Cocotb as a comprehensive verification platform" (ORConf 2018) Video

Torbjørn Viem Ness (NTNU) "Low Power Floating-Point Unit for RISC-V" (2018) [PDF]

Aldec Inc. "Writing a Python Testbench" (2017/2018) Video, 2018, Video, 2017

Marek Ciepłucha, Witold Pleskacz "New Constrained Random and Metric-Driven Verification Methodology using Python" (DVCon 2017) Paper, Slides

Andrey Filippov (Elphel) "I will not have to learn SystemVerilog" (2016) [Blog]

Chris Higgs (Potential Ventures) "Applying agile techniques to FPGA development" Video, Paper

Chris Higgs (Potential Ventures) "Cocotb" (ORConf 2015) Video, Slides

Chris Higgs (Potential Ventures) "Exploitation for Fun and Profit" (Verification Futures 2016) Video, Paper

Chris Higgs (Potential Ventures) "Management sans frontiers: Removing the roadblocks in FPGA projects" (NMI 2015) Slides, PDF

Chris Higgs (Potential Ventures) "Rapid FPGA Verification" (NMI, February 2014) [Slides]

Utility Libraries and Frameworks

  • cocotb-coverage, an extension for Functional Coverage and Constrained Randomization
  • uvm-python, an almost 1:1 port of UVM 1.2 to Python
  • pyuvm, The UVM IEEE 1800.2 specification built upon cocotb and implemented from scratch in Python.
  • forastero - UVM-inspired cocotb-bus successor
  • packtype - Packed data structure specifications for multi-language hardware projects.
  • cocotb_kernel - Jupyter kernel that enables using cocotb within Jupyter Notebooks
  • cocotb fault injection - Library for injecting SEU/SET.

cocotb-bus Extensions

A list of cocotb extensions module packaged as described in documentation.

Please add yours here! If you publish to PyPI, please add the Framework :: cocotb classifier.

Examples

Non-cocotb but Related

Python and Other HDL/HVL Languages

Register Models

Other Useful Python Libraries

  • spfpm: fixed-point, arbitrary-precision arithmetic
  • pint: working with physical quantities
  • fixedpoint: fixed-point arithmetic
  • apytypes: Fully configurable floating-point and fixed-point scalar and array arithmetic.
  • fxpmath: A Python library for fractional fixed-point (base 2) arithmetic and binary manipulation with Numpy compatibility.