我的DUT是一个内存控制器。我必须为DUT编写一个系统verilog接口。 内存控制器DUT支持32个AXI主站。 当我编写AXI接口时,它将由ACLK组成,ACLK生成并通过顶部传递(验证)。当我将此接口连接到DUT时,将有32(AXI ACLK)+ 1(DUT正在工作的clk),所有33个接入DUT。 我对这些很困惑。 从逻辑上讲,DUT中应该只有一个clk ..
提前感谢您的答案
答案 0 :(得分:0)
共享接口信号应声明为接口的输入端口。这样你就可以将它们组合在一起形成一个逻辑信号。
interface myintf(input wire sig_shared);
wire sig_internal;
endinterface
module top;
wire s1,s2;
myintf i1(s1);
myintf i2(s1);
myintf i[31:0](s2);
endmodule
现在信号i1.sig_internal
和i2.sig_internal
将是独立的,但i1.sig_shared
和i2.sig_shared
在逻辑上是等效的。 i[0].sig_shared
至i[31].sig_shared
也是如此。