module bin2gray4(
input [3:0]bin_in,
output [3:0]gray_out
);
assign gray_out[3] = bin_in[3];
genvar index;
generate
for (index=0; index<3; index=index+1) begin : gray_loop
assign gray_out[index] = bin_in[index] ^ bin_in[index+1];
end
endgenerate
endmodule