题解 | #四选一多路器#
四选一多路器
http://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3
分析: 输出不能用reg型,但是可以使用中间变量呀。四选一可以优先使用解码器常用的case方式。
`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output[1:0]mux_out
);
//*************code***********//
reg [1:0] mux_out_tmp;
always@(*) begin
case(sel)
2'b00: mux_out_tmp = d3;
2'b01: mux_out_tmp = d2;
2'b10: mux_out_tmp = d1;
2'b11: mux_out_tmp = d0;
default: mux_out_tmp = d3;
endcase
end
assign mux_out = mux_out_tmp;
//*************code***********//
endmodule
《Verilog/VHDL必刷习题集》 文章被收录于专栏
Verilog/VHDL必刷习题集,包含基础知识、组合逻辑设计、时序逻辑设计、状态机设计、RAM及FIFO设计等等。
查看7道真题和解析
阿里巴巴灵犀互娱公司福利 668人发布