文章目录

  • 一、主要内容
    • 问题的提出
    • 函数化简的目的
    • 函数化简的方法:
  • 二、代数法化简逻辑函数
  • 三、卡诺图法化简逻辑函数
    • 1. 卡诺图
    • 2. 卡诺图填图
      • 1. 真值表填卡诺图
      • 2. 表达式化为最小项表达式填卡诺图
      • 3. 表达式作为一般与或式填卡诺图
    • 3. 函数的卡诺图化简
      • 1. 典型卡诺图
      • 2. 函数的卡诺图化简
    • 3. 含有任意项的逻辑函数的化简
      • 1. 任意项定义
      • 2. 带有任意项的逻辑函数的化简方法
  • 四、练习

一、主要内容

问题的提出

  • 同一个逻辑函数可以有多种表达形式;
  • 一种形式的表达式,对应一种电路;
  • 表达形式越复杂,则电路越复杂;

如何处理函数,以实现用尽量少的单元电路、尽量简单的电路类型来达到目的。即,逻辑函数要化简。

函数化简的目的

  • 逻辑电路所用门的数量少,每个门的输入端个数少,降低成本
  • 逻辑电路构成级数少,保证逻辑电路能可靠地工作,提高电路的工作速度和可靠性

函数化简的方法:

  • 代数化简法(公式法)
  • 卡诺图化简法

二、代数法化简逻辑函数

代数法化简逻辑函数的实质是反复运用逻辑代数的公式和规则,消去表达式中的多余项和多余变量。在用代数法化简逻辑函数时, 往往要依靠经验和技巧 ,带有一定的试凑性

方法:

  • 并项: 利用 AB+AB‾=AAB + A \overline B = AAB+AB=A 将两项并为一项,且消去一个变量 BBB;
  • 消项: 利用 A+AB=AA + AB = AA+AB=A 消去多余的项 ABABAB;
  • 消元:利用 A+A‾B=A+BA + \overline AB = A + BA+AB=A+B 消去多余变量 A‾\overline AA;
  • 配项:利用 AB+A‾C+BC=AB+A‾CAB + \overline AC + BC = AB + \overline ACAB+AC+BC=AB+AC 和互补律、重叠律先增添项,再消去多余项。

函数表达式一般化简成 与-或式 ,其最简应满足的两个条件:
1)表达式中“与”项的个数最少;
2)在满足1)的前提下,每个“与”项中的变量个数最少。
e.g.e.g.e.g. 化简F=AC‾+ABC+ACD‾+CDF = A\overline C + ABC + AC\overline D + CDF=AC+ABC+ACD+CD。
F=AC‾+ABC+ACD‾+CD=A(C‾+BC)+C(AD‾+D)=A(C‾+B)+C(A+D)=AC‾+AB+AC+CD=A(C‾+C)+AB+CD=A(1+B)+CD=A+CD\begin{aligned} F &= A\overline C + ABC + AC\overline D + CD \\ &= A(\overline C + BC) + C(A\overline D + D)\\ &= A(\overline C + B) + C(A+D)\\ &= A\overline C + AB + AC + CD\\ &= A(\overline C + C) + AB + CD\\ &= A(1 + B) + CD = A +CD \end{aligned} F​=AC+ABC+ACD+CD=A(C+BC)+C(AD+D)=A(C+B)+C(A+D)=AC+AB+AC+CD=A(C+C)+AB+CD=A(1+B)+CD=A+CD​

实际上,我们最经常使用的是卡诺圈法,代数法化简常常作为结果的印证,我也就不麻烦的输入公式了,直接截图吧。


三、卡诺图法化简逻辑函数

1. 卡诺图

卡诺图:是真值表的图形表示:

  • 将变量分成两组,构成二维表;
  • 行列组合排列顺序为循环码
  • 表中每个方格对应真值表中的一行,代表一个最小项。



■\blacksquare■ 逻辑相邻性

  • 相邻方格最小项,具有 逻辑相邻性 ,即有一个变量互为反变量
  • 具有逻辑相邻性的方格有
    • 相接 —— 几何位置相邻的方格
    • 相对 —— 上下两边、左右两边的方格
    • 相重 —— 多变量卡诺图,以对称轴相折叠,叠在一起的方格(五变量)


2. 卡诺图填图

卡诺图有什么用?为什么要用循环码?

  • 循环码:相邻两个码字有一位相反;
  • 卡诺图:逻辑相邻项有一个变量互为反变量;
  • 卡诺图中的两个逻辑相邻项相加可以消去一个变量。

用卡诺图法对逻辑函数进行化简时,首先要确定函数与卡诺图的关系,将函数用卡诺图的形式表现出来。真值表、表达式、卡诺图都可以表达一个逻辑函数。

1. 真值表填卡诺图

2. 表达式化为最小项表达式填卡诺图

对于 F=A‾BC‾+ABD+ACF = \overline AB\overline C + ABD + ACF=ABC+ABD+AC 来说, 可以如下化简:
F=A‾BC‾D+A‾BC‾D‾+ABCD+ABC‾D+AB‾CD‾+AB‾CD+ABCD‾+ABCD=m5+m4+m15+m13+m10+m11+m14+m15=∑m(4,5,10,11,13,14,15)\begin{aligned} F &= \overline AB\overline CD + \overline A B\overline C\ \overline D + ABCD + AB\overline CD + A\overline BC\overline D + A\overline BCD + ABC\overline D + ABCD\\ &= m_5 + m_4 + m_{15} + m_{13} + m_{10} + m_{11} + m_{14} + m_{15}\\ &= \sum m(4,5,10,11,13,14,15) \end{aligned} F​=ABCD+ABC D+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD=m5​+m4​+m15​+m13​+m10​+m11​+m14​+m15​=∑m(4,5,10,11,13,14,15)​

3. 表达式作为一般与或式填卡诺图

由一般与-或式填卡诺图示例1:三变量 F=AB+A‾CF = AB + \overline ACF=AB+AC
1.将所有满足 A=1且B=1A=1且B=1A=1且B=1的方格内填“1”
2.将所有满足 A=0且C=1A=0且C=1A=0且C=1 的方格内填“1”

由一般与或式填卡诺图示例2:四变量 F=BD+B‾D‾+AB‾CD+B‾CD‾F = BD + \overline B\ \overline D + A\overline B CD+ \overline B C \overline DF=BD+B D+ABCD+BCD
1.在所有满足 B=1且D=1B=1且D=1B=1且D=1 的方格内填“1”
2.将所有满足 B=0且D=0B=0且D=0B=0且D=0 的方格内填“1”
3.在所有满足 A=1且B=0且C=1且D=1A=1且B=0且C=1且D=1A=1且B=0且C=1且D=1 的方格内填“1”
4.在所有满足 B=0且C=1且D=0B=0且C=1且D=0B=0且C=1且D=0 的方格内填“1”

3. 函数的卡诺图化简

化简依据:相邻最小项 →\rightarrow→ 提出公因子 →\rightarrow→ 消去互补变量
e.g.AB+AB‾=A(B+B‾)=Ae.g.\ \ AB + A\overline B = A(B +\overline B) = Ae.g.  AB+AB=A(B+B)=A
e.g.ABC+AB‾C=AC(B+B‾)=ACe.g.\ \ ABC + A\overline BC = AC(B + \overline B) = ACe.g.  ABC+ABC=AC(B+B)=AC

方法:
1)填写函数卡诺图
2)对邻项方格画卡诺圈
3)消去互补变量,直接写出最简与-或式

1. 典型卡诺图

e.g.e.g.e.g. 二变量卡诺图的典型卡诺圈

e.g.e.g.e.g. 三变量卡诺图的典型卡诺圈

e.g.e.g.e.g. 四变量卡诺图的典型卡诺圈

2. 函数的卡诺图化简

无效圈示例1:不是矩形

无效圈示例2:没有新变量,无效圈

写出每个卡诺圈最小项表达式保留卡诺圈内值不变的变量。F=AB+BCF = AB + BCF=AB+BC:

F1:F(A,B,C,D)=∑m(0,2,3,5,6,8,9,10,11,12,13,14,15)F_1:F(A,B,C,D)= \sum m(0,2,3,5,6,8,9,10,11,12,13,14,15)F1​:F(A,B,C,D)=∑m(0,2,3,5,6,8,9,10,11,12,13,14,15)

  • 圈 111 :函数与-或表达式;
  • 圈 000 :反函数与-或表达式(下面的左图:F‾=ABD\overline F=ABDF=ABD)
  • 圈 111 :函数的与-或表达式;
  • 圈 000 :函数的或-与表达式(此时保持不变为0的变量用原变量,为1用反变量)


需要注意的是:不同的圈法,会得到不同的最简结果

3. 含有任意项的逻辑函数的化简

1. 任意项定义

一个逻辑函数,如果它的某些输入取值组合受特殊原因制约而不会再现,或者虽然每种输入取值组合都可能出现,但此时函数取值为1还是为0无关紧要,那么这些输入取值组合对应的最小项称为无关项或者任意项 。 任意项用 “d”或者 “ × ” 表示 。

任意项可以加到函数表达式中,也可以不加到函数表达式中,并不影响函数的实际逻辑功能。其值可以取1,也可以取0。

例1:十字路口红绿灯,设控制信号 G=1→G=1 \rightarrowG=1→ 绿灯亮;控制信号 R=1→R=1 \rightarrowR=1→ 红灯亮;则 GRGRGR 可以为 GR=00,01,10GR=00, 01,10GR=00,01,10 ,但 GR≠11GR ≠ 11GR​=11 。

例2:电动机正反转控制,设控制信号 F=1→F=1 \rightarrowF=1→ 正传;控制信号 R=1→R=1 →R=1→ 反转;则 FRFRFR 可以为 FR=00,01,10FR=00, 01, 10FR=00,01,10 ,但 FR≠11FR ≠ 11FR​=11 。

例3:8421BCD8421BCD8421BCD 码中,从 1010~11111010 ~ 11111010~1111 的六种编码不允许出现,可视为无关最小项。

2. 带有任意项的逻辑函数的化简方法

例1: 给定某电路的逻辑函数真值表如右图,求 FFF 的最简"与或"式:

例2:已知真值表如右图,用卡诺图化简:

四、练习

1.用代数法化简逻辑函数
F=AC+B‾C+BD‾+A(B+C‾)+A‾CD‾+AB‾DE=A(C+C‾)+B‾C+BD‾+AB+A‾CD‾+AB‾DE=A+B‾C+BD‾+A‾CD‾=A+(A‾B‾CD‾+A‾B‾CD+AB‾CD‾+AB‾CD)+(A‾BC‾D‾+A‾BCD‾+ABC‾D‾+ABCD‾)+(A‾BCD‾+A‾B‾CD‾)=A+B‾C+BD‾\begin{aligned} F &= AC + \overline BC + B\overline D + A(B + \overline C) + \overline AC\overline D + A\overline BDE\\ &= A(C + \overline C) + \overline BC + B\overline D + AB + \overline AC\overline D + A\overline BDE\\ &= A + \overline BC + B\overline D + \overline AC\overline D\\ &= A + (\overline A\ \overline BC\overline D + \overline A\ \overline BCD + A\overline BC\overline D + A\overline BCD) + (\overline AB\overline C\ \overline D + \overline ABC\overline D+AB\overline C\ \overline D+ABC\overline D) + (\overline ABC\overline D + \overline A\ \overline BC\overline D)\\ &= A + \overline BC + B\overline D \end{aligned} F​=AC+BC+BD+A(B+C)+ACD+ABDE=A(C+C)+BC+BD+AB+ACD+ABDE=A+BC+BD+ACD=A+(A BCD+A BCD+ABCD+ABCD)+(ABC D+ABCD+ABC D+ABCD)+(ABCD+A BCD)=A+BC+BD​
2.用卡诺图化简一下函数:
(1)F=BD+A‾BC‾+AC‾D+A‾CD+A‾B‾F = BD + \overline AB\overline C + A\overline CD+ \overline ACD + \overline A\ \overline BF=BD+ABC+ACD+ACD+A B
答:根据下面的卡诺图,化简函数为 F=A‾B‾+A‾C‾+BD+C‾DF=\overline A\ \overline B + \overline A\ \overline C +B D + \overline CDF=A B+A C+BD+CD

(2)F(A,B,C,D)=∑m(0,1,2,4,5,8,9,10,12,13)F(A,B,C,D) = \sum m(0,1,2,4,5,8,9,10,12,13)F(A,B,C,D)=∑m(0,1,2,4,5,8,9,10,12,13)
答:根据卡诺图,化简函数为:F=C‾+B‾D‾F = \overline C +\overline B\ \overline DF=C+B D


(3)F(A,B,C,D)=∑m(0,1,2,9,12)+∑d(4,6,10,11)F(A,B,C,D) = \sum m(0,1,2,9,12) + \sum d(4,6,10,11)F(A,B,C,D)=∑m(0,1,2,9,12)+∑d(4,6,10,11)
答:根据下面的卡诺图,化简函数为:F=A‾D‾+BC‾D‾+B‾C‾DF=\overline A\ \overline D +B \overline C\ \overline D +\overline B\ \overline CDF=A D+BC D+B CD

3.将以下的函数分别化简为最简与或式和最简或与式。
F(A,B,C,D)=∑m(2,3,5,6,7,10,11,13,14,15)F(A,B,C,D) = \sum m(2,3,5,6,7,10,11,13,14,15)F(A,B,C,D)=∑m(2,3,5,6,7,10,11,13,14,15)
答:根据下图,可得最简与或式为:F=C+BDF=C+BDF=C+BD;

