页数:108页文件大小:1.80 MB来源: 数字电子技术ppt课件
本课件为数字电子技术课程 1-2 分册,讲述三种基本逻辑运算、布尔代数的定律与三条规则、逻辑函数的多种表示形式以及用公式法化简逻辑函数的方法,是组合与时序逻辑电路的数学基础。
本页为《数字电子技术基础》课件 1-2 分册封面,标示英文课程名称 Fundamentals of Digital Electronic Techniques、分册编号 1-2 以及授课对象 For Oceanography Dept.(海洋学系)。
数字信号为使用布尔代数实现逻辑功能提供了便捷途径。两个二进制值 1 与 0 分别表示两种相反的逻辑状态,而不是数量的大小。所有现代控制系统都采用这种方式。
对下图电路,灯泡在什么条件下点亮?
热水浴池控制器算法:当温度低于设定值(T < Tset)、且电机运转、且钥匙开关闭合时接通加热器。
本页给出该控制逻辑的可能电路原理图(110 V 加热回路由 C、B、A、T 组成)。
本页给出热水浴池控制器的真值表 Truth Table。真值表用于列出每一种可能输入组合下的输出,以电平及其对应的二进制值(如 0/1、F/T、OFF/ON 等)表示。
首先定义逻辑值:开关闭合为真(布尔 1),开关断开为假(布尔 0);加热器接通为 1,断开为 0。
代数一词源于花拉子米(约 780—850 年,巴格达)的著作,包含一组数值(如整数、实数)与一组运算(如乘法、加法)。对于二值系统,可以使用与普通代数表面相似的逻辑代数。
George Boole(1815—1864),英国数学家,逻辑代数的创始人,靠自学掌握数学知识,1849 年受聘为爱尔兰科克皇后学院教授并当选英国皇家学会会员。
布尔最大的贡献是创立了逻辑代数,为 19 世纪数学带来新的转机,并成为后来计算机理论的基础。他用数学方法研究逻辑问题,用等式表示判断,把推理看作等式的变换,成功建立起逻辑演算。他早年接受父亲教育,16 岁起开始从教并利用业余时间钻研数学,1841 年开始发表论文,1857 年当选伦敦皇家学会会员并获皇家奖章,另著有《微分方程》(1859)与《差分演算》(1860)等教材。
Claude Elwood Shannon(1916—2001):1916 年 4 月 30 日出生于美国密歇根州 Petoskey,1936 年毕业于密歇根大学并获数学与电子工程学士学位,1940 年获麻省理工学院(MIT)数学博士学位与电子工程硕士学位。1941 年加入贝尔实验室数学部工作至 1972 年,1956 年任 MIT 客座教授,1958 年成为终身教授,1978 年为名誉教授。香农博士于 2001 年 2 月 26 日去世,享年 84 岁。
布尔代数与普通代数不同,它处理只取 0、1 两个离散值的变量,运算具有逻辑含义。
布尔函数即由变量与 AND、OR、NOT 构成的布尔表达式,至少包含一个布尔变量、一个布尔运算符以及来自集合 {0,1} 的输入,其输出也属于 {0,1},且同一逻辑的表达式不唯一。
二值逻辑函数 F(vars) = expression,例如 F(a,b) = a′·b + b′,G(x,y,z) = x·(y + z′)。构成要素包括:
计算机接收输入产生输出,正如数学中的函数。数学函数可以有两种表达方式,逻辑函数也有类似的两种:
本页以多路选择器 Multiplexor 函数为例给出 s、x0、x1 与 f 的八行真值表。
任何逻辑电路无论多复杂,都可以用与、或、非三种基本布尔运算完整描述:
附加逻辑功能还有与非 NAND、或非 NOR、异或 XOR、同或 XNOR。最常用的逻辑功能在集成电路中被制成称为门 gates 的基本单元。
真值表列出函数的全部可能输入及其对应输出:n 个变量有 2n 种输入组合,且因取值只有 1 和 0,真值表本身有限且唯一。输入按二进制顺序排列,本例从 000 到 111。
以 f(x,y,z) = (x + y′)z + x′ 为例:f(0,0,0) = 1,f(0,0,1) = 1,f(0,1,0) = 1,f(0,1,1) = 1,f(1,0,0) = 0,f(1,0,1) = 1,f(1,1,0) = 0,f(1,1,1) = 1。
真值表可完整描述一个布尔运算符:
非运算 NOT 是 x 的反或补,通常用上横线表示,也可用撇号(′)或小三角符号表示:x = 0 时 z = 1,x = 1 时 z = 0。本页给出反相器 inverter 的真值表。
A·B + C 应如何理解?是先与后或,还是先或后与?布尔代数的优先级规则为:AND 优先于 OR,括号可以改变顺序或使表达式更清晰。
布尔表达式的运算顺序:
逻辑门是对电子电路元件的抽象,它对一个或多个输入信号进行运算后产生输出信号:
时序图的基本假设是信号通过门电路的传播时间为零。本页给出输入信号 A、B 在 t0 至 t6 各时刻的取值,以及 F = A·B、G = A + B、H = A′ 三个门输出信号的波形与跳变。
对与、或、非三种基本逻辑,分别给出四种表示:(a) 逻辑函数与真值表、(b) 真值表、(c) 标准门符号、(d) IEEE 方框门符号。取反指示符是一个小圆圈 bubble,出现在输入或输出端即表示反相或取补。
本页展示输入多于两个的逻辑门符号,包括多输入与门、或门、与非门与或非门等的图形表示。
本页对两种门分别给出 (a)(b) 逻辑函数与真值表、(c)(d) 标准门符号、(e) IEEE 方框门符号。
本页给出两者的逻辑函数与真值表、标准门符号及 IEEE 方框门符号。
本页并列给出逻辑门的两套符号体系:一套是传统的形状区分门电路符号,另一套是 IEEE 方框门符号,两者在国内外教材中都很常见。
任何表达式都可以用与、或、非构成,因此也可以用与非、或非、非构成,进一步可仅用与非门或者仅用或非门实现。由与非、或非分别可以构成与门和或门,单个与非门也能构成非门。
与非和或非被称为通用门 universal gates,因为它们制造成本低,且只用与非门或只用或非门就能构造出任意布尔函数。
本页展示电子逻辑门 Electronic Logic Gates 的实际器件形态与内部电路结构,说明逻辑门在集成电路中的实现形式。
本页继续展示电子逻辑门的电路实现,包括典型门电路的元件构成与外引线排列。
本页展示电子逻辑门电路的封装形式与引脚配置,说明集成门电路芯片的外特性。
四种基本门都可以在控制输入端 B 的逻辑电平控制下,使能或禁止输入信号 A 的通过与传输。
亨廷顿公设——布尔代数的基本定律:
多数布尔恒等式都同时具有与(积)形式和或(和)形式,本页以两种形式给出第一组恒等式:与 0 和 1 的运算 Operations with 0 and 1,以及求补 Complement。
本页给出第二组布尔恒等式,包括交换律、结合律与分配律等,这些恒等式在普通代数的学习中已经很熟悉,形式上也与之一致。
本页给出第三组布尔恒等式,这是最有用的一组,包括吸收律等布尔代数特有的恒等式。学习过集合论或形式逻辑的读者对这些定律同样熟悉。
下列定理可由前述公理导出:
| 或形式 | 与形式 | 定理名称 |
|---|---|---|
| x y + x y′ = x | (x + y)(x + y′) = x | 化简定理 |
| x + (x′ y) = x + y | x(x′ + y) = x y | 化简定理 |
| x y + x′ z = (x + z)(x′ + y) | (x + y)(x′ + z) = x z + x′ y | 乘开与因式分解(交叉互换) |
| xy + x′z + yz = xy + x′z | (x + y)(x′ + z)(y + z) = (x + y)(x′ + z) | 包含律定理 |
本页汇总 Useful Theorems,列出在逻辑函数代数化简中经常用到的若干补充定理,作为前面定律与定理的集中提示。
用布尔代数公理证明定理示例:
例 3:证明包含律定理 xy + x′z + yz = xy + x′z。
xy + x′z + yz = xy + x′z + (x + x′)yz = xy + x′z + xyz + x′yz = (xy + xyz) + (x′z + x′zy) = xy + x′z
本页给出利用布尔恒等式化简逻辑函数的示例,演示如何把较复杂的表达式逐步化简为更简洁的形式。
| 性质 | 异或 | 或 | 与 |
|---|---|---|---|
| 交换律 | x ⊕ y = y ⊕ x | x + y = y + x | x y = y x |
| 结合律 | x ⊕ (y ⊕ z) = (x ⊕ y) ⊕ z | x + (y + z) = (x + y) + z | x(y z) = (x y)z |
| 分配律 | x(y ⊕ z) = x y ⊕ x z | x + y z = (x + y)(x + z) | x(y + z) = x y + x z |
| 互补 | x ⊕ x′ = 1 | x + x′ = 1 | x x′ = 0 |
| 恒等 | x ⊕ 0 = x | x + 0 = x | x·1 = x |
| 支配/空律 | x ⊕ 1 = x′ | x + 1 = 1 | x·0 = 0 |
| 幂等 | x ⊕ x = 0 | x + x = x | x x = x |
| 双重取反 | x ⊕ y′ = (x ⊕ y)′ | (x′)′ = x | (x′)′ = x |
代入规则:任何一个含变量 A 的等式中,如果把出现 A 的地方都用同一个逻辑函数 F 代替,等式仍然成立。
代入规则之所以成立,是因为任何逻辑函数与任何逻辑变量一样只有 0 和 1 两种可能取值,因此可以当作一个逻辑变量对待。有了代入规则,基本定律不再受变量数目限制,应用范围大为扩展。
布尔(逻辑)代数的三条规则:代入 Substitute、对偶 Duality、反演/德摩根 inverse/DeMorgan。可以用函数代替变量。
对偶规则:把布尔表达式中的或与运算互换、0 与 1 互换(原变量保持不变)即得该表达式的对偶式;对某表达式成立的定律,对其对偶式同样成立。函数 F 的对偶记作 FD。
有时先实现某函数的补再对结果取反,比直接实现该函数更节省器件。德摩根定律为求布尔函数的补提供了简便方法。
回顾广义德摩根定理:(a + b + … z)′ = a′b′…z′,(a b … z)′ = a′ + b′ + … z′。求一个布尔函数的补时,把每个变量换成其反变量,同时把所有的与换成或、或换成与即可。本页给出相应的应用示例。
应用德摩根定律可以在两类通用门之间互相转换:
本页给出各种逻辑门和反相器的标准符号与备选符号 alternate logic-gate representations。注意:所有标准符号的输入端都不带小圆圈 bubble。
由标准符号得到备选符号的方法:
注意:标准符号的输入端都不带圆圈,而所有备选符号的输入端都带圆圈。
有效高/低 active high/low:当逻辑电路符号的某条输入或输出线上没有小圆圈时,该线称为高电平有效,否则为低电平有效。本页以此解释与非门两种符号所表达的有效电平含义。
有效高/低 active high/low:当逻辑电路符号的某条输入或输出线上没有小圆圈时,该线称为高电平有效,否则为低电平有效。本页以此解释或门两种符号所表达的有效电平含义。
为使布尔函数化简形式化,需要考虑以下内容:
布尔表达式有两种标准形式:
任何布尔式都可以用两级逻辑(与/或或或/与)实现,形式并不唯一。
与或式电路很适合用与非门实现:在电路中引入两级反相器(双重反相不改变逻辑功能),再应用德摩根定律即可把与—或结构整体转换为与非—与非结构。
或与式电路很适合用或非门实现:同样引入双重反相器,再应用德摩根定律,即可把或—与结构整体转换为或非—或非结构。
把一般电路转换为与非门电路的做法:引入双重反相器以得到与非结构,并按需要添加反相器以保持正确的极性,最后用与非门表示这些反相器。
利用真值表很容易把函数写成与或式:
这样得到的与或式还未化到最简,此处目的只是把函数改写成规范的与或形式。
任何布尔表达式都可以用真值表表示。N 个变量的真值表有 2N 行。表中 1 对应 F(A,B,C),0 对应 F′(A,B,C)。
| A | B | C | F | 最小项 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | A′B′C′ |
| 0 | 0 | 1 | 0 | A′B′C |
| 0 | 1 | 0 | 0 | A′BC′ |
| 0 | 1 | 1 | 1 | A′BC |
| 1 | 0 | 0 | 1 | AB′C′ |
| 1 | 0 | 1 | 1 | AB′C |
| 1 | 1 | 0 | 1 | ABC′ |
| 1 | 1 | 1 | 1 | ABC |
可以直接由真值表写出与或式:函数值等于所有对应输出为 1 的最小项之和。
F(A,B,C) = A′BC + AB′C′ + AB′C + ABC′ + ABC(与或式)
求真值表对应的或与式:先写出反函数 F′ 的与或式,再用德摩根定律取反。
在变量顺序固定的前提下,任何布尔函数 F 都可以唯一地表示为最小项之和与最大项之积,即规范的与或式与规范的或与式。
最小项的重要性质:
最大项的重要性质:
真值表的每一行同时对应一个最小项与一个最大项,且 mj = Mj′:
| 行号 | A B C | 最小项 | 最大项 |
|---|---|---|---|
| 0 | 0 0 0 | A′B′C′ = m0 | A + B + C = M0 |
| 1 | 0 0 1 | A′B′C = m1 | A + B + C′ = M1 |
| 2 | 0 1 0 | A′BC′ = m2 | A + B′ + C = M2 |
| 3 | 0 1 1 | A′BC = m3 | A + B′ + C′ = M3 |
| 4 | 1 0 0 | AB′C′ = m4 | A′ + B + C = M4 |
| 5 | 1 0 1 | AB′C = m5 | A′ + B + C′ = M5 |
| 6 | 1 1 0 | ABC′ = m6 | A′ + B′ + C = M6 |
| 7 | 1 1 1 | ABC = m7 | A′ + B′ + C′ = M7 |
最小项与最大项之间的两条关系:
布尔函数可用最小项或最大项记号简写:
最小项对应真值表中 F 的 1,最大项对应 F 的 0。
规范形式互换的方法:把 Σ 换成 Π(或反之),并把原来出现的那些下标换成没有出现的下标。
例:F(a,b,c) = a′b′c + a′bc′ + ab′c′ + abc′ = m1 + m2 + m4 + m6 = Σ(1,2,4,6) = Π(0,3,5,7) = (a + b + c)·(a + b′ + c′)·(a′ + b + c′)·(a′ + b′ + c′)
由最小项出发求真值表与最大项:
最大项对应真值表中 F 的 0。
把非规范的与或式展开为最小项形式:
例:F(a,b,c) = a′b′c + bc′ + ac′ = a′b′c + (a + a′)bc′ + a(b + b′)c′ = a′b′c + abc′ + a′bc′ + abc′ + ab′c′,整理得 a′b′c + abc′ + a′bc + ab′c′。
把非规范的或与式展开为最大项形式:
例:F(a,b,c) = (a + b + c)·(b′ + c′)·(a′ + c′) = (a + b + c)·(a a′ + b′ + c′)·(a′ + b b′ + c′) = (a + b + c)·(a + b′ + c′)·(a′ + b′ + c′)·(a′ + b + c′)·(a′ + b′ + c′)。
最小项必须包含全部变量。若某乘积项未包含全部变量,可展开成最小项形式。以 F(A,B,C) = AB + C 为例,AB 与 C 都不是最小项:
最大项必须包含全部变量。以 F(A,B,C) = (A + B)(C) 为例,(A + B) 与 C 都不是最大项:
Y(A,B,C) = Σm(3,4,5,6,7) = A′BC + AB′C′ + AB′C + ABC′ + ABC。
寻找只有一个变量不同的项进行合并:Y = A′BC + AB′(C′ + C) + AB(C′ + C) = A′BC + AB′ + AB = A′BC + A(B′ + B) = A′BC + A = BC + A。
只有一个变量不同的情形称为布尔相邻 Boolean Adjacency。
Y(A,B,C) = ΠM(0,1,2) = (A + B + C)(A + B + C′)(A + B′ + C)。
同样寻找只有一个变量不同的项:Y = (A + B + CC′)(A + B′ + C) = (A + B)(A + B′ + C) = (A + B)((A + C) + B′) = A + AB + BC + AC,整理得 A(1 + B + C) + BC = A + BC。
逻辑函数的表示形式包括:真值表、逻辑表达式、门电路原理图(电路)、时序图以及卡诺图 K-map(后面讨论)。这些表示形式之间都可以方便地相互转换。
但真值表的规模随变量数目呈指数增长,使用起来很不方便,这正是需要使用布尔代数化简的原因。
与真值表不同,表示布尔函数的表达式并不唯一。例如:
两者对应的真值表完全相同,因此 F = G。
常用逻辑函数表示方法有五种:逻辑真值表、逻辑表达式、逻辑图、工作波形图、卡诺图。
例:已知一个奇偶判别函数的真值表(偶数个 1 时输出 1,奇数个 1 时输出 0),试写出它的逻辑函数式。当 ABC = 011、101、110 时输出为 1,因此 Y 的逻辑函数等于这三个乘积项之和。
反过来,已有真值表时也容易写出表达式:把输出为 1 的那些行写成最小项之和,再按需化简。
f(x,y,z) = x′y′z + x′yz′ + xy′z + xyz = m1 + m2 + m5 + m7
真值表转换为表达式的步骤:
由真值表写出逻辑函数式的一般方法:
由逻辑表达式列出真值表:把输入变量的所有状态组合逐一代入逻辑式求出函数值,列表即得真值表。
反过来,已有布尔表达式时可以方便地列出真值表。例如对 f(x,y,z) = xz + y′z + x′yz′,可以先列出 xz、y′z、x′yz′ 三个中间项的各列,再把中间列相或得到 f。
由逻辑表达式画出逻辑图:用图形符号代替逻辑式中的运算符号即可。把式中所有的与、或、非运算符号换成相应的逻辑门符号,并按运算优先顺序把这些逻辑符号连接起来,就得到 Y 的逻辑图。
任何布尔表达式都可以通过组合基本门电路直接转换为电路图。图中标出每个门的输入与输出,本例对应表达式 (x + y′)z + x′。
由逻辑图写出逻辑表达式:从输入端到输出端逐级写出每个逻辑符号输出的逻辑式,即得到对应的逻辑表达式。本例从输入 A、B 开始逐个写出各逻辑符号输出端的逻辑式。
由电路写表达式的步骤:
例如本例电路实现的函数为 f(x,y,z) = xz + y′z + x′yz′。
也可以直接由电路得到真值表:确定输入与输出的数目后,列出全部可能的输入组合。n 个输入的电路应有 2n 行真值表,本例三个输入,故真值表有 23 = 8 行。
随后可以对电路进行仿真(手工或用 LogicWorks 之类的程序),求出每种输入组合下的输出。以 xyz = 101 为例,逐级利用与、或、非门的真值表求得各门输出,最终得到 f(1,0,1) = 1。
对所有其他输入组合重复同样的推算即可得到完整真值表。这种方法虽然简单但很繁琐,因此很少直接由电路列真值表,通常按电路 → 表达式 → 真值表的顺序进行。
任何一个逻辑函数都可以通过逻辑变换写成以下八种形式,并用八种不同的逻辑电路实现同一逻辑功能:
普通数学表达式可以借助代数定律化简,二值系统同样可以用布尔代数化简表达式,从而得到更简单的电路。逻辑表达式化简就是把逻辑方程化为某种最小形式(最小值并不唯一)。
示例:x′y′ + xyz + x′y = x′(y′ + y) + xyz(分配律)= x′·1 + xyz(互补律)= x′ + xyz(恒等律)= (x′ + x)(x′ + yz)(分配律)= 1·(x′ + yz)(互补律)= x′ + yz。
比较两个功能等价但形式不同的电路可以看出化简的意义。化简可带来更好的硬件效果:
逻辑最小化的目标是降低门级实现的复杂度:
输入端越少,在某些工艺下门的速度越快;扇入系数在某些工艺中受限;电路输入端越少则所需 I/O 引脚越少;门的级数越少则信号传输延迟越小;门的数目(或门封装数)影响制造成本。通常需要在电路延迟与门数减少之间做折中。
化简方法分两类:图形法(卡诺图,随后介绍)与代数法(布尔代数定律及以下化简定理,其中 A、B 可代表任意复杂的逻辑函数)。
本节主要介绍如何用代数法把逻辑函数化简为最简与—或式。掌握了最简与或式的方法,就可以利用对偶规则化简得到最简或与式。
最简与—或式的标准是:与项中的变量最少(与门输入端少),与项的个数最少(与门少,或门输入端也少)。例如把 F 化简后,实现该函数只需两个与门和一个或门。
一、并项法:利用互补律合并两项。根据代入规则,公式中的 A 和 B 都可以是任何复杂的逻辑式。
二、吸收法:利用吸收律等公式消去多余因子及多余项。例题中配合使用合并项、包含律完成化简。
三、消去(项)法:通过提公因子、两次求反、一次反演等手法消去多余因子,例题中用到加对称的分配律完成化简。
四、配项法:利用包含律把二项变为三项(增加 BC 项)再与其他乘积项合并;或利用互补律配项,把一项变为两项,以求得最简结果。本页给出相应的化简例题与解答。
配项法例子:全加器 FA 的进位输出函数
Cout = a′bc + ab′c + abc′ + abc = a′bc + ab′c + abc′ + abc + abc + abc = (a′bc + abc) + (ab′c + abc) + (abc′ + abc) = (a′ + a)bc + a(b′ + b)c + ab(c′ + c) = bc + ac + ab
五、综合法:实际化简时往往需要把合并项法、吸收法、消去法、配项法结合起来灵活使用。
代数化简法的优点是不受变量数目限制;缺点是化简方向不明确,一般采用试凑法,需要一定技巧。
六、把或与式化简为最简与或式:首先将或与式通过求对偶变为与或式,用公式法在与或式中进行化简(用到合并项、包含律、分配律),第二步再对化简后的对偶式求一次对偶,即得到或与式的最简形式。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}