组合逻辑分析

所谓组合逻辑分析,就是根据已知逻辑电路图,找出组合逻辑电路的输入与输出关系,确定在什么样的输入取值组合下对应的输出为1 。
一般步骤如下:

  • 阅读组合逻辑电路图
  • 列写逻辑函数表达式
  • 列写逻辑真值表
  • 说明电路的逻辑功能
  • 做出电路图的评价与改进

方法如下:

  1. 对于较简单的逻辑电路:“逐级电平推导”法
  2. 对于较复杂的逻辑电路:“列写布尔表达式”法或“数字波形图法”等
  3. 迫不得已的情况下:“列写真值表”法

    逐级电平推导法

    方法核心

    假设输出为逻辑1或0,然后逐级向前推导,直到确定输入的逻辑值。

    举例说明

    image.png
    这里仅分析(a)图
    首先最后一个元器件为与非门,所以:
    第二章:组合逻辑 - 图2
    假设F = 1,可知:x1 = 0 或者 x2 = 0
    x1 = 0的时候,由于:
    第二章:组合逻辑 - 图3
    可以知道**A = 1****B = 1**
    同理,x2 = 0 可以知道**A = 0****B = 0**
    所以综上:
    **A = 1****B = 1**,或者**A = 0****B = 0**时候,F输出1。

    列写布尔表达式法

    方法核心

    使用布尔表达式表示最后F的输出。

    举例说明

    image.png
    从左往右依次把布尔表达式写出可得:
    第二章:组合逻辑 - 图5
    化简可得:
    第二章:组合逻辑 - 图6
    所以这个电路等同于一个四路或门

    数字波形图分析法

    方法核心

    这种方法是对逻辑门的所有输入变量施以输入波形,逐级画出各个门电路的输出波形,乃至画出最后的输出波形。

    举例说明

    image.png

    不常用,所以简单看看就好了。

列写逻辑电路真值表法

方法核心

简单的来说就是写出对应输入和输出的真值表。

一般情况下先化简布尔表达式再写真值表。

举例说明

image.png
首先写出F的表达式:
image.png
接着化简改表达式:
image.png
根据表达式写出真值表:
image.png

组合逻辑中的竞争冒险

定义

在组合电路中,当逻辑门有两个互补输入信号同时向相反状态变化时,短暂出现同时为1的情况,输出端可能产生过渡干扰脉冲的现象称为竞争冒险

这种一般出现在信号状态转化过程中,原因是信号的转化具有延迟。

image.png
如上图中的(a)所示,第二章:组合逻辑 - 图13,也就是说F应该恒定输出为1,
但是当A从0变换到1的过程中,由于信号延迟,B部分为1,此时A也为1,F此时短暂为0

消除冒险竞争

  1. 加选通脉冲

image.png

此处的P即为选通脉冲

当A=C=1,第二章:组合逻辑 - 图15,存在竞争冒险。
在接收了输入信号并且电路达到了新的稳态之后,才加入选通脉冲
该选通脉冲通常是P=0,使电路处于封锁状态,只有在接收了输入信号并且电路达到了新的稳态之后,才有脉冲P=1,允许电路输出

  1. 修改逻辑设计

上例中,我们可以把表达式变换一下,根据常用布尔公式可知:
image.png
上式增加了AC项以后,函数关系不变,但当A=C=1时,输出F恒为1,不再产生干扰脉冲。所以,把电路按上式修改,即可消除竞争冒。


组合逻辑设计

组合逻辑设计的步骤

  1. 逻辑问题的描述
  2. 逻辑函数的简化
  3. 逻辑函数变化
  4. 画出逻辑电路

    逻辑问题的描述

    定义

    所谓逻辑问题的描述,就是将文字描述的设计要求抽象为一个逻辑表达式
    通常的方法是:

  5. 先建立输入输出逻辑变量的真值表,

  6. 再由真值表写出逻辑表达式
  7. 有些情况下,可由设计要求直接建立逻辑表达式。

