当前位置: 首页 > news >正文

长沙高端网站制作公司丹灶建网站

长沙高端网站制作公司,丹灶建网站,合肥知名网页制作公司,永年企业做网站推广在《 creating and using sequence》中,我们了解到sequence会调用任务start_item()和finish_item()。通过直接调用UVM sequence宏uvm_do或uvm_do_with,你可以避免在代码中写入所有这些语句。在编译时,这些宏将被替换为对start_item()和finis…

在《 creating and using  sequence》中,我们了解到sequence会调用任务start_item()finish_item()。通过直接调用UVM sequence宏uvm_douvm_do_with,你可以避免在代码中写入所有这些语句。在编译时,这些宏将被替换为对start_item()finish_item()的调用。主要有四种类型的UVM宏可以在默认sequencer上执行。

Macros `uvm_do_*

你必须提供一个 uvm_sequence_item 对象或序列,其内部会执行以下操作:

1. 必要时通过 uvm_create 创建条目。若无需创建条目,请使用 uvm_send
2. 对条目或序列进行随机化
3. 若为 uvm_sequence_item 对象,则调用 start_item() 和 finish_item()
4. 若为序列,则调用 start() 任务

  • uvm_do:在默认sequencer上执行提供的sequence item
  • uvm_do_with:用行内值覆盖默认约束
  • uvm_do_pri:根据优先级值执行,用于同时运行多个sequence时
  • uvm_do_pri_with:根据优先级执行,并用行内值覆盖默认约束

uvm_do_*宏会判断参数是sequence还是sequence item,并相应调用start()start_item()

Example

下面的序列将生成四个项目,随机排列后发送至驱动器

class base_sequence extends uvm_sequence #(my_data);`uvm_object_utils (base_sequence)...virtual task body ();`uvm_info ("BASE_SEQ", $sformatf ("Starting body of %s", this.get_name()), UVM_MEDIUM)`uvm_do (req)`uvm_do_with (req, { data == 8'h4e;addr == 8'ha1; })`uvm_do_pri (req, 9)`uvm_do_pri_with (req, 3, { data == 8'hc5; })`uvm_info ("BASE_SEQ", $sformatf ("Sequence %s is over", this.get_name()), UVM_MEDIUM)endtask...
endclass

变量req已在序列类的参数中声明并定义,其类型为my_datauvm_do_*宏将默认使用内置的m_sequencer执行序列。若需在其他用户自定义的sequencer上执行该序列,则需调用uvm_do_on_*宏,示例如下:

`uvm_do_on          (SEQ_OR_ITEM, SEQR)
`uvm_do_on_pri      (SEQ_OR_ITEM, SEQR, PRIORITY)
`uvm_do_on_with     (SEQ_OR_ITEM, SEQR, CONSTRAINTS)
`uvm_do_on_pri_with (SEQ_OR_ITEM, SEQR, PRIORITY, CONSTRAINTS)
Structure

uvm_do macros ultimately call uvm_do_on_pri_with

注意:所有宏均使用UVM中的define进行编码,每个宏都会调用uvm_do_on_pri_with并传入适当的参数。例如,

`define uvm_do (SEQ_OR_ITEM)`uvm_do_on_pri_with (SEQ_OR_ITEM, m_sequencer, -1 {})`define uvm_do_on_with (SEQ_OR_ITEM, SEQR, CONSTRAINTS)`uvm_do_on_pri_with (SEQ_OR_ITEM, SEQR, -1, CONSTRAINTS)

http://www.dtcms.com/a/565802.html

相关文章:

  • Nacos配置安全治理:把数据库密码从YAML里请出去
  • RSA 算法数学原理
  • 网站建设应注意哪些事项wordpress 收费 视频
  • 外贸找客户有什么网站平台公司会倒闭吗
  • P5091 【模板】扩展欧拉定理
  • C盘爆满急救指南
  • 天台高端网站建设公司专业网站设计公司价格
  • 温州专业微网站制作公司天猫网页版
  • 免费网络推广网站王烨重生
  • 微气象仪:精准感知微环境气象变化
  • svn使用之创建分支进行开发
  • 拍卖网站建设公司社交类电商平台
  • Elasticsearch 8 安装与配置
  • 邯郸做网站推广找谁盛大游戏优化大师
  • HR1124S/HR1154D:赋能直流电机高效安全运行的核心芯片
  • 化妆品网站网页设计营销培训师
  • 网站积分解决方案标书制作模板
  • 前端直接渲染Markdown
  • Vue 3.5 新特性——useTemplateRef:简化模板引用的革命!
  • 网站开发技术三大件网页设计与制作教程期末考试试题
  • 赣州制作网站企业个人简历自我评价
  • 寄存器与存储器的区别(TLB和Cache,指令流水线分析)
  • 思维链(CoT)× 智能体(Agent)× 提示词(Prompt)讲解
  • MAC-SQL 图1
  • 第一章 WPF概述
  • 建设网站主机免费版展厅设计与施工公司
  • 如何注册网站免费的吗wordpress注释符号
  • 博客网站快速排名常用的设计软件有哪些
  • 做直播导航网站有哪些网站后端开发语言
  • C# 常用集合的使用