全加器:FA,有三个输入端,以输入Ai,Bi,Ci,有两个输出端Si,Ci+1(除了两个1位二进制数,还与低位向本位的进数相加称为全加器)
下面是混合设计方式的1位全加器实例。
module FourBitFA (FA, FB, FCin, FSum, FCout );
parameter SIZE = 4;
input [SIZE:1] FA, FB;
output [SIZE:1] FSum
input FCin;
input FCout;
wire [ 1: SIZE-1] FTemp;
FA_Str
FA1( .A (FA[1]), .B(FB[1]), .Cin(FCin),
.Sum(FSum[1]), .Cout(FTemp[2])),
FA2( .A (FA[2]), .B(FB[2]), .Cin(FTemp[1]),
.Sum(FSum[2]), .Cout(FTemp[2])),
FA3(FA[3], FB[3], FTemp[2], FSum[3], FTemp[3],
FA4(FA[4], FB[4], FTemp[3], FSum[4], FCout);
endmodule
在某为实现加法功能
一位(二进)全加器:
真值表
A B C1(来自低位的进位) S(本位值) C0(本位向高位的进位)
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
S=A'B'C1+A'BC1"+AB'C1'ABC1
=(A'B'+AB)C1+(A'B+AB')C1'
=(A同或B)C1+(A异或B)C1'
=A异或B异或C
C0=A'BC1+AB'C1+ABC1'+ABC1
=(A'B+AB‘)C1+AB(C1+C1’)
=C1(A异或B)+AB
图就不画了哈………………