cocotb环境安装

cocotb使用指南(一) 关于对于cocotb这个芯片测试框架的理解。 阅读详情

测试平台:Ubuntu 22.04

cocotb安装

参考:https://docs.cocotb.org/en/stable/install.html

pip3 install "cocotb~=2.0"

安装成功验证

# 默认安装在 ~/.local/bin 路径下,需要添加到PATH中
cocotb-config  --version 

在这里插入图片描述

仿真及波形查看工具安装

仿真器使用iverilog
波形查看使用gtkwave

sudo apt-get install iverilog
sudo apt-get install gtkwave

安装成功验证

which iverilog
which vvp
which gtkwave

在这里插入图片描述
基本使用Makefile

top  ?= top
file ?= ./file.f

.PHONY: cmp ncrun run gtkwave clean

cmp: clean
    @iverilog -o $(top) -c $(file)
ncrun:
    @vvp -n $(top) -fst
gtkwave:
    @gtkwave wave.vcd &
clean:
    rm -rf *.vcd $(top)        
                
run: cmp ncrun

保存波形,文件中添加:

initial begin            
    $dumpfile("wave.vcd");        //生成的vcd文件名称
    $dumpvars(0, 顶层模块名字);    //保存的信号层次
end

基本例子

参考:https://docs.cocotb.org/en/stable/quickstart.html

my_design.sv

`timescale 1ns/1ns
module my_design(input clk);

  wire my_signal_1;
  wire my_signal_2;

  assign my_signal_1 = 1'bx;
  assign my_signal_2 = 0;

endmodul

test_my_design.py

# test_my_design.py (simple)

import cocotb
from cocotb.triggers import Timer


@cocotb.test()
async def my_first_test(dut):
    """Try accessing the design."""

    for _ in range(10):
        dut.clk.value = 0
        await Timer(1, unit="ns")
        dut.clk.value = 1
        await Timer(1, unit="ns")

    cocotb.log.info("my_signal_1 is %s", dut.my_signal_1.value)
    assert dut.my_signal_2.value == 0

Makefile

# Makefile

# defaults
SIM ?= icarus
TOPLEVEL_LANG ?= verilog

VERILOG_SOURCES += $(PWD)/my_design.sv
# use VHDL_SOURCES for VHDL files

# COCOTB_TOPLEVEL is the name of the toplevel module in your Verilog or VHDL file
COCOTB_TOPLEVEL = my_design

# COCOTB_TEST_MODULES is the basename of the Python test file(s)
COCOTB_TEST_MODULES = test_my_design

# include cocotb's make rules to take care of the simulator setup
include $(shell cocotb-config --makefiles)/Makefile.sim

运行

# 不保存波形
make 
# 保存波形
make WAVES=1
用Cocotb和cocotbext-axi搭建你的第一个AXI4验证环境:从安装到第一个读写测试 本文详细介绍了如何使用Cocotb和cocotbext-axi搭建AXI4验证环境,从安装配置到实现第一个读写测试。通过实战代码示例,展示了AXI协议的基本操作、突发传输测试以及高级调试技巧,帮助开发者快速掌握数字芯片验证的核心技术。 阅读详情

相关推荐

cocotb学习入门(一)

cocotb(Coroutine-based Co-simulation Testbench)是一种基于协程的联合仿真测试平台,主要用于硬件设计验证。与传统的硬件验证方法相比,cocotb 有许多显著的优势,特别是在现代硬件设计流程中。使用 Python 编写测试易于编写和维护:Python 具有简洁和易读的语法,这使得编写和维护测试变得更加容易。丰富的库和工具:Python 有丰富的库和工具,可以用于文件操作、数据处理、网络通信等,这些在编写复杂的测试时非常有用。协程和并发支持。

weixin_41685928的博客 2096

【亲测免费】 cocotb 项目下载及安装教程

cocotb 是一个基于协程的协同仿真库,用于在 Python 中编写 VHDL 和 Verilog 的测试平台。它允许开发者使用 Python 编写测试用例,并通过仿真器与硬件设计进行交互。cocotb 支持多种仿真器,如 Icarus Verilog、Verilator、GHDL 等。 ## 2. 项目下载位置 cocotb 项目的源代码托管在 GitHub 上。你可以通过以下链接访问并下...

gitblog_01217的博客 1751

cocotb实战入门:从零搭建Verilog测试环境

本文详细介绍了如何使用cocotb从零搭建Verilog硬件测试环境。通过环境准备、仿真器配置、Makefile编写及实战案例,指导读者利用Python协程高效验证D触发器等数字电路,大幅降低硬件验证门槛,提升验证效率。

git9versioner的博客 1170

cocotb仿真平台搭建

安装平台:Ubuntu 20.04.6 LTSCocotb版本:V1.9.2仿真器:icarus verilog看波形工具:gtkwaveCocotb(COroutine Control Bus)是一个用Python语言编写的开源验证框架,用于对Verilog和VHDL的硬件设计进行仿真,测试用例也是纯Python编写,可以完全替代传统的SystemVerilog或UVM测试平台。

tangxij的博客 1647

避坑指南:cocotb+icarus环境配置常见报错解决方案(附Pytest缺失处理)

本文提供了一份详尽的cocotb与Icarus Verilog环境配置避坑指南。针对初学者在搭建硬件验证环境时常见的“Pytest not found”警告、虚拟环境识别失败、编译错误等问题,给出了清晰的解决方案和Makefile配置示例,帮助工程师快速搭建稳定的cocotb验证环境,顺利开展数字芯片验证工作。

weixin_29053383的博客 288

cocotb教程(一)

cocotb教程

youzjuer的博客 2743

cocotb安装教程:从零开始构建Python硬件仿真环境

想要用Python来验证VHDL和Verilog设计吗?cocotb正是你需要的工具。这个基于协程的协同仿真库让你能用熟悉的Python语法编写硬件测试平台,大幅提升验证效率。本文将从环境准备到实战演练,带你轻松掌握cocotb的完整安装流程。 ## 快速上手:三步完成环境搭建 ### 一键安装cocotb 首先确保你的Python版本在3.9以上,然后运行: ```bash pip in

