问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数字电子技术基础:逻辑函数表示方法及其相互转换

创作时间:
作者:
@小白创作中心

数字电子技术基础:逻辑函数表示方法及其相互转换

引用
CSDN
1.
https://m.blog.csdn.net/qq_54186956/article/details/144775553

数字电子技术中,逻辑函数的表示方法有多种,包括真值表、逻辑函数式、逻辑图和波形图。这些表示方法各有优缺点,在实际应用中需要根据具体情况选择合适的表示方法。本文将详细介绍这四种表示方法及其相互转换的方法。

1 逻辑函数的表示方法

逻辑函数有多种表示方法,其中常见的逻辑函数的表示方法包括:真值表、逻辑函数式、逻辑图和波形图。如下图所示:

这几种函数表示方法在前面或多或少接触过,下面介绍这种几种函数表示方法。

1.1 真值表

真值表是将所有输出情况所对应的输出情况表示出来,形成表格的形式,得到真值表。

真值表的基本形式为如下图所示:

例如求Y=(A+B)(A+C)的真值表:

A
B
C
A+B
A+C
(A+B)(A+C)
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1

在上面的真值表中将所有情况全部列举了出来,当列出真值表之后,如果想直接查找某种情况,直接查找输出结果。例如,当查找A=0、B=1、C=1时,可以直接查找这一行得到Y的值为1。

真值表的优缺点:

  • 真值表的好处是具有明确性,能够明确表示所有的逻辑组合,能够让结果清晰了然。同时真值表的能确保分析的全面性,不会遗漏情况。
  • 但是真值表也有缺点,当元素较多时,真值表的行数会随着变量数量的增加呈指数级增长。当有3个元素时,有8行;当有4个元素时,有16行;当有5个元素时,就有32行...成指数形式地上涨。

1.2 逻辑函数式

逻辑函数式是用与/或/非三种的运算式来表示输入/输出之间的逻辑关系。

例如Y=A+BC和Y=AB+CD,这种就是逻辑式。

逻辑函数式的优缺点:

  • 逻辑函数式方便简化和操作,便于进行计算和化简。同时逻辑函数式是一种标准的方式来描述逻辑关系,能够验证正确性,同时在形式上简单明了,便于人们理解。
  • 逻辑函数式不能像逻辑真值表一样能够直接得到所有输入和输出,同时逻辑式还可能需要化简,增加了工作量,同时如果有大量的变量,可能遇到难以化简和管理的操作。

1.3 逻辑图

用逻辑图形符号来表示逻辑运算关系。例如下面就是一种逻辑图:

逻辑图的优缺点:

  • 逻辑图能够直观的用图形的方式展示逻辑电路的结构,并且能够清晰地追踪信号在电路中传输和处理的过程,同时方便对于故障进行诊断。
  • 同时,逻辑图占用的空间比较大。相较于逻辑式,逻辑图更加繁琐。并且逻辑图不能向真值表直观地表示某一情况下的结果,并且不利于复杂关系的表示。

1.4 波形图

波形图是把输入变量所有的取值可能与对应输出按时间顺序排列起来画成时间波形。

例如下面这个波形图:

上图中所使用的软件是Wavedrom(下载地址Wavedrom),参考源码如下所示:

{
  "signal": [
    {
      "name": "clk",
      "wave": "p.....|..."
    },
    {
      "name": "dat",
      "wave": "x.345x|=.x",
      "data": ["head", "body", "tail", "data"]
    },
    {
      "name": "req",
      "wave": "0.1..0|1.0"
    },
    {},
    {
      "name": "ack",
      "wave": "1.....|01."
    }
  ]
}

波形图的优缺点:

  • 能够直观地展示信号随着时间的变化情况,通过观察波形图的变化情况,可以直接看出信号的高低电平、脉冲宽度、频率等特征,同时波形图能够展现逻辑图的变化性,易于比较不同信号或者同一信号之间不同条件下的变化。
  • 当有较多的输入变量和输出变量时,可能会变得复杂,难以进行解读。同时当需要较大数据集时,波形图可能难以管理,并且波形图需要较大的空间进行存储。

2 逻辑函数的不同表示方法之间的转换

2.1 真值表和逻辑式的转换

(1)逻辑式向真值表的转换

首先根据逻辑式的内容,确定变量个数。例如Y=AB+C,这个逻辑式中的变量个数为3个。

