0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何搭建一个加法器的UVM验证平台

电子工程师 来源:CSDN威廉希尔官方网站 社区 作者:Andy_ICer 2021-04-15 14:10 次阅读

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

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

1 RTL设计

a349cdea-9dac-11eb-8b86-12bb97331649.png

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

2 UVM验证平台建立

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

AndyICer,公众号:Andy的ICer之路路由器的System Verilog验证平台

a365804e-9dac-11eb-8b86-12bb97331649.png

2.1 agent

2.1.1 add_seq_item

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

a3c01dc4-9dac-11eb-8b86-12bb97331649.png

2.1.2 add_seq

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

法一:

a3e61088-9dac-11eb-8b86-12bb97331649.png

法二:

a43d3ee4-9dac-11eb-8b86-12bb97331649.png

2.1.3 add_sequencer

建立一个sequencer用于与其他模块通信

a47c69de-9dac-11eb-8b86-12bb97331649.png

2.1.4 add_driver

driver模块进行给DUT传输数据,reset phase进行DUT复位,main phase进行激励输入。

a4a39c34-9dac-11eb-8b86-12bb97331649.png

2.1.5 add_monitor

monitor模块接收DUT发来的数据,并通过TLM通信发送给scoreboard。

a4cc8b76-9dac-11eb-8b86-12bb97331649.png

2.1.6 add_if

定义一个Interface,里面包含有两个clocking block,定义了driver和monitor接口的输入输出方向。

a51c36e4-9dac-11eb-8b86-12bb97331649.png

2.2 env

2.2.1 add_scoreboard

建立scoreboard,进行硬件结果和软件结果的对比。

a55c977a-9dac-11eb-8b86-12bb97331649.png

2.2.2 add_reference_model

这里的逻辑比较简单,就没有使用到reference model了,但是还是保留有这个模块。

a59e980a-9dac-11eb-8b86-12bb97331649.png

2.2.3 add_env

env就是把agent、scoreboard、reference model都build并connect起来。

a5c67cc6-9dac-11eb-8b86-12bb97331649.png

2.3 test

test是验证环境的顶层,顶层中将env建立好并将configure也建立好,在顶层中进行设置。

a602a980-9dac-11eb-8b86-12bb97331649.png

a65e3516-9dac-11eb-8b86-12bb97331649.png

2.4 Testbench

将硬件DUT和软件验证环境联系起来,形成一个完成的测试平台。

a6e00622-9dac-11eb-8b86-12bb97331649.png

a72d59e0-9dac-11eb-8b86-12bb97331649.png

3 验证结果

可以看出验证功能正确,并且通过对于driver和monitor时序的调整可以控制输出结果的时序,大家也可以尝试搭建一个验证平台,对于UVM会有一个更加直观的感受。

a74f997e-9dac-11eb-8b86-12bb97331649.png

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加法器
    +关注

    关注

    6

    文章

    183

    浏览量

    30118
  • UVM
    UVM
    +关注

    关注

    0

    文章

    182

    浏览量

    19167

