如何例化传递interface数组(generate的妙用)

资料来源

(1) 硅芯思见:【101】如何例化传递interface数组 (qq.com)

1.背景

(1) 进行验证环境搭建时,需要通过interface连接由设计构成的静态世界(static world)和由验证环境构成的动态世界(dynamic world);

注1:static world主要实现元件的例化与连接等操作,包括module, interface, checker, primitive等的例化,还包括设计层次的确定; 在仿真开始后,static world确定的结构和原件不能被再次创建或者销毁,直到仿真结束关闭;

注2:dynamic world可以在仿真进行的过程中被创建或者销毁;

注3:interface/virtual interface是沟通静态世界和动态世界的桥梁;

(2)对于单个interface可以使用uvm_config_db/uvm_resource_db机制将interface传递到动态世界中,但当遇到需要连接多个相同的interface(即interface数组)到环境时,应该如何实现?

2.例化传递interface数组

2.1方法一之将interface数组中每个interface单独进行连接

2.2方法二之generate block使用

注:下面图中部分code有更好的实现方法,可以使用for循环+automatic变量,有可能还需要用到wait_fork;

 

posted on 2022-01-19 20:57  知北游。。  阅读(1394)  评论(0编辑  收藏  举报

导航