首页电子与通信技术电子技术数字电子技术 02 第一章 Basic LogicBoolean Algebra-2.pptx

02 第一章 Basic LogicBoolean Algebra-2.pptx

页数:108页文件大小:1.80 MB来源: 数字电子技术ppt课件

本课件为数字电子技术课程 1-2 分册,讲述三种基本逻辑运算、布尔代数的定律与三条规则、逻辑函数的多种表示形式以及用公式法化简逻辑函数的方法,是组合与时序逻辑电路的数学基础。

数字电子技术基础 1-2 分册封面,注明课程英文名称、分册编号与海洋系授课对象
二值逻辑概念页,说明 1 与 0 表示两种相反的逻辑状态而非数量大小
开关电路举例页,用两个开关串联与并联说明与逻辑 F 等于 SW1 乘 SW2 和或逻辑 F 等于 SW1 加 SW2
查看本课件的文字版(共 108 页,供检索与复制)

第1页:数字电子技术基础 1-2 封面

本页为《数字电子技术基础》课件 1-2 分册封面,标示英文课程名称 Fundamentals of Digital Electronic Techniques、分册编号 1-2 以及授课对象 For Oceanography Dept.(海洋学系)。

第2页:二值逻辑

数字信号为使用布尔代数实现逻辑功能提供了便捷途径。两个二进制值 1 与 0 分别表示两种相反的逻辑状态,而不是数量的大小。所有现代控制系统都采用这种方式。

第3页:开关电路与基本逻辑

对下图电路,灯泡在什么条件下点亮?

  • SW1 与 SW2 同时闭合时:F = SW1 · SW2(与)
  • SW1 或 SW2 任一闭合时:F = SW1 + SW2(或)

第4页:热水浴池控制器示例

热水浴池控制器算法:当温度低于设定值(T < Tset)、且电机运转、且钥匙开关闭合时接通加热器。

  • 串联开关:A 为温控开关,B 为继电器(电机运转时闭合),C 为钥匙开关
  • 测试开关 T 用于旁路 A、B、C 三个开关

本页给出该控制逻辑的可能电路原理图(110 V 加热回路由 C、B、A、T 组成)。

第5页:热水浴池控制器真值表

本页给出热水浴池控制器的真值表 Truth Table。真值表用于列出每一种可能输入组合下的输出,以电平及其对应的二进制值(如 0/1、F/T、OFF/ON 等)表示。

第6页:布尔表达式的建立

首先定义逻辑值:开关闭合为真(布尔 1),开关断开为假(布尔 0);加热器接通为 1,断开为 0。

  • 逻辑表述:当 A、B、C 均为 1,或 T 为 1 时,加热器接通(H = 1)
  • 布尔表达式:由变量以及 and、or、not 构成,H = (A·B·C) + T

第7页:代数与逻辑代数

代数一词源于花拉子米(约 780—850 年,巴格达)的著作,包含一组数值(如整数、实数)与一组运算(如乘法、加法)。对于二值系统,可以使用与普通代数表面相似的逻辑代数。

第8页:布尔代数的发展

  • 1847 与 1854 年:George Boole 提出逻辑的系统化处理并建立布尔代数
  • 1904 年:E. V. Huntington 提出定义布尔代数的一组形式化公设
  • 1938 年:Claude Elwood Shannon(信息论之父)证明双稳态电气开关电路的特性可用布尔代数表示

第9页:乔治·布尔与逻辑代数

George Boole(1815—1864),英国数学家,逻辑代数的创始人,靠自学掌握数学知识,1849 年受聘为爱尔兰科克皇后学院教授并当选英国皇家学会会员。

布尔最大的贡献是创立了逻辑代数,为 19 世纪数学带来新的转机,并成为后来计算机理论的基础。他用数学方法研究逻辑问题,用等式表示判断,把推理看作等式的变换,成功建立起逻辑演算。他早年接受父亲教育,16 岁起开始从教并利用业余时间钻研数学,1841 年开始发表论文,1857 年当选伦敦皇家学会会员并获皇家奖章,另著有《微分方程》(1859)与《差分演算》(1860)等教材。

第10页:克劳德·香农生平

Claude Elwood Shannon(1916—2001):1916 年 4 月 30 日出生于美国密歇根州 Petoskey,1936 年毕业于密歇根大学并获数学与电子工程学士学位,1940 年获麻省理工学院(MIT)数学博士学位与电子工程硕士学位。1941 年加入贝尔实验室数学部工作至 1972 年,1956 年任 MIT 客座教授,1958 年成为终身教授,1978 年为名誉教授。香农博士于 2001 年 2 月 26 日去世,享年 84 岁。

