blob: a8acc75b233d0c7982ea3746730000334f773bad [file] [log] [blame]
module compressor_3_2
(
src1,
src2,
src3,
result_sum,
result_carry
);
parameter WIDTH = 8;
input logic [WIDTH-1:0] src1;
input logic [WIDTH-1:0] src2;
input logic [WIDTH-1:0] src3;
output logic [WIDTH-1:0] result_sum;
output logic [WIDTH-1:0] result_carry;
logic [WIDTH-1:0] xor_src1to2;
genvar i;
assign xor_src1to2 = src1^src2;
assign result_sum = xor_src1to2^src3;
generate
for(i=0;i<WIDTH;i++) begin: GET_RESULT
assign result_carry[i] = xor_src1to2[i] ? src3[i] : src1[i];
end
endgenerate
endmodule