数字电路学习 一

第二章 逻辑代数

第一个知识点 逻辑代数中的三种基本运算

常见的复合逻辑运算有与非 或非  与或非  异或  同或

二  逻辑代数基本公式和常用公式

若干常用公式

逻辑代数的基本定理

1 代入定理

将一个式子比如A = b+c 可在表达式中有遇到A的地方都可以用b+c替换

2 反演定理

对于任意一个逻辑式y
如果将其中所有的"."换成"+","+"换成"."0换成1,1换成0,所有原变量换成反变量,反变量换成原变量,则得到的结果就是Y的反这个定理称为反演定理

在应用反演定理的时候需要注意

不属于单个变量上的反号应当保持不变

3 对偶定理

如果两个逻辑式相等则他们的对偶式也相等这就是对偶定理

对于任何一个逻辑式Y 如果将他的"."换成"+","+"换成".",0换成1,1换成0,则得到一个新的逻辑式这个逻辑式为原表达式的对偶式

证明两个式子相等也可以证明两个对偶式相等

逻辑函数及表示方法

1 逻辑函数

输入变量和输出结果之间存在某种函数关系这种关系成为逻辑函数

Y = F(A,B,C)

逻辑函数的表示方法

1 真值表

将输入变量所有的取值下对应的输出值找出来,列成表,即可得到真值表 ,如下表

逻辑函数

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

逻辑图

将各个变量之间的关系用逻辑符号表示出变量的关系

波形图

将逻辑函数中每一个变量的取值,与之对应的输出变量按时间顺序排列起来,就得到该逻辑函数的波形图,这种波形图也称为时序图

各种表示方法的互换

真值表和逻辑函数的互换

总结上面的过程列出由真值表得到逻辑函数的方法如下

1 找出真值表中,使逻辑函数Y= 1那些输入变量取值的组合

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

3 将这些乘积项相加

逻辑式列出真值表

将逻辑式中变量的所有取值状态和输出结果列成表格的形式称为真值表

逻辑函数和逻辑图的转换

将逻辑表达式转换为逻辑图时需要将连接逻辑变量的符号按照先后顺序,和变量的关系将逻辑变量符号转换为逻辑标号

反过来则得到逻辑图

波形图和真值表的转换

这里暂时空缺

逻辑函数两种标准形式

1 最小项

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

最小项编号

以三变量为例

我们把变量的取值的所有组合由小到大排序,这样由小到大的每一个数会对应一个十进制数字我们就在m和这个十进制的组合当成最小项的标号如

最小项有如下特点

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

全体最小项的和为1

具有相邻两个最小项之和可以合并成一项,消除一对因子

若两个最小项只有一个因子不同,则称这两个最小项相邻

逻辑函数最小项之和形式

 首先将给定函数化为,若干项乘积项之和的形式,然后在利用基本公司A+A‘ = 1
将每个乘积项中的因子补全,这样就可以将与或的形式,化为最小项标准之和的形式,

逻辑函数形式变换

逻辑函数化简方法

1 公式法化简

逻辑函数最简式

包含乘积项最少,而且每个乘积项里的因子也不能在减少,则称此逻辑函数为最简式子

1 并项法  AB+AB‘ = A

2 吸收法  A+AB = A

3 消项法 AB +A‘C + BCD = AB + A‘C

4 消因子法  A +A‘B = A +B

5 配项法 利用 A+A = A      A+A‘ = 1

卡诺图化简法

1 逻辑函数卡诺图表示方法

把表达式中所有最小项以逻辑相邻的形式和几何相邻的形式连接起来就构成卡诺图

用卡诺图表示逻辑函数

当我们拿到某个逻辑函数时候

第一步应该将逻辑函数化为最小项之和的形式

第二步根据变量的个数画出卡诺图

第三步 填充卡诺图

如果是已知卡诺图求表达式

第一步 找出卡诺图中所有1的项

第二步  将为1的项中为0的变量以反变量形式表示,为1的变量以原变量的形式表示,把每一项中的变量以与的形式组合起来

第三步  将第二步的所有与的组合式在以或的形式组合起来

用卡诺图化简逻辑函数

化简基本原理

   具有相邻最小项可以合并,并消去不同因子。

  1 合并最小项原则

如果相邻的因子合并后只剩下公共因子

在组成合并项的时候只能以2个4个6个8个项一起合并

卡诺图化简步骤

1 将函数化简为最小项之和的形式

2 画出表示该函数的卡诺图

3 找出卡诺图的相邻项

4 选取化简后的乘积项

化简卡诺图中的0先求出Y‘的化简结果,然后在将Y’求反而得到Y

具有无关项的逻辑函数及其简化

约束项,任意项,和逻辑函数中的无关项

约束变量表示符合某种特定条件的的变量,比如自然数

数字电路学习 一,布布扣,bubuko.com

时间: 2024-10-27 12:23:39

数字电路学习 一的相关文章