第11页:二值逻辑的定义

布尔代数与普通代数不同,它处理只取 0、1 两个离散值的变量,运算具有逻辑含义。

  • 变量(常用 A、B、x、y、a、b 等字母表示)只能取 0 或 1
  • 三种基本逻辑运算:AND(与)、OR(或)、NOT(非)

布尔函数即由变量与 AND、OR、NOT 构成的布尔表达式,至少包含一个布尔变量、一个布尔运算符以及来自集合 {0,1} 的输入,其输出也属于 {0,1},且同一逻辑的表达式不唯一。

第12页:布尔函数的构成

二值逻辑函数 F(vars) = expression,例如 F(a,b) = a′·b + b′,G(x,y,z) = x·(y + z′)。构成要素包括:

  • 运算符(+ 、· 、′)
  • 变量
  • 常量(0、1)
  • 分组(括号)

第13页:函数的表示方式

计算机接收输入产生输出,正如数学中的函数。数学函数可以有两种表达方式,逻辑函数也有类似的两种:

  • 有限但不唯一的布尔表达式,例如 f(x,y) = 2x + y = x + x + y = 2(x + y/2) 形式不唯一
  • 唯一且有限的真值表

第14页:布尔函数与真值表

  • 布尔变量只有真/假(1/0)两个取值
  • 布尔函数有若干布尔输入变量,输出也是布尔值
  • 布尔函数可用真值表描述
  • n 个变量共有 2n 种二进制组合

本页以多路选择器 Multiplexor 函数为例给出 s、x0、x1 与 f 的八行真值表。

第15页:基本逻辑运算

任何逻辑电路无论多复杂,都可以用与、或、非三种基本布尔运算完整描述:

  • AND 与:用点号表示,如 X = A·B(也可写作 X = AB,点号可省略)
  • OR 或:用加号表示,如 Y = A + B
  • NOT 非:用变量上方的横线表示,如 Z = A′

附加逻辑功能还有与非 NAND、或非 NOR、异或 XOR、同或 XNOR。最常用的逻辑功能在集成电路中被制成称为门 gates 的基本单元。

第16页:真值表

真值表列出函数的全部可能输入及其对应输出: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。

第17页:与运算和或运算真值表

真值表可完整描述一个布尔运算符:

  • AND 又称布尔积:当且仅当 x = 1 且 y = 1 时 z = 1;只要 x = 0 或 y = 0 则 z = 0
  • OR 又称布尔和:只要 x = 1 或 y = 1 则 z = 1;当且仅当 x = 0 且 y = 0 时 z = 0

第18页:非运算真值表

非运算 NOT 是 x 的反或补,通常用上横线表示,也可用撇号(′)或小三角符号表示:x = 0 时 z = 1,x = 1 时 z = 0。本页给出反相器 inverter 的真值表。

第19页:一位逻辑运算规则

  • 一位逻辑与类似于二进制乘法:0·0 = 0,0·1 = 0,1·0 = 0,1·1 = 1
  • 一位逻辑或类似于二进制加法,仅一处不同:0 + 0 = 0,0 + 1 = 1,1 + 0 = 1,1 + 1 = 1(不等于 10,与算术运算不同)
  • 一位逻辑非类似于求 1 的补码:0′ = 1,1′ = 0

第20页:布尔运算的优先级

A·B + C 应如何理解?是先与后或,还是先或后与?布尔代数的优先级规则为:AND 优先于 OR,括号可以改变顺序或使表达式更清晰。

  • A·B + C:先算 A·B,再与 C 相或
  • A·(B + C):先算 B + C,再与 A 相与,括号必需
  • (A·B) + C:与 A·B + C 相同,括号不必需

第21页:运算顺序的结论

布尔表达式的运算顺序:

  • 先完成单个变量的取反(非)
  • 再完成括号内的运算
  • 除括号另有指示外,先与后或
  • 若表达式上方有横线,则先完成表达式内部运算,再对结果整体取反,例如 F = (AB′ + C)′

第22页:逻辑门

逻辑门是对电子电路元件的抽象,它对一个或多个输入信号进行运算后产生输出信号:

  • 两输入与门:F = A·B
  • 两输入或门:G = A + B
  • 非门(反相器):H = A′

第23页:逻辑门时序图

时序图的基本假设是信号通过门电路的传播时间为零。本页给出输入信号 A、B 在 t0 至 t6 各时刻的取值,以及 F = A·B、G = A + B、H = A′ 三个门输出信号的波形与跳变。

第24页:基本逻辑的四种表示

