《数字电路》| 第 2 节 ‑ 逻辑代数与逻辑函数

发布时间:2026/8/20 13:01:03
《数字电路》| 第 2 节 ‑ 逻辑代数与逻辑函数 2.1 本节导论逻辑代数布尔代数是数字电路与计算机科学的数学基石它研究逻辑变量、逻辑运算及其规律。本章将系统讲解逻辑代数的基本概念、公理定律、三大规则、逻辑函数的多种表达形式以及公式法化简技巧为后续学习数字系统设计与分析奠定坚实的理论基础。2.2 逻辑代数基本概念逻辑代数Boolean Algebra又称布尔代数是研究逻辑变量、逻辑运算及其规律的数学分支。它由英国数学家乔治·布尔George Boole于19世纪创立是现代数字电路设计、计算机科学和形式逻辑的理论基础。2.2.1 逻辑代数的定义与特点逻辑代数是一种处理二值0和1变量的代数系统其核心特点包括二值性逻辑变量只有两种取值——0假False和1真True。三种基本运算与AND记作 · 或 ∧、或OR记作 或 ∨、非NOT记作 ’ 或 ¬。公理化体系基于一组基本公理如0-1律、互补律等推导出所有定律和规则。与普通代数的区别逻辑代数中“”和“·”不表示数值的加法和乘法而是表示逻辑关系的“或”和“与”且满足 A (B · C) (A B) · (A C) 等特殊规律。2.2.2 逻辑代数的基本元素1. 逻辑变量Logic Variable用字母如 A, B, C, X, Y表示取值仅为 0 或 1。代表一个逻辑命题的真假状态例如A 1 表示“开关闭合”A 0 表示“开关断开”。2. 逻辑常量Logic Constant逻辑 0表示假False、低电平、关断、不成立等。逻辑 1表示真True、高电平、导通、成立等。3. 逻辑运算Logic Operation基本逻辑运算与AND、或OR、非NOT。复合逻辑运算由基本运算组合而成如与非NAND、或非NOR、异或XOR、同或XNOR。2.2.3 逻辑代数的表示方法真值表Truth Table列出所有输入组合对应的输出值直观展示逻辑功能。逻辑表达式Logic Expression用运算符连接变量构成的式子如 F A · B C’。逻辑图Logic Diagram用逻辑门符号表示运算关系的电路图。卡诺图Karnaugh Map用于逻辑函数化简的图形工具。波形图Timing Diagram展示信号随时间变化的图形用于时序分析。2.2.4 逻辑代数的应用领域数字电路设计构成计算机硬件的基础用于设计逻辑门、触发器、寄存器等。计算机编程布尔逻辑是条件判断、循环控制的核心。数据库查询SQL 中的 WHERE 条件使用 AND、OR、NOT 进行数据筛选。搜索引擎布尔检索模型支持 AND、OR、NOT 组合关键词。人工智能知识表示、推理系统、专家系统的基础。形式验证验证硬件设计或软件协议的正确性。2.2.5 学习逻辑代数的重要性理论基础是理解数字系统工作原理的数学基础。设计工具掌握逻辑化简方法可优化电路减少成本与功耗。思维训练培养抽象思维和逻辑推理能力。跨学科应用在计算机科学、电气工程、自动化等多个领域均有广泛应用。逻辑代数为后续学习逻辑函数、组合逻辑电路、时序逻辑电路等内容奠定了坚实的理论基础。接下来我们将深入探讨逻辑代数的基本运算与复合运算。2.3 基本逻辑运算与复合逻辑运算逻辑运算是对逻辑变量进行的操作是构成复杂逻辑函数的基础。逻辑运算分为基本逻辑运算和复合逻辑运算两大类。2.3.1 三种基本逻辑运算基本逻辑运算只有三种与AND、或OR、非NOT。所有复杂的逻辑关系都可以由这三种基本运算组合而成。1. 与运算AND逻辑乘逻辑含义当且仅当所有输入变量都为“1”真时输出才为“1”否则输出为“0”。运算符·点乘、∧、且、AND。逻辑表达式F A · B 或 F A ∧ B。口诀有0出0全1出12. 或运算OR逻辑加逻辑含义只要有一个输入变量为“1”真输出就为“1”只有当所有输入都为“0”时输出才为“0”。运算符加号、∨、或、OR。逻辑表达式F A B 或 F A ∨ B。口诀有1出1全0出03. 非运算NOT逻辑反逻辑含义输出与输入状态相反。运算符上划线或撇号、¬、NOT。逻辑表达式F A’ 或 F ¬A 或 F A‾\overline{A}A口诀入0出1入1出02.3.2 复合逻辑运算复合逻辑运算是由两种或两种以上基本逻辑运算组合而成的运算。最常见的复合逻辑运算包括与非NAND、或非NOR、异或XOR、同或XNOR。1. 与非运算NAND逻辑含义先进行“与”运算再对结果进行“非”运算。逻辑表达式F (A · B)’ 或 F ¬(A ∧ B) 或 F A⋅B‾\overline{A \cdot B}A⋅B特性与非门是通用门仅用与非门就可以实现与、或、非三种基本运算因此在数字电路设计中非常重要2. 或非运算NOR逻辑含义先进行“或”运算再对结果进行“非”运算。逻辑表达式F (A B)’ 或 F ¬(A ∨ B) 或 F AB‾\overline{A B}AB​特性或非门也是通用门仅用或非门也可以实现所有基本逻辑运算。3. 异或运算XOR逻辑含义当两个输入变量取值相同时输出为“0”取值不同时输出为“1”。运算符⊕逻辑表达式F A ⊕ B A’·B A·B’。应用常用于比较器、奇偶校验、加法器半加器等电路。4. 同或运算XNOR逻辑含义当两个输入变量取值相同时输出为“1”取值不同时输出为“0”。它是异或运算的“非”。运算符⊙ 或 ⊕’。逻辑表达式F A ⊙ B (A ⊕ B)’ A·B A’·B’应用常用于比较器、奇偶校验等需要判断两个输入是否相等的场合2.4 逻辑代数的公理与基本定律2.4.1 常量之间的逻辑关系逻辑常量只有两个逻辑0假False和逻辑1真True。它们之间的基本逻辑关系是逻辑代数公理体系的基础定义了逻辑运算在常量上的行为。理解这些关系是掌握所有后续定律和化简技巧的前提。下表列出了逻辑常量之间进行与AND、或OR、非NOT三种基本运算的结果运算表达式结果逻辑含义与AND0 · 00两个条件都为假结果为假。0 · 10有一个条件为假结果为假。1 · 00有一个条件为假结果为假。1 · 11两个条件都为真结果为真。或OR0 00两个条件都为假结果为假。0 11有一个条件为真结果为真。1 01有一个条件为真结果为真。1 11两个条件都为真结果为真。非NOT0’1假的否定为真。1’0真的否定为假。核心公理0-1律常量之间的关系构成了逻辑代数的公理其中最核心的是0-1律又称同一律与运算的0-1律A · 0 0任何变量与0相与结果恒为0A · 1 A任何变量与1相与结果等于变量本身或运算的0-1律A 0 A任何变量与0相或结果等于变量本身A 1 1任何变量与1相或结果恒为1非运算的0-1律互补律0 11 0掌握常量之间的逻辑关系是理解更复杂的变量关系、进行逻辑函数化简和电路分析的第一步。2.4.2 变量与常量、变量之间逻辑关系在掌握了常量之间的基本关系后我们进一步探讨逻辑变量与常量以及逻辑变量之间的基本逻辑关系。这些关系是逻辑代数的公理体系是后续所有定律和化简规则的推导基础。变量与常量的基本关系关系名称逻辑表达式逻辑含义与0律A · 0 0任何变量与逻辑0相与结果恒为00是与运算的零元。与1律A · 1 A任何变量与逻辑1相与结果等于变量本身1是与运算的单位元。或0律A 0 A任何变量与逻辑0相或结果等于变量本身0是或运算的单位元。或1律A 1 1任何变量与逻辑1相或结果恒为11是或运算的零元。变量与变量之间的基本公理逻辑变量之间的基本关系是逻辑代数运算规则的基石主要包括以下三条核心公理1. 互补律Complement Law互补律描述了一个变量与其反变量之间的关系是逻辑代数中“非”运算的核心体现。与形式的互补律A · A 0逻辑含义一个变量与其反变量相与结果恒为假0。因为一个命题和它的否定不可能同时为真。或形式的互补律A A 1逻辑含义一个变量与其反变量相或结果恒为真1。因为一个命题和它的否定总有一个为真。2. 重叠律Idempotent Law重叠律描述了同一变量重复运算的结果。与形式的重叠律A · A A逻辑含义同一个变量相与结果仍是它本身。这体现了逻辑的确定性。或形式的重叠律A A A逻辑含义同一个变量相或结果仍是它本身。3. 还原律Involution Law / Double Negation还原律是“非”运算的重要性质已在2.3.3节作为对合律提及这里作为公理再次强调。还原律(A) A逻辑含义对一个变量连续取反两次得到原变量本身。即“非非即原”。理解并熟练运用这些变量与常量、变量与变量之间的基本关系是掌握逻辑代数、进行有效逻辑推理和电路设计的关键第一步2.4.3 逻辑代数常用核心定律逻辑代数的常用核心定律是基于公理推导出的重要恒等式它们在逻辑函数化简、电路设计和形式验证中具有广泛应用。以下是逻辑代数中最常用、最核心的几类定律1. 交换律Commutative Law与运算交换律A · B B · A或运算交换律A B B A交换律表明逻辑运算中操作数的顺序不影响结果这与普通代数中的乘法、加法交换律类似。2. 结合律Associative Law与运算结合律(A · B) · C A · (B · C)或运算结合律(A B) C A (B C)结合律允许在不改变运算顺序的情况下重新分组操作数便于化简复杂表达式。3. 分配律Distributive Law与对或的分配律A · (B C) A · B A · C或对与的分配律A (B · C) (A B) · (A C)分配律是逻辑代数中最重要的定律之一特别是第二个或对与的分配律在普通代数中不成立这是逻辑代数的特性。4. 吸收律Absorption Law第一吸收律A A · B A第二吸收律A · (A B) A第三吸收律A A’ · B A B第四吸收律A · (A’ B) A · B吸收律是逻辑函数化简中最实用的工具可以快速消除冗余项。5. 摩根定律De Morgan’s Law与的摩根定律(A · B)’ A’ B’或的摩根定律(A B)’ A’ · B’摩根定律建立了与、或运算与非运算之间的关系是逻辑电路设计中与非门、或非门实现的基础。6. 对合律Involution Law双重否定律(A’)’ A对合律表明对一个变量连续取反两次得到原变量本身。7. 冗余律Redundancy Law冗余项消除A · B A · B’ A冗余因子消除(A B) · (A B’) A冗余律在卡诺图化简和公式法化简中经常使用。8. 一致性定理Consensus Theorem与形式一致性A · B A’ · C B · C A · B A’ · C或形式一致性(A B) · (A’ C) · (B C) (A B) · (A’ C)一致性定理用于消除表达式中的冗余项是逻辑化简的高级技巧这些核心定律构成了逻辑代数的基础框架熟练掌握它们对于后续学习逻辑函数化简、组合逻辑电路设计至关重要。2.5 逻辑代数三大重要规则逻辑代数中除了基本定律外还有三大重要规则代入规则、反演规则和对偶规则。它们是推导新公式、求解反函数和验证等式的重要工具在逻辑函数化简和电路设计中应用广泛2.5.1 代入规则代入规则Substitution Rule是指在任何成立的逻辑等式中将等式两边所有出现的某一变量统一替换为一个任意逻辑函数表达式替换后的等式依然成立。核心要点替换必须是全部替换即等式中所有出现该变量的位置都要替换。替换的表达式可以是任意复杂的逻辑函数。替换后等式的成立性保持不变。示例已知等式A · (B C) A · B A · C分配律将等式中的B全部替换为(D E)得到A · [(D E) C] A · (D E) A · C该等式依然成立。应用意义代入规则是逻辑代数中推导新公式的基础。通过将已知定律中的变量替换为更复杂的表达式可以扩展定律的适用范围得到更多有用的恒等式。2.5.2 反演规则反演规则Inversion Rule是求解逻辑函数反函数补函数的通用方法。根据反演规则对任意逻辑函数F其反函数F可以通过以下步骤求得操作步骤三换两不变类别操作说明三换与运算·↔ 或运算将原函数中的“与”换成“或”“或”换成“与”原变量 ↔ 反变量将每个变量取反A换成AA换成A。0 ↔ 1将常量 0 换成 11 换成 0。两不变运算优先级括号层级保持不变不改变原有括号结构和运算顺序。长非号保持不变覆盖多个变量的长非号如(A B)保持不变。注意异或、同或 先展开为与‑或表达式再使用反演规则运算示例求函数F A · B C · D的反函数F。按照反演规则与运算·换成或运算或运算换成与运算·。原变量换成反变量A → AB → BC → CD → D。常量 0 和 1 互换本例无常量。得到F (A B) · (C D)应用意义反演规则是求解逻辑函数反函数的最直接方法在数字电路设计中用于求补电路、分析逻辑门的互补关系等。2.5.3 对偶规则对偶规则Duality Rule是逻辑代数中验证等式成立、推演新公式的核心工具。对任意逻辑函数F将其中的与运算·换成或运算、或运算换成与运算·、常量 0 换成 1、常量 1 换成 0得到的函数称为原函数的对偶式记作FDF^DFD操作步骤两换三不变类别操作说明两换与运算·↔ 或运算将“与”换成“或”“或”换成“与”。0 ↔ 1将常量 0 换成 11 换成 0。三不变运算优先级括号层级保持不变不改变原有括号结构和运算顺序。长非号保持不变覆盖多个变量的长非号保持不变。变量不变变量本身不取反保持原样。注意异或、同或 先展开为与‑或表达式再使用对偶规则运算对偶规则的核心性质若两个逻辑等式成立则它们的对偶式也成立。即若 F G则FDGDF^D G^DFDGD示例已知等式A A · B A吸收律对其两边取对偶左边A A · B的对偶式为A · (A B)。右边A的对偶式为A。得到对偶等式A · (A B) A这正是第二吸收律验证了吸收律的对偶性。应用意义对偶规则使得一个定律可以推出两个形式大大简化了公式的记忆和推导。例如掌握了分配律A · (B C) A · B A · C利用对偶规则即可直接得到A (B · C) (A B) · (A C)。掌握这三大规则是深入理解逻辑代数、熟练进行逻辑函数化简和电路设计的重要基础。2.6 逻辑函数的表达形式逻辑函数可以用多种形式来表达不同形式各有其特点和适用场景。常见的表达形式包括与-或式、或-与式、与非-与非式、或非-或非式和与-或-非式。掌握这些形式及其相互转换方法是进行逻辑函数化简和电路实现的基础。2.6.1 与‑或式与-或式Sum of ProductsSOP是逻辑函数最常用、最基础的一种表达形式。它由若干个乘积项与项通过或运算连接而成。2.6.2 或‑与式或-与式Product of SumsPOS是逻辑函数的另一种重要表达形式。它由若干个和项或项通过与运算连接而成。2.6.3 与非‑与非式与非-与非式是逻辑函数的一种单一门实现形式。它只使用与非运算NAND来表达整个逻辑函数。2.6.4 或非‑或非式或非-或非式是逻辑函数的另一种单一门实现形式。它只使用或非运算NOR来表达整个逻辑函数。2.6.5 与‑或‑非式与-或-非式是逻辑函数的一种混合门实现形式。它由若干个乘积项与项通过或运算连接后再整体取反而成。注意事项与-或式和或-与式是基本形式其余三种形式可由它们转换得到各种形式之间可以相互转换选择哪种形式取决于具体的应用场景和实现要求。掌握这五种表达形式及其转换方法是深入理解逻辑函数、进行逻辑化简和电路设计的重要基础。2.7 逻辑函数的公式法化简逻辑函数化简的核心目标是得到最简与或式乘积项最少 每个乘积项的变量数最少。公式法化简就是利用逻辑代数的基本定律和恒等式对逻辑函数表达式进行等价变换从而消去冗余项和冗余因子得到最简形式的过程。化简结果不唯一但是一定是最简形式2.7.1 化简的目标最简与‑或式最简与-或式是指满足以下两个条件的与-或表达式乘积项与项的个数最少。每个乘积项中变量的个数最少。为什么以最简与-或式为目标与-或式是逻辑函数最基础、最通用的表达形式便于后续转换为其他形式。乘积项越少、每个乘积项变量越少对应的逻辑电路越简单所需门电路数量越少从而降低成本和功耗。最简与-或式是卡诺图化简和公式法化简的共同目标。示例化简F A · B A · BF A · B A · B A · (B B) 提取公因子 A A · 1 互补律B B 1 A 与1律A · 1 A化简前有 2 个乘积项、共 4 个变量化简后只有 1 个乘积项、1 个变量达到了最简形式。2.7.2 基础化简公式基础化简公式是公式法化简中最常用、最直接的恒等式主要用于消去冗余项或冗余因子。一并项法合并相邻项利用互补律A A 1 或 A · A 0将两个只有某个变量互为反变量的乘积项合并为一个A · B A · B A · (B B) A二吸收法消去吸收项利用吸收律A A · B A消去被吸收的冗余项A A · B A A · (A B) A三消因子法消去冗余因子利用吸收律的变形A A · B A B消去乘积项中的冗余因子A A · B A B A · (A B) A · B四配项法添加冗余项再消去利用A A · (B B)或A A A · B先添加冗余项再与其他项合并化简A · B A · C B · C A · B A · C B · C · (A A) 配项 A · B A · C A · B · C A · B · C A · B · (1 C) A · C · (1 B) 提取公因子 A · B A · C 吸收冗余项2.7.3 进阶推演公式进阶推演公式是由基础公式推导出的更复杂的恒等式用于处理交叉项和冗余项的消去。一冗余律消去交叉项A · B A · C B · C A · B A · C A · B A · C B · C· D A · B A · C当A · B和A · C同时存在时B · C是冗余项可以消去。二冗余因子消除(A B) · (A C) · (B C) (A B) · (A C)这是冗余律的对偶形式用于或-与式的化简。三综合化简示例化简F A · B A · C B · C · DF A · B A · C B · C · D A · B A · C B · C · D · (A A) 配项 A · B A · C A · B · C · D A · B · C · D A · B · (1 C · D) A · C · (1 B · D) 提取公因子 A · B A · C 吸收冗余项2.7.4 异或、同或化简公式异或XOR和同或XNOR运算在数字电路中应用广泛掌握它们的化简公式可以简化包含异或、同或运算的逻辑函数。一异或运算的基本性质A ⊕ 0 A 与0异或结果不变 A ⊕ 1 A 与1异或结果取反 A ⊕ A 0 与自身异或结果为0 A ⊕ A 1 与反变量异或结果为1 A ⊕ B B ⊕ A 交换律 (A ⊕ B) ⊕ C A ⊕ (B ⊕ C) 结合律二异或的展开与合并A ⊕ B A · B A · B 异或的与-或展开式 A ⊕ B (A B) · (A B) 异或的或-与形式 A · B A · B (A ⊕ B) A ⊙ B 同或的与-或展开式三同或运算的基本性质A ⊙ 0 A A ⊙ 1 A A ⊙ A 1 A ⊙ A 0 A ⊙ B B ⊙ A四异或、同或与基本运算的关系A ⊕ B (A ⊙ B) A ⊙ B (A ⊕ B) A ⊕ B A ⊙ B A ⊙ B五化简示例化简F A ⊕ B ⊕ AF A ⊕ B ⊕ A (A ⊕ A) ⊕ B 结合律 0 ⊕ B A ⊕ A 0 B 0 ⊕ B B2.7.5 逻辑运算优先级在进行公式法化简时必须遵循逻辑运算的优先级顺序否则会得到错误的结果。优先级顺序从高到低括号( )优先级最高用于强制改变运算顺序。非运算取反单目运算符优先级仅次于括号。与运算·逻辑乘双目运算符优先级高于或运算。或运算逻辑加双目运算符优先级最低。注意事项异或⊕和同或⊙的优先级介于与运算和或运算之间但在化简时建议用括号明确运算顺序避免歧义。当表达式中出现连续多个相同优先级的运算符时按从左到右的顺序计算左结合。化简过程中每一步变换都必须保持逻辑等价性即变换前后的函数值完全相同。示例化简F A · B A · C A · BF A · B A · C A · B A · (B C) A · B 提取公因子 A A · B A · C A · B B · (A A) A · C 合并含 B 的项 B · 1 A · C 互补律A A 1 B A · C 与1律B · 1 B化简前有 3 个乘积项、共 6 个变量化简后有 2 个乘积项、共 3 个变量达到了最简与-或式。总结公式法化简的核心是灵活运用基础化简公式、进阶推演公式以及异或、同或化简公式同时严格遵守逻辑运算的优先级。熟练掌握这些方法可以高效地将复杂逻辑函数化简为最简形式为后续的电路设计奠定基础。2.8 本节小结本章系统阐述了逻辑代数的基础理论从逻辑变量、常量与基本运算出发深入讲解了公理体系、核心定律以及三大重要规则代入、反演、对偶。在此基础上介绍了逻辑函数的五种表达形式及其转换并重点讲解了公式法化简的目标、常用公式与技巧。掌握这些内容是进行逻辑设计、电路优化和后续数字系统学习的必备基础。