数字电子技术基础

官方工学老师·21 页·深入(追求细节与边界)·0 次浏览·2 天前
布尔代数逻辑门卡诺图数制编码

数字电子技术基础

看清一个开关如何被翻译成公式、真值表、卡诺图与门电路

按 空格/→ 演示下一步

1 / 21 页

全部页面点击任意一页,跳回舞台从这页播放

布尔代数逻辑门卡诺图数制编码

数字电子技术基础

看清一个开关如何被翻译成公式、真值表、卡诺图与门电路

1第 1 页 · 数字电子技术基础

复合逻辑运算

上一页搭出了与、或、非三种基本积木——但工程师造芯片时更偏爱「预先拼好」的小模块,这样电路更紧凑。这就是复合逻辑。

与非 NAND
先与后非:Y = ~(A·B),A、B 同时为 1 才输出 0
或非 NOR
先或后非:Y = ~(A+B),任一为 1 就输出 0
异或 XOR
相异为 1:Y = A⊕B,等价于 A·~B + ~A·B
同或 XNOR
相同为 1:Y = ~(A⊕B),是异或的取反
通用性
只用与非门或只用或非门,就能搭建任意逻辑
厨房做菜对应 →复合逻辑门

基础门是切/炒/煮,复合门是糖醋、红烧等组合菜式

YNAND=AB, YNOR=A+B, AB=ABˉ+AˉB, AB=AB+AˉBˉY_{NAND}=\overline{AB},\ Y_{NOR}=\overline{A+B},\ A\oplus B=A\bar B+\bar A B,\ \overline{A\oplus B}=AB+\bar A\bar B
2第 2 页 · 复合逻辑运算

四种复合逻辑运算图解

左列是三种基本运算(与、或、非),箭头连到右侧的四种复合门。读图路径:基本 → 复合,箭头表示'由谁构成'。

图解渲染中…
D与运算后再取反,即'先与后非'E或运算后再取反,即'先或后非'F两输入相异时输出1,相同时输出0G异或再取反,两输入相同时输出1
3第 3 页 · 四种复合逻辑运算图解

逻辑代数的基本公式

前页复合逻辑运算给了我们'积木',但要拼装和化简复杂逻辑式还缺一套'计算规则'。这就像代数要先背 a×1=a、a+0=a,逻辑代数也有八组基本恒等式,记住后才能'信手拈来'。

0-1律
A·0=0,A+1=1——变量与0/1运算时被'吞没'
互补律
A·Ā=0,A+Ā=1——原变量与反变量必分出胜负
同一律与重叠律
A·1=A,A+0=A;A·A=A——多余项可消、可叠
三大运算律
交换、结合律形式同代数;分配律多出 A+BC=(A+B)(A+C)
反演律(德·摩根)
(A·B)'=A'+B',(A+B)'=A'·B'——非号穿透,与或互换
算术恒等式 a×1=a、a+0=a对应 →逻辑代数同一律 A·1=A、A+0=A

结构完全对应;但逻辑多一条'加对乘可分配'——这是普通代数没有的边界

A0=0,  A+1=1AAˉ=0,  A+Aˉ=1A+BC=(A+B)(A+C)A \cdot 0 = 0,\; A + 1 = 1 \\ A \cdot \bar{A} = 0,\; A + \bar{A} = 1 \\ A + BC = (A+B)(A+C)
4第 4 页 · 逻辑代数的基本公式

逻辑代数的基本定理

前面记下的公式都只对单个变量成立,但电路里到处都是 A·(B+C) 这类复合表达式。怎么把那些公式「搬」到复合形式上?靠下面三条定理打通任督二脉。

代入定理
等式两边某变量处处替换为同一函数,等式仍成立——把单变量公式推广到复合变量
反演定理
对 Y 求反:·↔+、变量取反、常量取反;运算顺序保持不变
对偶定理
对偶式只把 ·↔+、0↔1;若 Y=Z 则 Yᵈ=Zᵈ
电路图里的与门/或门对应 →对偶式中的或门/与门

像把图纸里所有与门换成或门、或门换成与门——结构对称,等式仍成立

YD:+,01Y^D:\quad \cdot \leftrightarrow +,\quad 0 \leftrightarrow 1
5第 5 页 · 逻辑代数的基本定理

逻辑函数的定义

「如果天黑 AND 我在外面,就开灯」——「天黑」「在外面」各只有两种状态,开不开灯完全由它们决定。把这种「条件决定结果」的确定性因果关系写成 F = f(A₁, A₂, ...),就是逻辑函数。

函数形式
F = f(A₁, A₂, ..., Aₙ),n 个逻辑变量作输入,1 个作输出
完全确定性
输入一旦确定,输出就唯一确定——这是逻辑蕴含,不是统计相关
真值表即全展开
n 个变量最多 2ⁿ 种输入组合,每种都对应一个确定的输出值
多形式等价
同一函数可用表达式、真值表、卡诺图、波形图、逻辑图等多种形式描述
农田自动灌溉对应 →逻辑函数

