I'm studying Digital Design and Computer Architecture
book, I'm stuck in the section of the carry-lookahead adder because there's something that I don't fully understand about the propagation delay of an N-bit carry-lookahead adder.
The book specifies the propagation delay through the 32 bit adder as firstly to calculate the generate or propagate signals G0 and P0, respectively, and then to calculate the generate and propagate signals of each block, and this is done concurrently in all blocks, and then the critical path goes through the and/or gates which has the carry-in as an input (through every block), so that the critical path delay will contain M * t_{AND_OR}
, where M is the number of stages. this is (somewhat) understood and seems reasonable to me. The thing is that the book specifies the delay as:
What I don't understand here is that this equation implies that the number of stages which suffer from the AND/OR
delay is \$(\frac{N}{k} - 1)\$, which is one less than the actual number of stages. Furthermore, it says that the critical path has \$k\$ full-adders.
This is indeed what said in this paragraph:
Unfortunately, the book does not explain this further. My question is that why is the last stage is treated like this? Why isn't it treated like the previous stages? In my opinion or understanding, I don't see why Cout
is calculated through the lookahead logic so that the number of stages would be \$ \frac{N}{k} \$ (increase by one) and the term \$ k * t_{FA} \$ would vanish away? Especially because the last block is considered a "4-bit CLA block", then why wouldn't I use the generate carry and propagate carry signals in order to calculate the Cout
?