【数电专栏】

A 加法器

A.a 加法器工作原理

<1>加法器概述
两个二进制数之间的算术运算无论是加、减、乘、除, 目前在数字计算机中都是化为若干步加法运算和移位进行 的。因此,加法器是构成算术运算器的基本单元。
(十二)【数电】(组合逻辑电路)加法器_数电

<2>1位加法器

  • 半加器(Half-adder)
    不考虑有来自低位的进位将两个1位二进制数相加, 称为半加。实现半加运算的电路叫做半加器。
    (十二)【数电】(组合逻辑电路)加法器_数电_02
    其中,A为加数,B为被加数,s为两个加数的本位和,CO为两个加数向高位的进位。
    加数和被加数同时为1时,才向高位进位。
    从逻辑电路符号可以看到没有来自低位的进位 C i C_i Ci

  • 全加器(Full-adder)
    将两个多位二进制数相加时,除了最低位以外,每一位 都应考虑来自低位的进位,即将两个对应的加数和来自低位 的进位3个数相加。这种运算称为全加,所用电路称为全加器。
    (十二)【数电】(组合逻辑电路)加法器_数电_03
    C i C_i Ci代表低位向本位进位的信号,A为加数,B为被加数,s为两个加数的本位和,CO为两个加数向高位的进位
    $C_i、A、B任意两个为1则进位。

(十二)【数电】(组合逻辑电路)加法器_数电_04
<3>多位全加器
1 串行进位加法器
设计思想:依次将低位全加器的进位输出端CO接到高 位全加器的进位输入端CI即可构成多位串行加法器。
(十二)【数电】(组合逻辑电路)加法器_数电_05
从右往左,进位信号传入到下一级

2 超前进位加法器(Carry-Lookahead)
设计思想:为了提高运算速度,须减小 或消除由于进位信号逐级传递所耗费的时间。由 于第i位的进位输入信号 ( C I ) i (CI)_i (CI)i一定能由 B i − 1 、 B i − 2 、 . . . B 0 B_{i-1}、B_{i-2}、...B_0 Bi1Bi2...B0 A i − 1 、 A i − 2 . . . A 0 A_{i-1}、A_{i-2}...A_0 Ai1Ai2...A0唯一确定,所以可先得出每一位全 加器的进位输入信号,而无需再从最低位开始向 高位逐级传递进位信号了,这就有效的提高了运 算速度。
采用这种结构形式的加法器为超前进位加法 器(Carry-LookaheadAdder)。
超前进位加法器设计原理推导:

(十二)【数电】(组合逻辑电路)加法器_数电_06
(十二)【数电】(组合逻辑电路)加法器_数电_07
超前进位加法器特点:
4位超前进位加法器74LS283得到和输出仅 需3级门延时,获得进位输出信号仅需2级门延时。 运算时间大大缩短。
运算时间得以缩短是用增加电路复杂程度 的代价换取的。当加法器的位数增加时,电路的 复杂程度也随之急剧上升。

A.b MSI加法器集成芯片示例

<1>常见的MSI加法器
1 四位超前进位加法器集成芯片
四位超前进位加法器集成芯 片有TTL型芯片:如74XX283、 74XX383等型号芯片;CMOS 型芯片:如CC4008型号芯片。 74XX283与CC4008型号芯片 的逻辑功能相同,实现4位二进 制数超前进位相加的逻辑功能。 其中,74XX283的逻辑符号 如图1所示。
(十二)【数电】(组合逻辑电路)加法器_数电_08
A0到A3和B0到B3分别是两个加数的四位输入端。CI低位向本位进位的输入端,CO是本位向高位进位的输出端。S0到S3四个本位和输出。

2 74XX381集成加法器芯片
74XX381芯片的逻辑功能与74XX283、CC4008型号芯 片有区别,输入除有两个4位二进制数输入端,同时增加了 逻辑功能控制输入端C、B、A端,而输出增加两个功能信 号的输出
①进位信号传输输出Pn,Pn=0(低电平输出有效) 时,直接将最低位的进位数传送到高位(超前进位传 送);
②进位信号产生输出Gn,Gn=0(低电平输出有效) 时,直接输出进位数(超前进位)。
74XX381芯片除了具有超前进位加法功能外,还可以 实现两个4位二进制数的其它逻辑运算,其功能表和逻辑符 号分别见表1和图2。
(十二)【数电】(组合逻辑电路)加法器_数电_09
输入的CBA不同,芯片的逻辑功能也不同。

<2>MSI加法器的应用示例
1扩展应用
为扩充相加数的位数,可将多片低位加法器级联
(十二)【数电】(组合逻辑电路)加法器_数电_10
2 用加法器设计组合逻辑电路
对“变量+变量”或“变量+常量”类型的逻辑 函数,如码组变换,用加法器设计起来非常简单。
(十二)【数电】(组合逻辑电路)加法器_数电_11

(十二)【数电】(组合逻辑电路)加法器_数电_12
加补码。