无法在verilog中详细说明实例化模块

时间:2016-02-19 00:57:35

标签: verilog

我有这两个代码并且为了模拟我收到这些错误:

无法详细说明实例化模块mux8bit

这是一个桶形移位器,我使用8位mux2to1为它,我认为问题是将数组传递给子模块 任何人都可以说这里有什么问题? 感谢

热门模块:

    module BarrelShifter(
input [7:0]in,
input [2:0]shift,
output [7:0]out );

reg [7:0]w1;
wire [7:0]w2;
reg [7:0]w3;
wire [7:0]w4;
reg [7:0]w5;

always@*
begin
w1[0]=in[1];
w1[1]=in[2];
w1[2]=in[3];
w1[3]=in[4];
w1[4]=in[5];
w1[5]=in[6];
w1[6]=in[7];
w1[7]=0;
end

mux8bit(in,w1,shift[0],w2);


always@*
begin
w3[0]=w2[2];
w3[1]=w2[3];
w3[2]=w2[4];
w3[3]=w2[5];
w3[4]=w2[6];
w3[5]=w2[7];
w3[6]=0;
w3[7]=0;
end


mux8bit(w2,w3,shift[1],w4);

always@*
begin
w5[0]=w4[4];
w5[1]=w4[5];
w5[2]=w4[6];
w5[3]=w4[7];
w5[4]=0;
w5[5]=0;
w5[6]=0;
w5[7]=0;
end

mux8bit(w4,w5,shift[2],out);


endmodule

和mux8bit:

module mux8bit(
input [7:0]in1,
input [7:0]in2,
input s,
output [7:0]out);

wire [7:0]w1;
wire [7:0]w2;

and a1(w1[0],in1[0],~s);
and a2(w1[1],in1[1],~s);
and a3(w1[2],in1[2],~s);
and a4(w1[3],in1[3],~s);
and a5(w1[4],in1[4],~s);
and a6(w1[5],in1[5],~s);
and a7(w1[6],in1[6],~s);
and a8(w1[7],in1[7],~s);

and  a9(w2[0],in2[0],s);
and a10(w2[1],in2[1],s);
and a11(w2[2],in2[2],s);
and a12(w2[3],in2[3],s);
and a13(w2[4],in2[4],s);
and a14(w2[5],in2[5],s);
and a15(w2[6],in2[6],s);
and a16(w2[7],in2[7],s);

or o1(out[0],w1[0],w2[0]);
or o2(out[1],w1[1],w2[1]);
or o3(out[2],w1[2],w2[2]);
or o4(out[3],w1[3],w2[3]);
or o5(out[4],w1[4],w2[4]);
or o6(out[5],w1[5],w2[5]);
or o7(out[6],w1[6],w2[6]);
or o8(out[7],w1[7],w2[7]);


endmodule

1 个答案:

答案 0 :(得分:2)

实例化模块必须有一个名称。请试试这个。

mux8bit A (in,w1,shift[0],w2);