卡诺图之间的运算(拓展应用)

news2025/1/25 9:17:09

文章目录

    • 1.卡诺图运算的基本规律
      • ⑴卡诺图之间的或运算
      • ⑵卡诺图之间的与运算
      • ⑶卡诺图之间的异或和同或运算
    • 2.利用卡诺图进行运算(并化简)
    • 3.特殊卡诺图与卡诺图模块化
      • ⑴异或逻辑函数的卡诺图
      • ⑵同或逻辑函数的卡诺图
      • ⑶卡诺图的模块化
    • 4.可能的题型(解决问题的思路)
    • 挑战★★★★★

利用卡诺图进行运算,可以一次性完成逻辑运算和函数化简,有时在电路设计上也能带来便利。

1.卡诺图运算的基本规律

逻辑代数的基本规律和卡诺图自身特点决定了卡诺图运算结果也具有一定的规律性,例如求反函数,只需要将原函数卡诺图中的0和1互换即可。此外,可利用卡诺图便捷地进行或运算、与运算、异或和同或运算。

⑴卡诺图之间的或运算

F 1 = Σ m i ( 1 ) F_1=\Sigma m_{i}^{(1)} F1=Σmi(1) F 2 = Σ m j ( 2 ) F_2=\Sigma m_{j}^{(2)} F2=Σmj(2) F 1 F_1 F1的卡诺图如图1所示, F 2 F_2 F2的卡诺图如图2所示,则由或运算符合交换律的性质, F = F 1 + F 2 F=F_1+F_2 F=F1+F2的卡诺图如图3所示, F F F的卡诺图中,每一方格的最小项为 F 1 F_1 F1 F 2 F_2 F2卡诺图相应最小项相加,即 m i = m i ( 1 ) + m i ( 2 ) m_i=m_{i}^{(1)}+m_{i}^{(2)} mi=mi(1)+mi(2)

在这里插入图片描述

图1

在这里插入图片描述

图2

在这里插入图片描述

图3

⑵卡诺图之间的与运算

F 1 F_1 F1 F 2 F_2 F2同上,卡诺图如图1和图2所示,由最小项的性质, n n n变量所有最小项中,任何两个不同最小项之积为零,且任何逻辑变量与自身相与还是自身,所以, F = F 1 ⋅ F 2 F=F_1\cdot F_2 F=F1F2的卡诺图如图4所示, F F F的卡诺图中,每一方格的最小项为 F 1 F_1 F1 F 2 F_2 F2卡诺图相应最小项相与,即 m i = m i ( 1 ) ⋅ m i ( 2 ) m_i=m_{i}^{(1)}\cdot m_{i}^{(2)} mi=mi(1)mi(2)

在这里插入图片描述

图4

⑶卡诺图之间的异或和同或运算

异或和同或互反,所以二者的运算规律是一样的,仅以异或为例说明。

F 1 F_1 F1 F 2 F_2 F2同上,卡诺图如图1和图2所示,因 F = F 1 ⊕ F 2 = F 1 F ‾ 2 + F ‾ 1 F 2 F=F_1\oplus F_2=F_1\overline{F}_2+\overline{F}_1F_2 F=F1F2=F1F2+F1F2,则由逻辑非、与运算和或运算的规律, F = F 1 ⊕ F 2 F=F_1\oplus F_2 F=F1F2的卡诺图如图5所示, F F F的卡诺图中,每一方格的最小项为 F 1 F_1 F1 F 2 F_2 F2卡诺图相应最小项求异或运算,即 m i = m i ( 1 ) ⊕ m i ( 2 ) m_i=m_{i}^{(1)}\oplus m_{i}^{(2)} mi=mi(1)mi(2)

在这里插入图片描述

图5

2.利用卡诺图进行运算(并化简)

按照上述规律,将某逻辑运算化为两个卡诺图之间的运算,既完成了运算,也即时实现了化简。

