Verilog HDL 2位四选一数据选择器怎么设计

如题

第1个回答  2014-12-26
module sel4(a,b,c,d,y,sel);
input a,b,c,d;
input [1:0]sel;
output y;

always@(a or b or c or d or sel)
case(sel)
0: y<=a;
1:y<=b;
2:y<=c;
3:y<=d;
endcase

endmodule

全手打的,望采纳追问

麻烦你看一下,我真不会

追答

module sel4(a,b,c,d,y,sel,en);
input [1:0]a;
input [1:0]b;
input [1:0]c;
input [1:0]d;
input [1:0]sel;
input en;
output y;

always@(a or b or c or d or sel or en)
if(en)
y<=0;
else case(sel)
0: y<=a;
1:y<=b;
2:y<=c;
3:y<=d;
endcase

endmodule

追问

很多这样的错误,这是什么意思啊?

追答

在always上面加一句reg [1:0] y;并修改output y 为output [1:0]y

本回答被提问者和网友采纳
第2个回答  2014-12-26
module sel4(a,b,c,d,y,sel);
input a,b,c,d;
input [1:0]sel;
output y;

always@(a or b or c or d or sel)
case(sel)
0: y<=a;
1:y<=b;
2:y<=c;
3:y<=d;
endcase

endmodule

全手打的,望采纳追问

麻烦你看一下,我真不会

追答

module sel4(a,b,c,d,y,sel,en);
input [1:0]a;
input [1:0]b;
input [1:0]c;
input [1:0]d;
input [1:0]sel;
input en;
output y;

always@(a or b or c or d or sel or en)
if(en)
y<=0;
else case(sel)
0: y<=a;
1:y<=b;
2:y<=c;
3:y<=d;
endcase

endmodule

追问

很多这样的错误,这是什么意思啊?

追答

在always上面加一句reg [1:0] y;并修改output y 为output [1:0]y

本回答被提问者和网友采纳
相似回答