原文标题:一个加法器的UVM验证平台设计

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA威廉希尔官方网站 江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    想用同相加法器实现-1.4v到0变为0到2.5v左右的输出,请问用什么运放比较好?

    我想用同相加法器实现-1.4v到0变为0到2.5v左右的输出,请问用什么运放比较好。呵呵,后面接跟随器再接ADC
    发表于 09-25 06:48

    用opa2228制作了同向加法器,可输出出现了震荡怎么解决?

    请问下,我用opa2228制作了同向加法器,可输出出现了震荡(其中正向输入的两信号分别是峰峰值为1.36V频率4kHZ的正弦波,和
    发表于 09-20 06:58

    LM258反向加法器输出信号出现断点怎么解决?

    LM258反向加法器输出信号出现断点的问题,求各位老师解答 电路图如下: 采用正负5V供电 输入输出如下: 上面是输出,下面是输入。输入两样的正弦信号,输出信号出现断点是怎么回事呢? 发现输入大信号出现上述现象,小信号
    发表于 09-20 06:49

    实现两频率正弦波相加的加法器的芯片选取有什么特殊要求吗?opa2320可以吗?

    实现两频率正弦波相加的加法器的芯片选取有什么特殊要求吗?opa2320可以吗?
    发表于 09-11 08:30

    用OPA454做了简单的加法器电路,电压有明显降低是怎么回事?

    小弟最近碰到问题,我用OPA454做了简单的加法器电路:运放反相端接3V电压源和
    发表于 08-30 07:00

    加法器是时序逻辑电路吗

    意味着,对于给定的输入,组合逻辑电路的输出是确定且立即的,没有时间延迟(除了传播延迟)。加法器就是这样种电路,它将两或多个二进制数相加,并立即产生和的结果,不需要考虑之前的状态或时间信息。 相比之下,时序逻辑
    的头像 发表于 08-28 11:05 543次阅读

    用单电源运放实现加法器混音左右声道,输出经功放后有较明显沙沙声,怎么解决?

    左右声道经过加法器混音的原理示意图如下: 运放选择的是LME49726,5V电源是从DCDC 18V经过78M05后得到的,然后从这个5V经过1117-2.5得到2.5V电源。 问题:经过这个
    发表于 08-28 06:13

    请问全差分运算放大器能像般运算放大器样设计加法器吗?

    全差分运算放大器能像般运算放大器样设计加法器吗?
    发表于 08-09 06:26

    GS8522加法器电路迷之短路

    尝试只焊第级的运放和周围电阻,现象相同。电路仿真使用OPA2140代替GS8522时仿真测试结果正常。 对此我不明白的是,此电路的功能为加法器,第级由两电压跟随器组成(使用芯片G
    发表于 07-05 16:39

    请问增益为1的加法器有哪些?

    增益为1的加法器指的是输出信号的幅度与输入信号幅度相等的加法器。这类加法器在模拟电路设计中非常重要,因为它们在执行加法运算的同时,不会改变信号的幅度。
    的头像 发表于 05-23 15:10 1096次阅读

    串行加法器和并行加法器的区别?

    串行加法器和并行加法器是两种基本的数字电路设计,用于执行二进制数的加法运算。它们在设计哲学、性能特点以及应用场景上有着明显的区别。
    的头像 发表于 05-23 15:06 2520次阅读

    加法器的原理是什么 加法器有什么作用

    加法器是数字电路中的基本组件之,用于执行数值的加法运算。加法器的基本原理和作用可以从以下几个方面进行详细阐述。
    的头像 发表于 05-23 15:01 2912次阅读
    <b class='flag-5'>加法器</b>的原理是什么 <b class='flag-5'>加法器</b>有什么作用

    同相加法器和反相加法器的区别是什么

    同相加法器和反相加法器是运算放大器在模拟电路设计中常用的两种基本电路结构,它们在信号处理方面有着不同的特性和应用场景。
    的头像 发表于 05-23 14:35 2558次阅读

    加法器ICL7660M/TR芯片发热问题?

    没有焊反,另外拿新芯片单独在8脚和3脚加5V和GND检测,不发热,重新拿这个新芯片焊接上去后,在8脚和3脚加5V和GND检测,芯片再次发热冒烟,而原芯片卸下后同方法测试不发热。好像问题出现在我画的板子上,求助各位伙伴指点,问题在哪? !
    发表于 05-06 16:32

    如何设计16比特的减法器呢?

    减法电路是基本集成运放电路的种,算术运算电路主要包括数字**加法器电路、数字减法器电路、数字乘法器电路和数字除法器电路。
    的头像 发表于 02-19 10:00 887次阅读
    如何设计<b class='flag-5'>一</b><b class='flag-5'>个</b>16比特的减<b class='flag-5'>法器</b>呢?