题1 用卡诺图化简下列函数:
F = ( A ˉ ⋅ B ˉ C + A ˉ B C ˉ + A C ) ( A B ˉ ⋅ C ˉ D + A ˉ B C + C D ) F=(\bar{A}\cdot \bar{B}C+\bar{A}B\bar{C}+AC)(A\bar{B}\cdot \bar{C}D+\bar{A}BC+CD) F=(AˉBˉC+AˉBCˉ+AC)(ABˉCˉD+AˉBC+CD)
解析:这道题用代数法直接做也可,这里作为卡诺图运算过程的示例。设 F 1 = A ˉ ⋅ B ˉ C + A ˉ B C ˉ + A C F_1=\bar{A}\cdot \bar{B}C+\bar{A}B\bar{C}+AC F1=AˉBˉC+AˉBCˉ+AC F 2 = A B ˉ ⋅ C ˉ D + A ˉ B C + C D F_2=A\bar{B}\cdot \bar{C}D+\bar{A}BC+CD F2=ABˉCˉD+AˉBC+CD,卡诺图分别为图6(按四变量)和图7。

在这里插入图片描述

图6

在这里插入图片描述

图7

F = F 1 ⋅ F 2 F=F_1\cdot F_2 F=F1F2的卡诺图如图8所示,化简得运算结果为
F = A C D + B ‾ C D F=ACD+\overline{B}CD F=ACD+BCD

在这里插入图片描述

图8

题2 化简下列函数为最简与或式:
F = ( A ˉ ⋅ C ˉ ⋅ D ˉ + B ˉ ⋅ D ˉ + B D ) ⊕ ( A ˉ B D ˉ + B ˉ D + B C D ˉ ) F=(\bar{A}\cdot \bar{C}\cdot \bar{D}+\bar{B}\cdot \bar{D}+BD)\oplus (\bar{A}B\bar{D}+\bar{B}D+BC\bar{D}) F=(AˉCˉDˉ+BˉDˉ+BD)(AˉBDˉ+BˉD+BCDˉ)
解析:直接运算过程非常复杂,采用卡诺图运算,设 F 1 = A ˉ ⋅ C ˉ ⋅ D ˉ + B ˉ ⋅ D ˉ + B D F_1=\bar{A}\cdot \bar{C}\cdot \bar{D}+\bar{B}\cdot \bar{D}+BD F1=AˉCˉDˉ+BˉDˉ+BD F 2 = A ˉ B D ˉ + B ˉ D + B C D ˉ F_2=\bar{A}B\bar{D}+\bar{B}D+BC\bar{D} F2=AˉBDˉ+BˉD+BCDˉ,卡诺图分别为图9和图10。

在这里插入图片描述

图9

在这里插入图片描述

图10

根据卡诺图之间的异或运算规则, F = F 1 ⊕ F 2 F=F_1\oplus F_2 F=F1F2的卡诺图如图11所示,化简得最简与或式为
F = B C ‾ ⋅ D ‾ ‾ = B ˉ + C + D F=\overline{B\overline{C}\cdot \overline{D}}=\bar{B}+C+D F=BCD=Bˉ+C+D

在这里插入图片描述

图11

3.特殊卡诺图与卡诺图模块化

⑴异或逻辑函数的卡诺图

把二变量异或运算的结果(即不同为1,相同为0),扩展到多变量的情况,其结果为:当变量取值中有奇数个1时,异或结果为1,否则为0。例如,四变量异或运算 F ( A , B , C , D ) = A ⊕ B ⊕ C ⊕ D F(A,B,C,D)=A\oplus B\oplus C\oplus D F(A,B,C,D)=ABCD的卡诺图如图12所示。这是一个常用的特殊卡诺图,应当记住。

在这里插入图片描述

图12

⑵同或逻辑函数的卡诺图

因同或与异或互反,所以,将异或卡诺图中的0和1互换,即得四变量同或逻辑运算的卡诺图如图13所示。

在这里插入图片描述

图13

⑶卡诺图的模块化

前面学过,多变量卡诺图的逻辑相邻性直观体现为图形的对折重合,反过来说,高阶(多变量)卡诺图可由低阶卡诺图(例如二变量卡诺图)逐步镜像(对称)扩展得到。所以,我们可以把一个卡诺图“分割”成几个部分,如图14所示,这是四变量异或运算的卡诺图,可分为四个模块。把握这种模块化的方法,有助于对逻辑函数的卡诺图进行局部分析或模块化操作。

