1,首先我们要明白为什么引入interface?
引入interface是为了避免使用绝对路径增加程序的移植性!
2,为什么引入virtual interface?
因为在top_tb中可以直接声明interface,而在由run_test启动的UVM验证平台的类中不能直接声明interface因此引入了virtual interface!
3、interface 与virtual interface如何完成连接?
1)interface在top_tb中直接声明后,在随后例化DUT的过程中就可以将其与DUT连接。
2)virtual interface 在UVM组件中声明。
3)完成DUT的interface与UVM组件中的virtual interface的连接最直接的方式是直接赋值,然而由run_test启动的UVM验证环境是独立于top_tb层次结构的,因此在top_tb中无法通过层次所引的方式访问到virtual interface,
4)此时引入config_db机制,绕过无法通过层次所引方式的缺陷,完成DUT的interface与UVM组件中的virtual interface的连接
config_db机制如何起作用?
1)在top_tb中使用uvm_config_db的set方法将成DUT中的interface信息配置在config_db资源池中
2)在UVM组件中使用uvm_config_db的get方法从config_db资源池中获取相关信息赋值给virtual interface 完成interface 与virtual interface的连接。
interface、virtual interface 与 config_db之间的关系?
最新推荐文章于 2023-12-04 18:24:49 发布