【从零开始学习 UVM】6.4、UVM 激励产生 —— uvm_do 宏详解

这篇具有很好参考价值的文章主要介绍了【从零开始学习 UVM】6.4、UVM 激励产生 —— uvm_do 宏详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

请注意,start方法的call_pre_post字段设置为0,这意味着在使用这些序列宏时,序列的pre_body和post_body方法将永远不会被调用。否则,执行流程与通过start方法执行序列时类似。

执行序列宏介绍

使用序列宏的优点是可以使用内联约束,但是您失去了控制执行sequence中 pre_bodypost_body 方法调用的能力。通过创建item、随机化并自动调用所需任务来减少代码行数,以启动给定的sequence或sequence_item。

【从零开始学习 UVM】6.4、UVM 激励产生 —— uvm_do 宏详解

在之前的文章中,我们了解到所有 uvm_do 宏最终都调用在 uvm_do_on_pri_with 中定义的代码。因此,让我们看看 UVM 中如何构建它以更好地理解这个过程。文章来源地址https://www.toymoban.com/news/detail-405093.html

`define uvm_do_on_pri_with

到了这里,关于【从零开始学习 UVM】6.4、UVM 激励产生 —— uvm_do 宏详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UVM学习——搭建简单的UVM平台

      本专栏的博客均与 UVM 的学习相关,学习参考:  【1】UVM Tutorial  【2】张强著,UVM实战 (卷 Ⅰ)  【3】Download UVM (Standard Universal Verification Methodology) 本专栏的学习基本依照 资料【2】的主线,以【1】【3】资料作为参考。特别是【3】是官方的UVM手册,具有很高的可参考性

    2024年02月16日
    浏览(36)
  • UVM学习笔记1——断言和断言覆盖率

    2023.3.8 一直都没懂覆盖率和断言,今天开始慢慢学 2023.3.11 打卡学习 2023.4.4 断言不仅可以进行 时序的检测 ,还可以进行 覆盖率的收集 ,因为covergroup只适合对功能点的测试,但是信号与信号之间的时序是否正确可能不能很好的覆盖,使用断言更加方便。 用来与设计功能和时

    2024年02月09日
    浏览(37)
  • (UVM验证学习13) apb和ahb的另外一些笔记

    APB slave端的要求比较灵活: 对于总线写入到slave的传输行为,写入的数据data既可以在PSEL为高时,在CLK的上升沿锁存;也可以当PSEL为高时,在PENABLE的上升沿锁存。区别就是前者会早一点,PENABLE要在CLK上升沿后才会被驱动拉高。 对于总线的读slave行为,数据只要在PWRITE=0,然后

    2024年02月08日
    浏览(39)
  • 【UVM】-- UVM测试平台搭建与调试

    《UVM》实战中这个DUT的功能比较简单: 在clk的上升沿,且rst不为低电平的时候,将输入的信号直接发送出去,并且输出输入的使能信号; 在clk上升沿,如果rst为低电平,复位输出信号和使能信号 clk 时钟输入信号 rst_n 复位输入信号  rxd 8bit输入数据信号 rx_dv 输入使能信号

    2024年02月15日
    浏览(35)
  • 基于UVM+VCS基本平台,运行《UVM实战》中的第一个UVM代码并输出结果

    (1)下载puvm.tar.gz和uvm-1.1d.tar.gz压缩包 ,使用分别使用tar zxvf puvm.tar.gz和 tar zxvf uvm-1.1d.tar.gz解压到当前目录下 (2)找到puvm-src-ch2-dut-dut.sv文件,将该文件拷贝到puvm-src-ch2-section2.2-2.2.1目录下 (3)打开puvm-src-ch2-section2.2-2.2.1-Makefile.vcs文件并按照下面的方法进行编辑,编辑完后

    2024年02月09日
    浏览(43)
  • UVM实战_5_UVM中的寄存器模型

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 本章节主要介绍UVM实战第7章寄存器模型的内容 通常来说,DUT中会有一组 控制端口 ,通过控制端口,可以配置DUT中的寄存器,DUT可以根据寄存器的值来改变行为,这组控制端口就是寄存器配置总线。 暂

    2024年01月23日
    浏览(57)
  • 诙谐有趣的《UVM实战》笔记——第二章 一个简单的UVM验证平台

    某天白天在地铁上听鬼故事,结果晚上要睡觉时,故事里的情节都历历在目,给我鸡皮疙瘩起的~ 不过我倒是没有吓得睡不着,而是转念一想,为啥我学知识忘得很快,随便听的鬼故事却记得这么清楚咧? 那如果能像听鬼故事那样去学知识,是不是可以记得更牢固呢? 经过一

    2024年02月08日
    浏览(60)
  • UVM重点归纳(一)

    1.1 利用工厂机制的一般实现步骤: 1.继承 范式: class comp_type/obj_type extends uvm_component/uvm_object; 实例: class comp1/obj1 extends uvm_component/uvm_object; 2.注册 范式: ​​​​​​​ `uvm_component/object_utils(comp_type/obj_type); 实例: `uvm_component/object_untils(comp1/obj1); 3.new函数声明 范式: func

    2024年02月14日
    浏览(36)
  • UVM实战笔记(七)

    7.1 寄存器模型简介 7.1.1 带寄存器配置总线的DUT 本章节使用的DUT带寄存器配置,代码如下: 该DUT只有一个1bit的寄存器invert,为其分配地址16’h9。如果其值为1,那么DUT在输出时会将输入的数据取反;如果为0,则将输入数据直接发送出去。inver可以通过总线bus_*进行配置。bus

    2024年02月03日
    浏览(39)
  • UVM实战--加法器

    这里以UVM实战(张强)第二章为基础修改原有的DUT,将DUT修改为加法器,从而修改代码以使得更加深入的了解各个组件的类型和使用。 和第二章的平台的主要区别点 (1)有两个transaction,一个为transaction_i,一个为transaction_o,由于DUT的输入输出值并不相同,输入为a,b,cin,输

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包