在上一篇博客,我介绍了并行加法。在这里,我将带大家学习并行加一电路,并且,我们会发现结
论相当简单有趣。
我们知道对于一位加法电路,假设A,B是参与运算的两个位变量,C_1是进位输入,S是和值,C是进
位输出,有下面的结论:
S=A xor B xor C_1;
C=AB+(A xor B)C_1;
其中,第二式又可写成如下形式:
C=G+PC_1;其中G=AB,P=A xor B;
我们知道对于加1电路,其中一个操作数为1,这样我们有:
S(0)=A(0) xor 1 xor 0
=not A(0);
因为A(0)B(0)=A(0),C_1=0,于是(A xor B)C_1,有
C(0)=A(0);
对于B(i),i>=1时,B(i)=0,所以,G(i)=0,P(i)=A(i)。所以,
C(i)=A(i)C(i-1)
S(i)=A(i) xor C(i-1),其中(i>=1);
所以
C(0)=A(0)C_1=A(0);
C(1)=A(1)C(0)=A(1)A(0);
C(2)=A(2)C(1)=A(2)A(1)A(0);
C(3)=A(3)C(2)=A(3)A(2)A(1)A(0);
......
S(0)=not A(0);
S(i)=A(i) xor C(i-1);其中i>=1。
很有规律吧!附件是芯片设计必须解剖的IP核(包含VHDL和Verilog代码)。
文章评论(0条评论)
登录后参与讨论