微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > cov_transaction与cov_transaction_beat有什么区别呢?

cov_transaction与cov_transaction_beat有什么区别呢?

时间:10-02 整理:3721RD 点击:
我在做覆盖率的学习中在一个class里遇到这么两段代码:
(1)
// Transfer collected covergroup
covergroup cov_trans @cov_transaction;
option.per_instance = 1;
trans_start_addr : coverpoint trans_collected.addr {
option.auto_bin_max = 16; }
trans_dir : coverpoint trans_collected.read_write;
trans_size : coverpoint trans_collected.size {
bins sizes[] = {1, 2, 4, 8};
illegal_bins invalid_sizes = default; }
trans_addrXdir : cross trans_start_addr, trans_dir;
trans_dirXsize : cross trans_dir, trans_size;
endgroup : cov_trans
// Transfer collected beat covergroup

(2)
covergroup cov_trans_beat @cov_transaction_beat;
option.per_instance = 1;
beat_addr : coverpoint addr {
option.auto_bin_max = 16; }
beat_dir : coverpoint trans_collected.read_write;
beat_data : coverpoint data {
option.auto_bin_max = 8; }
beat_wait : coverpoint wait_state {
bins waits[] = { [0:9] };
bins others = { [10] }; }
beat_addrXdir : cross beat_addr, beat_dir;
beat_addrXdata : cross beat_addr, beat_data;
endgroup : cov_trans_beat
可是我发现这两段代码基本一样啊,里面有什么具体含义不一样呢,请高手指点啊!?

覆盖率点的定义都不一样,怎么看出来代码会一样?应该是针对两个不同的transaction进行的覆盖率统计吧。

覆盖率点不一样

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top