// ============================================================
// Module: bin2gray4
// Description: Converts 4-bit binary input to 4-bit Gray code
// ============================================================
module bin2gray4 (
input [3:0] bin_in, // 4-bit binary input
output [3:0] gray_out // 4-bit Gray code output
);
// Binary-to-Gray conversion logic
assign gray_out[3] = bin_in[3]; // MSB same as binary
assign gray_out[2] = bin_in[3] ^ bin_in[2]; // Next bits are XORed
assign gray_out[1] = bin_in[2] ^ bin_in[1];
assign gray_out[0] = bin_in[1] ^ bin_in[0];
endmodule