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的方式实现交流;
原文:https://www.cnblogs.com/summerpine/p/14374728.html