System verilog covergroup的接口对象

System verilog covergroup的接口对象,system-verilog,uvm,System Verilog,Uvm,我想将covergroup绑定到interface对象。这就是为什么作为covergroup的输入,我指定接口对象: interface fifoPorts #(parameter DSIZE = 8); ... endinterface covergroup write_cvr (fifoPorts itf) @(posedge itf.wclk); coverpoint itf.winc iff (!itf.wrst_n); coverpoint itf.wrst_n {

我想将covergroup绑定到interface对象。这就是为什么作为covergroup的输入,我指定接口对象:

interface fifoPorts #(parameter DSIZE = 8);
...
endinterface

covergroup write_cvr (fifoPorts itf) @(posedge itf.wclk);
coverpoint itf.winc iff (!itf.wrst_n);
coverpoint itf.wrst_n {
        bins actv =(1=>0);}
endgroup
然而,模拟器不接受这一点,它在covergroup中引发了一个错误,指出identifier('fifoPorts')在需要类型或类型标识符的地方找到。 我的问题是:covergroup可以接受接口对象吗?如果是的话,我的案子有什么问题

谢谢
Hayk

您需要更改covergroup标题以使用虚拟接口变量:

covergroup write_cvr (virtual fifoPorts itf) @(posedge itf.wclk);
然后将FIFO端口的实例传递给covergroup的构造函数