Fast Carry Logic Chain(FPGA)
快速加法进位链
实现快速生成进位和借位信号同时可保证是一个数字可控的,固定单元延迟时间的延迟链。
1.实现原理
首先要了解全加器,即带有进位输入的半加器。
全加器真值表如下:
Ci(进位) | Ai | Bi | Si(求和) | Ci+1(进位) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
很简单得到关系为
Si=Ai XOR Bi XOR Ci
Ci+1=(Ai AND Bi) OR (Ai AND Ci) OR (Bi AND Ci);
这是一般做法,但是如果仔细分析下真值表会发现其中的奥秘!!!
那就是当Ai=Bi时Ci+1=Bi(Ai也行),Si=Ci;
当Ai!=Bi时,Ci+1=Ci,Si=!Ci。有没有一种瞬间开朗的感觉,下面的事情就简单多了。看到这里Ai和Bi的关系可以使用异或门表示,相等那就输出0,不等就输出1。
看到这个图有没有觉得的很巧妙!!!
2.应用
我们看下Xilinx产品中的快速进位加法器,用异或门和多路选择器实现。