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

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

3天内不再提示

怎么用脚本产生一个验证环境

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-08-11 09:07 次阅读

之前有朋友问我怎么用脚本产生一个验证环境,这个问题今天和大家介绍下两种做法。

第一种用VCS自带的uvmgen工具

当你在命令行时直接输入uvmgen会输出如下信息

967f3508-190e-11ed-ba43-dac502259ad0.png

选择1

然后按照提示步骤进行UVM环境的创建

96880bba-190e-11ed-ba43-dac502259ad0.png

创建完之后我们看看环境目录

969d5dc6-190e-11ed-ba43-dac502259ad0.png

刚才我们创建的env,agent,scoreboar,coverage收集模块等都已经完备,跑环境的Makefile也都自动生成好了。对于一些简单的UVM环境,用uvmgen还是非常适用的。

但是采用这种方式产生UVM环境的局限也比较明显,比如agent不能添加多个等,对于一些复杂的验证环境还得自己手动添加。有没有一种脚本能够将整体框架大家好,甚至将验证管理中的checklist都准备妥当。下面介绍的这个uvmdvgen.py 脚本将实现这些强大的功能。

介绍下这个脚本实现的功能

可以快速生成 agent;

能够根据用户需求产生UVM环境;

自带checklist;

自带testplan;

这里产生的UVM环境可以支持多个不同的agent,并且UVM环境的编码风格对复用性非常友好。让我们看看这款UVM的脚本是怎么使用的。

用-a 单独生成一个agent,例如

uvmdvgen.py i2c -a

生成i2c 的agent

96ad4812-190e-11ed-ba43-dac502259ad0.png

用-s 可以一个agent里面增添 host driver 和device driver

uvmdvgen.py i2c -a -s

96d84440-190e-11ed-ba43-dac502259ad0.png

讲完agent,开始讲environment,用-e 产出UVMenvironment

uvmdvgen.py i2c -e

96ef7de0-190e-11ed-ba43-dac502259ad0.png

Checklist,Testplan,UVMenvironment 一应俱全。

用-ea添加agent,可以随便添加多少个agent

uvmdvgen.py chip -e-ea uart i2c jtag

970dcc46-190e-11ed-ba43-dac502259ad0.png

如此在environment添加agent便完成了。

该脚本还可以用-hi和-hr实现是否有interrupt,register model等功能。

是不是功能超级强大,迫不及待想用这个脚本的小伙伴可以在下面链接获取。

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

    关注

    6

    文章

    835

    浏览量

    54457
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    18965
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14636

原文标题:如何自动产生一个UVM环境

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RISC-V Linux开发环境脚本

    比较多的RISC-V SOC Linux开发环境使用CMake/Makefile,虽然也知道些怎么,但有没完整系统的这方面学习资料?如语法、脚本链接结构等,可以分享下深入学习
    发表于 03-31 12:48

    牛人对IC验证的独特理解

    timing。 如果你的设计里用了不带reset的dff的描述,由于开始不定态的传播,可能导致你门仿失败。个人推荐的方法是:如果特别多的话,脚本找到对应模块里所有dff,产生
    发表于 01-11 10:20

    FPGA实战演练逻辑篇66:仿真验证概述

    的输出响应是否符合设计要求。如图9.1所示,测试平台就是要模拟和待验证设计相连接的各种外围设备。(特权同学,版权所有)图9.1 设计与验证初学者在刚接触仿真这个概念的时候,可能以为
    发表于 08-23 18:46

    labview里面的active 控件做了浏览器发生脚本错误

    labview里面的active 控件做了浏览器,但我的电脑就会出现脚本错误,别人的电脑有些就不会出现这样的问题,不知道怎么弄球大神
    发表于 09-20 14:43

    FPGA设计的仿真验证概述

    的输出响应是否符合设计要求。如图9.1所示,测试平台就是要模拟和待验证设计相连接的各种外围设备。(特权同学,版权所有)图9.1 设计与验证初学者在刚接触仿真这个概念的时候,可能以为
    发表于 04-10 06:35

    基于VMM的验证环境验证MCU指令实现设计

    验证结构,以及以功能覆盖率为指标的验证流程。在本文中,围绕Synopsys的VMM(Verification Methodology Manual)构建了MCU
    发表于 07-01 08:15

    基于VMM验证方法学的MCU验证环境实现方法介绍

    验证结构,以及以功能覆盖率为指标的验证流程。在本文中,围绕Synopsys的VMM(VerificationMethodology Manual)构建了MCU
    发表于 07-03 07:40

    如何创建链接脚本

    FJ256GP710GLD,即使原来的意思是针对PIC24探险者板。有没有人在那里为我的芯片创建了链接脚本,或者知道我在哪里可以找到
    发表于 05-08 14:11

    优秀的SOC验证环境应该具备哪些功能呢

    小编前段时间帮客户找到些人解决了SOC验证环境的问题。在招人的时候我们和不少人进行了沟通交流,从中发现SOC验证环境一千家公司有一千家公司
    发表于 05-31 11:39

    怎样C语言去启动SOC验证环境

    上次说到CPU的boot,今天说说SOC环境的另外种启动方式。C启动SOC验证环境有几个问题。
    发表于 06-17 14:41

    SoC验证环境搭建方法的研究

    本文从SoC (System on a Chip)验证环境外在的框架结构、内在的验证数据的组织与管理和体现其工作原理的系统脚本的设计思想三方面出发,讨论SoC
    发表于 12-14 09:52 22次下载

    参数化UVM IP验证环境(上)

    的连接、驱动器、监视器、仿真序列以及功能覆盖率的建立。 本文呈现出了一种使用UVM验证方法学构建基于高可配置性的高级微处理器总线架构(AMBA)的IP验证环境,其中会使用到Synopsys公司的AMBA VIP和Ruby
    发表于 09-15 14:37 6次下载
    参数化UVM IP<b class='flag-5'>验证</b><b class='flag-5'>环境</b>(上)

    如何在代码编写器StudioIDE开发环境中使用脚本实用程序的详细描写

    脚本是代码编写器Studio集成开发的一种新实用工具。环境(IDE)V2.10。它提供了一个集成到Perl或Visual中的命令库。基本应用程序(VBA),提供可利用的批处理模式脚本能力。在自动化
    发表于 04-25 14:09 8次下载
    如何在代码编写器StudioIDE开发<b class='flag-5'>环境</b>中使用<b class='flag-5'>脚本</b>实用程序的详细描写

    你知道在linux下搭建lua脚本语言的编程环境

    lua是脚本语言的一种,具体的该脚本的介绍可百度,本文介绍Linux系统下搭建lua编程环境的步骤,以及在搭建过程中碰到的种种问题。
    发表于 05-16 16:25 3507次阅读
    你知道在linux下搭建lua<b class='flag-5'>脚本</b>语言的编程<b class='flag-5'>环境</b>?

    编写动态的验证环境

    作为一名DV,开发验证环境,编写验证环境也算是必备基础技能了。虽然每天都会coding,但最终写出来的代码,是一次性代码,还是方法?
    的头像 发表于 07-17 10:40 366次阅读
    编写动态的<b class='flag-5'>验证</b><b class='flag-5'>环境</b>