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

唐山网站制作代哥seo

唐山网站制作,代哥seo,海外市场推广方案,网络营销分类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.hkea.cn/news/107061/

相关文章:

  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司
  • 服务器托管是啥搜索引擎优化排名培训