module top_module(
input [3:0] in,
output [2:0] out_both,
output [3:1] out_any,
output [3:0] out_different );
always
begin
out_both = 0;
out_any = 0;
out_different = 0;
if(&in[1:0])
out_both[0] = 'b1;
if(&in[2:1])
out_both[1] = 'b1;
if(&in[3:2])
out_both[2] = 'b1;
if(|in[3:2])
out_any[3] = 'b1;
if(|in[2:1])
out_any[2] = 'b1;
if(|in[1:0])
out_any[1] = 'b1;
if(in[3]!==in[0])
out_different[3] = 'b1;
if(in[2]!==in[3])
out_different[2] = 'b1;
if(in[1]!==in[2])
out_different[1] = 'b1;
if(in[0]!==in[1])
out_different[0] = 'b1;
end
endmodule
或者把所有情况列出来 用case语句也可以(只适合位数较少的情况下)
或者采用按位操作,输入域选与输入域选按位操作