土壤干(S)、没下雨(R)、白天(T) 三条件全为真 → 开阀门(V);条件一样,结果必然一样

F=f(A1,A2,,An)F = f(A_1, A_2, \ldots, A_n)
6第 6 页 · 逻辑函数的定义

逻辑函数的三种表示法

真值表、函数表达式、逻辑图的结构与对应关系

逻辑函数的三种表示法
真值表、函数表达式、逻辑图的结构与对应关系
7第 7 页 · 逻辑函数的三种表示法

逻辑函数形式的变换

逻辑函数既能用代数式表达,也能用真值表刻画;两者互转要分两条路走:方向一由式到表,方向二由表到式。

1
列出全部变量组合
n个变量共有2ⁿ种取值,按二进制顺序逐行排开,作为真值表的输入栏
2
逐行代入求值
把每组取值代入原式,算出对应的函数值,填入真值表的输出栏
3
挑出Y=1的最小项
在真值表中圈出输出为1的行,每行唯一对应一个最小项
4
最小项相或求和
把所有圈出的最小项用或号连起来,得到标准与或式
8第 8 页 · 逻辑函数形式的变换

标准形式:最小项之和

上一页我们看到同一逻辑函数可以写出多种与或式,但其中只有一种形式是'唯一确定'的——就像每个人都有唯一的身份证号。今天就来认识这种标准形式。

最小项
包含函数全部 n 个变量的乘积项,每个变量以原变量或反变量形式恰好出现一次
最小项编号
原变量记为1、反变量记为0,按变量顺序拼成二进制数,其十进制值即为该最小项编号 mᵢ
n 变量最小项数
共 2ⁿ 个,每对应真值表中唯一的一组输入;任意两个不同最小项相与恒为 0
标准与或式
全部由最小项求和构成的与或表达式,记作 F=Σmᵢ,对每个函数形式唯一确定
从真值表写出
真值表中输出为 1 的每一行直接对应一个最小项,把它们相加即得到标准与或式
保险箱密码转轮对应 →最小项

每个转轮对应一个变量,必须拨到原/反中特定位置,所有转轮到位才'命中'一项;每种拨法有唯一编号

F(A,B,C)=m(0,2,4)=ABC+ABC+ABCF(A,B,C) = \sum m(0,2,4) = \overline{A}\overline{B}\overline{C} + \overline{A}B\overline{C} + A\overline{B}\overline{C}
9第 9 页 · 标准形式:最小项之和

标准形式:最大项之积

上一页用「最小项之和」列出所有让函数为 1 的路径。这一页反过来——把所有让函数为 0 的情况打包成「否决条款」,再用「之积」把它们全部堵上。

最大项定义
包含全部 n 个变量的或项,每个变量以原变量或反变量出现且仅出现一次
编号规则
Mi 中下标 i 是令该项为 0 的变量取值组合,按二进制定序对应的十进制数
唯一 0 性质
n 变量共 2^n 个最大项,Mi 仅在第 i 行为 0,其余行全为 1
与最小项互补
同一编号下 Mi 与 mi 一一相反,Mi = (mi)',行号相同时两者恰为互补对
标准或与式
任意逻辑函数 = 所有使 f=0 的最大项之积(POS 标准形式)
黑名单条款对应 →最大项之积

每条最大项是一个否决条款(某种输入下函数必为 0),所有条款相乘就是标准或与式

$$M_i = \overline{m_i}, \quad f = \prod_{f(\text{row})=0} M_i$$
10第 10 页 · 标准形式:最大项之积

最小项与最大项的关系

对偶关系、编号对应关系与相互转换公式

最小项与最大项的关系
对偶关系、编号对应关系与相互转换公式
11第 11 页 · 最小项与最大项的关系

卡诺图的结构原理

真值表里011与100只差一个变量,但按二进制排列时中间隔了三行,视觉上「相距甚远」。化简时我们关心的恰是这种代数相邻——卡诺图用二维布局把它变成立即可见。

二维阵列布局
不再是一列的二进制真值表,而是把变量拆到行与列两个维度上展开
格雷码坐标排列
行/列坐标按格雷码(00→01→11→10)排列,非自然二进制顺序
相邻差一变量
上下左右相邻的两格,在逻辑上恰好只有一个变量发生变化
边界环绕相邻
最左与最右、最上与最下也视为相邻,矩形可视为卷起的环面
调色盘相邻颜色对应 →卡诺图相邻格子

调色盘相邻色只差一种原色分量;卡诺图相邻格只差一个变量

$\text{adj}(m_i, m_j) \iff H(m_i \oplus m_j) = 1$
12第 12 页 · 卡诺图的结构原理

卡诺图的填写方法

从最小项表达式出发,按规则一步步把 1 填入对应格子。

