四选一多路器
状态转换
d0 11
d1 10
d2 01
d3 00
信号示意图
`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_reg;
always@(*)
begin
case(sel)
2'b00:mux_out_reg = d3;
2'b01:mux_out_reg = d2;
2'b10:mux_out_reg = d1;
2'b11:mux_out_reg = d0;
default:mux_out_reg = 2'b00;
endcase
end
assign mux_out = mux_out_reg;
//*************code***********//
endmodule
知识点:
always@(*)表示对所有输入信号的变化敏感;
在always语句块中等号左边是reg类型(注意:此处reg并不是代表触发器,纯属是语法要求)。