一个加法器的UVM验证平台设计

本文介绍了如何构建一个UVM验证平台,以验证一个1bit加法器的正确性。从RTL设计开始,详细讲解了UVM组件包括agent、env、test和Testbench的搭建过程,最后展示了验证结果的成功。
摘要由CSDN通过智能技术生成

​    因为最近事情还挺多的,有一段时间没有更新了,然后想想还是再积累一下再写新的文章,结果就一个月过去了。。。。所以避免拖延症继续发作还是写一篇一直想写的文章吧。

    最近自己尝试搭建一个简单的验证平台,入门就先从简单开始!


    

目录

1 RTL设计

2 UVM验证平台建立

2.1 agent

2.1.1 add_seq_item

2.1.2 add_seq

2.1.3 add_sequencer

2.1.4 add_driver

2.1.5 add_monitor

2.1.6 add_if

2.2 env

2.2.1 add_scoreboard

2.2.2 add_reference_model

2.2.3 add_env

2.3 test

2.4 Testbench

3 验证结果

微信公众号


1 RTL设计

    RTL就是一个带时序的1bit加法器,然后验证是否功能正确。理论上的正确功能应该是输入数据a和数据b之后的下个周期输出结果sum等于a+b。

 

2 UVM验证平台建立

    将整个UVM验证平台分为4个部分agent、env、test、tb,逐层递进,关于层次大小结构图可以看下面这篇文章,下图是整个验证平台的hierarchy。

 

2.1 agent

2.1.1 add_seq_item

    首先建立一个transaction,即建立一个数据包。

 

2.1.2 add_seq

    建立一个sequence,用来发送transaction。发送transaction的方式有两种,一种是用start_item()和finish_item(),另外一种是用`uvm_do()的宏。但是两种方法的原理是一样的。

法一:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值