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

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

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法