这里我有一个简单的例子。
module A(o,clk,rst,i);
output o;
input i,clk,rst;
...
endmodule
这是下面的接口类定义。
interface my_if(input bit clk);
logic o,rst,i;
wire clk;
clocking cb@(posedge clk);
input o; // why input here ?
output i,rst; // why output here ?
endclocking
...
endinterface
我的问题是如何判断cb内的信号是输入还是输出?
谢谢!
答案 0 :(得分:1)
SystemVerilog中有input/output
的许多用法,这可能令人困惑。
对于端口,它们是跨边界的数据流。对于clocking
块,它们表示信号是被动采样还是主动驱动。根据具体情况,将端口声明为输出,并将相同的信号声明为时钟模块输入是完全合理的。