1.逻辑函数简化
1.1:逻辑函数简化的必要性
- 真值表和卡诺图对于每个函数是唯一的,只要看其真值表或卡诺图是否相同就可以判断两个函数是否相等;
- 但是,一个逻辑函数的逻辑表达式和逻辑电路都不是唯一的;
- 表达式或电路繁简不一,复杂的会多用电路器件;
- 电路器件用多了带来成本、功耗、延迟的问题;
- 门电路或小规模集成电路实现逻辑函数的时候要考虑化简的问题;
- 中、大规模集成电路主要考虑计算机辅助测试、容错分析、标准化设计等方面,逻辑化简不是主要考虑因素。
1.2:逻辑函数简化的标准
- 以与-或表达式为例,要求简化的与-或表达式中:
与项最少;
每项的变量数最少; - 按该标准简化后对应的逻辑电路:
【降低成本】
- 逻辑电路所用门的数量少;
- 每个门的输入端个数少;
【提高电路可靠性】
- 逻辑电路构成级数少
- 逻辑电路保证能可靠地工作;
1.2.1:公式化简法:
- 公式法简化
- 吸收法:A+AB=A (20)、(21)
- 并项法: A B + AB+ AB+ A ‾ \overline{A} A B = B B=B B=B (22)、(23)
- 消因子法: A + {A+} A+ A ‾ \overline{A} A B = A + B {B=A+B} B=A+B(24)、(25)
- 消项法: A B + AB+ AB+ A ‾ \overline{A} A C C C + + + B C BC BC = = = A B AB AB + + + A ‾ \overline{A} A C C C (26)、(27)
- 配项法:利用 A = A ( B + {A=A(B+} A=A(B+ B ‾ \overline{B} B ) {)} )进行配项化简
- 公式化化简法化简原则
- 利用自己掌握的定律进行化简
- 先化成最小项之和形式,然后并项公式化简
1.2.2:卡诺图化简法:
- 卡诺图化简逻辑函数的依据:
卡诺图的基本特点是:任何两个几何上相邻的小方块所表示的最小项只有一个变量取值互补,其余变量均相同(相邻性)。这样便可以将两项合并为一项,消去一个互补的变量(并项)。
卡诺图中每行的两端和每列的两端的方格也是相邻的;
【有一个埋伏笔的方法是,到了后面再去前面埋伏笔,嘿嘿嘿】
- 化为最简与-或表达式的化简的步骤:
- 把逻辑函数化为最小项表达式;
- 非最小项的与项可用用配项法加分配律化成最小项之和
- 用卡诺图表示逻辑函数;
- 合并相邻“1”方块;(即画包围圈)
- 将每个包围圈所表示的乘积项逻辑加,可得与-或表达式。
- 化简的方法:
-
两个相邻的“1”方块(含行、列两端),可合并为一个与项,消去一个互补的变量。
-
四个相邻的“1”方块(含相邻两行、列两端、图上四个角),可合并为一个与项,消去两个互补的变量。
-
八个相邻的“1”方块,构成长方形,可合并为一个与项,消去三个互补的变量。
【就目前来看,找到之后写出真值表会很清晰】
- 化简的原则(画包围圈注意事项)
- 卡诺图包围圈越大化简越好,越大圈内最小项越多;
- 卡诺图包围圈个数越少化简越好;
- 同一个“1”方块可以被圈多次(A+A=A);
- 每个包围圈要有新成分;
- 先圈只有一个合并可能的最小项,等这些最小项都圈过了,再对剩余的最小项按上述原则进行圈并;
- 先圈大,再圈小;
- 不要遗漏任何“1”方块。
- 同一个逻辑函数化简法不唯一:
卡诺图法化简与-或式例子:
以此类推:
卡诺图化简或与式:
1.2.3:非完全定义逻辑函数的简化
- 完全定义逻辑函数:
是逻辑变量的所有取值组合都会出现的逻辑函数,其真值表的每一行都是有定义的 - 非完全定义逻辑函数:
这种逻辑函数的某些输入逻辑变量的组合由于应用背景或者约束条件的限制而不能或不会出现,或虽出现了,但其对应的函数值是什么,我们并不关心;这种输入组合所对应的函数输出就不需要定义。
上述不出现或输出值不关心的输入逻辑变量的组合所对应的最小项在称为无关项。
【真值表和卡诺图中,无关项的值为X(也可以是-,d或Φ)。无关项之和构成的逻辑表达式叫做无关条件或约束条件,用一个值恒为0的条件等式表示。】
例:
【8421码都快忘了,救命】
【这里我暂时没有对这个部分做自己的推导,打算做完作业第二次回看的时候再做;其他的部分基本都看懂了;但是我真的想看看老师给计算机学院的原版PPT是什么样子的,这个PPT上真的是多说一句话都要杀头,很多地方甚至第一步都没有(活脱脱像抄作业的时候)】
【关于8421BCD码的例子的几个槽点:化简出来的约束条件;还有就是关于约束条件的体现这部分内容我看的是一头雾水,电路中是怎么样体现约束条件的?】
再来一个例子:
【有点找回了写博客的初心的感觉,这一篇就先这样吧】