I'm studying adder types and, as the title says, I'm having a problem with the carry-skip.
From what I know the critical path of an equal blocks carry-skip adder is supposed to go from the LSB of the sum through the whole first block ripple, then bypass all other blocks but the last, where again it goes through the block ripple and ends at the sum's MSB.
My problem with this is that it sounds to me like the worst case scenario would be to NOT have all Propagates, apart from the very first Generate, but instead force every block to have to wait for the full calculation of the previous carry that happens to not be fully propagated and instead have, say, a single generate somewhere along the line that messes with the multiplexer's control signal. This appears to force a much longer maximum execution time, even though the usual answer to this idea is to say that if there were any Generate along the line the critical path would shorten, having its tail land exactly on that Generate.
What am I getting wrong? The idea of a Critical Path or the timing of the carry itself while it operates?