当推理不需要逻辑能力,也兼 学习离散数学或数字电路有什么用处

1.智力测验,逻辑题,鸡兔同笼,一元二次方程 有一类智力测验题,会问到"甲说丙说的是假话,乙说甲在瞎说"什么的:还有类似这样的,"凯特是你的秘书,问是不是办公室里至少有一个人长发及腰".得分高的,就被评为智商高,或者逻辑能力强. 这种题目所涵盖的智商 (如果能够有所涵盖的话)是非常狭窄的,不包括音乐.美术.语言等很多方面.所以,我认为这种题目啥也不代表.而且,我曾经吹过牛,说这种题目与逻辑推理能力无关.有人不信,今天我证明给你看. 我们先明确一个边界,什么能够算作智

Neural Networks and Deep Learning学习笔记ch1 - 神经网络

近期開始看一些深度学习的资料.想学习一下深度学习的基础知识.找到了一个比較好的tutorial,Neural Networks and Deep Learning,认真看完了之后觉得收获还是非常多的.从最主要的感知机開始讲起.到后来使用logistic函数作为激活函数的sigmoid neuron,和非常多其它如今深度学习中常使用的trick. 把深度学习的一个发展过程讲得非常清楚,并且还有非常多源代码和实验帮助理解.看完了整个tutorial后打算再又一次梳理一遍,来写点总结.以后再看其它资料

20145317《信息安全系统设计基础》第六周学习总结(1)

20145317<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. Y86程序中的每条指令都会读取或修改处理器状态的某些部分.Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. 注意:条件

关于嵌入式如何学习(看了不后悔,给学技术的同行一条光明的路)

关于嵌入式如何学习,我相信有很多大牛回答得很专业,最近在知乎上看到一网名为----李brooks,~的网友对此进行了总结,我个人觉得非常好,还有其他两位网友li crifan和Tony Ho,毕竟我工作以来也还有好多东西没有接触,就有他说的那些中的部分内容,我们来看看他们说了什么内容: 有一位大学生四年级的网友提出这样的问题: 本人大四学生,专业为电气类的,有C语言,单片机,模电,数电的基础,一直想从事嵌入式方面的工作(感兴趣),但是以目前的水平,暂时还不能找到这方面的工作,所以一直在纠结是先找

学习FPGA100个值得注意的要点(转载)

1.FPGA不是编程语言,而是一种可综合的硬件描述语言.2.Verilog 支持两种进程initial和always进程3.阻塞与非阻塞指的相对于进程本身而言的.4.使用进程模块的电路类型:                       组合电路-----对组合逻辑中使用的所有输入敏感                      例子:                      [email protected](a or b or sel)                      时序电路---

20145222《信息安全系统设计基础》第六周学习总结(1)

20145222<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 · Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. · Y86程序中的每条指令都会读取或修改处理器状态的某些部分.· Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) · Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状

如何学习离散数学和在计算机科学中应用

引言 离散数学的定义及其在各学科领域的重要作用.离散数学(Discrete mathematics)是研究离散量的结构及其相互关系的数学学科,是现代数学的一个重要分支.它在各学科领域,特别在计算机科学与技术领域有着广泛的应用,同时离散数学也是计算机专业的许多专业课程,如程序设计语言.数据结构.操作系统.编译技术.人工智能.数据库.算法设计与分析.理论计算机科学基础等必不可少的先行课程.通过离散数学的学习,不但可以掌握处理离散结构的描述工具和方法,为后续课程的学习创造条件,而且可以提高抽象思维和严

大学的计算机专业学生怎么学习

现在到大学基本上都是上了十几年学,不说是学习老手,也是应试老手了,但是大学越上越不会考试了,更不会学习了,面对计算机专业这个对专业要求很高的专业,得想想怎么学习,怎么面对快速发展的技术,很多人说讲究效率,但是效率怎么产生,得有策略,十几年的学只是教会了我们怎么考试,但是没有教会我们怎么学习,特别是怎么自学,在大学三年,慢慢就发现现在学的不是学习,而是怎么学习,在这个技术快速更新的专业,学会学习,才是立命之本. 就拿我们学校专业课程来说,我总结了一下路线,基本上就是那么几种: 1.软件开发 2.a

深入浅出安卓学习相关知识,如何从零学好移动开发

原文发表自我的个人主页,欢迎大家访问 http://purplesword.info/mobile-develop 由于近几年来互联网的飞速发展,安卓和iOS平台的大量普及推广,移动开发在当前是非常热门的一个方向. 有不少同学问我如何学习安卓,要学些什么,难不难学.之前一直没有想好应该怎么回答这个问题,只是简单的说安卓自身门槛不高,并不难学.因为我觉得准确回答一个类似这样的问题往往需要灵感.现在根据我的学习体验,做个大概的总结. 1.我为什么学安卓 我从刚开始接触安卓开发到现在也有两三年的时间了