I have this diagram from my class of how 3 6-input LUTs are used to create a Full 4-bit adder. It's not particularly clear, but each 6-input LUT has 2 outputs (so I suppose they're really operating as 3 groups of pairs of 5-input LUTs?). Also, one of the 6-input LUTs is visually split into 2 pieces (Add1:Ad0 and Add1:Ad2).
The ALM for a Cyclone V actually has an 8-input LUT that can have 4 outputs (so 4 6-input LUTs in a way).
In trying to figure out how the 4-bit adder was implemented in with this ALM, I am perplexed by:
- what the purpose of the "full adders" would be if the LUTs can seemingly do the job of adding
- The implementation above requires the Logic to be carried out in 2 different timing intervals because the 2nd interval relies on the carry bit from the first interval (Add1:Ad1)
So how might a 4-bit adder be implemented using this (admittedly vague) ALM? I would greatly appreciate if you could answer with particular attention to addressing my points of confusion.