case(case_expr)
condition1 : true_statement1 ;
condition2 : true_statement2 ;
……
default : default_statement ;
endcase
case (<variable>)
2
<value1> : begin
3
// This branch executes when <variable> = <value1>
4
end
5
<value2> : begin
6
// This branch executes when <variable> = <value2>
7
end
8
default : begin
9
// This branch executes in all other cases
10
end
11
endcase
module mux4to1(
input [1:0] sel ,
input [1:0] p0 ,
input [1:0] p1 ,
input [1:0] p2 ,
input [1:0] p3 ,
output [1:0] sout);
reg [1:0] sout_t ;
always @(*)
case(sel)
2'b00: begin
sout_t = p0 ;
end
2'b01: sout_t = p1 ;
2'b10: sout_t = p2 ;
default: sout_t = p3 ;
endcase
assign sout = sout_t ;
endmodule
case(sel)
2'b00: sout_t = p0 ;
2'b01: sout_t = p1 ;
2'b10: sout_t = p2 ;
2’b11: sout_t = p3 ;
2’bx0, 2’bx1, 2’bxz, 2’bxx, 2’b0x, 2’b1x, 2’bzx :
sout_t = 2’bxx ;
2’bz0, 2’bz1, 2’bzz, 2’b0z, 2’b1z :
sout_t = 2’bzz ;
default: $display("Unexpected input control!!!");
endcase
等价于