对与、或、非三种基本逻辑,分别给出四种表示:(a) 逻辑函数与真值表、(b) 真值表、(c) 标准门符号、(d) IEEE 方框门符号。取反指示符是一个小圆圈 bubble,出现在输入或输出端即表示反相或取补。

第25页:多输入端门符号

本页展示输入多于两个的逻辑门符号,包括多输入与门、或门、与非门与或非门等的图形表示。

第26页:与非门与或非门

  • 与非 NAND:(ab)′,仅当 a = b = 1 时输出 0
  • 或非 NOR:(a + b)′,仅当 a = b = 0 时输出 1

本页对两种门分别给出 (a)(b) 逻辑函数与真值表、(c)(d) 标准门符号、(e) IEEE 方框门符号。

第27页:异或门与同或门

  • 异或 XOR:f(a,b) = a ⊕ b = ab′ + a′b,仅当 a ≠ b 时为 1
  • 同或 XNOR:f(a,b) = (a ⊕ b)′ = ab + a′b′,仅当 a = b 时为 1

本页给出两者的逻辑函数与真值表、标准门符号及 IEEE 方框门符号。

第28页:两套逻辑门符号

本页并列给出逻辑门的两套符号体系:一套是传统的形状区分门电路符号,另一套是 IEEE 方框门符号,两者在国内外教材中都很常见。

第29页:通用门与非或门

任何表达式都可以用与、或、非构成,因此也可以用与非、或非、非构成,进一步可仅用与非门或者仅用或非门实现。由与非、或非分别可以构成与门和或门,单个与非门也能构成非门。

与非和或非被称为通用门 universal gates,因为它们制造成本低,且只用与非门或只用或非门就能构造出任意布尔函数。

第30页:电子逻辑门电路

本页展示电子逻辑门 Electronic Logic Gates 的实际器件形态与内部电路结构,说明逻辑门在集成电路中的实现形式。

第31页:电子逻辑门电路示例

本页继续展示电子逻辑门的电路实现,包括典型门电路的元件构成与外引线排列。

第32页:门电路的封装形式

本页展示电子逻辑门电路的封装形式与引脚配置,说明集成门电路芯片的外特性。

第33页:使能/禁止电路

四种基本门都可以在控制输入端 B 的逻辑电平控制下,使能或禁止输入信号 A 的通过与传输。

第34页:布尔代数基本定律

亨廷顿公设——布尔代数的基本定律:

  • 常量:1、0;常量的补:1′ = 0,0′ = 1
  • 恒等律 Identity law
  • 空律 Null law
  • 幂等律(重叠律)Idempotent law
  • 互补律 Complementarity law
  • 结合律 Associative law
  • 交换律 Commutative law
  • 分配律 Distributive law
  • 吸收律 Absorption law
  • 德·摩根定理(反演律)De·Morgan s law
  • 还原律(双重取反律)Involution law

第35页:与 0、1 的运算与求补

多数布尔恒等式都同时具有与(积)形式和或(和)形式,本页以两种形式给出第一组恒等式:与 0 和 1 的运算 Operations with 0 and 1,以及求补 Complement。

第36页:与普通代数相似的定律

本页给出第二组布尔恒等式,包括交换律、结合律与分配律等,这些恒等式在普通代数的学习中已经很熟悉,形式上也与之一致。

第37页:布尔代数特有定律

本页给出第三组布尔恒等式,这是最有用的一组,包括吸收律等布尔代数特有的恒等式。学习过集合论或形式逻辑的读者对这些定律同样熟悉。

第38页:布尔代数常用定理

下列定理可由前述公理导出:

布尔代数定理的或与两种形式
或形式与形式定理名称
x y + x y′ = x(x + y)(x + y′) = x化简定理
x + (x′ y) = x + yx(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)包含律定理

第39页:补充常用定理

本页汇总 Useful Theorems,列出在逻辑函数代数化简中经常用到的若干补充定理,作为前面定律与定理的集中提示。

第40页:用公理证明定理

用布尔代数公理证明定理示例:

  • 例 1:证明 x y + x y′ = x。x y + x y′ = x(y + y′)(分配律)= x(1)(互补律)= x(恒等律)
  • 例 2:证明 x + x y = x。x + x y = x·1 + x y(恒等律)= x(1 + y)(分配律)= x(1)(恒等律)= x

第41页:包含律定理的证明

例 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

第42页:用恒等式化简示例

本页给出利用布尔恒等式化简逻辑函数的示例,演示如何把较复杂的表达式逐步化简为更简洁的形式。

第43页:布尔运算等价关系

