Another Introduction to Cocotb
summary
Hands-on introduction to cocotb showing Python-driven RTL verification against standard simulators (default: Icarus), VPI-based access to signals, and runnable examples on GitHub. Demonstrates reading/writing signals with binary_value (.value, .integer), preserving X/Z with configurable resolution, using yield on triggers and coroutines for timers, edges, fork/join, and iterating the design to auto-hook monitors. Produces JUnit XML for CI, is used inside Broadcom, and claims comparable productivity with only modest simulation-speed impact.
AI-written summary · about
chapters (13)
- 0:00Start
- 0:38Overview
- 2:56Quickstart
- 3:24What is cocoth
- 3:53Creating a test
- 4:40Accessing the design
- 5:49Reading values from signals
- 7:34Assigning values to signals
- 8:28yield - waiting on the simulator
- 9:34Triggers
- 10:49forking and joining
- 11:27Advanced yield'ing
- 15:25exploring the design hierarchy
related talks
21mCocotb: Python-powered hardware verification
23mHow cocotb made Python-powered verification mainstream -- and what comes next
16mcocotb 2.0: celebrating 12 years of verification fun
31mNews from cocotb land
46mIntroduction to Formal Verification with Symbiotic EDA Open Source Tools
12mRISC-V: Hardcore/Softcore Co-Simulation Environment with Cycle-Accurate Rollback
01h 02mIntroduction to Coq - Part 2 of 2
54mTDD for Microcontrollers
