cocotb进行verilog的仿真

参考文献:

讲述了cocotb的代码,和verilog语言的对应关系:Limfx-专业的科研工作者内容发布平台

cocotb官网:Welcome to cocotb's documentation! --- cocotb 1.9.0 documentation

cocotb的思想:基于UVM,通用验证方法学Universal Verification Methodology, UVM,参考资料:UVM-什么是UVM方法学_uvm验证方法学-CSDN博客

https://en.wikipedia.org/wiki/Universal_Verification_Methodology

一、cocotb怎么将输入连接到dut,又怎么接收dut中的值

在cocotb的官网介绍中说明了,python(cocotb)给到DUT的输入端输入,然后给到监控输出端的输出。

dut也就是"Device Under Test。

二、一个简单的例子

在cocotb的github官网页面有一个简单例子:https://github.com/cocotb/cocotb?tab=readme-ov-file

参考的解析资料:cocotb使用指南(一)-CSDN博客

三​​​​、这段是什么意思

三、await函数的作用

四、def 和async def的区别

再次基础上,可以想到,def相当于是给定初始的输入和输出,有点线网类型组合逻辑的感觉。

async def就有点时序逻辑,在上升沿做判断。给定新的赋值等等。

五、找到引用库的位置,对照定义

如下,我知道

python语法

装饰器详解

python装饰器(详解)_python 装饰器-CSDN博客

讲解装饰器的视频:【Python 高级特性】装饰器:不修改代码,就能改变函数功能的强大特性_哔哩哔哩_bilibili

什么是装饰器:

参考自:python装饰器(详解)_python 装饰器-CSDN博客

开放封闭原则

开放:指的是对拓展功能是开放的

封闭:指的是对修改源代码是封闭的

装饰器就是在不修改被装饰器对象源代码以及调用方式的前提下为被装饰对象添加新功能

如图定义了一个装饰器,传入一个函数func,接收到的形参是*args和**kwargs,也就是所有的参数照单全吃。加上了一个start_time 和end_time,两个相减,输出函数的执行时间,并且返回输出结果。然后返回return wrapper。

square是一个计算函数平方的函数,定义一个decorated_square(装饰后的square函数)来接收square的执行时间。然后给定参数10,执行就行。

最常用的方式就是给函数带个帽子,等价于上面的形式。

最最后,也就是我们cocotb中的使用形式了

格式化字符串f的使用

f'{f.__name__} is running.' 是一个 f-string,其中 {f.__name__} 是一个表达式,表示函数 f 的名称。

讲解*args和**kwargs的视频:

*args会接收传入的所有参数

【Python摸鱼读物】*:别只把它当乘号,还能打包和解包_哔哩哔哩_bilibili

**kwargs是两个**,传入的是一个字典,key是变量名称,value是变量对应的值

*可以用来解包这样本来person是一个对象,解包之后,解包成两个餐宿,就能传入greet函数

两个星号**用来解字典的包

导入需要的类和函数

导入类

导入函数

导入的绝对路径和相对路径还没有弄明白????

输入参数有none

说明参数可以不输入,默认是空列表。也可以输入会进行相应的处理

相关推荐
爱奔跑的虎子2 天前
FPGA实现以太网(一)、以太网基础知识
fpga开发·以太网·fpga·vivado
FPGA小迷弟5 天前
FPGA在高速数据采集系统中的应用!!!
stm32·物联网·fpga开发·verilog·fpga
简简单单做算法5 天前
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
matlab·verilog·fpga·图像双线性插值
FPGA小迷弟7 天前
如何提高FPGA的逻辑利用率与资源效率!!!
stm32·物联网·fpga开发·verilog·fpga
FPGA小迷弟7 天前
基于FPGA的图像处理算法研究!!!
stm32·物联网·fpga开发·verilog·fpga
望森FPGA11 天前
FPGA接口专题 | I2C总线 / 集成电路总线 / Inter-Integrated Circuit
学习·fpga开发·fpga
FPGA小迷弟11 天前
SRIO接口,FPGA实现,学习笔记。
stm32·物联网·fpga开发·verilog·fpga·1024程序员节
9527华安12 天前
FPGA搭建PCIE3.0通信架构简单读写测试,基于XDMA中断模式,提供3套工程源码和技术支持
fpga·xdma·pcie3.0
Tesseract_952720 天前
PetaLinux工程的常用命令——petalinux-create
linux·fpga
FPGA小迷弟20 天前
FPGA实现SPI接口,用verilog实现,SPI接口使用例程!!!
stm32·物联网·fpga开发·verilog·fpga