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

无锡网站制作启百度热搜榜排名昨日

无锡网站制作启,百度热搜榜排名昨日,东平企业建站公司,浙江网站建设哪里好UVM Config_db机制使用总结与源码解析 UVM Config_db机制介绍UVM Config_db 机制引入的背景基本介绍使用方法优缺点: UVM Config_db机制使用示例:UVM Config_db使用高阶规则Config_db资源优先级 UVM Config_db 源码解析 UVM Config_db机制介绍 UVM Conf…

UVM Config_db机制使用总结与源码解析

  • UVM Config_db机制介绍
    • UVM Config_db 机制引入的背景
    • 基本介绍
    • 使用方法
    • 优缺点:
  • UVM Config_db机制使用示例:
  • UVM Config_db使用高阶规则
    • Config_db资源优先级
  • UVM Config_db 源码解析

UVM Config_db机制介绍

UVM Config_db 机制引入的背景

在Systemverilog搭建的验证平台中,需要对各组件进行参数配置,但是配置各组件必须得在各组件实例化之后才能配置参数,例如test中必须得执行env = new();才能配置env.i_agt.drv.pen_num = 10;。再比如接口指针,需要就需要为每个组件设定设定set_interface();方法,非常繁琐。为解决此问题,UVM提出了解决办法,即UVM Config_db机制。

UVM提供的config_db机制可在组件实例化前就设定好配置信息,这样就可在tb的initial块中就进行设定了。真正将这些配置信息落实在各component,是在testbench运行过程build_phase中。

基本介绍

config_db的作用

     UVM提供了uvm_config_db配置类以及几种方便地变量设置方法来实现仿真的环境控制

uvm_config_db类的使用方式包括:

  • 传递virtual interface 到环境中
  • 设置单一变量值,例如int、string、enum等
  • 传递配置对象(config object)到环境

使用方法

set与get函数的参数:
config_db机制用于在UVM验证平台间传递参数,set()是寄信,get()是收信

uvm_config_db#(T)::set(uvm_component cntxt, string inst_name, string field_name, T value);
uvm_config_db#(T)::get(uvm_component cntxt, string inst_name, string field_name, inout T value);

T:是传递信息的类型
cntxt:是一个uvm_component实例的指针,cntxt+inst_name组成目标路径
inst_name:是相对此实例的路径
field_name:变量名set和get的第三个参数必须一致
value:表示的就是要存放的数据本身了。它可以用某一个变量或者句柄来表示具体的数据对象,也可以是直接给一个常数。这里需要注意,value的数据类型就是前面已经配置的my_type类型,如果不一致会引入错误。

优缺点:

优点:
用户只需要按照set、get方法要求,就能基本上完成testbench中virtual interface传递;

缺点:
源代码复杂;

UVM Config_db机制使用示例:

在这里插入图片描述

仿真结果如下:

在这里插入图片描述

UVM Config_db使用高阶规则

Config_db资源优先级

当不得已需要在环境中的多个地方,对相同数据对象,通过config_db进行配置的时候,就需要关心到这些资源的优先级,即在get时实际上会get到哪一个值或句柄。在config_db这一层(指的是不深入到uvm_resource_db这一层实现上),大概有以下几点需要关注。

第一点是get的优先级。get的机制比较简单,根据cntxt,inst_name,filed_name来找到全局资源池中所有匹配到的资源,并构成资源数组,然后返回该资源数组中优先级最高的资源。这里的优先级(precedence)跟上面提到的name、type、scope和value一样,是每个资源对象拥有的属性。如果优先级一样,就返回排在资源数组最前面的资源!

第二点是非build_phase时的set。不在build_phase函数中set的资源,优先级是一样的(default_precedence),但后set的资源会排在资源数组的最前面!

第三点是build_phase时的set。在build_phase函数中set的资源,优先级会根据cntxt的级数降低(default_precedence - cntxt.get_depth())。也就是理想使用情况下(这里的理想使用情况指的是在顶层时cntxt参数用null,在其他层cntxt参数用this的情况),越靠近顶层set的资源的优先级更高。

UVM Config_db 源码解析

(等待补齐)


本文仅用作学习总结,转载自以下,特此感谢!

SystemVerilog | UVM | Config_db机制基础

http://www.dinnco.com/news/86832.html

相关文章:

  • 营销型网站传统网站最近三天的新闻热点
  • 做优惠网站多少钱如何优化关键词搜索
  • 营销型外贸网站建设郑州免费做网站
  • 世界最新军事新闻最新消息连云港网站seo
  • 新乡网站建设哪家正规哈尔滨优化网站方法
  • 装饰公司网站php源码免费网站seo排名优化
  • 深圳市工程建设网站购物网站页面设计
  • wordpress 编辑器推荐seo网站优化优化排名
  • 怎么免费申请网站营销推广的形式包括
  • 苏州专业网站建设设计公司哪家好交换友情链接前后必须要注意的几点
  • 网站娱乐一条龙搭建网站优化 推广
  • 做服装招聘的网站有哪些内容合肥做网站推广
  • 石家庄网站建设开发营销推广计划书
  • 在线企业管理培训课程seo网站关键词
  • 外贸导向企业网站推销产品的软文500字
  • 冷库网站建设毕业论文河南seo快速排名
  • 成都网站建设龙兵网络搜索量查询
  • 厦门网站搭建今天实时热搜榜排名
  • 举例常用动态网站开发技术电脑办公软件培训班
  • 北京建站模板系统百度关键词优化软件
  • 深圳专业做网站哪家好流量神器
  • 淘宝网站建设的目标什么长沙百度首页排名
  • 网站建设l临沂西安专业网络推广公司
  • 自动化外包接单平台seo流量是什么
  • 求做政府采购网站网络推广宣传
  • 中小学生做试卷的网站6百度官方
  • 长沙营销型网站开发官方百度下载安装
  • 外贸类网站建设谷歌浏览器 官网下载
  • ordown WordPress独立下载页面搜索关键词排名优化
  • 重庆的汽车网站建设java培训