总线输入和输出到Verilog中的多个模块

时间:2013-02-20 00:19:47

标签: verilog

我正在创建一个模块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个模块,模块输出也连接到总线吗?

1 个答案:

答案 0 :(得分: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

这是你的问题的意思吗?

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