其次将变量中所有情况列举出来。上面的式子Y=AB+C一共有3个变量(逻辑式中有n个变量,那么就有2^n个变量组合),列举出所有变量组合的情况为:(0,0,0)、(0,0,1)、(0,1,0)、(0,1,1)、(1,0,0)、(1,0,1)、(1,1,0)、(1,1,1)。

之后计算逻辑式的值。当A=0,B=0,C=0时,AB=0,Y=AB+C=0+0=0;当A=0,B=0,C=1,AB=0,Y=AB+C=0+1=1;当A=0,B=1,C=0时,AB=0,Y=AB+C=0+0=0;当A=0,B=1,C=1时,AB=0,Y=AB+C=0+1=1;当A=1,B=0,C=0时,AB=0,Y=AB+C=0+0=0;当A=1,B=0,C=1时,AB=0,Y=AB+C=0+1=1;当A=1,B=1,C=0时,AB=1,Y=AB+C=1+0=1;当A=1,B=1,C=1时,AB=1,Y=AB+C=1;

最后列出相关的真值表得:

A
B
C
AB
Y
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1

此时就完成了逻辑式到真值表的转换。

(2)真值表到逻辑式的转换

首先根据真值表的内容,找出输出Y=1时的输入的取值范围。

每组输入变量取值对应一个乘积项,其中取值为1的写原变量,取值为0写反变量。

最后再将这些项目相加即可。

例如有下面这个真值表,试它的逻辑式:

A
B
C
Y
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0

由上面真值表的内容可以得到:Y=A’B'C'+A'BC'+AB'C'+ABC'。

将上面的逻辑式进行合并同类项目为:Y=A'B'C'+A'BC'+AB'C'+ABC'=A'(B+B')C'+A(B+B')C'=A'C'+AC'=(A+A')C'=C',通过比较可以看到,上面真值表中当结果为偶数时,Y的输出为1;即上面真值表里的内容是为了验证三位二进制数是否为偶数,当是偶数时输出1,奇数时输出0。

2.2 逻辑式与逻辑图之间的转换

(1)逻辑式到逻辑图的转换

首先,分析逻辑式的运算顺序和基本运算规律。例如对于逻辑式Y=(AB+C)D,观察这个逻辑式可以看到,首先计算的括号中A和B相与,其次AB和C相或,最后(AB+C)和D相与。

选择对应逻辑门电路,例如对于上面的Y=(AB+C)D,选择对应的门电路如下图所示:

再将对应的门电路连接起来得:

(2)逻辑图向逻辑式的转换

首先需要确定输入变量和输出变量,例如下面这种逻辑图:

观察这副电路图,可以看到有5个输入变量A、B、C、D和E,还有一个输出变量Y。

其次,逐级推导逻辑式:

推导完逻辑式后可以寻找化简的机会,如果可以化简可将其化简。

2.3 真值表和波形图的转换

(1)真值表转换为波形图

首先分析真值表,明确输入和输出变量。例如下面这个真值表:

A
B
C
Y
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1

可以看到上面真值表中,有3个输入变量,然后对应8个输出情况。

分析完真值表后,即可绘画波形图。首先确定一条时间轴,在时间轴的上方,依次排列输入变量和输出变量,通常是输入变量排在前面,输出变量排在后面,再根据真值表的内容填充内容,最后再在波形图上标注说明。如下图所示:

图9 真值表得到波形图示例图

(2)波形图转换为真值表

首先列出所有输入和输出的结果。列出所有输入变量的组合和输出变量。例如,如果有n个变量,那么就有2^n个输出结果。

其次,其次观察波形图。观察波形图在每种情况下的高低电平,即观察各种输入组合下的输出状态。

最后再将每种输入组合已经输出结果填入真值表中。

例如下面这个波形图:

可以看到这组波形图,有三个输入变量, 则有2^3=8个输出变量,通过观察高低电平的输出结果可以得到如下所示真值表:

A
B
C
Y
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1

3.4 其他不同表示方法之间的转换

在上面总结三种不同表示方法之间的相互转换,分别是真值表和逻辑式的转换、逻辑式和逻辑图的转换、真值表和波形图的转换,如下图所示:

图11 波形图、真值表、逻辑式和逻辑图之间的相互转换

在了解上面三种相互转换的方式之后,可以在真值表、逻辑图、逻辑式和波形图之间任意转换。例如真值表转换为逻辑图,可以先将真值表转换为逻辑式,再将逻辑式转换为逻辑图。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号