其他常见的组合逻辑电路
1. 加法器
1.1 一位加法器
1.1.1 半加器
- 半加器:是只考虑两个1位二进制数相加,不考虑低位的进位
- 真值表
备注:CO为进位 - 逻辑表达式
S = A ′ B + A B ′ = A ⊕ B S = A'B+AB'=A\oplus B S=A′B+AB′=A⊕B
C O = A B CO=AB CO=AB - 电路与逻辑符号
1.1.2 全加器
- 全加器,全加器除了考虑加数和被加数外,还要考虑低位的进位
- 真值表
- 逻辑表达式
S = A ′ B ′ C I + A ′ B C I ′ + A B ′ C I ′ + A B C I S = A'B'CI +A'BCI'+AB'CI'+ABCI S=A′B′CI+A′BCI′+AB′CI′+ABCI
= ( A ′ B ′ + A B ) C I + ( A ′ B + A B ′ ) C I ′ =(A'B'+AB)CI+(A'B+AB')CI' =(A′B′+AB)CI+(A′B+AB′)CI′
= ( ( A ′ B ′ + A B ) ′ ) ′ C I + ( A ′ B + A B ′ ) C I ′ =((A'B'+AB)')'CI+(A'B+AB')CI' =((A′B′+AB)′)′CI+(A′B+AB′)CI′
= ( ( A ′ B ′ ) ′ ( A B ) ′ ) ′ C I + ( A ′ B + A B ′ ) C I ′ =((A'B')'(AB)')'CI+(A'B+AB')CI' =((A′B′)′(AB)′)′CI+(A′B+AB′)CI′
= ( ( A + B ) ( A ′ + B ′ ) ) ′ C I + ( A ′ B + A B ′ ) C I ′ =((A+B)(A'+B'))'CI+(A'B+AB')CI' =((A+B)(A′+B′))′CI+(A′B+AB′)CI′
= ( A ′ B + A B ′ ) ′ C I + ( A ′ B + A B ′ ) C I ′ =(A'B+AB')'CI+(A'B+AB')CI' =(A′B+AB′)′CI+(A′B+AB′)CI′
= A ⊕ B ⊕ C I =A\oplus B\oplus CI =A⊕B⊕CI
(老师课件采用的是取零取反,我觉得那样做的好处是可以更加方便的运用反演律,不用想我这样两次取反)
C O = ( A ′ B ′ + B ′ C I ′ + A ′ C I ′ ) ′ CO=(A'B'+B'CI'+A'CI')' CO=(A′B′+B′CI′+A′CI′)′
= ( A + B ) ( B + C I ) ( A + C I ) =(A+B)(B+CI)(A+CI) =(A+B)(B+CI)(A+CI)
= ( A B + B + B C I + A C I ) ( A + C I ) =(AB+B+BCI+ACI)(A+CI) =(AB+B+BCI+ACI)(A+CI)
= A B + ( A + B ) C I =AB+(A+B)CI =AB+(A+B)CI
【老师课件上这里应该出错了】 - 电路与逻辑符号
1.2 多位加法器
1.2.1 串行进位加法器
串行进位加法器(行波进位加法器): 两个多位二进制数相加,必须利用全加器,1位二进制数相加用1个全加器,n 位二进制数相加用n个全加器。只要将低位的进位输出接到高位的进位输入
为各位相加后的和。
- 优点:结构简单
- 缺点:运算速度慢
逻辑表达式为:
( C I ) i = ( C O ) i − 1 (CI)_{i}=(CO)_{i-1} (CI)i=(CO)i−1
S i = A ⊕ B ⊕ ( C I ) i S_{i}=A\oplus B\oplus (CI)_{i} Si=A⊕B⊕(CI)i
( C O ) i = A i B i + ( A i + B i ) C I i (CO)_{i}=A_{i}B_{i}+(A_{i}+B_{i})CI_{i} (CO)i=AiBi+(Ai+Bi)CIi
1.2.2 超前进位加法器
超前进位加法器,为了提高速度,若使进位信号不逐级传递,而是运算开始时,即可得到各位的进位信号,采用这个原理构成的加法器,就是超前进位(CarryLook-ahead)加法器,也成快速进位(Fast carry) 加法器
- 由全加器真值表可知,高位的进位信号的产生是在两种情况下:①在A·B=1;②在A+B=1且C I=1。故向高位的进位信号为 ( C O ) i = A i B i + ( A i + B i ) C I i (CO)_{i}=A_{i}B_{i}+(A_{i}+B_{i})CI_{i} (CO)i=AiBi+(Ai+Bi)CIi
- 设
G
i
=
A
i
B
i
G_{i} =A_{i} B_{ i}
Gi=AiBi 为进位生成函数,
P
i
=
A
i
+
B
i
P_{ i} = A_{ i} + B_{ i}
Pi=Ai+Bi 为进位传递函数,则上式可写成
- 和为:
S i = A ⊕ B ⊕ ( C I ) i S_{i}=A\oplus B\oplus (CI)_{i} Si=A⊕B⊕(CI)i
- 逻辑图符号如下:
A 3 − A 0 A_{ 3 }-A_{ 0} A3−A0 为一个四位二进制数的输入; B 3 − B 0 B_{ 3} -B_{ 0} B3−B0 为另一个二进制数的输入; C I CI CI为最低位的进位; C O CO CO是最高位的进位; S 3 − S 0 S_{ 3} -S_{ 0} S3−S0 - 优点:提升了运算数度
- 缺点:增加了电路复杂性,位数越多,电路越复杂
1.3 用加法器设计组合逻辑电路
如果能将要产生的逻辑函数能化成输入变量与输入变量相加,或者输入变量与常量相加,则用加法器实现这样逻辑功能的电路常常是比较简单
例一
利用4位超前进位加法器74LS283 器件组成的电路如图所示,试分析电路所能完成逻辑功能
分析可知,
D
7
D_{7}
D7以及
D
7
D_{7}
D7与
D
6
−
D
0
D_{6}-D_{0}
D6−D0的异或作为两片的两个加数,其他两个加数取0
- 当 Y 7 = 0 Y_{ 7} =0 Y7=0时,74LS283(1): A 3 = 0 , A 2 = D 6 , A 1 = D 5 , A 0 = D 4 A 3 =0,A 2 =D 6 ,A 1=D 5 ,A 0=D 4 A3=0,A2=D6,A1=D5,A0=D4,74LS283(2): A 3 = D 3 , A 2 = D 2 , A 1 = D 1 , A 0 = D 0 , C I = 0 , A 3 =D 3 , A 2 =D 2 ,A 1=D 1 ,A 0 =D 0 , CI=0, A3=D3,A2=D2,A1=D1,A0=D0,CI=0,做加法后和为 Y 7 ~ Y 0 = 0 D 6... D 0 Y 7 ~Y 0 =0D 6...D 0 Y7~Y0=0D6...D0
- 当 Y 7 = 1 Y 7 =1 Y7=1时,74LS283(1): A 3 = 1 , A 2 = D ′ 6 A 3 =1,A 2 =D'6 A3=1,A2=D′6, A 1 = D ′ 5 , A 0 = D ′ 4 A 1 =D' 5 ,A 0 =D'4 A1=D′5,A0=D′4 ,74LS283(2): A 3 = D ′ 3 , A 2 = D ′ 2 , A 1 = D ′ 1 , A 0 = D ′ 0 , C I = 1 A 3 =D' 3 , A 2 =D' 2 ,A 1 =D' 1 ,A 0 =D' 0 ,CI=1 A3=D′3,A2=D′2,A1=D′1,A0=D′0,CI=1,做加法后和为 Y 7 ~ Y 0 = 1 D ′ 6 D ′ 0 + 1 Y7 ~Y 0 =1D'6 ~D'0 +1 Y7~Y0=1D′6 D′0+1
电路是一个带符号位的二进制求补码电路, Y 7 Y_{ 7} Y7 为符号位,输入二进制数码为 D 6 . . . D 0 D_{ 6} ...D_{ 0} D6...D0
例二
利用4位超前进位加法器74LS283器将BCD的8421码转换为余3码
- 真值表
- 逻辑表达式
Y 3 Y 2 Y 1 Y 0 = D C B A + 0011 Y_{3}Y_{2}Y_{1}Y_{0}=DCBA+0011 Y3Y2Y1Y0=DCBA+0011 - 电路
2. 数值比较器
2.1 一位数值比较器
- 三种比较结果
- 电路图
2.2 多位数值比较器
多位数值比较器:在比较两个多位数的大小时,必须自高位向低位逐位比较
- 两个4位二进制数比较的结果如下:
- 电路图如下
它有三个附加输入端I (A<B) 、I (A=B) 和I (A>B) 用于扩展(记得是低位的比较结果)
- 电路逻辑符号如下
- 输出端逻辑表达式
- 拓展