行为verilog:使用1个模块创建多个多路复用器

时间:2015-10-01 23:28:33

标签: verilog mux

如果我有一个像这样定义的模块:

module mux_1x2(in, out, select);

我需要32个,我知道我可以使用结构编码:

mux_1x2 mux01(in[0], out[0], select);
mux_1s2 mux02(in[1], out[1], select); 
etc...

但是如何使用行为编程在某种循环中制作其中的32个而不必明确定义每个?

编辑:仅针对上下文,我正在尝试制作一个2阶段64位进位选择加法器

1 个答案:

答案 0 :(得分:2)

您可以使用生成块:(IEEE1364-2001及以上)

document.getElementsByName('checkboxName')[0].checked = true;

或者对实例进行排列:( IEEE1364-1995及以上版本)

genvar gidx;
generate
  for(gidx=0; gidx<32; gidx=gidx+1) begin : loop
    mux_1x2 mux(in[gidx], out[gidx], select);
  end
endgenerate

或参数化:

mux_1x2 mux[0:31] ( .in(in) , .out(out) , .select(select)  );