题解 | #四选一多路器#

四选一多路器

https://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3

`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块 也就只能通过三元运算符的嵌套使用。

全部评论

相关推荐

10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务