https://www.youtube.com/watch?v=vUmrezs6TyM
~5:51
影片里的ripple carry adder应该是cascade look-ahead adder.
我自己用时序看一步步走可以算得出一样的答案,bit数多了再依此类推。
比如影片中很模糊的cascade look-ahead adder ,我的理解是:
https://photos.app.goo.gl/qUWZkTSZg4ZJ2xJEA
因为pi,gi 是根据ai,bi 所以在delay 3的时候就都算出来了。
ci+1 = gi+pi*ci,所以需要花时间传递,每两个delay就会出现正一个确的ci
si是每6的delay output一次, 所以要到delay 12,s0~s3才都是正确的值。
如果要扩展到16bit-adder,因为c0~c15通通算正确需要32 个delay,
所以s15至少要在delay 36才会算出正确的值。
我用时序图的想法套到一般ripple adder跟
2 level look-ahead adder出来的delay目前看来也是对的,但就是有点慢。
要一直画图。
可是老师写:3+15*2+3 = 36 ,虽然值一样,但对不太上我时序图的想法。
第一个3是gi,pi的时间,
后面的15的propagation传递的时间,
最后一个3是说s15只有3个delay,我也不懂。
感觉都不用考虑不同输出时间重叠的情况,数字一值累加就出来了。
比如说c1应该要在delay 4才出来,因为g0,p0在delay 3才出现,
那以老师这种加法,会变成3+2=5?
且如果是2-bit adder delay = 3+ 1*2 + 3 = 8,我感觉其实会是3+3= 6之类的
以时序图在delay 6就应该算出s0,s1了。
请问有人可以比较清楚阐述老师的写法?