https://github.com/cocotb/cocotb
cocotb: Python-based chip (RTL) verification
https://github.com/cocotb/cocotb
python test uvm verification verilog vhdl
Last synced: 11 months ago
JSON representation
cocotb: Python-based chip (RTL) verification
- Host: GitHub
- URL: https://github.com/cocotb/cocotb
- Owner: cocotb
- License: bsd-3-clause
- Created: 2013-06-12T20:07:15.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2025-05-09T04:08:48.000Z (11 months ago)
- Last Synced: 2025-05-09T05:21:02.892Z (11 months ago)
- Topics: python, test, uvm, verification, verilog, vhdl
- Language: Python
- Homepage: https://www.cocotb.org
- Size: 9.3 MB
- Stars: 1,966
- Watchers: 104
- Forks: 549
- Open Issues: 422
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-opensource-hardware - cocotb
- awesome-open-hardware-verification - Cocotb
- Awesome-Python-Simulator - cocotb
- awesome-hwd-tools - cocotb/cocotb - Creating Verilog/VHDL testbenches with python (Semi Custom Design/ FPGAs / Verification)
- StarryDivineSky - cocotb/cocotb - Verification of Chip Designs with Python)是一个基于Python的开源硬件验证框架,主要用于芯片设计的寄存器传输级(RTL)验证。项目通过Python语言编写测试用例,实现对数字电路设计的自动化测试,显著降低了验证门槛,尤其适合熟悉Python的工程师快速构建测试环境。其核心工作原理是通过Python脚本与仿真工具(如Verilator、Icarus、GHDL等)进行交互,利用Python的动态特性实现对硬件设计的实时监控和信号控制,同时支持多线程和协程(coroutines)技术,实现测试用例的并行执行与高精度时序控制。项目特色包括:1)完全开源,支持跨平台使用;2)提供丰富的接口库,可直接操作硬件设计中的信号和寄存器;3)支持多种仿真工具插件扩展,兼容主流工业级仿真器;4)集成VUnit等工具链,提升验证效率;5)通过断言机制(assertions)和覆盖率分析功能,确保设计的完整性和可靠性。cocotb被广泛应用于半导体行业,用于验证从简单逻辑门到复杂SoC(系统级芯片)的设计,尤其适合需要高频次迭代测试的场景。其社区活跃且持续更新,开发者可通过插件机制扩展功能,例如支持新的仿真工具或增加调试可视化模块。项目通过模块化设计,允许用户根据需求定制测试流程,同时提供详细的文档和示例代码,降低了学习成本,是RTL验证领域的重要开源工具。 (硬件_其他 / 资源传输下载)
README
**cocotb** is a framework empowering users to write VHDL and Verilog testbenches in Python.
[](https://docs.cocotb.org/en/stable/)
[](https://github.com/cocotb/cocotb/actions/workflows/build-test-dev.yml)
[](https://pypi.org/project/cocotb/)
[](https://gitpod.io/#https://github.com/cocotb/cocotb)
[](https://codecov.io/gh/cocotb/cocotb)
* Check out the [tutorial](https://docs.cocotb.org/en/stable/quickstart.html)
* Read the [docs](https://docs.cocotb.org/en/stable/)
* Find more info in the [wiki](https://github.com/cocotb/cocotb/wiki)
* Discover [useful extensions](https://github.com/cocotb/cocotb/wiki/Further-Resources#utility-libraries-and-frameworks)
* Join the discussion in the [Gitter chat room](https://gitter.im/cocotb/Lobby)
* [Ask a question](https://github.com/cocotb/cocotb/discussions)
* [Raise a bug / request an enhancement](https://github.com/cocotb/cocotb/issues/new)
**Note: The current `master` branch of the cocotb repository is expected to be released as cocotb 2.0, which contains API-breaking changes from previous 1.x releases.**