Menu Close

第三节 组合逻辑运算基础

上节内容介绍了基本逻辑运算的含义,真值表,逻辑方程等内容。这些基本运算还不足以描述整个事物发展的各个状态的逻辑关系。但逻辑代数已经构建了整个逻辑运算的规则,这些规则就是由基本逻辑运算与、或、非得各种组合形成。在学习与、或逻辑时就已经提到了多项组合,如Y=ABCD, Y=A+B+C+D 等。但逻辑代数中不仅能完成这些简单的组合运算,它们之间也能相互组合,如“与”和“非”组合形成与非,“与”、“或”组合形成“与或”逻辑,“或”、“非”组合形成“或非”逻辑等运算,组合后的逻辑还可以继续组合,最终形成非常复杂的组合逻辑运算,如:Y=AB+CD。当然这些复杂的组合逻辑在运算时也遵守特定的数学规则,如运算的优先级,运算顺序(如从左到右的计算顺序),交换律,结合律,分配律等。在学习逻辑符号真值表逻辑函数后,就以这三种更专业的方式为大家介绍组合逻辑设计。

1.  与非逻辑运算

与非逻辑运算是将与运算和非运算组合在一起的运算。

  • 逻辑函数如下:

%title插图%num

  • 与非逻辑符号

与非的逻辑符号如图1所示,左边的是IEC(国际电工委员会)规定的逻辑符号,右边的ANSI与IEEE(电气工程师协会)规定的与非逻辑符号,便于在逻辑设计中使用。

%title插图%num

图1  与非逻辑符号

 

%title插图%num

图2 与非逻辑真值表

对于与非运算,也可以分两步进行,如Y=~(A&B),第一步,Z=A&B, 第二部Y =~Z。如图3所示,

%title插图%num

图3 与非门的等效电路符号

注意: 由于在与非组合运算时“非”的优先级高于“与”, 因此为了正确表达,在需要的地方应加(), 如Y=~(A&B)与Y=~A&B的含义是不同的;Y=~A&B的含义是先将A取非再与B相与。

2. 或非运算

或非运算是将或运算和非运算组合在一起的运算。

  • 逻辑函数

%title插图%num

  • 逻辑符号

%title插图%num

图4  或非逻辑符号

  • 真值表

%title插图%num

图5 或非逻辑真值表

同样或非也可以看成两步运算,即先进行A与B或运算,再将结果取非。如图6所示,

%title插图%num

图6 或非等效电路符号

注意: 由于在与非组合运算时“非”的优先级高于“或”, 因此为了正确表达,在需要的地方应加(), 如Y=~(A|B)与Y=~A|B的含义是不同的;Y=~A|B的含义是先将A取非在与B相或。

3. 与或运算

与或运算是指在逻辑方程中,赋值语句右边的逻辑表达式既含有与逻辑,又包含或逻辑;先“与”后“或”,如 逻辑函数Y=AB+CD, 在逻辑表达式AB+CD中,先计算AB,CD后计算二者的或。由于与逻辑的优先级高于或逻辑,因此Y=AB+CD与Y=(AB)+(CD)。电路逻辑符号如图7所示。

%title插图%num

图7 与或电路符号

由于与或运算是常规设计,没有规定特定符号,直接由与门电路符号及或门电路符号组合设计而成。

4. 或与运算

或与运算是指在逻辑函数中,赋值语句右边的逻辑表达式既含有或逻辑,又含有与逻辑,先“或”后“与”,如 逻辑函数Y=(A+B)(C+D), 在逻辑表达式(A+B)(C+D)中,先计算A+B,C+D后计算二者的与。由于与逻辑的优先级高于或逻辑,因此Y=(A+B)(C+D)中的括号不能省略。电路逻辑符号如图8所示。

%title插图%num

图8 或与逻辑电路符号

由于或与运算是常规设计,没有规定特定符号,直接由或门电路符号及与门电路符号组合设计而成。

5. 异或逻辑

异或逻辑也是由与、或、非组合而成,但由于异或是常用的逻辑,特别在通信和编码领域应用及其广泛,因此异或有专门的符号。

  • 逻辑表达式:

%title插图%num                    (1)                       ———–数字电路的表达方式

          Y   =(~A)B|A(~B) = ~AB|A~B =A^B                           (2)                                           —————in Verilog or  System Verilog

在数字电路中以⊕表示异或运算,在Verilog或System Verilog中以^表示异或运算。从表达式 ~AB|A~B可以看出“非”运算优先级高于“与”和“或”运算,因此括号可以省略。

  • 异或真值表

%title插图%num

图9

从真值表中可以看出,只有A,B的值不同时,Y的值为1,否则为0。

  • 异或逻辑符号

    • 异或逻辑由与、或、非设计的符号如图10:

%title插图%num

图10

 

根据 逻辑函数Y  =(~A)B|A(~B) = ~AB|A~B 生成的逻辑电路符号如图11,

%title插图%num

图11 由与或非构成的异或电路

异或逻辑可以实现一位加法运算。因为异或运算与1位加法运算的真值表相同。这一点在2进制数运算时就已经探讨过。

6. 与或非逻辑

与或非运算就是在与、或运算之后再叠加非运算。

  • 逻辑方程:

    •   %title插图%num                                 ————数字电路
    • Y      = ~(A&B|C&D)= ! (A&B|C&D)               ———– Verilog  或System Verilog
  • 逻辑符号

%title插图%num

图12

作业题:

(1)用2输入端与门实现 Y=ABC, 画出真值表并验证结果 。

(2) 用2输入端或门实现 Y=A+B+C, 画出真值表并验证结果。

(3)用2输入端与、或门实现 Y=ABC+AC ,画出真值表并验证结果。

(4)用2输入端与非、或非门实现 Y=AB ,画出真值表并验证结果。

(5)用2输入端与、或、非门实现 Y=~(AB) +BC 画出真值表并验证结果。

(6)用2输入端与、或、非门实现 Y=~(AB +BC) 画出真值表并验证结果。

(7)用2输入端与非门、或门实现 Y=AB +BC。

(8)用2输入端与非、或门实现 Y=~(A+B+ BC)。并注意观察Y=~(A+B+ BC)与Y=~(A+C)的有何不同。(提示,(1)真值表对比,(2)A+1=1 , A•1=A)

(9)用2输入端或非门实现 Y = A+B。

(10)用2输入端与、或非门实现 Y = AB +BC 画出真值表。

(11)用2输入端与、或、非门实现 Y = AB + BC 画出真值表。

 

 

 

Posted in IC, 教材与教案, 数字电路基础, 文章

发表回复

相关链接