The configurable logic blocks (CLBs) in Versal adaptive SoCs differ from those in UltraScale devices. Vivado synthesis handles the architectural differences, but you must be aware of the differences noted in the following sections.
Instead of the CARRY8 primitive in UltraScale devices, Versal adaptive SoCs include a LOOKAHEAD8 primitive. The LOOKAHEAD8 primitive does not include MUXCYs and XORCYs for arithmetic operations. Instead, these operators must be inferred and as a result, the LUT count is slightly higher.
Versal adaptive SoCs do not include MUXFx primitives. Because MUXFx primitives are often used for address decoding in distributed RAMs, large comparators, or MUX chains, expect extra LUT counts when using these types of structures in Versal adaptive SoCs, as shown in the following figure.