在这里插入图片描述

图14

分别分析图14中的各个模块,则左上为 A ˉ ⋅ C ˉ ( B ⊕ D ) \bar{A}\cdot \bar{C}(B\oplus D) AˉCˉ(BD),右上为 A ˉ ⋅ C ( B ⊙ D ) \bar{A}\cdot C(B\odot D) AˉC(BD),左下为 A ⋅ C ˉ ( B ⊙ D ) A\cdot \bar{C}(B\odot D) ACˉ(BD),右下为 A ⋅ C ( B ⊕ D ) A\cdot C(B\oplus D) AC(BD),四个模块相加结果为 A ⊕ C ⊕ B ⊕ D A\oplus C\oplus B\oplus D ACBD

4.可能的题型(解决问题的思路)

基于卡诺图之间的运算解决问题,可能的题型有:

①实现复杂的逻辑运算或逻辑函数的化简,例如上文的题1和题2。

②利用卡诺图的模块化特点进行分割,进而利用卡诺图之间的运算实现特定要求的逻辑运算或逻辑电路设计。

挑战★★★★★

题3 用门电路实现下列函数,要求不超过6个门电路单元:
F ( A , B , C , D ) = Σ m ( 2 , 7 , 8 , 11 , 13 , 14 ) F(A,B,C,D)=\Sigma m(2,7,8,11,13,14) F(A,B,C,D)=Σm(2,7,8,11,13,14)
解析:本题的理想解决方案之一为
F ( A , B , C , D ) = A F 1 ‾ ⋅ C F 1 ‾ ‾ F(A,B,C,D)=\overline{\overline{AF_1}\cdot \overline{CF_1}} F(A,B,C,D)=AF1CF1
其中, F 1 = A ⊕ B ⊕ C ⊕ D F_1=A\oplus B\oplus C\oplus D F1=ABCD

在这里插入图片描述

图15

此设计可使用四输入异或门,亦可使用二输入异或门,均不超过6个门电路单元(如图15所示),符合题意,详见下方公众号视频解析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1474306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 JMeter 生成测试数据对 MySQL 进行压力测试

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

3分钟看懂设计模式02:观察者模式

一、什么是观察者模式 观察者模式又叫做发布-订阅模式或者源-监视器模式。 结合它的各种别名大概就可以明白这种模式是做什么的。 其实就是观察与被观察,一个对象(被观察者)的状态改变会被通知到观察者,并根据通知产生各自的不…

二 线性代数-向量

1、向量的表示方法: 其中的 i、j、k是坐标轴方向的单位向量。 2、向量的模: 用坐标计算的方法: 3、向量的运算: 3.1 向量的加法减法: 3.2 向量的数乘: 拉格朗日乘数法的 基础 公式。 3.3 向量的数量积&a…

conda 导出/导出配置好的虚拟环境

一. 导出环境配置(yml文件) 1. 在主目录下激活虚拟环境(UE4是我的虚拟环境名称,请根据你自己的名称进行修改) conda activate UE4 2. 运行此代码 conda env export > environment.yml 二. 导入环境配置&#xf…

oracle官网下载早期jdk版本

Java Downloads | Oracle JDK Builds from Oracle 以上压缩版,以下安装版 Java Downloads | Oracle 该链接往下拉能看到jdk8和jdk11的安装版 -- end

每日一题 — 移动零

力扣链接:283. 移动零 - 力扣(LeetCode) 思路:利用双指针将数组分为三个区间,三个区间分别表示的是:非0元素、0、待处理元素 当arr[cur] ! 0时 [0,dest]区间就需要加一,所以dest 然后再交换a…

Java SpringBoot 获取 yml properties 自定义配置信息

Java SpringBoot 获取 yml properties 自定义配置信息 application.yml server:port: 9090servlet:context-path: /app第一种方法 HelloController package com.zhong.demo01.controller;import org.springframework.beans.factory.annotation.Value; import org.springfram…

Python字符串切片操作原来这么简单!