gitblog_00507的博客 783

cocotb-test:cocotb的单元测试

Cocotb检验 cocotb-test提供了标准的Python单元测试功能 允许Python单元测试的外观 消除对Makefile的需求(包括Makefile兼容模式) 轻松定制仿真流程 允许使用或进行并行运行 用法: 安装 。 安装模拟器(适用于带有conda的Icarus Verilog): conda install -c conda-forge iverilog 通过安装软件包: pip install cocotb-test 或开发版本 pip install -v https://github.com/themperek/cocotb-test/archive/master.zip 或者 git clone https://github.com/themperek/cocotb-test.git pip install -v -e cocotb-test

win10 anaconda安装cocotb

win10 anaconda安装cocotb,win10安装cocotb,'cl.exe' failed with exit code 2

xiao_yao_ke的博客 2333

cocotb, 协同仿真试验台.zip

cocotb, 协同仿真试验台 cocotb 是一种基于协同工作的协同编程库,用于在 python 中编写VHDL和Verilog测试平台。 浏览介绍性演示文稿:http://potential.ventures阅读文档参与:提升一个 Bug/r

cocotb:cocotb,一个基于协程的协同仿真库,用于用Python编写VHDL和Verilog测试平台

cocotb是基于协程的协同仿真库,用于用Python编写VHDL和Verilog测试平台。 阅读 参与其中: (需要GitHub帐户) 安装 当前的cocotb稳定版本要求: Python 3.5+ C ++ 11编译器 HDL模拟器(例如 , , 或) 安装这些依赖项后,可以使用pip安装最新的稳定版本的cocotb。 pip install cocotb 有关安装的更多详细信息,包括前提条件,请参阅。 有关如何安装cocotb的开发版本的详细信息,请参阅。 !!! 总线和测试平台组件!!! 可重用的总线接口和测试平台组件最近已移至软件包。 您可以通过添加bus Extra安装来轻松地与cocotb同时安装它们: pip install cocotb[bus] 。 用法 作为对cocotb的第一个简单介绍,下面的示例“测试”触发器。 首先,我们需要可以测试的硬件设

Cocotb学习之路(1)— Cocotb 的安装与仿真

Cocotb 作为基于 Python 的 Verilog/VHDL 仿真库,能让我们用 Python 灵活编写测试用例,搭配 Verilator 仿真引擎和 GTKWave 波形查看工具,构成一套轻量高效的仿真环境。

qq_38113006的博客 2222

cocotb仿真模型

phthon用于对verilog进行仿真时候使用,建立仿真模型相关的机制

cocotb学习笔记

通过函数修饰器修饰的异步函数,将作为cocotb的一个casedut为被测rtl的引用,除了以下方式引入外也可通过在cocotb中通过访问RTL中的端口信号立即赋值与非立即赋值不同如下所示非立即赋值时,在python程序中,不能立即通过dut.din.value得到信号新值,必须await后才能读到在波形中,该信号是立即改变的,只是python中读不到更新该原因是,必须经过await后,仿真器才会推进仿真时间,修改该信号值。

2401_86821668的博客 2534

详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程

1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。

GISWorld3D的博客 4375

雷达回波仿真

文章目录前言一、基础理解1.慢时间维度和快时间维度2.脉冲压缩3.MTI4. 脉冲多普勒处理5.cacfar检测二、具体流程1.产生回波信息加入目标时延以及噪声2.解调回波得到基带信号3.脉冲压缩 MTI MTD cafar检测 前言 雷达算法仿真学习,主要流程包括生成目标回波,将基带信号加在载波上其次是加上目标信息和干扰信号后发射,解调回波信号得到基带信号然后MTI,MTD,最后再检测。 一、基础理解 1.慢时间维度和快时间维度 连续M个脉冲回波经过相干解调之后的基带数据形成的一个二维数据矩阵,.

qq_42961235的博客 1万+

用Python给Verilog设计自仿(一):Cocotb环境初探

