970 likes | 1.37k Views
第 3 章 组合逻辑电路的分析和设计 Combinational Logic Circuit. 本章主要内容. 1.MSI 的应用 2. 组合逻辑电路的分析方法 3. 组合逻辑电路的设计方法. Sec3.1 概述. 逻辑电路的分类 1. 组合逻辑电路 2. 时序逻辑电路 3. 状态机. 组合逻辑电路的概念. Xi1 Xi2 Xin. Combina -tional Logic Circuit. YO1 YO2 YOm. 组合逻辑电路的特性. ⑴. 组和逻辑电路可以 是多输入多输出逻辑电路;
E N D
第3章 组合逻辑电路的分析和设计 Combinational Logic Circuit
本章主要内容 • 1.MSI的应用 • 2.组合逻辑电路的分析方法 • 3.组合逻辑电路的设计方法
Sec3.1 概述 • 逻辑电路的分类 1.组合逻辑电路 2.时序逻辑电路 3.状态机
组合逻辑电路的概念 Xi1 Xi2 Xin Combina -tional Logic Circuit YO1 YO2 YOm
组合逻辑电路的特性 • ⑴.组和逻辑电路可以 是多输入多输出逻辑电路; • ⑵.输入变量只有“0”、“1”两种状态,因此n个输入变量有2n种输入组和状态;
Sec3.2 组合逻辑电路的分析方法 • 1.分析的目的:找出逻辑电路的功能 • 2. 分析的步骤: ⑴.根据逻辑图,写出输出端逻辑关系表达式; ⑵.化简此逻辑函数成最简表达式; ⑶.列出真值表,把各组输入状态下的输出状态求出; ⑷.根据逻辑真值表,得到逻辑功能的说明。
分析方法举例 • 例1. 多输入单输出电路 (多数表决电路) • 例2. 多输入多输出组合逻辑电路 (带进位半加器)
A B C P1 F P2 P3 例1:3变量多数表决电路分析
P1=AB P2=BC F=P1+P2+P3=AB+BC+AC P3=AC 1.写出逻辑函数表达式
2.列出真值表 逻辑电路功能由真值表可以看出该电路为多数表决电路: 3个变量中有2个或2个以上为‘1’时,输出为‘1’。
例2.下图为一个多输出组合逻辑电路,试分析电路功能例2.下图为一个多输出组合逻辑电路,试分析电路功能 半价器电路符号 A A B =1 S=A⊕B S=A⊕B C=AB B C=AB
1.写出逻辑函数式 S=A ⊕B C=AB 2.列出真值表 A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S-半加和数 C-进位数
3.电路功能: 该电路可实现两个一位二进制数相加功能,称为半加器。
Sec3.3 组合逻辑电路的设计方法 • 1.设计步骤: • ⑴.建立描述逻辑问题的真值表 • ①.分析题目所给的条件; • ②.找出问题的条件与目的及因果关系; • ③.确定输入、输出变量; • ④.列出真值表; • ⑵.由真值表写出逻辑函数表达式;(用最小项积之和的形式。) • ⑶.对输出逻辑函数进行化简。 • ⑷.画出逻辑电路图。
2.设计举例: 下面用两个例子说明组合逻辑电路的设计方法。
单输出组合逻辑电路的设计 例1:设计一个电路比较器。若两个4位二进制数,A=A3A2A1A0和B=B3B2B1B0。 要求设计一组合逻辑电路对它们进行比较,当两个数相同时,输出为‘1’,否则为‘0’
1位比较器电路 i i F=A⊕B=A⊙B 图1
解: 1.建立描述逻辑问题的真值表 比较两个4位二进制数,若每一位都相同,则4位相同。,因此取Ai,Bi位i =0,1,2,3 得到真值表 只有当A3=B3,A2=B2,A1=B1,A0=B0时 两个4位二进制数才相同,若中间有一位不相等,则A≠ B
2.由真值表写出逻辑函数式: fi=Ai Bi+Ai Bi=Ai ⊕ Bi=Ai ⊙ Bi 3.用NAND门实现一位比较器 fi= Ai Bi+Ai Bi= Ai Bi+Ai Bi 4.画出一位二进制比较电路(见图1) 5.由一位比较器得到4位二进制同电路比较器,见下图
Y=A0 ⊕B0 A1 ⊕B1 A2 ⊕B2 A3 ⊕B3 因为每一位二进制数相等时,4位全相等,输出才为1’。 4位比较器电路 74AC11521 8-bit identity 74ACT520 8-bit identity 74FCT521 8-bit identity 以上为三种MSI
例2:设计一个无进位输出的全加器电路 解: 1.全加器电路有3个输出,其中两个输A、B分别为一位二进制数,有三个输入是低位的进位输出Cin 2.列出全加器真值表
3.写出Si的逻辑函数式: Si=Ai Bi Ci-1+ AiBiCi-1+ AiBiCi-1+ AiBiCi-1 =(Ai Bi+Ai Bi)Ci-1+(AiBi+AiBi)Ci-1 =Ai ⊕ Bi Ci-1+(Ai ⊕ Bi)Ci-1 =Ai ⊕ Bi ⊕ Ci-1
Sum C0ut Full Adder A B Cin 4.画出逻辑电路图 Output un-carry Full Adder Ai Bi Ai⊕ Bi⊕ C in Ci-1
多输入组合逻辑电路设计 • 例3设计两个4位二进制数全加器 解: 1.全加器的工作过程如下: C2 C1 C0 被加数 Ai A3 A2 A1 A0 加数Bi + B3 B2 B1 B0 进位Si S3 S2 S1 S0 C3 C2 C1 C0
2.写出Si和Ci的逻辑函数式: 由例2得到Si的逻辑函数式Si=Ai ⊕ Bi ⊕ Ci-1 进位输出Ci的逻辑函数表达式: Ci=Ai Bi Ci-1+ AiBiCi-1+ AiBiCi-1+ AiBiCi-1 = (Ai ⊕ Bi) Ci-1+AiBi 1.写出全加器的真值表
3.画出逻辑电路图 Ai⊕Bi Half Adder Half Adder ( Ai⊕Bi)⊕Ci-1 ( Ai⊕Bi) Cin +AiBi ( Ai⊕Bi)Ci-1
∑ A ∑ B Co Input bits 由上图可以看出,它是两级半加器(见下图)组成的 S=A⊕B Sum carry C=AB 电路的缺点:因为是进位输出运算,要在Ai⊕Bi运算之后才可以产生Co,要经过3级门延迟时间,所以运算速度慢
进位输出Co可以改写成如下表达式: Co= (Ai ⊕ Bi) Ci-1+AiBi = Ai Bi Ci-1+ AiBiCi-1+ Ai Bi(Ci-1+ Ci-1)+ Ai Bi =Ai Ci-1(Bi+Bi)+BiCi-1(Ai+Ai)+AiBi =AiCi-1+BiCi-1+AiBi 改进方法
图3.3.6 Ai ( Ai⊕Bi) ⊕Cin Bi Cin 改进后的全加器电路 AiBi+AiCin+BiCin 可以看出,进位输出Co的运算与求和运算同时进行,当然提高了运算速度。 由一位全加器可以实现4位二进制全加器
A2 B2 A1 B1 A4 B4 A3 B3 C0 A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S C4 S1 S2 S4 S3 LSB MSB 4位全加器的级联方式 图3.3.7
例4.并行二进制加法器 • 加法器有两种类型 1.波纹进位加法器 如图3.3.7是波纹进位器,每一位二进制 全加器的进位输出作为后一位全加器的 输入,进位数逐位向前推移。 显然这样的4位加法器的速度很慢。
2.超前进位加法器 • 从图3.3.7上看到最终进位输出C4的产生与两个因素有关: 1.本位数相加产生的进位, 2.低位进位的传输速度。 根据图3.3.6的进位输出原理,可以得到超前进位加法器的前两位电路图(3.4.1)
图3.4.1 A1 B1 A0 B0 g1 p1 g0 p0 C0 S1 S0
CMOS 4位二进制快速加法器芯片如下图 74xx83;74C283,4008
用加法器设计组合逻辑电路 • 加法器的用途和多,下面仅举两例说明用加法器实现组合逻辑电路的方法。
例3.3.7:利用74LS283设计一个代码转换电路,将BCDS8421码转成余3码。例3.3.7:利用74LS283设计一个代码转换电路,将BCDS8421码转成余3码。 • 解: • 思路:把要获得的逻辑函数化成 输入变量与输出变量 或者 输入变量与 常量 成为在数值上相加的形式,再用加法器进行设计
1.写出真值表 2.从真值表观察 BCD码中的DCBA 与Y3 Y2 Y1 Y0始 终相差0011,这就 是传说中的余3代 码的特征 8421BCD码 余3码 D C B A Y3 Y2 Y1 Y0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0
D—— A3 Co ——Co 进位输出 C—— A2 S3 ——Y3 B—— A1 S2 ——Y2 A—— A0 S1 ——Y1 B3 S0 ——Y0 B2 B1 B0 Ci 各位和为余3码 74LS283 1 用74LS283,便可接成符合要求的代码转换电路。
二进制‘1’的补码的减法: • 为了用二进制‘1’的补码作减法: • 取减数(下面的数)的‘1’的补码; • 把‘1’的补码加到被减数(上面的数); • 有溢出表示答案为正,把溢出位加到最低位。该运算叫循环进位。 • 如果没有溢出则答案为负,所得到的和取‘1’的补码,就是正确的结果.
例3.3.8用7483实现0110和1101加法(进位输入C0=1) 11 0 1 控制端为0时实现加法 0 1 1 0 7483 B4 A4 B3 A3 B2 A2 B1 A1 C0 1 C4 高位进位 1 ∑4 ∑3 ∑2 ∑1 01 0 0
解:当控制输入端(control)C=0时,7483四位全加器做加法运算,此时异或门起或门作用。 1——Co A4 A3 A2 A1 0 1 1 0——A + B4 B3 B2 B1 + 1 1 0 1——B C0 S4 S3 S2 S1 1 0 1 0 0 C4 结果:S=0100 进位 C4=1
利用全加器7483实现0110和1101减法(进位输入Co接地)利用全加器7483实现0110和1101减法(进位输入Co接地) 1 1 0 1 控制端为1时实现减法 7483 C0 B4 A4 B3 A3 B2 A2 B1 A1 C4 ∑4 ∑3 ∑2 ∑1
例3.3.9 用7483完成1011减101,两个二进制数减法 解: 1 0 1 1 1 0 1 1 EAC(循环进位) 0 1 0 1 — 1 0 1 + 1 0 1 0 + 1 1 0 1 0 1 0 1 1 0 溢出位 结果和的最高位为0,答案是+110
图3.4.6 在7483全加器上加一个与门,使最终进位补到C0进位输入端,进行一次循环进位,得到减法的结果。 7483 C0 C4 0=add 1=subtract
同样,用4位加法器可以实现1的补码的加法和减法运算,下面是电路图同样,用4位加法器可以实现1的补码的加法和减法运算,下面是电路图 • 1的补码加减运算电路 0=Add 1=Subtract A4 A3 A2 A1 C0 B4 A4 B3 A3 B2 A2 B1 A1 ∑4 ∑3 ∑2 ∑1 c4 c4 +5v ∑4 ∑3 ∑2 ∑1
A B A B 3.4数值比较器 • 图3.4.1 一位数值比较器
1.若A=B 则 A ⊙B=1 ,即A=B Y=1 YE=AB AB=AB+AB 2.若A>B 则YG=A B=A+B, 意味着:A=1,B=0 YG=0, (A>B) 3.若A<B 则YL=AB=A+B 即A=0,B=1 YL=0 (A<B) 工作原理
根据一位数值比较器原理可以设计4位比较器 比较两个不带符号的二进制数 若A=B,则输出为‘1’ i2 i1 若A<B,则A<B的输出端为‘1’ i0 若A>B,则A>B的输出端为‘1’
设A=a3a2a1a0,B=b3b2b1b0,将A、B进行逐位比较,中间结果定义为i3i2i1i0。设A=a3a2a1a0,B=b3b2b1b0,将A、B进行逐位比较,中间结果定义为i3i2i1i0。 • 如果A、B有相同下标位是相等的,则ik=ak⊕bk=1(k=0,1,2,3) • A=B的输出就可写成:A=B=i3 i2 i1 i0 • 对A>B的情况,考虑从最高位到最低位排列顺序比较,A和B • 不想等,就会有A<B或A>B两种情况:ak=0而bk=1,则A<B • ak=1而bk=0, 则A>B • A>B=a3b3+i3a2b2+i3i2a1b1+i3i2i1a0b0 • 从最高位到最低位逐位比较,得到A>B的结果。见下图