我有一个名为 BUF 的三态缓冲区。我不知道这个缓冲区是如何实现的,但我知道它有两个输入(I 和 T)、一个输出(O)和一个双向端口(IO)。我知道所有这些端口都是单个位。
现在,我有一个寄存器数组(数据)和一个方向寄存器(dir)。此代码是否有效:
reg [15:0] data;
reg dir;
wire [15:0] output;
//more code here
BUF my_buf
(
.I(data),
.T(dir),
.O(output),
.IO(to_phys_pin) //to_phys_pin is a 16bit long array going to the physical pins
)
具体来说,这段代码是否会为我创建 16 个缓冲区实例,它们都与 T 参数共享相同的“dir”寄存器?还是我必须使用“生成”来生成 15 个实例?
谢谢,