uvm_heartbeat.svh实现了uvm_heartbeat类及回调类uvm_heartbeat_callback。uvm_heartbeat,心跳检测仪,用以监测环境内指定component的生命活动,若component hang住了,会报fatal。uvm_heartbeat监测期间需在component中提起(或撤销)objection才能实现有效监测。
监测模式有4中,定义在了枚举类型uvm_heartbeat_modes中,分别为UVM_ALL_ACTIVE、UVM_ONE_ACTIVE、UVM_ANY_ACTIVE、UVM_NO_HB_MODE,各模式释义如下:
UVM_ALL_ACTIVE:受监测的所有component中,任意一个component没有触发event都会报fatal;
UVM_ANY_ACTIVE:受监测的所有component均没有触发event则报fatal;
UVM_ONE_ACTIVE:受监测的所有component中,若在多个component中监测到了event或任意component中都没有检测到event,则报fatal;
UVM_NO_HB_MODE:不启动heartbeat
uvm_heartbeat类中主要实现了如下表格中的方法,来设置监测模式、启动/停止heartbeat监测、增加/移除监测的object等。
uvm_heartbeat_callback类,主要实现了以下方法: