第7章 组合逻辑电路的设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1 组合逻辑电路的分析
7.1.1 组合逻辑电路功能的描述
组合逻辑电路的分析,就是根据给定的逻辑电路图,求出电 路的逻辑功能 。 组合逻辑电路的输出仅取决于该时刻输入信号状态的组合, 而与电路原来的状态无关,其输入输出框图如图7-1所示。
图7-1 组合逻辑电路输入输出框图
ro
uo io
• 描述组合逻辑函数的逻辑功能,可以采用逻辑图、逻辑表达 式、真值表等方法。组合逻辑电路的输出与输入间的逻辑关 系可以用一组逻辑函数来表示。
L AB BC AC AB BC AC AB BC AC
则相应逻辑电路如图7-6所示。
图7-5 与或门实现的逻辑电路
图7-6 与非门实现的逻辑电路
7.3 组合逻辑电路的竞争冒险
前面分析设计组合逻辑电路时,均是在信号稳态情况下 讨论的,实际电路工作时,信号经常变化且需要时间,门电 路对信号也产生一定的延时,这样就产生竞争冒险 。
L AB C A BC A B C A B C A B B C A C
表7-2
真值表
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
L 0 0 0 1 0 1 1 1
4.画出逻辑电路如图7-5所示。 如果要求用与非门实现该逻辑电路,就应将表达式进行 一定变换:
y1 f1 ( a1 , a 2 , a n ) y 2 f 2 ( a1 , a 2 , a n ) y f (a , a , a ) n 1 2 n n
7.1.2
组合逻辑电路的分析方法
• • • • •
组合逻辑电路分析就是找出输入与输出的逻辑关系。其 目的是弄清电路的逻辑功能,或为了对逻辑电路进行改进、 变换,或为评定电路的性能等。 对于任何一个组合逻辑电路,分析的基本步骤如下: 由给定的逻辑电路从输入端开始逐级推导出表示输入输出关 系的逻辑表达式; 化简和变换逻辑表达式; 根据化简和变换后的表达式,列出真值表; 由真值表分析其实现的逻辑功能并用文字描述; 评价原设计电路,改进设计,得到最佳方案。
【例7-1】 分析如图7-3所示逻辑电路的功能。
图7-3 逻辑电路
解: 1.根据电路写出逻辑表达式 。
2.列出真值表见表7-1。
表7-1 B 0 0 C 0 1 真值表 L1 0 1 L2 0 0
A 0 0
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
1
0 1 0 ቤተ መጻሕፍቲ ባይዱ 1
0
1 0 1 1 1
3.逻辑功能分析 从真值表可以看到,L1为A、B、C三个数相加的和,L2 为进位。所以此电路实现了考虑低位进位的一位二进制数的 加法功能,这种电路被称为全加器。
7.2 组合逻辑电路的设计方法
组合逻辑电路的设计,就是根据给定的设计要求,设计出 最佳(或最简)的组合电路。 组合逻辑电路有两种情况,一种是以小规模集成电路 (SSI)即逻辑门来实现所需的逻辑功能,要求所用门的数目最 少,而且各门输入端的数目和电路的级数也最少。另一种是采 用中规模集成电路(MSI)如常用集成组件编码器、译码器、数 据选择器、数据分配器等来实现所需逻辑功能。本节将介绍采 用SSI逻辑门的设计方法,MSI集成组件将在后续章节讲述。 组合逻辑电路的设计方法,一般可按如下步骤进行: • 对给出的逻辑设计问题,进行逻辑抽象,即从逻辑的角度来描 述设计问题的因果关系,再根据因果关系确定输入变量和输出 变量,依据变量的状态进行逻辑赋值,确定哪种状态用逻辑“0” 表示,哪种状态用逻辑“1”表示。 • 根据设计问题的逻辑抽象,列出逻辑真值表。
2.产生竞争冒险的原因
(a)逻辑图
图7-7 产生1冒险
(b)波形图
(a)逻辑图
图7-8 产生0冒险
(b)波形图
2.冒险现象的识别 可采用代数法来判断一个组合电路是否存在冒险,方法 为: 写出组合逻辑电路的逻辑表达式,当某些逻辑变量取特 定值(0或1)时,如果表达式能转换为: L A A ,则存 在1冒险;如果 L A A ,则存在0冒险。 【例7-3】 分析逻辑表达式的竞争冒险。 解: 若输入变量A=B=l,则有 L C C 。因此,该电路存 在0冒险。下面画出A=B=l时L的波形。在稳态下,无论C取 何值,L恒为l,但当C变化时,由于信号的各传输路径的延 时不同,将会出现如图7-9所示的负向窄脉冲,即0冒险。
第7章 组合逻辑电路
本章学习要求
掌握组合逻辑电路的分析方法; 掌握组合逻辑电路的简单设计方法; 掌握编码器、译码器的功能及应用。
本章大纲
• • • • • • • • • 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 组合逻辑电路的分析 组合逻辑电路的设计方法 组合逻辑电路的竞争冒险 编码器与译码器 实验 组合逻辑电路功能测试 实训1 三变量组合逻辑电路设计 实训2 译码显示电路设计 本章小结 习题
(2)变换逻辑式,消去互补变量 L ( A B )( B C ) 存在冒险现象。如将其变换为 L A B A C B C , 则在原来产生冒险的条件A=C=0时,L=0,不会产生冒险。
7.4
编码器与译码器
7.4.1 编码器
随着微电子技术的发展,一些数字系统中经常使用组合逻辑 电路,如编码器、译码器、数据选择器、数值比较器、加法器、 函数发生器、奇偶校验器等,已有中、小规模的标准化集成产品, 不需要我们用门电路设计,并且利用这些MSI可以实现其他功能 的逻辑函数 。 编码是将字母、数字、符号等信息编成一组二进制代码。编 码器的功能是将输入信号转换成一定的二进制代码,即实现用二 进制代码表示相应的输入信号。 常用的编码器有普通编码器和优先编码器两类。 1.二进制编码器 二进制编码器的逻辑功能是将2n个输入信号,编成n位二进 制代码输出。
7.3.1 产生竞争冒险的原因
为了保证电路可靠工作,必须消除竞争冒险,消除的前 提就是要分析产生竞争冒险的原因。 1.组合逻辑电路的竞争冒险现象 信号经过不同路径达到同一点的时间有先有后,称为竞 争,大多数组合电路都存在这种现象。当电路的某个输入量 发生变化,在输出端出现了按电路逻辑功能不应有的尖脉冲, 这种现象称为冒险现象。 我们知道,半导体器件的开通和关断都有延迟时间,因 此组合逻辑门电路在工作时,也是有延迟时间的。由于各个 门的延迟时间不同,如两个信号到达下一级门电路输入端的 时间不同,当组合逻辑电路中存在由反相器产生的互补信号, 状态发生变化时,组合逻辑电路有可能产生瞬间的错误输出。 这一现象称为竞争冒险。
A=1 B= 1 BC Ý ¡ 1 AC L=AC+BC t pd BC AC L 0Ã Õ °Ï ¨ © £ b£
图7-9 竞争冒险
C C
7.3.2 消除竞争冒险的方法
当组合逻辑电路存在冒险现象时,可以从两方面入手来 消除。 1.修改硬件电路 (1)接入输出滤波电容 由于竞争冒险产生的干扰脉冲的宽度一般都很窄,在可 能产生冒险的门电路输出端并接一个滤波电容(一般为4~ 20pF),利用电容两端的电压不能突变的特性,使输出波 形上升沿和下降沿都变的比较缓慢,从而起到消除冒险现象 的作用。 这种方法简单易行,但会破坏输出波形,且会引入附加 延时。 (2)增加选通信号
• 根据真值表,写出设计问题的逻辑函数表达式。 • 用SSI逻辑门实现组合逻辑设计时,化简逻辑函数表达式, 得到最简的逻辑函数表达式;用MSI集成组件实现组合逻辑 设计时,应该把逻辑函数表达式变换成与所用器件的逻辑函 数式相同或类似的适当形式。 • 按最简或适当形式的逻辑函数表达式画出逻辑电路图。 • 判别和消除竞争冒险现象。 • 组合逻辑电路的设计步骤如图7-4所示。
A1 I 2 I 3 I 6 I 7
A0 I 1 I 3 I 5 I 7
用门电路实现逻辑电路如图7-10所示。
图7-10 3位二进制编码器
2.优先编码器 普通编码器在任一时刻,只允许在一个输入端加入有效 电平,当有两个以上输入端加入有效电平时,编码器的输出 状态将是混乱的。优先编码器允许同时输入两个以上的编码 信号,给所有的输入信号规定了优先顺序,当多个输入信号 同时出现时,只对其中优先级最高的一个进行编码。
图7-11 74148的引脚图
表7-4
74148优先编码器真值表
输 出 I5 I6 I7 ³ ³ 1 1 A2 A1 A0 GS EO 1 1 1 1 1 1 1 1 1 0
输 入 EI I0 I1 I2 I3 I4
1 ³ ³ ³ ³ ³ ³ 0 1 1 1 1 1 1
0 ³ ³ ³ ³ ³ ³ ³ 0
3位二进制编码器有8个输入端3个输出端,所以常称为8 线-3线编码器,其功能真值表见表7-3,输入为高电平有效。
表7-3 编码器功能真值表 输 出 I6 0 0 0 0 0 0 1 0 I7 0 0 0 0 0 0 0 1 A2 A1 A0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1
其逻辑电路图如图7-12所示。
图7-12 74148优先编码器逻辑电路图
组合逻辑电路的分析步骤如图7-2所示。
é Ï Â ³º ß ¼ ç ² µ Â ß í ï ½  ¼ ±´ Ê ¯ ò » ¼ ä ±» î ò í ï ½ ³¼ ±´ Ê ß ¦ Ü Â ¼ ¹ Ä
æ µ í Õ Ö ±
图7-2 组合逻辑电路分析步骤
上述分析步骤是通用的,而实际在分析中可能有所不同。 如有些组合逻辑电路,化简或变换后的逻辑表达式非常简单, 能够直接看出其所实现的逻辑功能;若化简或变换后的逻辑 表达式仍然比较复杂,特别是有多个输出时,则需要通过真 值表进行逻辑功能的分析、判断 。
在电路中增加一个选通脉冲,接到可能产生冒险的门电 路的输入端。当输入信号转换完成,进入稳态后,才引入选 通脉冲,将门打开。这样,输出就不会出现冒险脉冲。 注意以下问题: • 如输出门为与门、与非门,则选通脉冲要用正脉冲;如输出 门为或门、或非门,则选通脉冲要用负脉冲。 • 加选通脉冲后,电路的输出将不是电平信号,而是脉冲信号。 • 电路对选通脉冲的宽度和产生时间有严格的要求。 2.修改逻辑设计 (1)加冗余项 前面已分析 L AC B C 中存在冒险现象。如在逻 辑表达式中增加乘积项AB,使其变为 L AC B C A B , 则在原来产生冒险的条件A=B=1时,L=1,不会产生冒险。 函数增加了乘积项AB后,已不是“最简”,故这种乘积项 称冗余项。
用SSI 逻辑 问题 逻辑真 值表 逻辑函 数式 选定器 件类型 用MSI 化简 函数式 变换 函数式 逻辑 电路图 逻辑 电路图
图7-4 组合逻辑电路的设计步骤
【例7-2】 设计一个三人表决电路,结果按“少数服从多数” 的原则决定。 解: 1.逻辑问题分析 设三人的意见为变量A、B、C,表决结果为函数L。对 变量及函数进行如下状态赋值:对于变量A、B、C,设同意 为逻辑1,不同意为逻辑0。对于函数L,设事情通过为逻辑1, 没通过为逻辑0。 2.列出真值表,如表7-2所示。 3.由真值表写出逻辑表达式并化简:
输 入 I0 I1 I2 I3 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 I 4 I5 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
由真值表写出各输出的逻辑表达式为:
A2 I 4 I 5 I 6 I 7
0 ³ ³ ³ ³ ³ ³ 0 1
0 0 0 0 1
0 0 1 0 1
0 ³ ³ ³ ³ ³ 0
0 ³ ³ 0 ³ ³ 0 ³ ³ 0 ³ 0 0 0 1 ³ ³ ³ 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
1 1
1 1 1 1 1 1 1 1 1 1
0 1 0 0 1
0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1