数字电路之布尔代数与逻辑化简

布尔运算是逻辑门的基础,逻辑门和布尔代数的定律构成了数字电路的基础。本文的目的是对布尔表达式进行化简,化简的目的是在实际电路中使用更少的逻辑门。一个逻辑电路有三种表达方式,分别是布尔表达式,真值表,以及卡诺图。真值表最直观,卡诺图适合化简,布尔表达式适合运算。布尔表达式,真值表,卡诺图相互之间可以转换。

思维导图

在这里插入图片描述

布尔运算

先看一个小例子:图左为开关串联电路,只有在开关A和B都同时闭合的情况下,小灯泡才会亮;图右为开关并联电路,当开关A和开关B至少有一个闭合时,小灯泡就会亮,这种逻辑关系成为布尔运算。布尔运算是一切逻辑的本质。
图一 并联电路与串联电路
布尔加法

布尔乘法
在这里插入图片描述
布尔非运算
0 ˉ = 1 \bar{0}=1 0ˉ=1
1 ˉ = 0 \bar{1}=0 1ˉ=0

布尔代数定律

交换律 A +B = B + A AB=BA
结合律 (A+ B)+C=A+(B+C) (AB)C=A(BC)
分配律 A(B+C)=AB+BC
好不夸张的说,掌握了布尔运算与布尔代数定律就掌握了数字电路。因为接下来所有的逻辑化简必须遵从以上两点。

布尔代数常用基本法则

A + 0 = A A+0=A A+0=A A + 1 = 1 A+1=1 A+1=1
A ⋅ 0 = 0 A·0=0 A0=0 A ⋅ 1 = A A·1=A A1=A
A + A = A A+A=A A+A=A A + A ˉ = 1 A+\bar{A}=1 A+Aˉ=1
A . A = A A.A=A A.A=A A . A ˉ = 0 A.\bar{A}=0 A.Aˉ=0
A ˉ ˉ = A \bar{\bar{A}}=A Aˉˉ=A A + A B = A A+AB=A A+AB=A
A + A ˉ B = A + B A+\bar{A}B = A+B A+AˉB=A+B ( A + B ) ( A + C ) = A + B C (A+B)(A+C)=A+BC (A+B)(A+C)=A+BC

推导 ① A + A B = A ( 1 + B ) = A A+AB=A(1+B)=A A+AB=A(1+B)=A
推导 ② A + A ˉ B = A + A B + A ˉ B = A + ( A + A ˉ ) B = A + B A+\bar{A}B=A+AB+\bar{A}B=A+(A+\bar{A})B=A+B A+AˉB=A+AB+AˉB=A+(A+Aˉ)B=A+B
推导 ③ ( A + B ) ( A + C ) = A A + A C + A B + B C = A + A C + A B + B C = A + A B + B C = A + B C (A+B)(A+C)=AA+AC+AB+BC=A+AC+AB+BC=A+AB+BC=A+BC (A+B)(A+C)=AA+AC+AB+BC=A+AC+AB+BC=A+AB+BC=A+BC

狄摩根定理

狄摩根第一定理: X Y ˉ = X ˉ + Y ˉ \bar{XY}=\bar{X}+\bar{Y} XYˉ=Xˉ+Yˉ
狄摩根第二定理: ( X + Y ) ˉ = X ˉ Y ˉ \bar{(X+Y)}=\bar{X}\bar{Y} (X+Y)ˉ=XˉYˉ
狄摩根定理的意义在于将与运算和或运算联系在一起

布尔表达式的标准形式

由于狄摩根定理的存在,任何与运算都可以转换成或运算,任何或运算都可以转成与运算。任何布尔表达式都可以有以下两种标准形式。
乘积项之和一个布尔表达式用一个或门及两个或者更多的与门实现,形如 A B + B C AB+BC AB+BC
和项之乘积一个布尔表达式用一个与门及两个或者更多的或门实现,形如 ( A + B ) ( B + C ) (A+B)(B+C) (A+B)(B+C)

布尔表达式的域 一般布尔表达式的域是指该表达式所有变量的集合可以是原码或者反码的形式。例如 A B + B C AB+BC AB+BC的域是{A、B、C}。

