[AVM]Report HOOK

上一篇 / 下一篇  2008-06-12 17:09:56

[AVM]Report HOOK
 
在report的动作中有一类比较特殊: HOOK
 
如果在相应的消息处理动作中设置了HOOK,
那么当有相应消息过来时, 将首先调用相应的HOOK函数
virtual function bit report_hook(
string id,
string message,
int verbosity,
string filename,
int line);
virtual function bit report_message_hook(
string id,
string message,
int verbosity,
string filename,
int line);
virtual function bit report_warning_hook(
string id,
string message,
int verbosity,
string filename,
int line);
virtual function bit report_error_hook(
string id,
string message,
int verbosity,
string filename,
int line);
virtual function bit report_fatal_hook(
string id,
string message,
int verbosity,
string filename,
int line);
上面的函数都将返回一个bit类型的值, 如果返回1时, 相应的消息处理进程会被调用, 否则这个进程被终止,
比如你不想看到验证平台前25us的消息, 可以使用:
function bit report_hook(
 
input string id,
 
input string mess,
 
input verbosity,
 
string filename,
 
int line);
 
return ($time > 250000);
endfunction
 
为了使用HOOK, 一般可以在configure()中来设置:
class component extends avm_named_component;
  
FILE f;
  
function void configure();
      f
= $fopen("logfile", "w");
      set_report_default_file
(f);
      set_report_severity_action
(MESSAGE, LOG | HOOK);
      set_report_severity_action
(WARNING, LOG | HOOK);
      set_report_severity_action
(ERROR, LOG | HOOK);
      set_report_severity_action
(FATAL, LOG | EXIT | HOOK);
  
endfunction
endclass

TAG:

引用 删除 xiebin521   /   2008-07-09 11:46:57
您是这方面的专家吧,我正在学习这方面的知识,我的任务是搭建验证平台,可是我懂得太少,你能帮助我吗?
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-07  
    123
45678910
11121314151617
18192021222324
25262728293031

我的存档

数据统计

  • 访问量: 152
  • 日志数: 9
  • 建立时间: 2008-06-12
  • 更新时间: 2008-06-12

RSS订阅

Open Toolbar