我有以下参数化接口:
interface axi_interface #(parameter DATA_SIZE = 0)
(input bit ACLK, input bit ARESETn);
//write address channel signals
logic [3:0] AWID; //
logic [31:0] AWADDR;
.....
.....
endinterface
我尝试将此接口声明为顶部模块(在测试台中)中的虚拟接口:
module girobo2_tb_top;
.....
.....
axi_interface #(.DATA_SIZE(63)) axi_vif(tb_axi_clk, axi_arstn);
.....
.....
endmodule
但是,当我运行模拟时,出现以下错误:
# ** Error: (vsim-7065) ../sv/girobo2_tb_top.sv(245): Illegal assignment to type 'virtual axi_interface' from type 'interface axi_interface #(.DATA_SIZE(63))': Vir. 'axi_interface' interface must be assigned a matching interface or virtual interface.
为了将参数化接口分配给虚拟接口,您还需要参数化虚拟接口,例如:
virtual axi_interface #(.DATA_SIZE(63)) vif;
https://www.edaplayground.com/x/3KvL
您可能想观看我刚刚看到的这个视频教程。您会看到这里的其他常规贡献者已得到认可。