您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 4浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

UVM的configuration机制

FPGA硅农 发布时间:2022-05-26 13:20:45 ,浏览量:4

UVM的configuration机制
  • uvm configuration机制
  • 特点
  • UVM资源池
    • 添加配置资源
    • 获取配置资源
  • config机制的使用
    • 单个变量使用configure机制
    • interface使用configure机制
  • 总结

uvm configuration机制

uvm configuration是一个强大的属性配置工具,它: 1.可以传递值; 2.可以传递对象; 3.可以传递interface(virtual);

特点
  1. 作为半个全局变量,避免全局变量带来的风险;
  2. 高层组件可以通过该机制实现在不改变代码的机制下更改它所含子组件的变量;
  3. 各个层次都可使用;
  4. 支持通配符和正则表达式;
  5. 支持用户自定义的数据类型;
  6. 可以在仿真运行的过程中进行配置;
UVM资源池

在这里插入图片描述 如上图所示,uvm资源池由两部分构成,分别是添加配置资源和获取配置资源

添加配置资源
uvm_configure_db#(type)::set(
	uvm_component	cntxt,//配置资源的源组件
	string			instance_name,//配置资源的目标对象所属组件,可以使用通配符和正则表达式
	string			field_name,//配置资源的ID
	T				value//资源值,
	);

获取配置资源
uvm_configure_db#(type)::get(
   		uvm_component 	cntxt,
   		string 	inst_name,
   		string 	field_name,
   	    inout 	T 	value
)
config机制的使用

configuration机制的使用就是set函数和get函数的过程

单个变量使用configure机制

在这里插入图片描述

interface使用configure机制

首先根据DUT构建interface; 为driver添加virtual interface和驱动DUT: 在这里插入图片描述 将事务信息分解为pin级信号驱动给DUT 在这里插入图片描述 新建top.sv文件,将其他平台组件include,建立顶层module,进行各种连接,将实例化interface配置给virtua interface 在这里插入图片描述

总结

使用uvm_config_db的优势在于: 1.与SV的层次化索引不同,可以在顶层对任意层次进行配置,也可以在硬件域对软件域的接口进行配置,操作更方便 2.验证组件更独立,水平复用和垂直的移植都更加方便 3.即使在顶层没有配置,底层也不会报错,一方面提高了复用性,另一方面增加了隐患,所以最好在配置时设置调试语句,在配置失败时报错,以便于调试。

关注
打赏
1658642721
查看更多评论
立即登录/注册

微信扫码登录

0.0398s