标签:超前 Ci lookahead 加法器 adder carry 进位
关于Carry-lookahead Adder(CLA) 超前进位加法器:
首先,不超前是什么,不超前就是按顺序,从低位到高位的加。高位要等低位先做,低位做完把结果给高位,高位再接着做。这就是由全加器(Full adder)组成的ripple-carry adder。那么Sequential的缺点是什么,就是要等,等就有delay。比如下图的全加器,从右到左是一个低位到高位,A1和B1虽然已经准备好了,但是要计算的话还需要等A0和B0把C1算出来。
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 。第二种情况,第7、8行,当A和B都为1的时候,Ci+1一定是1, 这个叫进位产生Generate 。剩下3-6行,看Ci+1一直都和Ci保持一致。推荐这个b站视频
这个地方笨想也行。什么时候要进位(C)呢,一种情况就是A和B都是1的时候,还有一种就是A和B至少有一个是1,然后carry还是1。
因为每一位的Ai和Bi都是已知的,所以我们希望能用A和B来表示C和S。所以就有了
然后带入到上面的表达式里
然后如果C0知道了,后面的全部Ci和Si通过套娃就都可以得到。
标签:超前,Ci,lookahead,加法器,adder,carry,进位 来源: https://blog.csdn.net/bassbian/article/details/120559361
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。