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

卫计局网站建设信息公开总结陕西网络推广维护

卫计局网站建设信息公开总结,陕西网络推广维护,无锡今天最新通知,泰安选择企业建站公司在 UVM 验证环境中,uvm_config_db 是一种强大的机制,用于在不同组件之间传递配置参数。根据你的描述,我们可以结合UVM 树结构来解释直线和非直线的设置与获取。 UVM 树结构示例 假设 UVM 树结构如下: uvm_test_top ├── env …

在 UVM 验证环境中,uvm_config_db 是一种强大的机制,用于在不同组件之间传递配置参数。根据你的描述,我们可以结合UVM 树结构来解释直线和非直线的设置与获取。

UVM 树结构示例

假设 UVM 树结构如下:

uvm_test_top
├── env
│   ├── i_agt
│   │   └── drv (driver)
│   ├── scb (scoreboard)
│   └── ref_model (reference model)

其中,driver 的路径为 uvm_test_top.env.i_agt.drv

直线设置与非直线设置

  1. 直线设置

    • 如果在 uvm_test_topenvi_agt 中对 driver 的某些变量进行设置,这种设置称为直线设置

    • 例如,在 env 中设置 driverpre_num 参数:

function void env::build_phase(uvm_phase phase);super.build_phase(phase);uvm_config_db#(int)::set(this, "i_agt.drv", "pre_num", 100);
endfunction
  • 这种设置方式符合 UVM 的层次结构,路径清晰且易于管理。

非直线设置

  • 如果在其他组件(如 scoreboardreference model)中对 driver 的某些变量进行设置,则称为非直线设置

  • 例如,在 scoreboard 中设置 driverpre_num 参数:

function void my_scoreboard::build_phase(uvm_phase phase);super.build_phase(phase);uvm_config_db#(int)::set(this.m_parent, "i_agt.drv", "pre_num", 200);
endfunction

或者:

function void my_scoreboard::build_phase(uvm_phase phase);super.build_phase(phase);uvm_config_db#(int)::set(uvm_root::get(), "uvm_test_top.env.i_agt.drv", "pre_num", 200);
endfunction
  • 非直线设置可能会带来风险,因为 UVM 并未明文规定同一级别组件(如 scbi_agt)的 build_phase 执行顺序。因此,当 driver 获取参数时,scoreboardbuild_phase 可能尚未执行,导致参数设置失败。

直线获取与非直线获取

  1. 直线获取

    • driver 中通过 uvm_config_db::get 获取其他组件设置的参数,称为直线获取

    • 例如,在 driver 中获取 pre_num 参数:

function void my_driver::build_phase(uvm_phase phase);super.build_phase(phase);int pre_num;void'(uvm_config_db#(int)::get(this, "", "pre_num", pre_num));`uvm_info("my_driver", $sformatf("pre_num = %0d", pre_num), UVM_LOW)
endfunction

非直线获取

  • 如果在其他组件(如 reference model)中获取其他组件设置给 driver 的参数值,则称为非直线获取

  • 例如,在 reference model 中获取 driverpre_num 参数:

function void my_ref_model::build_phase(uvm_phase phase);super.build_phase(phase);int pre_num;void'(uvm_config_db#(int)::get(this.m_parent, "i_agt.drv", "pre_num", pre_num));`uvm_info("my_ref_model", $sformatf("pre_num = %0d", pre_num), UVM_LOW)
endfunction
  • 这种方式同样需要确保路径正确,并且设置操作在获取操作之前完成。

注意事项

  • 路径正确性:无论是直线还是非直线设置/获取,路径必须正确。可以使用 get_full_name() 或相对路径来确保路径的准确性。

  • 执行顺序:非直线设置可能会因执行顺序问题导致失败。建议尽量避免非直线设置,除非有明确的必要。

  • 调试:如果设置或获取失败,可以使用 uvm_config_db::check_config_usage 来检查配置参数的使用情况。

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

相关文章:

  • 惠州网站制作公司找工程项目
  • 【CTF夺旗赛】文件包含漏洞攻防
  • 网站建设和使用现状网站 多个ip 备案
  • 网站的域名和空间外贸建站及推广
  • 中国平安官方网站心态建设课件广州软件开发公司排行榜
  • xps13适合网站开发吗wordpress tagline
  • 手机做兼职的网站公司取名网免费版
  • 推荐的 Visual Studio 2026 Insider C++ 程序项目属性配置
  • 【C学习】13-数组使用与运算
  • 甜品网站首页设计昆明市住房和城乡建设局网站上看的
  • 越秀公司网站建设洛阳霞光科技专业网站制作
  • 做外贸的都有那些网站百度seo是什么意思呢
  • 网站制作的语言云建站网址
  • 网站开发试验报告上海外贸大厦
  • JAVA实现调整字符串
  • SSM教务信息管理系统3rtdg(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • JAVA同城服务上门家政派单系统源码,安装部署指南、API接口文档、二次开发手册
  • 后缀学习笔记 | -er/-or -ee 系列
  • 小网站asp好还是php好网络科技公司取名字参考大全
  • 【安卓开发】【Android】项目中提示“找不到XXXActivity”解决方法
  • jeesite mybatis添加拦截器,推送指定表的变更数据到其他数据库
  • [MRCTF2020]千层套路1
  • 新网站建设的工作总结怎么在网上免费做公司网站
  • .net商城网站开发开设计公司要怎么规划
  • 在哪里可以做个人网站上海建站shwzzz
  • 项目管理的核心价值是什么?
  • 哪有做机械设计的网站无经验培训 网页设计学员
  • 常州网站建设平台带视频的网站模板
  • DrayTek Vigor路由器mainfunction.cgi接口存在命令执行漏洞
  • 企业内部网站打不开甜点的网站建设规划书