原创 有趣的加1电路

2012-4-1 12:00 2764 10 10 分类: FPGA/CPLD

  在上一篇博客,我介绍了并行加法。在这里,我将带大家学习并行加一电路,并且,我们会发现结

论相当简单有趣。

 

  我们知道对于一位加法电路,假设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条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条