cocotb+icarus verilog RTL仿真环境问题记录

COCOTB

cocotb简介

cocotb是一个开源的python库,用来测试搭建好的数字电路。cocotb的优势在于它支持使用python编写测试用例和测试框架。相比于直接使用verilog或者system verilog,以及UVM等测试框架,python有更敏捷易用的开发特性,在轻量级的设计中能更快速的完成数字电路的测试验证需求。

以下为cocotb的官方库:

GitHub - cocotb/cocotb: cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python

cocotb安装

此处博主主要以windows+anaconda为主要安装环境。在windows平台安装anaconda后,使用anaconda提供的python环境即可简单安装cocotb。即输入以下指令

pip install cocotb

即可一键安装

icarus verilog(以下简称iverilog)

iverilog简介

iverilog是一个开源的verilog语言仿真器(注意:iverilog只支持verilog语言,不支持VHDL等其他RTL语言)。iverilog支持verilog-1995,verilog-2001和部分verilog-2005标准。相比于vivado,modelsim以及vcs等其他仿真器,iverilog具有轻量级的特性,可以更快速的进行环境搭建以及仿真。

以下为iverilog的安装包下载网页:

Icarus Verilog for Windows (bleyer.org)

windows环境下,只需要下载以下安装包,就可以进行快速安装

Gtkwave

该安装包已经包含了一个开源的波形查看器 GTKwave,在安装完成后,在cmd中输入

就可以开启gtkwave:

cocotb+icarus verilog进行联合仿真

尝试执行cocotb官方例程adder

当cocotb和icarus verilog都成功安装后,我们可以在cocotb的github仓库中,下载它的例程,用于初步的尝试cocotb:

cocotb官方仓库提供了以下7个例程:

我们以adder为例:

adder下有三个文件夹,其中

hdl文件夹存放了要测试的verilog代码

model文件夹存放了用python实现的加法器对比模型

tests文件夹存放了cocotb搭建的仿真环境

我们通过anaconda promp,启动安装有cocotb的python解释器,然后进入tests文件夹

执行以下指令

python test_adder.py

然后会得到以下结果:

说明当前用例执行完成。

用例测试完成后,查看波形:

在执行该例程后,我们会看到新增了一个文件夹sim_build:

进入sim_build,会看到

其中dump.vcd即是我们需要查看的波形。

使用gtkwave打开dump.vcd文件,即可查看波形

在安装以及仿真过程中产生的问题:

1.cocotb例程报错

cocotb 安装目前默认为1.8.1的稳定版本

在cocotb github官方仓库下载例程时,要注意将分支

切换为

例程才能被正常执行

2. cocotb正确安装,并且例程下载正确时,仿真开始后卡死,但是没有任何提示

这是由于当前的windows账户不是超级管理员账户。在windows10及以后的windows版本中,默认超级管理员账户是关闭的,所以需要手动设置当前账户为超级管理员账户,或者每次启动anaconda prompt时,选择

才能正常执行cocotb的仿真。

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值