1 / 93

第 3 章 组合逻辑电路的分析和设计 Combinational Logic Circuit

第 3 章 组合逻辑电路的分析和设计 Combinational Logic Circuit. 本章主要内容. 1.MSI 的应用 2. 组合逻辑电路的分析方法 3. 组合逻辑电路的设计方法. Sec3.1 概述. 逻辑电路的分类 1. 组合逻辑电路 2. 时序逻辑电路 3. 状态机. 组合逻辑电路的概念. Xi1 Xi2 Xin. Combina -tional Logic Circuit. YO1 YO2 YOm. 组合逻辑电路的特性. ⑴. 组和逻辑电路可以 是多输入多输出逻辑电路;

verne
Download Presentation

第 3 章 组合逻辑电路的分析和设计 Combinational Logic Circuit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 组合逻辑电路的分析和设计 Combinational Logic Circuit

  2. 本章主要内容 • 1.MSI的应用 • 2.组合逻辑电路的分析方法 • 3.组合逻辑电路的设计方法

  3. Sec3.1 概述 • 逻辑电路的分类 1.组合逻辑电路 2.时序逻辑电路 3.状态机

  4. 组合逻辑电路的概念 Xi1 Xi2 Xin Combina -tional Logic Circuit YO1 YO2 YOm

  5. 组合逻辑电路的特性 • ⑴.组和逻辑电路可以 是多输入多输出逻辑电路; • ⑵.输入变量只有“0”、“1”两种状态,因此n个输入变量有2n种输入组和状态;

  6. Sec3.2 组合逻辑电路的分析方法 • 1.分析的目的:找出逻辑电路的功能 • 2. 分析的步骤: ⑴.根据逻辑图,写出输出端逻辑关系表达式; ⑵.化简此逻辑函数成最简表达式; ⑶.列出真值表,把各组输入状态下的输出状态求出; ⑷.根据逻辑真值表,得到逻辑功能的说明。

  7. 分析方法举例 • 例1. 多输入单输出电路 (多数表决电路) • 例2. 多输入多输出组合逻辑电路 (带进位半加器)

  8. A B C P1 F P2 P3 例1:3变量多数表决电路分析

  9. P1=AB P2=BC F=P1+P2+P3=AB+BC+AC P3=AC 1.写出逻辑函数表达式

  10. 2.列出真值表 逻辑电路功能由真值表可以看出该电路为多数表决电路: 3个变量中有2个或2个以上为‘1’时,输出为‘1’。

  11. 例2.下图为一个多输出组合逻辑电路,试分析电路功能例2.下图为一个多输出组合逻辑电路,试分析电路功能 半价器电路符号 A A B =1 S=A⊕B S=A⊕B C=AB B C=AB

  12. 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-进位数

  13. 3.电路功能: 该电路可实现两个一位二进制数相加功能,称为半加器。

  14. Sec3.3 组合逻辑电路的设计方法 • 1.设计步骤: • ⑴.建立描述逻辑问题的真值表 • ①.分析题目所给的条件; • ②.找出问题的条件与目的及因果关系; • ③.确定输入、输出变量; • ④.列出真值表; • ⑵.由真值表写出逻辑函数表达式;(用最小项积之和的形式。) • ⑶.对输出逻辑函数进行化简。 • ⑷.画出逻辑电路图。

  15. 2.设计举例: 下面用两个例子说明组合逻辑电路的设计方法。

  16. 单输出组合逻辑电路的设计 例1:设计一个电路比较器。若两个4位二进制数,A=A3A2A1A0和B=B3B2B1B0。 要求设计一组合逻辑电路对它们进行比较,当两个数相同时,输出为‘1’,否则为‘0’

  17. 1位比较器电路 i i F=A⊕B=A⊙B 图1

  18. 解: 1.建立描述逻辑问题的真值表 比较两个4位二进制数,若每一位都相同,则4位相同。,因此取Ai,Bi位i =0,1,2,3 得到真值表 只有当A3=B3,A2=B2,A1=B1,A0=B0时 两个4位二进制数才相同,若中间有一位不相等,则A≠ B

  19. 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位二进制同电路比较器,见下图

  20. 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

  21. 例2:设计一个无进位输出的全加器电路 解: 1.全加器电路有3个输出,其中两个输A、B分别为一位二进制数,有三个输入是低位的进位输出Cin 2.列出全加器真值表

  22. 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

  23. Sum C0ut Full Adder A B Cin 4.画出逻辑电路图 Output un-carry Full Adder Ai Bi Ai⊕ Bi⊕ C in Ci-1

  24. 多输入组合逻辑电路设计 • 例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

  25. 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.写出全加器的真值表

  26. 3.画出逻辑电路图 Ai⊕Bi Half Adder Half Adder ( Ai⊕Bi)⊕Ci-1 ( Ai⊕Bi) Cin +AiBi ( Ai⊕Bi)Ci-1

  27. A ∑ B Co Input bits 由上图可以看出,它是两级半加器(见下图)组成的 S=A⊕B Sum carry C=AB 电路的缺点:因为是进位输出运算,要在Ai⊕Bi运算之后才可以产生Co,要经过3级门延迟时间,所以运算速度慢

  28. 进位输出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 改进方法

  29. 图3.3.6 Ai ( Ai⊕Bi) ⊕Cin Bi Cin 改进后的全加器电路 AiBi+AiCin+BiCin 可以看出,进位输出Co的运算与求和运算同时进行,当然提高了运算速度。 由一位全加器可以实现4位二进制全加器

  30. 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

  31. 例4.并行二进制加法器 • 加法器有两种类型 1.波纹进位加法器 如图3.3.7是波纹进位器,每一位二进制 全加器的进位输出作为后一位全加器的 输入,进位数逐位向前推移。 显然这样的4位加法器的速度很慢。

  32. 2.超前进位加法器 • 从图3.3.7上看到最终进位输出C4的产生与两个因素有关: 1.本位数相加产生的进位, 2.低位进位的传输速度。 根据图3.3.6的进位输出原理,可以得到超前进位加法器的前两位电路图(3.4.1)

  33. 图3.4.1 A1 B1 A0 B0 g1 p1 g0 p0 C0 S1 S0

  34. CMOS 4位二进制快速加法器芯片如下图 74xx83;74C283,4008

  35. 其它几种MSI全加器列表

  36. 用加法器设计组合逻辑电路 • 加法器的用途和多,下面仅举两例说明用加法器实现组合逻辑电路的方法。

  37. 例3.3.7:利用74LS283设计一个代码转换电路,将BCDS8421码转成余3码。例3.3.7:利用74LS283设计一个代码转换电路,将BCDS8421码转成余3码。 • 解: • 思路:把要获得的逻辑函数化成 输入变量与输出变量 或者 输入变量与 常量 成为在数值上相加的形式,再用加法器进行设计

  38. 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

  39. 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,便可接成符合要求的代码转换电路。

  40. 二进制‘1’的补码的减法: • 为了用二进制‘1’的补码作减法: • 取减数(下面的数)的‘1’的补码; • 把‘1’的补码加到被减数(上面的数); • 有溢出表示答案为正,把溢出位加到最低位。该运算叫循环进位。 • 如果没有溢出则答案为负,所得到的和取‘1’的补码,就是正确的结果.

  41. 例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

  42. 解:当控制输入端(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

  43. 利用全加器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

  44. 例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

  45. 图3.4.6 在7483全加器上加一个与门,使最终进位补到C0进位输入端,进行一次循环进位,得到减法的结果。 7483 C0 C4 0=add 1=subtract

  46. 同样,用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

  47. A B A B 3.4数值比较器 • 图3.4.1 一位数值比较器

  48. 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) 工作原理

  49. 根据一位数值比较器原理可以设计4位比较器 比较两个不带符号的二进制数 若A=B,则输出为‘1’ i2 i1 若A<B,则A<B的输出端为‘1’ i0 若A>B,则A>B的输出端为‘1’

  50. 设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的结果。见下图

More Related