如何在顶级模块中实例化SystemVerilog模块

时间:2015-03-05 14:23:40

标签: verilog system-verilog

我想在我的传统 Verilog AXI4Lite主机的顶级测试台中使用SysWip AXI4Lite Slave验证IP(在SystemVerilog中)。

作为SystemVerilog的新手,我在顶层测试平台上进行端口映射存在问题。

我拥有:从SysWip我下载了axi4lite_s_if.sv这是一个接口和axi4lite_s.sv这是一个http://syswip.com/axi4-lite-verification-ip) 。 从我的遗留代码我有一个dut_top.v和dut_top_tb.sv(我已将其重命名为.sv以支持一些SV构造 - 导入,创建从属类对象等)。 Verilog AXI4Lite主模块在dut_top.v

中实现

目标:我想将传统Verilog AXI4Lite Master的端口连接到SysWip VIP slave的端口。我收到一个语法错误消息,其中端口正在dut_top_tb.sv中映射。

所以有人能指出我为上述情况做portmap的正确语法吗?

1 个答案:

答案 0 :(得分:1)

您的问题很混乱,因为您混合了moduleinterface这些相似但不同的结构。

SystemVerilog接口instance可以通过接口端口连接到SystemVerilog module。如果您的传统Verilog模块没有接口端口,您仍然可以使用分层参考将SV接口instacne连接到Verilog模块。例如

interface intf;
 wire w;
endinterface
module verilog_dut(input wire w);
  initial $display(w);
endmodule
module SV_dut(intf p);
  initial $display(p.w);
endmodule
module top;
  intf i1();
  verilog_dut i2(.w(i1.w));
  SV_dut i3(.p(i1));
endmodule