cocotb 的当前稳定版本需要:Verilog 或 VHDL 仿真器,取决于您的 RTL 源代码支持以下系统Cocotb建议Linux经验较少的用户使用下面列出的经过支持和测试的发行版,以确保cocotb的顺畅体验。当然其他版本Linux也不是不行。请根据自己的系统安装对应的前置环境#macOs本文详细拆解了 Cocotb验证框架的环境搭建与仿真流程,涵盖Python环境配置、仿真器联动与基础操作,助你快速迈出硬件验证自动化的第一步。

CNL_HHR的博客 2011

FreeCAD地下管道自动化建模实战:Python脚本从入门到导出OBJ

本文详细介绍了如何利用FreeCAD的Python API实现地下管道的自动化建模,从数据处理到模型导出OBJ格式的全流程。通过实战案例和代码示例,展示了圆形和矩形截面管道的创建方法,以及法兰连接等特殊处理技巧,大幅提升工程设计效率。

ff678的博客 248

Ubuntu安装COCOTB、IVERILOG、GTKWAVE

本文详细介绍了在Linux系统中安装数字电路仿真工具链的完整流程。通过sudo apt命令依次安装IVERILOG和GTKWAVE,使用pip安装特定版本(1.9.1)的COCOTB验证框架。安装完成后,分别通过iverilog -v、gtkwave -V和cocotb-config -v命令验证各工具版本,确保安装正确。文中配有各步骤的安装截图,直观展示安装过程和版本验证结果,为用户提供清晰的操作参考。这套工具链为数字电路设计与验证提供了完整的开源解决方案。

Jacen_fpga的博客 609

企业信息化系统的组成模块-核心业务系统

通过标准化的数据流形成完整的业务闭环,CRM生成的销售订单驱动ERP的生产和采购,ERP将生产计划传递给MES执行,MES报工数据返回ERP进行成本核算,ERP再将交付信息同步给CRM供客户查询。生产管理确保高效交付,缩短订单周期。某贸易公司实施ERP供应链模块后,库存周转率从每年4次提升到8次,库存资金占用从2000万降到1200万,释放800万现金流,同时缺货率从15%降到5%。│ │库存 │ │ MRP │ │ ERP │ │ 云ERP/ │ │。

weiyvyy的博客 694

03 Aras Innovator二次开发-服务端方法(二)

Aras Innovator二次开发-服务端方法书写

企业信息化(PLM,ERP.MES) 2014

cocotb 完整入门教程:从安装到波形仿真

本教程介绍 cocotb 入门全流程:基于 Python 的开源验证框架,结合 Icarus Verilog 仿真器与 GTKWave 波形查看器,实现 Verilog 设计的测试。内容涵盖虚拟环境搭建、cocotb 安装、仿真器配置、编写 Verilog 模块与 Python 测试用例,运行仿真并生成 FST 波形文件,最终通过 GTKWave 分析结果。流程完整,工具链清晰,适合初学者快速上手数字电路验证。

palzhj的博客 144

c\c++: Identifiers, modifier, qualifier, specifier, decorator; systemtap

文章目录参考英语含义在c、C++ 参考 c++ 标准 https://blog.youkuaiyun.com/tyronne/article/details/44016621 英语含义 modifier word or phrase that modifies (modify 2) another word or phrase 修饰语. qualifier (grammar) word, esp an adjective or adverb, that qualifies another word 修饰词; (尤指)形

mzhan017的博客 2423

从零搭建cocotb Python硬件仿真环境:安装配置与避坑指南

Python硬件仿真通过cocotb将软件测试框架引入硬件验证,其原理是利用Python协程与仿真器VPI接口通信,实现测试激励与HDL设计的解耦。技术价值在于提升验证代码复用性和随机化测试能力,应用场景覆盖从简单组合逻辑到复杂SoC的模块级验证。cocotb安装与仿真器对接是环境构建的关键步骤,涉及Python版本匹配、Icarus Verilog配置及Makefile集成。本文以最小用例跑通完整链路,提供组件清单与故障速查表,帮助开发者高效搭建可复现的验证环境。

weixin_29190573的博客 238

STM32F103RCT6的FLASH读写操作

STM32F103RCT6是一款常用的32位微控制器,它具有内置的FLASH存储器,可以用于存储程序代码和数据。在本文中,我们将详细介绍如何进行STM32F103RCT6的FLASH读写操作,并提供相应的源代码。写入数据时,我们通过将数据直接写入FLASH地址来完成。通过使用适当的API和规则,我们可以有效地读取和写入数据。写入FLASH时,我们需要按特定的规则进行编程。首先,我们需要包含适当的头文件和定义相关的宏和变量,以便在代码中使用FLASH API。类型的指针,我们可以直接读取FLASH中的数据。

UplKubernetes的博客 1032

【RH850/U2A】:功能安全

功能安全相关

3130
上一篇: vcs仿真参数+fsdb+force显示force信息
下一篇: 动态链接库链接错误(error while loading shared libraries)
暴风雨中的白杨
博客等级 码龄6年 1070粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨中的白杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值