异或、或、与三类运算的性质对照
性质异或或与
交换律x ⊕ y = y ⊕ xx + y = y + xx y = y x
结合律x ⊕ (y ⊕ z) = (x ⊕ y) ⊕ zx + (y + z) = (x + y) + zx(y z) = (x y)z
分配律x(y ⊕ z) = x y ⊕ x zx + y z = (x + y)(x + z)x(y + z) = x y + x z
互补x ⊕ x′ = 1x + x′ = 1x x′ = 0
恒等x ⊕ 0 = xx + 0 = xx·1 = x
支配/空律x ⊕ 1 = x′x + 1 = 1x·0 = 0
幂等x ⊕ x = 0x + x = xx x = x
双重取反x ⊕ y′ = (x ⊕ y)′(x′)′ = x(x′)′ = x

第44页:代入规则

代入规则:任何一个含变量 A 的等式中,如果把出现 A 的地方都用同一个逻辑函数 F 代替,等式仍然成立。

  • 例 1:由分配律 A(B + C) = AB + AC,令 C = EF 代入,得 A(B + EF) = AB + AEF,可用乘对加的分配律证明
  • 例 2:令 A = CD 代入同样成立

代入规则之所以成立,是因为任何逻辑函数与任何逻辑变量一样只有 0 和 1 两种可能取值,因此可以当作一个逻辑变量对待。有了代入规则,基本定律不再受变量数目限制,应用范围大为扩展。

第45页:布尔代数三规则

布尔(逻辑)代数的三条规则:代入 Substitute、对偶 Duality、反演/德摩根 inverse/DeMorgan。可以用函数代替变量。

  • 德摩根定律:(a + b)′ = a′b′,(ab)′ = a′ + b′
  • 用 b + c 代替 b 可推广到三变量:(a + b + c)′ = a′(b + c)′ = a′b′c′,(abc)′ = a′ + (bc)′ = a′ + b′ + c′
  • 同理可得任意变量的广义德摩根定理:(a + b + … z)′ = a′b′…z′,(a b … z)′ = a′ + b′ + … z′

第46页:对偶规则

对偶规则:把布尔表达式中的或与运算互换、0 与 1 互换(原变量保持不变)即得该表达式的对偶式;对某表达式成立的定律,对其对偶式同样成立。函数 F 的对偶记作 FD。

  • 例 1:x(y + z) 的对偶式为 x + y z
  • 例 2:−x·1 + (−y + z) 的对偶式为 (−x + 0)(( −y)z)

第47页:反演规则

有时先实现某函数的补再对结果取反,比直接实现该函数更节省器件。德摩根定律为求布尔函数的补提供了简便方法。

第48页:德摩根定理的应用

回顾广义德摩根定理:(a + b + … z)′ = a′b′…z′,(a b … z)′ = a′ + b′ + … z′。求一个布尔函数的补时,把每个变量换成其反变量,同时把所有的与换成或、或换成与即可。本页给出相应的应用示例。

第49页:德摩根定律的门实现

应用德摩根定律可以在两类通用门之间互相转换:

  • 用与非门可以构成或非门,因而任意布尔表达式都可以只用与非门实现
  • 用或非门也可以构成与非门,因而任意布尔表达式都可以只用或非门实现

第50页:逻辑门的备选符号

本页给出各种逻辑门和反相器的标准符号与备选符号 alternate logic-gate representations。注意:所有标准符号的输入端都不带小圆圈 bubble。

第51页:备选符号的求法

由标准符号得到备选符号的方法:

  • 把标准符号的每个输入与输出都取反:原本没有小圆圈的输入输出线上加圆圈,已有的圆圈则去掉
  • 把运算符号由与改为或、或由或改为与;反相器(非门)作为特例,其运算符号不改变

注意:标准符号的输入端都不带圆圈,而所有备选符号的输入端都带圆圈。

第52页:与非门符号的高/低有效

有效高/低 active high/low:当逻辑电路符号的某条输入或输出线上没有小圆圈时,该线称为高电平有效,否则为低电平有效。本页以此解释与非门两种符号所表达的有效电平含义。

第53页:或门符号的高/低有效

有效高/低 active high/low:当逻辑电路符号的某条输入或输出线上没有小圆圈时,该线称为高电平有效,否则为低电平有效。本页以此解释或门两种符号所表达的有效电平含义。

第54页:逻辑函数的标准形式

为使布尔函数化简形式化,需要考虑以下内容:

  • 最小项 Minterms 与最大项 Maxterms
  • 最小项之和与最大项之积
  • 乘积项与求和项
  • 与或式 SOP 与或与式 POS

第55页:与或式与或与式

文字 Literal
一个变量或其反变量。
乘积项 Product term
一个或多个文字相与。
求和项 Sum term
一个或多个文字相或。

布尔表达式有两种标准形式:

  • 与或式 SOP:乘积项相或,例如 f(A,B,C) = ABC + A′C + B′C
  • 或与式 POS:求和项相与,例如 f(A,B,C) = (A′ + B′ + C′)(A + C′)(B + C′)

任何布尔式都可以用两级逻辑(与/或或或/与)实现,形式并不唯一。

第56页:用与非门实现与或式

与或式电路很适合用与非门实现:在电路中引入两级反相器(双重反相不改变逻辑功能),再应用德摩根定律即可把与—或结构整体转换为与非—与非结构。

第57页:用或非门实现或与式

或与式电路很适合用或非门实现:同样引入双重反相器,再应用德摩根定律,即可把或—与结构整体转换为或非—或非结构。

第58页:一般电路转换为与非门电路

把一般电路转换为与非门电路的做法:引入双重反相器以得到与非结构,并按需要添加反相器以保持正确的极性,最后用与非门表示这些反相器。

第59页:由真值表写与或式

利用真值表很容易把函数写成与或式:

  • 关注使函数值为真(=1)的那些变量取值
  • 列出所有使函数值为 1 的变量取值组合
  • 把各组变量对应的乘积项相或

这样得到的与或式还未化到最简,此处目的只是把函数改写成规范的与或形式。

第60页:三变量真值表

任何布尔表达式都可以用真值表表示。N 个变量的真值表有 2N 行。表中 1 对应 F(A,B,C),0 对应 F′(A,B,C)。

三变量函数的真值表与最小项
ABCF最小项
0000A′B′C′
0010A′B′C
0100A′BC′
0111A′BC
1001AB′C′
1011AB′C
1101ABC′
1111ABC

第61页:真值表转与或式

可以直接由真值表写出与或式:函数值等于所有对应输出为 1 的最小项之和。

F(A,B,C) = A′BC + AB′C′ + AB′C + ABC′ + ABC(与或式)

第62页:真值表转或与式

求真值表对应的或与式:先写出反函数 F′ 的与或式,再用德摩根定律取反。

  • F′(A,B,C) = A′B′C′ + A′B′C + A′BC′
  • 两边取反:(F′)′ = (A′B′C′ + A′B′C + A′BC′)′,左边即 F
  • 逐项应用德摩根定律:F(A,B,C) = (A′B′C′)′(A′B′C)′(A′BC′)′
  • 得 F(A,B,C) = (A + B + C)(A + B + C′)(A + B′ + C)(或与式)

第63页:最小项与最大项

最小项 MINTERM
在与或式中出现、且每个变量都以原变量或反变量形式恰好出现一次的乘积项,例如 F(A,B,C) = A′BC + AB′C′ + AB′C + ABC′ + ABC。
最大项 MAXTERM
在或与式中出现、且每个变量都以原变量或反变量形式恰好出现一次的求和项,例如 F(A,B,C) = (A + B + C)(A + B + C′)(A + B′ + C)。

在变量顺序固定的前提下,任何布尔函数 F 都可以唯一地表示为最小项之和与最大项之积,即规范的与或式与规范的或与式。

第64页:最小项

  • 最小项对应真值表中的唯一一种取值组合
  • 记作 mj,其中 j 为该最小项对应二进制组合 bj 的十进制值
  • 变量在 bj 中为 0 时取反变量,为 1 时取原变量
  • 例如三变量 (A,B,C)、j = 3 时,bj = 011,对应最小项记作 m3 = A′BC

第65页:最小项的性质

最小项的重要性质:

  • 在输入变量的任何取值下,必有一个且仅有一个最小项的值为 1
  • 全体最小项之和为 1
  • 任意两个最小项的乘积为 0
  • 具有相邻性的两个最小项之和可以合并成一项并消去一对因子,只保留各相同变量之积。相邻性指两个最小项彼此只有一个因子不同且互为反变量

第66页:最大项

  • 最大项对应真值表中的唯一一种取值组合
  • 记作 Mj,其中 j 为该最大项对应二进制组合 bj 的十进制值
  • 变量在 bj 中为 1 时取反变量,为 0 时取原变量
  • 例如三变量 (A,B,C)、j = 3 时,bj = 011,对应最大项记作 M3 = A + B′ + C′

第67页:最大项的性质

最大项的重要性质:

  • 在输入变量的任何取值下,必有一个且仅有一个最大项的值为 0
  • 全体最大项之积为 0
  • 任意两个最大项之和为 1
  • 具有相邻性(只有一个变量不同)的两个最大项之积等于各相同变量之和

第68页:最小项与最大项编号

真值表的每一行同时对应一个最小项与一个最大项,且 mj = Mj′:

三变量最小项与最大项编号对照
行号A B C最小项最大项
00 0 0A′B′C′ = m0A + B + C = M0
10 0 1A′B′C = m1A + B + C′ = M1
20 1 0A′BC′ = m2A + B′ + C = M2
30 1 1A′BC = m3A + B′ + C′ = M3
41 0 0AB′C′ = m4A′ + B + C = M4
51 0 1AB′C = m5A′ + B + C′ = M5
61 1 0ABC′ = m6A′ + B′ + C = M6
71 1 1ABC = m7A′ + B′ + C′ = M7

第69页:最小项与最大项的关系

最小项与最大项之间的两条关系:

  • 下标相同者互为反演,即 mj = Mj′
  • 因子相同者互为对偶

第70页:用最小项与最大项表示函数

布尔函数可用最小项或最大项记号简写:

  • F(A,B,C) = A′BC + AB′C′ + AB′C + ABC′ + ABC = m3 + m4 + m5 + m6 + m7 = Σmi(i = 3,4,5,6,7)
  • F(A,B,C) = (A + B + C)(A + B + C′)(A + B′ + C) = M0 M1 M2 = ΠMk≠i(k = 0,1,2)
  • 反函数 F′(A,B,C) = A′B′C′ + AB′C + A′BC′ = m0 + m1 + m2

最小项对应真值表中 F 的 1,最大项对应 F 的 0。

第71页:求和号与求积号简记

  • F(A,B,C) = Σm(3,4,5,6,7),其中 Σ 表示与或形式,m(3,4,5,6,7) 表示包含 m3、m4、m5、m6、m7 这些最小项
  • F(A,B,C) = ΠM(0,1,2),其中 Π 表示或与形式,M(0,1,2) 表示包含 M0、M1、M2 这些最大项
  • 由于对任意 j 都有 mj = Mj′,因此 Σm(3,4,5,6,7) = ΠM(0,1,2) = F(A,B,C)

第72页:两种规范形式的互换

规范形式互换的方法:把 Σ 换成 Π(或反之),并把原来出现的那些下标换成没有出现的下标。

例: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′)

第73页:最小项、最大项与真值表互推

由最小项出发求真值表与最大项:

  • F(A,B,C) = Σm(1,2,6) = m1 + m2 + m6 = A′B′C + A′BC′ + ABC′,真值表中对应行为 1
  • 由最小项求最大项时,列出未出现的那些编号(三变量时编号范围为 0 至 7)
  • F(A,B,C) = Σm(1,2,6) = ΠM(0,3,4,5,7) = (A + B + C)(A + B′ + C′)(A′ + B + C)(A′ + B + C′)(A′ + B′ + C′)

最大项对应真值表中 F 的 0。

第74页:规范形式转换例题

  • F(A,B,C,D) = Σm(0)(最小项形式)= A′B′C′D′(与或式)= ΠM(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)(最大项形式,对应或与式过长此处从略)
  • F(A,B) = Σm(1,2)(最小项形式)= A′B + AB′(与或式)= ΠM(0,3)(最大项形式)= (A + B)(A′ + B′)(或与式)= A xor B

第75页:与或式展开为最小项

把非规范的与或式展开为最小项形式:

  • 对每个缺失的变量 x,乘入 (x + x′) = 1
  • 用分配律展开
  • 删除重复的最小项

例: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′。

第76页:或与式展开为最大项

把非规范的或与式展开为最大项形式:

  • 对每个缺失的变量以 x x′ = 0 的形式补入求和项
  • 用分配律展开
  • 删除重复的最大项

例: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′)。

第77页:函数展开为最小项

最小项必须包含全部变量。若某乘积项未包含全部变量,可展开成最小项形式。以 F(A,B,C) = AB + C 为例,AB 与 C 都不是最小项:

  • AB = AB(C + C′) = ABC + ABC′
  • C = C(A + A′) = AC + A′C = AC(B + B′) + A′C(B + B′) = ABC + AB′C + A′BC + A′B′C
  • 合并得 F = AB + C = A′B′C + A′BC + AB′C + ABC′ + ABC = Σm(1,3,5,6,7)

第78页:函数展开为最大项

最大项必须包含全部变量。以 F(A,B,C) = (A + B)(C) 为例,(A + B) 与 C 都不是最大项:

  • (A + B) = (A + B + C′C) = (A + B + C′)(A + B + C)
  • C = C + A′A = (A′ + C)(A + C) = (A′ + BB′ + C)(A + C + BB′) = (A′ + B′ + C)(A′ + B + C)(A + B′ + C)(A + B + C)
  • 合并得 F = (A + B + C)(A + B + C′)(A + B′ + C)(A′ + B + C)(A′ + B′ + C) = ΠM(0,1,2,4,6)

第79页:由最小项化简

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。

第80页:由最大项化简

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。

第81页:逻辑函数表示形式的关系

逻辑函数的表示形式包括:真值表、逻辑表达式、门电路原理图(电路)、时序图以及卡诺图 K-map(后面讨论)。这些表示形式之间都可以方便地相互转换。

第82页:真值表的唯一性

  • 真值表是布尔函数的唯一表示
  • 若两个函数的真值表相同,则两函数等价,反之亦然
  • 真值表可用来证明等式定理

但真值表的规模随变量数目呈指数增长,使用起来很不方便,这正是需要使用布尔代数化简的原因。

第83页:布尔表达式的不唯一性

与真值表不同,表示布尔函数的表达式并不唯一。例如:

  • F(x,y,z) = x′·y′·z′ + x′·y·z′ + x·y·z′
  • G(x,y,z) = x′·y′·z′ + y·z′

两者对应的真值表完全相同,因此 F = G。

第84页:逻辑函数的表示方法

常用逻辑函数表示方法有五种:逻辑真值表、逻辑表达式、逻辑图、工作波形图、卡诺图。

例:已知一个奇偶判别函数的真值表(偶数个 1 时输出 1,奇数个 1 时输出 0),试写出它的逻辑函数式。当 ABC = 011、101、110 时输出为 1,因此 Y 的逻辑函数等于这三个乘积项之和。

第85页:由真值表写表达式

反过来,已有真值表时也容易写出表达式:把输出为 1 的那些行写成最小项之和,再按需化简。

f(x,y,z) = x′y′z + x′yz′ + xy′z + xyz = m1 + m2 + m5 + m7

第86页:真值表与表达式互转

真值表转换为表达式的步骤:

  • 先填写真值表:列出输入组合及其对应输出
  • 挑出输出为逻辑 1 的那些输入组合,写成布尔表达式
  • 再用布尔代数的各种定律化简表达式:F = A′BC + AB′C′ + AB′C + ABC′ + ABC = A′BC + (AB′ + AB)(C′ + C) = A′BC + A(B′ + B) = A′BC + A = BC + A

第87页:真值表与逻辑式互转小结

由真值表写出逻辑函数式的一般方法:

  • 找出真值表中使逻辑函数 Y = 1 的输入变量取值组合
  • 每组取值组合对应一个乘积项:变量取值为 1 写原变量,取值为 0 写反变量
  • 把这些乘积项相加即得 Y 的逻辑函数式

由逻辑表达式列出真值表:把输入变量的所有状态组合逐一代入逻辑式求出函数值,列表即得真值表。

第88页:由表达式列真值表

反过来,已有布尔表达式时可以方便地列出真值表。例如对 f(x,y,z) = xz + y′z + x′yz′,可以先列出 xz、y′z、x′yz′ 三个中间项的各列,再把中间列相或得到 f。

第89页:由表达式画逻辑图

由逻辑表达式画出逻辑图:用图形符号代替逻辑式中的运算符号即可。把式中所有的与、或、非运算符号换成相应的逻辑门符号,并按运算优先顺序把这些逻辑符号连接起来,就得到 Y 的逻辑图。

第90页:由表达式到电路

任何布尔表达式都可以通过组合基本门电路直接转换为电路图。图中标出每个门的输入与输出,本例对应表达式 (x + y′)z + x′。

第91页:由逻辑图写表达式

由逻辑图写出逻辑表达式:从输入端到输出端逐级写出每个逻辑符号输出的逻辑式,即得到对应的逻辑表达式。本例从输入 A、B 开始逐个写出各逻辑符号输出端的逻辑式。

第92页:由电路到表达式

由电路写表达式的步骤:

  • 先弄清整个电路的输入与输出是什么(这一步常被忽略),本例有三个输入 x、y、z 和一个输出 f
  • 再根据每个门的输入写出其输出表达式,从输入侧向输出侧推进
  • 过程中可顺带做一些代数化简

例如本例电路实现的函数为 f(x,y,z) = xz + y′z + x′yz′。

第93页:由电路到真值表

也可以直接由电路得到真值表:确定输入与输出的数目后,列出全部可能的输入组合。n 个输入的电路应有 2n 行真值表,本例三个输入,故真值表有 23 = 8 行。

第94页:由电路仿真求输出

随后可以对电路进行仿真(手工或用 LogicWorks 之类的程序),求出每种输入组合下的输出。以 xyz = 101 为例,逐级利用与、或、非门的真值表求得各门输出,最终得到 f(1,0,1) = 1。

第95页:电路到真值表的常用路径

对所有其他输入组合重复同样的推算即可得到完整真值表。这种方法虽然简单但很繁琐,因此很少直接由电路列真值表,通常按电路 → 表达式 → 真值表的顺序进行。

第96页:逻辑函数的八种形式

任何一个逻辑函数都可以通过逻辑变换写成以下八种形式,并用八种不同的逻辑电路实现同一逻辑功能:

  • 与—或式(标准式、最简式)
  • 与非—与非式
  • 或—与式(标准式、最简式)
  • 或非—或式
  • 或—与非式
  • 与—或非式
  • 与非—与式
  • 或非—或非式

第97页:逻辑表达式的化简

普通数学表达式可以借助代数定律化简,二值系统同样可以用布尔代数化简表达式,从而得到更简单的电路。逻辑表达式化简就是把逻辑方程化为某种最小形式(最小值并不唯一)。

示例:x′y′ + xyz + x′y = x′(y′ + y) + xyz(分配律)= x′·1 + xyz(互补律)= x′ + xyz(恒等律)= (x′ + x)(x′ + yz)(分配律)= 1·(x′ + yz)(互补律)= x′ + yz。

第98页:为什么要化简

比较两个功能等价但形式不同的电路可以看出化简的意义。化简可带来更好的硬件效果:

  • 缩小电路规模(芯片上占用的面积、元件数目)并减少门的级数
  • 降低功耗
  • 降低制造成本
  • 缩短传输延迟(即提高速度)
  • 改善电路的可测试性与可靠性

第99页:化简的基本思路

逻辑最小化的目标是降低门级实现的复杂度:

  • 减少文字数(门的输入端数、电路输入端数)
  • 减少门的数目
  • 减少门的级数

输入端越少,在某些工艺下门的速度越快;扇入系数在某些工艺中受限;电路输入端越少则所需 I/O 引脚越少;门的级数越少则信号传输延迟越小;门的数目(或门封装数)影响制造成本。通常需要在电路延迟与门数减少之间做折中。

第100页:化简的常用方法

化简方法分两类:图形法(卡诺图,随后介绍)与代数法(布尔代数定律及以下化简定理,其中 A、B 可代表任意复杂的逻辑函数)。

  • 并项法:AB + AB′ = A
  • 吸收法:A + AB = A
  • 消项法(包含律):AB + A′C + BC… = AB + A′C
  • 消因子法:A + A′B = A + B
  • 配项法(重叠律):A + A = A

第101页:最简与或式的标准

本节主要介绍如何用代数法把逻辑函数化简为最简与—或式。掌握了最简与或式的方法,就可以利用对偶规则化简得到最简或与式。

最简与—或式的标准是:与项中的变量最少(与门输入端少),与项的个数最少(与门少,或门输入端也少)。例如把 F 化简后,实现该函数只需两个与门和一个或门。

第102页:并项法

一、并项法:利用互补律合并两项。根据代入规则,公式中的 A 和 B 都可以是任何复杂的逻辑式。

第103页:吸收法

二、吸收法:利用吸收律等公式消去多余因子及多余项。例题中配合使用合并项、包含律完成化简。

第104页:消项法

三、消去(项)法:通过提公因子、两次求反、一次反演等手法消去多余因子,例题中用到加对称的分配律完成化简。

第105页:配项法

四、配项法:利用包含律把二项变为三项(增加 BC 项)再与其他乘积项合并;或利用互补律配项,把一项变为两项,以求得最简结果。本页给出相应的化简例题与解答。

第106页:配项法化简全加器进位

配项法例子:全加器 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

第107页:综合法

五、综合法:实际化简时往往需要把合并项法、吸收法、消去法、配项法结合起来灵活使用。

第108页:代数化简法的评价

代数化简法的优点是不受变量数目限制;缺点是化简方向不明确,一般采用试凑法,需要一定技巧。

六、把或与式化简为最简与或式:首先将或与式通过求对偶变为与或式,用公式法在与或式中进行化简(用到合并项、包含律、分配律),第二步再对化简后的对偶式求一次对偶,即得到或与式的最简形式。

顶部目录