逻辑代数是分析和设计逻辑电路的基本数学工具。逻辑代数是英国数学家乔治·布尔(George Boole)于19世纪中叶创立的,因此也叫布尔代数。当时,这种代数纯粹是一种数学游戏,没有任何物理与现实意义。直到20世纪30年代,美国人克劳德·香农(Claude E.Shannon)在开关电路中才找到了它的应用价值,其很快成为分析和设计开关电路的重要数学工具,故又称为开关代数。
与普通代数类似,在逻辑代数中,参与逻辑运算的变量也用字母A、B…表示,称为逻辑变量。每个变量的取值不是0就是1。0和1不表示数值的大小,而是代表两种不同的逻辑状态。
例如,用1和0分别表示是与非、真与假、有与无、电平的高与低、开关的通与断、灯的亮与灭等。
1. 基本及常用的逻辑运算
在逻辑代数中,基本逻辑运算有与、或、非,常用的复合逻辑运算有与非、或非、异或等。
1)与运算
当决定一件事情的各个条件全部具备时,这件事才会发生,这样的因果关系称为与逻辑关系。
如果用变量A和B分别表示决定这件事情的两个条件,用Y表示这件事情的结果,则A、B和Y的与逻辑关系如表1-4所示。
表1-4 与逻辑关系表
对于A、B变量来说,如果用二进制数码1表示条件成立,用0表示条件不成立;对于结果Y,如果值为1表示事情发生,值为0表示事情不发生,则表1-4可转换为表1-5。这种使用1和0表达逻辑关系的表格被称为真值表。
表1-5 与逻辑关系的真值表
在逻辑代数中,使用运算符“·”表示与逻辑关系,上述Y和变量A、B之间的关系被记为
Y=A·B
书写时,常省略与运算符,写为
Y=AB
在数字系统的电路图中,需要使用逻辑符号来表示各种逻辑关系。图1-7所示为与逻辑关系的逻辑图形符号,其中图1-7(a)是IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会)标准的图形符号,图1-7(b)是我国国家标准的图形符号。由于一般EDA工具所设计的电路较多采用了IEEE标准的图形符号,且本书第4~7章中电路设计案例均使用了IEEE标准的图形符号,因此在本书的逻辑图中均采用IEEE标准的图形符号。图1-8~图1-10的图形符号中,位置在前边的为IEEE标准的图形符号。
图1-7 与逻辑图形符号
2)或运算
若决定一件事情的各个条件中,只要有一个条件具备,事情就会发生,则这样的因果关系称为或逻辑关系。
表示或逻辑关系的真值表如表1-6所示。
表1-6 或逻辑关系真值表
在逻辑代数中,使用运算符“+”表示或逻辑关系,因而上述真值表中Y和变量A、B之间的关系被记为
Y=A+B
图1-8所示为或逻辑关系的图形符号,本书的逻辑图形符号中均采用图1-8(a)的符号形式。
图1-8 或逻辑图形符号
3)非运算
非就是反,即为否定,表示若条件成立,事件不会发生;若条件不成立,事件才发生这样的逻辑关系。
非逻辑关系的真值表如表1-7所示。
表1-7 非逻辑关系真值表
在逻辑代数中,在变量或表达式上加反号“-”表示非逻辑关系,因而上述真值表中Y和变量A之间的关系被记为
图1-9所示为非逻辑关系的图形符号,本书的逻辑图形符号中均采用图(a)的符号形式。
图1-9 非逻辑图形符号
4)与非、或非及异或运算
在逻辑代数中,与非、或非、异或、异或非运算都属于复合逻辑运算,即由2个或2个以上逻辑运算组成,它们的表达式分别为
其中异或运算使用运算符“⊕”,同或运算符为“⊙”。
这4种复合逻辑关系的真值表如表1-8所示。
表1-8 与非、或非、异或、异或非逻辑关系真值表
图1-10所示为这4种复合逻辑关系的图形符号,本书的逻辑图形符号中均采用每组符号左图的形式。
图1-10 4种复合逻辑关系的逻辑符号
注意:在逻辑图中,图形符号输出端的小圆圈所表示的含义为反相输出,即在原有逻辑关系的基础上再进行非逻辑运算,如图1-10(a)、(b)、(d)中的图形符号。
2. 逻辑运算的公式及定理
1)常量之间的关系
因为二值逻辑中只有0和1两个常量,所以常量之间的逻辑关系只有以下几种:
2)变量和常量间的关系
3)定理
【例1-8】 证明德·摩根定理:
解 使用真值表证明。
(1)列出 的真值表如下。
(2)列出 的真值表如下。
3. 一些常用公式
利用以上公式及定理,可以推导出如下公式。
前面提到的 等式子称为逻辑表达式,式中A、B称为输入逻辑变量,Y称为输出逻辑变量。在逻辑变量中,形如A、B的变量称为原变量,形如 的变量称为反变量。在逻辑关系中,如果输入逻辑变量A、B、…的取值确定后,输出逻辑变量Y的值也被唯一地确定了,那么就称Y是A、B、…的逻辑函数,并写为
Y=F(A,B,)
常用的表示逻辑函数的方法有逻辑表达式、真值表、卡诺图、逻辑图等。
1. 逻辑表达式
用与、或、非等运算表示函数中各个变量及常量之间逻辑关系的代数式,称为逻辑表达式,如
逻辑表达式的优点是书写简洁、方便,可利用公式和定理进行运算和变换。其缺点是当逻辑函数比较复杂时,很难直接从变量的取值情况看出函数的值,不够直观。
2. 真值表
把变量的各种可能取值与相应的函数值用表格的形式一一列举出来,这种表格就称为真值表。真值表可以直观明了地反映出函数输入、输出变量之间的逻辑关系,它和逻辑表达式之间可以直接进行转换。
列函数真值表的方法是:在真值表的左边列出逻辑变量取值的所有组合,由于1个变量有0、1两种取值,2个变量有00、01、10、11四种取值,依此类推, n 个变量有2 n 种变量取值,为了不漏掉任何一种取值组合,逻辑变量的取值应按顺序二进制码的顺序排列。真值表右边列出每一种逻辑变量取值组合所对应的逻辑函数值。
【例1-9】 列出函数 的真值表。
解 由于函数有A、B、C三个输入变量,因而有8种不同的取值组合,分别是000、001、010、011、100、101、110、111,将这8种取值组合填入真值表中左边3列;然后计算每一种取值组合所对应的 及A⊕C的值;最后计算Y的值,分别填入真值表相应的列中。结果如表1-9所示。
真值表的优点是直观明了,当输入变量的取值确定时,可从表中查出相应的函数值,是一种十分有用的逻辑工具。在许多集成电路手册中,常常通过给出电路的真值表来描述其功能。在进行逻辑电路的设计时,设计的第一步往往就是通过分析电路所需的逻辑功能列出真值表。
真值表的缺点是难以用逻辑代数的公式和定理进行运算和变换,并且当变量比较多时,真值表的规模会非常大,十分烦琐。
3. 卡诺图
卡诺图是1953年由美国工程师卡诺(Karnaugh)提出的一种描述逻辑函数的特殊方法。卡诺图实质上是真值表的方格图表示方式,也就是将真值表中每一种变量取值组合对应的函数值填入卡诺图的每一个方格中。有关卡诺图的使用将在下一小节中介绍。
使用卡诺图的目的在于化简逻辑函数。由于卡诺图是用几何相邻形象直观地表示了函数各个最小项在逻辑上的相邻性,因此便于求出逻辑函数的最简与或表达式。
卡诺图的缺点是只适用于表示和化简逻辑变量个数比较少的逻辑函数,当变量个数超过6个时,不适合于用卡诺图化简。此外,卡诺图也不便于用公式和定理进行运算和变换。
4. 逻辑图
由于每一种基本和常用的逻辑关系都有其相应的逻辑符号,因此,逻辑函数也可以通过图形的方式将逻辑符号相互连接,从而反映出各个变量之间的运算关系,这就是逻辑图(即用逻辑门电路符号组成的电路图)。逻辑图与逻辑表达式有着十分简单而准确的对应关系。
【例1-10】 画出函数 的逻辑图。
解 由表达式可以看到,函数中有2个非运算、2个与运算、1个异或运算、2个或运算,根据表达式内容,将每一个运算用对应的逻辑符号表示,可逐级画出函数的逻辑图,如图1-11所示,图中最右边的或运算采用了3输入的或运算逻辑符号。
逻辑图中的逻辑符号,都有与之对应的被称为门电路的实际电路器件存在,所以逻辑图接近工程实际。在实际应用中,当要分析了解某个数字电路的逻辑功能时,需要从逻辑图入手,通过将逻辑图转换为逻辑表达式,最终获得逻辑函数的真值表;另外,在设计数字电路时,常常也要通过逻辑设计,画出逻辑图,最终再把逻辑图变成实际电路。
逻辑图的缺点是不能用公式和定理进行运算和变换,所表示的逻辑关系不如真值表和卡诺图直观。
在逻辑设计中,逻辑函数的化简是十分重要的课题。化简的方法有代数法和卡诺图法两种。
我们从实际问题中概括出来的逻辑函数,需要落实到实现该函数的逻辑图,最后才能转换为电路图实现其功能。由于逻辑图与逻辑函数有直接关系,因此函数式越简单,实现该逻辑函数式所需要的门电路数量就越少,这样既可以节省器材,又可提高电路的可靠性。
通常,从逻辑问题概括出来的逻辑函数式不一定是最简的。例如函数 直接由该函数式得到的逻辑电路图如图1-12所示,此图用了5个与门、3个或门和3个非门电路。但如果将函数化简,化简后的函数式为F=AC+B。显然,要实现此逻辑函数只需要2个门电路,如图1-13所示。
图1-12 F原函数的逻辑图
图1-13 F函数化简后的逻辑图
由此可以看到,函数化简是为了简化电路,以便用最少的门电路实现它们,从而降低系统的成本,提高电路的可靠性。
在了解函数化简方法之前,首先应掌握最小项及标准与或式的概念。
1. 最小项及标准与或式
同一个逻辑函数,其逻辑表达式的形式是多种多样的。例如下面3个函数表达式
它们的真值表都相同,均为表1-10所示的真值表,因此它们是相等的。
表1-10 函数真值表
如果将3个表达式都变换成每一个乘积项都包含所有变量的与或式形式,则
可以看到,最终变换的结果都是相同的。
在逻辑函数的表达式中,形如 的表达式称为与或式,其特点是先进行与运算,再进行或运算。
在与或式中,形如 的表达式称为标准与或式。标准与或式除了具有与或式的特点外,其主要特征是该与或式中的每一个乘积项都是最小项,或者说,标准与或式就是最小项之和的表达式。
显然,在同一个逻辑函数中,其表达式的形式是多种多样的,但标准与或式却是唯一的。
那么,什么是最小项呢?
在逻辑函数中,最小项就是包含着函数所有变量的乘积项,而且每一变量在该乘积项中均以原变量或反变量的形式出现且仅出现一次。
如果一个逻辑函数有 n 个变量,则有2 n 个最小项。例如:1个变量A有2个最小项: 2个变量AB有4个最小项: 3个变量A、B、C有8个最小项: 以此类推,4个变量A、B、C、D共有2 4 =16个最小项, n 个变量有2 n 个最小项。
最小项的性质是:在真值表中,每一个最小项都与一组变量取值一一对应,所有最小项对应全部变量取值。表1-11中显示了3个变量的函数最小项与变量取值之间的对应关系。例如:
其对应规律是:变量取值中的1与原变量对应,变量取值中的0与反变量对应。
表1-11 3变量函数最小项的真值表
由于标准与或式是最小项之和的形式,而最小项与函数取值之间有一一对应的关系,因此,标准与或式也可以直接从真值表中得到。例如,在表1-10的真值表中,使输出变量Y的值为1的输入变量的取值有001、010、011、101、110,其对应的最小项是 显然只要其中一个最小项的运算值为1,函数的值为1。由此可写出标准与或式为
标准与或式在书写时往往比较长且烦琐,为简化书写方式,常将最小项以编号的形式表示。最小项的编号就是它所对应变量取值组合的十进制数。
例如,最小项 对应变量的取值组合为二进制数001,二进制数001对应的十进制数是1,则该最小项的编号是1,该最小项记做m 1 。显然最小项 可分别用m 2 、m 3 、m 5 、m 6 表示。
【例1-11】 写出逻辑函数 的标准与或式。
解
方法一:通过公式和定理,变换表达式得到
方法二:先列出函数真值表,再写出标准与或式。该函数的真值表如表1-12所示。
由真值表可直接写出标准与或式为
表1-12 函数真值表
【例1-12】 写出函数 的标准与或式。
解 利用公式和定理,将函数表达式进行变换
2. 逻辑函数的最简与或式
逻辑函数的最简表达式指的是逻辑表达式最简单、运算量最少的表达式。由于运算量越少,实现逻辑关系所需要的门电路就越少,成本降低,可靠性相对就高,因此在设计逻辑电路时,需要求出逻辑函数的最简表达式。
一个函数的最简表达式,根据变量之间运算关系的不同,分为最简与或式、最简与非-与非式、最简或与式、最简或非-或非式等。关于它们的定义如下。
最简与或式 :是指乘积项最少,每个乘积项中变量的个数也最少的与或表达式,例如
最简与非-与非式 :是指只有与非运算,同时非号个数最少,每个非号下面的乘积项中变量的个数也最少的逻辑表达式,例如
最简或与式 :是指先进行或运算,再进行与运算,同时与运算的次数最少,或运算中变量的个数也最少的逻辑表达式,例如
最简或非-或非式 :是指只有或非运算,同时非号个数最少,每个非号下面的或运算中变量的个数也最少的逻辑表达式,例如
注:以上运算中不包括单个变量上面的非号,因为已将其当作反变量。
在以上最简表达式中,最简与或式是核心,因为可以由它转换为其他最简表达式。
【例1-13】 求逻辑函数 的最简表达式。
解 先求出最简与或式
3. 利用公式和定理化简逻辑函数
逻辑函数公式化简的原理就是反复使用逻辑代数的基本公式定理和常用公式,消去函数式中多余的乘积项和多余的因子,以求得函数式的最简形式。需要说明的是,同一个逻辑函数,有时候可能会有复杂程度相同的多个最简表达式,这和化简时所使用的方法有关。公式化简法没有固定的步骤,现将经常使用的方法归纳如下。
1)并项法
运用公式:
【例1-14】 试用并项法化简下列逻辑函数。
2)吸收法
运用公式:A+AB=A。
【例1-15】 试用吸收法化简下列逻辑函数。
3)消项法
运用公式:
【例1-16】 试用消项法化简下列逻辑函数。
4)消因子法
运用公式:
【例1-17】 试用消因子法化简下列逻辑函数。
5)配项法
运用公式 适当配项,从而达到进一步化简的目的。
【例1-18】 试化简下列逻辑函数。
在化简复杂的逻辑函数时,往往需要交替综合运用上述方法,才能得到最后的化简结果。而且,能否较快地获得满意结果,与对逻辑代数公式、定理的熟悉程度和运算技巧有关。
【例1-19】 试化简以下逻辑函数。
4. 卡诺图的构成
卡诺图是一种平面方格图,每个小方格代表一个最小项,故又称为最小项方格图。显然:
1个变量逻辑函数的卡诺图有2个最小项,就有2个方格;
2个变量逻辑函数的卡诺图有4个最小项,就有4个方格;
3个变量逻辑函数的卡诺图有8个最小项,就有8个方格;
n 个变量逻辑函数的卡诺图有2 n 个最小项,就有2 n 个方格。
图1-14所示为1~5个变量的逻辑函数的卡诺图。
画卡诺图时,首先应根据变量的个数确定卡诺图的规模,设定变量的排列顺序,然后在相应的行列前面按格雷码的顺序排列变量的取值。例如5个变量的卡诺图,应画32个格式,即4行8列,行由A、B变量控制,列由C、D、E变量控制,行的左端A、B变量的取值按格雷码的顺序排列为00、01、11、10,列的顶端C、D、E变量的取值按格雷码的顺序排列为000、001、011、010、110、111、101、100,卡诺图中每一个格子根据其变量的取值对应一个最小项,如图1-14(e)所示。
图1-14 1~5个变量的逻辑函数卡诺图
卡诺图的特点是利用卡诺图中变量最小项在几何位置上的相邻关系表示最小项在逻辑上的相邻关系。卡诺图中,凡是几何相邻的最小项,它们在逻辑上也都是相邻的。之所以采用格雷码,就是为了保证几何相邻即逻辑相邻这个特点。
所谓几何相邻指的是以下3种情况。
① 相接,也就是紧挨着的最小项方格。凡是紧挨着的最小项,都是几何相邻。例如图1-15中的m 2 和m 6 、m 15 和m 3 1最小项。
② 相对,也就是行列两头的最小项。凡是行、列两头相对的最小项,都是几何相邻。例如图1-15中的m 1 和m 17 、m 24 和m 28 最小项。
③ 相重,指的是卡诺图对折后位置重合的最小项。凡是具有这一特征的最小项,也都是几何相邻。例如图1-15中的m 1 和m 5 、m 11 和m 15 最小项。
图1-15 最小项的几个相邻性
所谓逻辑相邻指的是两个最小项中,只有一个变量形式不同,其余都相同。例如3个变量的最小项 这两个最小项只有B变量的形式不同,其余都相同,那么它们是逻辑相邻的。凡是逻辑相邻的最小项都可以合并起来,消去变量,例如 消去了B变量。
在图1-15中:
显然,卡诺图中几何相邻的最小项一定逻辑相邻,而逻辑相邻最小项能够合并起来消去变量。因此,几何相邻的最小项可以合并起来消去变量,这就是卡诺图的化简作用。
卡诺图最大的缺点,就是当函数变量多于6个时,不仅画起来非常麻烦,而且其优点也不再显现,已无实用价值。
5. 用卡诺图表示逻辑函数
用卡诺图表示逻辑函数时,可在函数与或表达式或者真值表的基础上,按以下步骤进行。
(1)根据逻辑函数中变量的个数画出卡诺图的方格,分配好变量,并按格雷码顺序在行顶端及列左端处写出变量的取值。
(2)将表达式中每一个乘积项所包含的最小项在卡诺图中相应的最小项位置填1,剩下的填0或不填,可得到函数的卡诺图。如果利用真值表画卡诺图,则将真值表中输出值为1的最小项在卡诺图中相应的最小项位置填1,其余的填0或不填。
【例1-20】 画出表1-13所示的真值表对应的卡诺图。
表1-13 函数真值表
解 由于真值表中的每一行变量取值对应一个最小项,因此直接将真值表中的输出值填入卡诺图即可,如图1-16所示。
图1-16 例1-20的卡诺图
【例1-21】 画出函数 的卡诺图。
解 (1)首先画出3变量逻辑函数的卡诺图方格。
(2)将表达式中所包含的最小项填入卡诺图中。由于函数表达式是标准与或式,即
则在卡诺图中的m 1 、m 3 、m 6 、m 7 位置填1,其余填0,即可得到函数的卡诺图,如图1-17所示。
图1-17 例1-21的卡诺图
【例1-22】 画出函数 的卡诺图。
解 (1)首先画出4变量逻辑函数的卡诺图方格。
(2)将表达式中所包含的最小项填入卡诺图中。由于函数表达式是一般与或式,因此应分别找出表达式中每一个乘积项所包含的所有最小项。
其余的格子填0或不填,结果如图1-18所示。
图1-18 例1-22的卡诺图
6. 利用卡诺图化简逻辑函数
在变量卡诺图中,凡是逻辑相邻的最小项均可合并,合并时可消去有关变量。总结起来有如下规律。
2个最小项合并成一项时,可消去1个变量;
4个最小项合并成一项时,可消去2个变量;
8个最小项合并成一项时,可消去3个变量;
即2 n 个最小项合并成一项时,可消去 n 个变量。
图1-19~图1-21中,分别画出了2个、4个、8个最小项合并成一项的合并情况。通过仔细观察图中的合并规律,可得到:合并后所消去的变量一定是那些在合并包围圈中变量取值不一致的变量,所保留的一定是合并包围圈中变量取值一致的变量。在书写合并包围圈所对应的表达式时,应按照变量取值为1时写成原变量、变量取值为0时写成反变量的规则书写。
图1-19 两个最小项的合并
图1-20 四个最小项的合并
图1-21 八个最小项的合并
利用卡诺图化简逻辑函数的步骤如下:
(1)画出逻辑函数的卡诺图;
(2)为几何相邻的值为1的最小项画包围圈;
(3)写出每一个包围圈对应的乘积项表达式;
(4)将所有写出的乘积项表达式用“+”连接,写出最简与或式。
在上述步骤中,显然为最小项画包围圈是最重要的,在画包围圈时,应注意以下原则:
(1)包围圈中只能包围那些值为1的最小项,每个包围圈中只能包含2 n 个最小项;
(2)包围圈应尽可能大,这样才能消去更多变量,使对应的乘积项表达式简单;
(3)包围圈的数量应尽可能少,这样才能使最终的表达式中或运算最少;
(4)最小项可重复被圈,但应保证每一个圈中至少有一个新的、未被包围的最小项;
(5)画完包围圈后,应反复检查,去掉多余的包围圈。为避免重复画圈,画包围圈时,应尽可能从只有较少合并方式的最小项圈起。
【例1-23】 用卡诺图化简
解 (1)画出逻辑函数的卡诺图,将乘积项 所对应的最小项在卡诺图中填入1,其余不填,如图1-22所示。
图1-22 例1-23的卡诺图表示
(2)在卡诺图中为几何相邻的最小项画包围圈,如图1-23所示。
图1-23 例1-23的化简过程
(3)写出每一个包围圈对应的乘积项表达式,如图1-23所示。
(4)将所有写出的乘积项表达式用“+”连接,写出最简与或式,化简结果是
【例1-24】 用卡诺图化简逻辑函数F(A,B,C,D)=∑ m (0,2,3,4,5,6,7,8,10,11)。
解 (1)画出4变量逻辑函数的卡诺图。由于该函数表达式为标准与或式,因此直接将表达式中的最小项填入卡诺图中,如图1-24所示。
图1-24 例1-24的卡诺图表示
(2)为几何相邻的最小项画包围圈,如图1-25所示。
图1-25 例1-24的化简过程
(3)写出每一个包围圈对应的乘积项表达式,如图1-25所示。
(4)写出最简与或式。由卡诺图可写出最简与或表达式为
7. 有无关项的逻辑函数的化简
1)逻辑函数的无关项
日常生活中许多具体的逻辑函数,输入变量的取值受一定条件限制,这种对输入变量取值所加的限制称为约束。
例如,用3个输入变量A、B、C分别表示电梯的上升,下降和停止这3种工作状态,并规定A=1表示电梯处在上升的工作状态,B=1表示电梯处在下降的工作状态,C=1表示电梯处在停止的工作状态。因电梯在任何时候只能处在一个特定的工作状态下,所以,不允许同时有两个或两个以上的输入变量为1。即,ABC的取值只能是100、010、001当中的某一种,而不能出现000、011、101、110、111中的任何一种,因此A、B、C是一组具有约束的变量。
在具有约束的逻辑关系中,不能出现的变量取值所对应的最小项称为约束项。在上例中,不能出现的变量取值有000、011、101、110、111,则对应的约束项为 ABC。
在具有约束的逻辑函数中,通常用约束条件来描述约束的具体内容。由于每一个约束项对应的变量取值都是不能出现的,因此可用约束项恒等于0来表示约束条件。故上例中约束条件可写为
有时还会遇到某些最小项的取值是1或是0,对逻辑函数最终的逻辑状态没有影响的情况,具有这种特性的最小项称为逻辑函数的任意项。
逻辑函数的约束项和任意项统称为无关项。无关项在真值表或卡诺图中用符号“×”来表示。
2)无关项在逻辑函数化简中的作用
当逻辑函数带有无关项时,因为无关项的值取“1”或是“0”对逻辑函数最终的逻辑状态没有影响,所以,可根据需要选择合适的无关项,帮助逻辑函数进行化简。
对带无关项的逻辑函数进行化简时,可将合并到包围圈中的无关项视为1,包围圈以外的无关项视为0进行化简。究竟把无关项视为1还是视为0,应以得到的包围圈最大且包围圈个数最少为原则。下面举例说明带约束关系的逻辑函数式化简方法。
【例1-25】 用卡诺图化简具有约束关系的逻辑函数 已知约束条件为
解 该逻辑函数的卡诺图如图1-26所示。按图1-26所示的圆圈合并最小项,可得最简与或式为
图1-26 仅包围最小项的卡诺图
利用无关项的性质,取无关项中的 为1,其余的两个无关项为0,可得图1-27所示的卡诺图。按图1-27所示的包围圈合并最小项,则化简后的逻辑表达式为
图1-27 无关项确定后的卡诺图
由上面化简的过程可见,合理设置无关项的值对化简逻辑函数有帮助,有可能达到更为简单的结果。
【例1-26】 用卡诺图化简具有约束关系的逻辑函数
Y(A,B,C,D)=∑ m (0,1,2,8,9)+∑ d (10,11,12,13,14,15)
解 该逻辑函数表达式中第1个求和号表示5个最小项的和,第2个求和号表示约束条件,对应的最小项为约束项。在卡诺图中最小项m 0 、m 1 、m 2 、m 8 、m 9 的位置填“1”,约束项m 10 、m 11 、m 12 、m 13 、m 14 、m 15 在卡诺图中填“×”,如图1-28所示,按图中的包围圈合并最小项,可得最简与或式为
图1-28 例1-26的卡诺图
注意:图中最后两行虽然可以画一个包含8个最小项的包围圈,但这是多余的,因为最后两行的所有1已经被其他包围圈包围了。
前面介绍了与、或、非三种基本逻辑运算,以及与非、或非、异或、异或非等常用的复合逻辑运算。在数字系统中,能实现基本和常用逻辑运算的电子电路称为逻辑门电路。能实现与运算的逻辑门电路称为与门,能实现或运算的逻辑门电路称为或门,能实现非运算的逻辑门电路称为非门或反相器。此外,还有与非门、或非门、异或门、异或非门等。
组成门电路的基本半导体元器件有二极管、三极管及金属氧化物半导体(Metal Oxide Semiconductor,MOS)管,它们在一定条件下均具有导通及截止两种状态,可实现电子开关的功能。本节简单介绍门电路的基本构成。
1. 简单的分立元件门电路
1)二极管与门
由半导体二极管构成的与门电路如图1-29所示。电路中A、B为输入端,Y为输出端。其工作原理如下。
(1)当A、B端均输入低电平0V时,两个二极管均正向导通,输出端Y的输出电压为二极管的正向导通压降0.7V,此为低电平。
(2)当A、B输入端一个输入低电平0V,另一个输入高电平3V时,输入低电平0V的二极管必然导通,使输出端Y的输出电压为低电平0.7V。
(3)当A、B端均输入高电平3V时,两个二极管均正向导通,输出端Y的输出电压为高电平3.7V。
上述关系可整理为电平表,如表1-14所示。
表1-14 图1-29电路的输入输出电平表
如果将输入、输出中的高电平用逻辑1表示,低电平用逻辑0表示,则可得到表1-15所示的真值表。由真值表可见,图1-29所示的电路实现了与逻辑关系。
图1-29 二极管与门
表1-15 图1-29电路的真值表
2)二极管或门
图1-30所示为由半导体二极管构成的或门电路。电路中A、B为输入端,Y为输出端。其工作原理如下。
图1-30 二极管或门
(1)当A、B端均输入低电平0V时,两个二极管均截止,输出端Y的输出电压为低电平0V。
(2)当A、B输入端一个输入低电平0V,另一个输入高电平3V时,输入高电平3V的二极管必然导通,使输出端Y的输出电压为高电平2.3V。
(3)当A、B端均输入高电平3V时,两个二极管均正向导通,输出端Y的输出电压为高电平2.3V。
上述关系可整理为电平表,见表1-16。
表1-16 图1-30电路的输入输出电平表
如果将输入、输出中的高电平用逻辑1表示,低电平用逻辑0表示,则可得到表1-17所示的真值表。由真值表可见,图1-30所示的电路实现了或逻辑关系。
表1-17 图1-30电路的真值表
3)三极管非门(反相器)
图1-31所示为由三极管构成的非门电路。图中A为信号输入端,Y为输出端。其工作原理如下。
(1)当A端输入低电平0V时,三极管截止, i c ≈0,Y端输出高电平5V。
(2)当A端输入高电平5V时,三极管饱和导通,导通后 V ce ≤0.3V,故Y端输出低电平。
上述关系可整理为电平表,见表1-18。
表1-18 图1-31电路的输入输出电平表
如果将输入、输出中的高电平用逻辑1表示,低电平用逻辑0表示,则可得到表1-19所示的真值表。由真值表可见,图1-31所示的电路实现了非逻辑关系。
图1-31 三极管反相器
表1-19 图1-31电路的真值表
4)MOS三极管非门
图1-32所示为由N沟道MOS三极管非门构成的电路图。图中A为信号输入端,Y为输出端。其工作原理如下。
图1-32 NMOS反相器
(1)当A端输入低电平0V时,MOS管截止,电流为0,Y端输出高电平10V。
(2)当A端输入高电平10V时,MOS管饱和导通,Y端输出低电平。
显然,图1-32所示的电路实现了非逻辑关系。
2. TTL集成门电路
集成门电路是指将构成门电路的元器件和连线都制作在一块半导体芯片上再封装起来的门电路芯片。
按集成度划分,集成门电路可分为小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)、超大规模集成电路(VLSI)。
按构成集成门电路的主要元器件划分,可分为TTL集成门电路及CMOS集成门电路。
TTL是晶体管—晶体管逻辑电路的简称。TTL集成电路的输入级和输出级都采用半导体三极管。
图1-33所示为TTL反相器、TTL与非门、TTL或非门的典型电路图。
其中TTL反相器的工作原理如下。
(1)当输入端A输入低电平0V时,VT 1 的基极电流 i B1 流入发射极,即由A端流出,因此VT 2 的基极电流 i B2 为0,VT 2 截止,因而VT 4 的基极也无电流,VT 4 也截止,而此时VT 3 和二极管VD导通,输出端Y输出高电平3.6V。
(2)当输入端A输入高电平3.6V时,VT 1 倒置(即发射极和集电极颠倒), i b1 流入VT 2 基极,使VT 2 饱和导通,进而使VT 4 饱和导通,而VT 3 和VD将截止。由于VT 4 饱和导通,从而使输入端Y输出≤0.3V的低电平。
从以上分析可看出图1-33(a)所示的电路实现了反相器功能。
不难分析,图1-33(b)所示电路中,VT 1 使用多发射极三极管,只要有一个输入端输入低电平0V,就会输出高电平3.6V,只有所有输入端都输入高电平3.6V,VT 4 才饱和导通,输出低电平。因而电路具有了与非逻辑功能。
而图1-33(c)所示电路中,两个输入端分别各自拥有VD 1 、VT 1 、VT 2 、 R 1 和VD 1 ′、VT 1 ′、VT 2 ′、 R 1 ′,只要有一个输入端输入高电平,VT 4 就能导通,输出低电平,只有当所有输入端均输入低电平0V时,输出才为高电平。因而电路具有或非逻辑功能。
有了以上3种逻辑门电路,不难组合得到与门、或门、异或门等其他逻辑门电路。
图1-33 TTL反相器、与非门、或非门电路图
3. CMOS集成门电路
CMOS集成电路中的基本逻辑单元是PMOS管和NMOS管,它们按互补对称的形式连接起来,因而称为CMOS。
图1-34所示为CMOS非门(反相器)的典型电路图,电路中 V CC 接+5V。电路由一个PMOS晶体管(VT 1 )和一个NMOS晶体管(VT 2 )互补连接组成。其工作原理如下。
(1)当 u A =0V(低电平)时,VT 1 导通,VT 2 截止,于是 u Y = V CC =5V(高电平)。
(2)当 u A =5V(高电平)时,VT 1 截止,VT 2 导通,于是 u Y =0V(低电平)。
显然,图1-34所示电路实现了非门逻辑功能。
图1-34 CMOS非门电路
图1-35所示为CMOS与非门电路图。图中VT 1 、VT 2 为PMOS晶体管,VT 3 、VT 4 为NMOS晶体管。通过电路分析不难得到表1-20所示的在不同输入下4个晶体管开关状态及电路的输出值。可看出,该电路实现了与非逻辑功能。
图1-35 CMOS与非门电路
表1-20 图1-35所示电路的晶体管状态和真值表
注:表中on表示晶体管导通;off表示晶体管截止。
图1-36所示为CMOS或非门电路图。图中VT 1 、VT 2 为PMOS晶体管,VT 3 、VT 4 为NMOS晶体管。通过电路分析不难得到表1-21所示的在不同输入下4个晶体管开关状态及电路的输出值。可看出,该电路实现了或非逻辑功能。
图1-36 CMOS或非门电路
表1-21 图1-36所示电路的晶体管状态和真值表
注:表中on表示晶体管导通;off表示晶体管截止。
有了以上3种逻辑门电路,不难组合得到与门、或门、异或门等其他逻辑门电路。
4. 其他集成电路
1)缓冲器
在必须驱动很大电容性负载的逻辑门电路中,通常采用缓冲器(buffer)来改善性能。图1-37所示为缓冲器的逻辑符号,其输入为A,输出为Y,实现的逻辑关系是
图1-37 缓冲器的逻辑符号
Y=A
缓冲器可以通过使用尺寸较大的晶体管使输出端具有较大的驱动能力。
2)三态门
三态门又称三态缓冲器,是指除了能输出两种正常状态0和1外,还可输出第三种状态Z(高阻态)的逻辑元器件。其中高阻态Z是不产生输出信号的一种状态。图1-38所示为4种不同类型的三态门的逻辑符号,其中A为信号输入端,Y为输出端,En为使能控制端。
图1-38 4种类型的三态门
图中,输出端Y上带圆圈的表示反相输出,使能控制端En上带圆圈的表示输入信号低电平有效,即 时,三态门有输出。
图(a)中,在En=1时,Y=A;在En=0时,Y=Z。真值表如表1-22所示。
表1-22 图1-38(a)真值表
图(b)中,在
图(c)中,在
图(d)中,在
3)传输门
传输门是一种能实现双向传输信号的逻辑元器件,它既能传输模拟信号,也能传输数字信号。传输门逻辑符号如图1-39所示。
图1-39 传输门逻辑符号
图中,当控制端 时,传输门导通, u o = u i ,既可左边输入、右边输出,也可右边输入、左边输出;当控制端 时,传输门截止,输入和输出之间是断开的。
4)具有施密特特性的门电路
普通门电路只有一个阈值电压,当输入信号从低到高上升到阈值电压或从高到低下降到阈值电压时,电路的状态将发生变化。而具有施密特特性的门电路,却有两个阈值电压,分别是上限阈值电压( u T+ )和下限阈值电压( u T- )。图1-40所示为施密特反相器的逻辑符号,图1-41所示为该反相器的工作波形图。由图可以看到,当输入信号由低变高时,输入信号与上限阈值电压( u T+ )比较,高于 u T+ 时,开始输出低电平;当输入信号由高变低时,输入信号与下限阈值电压( u T- )比较,低于 u T- 时,开始输出高电平。显然,施密特反相器与普通反相器相比,会出现输出信号变化滞后的现象。
图1-40 施密特反相器逻辑符号
图1-41 施密特反相器工作波形
具有施密特特性的门电路的主要应用如下。
(1)波形变换:可将三角波、正弦波等变成矩形波。
(2)脉冲整形:由于矩形脉冲在传输过程中会发生波形畸变,可用施密特反相器整形后获得理想的矩形脉冲。
(3)幅值探测:当幅度不同的不规则脉冲信号输入施密特门电路时,能选择幅度大于预设值的脉冲信号进行输出。
5. 常用的集成门电路芯片
常用的集成门电路芯片中,以74系列的使用最为普遍。74系列集成电路分为TTL及CMOS两大类。其中74系列TTL集成电路的工作电平为5V,大致可分为以下6类:
① 74××(标准型);
② 74S××(肖特基型);
③ 74LS××(低功耗肖特基型);
④ 74AS××(改进肖特基型);
⑤ 74ALS××(改进低功耗肖特基型);
⑥ 74F××(高速肖特基型)。
74系列的高速CMOS电路可分为以下3类:
① 74HC××(带缓冲输出的高速COMS电路,使用COMS工作电平,为2~6V);
② 74HCT××(与TTL系列兼容的高速CMOS电路,使用TTL工作电平);
③ 74HCU××(无缓冲级的高速CMOS电路,使用CMOS工作电平)。
这9种74系列产品,只要后边的标号相同,其逻辑功能和管脚排列就相同。根据不同的条件和要求可选择不同类型的74系列产品,比如电路的供电电压为3V,就应选择74HC系列的产品。本书所介绍的集成电路芯片均为74HC系列。
下面介绍常用的74HC系列门电路的逻辑功能。
1)74HC00——2输入与非门
74HC00芯片有4个与非门,每个与非门有2个输入端。其管脚图与逻辑图如图1-42所示,其功能表见表1-23。将功能表中低电平(L)用0表示,高电平(H)用1表示,该功能表可以转换成真值表,如表1-24所示。
图1-42 74HC00管脚及逻辑图
表1-23 74HC00功能表
注:H为高电平,L为低电平。
表1-24 74HC00真值表
由此可看到,该芯片实现的是与非逻辑功能。
有关74HC00芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。
2)74HC02——2输入或非门
74HC02芯片的管脚图与逻辑图如图1-43所示,其功能表见表1-25,对应真值表略。
图1-43 74HC02管脚及逻辑图
表1-25 74HC02功能表
注:H为高电平,L为低电平。
有关74HC02芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。
3)74HC04——非门(六反相器)
74HC04芯片的管脚图与逻辑图如图1-44所示,其功能表见表1-26,对应真值表略。
图1-44 74HC04管脚及逻辑图
表1-26 74HC04功能表
注:H为高电平,L为低电平。
有关74HC04芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。
4)74HC08——2输入与门
74HC08芯片的管脚图与逻辑图如图1-45所示,其功能表见表1-27。
图1-45 74HC08管脚及逻辑图
表1-27 74HC08功能表
注:H为高电平,L为低电平。
有关74HC08芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。
5)74HC32——2输入或门
74HC32芯片的管脚图与逻辑图如图1-46所示,其功能表见表1-28。
图1-46 74HC32管脚及逻辑图
表1-28 74HC32功能表
注:H为高电平,L为低电平。
有关74HC32芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。
6)74HC86——2输入异或门
74HC86芯片的管脚图与逻辑图如图1-47所示,其功能表见表1-29。
图1-47 74HC86管脚及逻辑图
表1-29 74HC86功能表
注:H为高电平,L为低电平。
有关74HC86芯片的信息请扫描二维码阅读由芯片生产厂家提供的资料。