config_db机制是UVM中在不同的component之间实现资源共享的机制,它避免了全局变量的弊端。 通篇源代码看下来,其实config_db机制也是利用了一个全局的大池子(uvm_resource_pool)来存放资源,然后进行存取。 资源存放在什么地方:uvm_resource_pool 资源以什么形式存放:uvm_resource#(type T) 资源是如何存取:uvm_resourc...
uvm_config_db#( jelly_bean_agent_config )::set( .cntxt ( this ), .inst_name ( "jb_agent1*" ), .field_name( "jb_agent_cfg" ), .value( jb_env_cfg.jb_agent_cfg1 ) ); uvm_config_db#( jelly_bean_agent_config )::set( .cntxt ( this ), .inst_name ( "jb_agent2*" ),...
config_db::set一共有4个参数。 头两个参数的作用是合起来形成一个范围,只有在这个范围内的单位才可以通过config_db::get来获得我们set的东西。 第三个参数是我们自己瞎起的一个名字,就是个string型的标签,到时候系统在执行config_db::get的时候,就依据我们起的这个名字以及我们规定的类型(在这里类型就是virtual...
uvm_config_db #(int) ::set(null,"uvm_test_top.m_env.m_apb_agent","cov_enable",1); ...endfunction //Set virtual interface handle under name "apb_vif"available to all components below uvm_test_top, indicated by the*uvm_config_db #(virtual apb_if) :: set (null,"uvm_test_top....
答案在于uvm_config_db内部的m_rsc数组。这是一个由string作为键,uvm_resource#(T)作为值的静态键值对数组,以uvm_component为索引。这意味着,m_rsc数组实际上是一个以uvm_component为键,联合数组为值的结构,其中联合数组内部包含了key(string类型)和value(uvm_resource#(T)类型)。接下来,我们...
对于uvm_config_db来说,在调用get()函数检索数据库的时候,get()函数传递的{cntxt,”.”, inst_name}会作为uvm_re_match()的str的实参,set()函数设置的{cntxt,”.”, inst_name}在经过uvm_glob_to_re()处理后作为uvm_re_match()的实参,这也就是为什么set()参数的inst_name支持正则格式,而get()参数...
综上,uvm_config_db::set()和uvm_resource_db::set()是没有任何继承继承关系的。 从user的角度来讲,uvm_config_db::set/get是经常用到的。 第一个参数是uvm_component,所以一定要特别留心在sequence中参数设定的时候,这里不能是this,必须要是一个uvm_component的类型。
在Kubernetes(K8S)中,uvm_config_db是指Universal Verification Methodology(通用验证方法)中使用的配置数据库,用于在不同的组件之间传递配置信息。其主要作用是在测试环境中管理和分发配置参数,从而实现测试用例的灵活性和可维护性。 要实现uvm_config_db,我们需要按照以下步骤进行操作: ...
一、uvm_config_db简介 uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问...
举例来看,此代码出自于uvm-1.1d/src/base/uvm_config_db.svh文件。类uvm_config_db扩展了uvm_resource_db。定义了一个静态的uvm_pool,其中包含字符串和uvm_resource的数组。还定义了一个静态局部变量,它是一个uvm_queue类型,用于存储m_uvm_waiter。通过uvm_config_db类,实现str type config sim...