字符串切片是Python中用于从字符串中提取子串的强大工具。通过指定开始和结束下标,以及可选的步长参数,可以轻松地截取字符串的一部分。 1.字符串切片原理 从字符串中复制指定的一段代码,生成一个新的字符串 2.字符串切片语法 字符串[开始…

2018-02-14 新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】

2018-02-14新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】资源-CSDN文库https://download.csdn.net/download/liuzhuchen/88878591爬虫过的站点: 1QQ新闻 1,准备爬取滚动新闻页面 2 通过F12 开发工具查找发现&#xff…

Linux配置JDk环境

下载jdk 官网地址:Java Downloads | Oracle 将下载的jdk上传到服务器 不管你使用什么工具和方法,只要将安装包上传到服务器就可以了 解压文件 tar -xvf jdk-8u341-linux-x64.tar.gz 配置环境变量 用vim /etc/profile进入编辑状态,加入下边…

python中的数字类型Number

Python 数字(Number) Python 数字数据类型用于存储数值。 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。 以下实例在变量赋值时 Number 对象将被创建: var1 1 var2 10Python 支持三种不同的数值类型…

2024年阿里云服务器新购、续费、升级优惠政策汇集!

2024年阿里云服务器购买、续费、升级优惠政策整理,阿里云服务器优惠价格表:轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价…

【开源】使用opencv进行交互式抠图,让你开发效率翻倍

这是一个简单的交互式图像分割应用程序,由python opencv和pyqt编写。 这个应用程序在opencv中应用Grabcut算法对图像进行抠图。Grabcut是Graphcut算法的改进版本。查看这些论文(paper1, paper2)了解详细信息~~ gui部分主要来自这个伟大的工作labelImg。这是一个非常…

【报错处理】命令提示符安装npm install yarn -g失败两种解决方法

目录 方法1:方法2: 方法1: 等待两分钟后发现总是显示如下报错: 在搜索栏搜索命令提示符,将命令提示符以管理员身份运行,如果弹出窗口选择“是”。 3.接着输入命令,结果还是报错,方…

【手机端测试】adb基础命令

一、什么是adb adb(Android Debug Bridge)是android sdk的一个工具 adb是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。 Android的初衷是用adb这样的一个工具来协助开发人…

某电力铁塔安全监测预警系统案例分享

项目概述 电力铁塔是承载电力供应的重要设施,它的安全性需要得到可靠的保障。但是铁塔一般安装在户外,分布广泛,且有很多安装在偏远地区,容易受到自然、人力的影响和破环。因此需要使用辅助的方法实时监控铁塔的安全状态&#xff…

(十八)devops持续集成开发——使用docker安装部署jenkins服务

前言 本节内容介绍如何使用docker容器来部署安装jenkins流水线服务。关于docker容器的安装本节内容不做介绍。请读者提前安装。 正文 ①使用docker查找jenkins官方镜像 ② 拉取jenkins官方镜像jenkins/jenkins,选择一个最新稳定版本,避免一些插件不兼…

ThreadLocal 使用示例

ThreadLocal 使用示例 public class BaseContext {private static ThreadLocal<Long> threadLocal new ThreadLocal<>();/*** 设置值* param id*/public static void setCurrentId(Long id){threadLocal.set(id);}/*** 获取值* return*/public static Long getCur…

LabVIEW光伏逆变器低电压穿越能力测试

LabVIEW光伏逆变器低电压穿越能力测试 随着光伏发电技术的迅速发展&#xff0c;光伏逆变器的低电压穿越&#xff08;LVRT&#xff09;能力日益成为影响电网稳定性的关键因素。为了提升光伏逆变器的并网性能&#xff0c;开发了一套基于LabVIEW的光伏逆变器LVRT测试系统。该系统…

数据结构知识点总结-绪论 数据结构基本术语 算法及评价

要求 (1)对数据结构这么课学了哪些知识有个清楚的认知; (2)掌握目录结构,能复述出来每个知识点下都有哪些内容。 如下图所示,可自行制作思维导图,针对自己薄弱的地方进行复习。 绪论 相关术语 绪论中会介绍数据结构的一些基本概念,要对数据模型有基本的了解。 数据…