【问题标题】:system verilog interface for multiple clocks用于多个时钟的系统 verilog 接口
【发布时间】:2023-03-14 06:23:01
【问题描述】:
我的 DUT 是一个内存控制器。我必须为 DUT 编写一个系统 verilog 接口。
内存控制器 DUT 支持 32 个 AXI 主控。
当我编写 AXI 接口时,它将由 ACLK 组成,该 ACLK 生成并通过顶部(验证)传递。当我将此接口连接到 DUT 时,是否会有 32(AXI ACLK) + 1(DUT 在其上工作的时钟),总共 33 个时钟到 DUT..
我对这些很困惑。
从逻辑上讲,DUT 中应该只有一个 clk..
提前感谢您的回答
【问题讨论】:
标签:
interface
verification
system-verilog
vlsi
【解决方案1】:
Shared 接口信号应声明为接口的输入端口。这样一来,您就可以将它们捆绑在一起形成一个逻辑信号。
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 也是一样。