根据下面的卡诺图,圈0得最简或与式为:F=(C+D)(B+C)F=(C+D)(B+C)F=(C+D)(B+C)

【数字逻辑】学习笔记 第三章 Part2 逻辑函数的化简相关推荐

  1. 《Go语言圣经》学习笔记 第三章 基础数据类型

    <Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...

  2. 基于python的数字图像处理--学习笔记(三)

    基于python的数字图像处理--学习笔记(三) 前言 一.灰度拉伸 二.幂律(伽马)变换 三.对数变换 前言 进入冈萨雷斯的第三章内容,并用python实现功能.我更改了代码源,之前找到太烂了,代码 ...

  3. 数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF

    数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF 一.概述 参考:特征点匹配+特征检测方法汇总 ORB的全称是Oriented ...

  4. 机器人导论(第四版)学习笔记——第三章

    机器人导论(第四版)学习笔记--第三章 3 操作臂运动学 3.1 引言 3.2 连杆的描述 3.3 连杆连接的描述 3.4 连杆坐标系的定义 3.5 操作臂运动学 3.6 驱动空间.关节空间和笛卡尔空 ...

  5. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  6. 【数字逻辑】学习笔记 第五章 Part2 时序逻辑电路(分析与设计)

    文章目录 一.时序逻辑电路分析 1. 同步时序逻辑电路分析 (1) 分析目的 (2) 分析方法 (3) 分析步骤 2. 例题A (1) 写方程组 (2) 根据方程组列出状态转移真值表 (3) 根据状态 ...

  7. 吴恩达机器学习学习笔记第七章:逻辑回归

    分类Classification分为正类和负类 (规定谁是正谁是负无所谓) 吴恩达老师举例几个例子:判断邮箱是否是垃圾邮箱 一个在线交易是否是诈骗 一个肿瘤是良性的还是恶性 如果我们用之前学习的lin ...

  8. 数字图像处理学习笔记(三)——空间分辨率和灰度分辨率、等偏爱曲线

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  9. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第三章:简单控件

    第 3 章 简单控件 本章介绍了App开发常见的几类简单控件的用法,主要包括:显示文字的文本视图.容纳视图的常用布局.响应点击的按钮控件.显示图片的图像视图等.然后结合本章所学的知识,演示了一个实战项 ...

  10. Win32学习笔记 第三章 HelloWin 选择自 villager 的 Blog

    Win32学习笔记 作者: 姜学哲(netsail0@163.net) 教材: Windows程序设计(第五版)北京大学出版社  [美]Charles Petzold 著  北京博彦科技发展有限公司 ...

最新文章

  1. 教程 | OpenCV深度神经网络实现人体姿态评估
  2. C# 8的新提案:new关键字类型推断
  3. USTC English Club Note20211215
  4. php内容管理系统开源源码,fcontex 开源内容管理系统 php版 v1.0.3
  5. 计算机行业常见英语,计算机行业常用英语词汇
  6. 同IP不同端口Session冲突问题
  7. Codeforces 140D - New Year Contest
  8. 图像分类_04神经网络最优化过程:反向传播+代码实现
  9. php从网页获得数据,php根据URL获得网页内容
  10. linux c++程序,阐述Linux下C++编程进行学习
  11. MeteoInfoLab脚本示例:OMI Grid HDF数据
  12. iOS中的UIView的基本属性1
  13. mysql导出所有binlog_mysql导入、导出、查看binlog命令
  14. 全国计算机等级考试二级C语言程序设计考点整理
  15. denoiser插件_最新版AE/PR红巨人调色降噪插件合集 Magic Bullet Suite 13.0.9 Win/Mac
  16. netty权威指南---编解码技术
  17. linux怎么查看安装杀毒软件,linux杀毒软件clamav安装与使用
  18. 机试评判系统评判提交程序后返回结果详细说明
  19. WPS格式转换PPT格式小技巧
  20. 【数据结构笔记】将两个递增的有序链表合并为一个递增的有序链表

热门文章

  1. 三维空间平面和直线的夹角计算
  2. SaaS-HRM 需求分析
  3. 前后端分离微服务管理系统项目实战SaaS-HRM项目(七)——POI报表入门
  4. 汉王考勤机管理系统服务器,汉王考勤管理系统7
  5. PDF是什么格式?如何编辑PDF文件?
  6. 有没有什么好用的pdf编辑软件?3款App轻松编辑所有PDF文件
  7. 基于差分进化算法的函数寻优算法
  8. 蜂鸟处理器+OV5640摄像头模块开发
  9. 一天入门51单片机教程
  10. Android SDK 环境变量配置