vcs2009-12-sp5对cover group的coding style没那么高了,可以分散在各个class里面了。但是必须遵从如下规则
cover group 一定要在采样对象randomize 之前就new出来,至于sample可以放在任何时候
把sys_cfg reg_cfg 的covergroup 放入到一个class中(sys_reg_cov),即, sys_reg_cov中引入sys_cfg和reg_cfg,并定义covergroup以及sample函数
在scoreboard或者monitor中调用sample函数,在env的new函数中构造sys_reg_cov类。在gen_cfg中randomize reg_cfg和sys_cfg的对象。
关于transaction的covergroup,在callback中定义,在build时构造callback类,直到start时才通过atomic gen 进行randomize产生transaction。