GF-Cocotb 用于生成基于 Cocotb 的 Python 测试平台,作为 SystemVerilog 测试平台的替代方案,面向偏好 Python 的硬件工程师。
用途与能力:生成 Cocotb 测试模板,覆盖复位、FIFO 读写、Valid/Ready 握手、FSM 等常见场景;提供 Makefile 模板(支持 icarus、verilator 等仿真器);提供基于 pytest 的 Python 运行器示例;并列出 cocotbext 协议库(AXI、Wishbone、SPI、UART、Ethernet、PCIe)及其安装命令,如 pip install cocotbext-axi。
使用方式:先检测环境 python3 -c "import cocotb",未安装时提示 pip install cocotb。测试通过 @cocotb.test() 装饰异步函数,用 Clock、RisingEdge、ClockCycles 等触发器驱动 DUT。Makefile 中设置 SIM、TOPLEVEL_LANG、VERILOG_SOURCES、TOPLEVEL、MODULE 等变量,并 include $(shell cocotb-config --makefiles)/Makefile.sim。也可用 cocotb_tools.runner 的 get_runner 在 pytest 中构建与运行。
适用场景:团队熟悉 Python、FPGA 项目、需要开源 CI、使用标准协议(AXI、SPI 等)、需要快速迭代时适合 Cocotb;大型 ASIC 且已有 UVM 基础设施、需要深度约束随机时更适合 SV/UVM。
限制:Cocotb 采用协同仿真,速度慢于原生 SystemVerilog 测试平台;资料未提供收费、价格、平台支持范围等更多信息。集成结果以 GATEFLOW-RESULT 块输出 STATUS、ERRORS、WARNINGS、FILES、DETAILS。