数电学习笔记——逻辑函数及其描述方法

2024-03-01 20:20

本文主要是介绍数电学习笔记——逻辑函数及其描述方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、逻辑函数

二、逻辑函数的描述方法

1、逻辑真值表

2、逻辑函数式

3、逻辑图

4、波形图

三、逻辑函数的两种标准形式

1、最小项与最大项

最小项

最小项的性质

最大项

最大项的性质

2、最大项与最小项的关系

3、逻辑函数的最小项之和形式

4、逻辑函数的最大项之和形式


一、逻辑函数

以逻辑变量作为输入,以运算结果作为输出,那么当输入确定时,输出也就确定下来了。这是一种函数关系,称为逻辑函数,其写作Y=F(A,B,C,...)

由于该函数的输入与输出只有0/1两种状态,所以它是二值逻辑函数。

二、逻辑函数的描述方法

1、逻辑真值表

此方法不作赘述,在之前的文章已经提到多次。

2、逻辑函数式

将输入与输出之间的逻辑关系式写成与、或、非等运算的组合式,即逻辑代数式,也就得到了逻辑函数式。

例如:Y=A(B+C)

3、逻辑图

将逻辑函数式中各变量之间的与、或、非等逻辑关系用图形符号表示出来,就可以画出描述函数关系的逻辑图。

例如:

图2.1 逻辑图

4、波形图

如果将逻辑函数输入变量每一种可能出现的取值与对应的输出值按时间顺序依次排序起来,就得到了描述该逻辑函数的波形图,也称时序图。

图2.2 波形图

卡诺图与硬件描述语言后面的文章再讲。

三、逻辑函数的两种标准形式

1、最小项与最大项

最小项

在n变量逻辑函数中,若m为包含n个因子的乘积项,而且这n个变量均以原变量或反变量的形式在m中出现一次,则称m为该组变量的最小项。n变量的最小项个数有 2^{n}个。

图3.1 三变量最小项的编号表

最小项是与运算,所以要使每一个因子都为1,最终值才能为1。

最小项的性质

①在输入变量的任何取值下必有一个最小项,而且仅有一个最小项的值为1;

②全体最小项之和为1;

③任意两个最小项的乘积为0;

④具有相邻性的两个最小项之和可以合并成一项并消去一对因子。

相邻性:若两个最小项只有一个因子不同,则称这两个最小项聚优品相邻性。比如A'BC'&ABC'就具有相邻性。

A'BC' + ABC' = (A+A')BC'=BC'-------------------------由公式A+A'=1得

最大项

在n变量逻辑函数中,若M为n个变量之和,而且这n个变量均以原变量或反变量的形式在M中出现一次,则称M为该组变量的最大项。

图3.2 三变量最大项的编号表

最大项的性质

①在输入变量的任何取值下必有一个最大项,而且只有一个最大项的值为0;

②全体最大项之和为0;

③任意两个最大项之和为1;

④只有一个变量不同的两个最大项的乘积等于各相同变量之和。

2、最大项与最小项的关系

M_{i}=m_{i}^{'}

3、逻辑函数的最小项之和形式

第一步:将给定的逻辑函数化成若干乘积项之和的与或形式(积之和);

第二步:利用公式A+A'=1将缺少的因子补全(凑出ABC)

例1:Y=ABC'+BC= m_{3}+m_{6}+m_{7}

也可以写作:Y(A,B,C)=Σm(3,6,7)

4、逻辑函数的最大项之和形式

第一步:将给定的逻辑函数化成若干乘积项之和的或与形式(和之积);

第二步:利用公式A·A'=0将缺少的因子补全(凑出ABC)

例2:Y=A'B+AC=(A+B+C)(A+B+C')(A'+B+C)(A'+B'+C)

也可以写作:Y(A,B,C,D)=ΠM(0,1,4,6)

若文章内容出现错误,恳请各位批评指正,感激不尽!

这篇关于数电学习笔记——逻辑函数及其描述方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763697

相关文章

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和