第2节 基本逻辑
数字技术的不断发展、提高,在现代生活、生产、科技、军事等方面发挥着不可替代的作用。英国数学家乔治·布尔(George Boole)在19世纪中叶提出的逻辑代数(又称布尔代数)是设计、分析数字逻辑电路的数学工具。
逻辑是指人类的思维以及客观事物的因果规律。逻辑代数是以数学方式研究条件与结果之间逻辑状态变化规律的理论。数字逻辑电路是按逻辑代数原理处理矩形脉冲电压信号(即数字信号)的组合及变换的电路。
一、逻辑状态和逻辑数据
1.事物的逻辑状态
自然界中的事物是多种多样的,事物的状态也是千变万化的,其中最简单、最基本的是同一事物的两种相互对立(也称为互反、互斥)状态,称为事物的逻辑状态。事物的复杂状态及其变化可以用最简单、最基本状态的复合形式表示。
2.基本逻辑
最基本而典型的逻辑关系只有三种,即与逻辑、或逻辑和非逻辑,简称与、或、非。在乔治·布尔的逻辑代数中将逻辑关系赋予运算功能,所以,还可称为与逻辑运算(简称与运算)、或逻辑运算(简称或运算)、非逻辑运算(简称非运算)。
依据条件数量的不同,这三种最基本的逻辑可分为“一对一”和“多对一”两种类型。
“一对一”类型的是非逻辑。非逻辑所表述的是“一个事件由一个条件决定,条件具备时事件不能成立(不发生)”的相互否定关系。例如“有故障的机器不能使用”,其中“故障有无”和“机器能不能使用”之间就是一种非逻辑关系。
“多对一”类型的是与逻辑和或逻辑。与逻辑和或逻辑都属于“一个事件由多个(至少两个)条件决定”关系中的典型因果规律。
与逻辑表述的是“只有条件全具备,事件才能成立(发生)”的因果规律。
或逻辑表述的是“只要有条件具备,事件就能成立(发生)”的因果规律。
3.逻辑数据
为把客观事物之间的因果关系转换为类似数学方式的逻辑运算,逻辑代数将事物的逻辑状态用二进制码0、1表示,叫做逻辑赋值。赋值后的0、1,各代表一种逻辑状态,称为逻辑数据。
在形式上逻辑赋值是可随意的,为了获得与语言表述一致的逻辑关系,通常把被关注的状态(即条件和事件的有效态)赋值为1,另一状态赋值为0。
通过逻辑赋值,把实际事物状态间的因果关系转换为逻辑数据的运算关系。逻辑运算可用逻辑电路(本书第2章介绍)完成,逻辑电路(又叫数字逻辑电路,简称数字电路)就是能够实现各种逻辑运算功能的电路。
二、逻辑的表述方式及特点
1.表述逻辑的基本方法及其特点
表述逻辑关系有文字(语言)命题、逻辑状态表、逻辑真值表、逻辑表达式、逻辑图形符号(逻辑图)、逻辑电路和电压波形图六种基本方法。
(1)定义是用文字(语言)表述一个逻辑事例,即用文字或语言说明事物状态间逻辑关系的方法。
(2)状态表是按照文字(或语言)表述的事物逻辑关系,把各条件状态的全部组合以及对应结果的状态列成表格。
(3)真值表是对状态表中的各种状态进行逻辑赋值后形成的0、1代码表。
(4)逻辑表达式(也叫逻辑函数表达式)是表述结果与条件之间逻辑关系的数学等式,由字母、0/1代码、逻辑运算符和相关数学符号组成。实际逻辑的条件在表达式中是逻辑变量、运算结果是逻辑函数,都用字母表示。逻辑表达式中的运算规则将结合实例介绍。
(5)逻辑符号是用图形加标识表述逻辑功能的方法,属于图形语言。逻辑符号既表示输入、输出信号之间逻辑运算关系,又是代表具有逻辑运算功能的电路符号。单个逻辑符号是最简单的逻辑电路图,多个逻辑符号相连接组合就是复杂逻辑电路图。在逻辑符号和逻辑电路图中,条件是电路的输入信号,结果是电路的输出信号,都用单线表示,即一条线表示一个信号。
(6)电压波形图是电路输入、输出信号实际动作的直观显示。逻辑电路的输入信号与输出信号之间的对应关系,也可以用电压变换的波形图表示。逻辑电路的实际波形图,需用逻辑分析仪(或多通道示波器)对电路检测,在仪器的屏幕上显示出来。理论波形可以按真值表中输入、输出逻辑值的对应值关系画出来。
这些表述逻辑的方法在处理实际逻辑问题过程中都有特定的用途,每种表述方式的应用及特点如表1-4所示。
表1-4 逻辑表述方式的应用及特点
2.基本逻辑(实例)的全面表述
数字逻辑电路的设计,首先由对逻辑关系的文字表述(命题)经过多种逻辑表述方式的转换,得出制作数字逻辑电路的逻辑图,再按图制作电路。这个过程如图1-1所示。
图1-1 各种逻辑表述方法及其相互关系
下面以基本逻辑为实例,介绍表述逻辑的各种方式及其转换。
1)非逻辑
(1)非逻辑定义:如果一个事件由一个条件决定,并且两者之间是互为否定的关系,这样的因果关系称为非逻辑。
非逻辑也叫取反。事件是条件进行非逻辑运算的结果。
(2)非逻辑实例:如图1-2所示,开关S闭合与灯泡L亮就是非逻辑关系。开关S闭合,灯泡L短路,得不到正常供电,不亮;开关S断开,灯泡L得到正常供电而亮。
图1-2 非逻辑实例
(3)非逻辑状态表:参照图1-2所示电路的连接关系,开关S与灯泡的状态关系如表1-5所示。
表1-5 开关与灯泡的非逻辑状态表
开关与灯泡的非逻辑状态表中,开关S和灯泡L各有两种状态。
(4)非逻辑真值表:对事物的逻辑状态赋值,通常把关注的状态赋值为1,另一状态赋值为0。在表1-5中,开关的闭合状态用1表示(赋值为1)、断开状态用0表示(赋值为0)。灯泡的亮状态用1表示(赋值为1)、不亮状态用0表示(赋值为0),如表1-6所示。
表1-6 非逻辑真值表
非逻辑真值表表示的逻辑含义如表1-7所示。
表1-7 非逻辑真值表逻辑含义
(5)非逻辑表达式:开关在什么状态下灯泡能亮是被关注,所以,按“开关不闭合时灯泡亮”对应的逻辑值关系,写出逻辑表达式:
表示非逻辑运算的方法是在运算对象上方加横线(这个横线就叫非号、反号), S上方的横线就是对S作非逻辑运算符,横线长度一定要覆盖运算对象整体。一条横线表示一次非运算。
等于号“=”在逻辑代数中既表示逻辑值相等,又用于表示表达式之间逻辑功能的等效关系。非逻辑表达式1-2是按真值表中S=0时L=1的对应值写出来,可读作“L等于S非”、“L等于S反”、“L等于S的反”。在非逻辑中,函数L与变量S呈相互否定关系,也就是互反关系,所以,表达式还可以按S=1时L=0的对应状态写成:
按L=1状态写出来的表达式称为逻辑的正函数,按L=0状态写出来的表达式称为逻辑的反函数。即表达式1-3是表达式1-2的反函数。
(6)非逻辑运算法则:
数值运算:
变量运算:
两个横线表示两次非运算,是对变量A取反、再取反,实现还原。对多层非号的运算要按“由下向上”顺序进行。上式可读作“A反(下层反号)反(上层反号)等于A”。
(7)非逻辑的图形符号:常见的非逻辑门符号有三种,如图1-3所示。
图1-3 常见的非逻辑门符号
(a)国标符号(b)旧符号(c)国外符号
在图1-3中,(a)为国标符号,(b)为曾用过的旧符号,(c)为国外资料中通用的符号。
对信号具有非逻辑运算功能的电路叫做非逻辑门(简称为非门)。
(8)非逻辑的电压波形图如图1-4所示,这是按表1-6画出来的非逻辑的理论波形。
图1-4 非逻辑波形
非逻辑(取反)在电压波形图中表现为输出信号对输入信号的倒相关系。
2)与逻辑
(1)与逻辑定义:如果一个事件至少由两个条件决定,并且只有全部条件同时具备,事件才能成立(或发生),这样的因果关系称为与逻辑。各条件之间为与逻辑关系,事件是条件的与运算结果。
(2)与逻辑实例:如图1-5所示的灯泡L与两个开关A、B的连接关系,只有开关A、B都闭合时,灯泡L才能亮,其他状况时灯泡都不能亮。
图1-5 与逻辑实例
(3)与逻辑状态表:把两个开关A、B的闭合、断开状态的全部组合与灯泡L的亮、不亮状态的对应关系列成表格,即得到状态表,如表1-8所示。
表1-8 开关与灯泡的状态对应关系表
(4)与逻辑真值表:把问题关注的灯泡L亮和开关闭合用1表示,开关断开和灯泡不亮状态用0表示,状态表就转换为真值表,如表1-9所示。
表1-9 与逻辑真值表
与逻辑的规律:输入信号中有0,输出即为0;输入全为1时输出才为1。可简称为:有0为0,全1为1。显然,一个输入端的0信号可屏蔽其他输入端1信号的输出。
真值表表示的逻辑含义如表1-10所示。
表1-10 与逻辑真值表的逻辑含义
(5)与逻辑表达式:按真值表中L=1时A=1、B=1的对应状态写成表达式:
灯泡L亮跟两个开关A、B状态的对应关系属于“只有条件全具备时事件才能成立”的与逻辑关系。表达式1-5是与逻辑表达式。表达式中的“· ”是与逻辑运算符,字母之间及字母跟数码之间的与运算符可以省略。数值之间的与运算符用“∧”表示,以便跟小数点相区别。所以,表达式1-5还可写成:
与逻辑,也可称作逻辑与、逻辑乘。表达式1-5、式1-6可读作“L等于A与B”、“L等于A乘B”。这里的L是A、B与运算的结果,A、B是逻辑变量,L是逻辑函数。一组变量作与运算叫做一个乘积项。
(6)与逻辑运算法则:
数值运算:
0∧0=0
1∧0=0∧1=0(交换律)
1∧ 1=1
变量运算:
按照逻辑表达式的运算规则,同类运算由左向右依次进行,超越规则的运算加括号表示。式1-8表示多个变量的与运算的运算顺序可随意组合进行,对最终运算结果无影响。表1-11是对1-8式的证明。
通过真值表中的对应运算证明1-8式等号两边的运算是等效的,等式成立。
表1-11 证明与运算结合律的真值表
变量与数值的运算:
对于公式、法则和定理(或定律)应该给以证明才能使用。对式1-8(结合律)已经证明,其他式的等效关系简单、直观,无须证明,可直接使用。
(7)与逻辑符号:对信号具有与逻辑运算功能的部件叫做与逻辑门(简称为与门)。常见的与逻辑门符号有三种,如图1-6所示。
图1-6 常见的与逻辑门符号
(a)国标符号(b)旧符号(c)国外符号
(8)与逻辑电路的电压波形图:按与逻辑真值表(表1-10)画出来的与逻辑电路的输入、输出信号波形的对应关系,如图1-7所示。
图1-7 与逻辑电压波形
在实际电路中,输入信号是随机变化的,但输出信号跟输入信号组合的对应关系是遵从与逻辑规律的。
3)或逻辑
(1)或逻辑定义:如果一个事件由两个以上(含两个)条件决定,并且只要有一个或多个条件具备,事件就能成立(或发生),这样的因果关系称为或逻辑。各条件之间为或逻辑关系,事件是条件或逻辑运算的结果。
(2)或逻辑实例:如图1-8所示,灯泡L与两个开关A、B的连接关系,只要开关A、B中有一个闭合或都闭合,灯泡L就能亮。
图1-8 或逻辑实例
(3)或逻辑状态表:把两个开关A、B的闭合、断开状态的全部组合与灯泡L的亮、不亮状态的对应关系列成表格,即得到状态表,如表1-12所示。
表1-12 灯泡L与开关A、B的状态对应关系表
(4)或逻辑真值表:把问题关注的灯泡L亮和开关闭合用1表示,开关断开和灯泡不亮状态用0表示,状态表就转换为真值表,如表1-13所示。
表1-13 或逻辑真值表
或逻辑的规律:输入信号中有1输出即为1,输入全为0时输出才为0。可简称为:有1为1,全0为0。显然,一个输入端的1信号可屏蔽其他输入端0信号的输出。
或逻辑真值表的逻辑含义如表1-14所示。
表1-14 或逻辑真值表中的逻辑含义
(5)或逻辑表达式:灯泡L亮跟两个开关A、B状态的对应关系属于“只要有条件具备,事件就能成立”的或逻辑关系,按或逻辑定义可写成表达式:
或逻辑又称作逻辑加,或逻辑运算符用数学加号“+”表示。表达式1-14读作“L等于A或B”、“L等于A加B”。L是A、B或运算的结果。或逻辑运算符在表达式中不能省略,有时为了跟算术加法相区别,数值间的或运算用“∨”符号表示。
1∨0=1 1∨1=1
(6)或逻辑运算法则
数值运算:
1∨0=0∨1=1(交换律)0∨0=0
变量运算:
变量与数值的运算:
读者可对1-16式所示的“或运算结合律”给以证明,式1-15至式1-21中的其他等效关系简单、直观,无须证明,可直接使用。
(7)或逻辑符号:对信号具有或逻辑运算功能的部件叫做或逻辑门(简称为或门)。常见的或逻辑门符号如图1-9所示。
图1-9 常见的或逻辑门符号
(a)国标符号(b)旧符号(c)国外符号
(8)或逻辑电路的电压波形图:按或逻辑真值表(表1-13)画出来的或逻辑电路的输入、输出信号波形的对应关系,如图1-10所示。
图1-10 或逻辑电压波形
三、简单而重要的组合逻辑
1.组合逻辑的构成及特点
如果一个逻辑模块由多个基本逻辑组成,并且输出信号状态仅取决于当时各输入信号取值(即状态)组合,那么这个模块叫做组合逻辑。在结构上,组合逻辑只由各种基本逻辑组成,各路信号只从输入端向输出端传送,不能有任何形式的信号反馈,输入信号对输出信号属于即时性的控制关系(无记忆性)。
2.逻辑运算顺序
逻辑电路对信号的逻辑处理是由输入端开始,按逻辑器件的连接顺序依次进行,直到输出端为终止。
依照表达式的运算规则,同类运算由左向右依次进行;混合逻辑运算按先非、后与、再或的顺序进行,超越规定顺序的运算要加括号。
3.重要的逻辑组合
一个基本逻辑就是一个结构最简单的组合逻辑。在实用中,除与、或、非三种最基本逻辑之外,还有几个由最基本逻辑简单复合构成的组合逻辑,并有定型电路产品被广泛应用,因此也被称作基本门电路。
(1)与非逻辑:与非逻辑是与逻辑和非逻辑的复合,复合关系如图1-11(a)所示。与非逻辑符号如图1-11(b)、(c)、(d)所示,把非逻辑符号中的方框省略,只保留表示非逻辑的小圆圈。
图1-11 与非逻辑的复合及逻辑符号
与非逻辑的表达式:
表达式1-22中的反号应覆盖A、B两个字母,表示对A、B两个变量的与运算结果取反,而不是对A、B两个变量取反,所以,运算时要由下向上、先作与运算、后作非运算。
给一组逻辑运算加反号表示对运算结果取反,要先计算出反号下面各种运算的最终结果再取反。按照逻辑运算顺序规则,三种基本逻辑的排序中非运算最先,然后是与、或,对超越规则的运算要加括号。对运算取反,要先计算出结果再取反,非号下面的运算则先于非运算。非号兼有括号功能,不用给非号下面的运算加括号。
与非逻辑的真值表如表1-15所示,为便于读者理解,表中附加了A、B作与运算的中间结果。
表1-15 与非逻辑的真值表
对于与非逻辑的输入、输出之间的取值规律可总结为:有0为1,全1为0。
(2)或非逻辑:或非逻辑是或逻辑和非逻辑的复合,组合关系以及逻辑符号如图1-12所示。
图1-12 或非逻辑的复合及逻辑符号
或非逻辑的表达式:
表达式1-23中的非号要覆盖或运算式整体,表示对A、B两个变量的或运算结果取反。运算时要由下向上、先或后非。
或非逻辑的真值表如表1-16所示(表中附加了A、B相或的中间结果)。
表1-16 或非逻辑的真值表
对于或非逻辑的输入、输出之间的取值规律,可归纳为:有1为0、全0为1。
(3)与或非逻辑:与或非逻辑是与逻辑、或逻辑、非逻辑的复合,组合关系及逻辑符号如图1-13所示。
与或非逻辑的表达式:
表达式1-24中的非号要覆盖整个与或运算的全部内容,表示对A、B、C、D四个变量与、或运算的最后结果取反。对于非号下面的与或运算,按照逻辑运算规则应该是先与、后或,即先做两个与运算,再对两个与运算结果做或运算,最后是对或运算结果做非运算。与或非逻辑的真值表如表1-17所示。
图1-13 与或非逻辑的复合及逻辑符号
表1-17 与或非逻辑真值表
(4)异或逻辑:异或逻辑是一种特殊的复合逻辑,它表示一个只由两个条件决定的事件,而且是当两个条件不同时具备时事件才能成立,两个条件同时具备或同时不具备时事件都不能成立。
异或逻辑的真值表如表1-18所示。
表1-18 异或逻辑的真值表及逻辑含义
异或逻辑运算规律可归纳为:同为0、异为1。
异或逻辑真值表中Y=1表示事件成立,是与条件变量的(A=0、B=1)和(A=1、B=0)两组状态相对应的。0表示条件不具备,1表示条件具备。异或逻辑的表达式由复合逻辑运算构成:
表达式由两个条件的异.状态(即一原一反)相与、再相或.构成。式1-25是体现 “先非、后与、再或” 逻辑运算顺序规则的典型实例,要先做两个非运算,再做两个与运算,最后做或运算。
式1-25所示的复合逻辑用特定的逻辑运算符“⊕”表示,定名为“异或”。异或逻辑的定义表达式为:
对信号具有异或逻辑运算功能的部件叫做异或逻辑门(简称为异或门)。异或逻辑门的符号及复合构成如图1-14所示。
图1-14 异或逻辑的复合构成及逻辑符号
异或运算符只是一种表示方式,在实际处理含异或运算的逻辑表达式时,经常需要变换为1-25式的形式。1-25式与1-26式两个表达式是等效的:
异或逻辑在逻辑运算顺序规则中介于与、或之间,即在多种运算混合时,按先非、后与、异或、再或顺序执行。在表达式中,先于与运算的异或和先于异或运算的或运算都要加括号。
异或逻辑的运算法则:
数值运算:
0⊕0=1⊕1=0
0⊕1=1⊕0=1(交换律)
变量运算:
用真值表对异或运算的结合律给予证明,如表1-19所示。
表1-19 证明异或运算的结合律的真值表
可见异或运算的结合律是成立的。
变量与数值的运算:
对异或逻辑取反称为异或非。
与非、或非、与或非、异或,以及异或非五种复合逻辑和与、或、非三种基本逻辑一样,是常用的逻辑器件,在数字集成电路中都有定型产品供选用。