1 Star 1 Fork 0

大浪淘沙/sy_uvm_tb

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
inout_coverage.sv 1.13 KB
一键复制 编辑 原始数据 按行查看 历史
大浪淘沙 提交于 2022-03-04 17:44 +08:00 . add coverage
`ifndef _INOUT_COVERAGE_SV_
`define _INOUT_COVERAGE_SV_
class inout_coverage extends uvm_subscriber#(packet);
`uvm_component_utils(inout_coverage)
// data or class properties
packet pkt_cg;
covergroup inout_addr ;
coverpoint pkt_cg.sa;
coverpoint pkt_cg.da;
cross pkt_cg.sa, pkt_cg.da;
endgroup : inout_addr
real cov;
// initialization
function new(string name="inout_coverage", uvm_component parent);
super.new(name, parent);
pkt_cg = new("pkt_cg");
inout_addr = new();
endfunction : new
function void write(packet t);
pkt_cg.sa = t.sa;
pkt_cg.da = t.da;
inout_addr.sample();
endfunction: write
function void extract_phase(uvm_phase phase);
cov = inout_addr.get_coverage();
endfunction: extract_phase
function void report_phase(uvm_phase phase);
`uvm_info("COVERAGE_INFO", $sformatf("coverage value is %f", cov), UVM_LOW);
endfunction: report_phase
endclass : inout_coverage
`endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/bai-mengwei/sy_uvm_tb.git
git@gitee.com:bai-mengwei/sy_uvm_tb.git
bai-mengwei
sy_uvm_tb
sy_uvm_tb
main

搜索帮助