prim_carry_select_adder

Add a_i and b_i with a carry-select datapath split into NUM_CHUNKS.

Compute each chunk for carry-in 0 and 1, then select on the prior carry. Drive c_o with the final carry out of the MSB chunk. DATA_WIDTH must divide evenly across NUM_CHUNKS.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
DATA_WIDTHint unsigned64Operand width.
NUM_CHUNKSint unsigned2Number of carry-select chunks.

Ports

Table 2. Ports
NameDirectionTypeDescription
a_iinputlogic [DATA_WIDTH-1:0]Addend A.
b_iinputlogic [DATA_WIDTH-1:0]Addend B.
sum_ooutputlogic [DATA_WIDTH-1:0]Sum result.
c_ooutputlogicCarry out.