`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output [1:0]mux_out
);
//*************code***********//
//输出wire
assign mux_out = (sel == 2'b11)?d0:((sel == 2'b10)?d1:((sel == 2'b01)?d2:d3));

//输出reg
/*always@(*)begin
    case(sel)
    2'b11: mux_out = d0;
    2'b10: mux_out = d1;
    2'b01: mux_out = d2;
    2'b00: mux_out = d3;
    default:;
    endcase
end
*/

//*************code***********//
endmodule

此题要求输出定义要是wire类型,也就是说不能使用always块 也就只能通过三元运算符的嵌套使用。