全加器真值表怎么理解
扫描二维码
随时随地手机看文章
全加器是一种逻辑电路,用于在两个二进制数字之间执行完整的加法运算。全加器由三个输入和两个输出组成,其中输入包括两个待加二进制数位和前一个位置产生的进位信号,输出则为该二进制数位的和以及下一个位置产生的进位信号。全加器是一种序列逻辑电路,其主要作用是计算两个二进制数位以及上一位传递下来的进位几率后的二进制数位值以及向下传递的新的进位几率。全加器采用了两个半加器的级联,并通过引入额外的输入以实现是否考虑上一位产生的进位信号。在电路实现中,使用异或门、与门和或门来分别表示和、进位和总进位三个输入。通过电路的连通,可以得到全加器的输出。
全加器采用了两个半加器的级联,并通过引入额外的输入以实现是否考虑上一位产生的进位信号。在电路实现中,使用异或门、与门和或门来分别表示和、进位和总进位三个输入。通过电路的连通,可以得到全加器的输出。全加器是一种序列逻辑电路,其主要作用是计算两个二进制数位以及上一位传递下来的进位几率后的二进制数位值以及向下传递的新的进位几率。全加器是一种逻辑电路,用于在两个二进制数字之间执行完整的加法运算。全加器由三个输入和两个输出组成,其中输入包括两个待加二进制数位和前一个位置产生的进位信号,输出则为该二进制数位的和以及下一个位置产生的进位信号。
全加器的真值表理解如下:
全加器:当将两个多位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加。这种运算称为全加,所用的电路称为全加器。1
真值表:全加器的真值表描述了全加器在不同输入条件下的输出状态。例如,当输入A、B、C、I时,全加器的真值表会给出相应的输出S。
表达式:根据真值表,可以写出全加器的表达式。例如,全加器的表达式为S=A'BCI'+AB'CI'+A'B'CI+ABCI。
与非表达式:将全加器的表达式转换为与非形式,即S=(A'BCI'+AB'CI'+A'B'CI+ABCI)''=((A'BCI')'(AB'CI')'(A'B'CI)'(ABCI)')'。
全加器能进行加数、被加数和低位来的进位信号相加,并依据求和作用给出该位的进位信号。依据它的功用,能够列出它的真值表,如表1.2所示。
表1.2 一位全加法真值表
module FA_struct (A, B, Cin, Sum, Count);
input A;
input B;
input Cin;
output Sum;
output Count;
wire S1, T1, T2, T3;
// -- statements -- //
xor x1 (S1, A, B);
xor x2 (Sum, S1, Cin);
and A1 (T3, A, B );
and A2 (T2, B, Cin);
and A3 (T1, A, Cin);
or O1 (Count, T1, T2, T3 );
endmodule
该实例显示了一个全加器由两个异或门、三个与门、一个或门构成 (或者可以理解为两个半加器与一个或门的组合)。S1、T1、T2、T3则是门与门之间的连线。代码显示了用纯结构的建模方式,其中xor 、and、or 是Verilog HDL 内置的门器件。以 xor x1 (S1, A, B) 该例化语句为例:xor 表明调用一个内置的异或门,器件名称xor ,代码实例化名x1(类似原理图输入方式)。括号内的S1,A,B 表明该器件管脚的实际连接线(信号)的名称,其中 A、B是输入,S1是输出。
半加器、全加器是组合电路中的基本元器件,也是CPU中处理加法运算的核心,理解、掌握并熟练应用是硬件课程的最基本要求。本文简单介绍半加器、全加器,重点对如何构造高效率的加法器进行分析。
所谓半加器,是指对两位二进制数实施加法操作的元器件。其真值表、电路图和逻辑符号分别如下图所示:
根据真值表,其输入输出之间的对应关系为:
从半加器的真值表、电路图可以看出,半加器只能对单个二进制数进行加法操作,只有两个输入,无法接受低位的进位,因此称为半加器。
对此,全加器则解决了这个问题,全加器有三个输入(包括来自低位的进位),两个输出,其对应的真值表、电路图和逻辑符号如下所示:
有了全加器,构造加法器就非常容易了,假设有A3A2A1A0和B3B2B1B0,利用全加器构造A3A2A1A0+B3B2B1B0的串行进位加法器电路图如下图所示:
图中的C-1=0,因为已是最低位,没有进位。这种串联方法只是完成了基本功能,从效率上则完全不可行。
全加器真值表和半加器真值表详细分析
那如何做呢?其实方法挺简单的,只需要把Ci和参与运算的两个4位二进制数之间的关系梳理清楚就行了。