0

我正在创建一个模块 xxx 16 次,每个模块都有一个 16 位总线输入和 1 位输出。

wire [15:0]    a[0:15];
wire [0:15]    o;
genvar i;
generate
for(i=0; i<16; i=i+1) begin: n_loop
  xxx yy(
    .in    (a[i]);
    .out   (o[i]);
  );
  end
endgenerate

这会将所有a0...a14线总线连接到 16 个模块的每个 16 位,并且模块输出也将连接到 o 总线?

4

1 回答 1

0

我不知道你的模块 xxx 是什么样子,所以很难评论它的实例化。我希望您已经实现了某种类型的多路复用器来选择您在线路 o 上拥有的单个位。

你的问题有点令人困惑,但如果我认为你想要一个 16 位输入和一个 1 位输出,你想要这样的东西:

wire [15:0]    a[0:15];
wire o;
genvar i;
generate
for(i=0; i<16; i=i+1) begin: n_loop
// o would only be one bit selected by mux in your xxx module
  xxx yy(.in(a[i]), .out(o));
  end
endgenerate

这就是你的问题的意思吗?

如果不只是留下更具描述性的评论,我会尽力提供帮助!

于 2013-02-28T19:18:27.820 回答