About the critical path of ripple adder
... why the critical path delay is not 2(N-1)+3 = 2N+1 (I mean the last one is calculated with Sum-delay instead of Cout-delay)?


Because although the initial data-to-Cout delay is 3 units, the final Cin-to-sum delay is in fact only 1 unit delay, which makes the final result simply 2N.

However, the Cout from the last stage has one more gate, resulting in 2N+1.

But the terminology seems backward to me. I would call the first one the "sum delay" and the second one the "critical path".