举例说明

例如:设计一个多数表决电路,以判断A、B、C三人中是否多数赞同
首先根据题意写出真值表:
image.png
写出F输出为1的表达式:
image.png
所以F的表达式为:
第二章:组合逻辑 - 图19

默认输入都是1。 复杂情况下也可以先写出布尔表达式,再化简。 这里画图就比较简单,就省略了。

利用任意项的逻辑设计

定义

在上面一小节的基础上,加入任意项,使得表达式更加简单。

举例说明

用与非门设计一个判别电路,判别8421码的十进制的值≥5。
首先还是根据题目写出真值表:
image.png

后面6位由于超出10进制的范围,所以被标记为任意项(无关项)

接下来画卡诺图对布尔表达式化简:

忘记的参见上一章。

image.png
化简可得:
第二章:组合逻辑 - 图22
注意要求,只使用与非门
image.png


组合逻辑的电路等价交换(不重要)

狄摩根定律的应用

  • 与非门等价于非或门
  • 或非门等价于非与门

    与非门、或非门作为通用元件

    只需要记住一点:信号经过门的级数越多,传输延迟时间就越长
    image.png

    以上几个门都是等价的。

利用与非门/非或门进行等价变换

如图所示:
image.png
图示,左边的逻辑门电路实现与或运算,中间输出与输入带两个小圆圈符号,它表示“非”运算,连续两个非,可以将非符号(小圆圈)取消,因此等价于右边的逻辑电路。
显然右边逻辑电路的传输速度快2倍


数据选择器和分配器

数据选择器

定义

是多路输入、单路输出的组合逻辑构件。(也就是通过控制线控制输出)

一般用于分时复用。

概念解析

如图所示
image.png
其中:
image.png

一般还会再加一根线,控制是否输出

其真值表如下:
image.png

带有上划线的线表示低电平有效,不带的表示高电平有效

可以发现通过S1和S0两条线就可以控制Y的输出是哪一个输入D。

数据分配器

定义

是单路输入、多路输出的组合逻辑构件。

一般用于数据交换。

概念解析

如图所示
image.png
W就是四个输出端口。
画出真值表:
image.png
可以得到W的表达式:
image.png


译码器和编码器

译码器

所谓译码,可以简单理解为翻译代码。实现译码功能的组合逻辑电路被称为译码器。

输入的是一组二进制代码,输出的是一组高低电平信号(只有一个定义是有效的)。 最常见的就是地址译码器,传入一组二进制数,决定哪个地址的电子元件输入/输出有效。

三八译码器

结构图如下:
image.png
所谓三八译码器,就是三输入(D**0,D1,D2),八输出(Y0-Y7**)

其中G1G2AG2B作为控制信号,决定这个译码器是否工作。

输出Y带有上划线代表的低电平(0)有效,以Y0为例,只有三输入都为0,且控制信号有效(也就是控制线输出1,G1=1,G2A = G2B = 0)Y0有效可以输出。

输入对应的二进制编码也对应了输出的Y的下标。 比如这里的Y0,三输入的就是0 0 0,如果是Y7三输入就是1 1 1

二四译码器

image.png
同理于三八译码器,这里就不做赘述。

编码器

编码器和译码器相反,是把所处理的信息转换为一组二进制代码。

例如把数字5存储为BCD码为:0101

二进制编码器

使用n位二进制数表示2n个信号的电路。

普通编码器

  • 任何时刻只允许一个编码信号,否则输出将发生混乱
  • 输入信号的一个输入端取值为1,或者一个输入端取值为0

image.png

如图所示,I方面只有一个能为1,其他都为0.

优先编码器

优先编码器是一种允许同时输入两个以上有效输入信号的编码器,只是对其中的优先级最高的一个信号进行编码。
74LS148编码器为例:
image.png
其中:
image.png
输入输出真值表如下:
image.png