carry-lookahead adder 超前进位加法器

关于Carry-lookahead Adder(CLA) 超前进位加法器:

首先,不超前是什么,不超前就是按顺序,从低位到高位的加。高位要等低位先做,低位做完把结果给高位,高位再接着做。这就是由全加器(Full adder)组成的ripple-carry adder。那么Sequential的缺点是什么,就是要等,等就有delay。比如下图的全加器,从右到左是一个低位到高位,A1和B1虽然已经准备好了,但是要计算的话还需要等A0和B0把C1算出来。

carry-lookahead adder 超前进位加法器

 

加法器真值表
No. A B Ci S Ci+1
1 0 0 0 0 0
2 0 0 1 1 0
3 0 1 0 1 0
4 0 1 1 0 1
5 1 0 0 1 0
6 1 0 1 0 1
7 1 1 0 0 1
8 1 1 1 1 1

那怎么改善呢。大佬们就把加法器的真指标拿出来研究。我们可以发现,第1行和第2行,当A、B都是0的时候,Ci+1 一定是0,这种情况就叫进位取消 Delete  carry-lookahead adder 超前进位加法器。第二种情况,第7、8行,当A和B都为1的时候,Ci+1一定是1, 这个叫进位产生Generate carry-lookahead adder 超前进位加法器。剩下3-6行,看Ci+1一直都和Ci保持一致。推荐这个b站视频

carry-lookahead adder 超前进位加法器  

carry-lookahead adder 超前进位加法器

这个地方笨想也行。什么时候要进位(C)呢,一种情况就是A和B都是1的时候,还有一种就是A和B至少有一个是1,然后carry还是1。

因为每一位的Ai和Bi都是已知的,所以我们希望能用A和B来表示C和S。所以就有了

carry-lookahead adder 超前进位加法器

carry-lookahead adder 超前进位加法器

然后带入到上面的表达式里

carry-lookahead adder 超前进位加法器 

carry-lookahead adder 超前进位加法器

然后如果C0知道了,后面的全部Ci和Si通过套娃就都可以得到。 carry-lookahead adder 超前进位加法器

关于超前是什么: 

上一篇:计算机视觉篇---图像分类实战+理论讲解(5)


下一篇:机器学习与深度学习