最小项(标准乘积项)之和表达式的每个乘积项都包含该表达式域中的所有变量。
如何把乘积项之和转换成标准乘积项之和?利用法则 A + A ˉ = 1 A+\bar{A}=1 A+Aˉ=1 A . 1 = A A.1=A A.1=A将非标准项中没有包含的变量与该乘积项进行与运算,这样就产生两个标准乘积项。例如乘积项 A B AB AB缺少变量 C C C A B ( C + C ˉ ) = A B C + A B C ˉ AB(C+\bar{C})=ABC+AB\bar{C} AB(C+Cˉ)=ABC+ABCˉ
最大项(标准和项)之积表达式的每个和项都包含该表达式域中的所有变量。
如何把和项之积转成标准和项之积?需要用到三个法则,一是 A . A ˉ = 0 A.\bar{A}=0 A.Aˉ=0,二是 A + B C = ( A + B ) ( A + C ) A+BC=(A+B)(A+C) A+BC=(A+B)(A+C),三是 A + 0 = A A+0=A A+0=A。将非标准项中没有包含的变量与该和项进行或运算,这样就产生两个标准和项。例如 A + B = A + B + C . C ˉ = ( A + B + C ) ( A + B + C ˉ ) A+B=A+B+C.\bar{C}=(A+B+C)(A+B+\bar{C}) A+B=A+B+C.Cˉ=(A+B+C)(A+B+Cˉ)。通过这种方法,可以把所有的非标准和项转成标准和项。

最小项之和与最大项之积互相转换非常简单,只需要狄摩根定理就可以。

**最小项之和和最大项之积意义?**可以快速的得到布尔表达式的真值表和进行布尔表达式化简

布尔表达式和真值表

最小项之和转换成真值表 对于域中有 n n n个变量的表达式,真值表中最多可以产生 2 n 2^{n} 2n种组合。乘积项之和表达式中至少有一个乘积项为1时,表达式的结果就为1。共有哪几种组合结果可以为1,取决于最小项之和表达式中有几项乘积项。
最小项之和表达式为 A ˉ B ˉ C + A B ˉ C ˉ + A B C \bar{A}\bar{B}C+A\bar{B}\bar{C}+ABC AˉBˉC+ABˉCˉ+ABC。该域中有三个变量,真值表中只有八种组合。根据最小项之和表达式,只有三种组合的结果为1,分别是001,100和111。得到的真值表如下:
在这里插入图片描述最大项之积转成真值表 和项乘积表达式中只要有一项和项为0,表达式的结果就为0。因此,只要确定每个和项为0的条件就可以得出真值表。
和项之积表达式为 ( A + B + C ) ( A + B ˉ + C ) ( A + B ˉ + C ˉ ) ( A ˉ + B + C ˉ ) ( A ˉ + B ˉ + C ) (A+B+C)(A+\bar{B}+C)(A+\bar{B}+\bar{C})(\bar{A}+B+\bar{C})(\bar{A}+\bar{B}+C) (A+B+C)(A+Bˉ+C)(A+Bˉ+Cˉ)(Aˉ+B+Cˉ)(Aˉ+Bˉ+C)。在ABC分别为000,010,011,101和110时,表达式的结果为0。因此得到如下真值表:
在这里插入图片描述
真值表转换成最小项之和或最大项之积非常简单,只要将上面两个过程反过来就可以。

卡诺图

卡诺图的作用是化简布尔表达式,只要出现形如 A B C + A B C ˉ ABC+AB\bar{C} ABC+ABCˉ的组合,就把 C C C消去。就像消消乐一样。

三变量卡诺图
四变量卡诺图
在这里插入图片描述五变量卡诺图
在这里插入图片描述
观察卡诺图的横轴和纵轴,会发现变量是按照00,01,11,10形式排列的,这么做的好处是易于化简,采用的准则是 A + A ˉ = 1 A+\bar{A}=1 A+Aˉ=1。例如 A B C + A B C ˉ ABC+AB\bar{C} ABC+ABCˉ可以化简为 A B ( C + C ˉ ) AB(C+\bar{C}) AB(C+Cˉ)。两个乘积项在卡诺图中处在相邻的两个小方块中。

最小项之和的卡诺图映射
在这里插入图片描述对于一些无效的组合,即在实际情况中并不会发生的变量组合,在卡诺图上可以当成无关项来处理。无关项可以是0也可以是1,用X来表示。

