Dedicated carry logic in the CLB improves the performance of arithmetic functions such as adders, counters, and comparators. Designs that include simple counters or adder/subtractors automatically infer the carry logic. More complex functions including multipliers can be implemented using the separate DSP48E1 slice.
The DSP48E1 slices in every device support many independent functions including multiply, multiply accumulate, multiply add, three-input add, barrel shift, wide-bus multiplexing, magnitude comparator, bitwise logic functions, pattern detection, and wide counter. The architecture also supports cascading multiple DSP48E1 slices to form wide math functions, DSP filters, and complex arithmetic. For more details on the DSP48E1 slice, see 7 Series DSP48E1 Slice User Guide (UG479).
The choice between using CLB carry logic and the DSP48E1 slice depends on the application. A small arithmetic function can be faster and lower power using the CLB carry logic rather than using an entire DSP48E1 slice. When the DSP48E1 slices are fully used, the CLB slices and carry logic provide an efficient alternative.