第 2 讲:逻辑代数、公式与标准形式

Boolean 代数中的变量只取 0 或 1。它描述的是两种逻辑状态,而不是普通数值大小;因此 1+1=11+1=1 表示“真或真仍为真”。

基本运算

  • 与:ABAB,只有两者都为 1 才为 1;
  • 或:A+BA+B,至少一个为 1 就为 1;
  • 非:Aˉ\bar A,状态取反;
  • 异或:A⊕B=AˉB+ABˉA\oplus B=\bar AB+A\bar B,不同为 1;
  • 同或:A⊙B=AB+AˉBˉA\odot B=AB+\bar A\bar B,相同为 1。

与非、或非门具有功能完备性:仅用 NAND 或仅用 NOR 就能实现任意逻辑函数。

常用公式

A+0=A,A⋅1=A,A+A=A,A⋅A=A,A+0=A,\quad A\cdot1=A,\quad A+A=A,\quad A\cdot A=A, A+Aˉ=1,AAˉ=0,A+\bar A=1,\qquad A\bar A=0, A+AB=A,A(A+B)=A,A+AB=A,\qquad A(A+B)=A, A+AˉB=A+B,A(Aˉ+B)=AB.A+\bar AB=A+B,\qquad A(\bar A+B)=AB.

De Morgan:

AB‾=Aˉ+Bˉ,A+B‾=AˉBˉ.\overline{AB}=\bar A+\bar B,\qquad \overline{A+B}=\bar A\bar B.

多层反演时要把括号里的运算全部对偶,并对每个变量取反。逻辑图“气泡推移”就是 De Morgan 在门级的表现。

对偶与反演

一个等式中交换 ++ 与 ⋅\cdot、交换 00 与 11,变量及其反变量不变,得到对偶式。若原等式成立,对偶式也成立。

求函数反函数 Fˉ\bar F 则要对整个函数取反,用 De Morgan 展开。对偶式和反函数不是一回事。

真值表到最小项

nn 个变量的每一种取值对应一个最小项:该取值下为 1,其他组合为 0。变量取 1 写原变量,取 0 写反变量。例如 ABC=101A B C=101 对应

m5=ABˉC.m_5=A\bar BC.

把函数输出为 1 的所有最小项相或,得到标准与或式:

F=∑m(i).F=\sum m(i).

编号按变量从高位到低位构成的二进制数确定,必须先声明变量顺序。

最大项与标准或与式

最大项在对应取值下为 0。变量取 0 写原变量,取 1 写反变量。例如组合 101 对应

M5=(Aˉ+B+Cˉ).M_5=(\bar A+B+\bar C).

函数输出为 0 的最大项相与:

F=∏M(j).F=\prod M(j).

若无关项集合为 d(k)d(k),这些输入在实现中可按 0 或 1 使用,但函数规范应单独标出,不能混进确定最小项。

表达形式之间转换

  • 普通逻辑式 → 真值表:枚举输入或逐级计算;
  • 真值表 → 标准与或:收集输出为 1 的最小项;
  • 真值表 → 标准或与:收集输出为 0 的最大项;
  • 与或 → 与非–与非:对整体做两次反演;
  • 或与 → 或非–或非:同理转换;
  • 异或结构明显时保留 XOR,往往比展开后更简。

逻辑图分析

从输入到输出逐级命名中间节点,写每一级逻辑式,再化简。看到输出端或输入端气泡时先确定其是否表示低有效,而不是把所有气泡都机械当成一次非门。

一个可靠的最终检查是任选几组输入,同时在原电路和化简表达式上计算,结果应一致。

评论