1
化为最小项之和
把函数展开成 Σm(i) 形式,列出所有编号为 i 的最小项
2
确定变量数 n
n 个变量对应 2ⁿ 个格子,常见 2/3/4 变量卡诺图
3
按格雷码标行列
行、列变量按相邻仅一位变化的顺序排列(接续上一页结构)
4
逐项对号入座
每个最小项 mᵢ 的下标 i 对应格子中变量的取值,填 1
5
余格填 0
未出现的最小项对应格子填 0,也可留空表示
13第 13 页 · 卡诺图的填写方法

卡诺图化简的核心步骤

画圈→合并→写式的三步流程图

卡诺图化简的核心步骤
画圈→合并→写式的三步流程图
14第 14 页 · 卡诺图化简的核心步骤

化简结果的判断标准

化简结果是不是「最简」,光看项数够不够?三种判定条件常被顾此失彼。

只看项数最少
  • 圈时优先让项数变少,忽略每圈大小
  • 漏掉「每圈尽可能大」的隐性冗余
  • 不检查是否存在可被替代的多余项
  • 看似「三项」实则并非真正最简
三大条件同时满足
  • 圈数最少——卡诺图上圈的总数量
  • 每圈尽量大——越大可消去的变量越多
  • 无冗余项——每个积项都不能被替代
  • 还要验证所有最小项是否被完整覆盖
三条件缺一不可:先保证覆盖完整,再让圈数最少,再让每圈尽量大。
15第 15 页 · 化简结果的判断标准

无关项的概念与分类

化简 BCD 码显示电路时,会发现输入 1010~1111 的组合根本不会发生——BCD 只表示 0~9。这些「用不到」的输入端化简时该如何处理?这就引出了无关项。

无关项定义
对函数输出没有约束的最小项,化简时既可视为 0 也可视为 1
约束项
受外部条件限制、永远不会出现的输入组合对应的最小项
任意项
是否出现由设计者约定,对应的函数输出可随意取值
表示方法
卡诺图中用 × 或 — 标记;表达式写作 ∑d(…)
化简价值
化简时可把无关项当 0 或 1 处理,选取最有利于卡诺图合并的值
酒店房型预订对应 →无关项

酒店只建到 5 层,6 层永不开放(约束);5 层总统套开放与否由店主说了算(任意)

d(10,11,12,13,14,15)\sum d(10,11,12,13,14,15)
16第 16 页 · 无关项的概念与分类

含无关项的卡诺图化简

处理含无关项的卡诺图,关键在于利用无关项的弹性,让它服务于更大的圈。

1
标出无关项
在卡诺图中用 × 标出所有无关项,确认其 0 或 1 皆可的弹性
2
圈定必要最小项
先把不能被更大圈覆盖的孤立 1 圈出来,建立化简基线
3
试探纳入扩圈
看哪些无关项能让相邻 1 合成 2ⁿ 组,新圈要被原有圈覆盖才划算
4
剩余按 0 处理
未参与圈的无关项全部视作 0,由各圈对应乘积项相或
17第 17 页 · 含无关项的卡诺图化简

逻辑函数的机器化化简法

python

用纯按位运算实现 Quine-McCluskey:无需画卡诺图,程序即可化简任意变量数。

代码高亮加载中…

化简结果是素蕴涵项 PI;布尔差分 ∂F/∂xᵢ 用于检测静态冒险与故障定位,与 Q-M 配合可定位组合电路冒险。

18第 18 页 · 逻辑函数的机器化化简法

自测检验

点击作答

卡诺图中两个相邻的1格可以合并为一个圈,本质上是因为相邻两格:

19第 19 页 · 自测检验

知识总结

  • 复合逻辑由基本运算按功能组合而成
  • 逻辑代数用公式和定理做等价变形
  • 同一函数可有多种表示,本质等价
  • 卡诺图借助几何相邻性找出最简项
  • 无关项可按需取值以扩大化简空间
延伸主题:组合逻辑电路分析与设计时序逻辑电路基础触发器与锁存器
20第 20 页 · 知识总结

课后思考

三个问题分别对应卡诺图维度扩展、多输出优化、人与工具的边界。先独立思考,再看参考答案。

1卡诺图擅长 4 变量以内,但现实中常遇到 5、6 个变量的函数。继续沿用画方格、相邻合并的思路,会在哪个环节首先遇到困难?

参考答案5 变量仍可画——用两个 4 变量图组合,中间变量切换。超过 6 变量后人工化简失效,需转向 Quine-McCluskey 算法或计算机工具。

2一个电路有两个输出 F1、F2,若分别对它们做卡诺图化简得到最简式,再共用同一组输入门电路,会出现什么现象?为什么?

参考答案会出现「看似最简、实际冗余」——两个输出的最简与项里可能藏着能共用的乘积项。共享这些项能减少总门数,所以多输出化简追求的是整体最简。

3用 Espresso 或 Logisim 化简一个函数,若结果与手工卡诺图一致,这说明什么?若不一致,你更倾向于相信哪一方?

参考答案一致说明手工化简已达全局最优,没有冗余遗漏。不一致时通常信任工具——但要先确认输入是否完整,因为工具不会「替你做选择」。

21第 21 页 · 课后思考
数字电子技术基础 · 知识图解