如何例化传递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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM