数字逻辑
重点 #
- 三种基本逻辑关系:与、或、非及其运算规则、真值表和图形符号;
- 常用复合逻辑运算:与非、或非、与或非、异或、同或及其运算规则、真值表和图形符号;
- 逻辑功能的描述及其相互之间的转换,真值表、逻辑式、逻辑图、波形图、卡诺图;
- 逻辑代数的公式及函数化简;
- 卡诺图法化简逻辑函数。
一、逻辑代数运算 #
1、与运算(AND) #
运算规则:只有当两个输入都为 1 时,输出才为 1;只要有一个输入为 0,输出即为 0。
逻辑表达式:Y = A · B
图形符号:
真值表:
| A | B | Y = A · B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
2、或运算(OR) #
运算规则:只要两个输入中至少有一个为 1,输出就为 1;只有两个输入都为 0 时,输出才为 0。
逻辑表达式:Y = A + B
图形符号:
真值表:
| A | B | Y = A + B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
3、非运算(NOT) #
运算规则:输出始终与输入相反:输入为 0 时输出为 1;输入为 1 时输出为 0。
逻辑表达式:Y = ¬A
图形符号:
真值表:
| A | Y = ¬A |
|---|---|
| 0 | 1 |
| 1 | 0 |
4、与非运算(NAND) #
运算规则:先进行与运算,再将结果取反。只有当两个输入都为 1 时,输出为 0;其余情况输出均为 1。
逻辑表达式:Y = ¬(A · B)
图形符号:
真值表:
| A | B | Y = ¬(A · B) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
5、或非运算(NOR) #
运算规则:先进行或运算,再将结果取反。只有当两个输入都为 0 时,输出为 1;只要有一个输入为 1,输出即为 0。
逻辑表达式:Y = ¬(A + B)
图形符号:
真值表:
| A | B | Y = ¬(A + B) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
6、异或运算(XOR) #
运算规则:当两个输入不相同时,输出为 1;当两个输入相同时,输出为 0。
逻辑表达式:Y = A ⊕ B = (¬A · B) + (A · ¬B)
图形符号:
真值表:
| A | B | Y = A ⊕ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
7、同或运算(XNOR) #
运算规则:当两个输入相同时,输出为 1;当两个输入不同时,输出为 0。同或运算等价于对异或运算结果取反。
逻辑表达式:Y = ¬(A ⊕ B) = (A · B) + (¬A · ¬B)
图形符号:
真值表:
| A | B | Y = ¬(A ⊕ B) |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
8、与或非运算(AOI,AND-OR-INVERT) #
运算规则:与或非门是复合逻辑门。以常见的 AOI21 为例:先计算 A · B,再将该结果与 C 进行或运算,最后对总结果取反。
逻辑表达式:Y = ¬((A · B) + C)
图形符号:
真值表:
| A | B | C | A · B | (A · B) + C | Y = ¬((A · B) + C) |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 |
二、逻辑代数的基本定理 #
1、代入定理 #
代入定理说明:在一个恒等成立的逻辑等式中,若把等式两边同一个变量的所有出现位置,都用同一个逻辑表达式替换,那么替换后的等式仍然成立。它的本质是:逻辑等式对变量的具体表示形式不敏感。原来把某个变量看作一个整体,后来也可以把一个更复杂的逻辑式看作这个整体来参与运算。
若逻辑恒等式为: 则对任意逻辑表达式 ,将 全部替换为 后,仍有: 更一般地,若同时进行多个代换,例如 、,则:
使用规则:
- 必须在等式两边进行相同的替换。
- 同一个变量出现多次时,必须全部替换,不能只替换其中一部分。
- 被代入的 可以是单个变量、常量,也可以是包含与、或、非运算的复杂逻辑式。
- 代入后要注意括号,避免改变原式的运算结构。
主要用法:
- 将已经掌握的基本恒等式推广到复杂逻辑式。
- 在逻辑函数化简中,把复杂子式暂时看成一个整体,从而直接套用分配律、吸收律等公式。
- 在电路设计中,对模块的输入输出关系进行替换和组合。
2、反演定理 #
反演定理用于求一个逻辑表达式的反函数,即求 。对逻辑表达式 求反时,不需要先逐层展开再计算;只需按照一定规则,把原式中的逻辑变量、逻辑常量和运算符同时反演,即可得到 。
设逻辑函数为: 则其反函数可写为: 这表示:求 的反时,需要将变量取反、常量互换、与或运算互换。
对一个逻辑表达式整体取反时,按以下规则同时处理:
| 原内容 | 反演后 |
|---|---|
注意:原表达式中的括号层次不变,只是在每一层中将与、或互换,并对变量和常量进行反演。
主要用法:
- 快速求逻辑函数的反函数 。
- 将逻辑表达式转换为只用与非门或只用或非门实现的形式。
- 分析低电平有效信号,例如带横线的使能端、清零端和片选端。
- 对含有多层括号的逻辑式进行化简和变形。
3、对偶定理 #
对偶定理说明:任何一个成立的逻辑恒等式,将其中所有的“或”与“与”互换,同时将所有的 与 互换,得到的新等式仍然成立。由原表达式按上述规则得到的新表达式,称为原表达式的对偶式。
若逻辑恒等式为: 将其中的 与 互换,并将 与 互换,得到对偶式: 仍然成立。 也可简写为: 其中, 表示 的对偶式。
| 原内容 | 对偶后 |
|---|---|
注意:构造对偶式时,变量本身和变量的反变量均保持不变;只交换运算符和逻辑常量。括号层次也保持不变。
主要用法:
- 已知一个逻辑恒等式时,可迅速写出另一个同样成立的对偶恒等式。
- 减少公式记忆量。例如记住一条分配律,就能通过对偶关系得到另一条。
- 检查逻辑代数公式是否遗漏对应的对偶形式。
- 在逻辑函数化简和电路推导中,快速得到对称的变换结果。
三、逻辑函数的化简 #
把一个逻辑函数写成最小项标准表达式。它又称为标准与或式或最小项之和形式。与或式最简的标准,两个最少原则:
- 与项个数最少;
- 每个与项中变量个数最少。 这样,电路简单,实现容易,故障率低。
注意:最小项标准表达式是一种规范、完整的表达形式,不一定是项数最少的“最简表达式”。
1、最小项 #
定义: 对于含有 个变量的逻辑函数,若一个与项中:
- 个变量都出现;
- 每个变量只出现一次;
- 每个变量以原变量或反变量的形式出现; 则这个与项称为一个最小项。
例如,对于变量 : 是最小项,因为 都出现且各出现一次。 不是三变量函数 的最小项,因为它缺少变量 。 不是最小项,因为变量 重复出现,并且该项恒为 。
最小项的构造规则:
先固定变量顺序。例如规定变量顺序为 。
将某一输入组合写成二进制数时:
- 位值为 的变量写成反变量;
- 位值为 的变量写成原变量。
例如,输入组合 对应二进制数 ,十进制编号为 ,其最小项为:
三变量函数的全部最小项如下:
| 编号 | 的二进制值 | 最小项 |
|---|---|---|
2、最小项的性质 #
设函数有 个变量,则共有 个最小项,分别记为:
- 每个最小项只在唯一的一组输入下取
- 任意两个不同最小项互斥
- 全部最小项之和恒为
- 任意逻辑函数都能唯一表示为若干最小项之和
- 最小项编号取决于变量顺序
3、最小项标准表达式 #
若一个逻辑函数表示为若干个最小项的逻辑或,即:,则该表达式称为函数的最小项标准表达式。
4、公式法化简 #
公式法是利用逻辑代数的基本公式、基本定理和恒等变形,将原表达式逐步化简为最简与或式的方法。适用于变量较少、表达式结构较清晰,或者需要在推导过程中展示化简依据的题目。
核心思路: 公式法的目标不是机械地展开,而是不断寻找能够合并、吸收或删除冗余项的结构。化简时应优先寻找:
- 仅有一个变量互补的相邻项;
- 某一项被另一项包含的情形;
- 可以由冗余项删除的共识项;
- 可以通过因式分解后使用互补律或分配律的结构。
并项法: 当两个乘积项只有一个变量互补,而其他部分完全相同时,可以合并并消去这一对互补变量:
吸收法: 若一个项已经包含了另一个项所表示的全部情况,则较复杂的一项可以被吸收: 对偶形式为:
消因子法: 利用公式:,将带有互补因子的项化为更简单的或项。
消项法(冗余定理): 若表达式中存在下列结构:,其中的 称为冗余项,可以删除。
配项与补项: 配项的本质是通过等价变形构造可使用并项法、吸收法或冗余定理的结构。常用依据包括: 使用时必须保证加入或拆分后的表达式与原函数等价,不能随意增加非冗余项。
对偶式辅助化简: 对不易展开的逻辑式,可先化简其对偶式,然后根据化简后的对偶式再写出原逻辑式。
5、卡诺图法 #
卡诺图法是利用变量取值之间的相邻关系,将函数值为 的最小项在卡诺图中按 的整数次幂进行分组,从而直接得到最简与或式的方法。它尤其适合由真值表、最小项编号或最小项标准表达式求最简与或式的问题。
格雷码排列:
卡诺图的行、列标签必须按照格雷码排列,使相邻格只相差一个变量。[格雷码](格雷码 - 维基百科,自由的百科全书)是一个数列集合,相邻两数间只有一个位元改变,为无权数码,且格雷码的顺序不是唯一的。
例如,两位变量的排列顺序为:
不能写成普通二进制顺序 。
标记函数值:
对于最简与或式,应在函数值为 的格子中填入 。 若题目给出无关项,可以填入 。无关项可参与分组,也可以不参与分组,具体以能否使结果更简为准。
分组大小:
每一个分组中包含的格数必须为 的整数次幂:
分组越大,得到的乘积项中保留下来的变量越少。
相邻关系:
卡诺图中以下格子视为相邻:
- 水平相邻的格子;
- 垂直相邻的格子;
- 最左列与最右列对应的格子;
- 最上行与最下行对应的格子;
- 四个角上的格子彼此可以构成环绕相邻关系。
对角线方向的格子不相邻。
允许重叠
不同分组之间可以重叠。重叠的目的通常是覆盖某些只能由特定组覆盖的 ,或获得更大的分组以减少文字数。
卡诺图化简为最简与或式的步骤:
- 根据题目写出函数为 的最小项编号,或由真值表确定所有值为 的格子。
- 按格雷码顺序填写卡诺图。
- 优先圈出包含格子数最多的组,即优先圈 格、 格、 格,最后才考虑单格。
- 保证每一个 至少被一个分组覆盖。
- 先选择覆盖“孤立的 ”或“只能由一个组覆盖的 ”的必要分组。
- 对每个分组,找出在组内始终不变的变量:
- 不变且取值为 的变量写原变量;
- 不变且取值为 的变量写反变量;
- 在组内发生变化的变量消去。
- 将各分组对应的乘积项相加,得到最简与或式。
由分组写出乘积项的规则:
只有在整个分组内取值保持不变的变量才保留。设某个分组内:
- 始终为 ,保留 ;
- 始终为 ,保留 ;
- 、 在组内发生变化,删除 、。
则该组对应的乘积项为:
四变量卡诺图示例:
已知:
以 为行变量、 为列变量,卡诺图如下:
分组一:
将 和 两行的全部 作为一个 格组。由于卡诺图首尾相邻,这两行可以环绕相邻。
在该组中:
- 始终不变;
- 、、 都发生变化。
因此,该组对应的乘积项为:
分组二:
将 和 两行的全部 作为另一个 格组。
在该组中:
- 始终不变;
- 、、 都发生变化。
因此,该组对应的乘积项为:
将两个分组对应的乘积项相或,得到:
这就是该函数的最简与或式。
卡诺图法的选组原则:
为了使得到的表达式最简,应遵守以下优先级:
- 优先选择最大的组。
- 在能够覆盖所有 的前提下,分组个数尽量少。
- 分组时允许重叠,但重叠必须有助于减少项数或文字数。
- 不要遗漏边界相邻和角相邻的环绕关系。
- 最终每个 都必须至少被覆盖一次。
- 不要为了“看起来整齐”而使用比必要数量更多的小组。
评论
0评论功能待配置数据库后启用。