如何将输入逻辑从接口连接到顶层的引脚?以下是一个基本示例。
接口:
interface SAMPLE_IF;
logic signal; // inout
modport master (inout signal);
modport slave (inout signal);
endinterface
顶级文件:
module top_level(
inout pin,
);
SAMPLE_IF sample_if();
code_blk code_blk_i (
.sample_if(sample_if)
);
在上面的示例中,pin
如何连接到sample_if.signal
?
答案 0 :(得分:0)
您无法将inout
端口连接到变量;仅网/电线。如果将接口信号更改为电线,则可以使用端口表达式:
interface SAMPLE_IF;
wire signal; // inout
modport master (inout signal);
modport slave (inout signal);
endinterface
Top level file:
module top_level(
inout .pin(sample_if.signal),
);
SAMPLE_IF sample_if();
code_blk code_blk_i (
.sample_if(sample_if)
);
显然,大多数工具都不接受该语法。这是Verilog别名 的解决方法。
interface SAMPLE_IF;
wire signal; // inout
modport master (inout signal);
modport slave (inout signal);
endinterface
module top_level(
inout pin
);
Alias A (pin,sample_if.signal);
SAMPLE_IF sample_if();
endmodule
module Alias #(P=1) (w,w);
input [P:1] w;
endmodule
module top;
wire m;
top_level dut(m);
endmodule