卡诺图化简
化简的基本目的是:圈尽可能的大, 组尽可能的小
1、一个小组只能含 2 n 2^{n} 2n个小方格,1、2、4、8、16等。必须是2的幂次方。
2、小组中的小方格必须与相同组内一个或多个小方格相邻,并允许跨边界。但小组中的所有小方格不一定互相连接;
3、卡诺图中的每个标1的小方格必须包含在至少一个组内。允许小组内小方格重叠
对于有无关项的卡诺图,可以将无关项当成1以获得一个最大的组,也可以当成0。组越大,得到的乘积项越简单。

  • 38
    点赞
  • 192
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
计算概论 第一讲 计算机的基本原理 计算机的理论模型——图灵机 从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理 计算机为什么能计算? 数的二进制表示 二进制数的布尔运算 已解问题:数的表示 二进制. 待解问题:如何进行计算? 计算机中数的逻辑运算方法 布尔代数 1854年:布尔发表《思 维规律的研究——逻辑 与概率的数学理论基 础》,并综合其另一篇 文章《逻辑的数学分 析》,创立了一门全新 的学科-布尔代数; 为计算机的开关电路设 计提供了重要的数学方 法和理论基础。 英国数学家布尔(G.Boole) 计算机中数的逻辑运算方法 基本逻辑运算 与 或 非 复合逻辑运算 同或 异或 与非 或非 与或非 英国数学家布尔(G.Boole) 计算机中数的逻辑运算方法 F R E A B 逻辑函数表达式:F= A B 真值表 A B F 0 0 0 0 1 0 1 0 0 1 1 1 B 计算机中数的逻辑运算方法 F A R E 逻辑函数表达式:F= A+B F 0 1 1 1 A 0 0 1 1 B 0 1 0 1 真值表 计算机中数的逻辑运算方法 逻辑函数表达式:F= A+B E A R F 1 0 0 1 F A 真值表 AB F1 F2 00 0 1 01 1 0 10 1 0 11 0 1 计算机中数的逻辑运算方法 真值表 异或 两数相同为"0" 两数相异为"1" 同或 两数相同为"1" 两数相异为"0" F = A B F = A B 加法的计算 举例:A=1101, B=1001, 求 A+B 1 1 0 1 + 1 0 0 1 1 0 0 1 1 0 1 1 0 加法的计算 举例:A=1101, B=1001, 求 A+B 异或 与 A B 本位 进位 1 + 1 1 + 0 1 0 1 1 + 1 0 0 1 1 + 0 0 1 1854年的布尔代数 半 加 器 半 加 器 或 an bn cn -1 sn cn Scn-1 an---加数;bn---被加数;cn-1---低位的进位 sn---本位和;cn---进位 1 1 0 1 + 1 0 0 1 1 0 0 1 1 0 1 1 0 已解问题:数的表示 —— 二进制. 已解问题:计算方法 —— 布尔代数 待解问题:布尔运算如何实现? 1854年的布尔代数 与门 或门 异或门 小结 电路为什么能计算? 数字运算 可以转换 二进制数的运算; 二进制运算 可以转换为 基本的"布尔运算" ; 基本的"布尔运算" 都可以 由电路完成; 所以电路能"算数"! CPU 计算机的过去、现在 和 未来 下集预告 Thanks. 计算概论 第一讲 计算机的基本原理 计算机的理论模型——图灵机 从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理 计算机为什么能计算? 数的二进制表示 二进制数的布尔运算 计算机的理论模型——图灵机 本节内容 图灵机的构成 运作机理 示例 图灵机的意义 前节回顾 三次数学危机 图灵的贡献 提到了"图灵机" 图灵机的构成 图灵机的组成 一条存储带 双向无限延长 上有一个个小方格 每个小方格可存储一个数字/ 字母 一个控制器 可以存储当前自身的状态; 包含一个读写头,可以读、 写、更改存储带上每一格的 数字/字母 可以根据读到的字母/数字变 换自身的状态 可以沿着存储带一格一格地 左移/右移 图灵机如何工作 图灵机的工作步骤: 1. 准备: (1)存储带上符号初始化; (2)控制器设置好自身当前状态; (3)读写头置于起始位置; (4)准备好工作程序; 2. 反复执行以下工作直到停机: (1)读写头读出存储带上当前方格中 的字母/数字; (2)根据 自身当前状态 和 所读到的 字符,找到相应的程序语句; (3)根据 相应程序语句,做三个动作: 在当前存储带方格上写入一个相 应的字母/数字; 变更自身状态至新状态; 读写头向左或向右移一步; 1 1 1 1 1 1 1 q1 q1 q2 q2 q3 q3 1 b 1 b 1 b 1 1 1 b b b R R R L H H q1 q2 q2 q3 q3 q3 当前状态:q1 q1 1 1 R q1 当 前 机 器 状 态 当 前 读 入 的 符 合 当 前 应 写 入 的 符 号 读 写 头 的 动 作 机 器 应 转 入 的 状 态 图灵机运行前的准备工作: (1)存储带上符号初始化; 当前字母表:{ 1,b } (2)设置好控制器当前状态; 控制器状态集合: { q1, q2, q3 } 控制器当前状态:q1 (3)读写头置于起始位置; (4)准备好工作程序; 图灵机程序五元组: <q, b, a, m, q'> 1 1 1 1 1 1 1 q1 q1 q2 q2 q3 q3 1 b 1 b 1
芯片对应的英文单词是chip,仔细推敲,这个翻译完全符合“信,达,雅”标准。“芯”原意是草木的中心部分,引申为事物的中心部分,“片”的意思是平而薄的物体,芯片组合在一起表示电路板上的重要元件chip。电子技术分为模拟电路和数字电路,国内模拟电路技术发展较早且很成熟,数字电路技术发展较晚,21世纪以来,数字电路技术迅速发展,本文主要讲数字电路技术的背景知识。关于信号可以分为物理信号,模拟信号,数字信号。人类可以感受到物理信号,例如能听到声音是声波进入耳朵(其实生物感知过程非常复杂,也涉及到电信号在细胞中传递,这里不深究),计算机只能处理电信号,物理信号通过传感器可以变成电信号,这时的电信号是模拟信号,其信号大小随时间连续变化,经过A/D转换器(Analog/Digital)就可以转为数字信号。数字信号在计算机中被处理后,经过D/A转换器转换为模拟信号,模拟信号经过执行器重新转为物理信号,就可以被人类感知。A/D转换器包括采样(Sampling)和量化(QuanTIzaTIon),采样是在时间上离散化,量化是在幅度上离散化,数字信号只取有限个值,再将有限个值转化成二进制,被计算机识别。学习数字电路之前需要复习下逻辑代数,也叫布尔代数逻辑代数是一种用于描述客观事物逻辑关系的数学方法,由英国科学家乔治。布尔于19世纪中叶提出,逻辑代数拥有一整套运算规则,包括公理,定理和定律。20世纪30年代,MIT的香农在硕士毕业论文中将布尔代数应用于数字电路领域,从而奠定了逻辑代数成为数字电路设计的理论基础。
数字逻辑基础与Verilog设计PDF是一本非常优秀的教材,它主要介绍了数字逻辑的基础知识和Verilog语言的使用方法,对于学习数字电路和数字系统设计的学生或工程师来说都非常有参考价值。 这本教材首先介绍了数字系统基础知识,包括二进制、布尔代数逻辑门和逻辑电路等。通过这些知识的学习,读者可以了解数字系统所涉及的基本概念和原理,为后续的学习提供了理论基础。 其次,本教材系统讲解了Verilog语言的使用方法。Verilog是一种硬件描述语言,它可以使用结构化方法描述数字系统的各个部分,在数字电路设计和验证中有非常广泛的应用。该教材通过实例详细介绍了Verilog的语法、数据类型、操作符、模块化设计、时序控制等,为读者提供了很好的学习材料和实践指导。 此外,该教材还介绍了数字系统的设计流程和方法,包括状态机设计、时序电路设计和数字信号处理等。读者可以了解到数字系统在实际应用中的设计和开发过程,为未来从事数字电路设计和数字系统开发的工程师提供了宝贵的经验和启示。 总的来说,数字逻辑基础与Verilog设计PDF是一本非常优秀的教材,它既涵盖了数字系统基础知识,也详细介绍了Verilog语言的使用方法和数字系统的设计流程。对于学生和工程师来说,这本教材都是非常有益的参考书,并且可以在实践中得到巩固和提升。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值