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

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

3天内不再提示

我的第二个UVM代码—连接interface

冬至子 来源:ExASIC 作者:陈锋 2023-06-15 10:51 次阅读

testbench最最核心的部分就是发激励,今天用一个简单的示例来介绍如何在uvm里给RTL发激励。

第一步,先来定义interface,如下。

图片

interface是sv的一个关键字,级别等同于module,所以与module是并列的,一般单独写一个文件。

第二步,在testbench里实例化interface,并连接interface与RTL。

图片

既然interface与module同级,实例化时就不能忘记括号。由于大部分信息不需要引到interface端口上,所以看上起来有点不太像模块例化。

第三步,把interface实例化对象传递到uvm。

图片

在run_test()之前,通过uvm里的函数uvm_config_db::set()函数把interface存储到指定的存储路径。

第四步,在uvm里读取interface,并存储到virtual interface里。

图片

从名字上看,config_db是一种存储配置信息的数据库(类似全局变量,可以想象成一个关联数组),要正确存储和读取数据,需要类型和存储路径同时正确。v_intf有点像是一个指针,把读取的数据存到这个指针对应的存储空间里。

第五步,驱动v_intf的信号

图片

先初始化所有的信号。由于virtual interface指向了前面实例化的interface,给virtual interface赋值,等同于给真实的interface的信号赋值。

图片

随机发一些激励,这部分与纯sv的写法没有差别。

仿真结果

图片

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

    关注

    38

    文章

    7528

    浏览量

    164319
  • 仿真器
    +关注

    关注

    14

    文章

    1019

    浏览量

    83922
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59938
  • UVM
    UVM
    +关注

    关注

    0

    文章

    182

    浏览量

    19225
  • Module
    +关注

    关注

    0

    文章

    69

    浏览量

    12892
收藏 人收藏

    评论

    相关推荐

    华为深耕海外版图 将在日本设立第二个研发中心

    据日经新闻周五报道,中国电信(微博)设备制造商华为公司将会在日本东京设立研发中心,这也是华为在海外设立的第二个研发中心。
    发表于 11-26 11:54 790次阅读

    邵贝贝书中第二个例子的问题

    买了邵贝贝的uc/OSII书,第二版。在borland c++里跑第二个例子,生成exe文件后,发现显示不对。搞不懂,为什么发生这种情
    发表于 08-08 09:03

    请问为什么第二个周期更长?

    你好, 有人可以告诉为什么第二个周期更长?问候,弗雷德以上来自于谷歌翻译以下为原文Hello, Can someone to tell me why the second cycle is longer? Regards, Fred
    发表于 04-04 12:26

    如何使用ESP32并添加第二个无线电模块?

    需要能够同时连接到 Wi-Fi 和蓝牙。想使用 ESP32 并添加第二个无线电模块。的想法是 ESP 32 将处理 Wi-Fi
    发表于 04-12 07:37

    如何为SPIFFS使用第二个SPI闪存芯片?

    正在寻找帮助设置第二个 spi 闪存芯片的链接。 这第二个芯片将在其他 spi 端口之一上。 第二个芯片不会与引导存储器芯片并联。
    发表于 05-30 07:50

    电脑第二个硬盘怎么装

    硬盘里面的东西越来越多,快装不下了,加装硬盘不是更好,今天小编就来介绍如何给电脑加装第二个硬盘的方法。
    的头像 发表于 03-12 15:08 3.9w次阅读

    谷歌发布AndroidQ的第二个测试版 继续对折叠屏适应

    今天,谷歌悄无声息的发布了Android Q(也就是安卓10.0)的第二个测试版,主要来说是修正上一测试版的Bug,同时还继续对折叠屏适应。
    的头像 发表于 04-04 09:48 2302次阅读

    苹果macOS Catalina 10.15.1第二个Beta今天发布

    苹果今日发布了macOS Catalina 10.15.1第二个开发者测试版,有开发者资格的用户现已可下载安装。
    的头像 发表于 10-18 15:12 3252次阅读

    鸿蒙没有走别人的路 鸿蒙也不是第二个安卓

    有不少人认为:鸿蒙是第二个安卓。如果它不是第二个安卓,那么就是山寨的安卓。
    的头像 发表于 09-19 10:58 2119次阅读
    鸿蒙没有走别人的路 鸿蒙也不是<b class='flag-5'>第二个</b>安卓

    Zoom营收增幅可能连续第二个季度超过300%

     据报道,Zoom 周一有望再次公布优异业绩,营收增幅可能连续第二个季度超过 300%。
    的头像 发表于 11-30 09:11 1448次阅读

    ASM宣布在新加坡开设第二个车间

    3月30日,据国外媒体报道,ASM国际表示,由于在新加坡的扩张正值近期全球芯片短缺之际,因此ASM国际在新加坡开设了第二个制造车间加大对芯片的量产。
    的头像 发表于 03-30 15:49 2020次阅读

    开发ATtiny微处理器编程器的第二个版本

    电子发烧友网站提供《开发ATtiny微处理器编程器的第二个版本.zip》资料免费下载
    发表于 07-25 11:15 0次下载
    开发ATtiny微处理器编程器的<b class='flag-5'>第二个</b>版本

    电阻串联是否影响第二个的电压电流

    电阻串联是否影响第二个的电压电流  电阻串联是指将两或多个电阻器连接在一起,其中每个电阻器的末端与相邻电阻器的起始端相连。在电路中,串联电阻的总电阻等于每个电阻的总和。接下来,让
    的头像 发表于 09-01 16:49 2765次阅读

    vlookup怎么把第二个重复值显示

    如何使用VLOOKUP来显示第二个重复值。 要了解如何显示第二个重复值,首先需要了解VLOOKUP函数的基本用法。VLOOKUP函数包含四参数,分别是查找值、查找范围、返回列号和匹配类型。查找值是要在数据表中查找的值,查找范围
    的头像 发表于 12-03 10:24 3460次阅读

    如何加装第二个路由器

    加装第二个路由器可以扩展你的无线网络覆盖范围,提高网络速度,或者为特定区域提供更稳定的连接。以下是加装第二个路由器的步骤,以及一些注意事项: 1. 选择合适的路由器 在选择第二个路由器
    的头像 发表于 10-18 09:19 873次阅读