uvm_event的使用

uvm_event是一个uvm_event_base的扩展类,它可以提供额外的服务比如,是指callback,获得waitor的数量;

对于event常用的task 或者function有wait_trigger(), trigger, 对于不同的class之间,是怎么通过event来交流的呢?

以一种启动sequence的方式来说明,在virtual sequence中声明一些uvm_event,然后加入uvm_event_pool池子,在这个vsequence中可以进行一些操作;假如说有两个agent,这个vsequence是控制的其中一个agent, 在base_test中可以设置另一个agnet的相关操作,若这两个agent之间存在交流,可以将vesequence 在base_test中声明例化,通过seq.start(sqr)的方式启动sequence,同时通过上述event wait_trigger的方式实现交流;

posted @ 2021-02-04 20:11  Pine1  阅读(862)  评论(0编辑  收藏  举报