Si=Ai⊕Bi⊕Ci-1;Ci=AiBi+Ci-1(Ai♁Bi)
第二个表达式也可用一个异或门来代替或门对其中两个输入信号进行求和。
硬件描述语言Verilog对一位全加器的三种建模方法。
真值表
一位全加器的表达式如下:
一位全加器的真值表如上图,其中Ai为被加数,Bi为加数,相邻低位来的进位数为Ci-1,输出本位和为Si。向相邻高位进位数为Ci。
结构化描述方式
moduleFA_struct(A,B,Cin,Sum,Count);
inputA;
inputB;
inputCin;
outputSum;
outputCount;
wireS1,T1,T2,T3;
//--statements--//
xorx1(S1,A,B);
xorx2(Sum,S1,Cin);
andA1(T3,A,B);
andA2(T2,B,Cin);
andA3(T1,A,Cin);
orO1(Count,T1,T2,T3);
endmodule
该实例显示了一个全加器由两个异或门、三个与门、一个或门构成。S1、T1、T2、T3则是门与门之间的连线。代码显示了用纯结构的建模方式,其中xor、and、or是VerilogHDL内置的门器件。
以xorx1(S1,A,B)该例化语句为例:xor表明调用一个内置的异或门,器件名称xor,代码实例化名x1(类似原理图输入方式)。括号内的S1,A,B表明该器件管脚的实际连接线(信号)的名称,其中A、B是输入,S1是输出。
参考资料: