专栏前言
本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网
分析
通过波形示意图我们可以发现,当sel为0,1,2时,输出mux_out分别为d3,d2,d1,那么sel=3时,输出一定为d0,因此我们只需要用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@(*) begincase(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 ; endcaseend assign mux_out = mux_out_tmp ; //*************code***********//
endmodule