数字电路逻辑设计白静版第1章课件_第1页
数字电路逻辑设计白静版第1章课件_第2页
数字电路逻辑设计白静版第1章课件_第3页
数字电路逻辑设计白静版第1章课件_第4页
数字电路逻辑设计白静版第1章课件_第5页
已阅读5页,还剩189页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章数字逻辑基础1.1数制及码制1.2逻辑代数1.3逻辑函数的表示方法1.4逻辑函数的简化本章小结习题

1.1数制及码制

1.1.1模拟量与数字量

在自然界中,存在着形形色色的物理量,尽管它们的性质各异,但就其变化规律的特点而言,可分为两大类:模拟量和数字量。

模拟量:在时间和数值上都具有连续变化特点的物理量叫做模拟量。自然界广泛存在着的许多物理量都是模拟量,如温度、压力、距离、时间等。

模拟信号:表示模拟量的电信号叫做模拟信号。在工程应用中,为了测量、传递和处理这些物理量,常把它们通过传感器转换成与之成比例的电压值(或电流值),这些时间连续、幅值也连续的电信号表示和模拟了实际的物理量。例如:正弦波信号、话音信号等就是典型的模拟信号。模拟电路:工作在模拟信号下的电子电路称为模拟电路。

数字量:在时间和数量上的取值是不连续的、离散的,只能按有限个或可数的量化单位取值,这类物理量叫做数字量。例如:某一实际距离的值为3869.82526…km,若取量化单位为1km,则代表此距离的数字量为3870km,若量化单位为1m,则数字量为3869825m。量化单位的选择取决于所要求的精度。

数字信号:表示数字量的信号称为数字信号。数字信号是一种脉冲信号(PulseSignal),脉冲信号具有边沿陡峭、持续时间短的特点。广义讲,凡是非正弦波形状的信号都可称为脉冲信号。例如:矩形波、方波、锯齿波等信号就是典型的数字信号。数字电路:处理数字信号的电路称为数字电路。

同一物理量可以用连续的模拟信号表示,也可用离散的数字信号表示。同模拟信号相比,数字信号具有传输可靠、易于存储、抗干扰能力强、稳定性好等优点。因此,数字电路的应用愈来愈广泛。

在数字电路中,只采用0、1两种数字表示数字信号,一个0或一个1通常称为1bit,有时也将一个0或一个1的持续时间称为一拍。“0”在数字电路中可代表低电平、开关的闭合,也可代表无脉冲信号等;“1”可代表高电平、开关的断开,也可代表有脉冲信号等。数字电路中把只由高、低两种逻辑电平组成的信号称为数字信号,或数字逻辑信号,这种信号只能由数字电路进行处理。注意,数字逻辑信号不同于数字信号处理中所说的数字信号。对于数字信号处理系统来说,数字信号是一组离散数据,可通过运算对其进行任何处理。1.1.2数制及其转换

1.数制

多位数码中每一位的构成方法以及从低位到高位的进位规则称为计数进位制,简称数制(NumberSystem)。日常生活中最常用的是十进制,数字电路及计算机等设备中还经常使用二进制、八进制和十六进制。对于任何一个数,可以用不同的进制来表示。

1)十进制(Decimal)

在十进制中,采用0~9十个数码,任何一个十进制数都可以用这十个数码按一定规律并列在一起来表示,计数规则为“逢十进一,借一当十”。例如,十进制数749.25可表示成

749.25=7×102+4×101+9×100+2×10-1+5×10-2上式中的102、101、100…称为十进制数数位的位权值。十进制数各个数位的位权值是10的幂。“10”称为十进制数的基数。

对于任意一个十进制数N,均可按位权展开为(1-1)这种表示方法称为多项式表示法或按位权展开式。上式中,ai为十进制数第i位的数码,它可以是0~9这十个数码中的任意一个;n表示整数部分的位数,m表示小数部分的位数,因此i包含从n-1~0的所有正整数和从-1~-m的所有负整数。一般可用下角标10或D表示十进制数,如(12)10、(20)D等。

若以R取代式(1-1)中的10,可得到任意R进制数的位权展开式为

(1-2)式中,ai为R进制数第i位的数码;Ri为R进制数第i位的位权值。R称为计数制的基数或称为计数的模(mod),一般用下角标R表示数N是R进制。

2)二进制(Binary)

在二进制中,只采用0和1两个数码,计数规则为“逢二进一,借一当二”。二进制的基数为2,每个数位的位权值为2的幂。任意一个二进制数的位权展开式为(1-3)式中,ai为第i位的0或1数码;2i为第i位的位权值。例如,二进制数11101.101按位权展开式为(11101.101)2=1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3二进制数N一般用下角标2或B表示,如(101)2、(110.1)B等。

3)八进制(Octal)

在八进制中,采用0~7八个数码,计数规则为“逢八进一,借一当八”。八进制的基数为8,其位权展开式为(1-4)八进制数N一般用下角标8或O表示,如(76)8,(35.1)O等。

4)十六进制(Hexadecimal)

在十六进制中,采用0~9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)共十六个数码,计数规则为“逢十六进一,借一当十六”。十六进制的基数为16,其位权展开式为(1-5)十六进制数N一般用下角标16或H表示,如(E12)16,(2B)H等。

2.不同数制的转换

1)R进制—十进制转换

将R进制(R为二、八、十六)数转换为等值的十进制数,其步骤为

(1)将R进制数按位权展开,见式(1-2);

(2)将展开式按十进制运算规则相加,即可得到等值的十进制数。

【例1-1】

将二进制数(11011.101)2转换成等值的十进制数。

解:二进制数

11011.101

位权

24232221202-12-22-3

(11011.101)2=1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3

=16+8+0+2+1+0.5+0+0.125=(27.625)10

【例1-2】

将八进制数(157.304)8转换成等值的十进制数。

解:(157.304)8=1×82+5×81+7×80+3×8-1+0×8-2+4×8-3

=64+40+7+0.375+0.0078125=(111.3828125)10

【例1-3】

将十六进制数(F4.C)16转换成等值的十进制数。

解:(F4.C)16=15×161+4×160+12×16-1=240+4+0.75=(244.75)10

2)十进制—R进制转换

将十进制数转换为等值的R(R为二、八、十六)进制数,需将十进制数的整数部分和小数部分分别进行转换,然后再将它们合并起来。

整数部分转换时,采用除基取余法,具体步骤如下:

(1)将十进制整数除以R进制的基R,并对每次得到的商再依次除以R,直到商等于0为止。

(2)将每次得到的余数按倒序写出来,即第一次的余数作为R进制整数的最低有效位(LeastSignificantBit,LSB),最后一次的余数作为R进制整数的最高有效位(Most

SignificantBit,MSB),所得数值即为等值R进制整数。

【例1-4】

将十进制数(83)10转换成等值的二进制数。

解:将十进制数83依次除以二进制数的基数2,并取其余数,转换过程如下:因此

(83)10=(1010011)2

【例1-5】

将十进制数(93)10转换成等值的十六进制数。

解:将十进制数93依次除以十六进制数的基数16,并取其余数,转换过程如下:因此(93)10=(5D)16

十进制小数部分转换时,采用乘基取整法,即将十进制小数依次乘以R,取每次得到的乘积的整数部分构成十进制小数的各位数,直到小数部分为0或达到一定的精度为止。第一次乘积的整数作为二进制小数的最高有效位,最后一次乘积的整数作为二进制小数的最低有效位。

【例1-6】

将十进制数(0.375)10转换成二进制数。b-i表示小数点后第i次乘积的整数部分。因此

(0.375)10=(0.011)2

有整数和小数的十进制数转换成R进制数时,将整数和小数部分分别进行转换,然后将结果合并起来。例如,十进制数(83.375)10转换为二进制数时,综合例1-4和例1-6的转换结果,可得

(83.375)10=(1010011.011)2十进制小数部分的转换有一个精度问题,不可能准确地完全转换,只要满足所要求的精度即可。

【例1-7】

将十进制数(0.46)10转换成二进制数。

(1)要求转换误差不大于2-8;

(2)要求精度达到0.1%。

解:(1)要求误差不大于2-8,只需保留至小数点后第八位,计算过程如下:

0.46×2=0.92b-1=00.92×2=1.84b-2=1

0.84×2=1.68b-3=1

0.68×2=1.36b-4=1

0.36×2=0.72b-5=0

0.72×2=1.44b-6=1

0.44×2=0.88b-7=00.88×2=1.76b-8=1

因此

(0.46)10≈(0.01110101)2

(2)由于二进制数的小数点后第九位为2-9=1/512≈0.2%,第十位为2-10=1/1024<0.1%,所以要达到0.1%的精度,需保留至小数点后第十位。

接(1)的计算过程,有

0.76×2=1.52

b-9=1

0.52×2=1.04

b-10=1

因此

(0.46)10≈(0.0111010111)2

3)二进制—八进制、八进制—二进制转换

二进制数转换为八进制数时,由于三位二进制数恰好有八个状态,所以将三位二进制数直接用一位八进制数代替。划分原则为:以小数点为中心,整数部分从低到高每三位一组,最高位不足三位其前添零补齐;小数部分从高到低每三位一组,最低位不足三位其后添零补齐。

八进制数转换为二进制数时,将每位八进制数直接展开成三位二进制数即可。

4)二进制—十六进制、十六进制—二进制转换

二进制数转换为十六进制数时,由于四位二进制数恰好有十六个状态,所以将四位二进制数直接用一位十六进制数代替。划分原则为:以小数点为中心,整数部分从低到高每四位一组,最高位不足四位其前添零补齐;小数部分从高到低每四位一组,最低位不足四位其后添零补齐。

十六进制数转换为二进制数时,将每位十六进制数直接展开成四位二进制数即可。

5)八进制—十六进制、十六进制—八进制转换

八进制数转换为十六进制数时,以二进制为桥梁,先将八进制数转换为二进制数,再将二进制数转换为十六进制数。

同理,十六进制数转换为八进制数时,先将十六进制数转换为二进制数,再将二进制数转换为八进制数。

【例1-8】

将二进制数(10011101100.001110111)2分别转换成八进制数和十六进制数。

解:转换过程如下:因此因此

(10011101100.001110111)2=(4EC.3B8)16

【例1-9】

将十六进制数(BE.29D)16转换成八进制数。

解:转换过程如下:因此(BE.29D)16=(276.1235)8

1.1.3码制

数码不仅可以表示数量上的大小,而且还可用来表示特定的事物。例如“865”路公交车,学号060016等,这些数码已没有表示数量大小的含意,只是一种人们事先约定而赋予

特定事物的代号。这种类型的数码称为代码。

在编制代码时所遵循的规则称为码制。

1.二—十进制代码(BCD代码)

在数字系统中,常用0、1两种数码的组合作为代码,称为二进制码。二进制码可以是多位数的,若用4位二进制码表示1位十进制数的代码,称为二-十进制代码,简称BCD

(BinaryCodedDecimal)代码。BCD代码是用4位二进制码的10种组合表示十进制数0~9十个数码。

4位二进制码有24=16种组合,当用这些组合表示十进制数0~9时,需在16种组合中选用10种组合,表1.1列出了几种常用的BCD代码。BCD代码分为有权码和无权码两类。

1)有权BCD码

有权BCD码是指4位二进制数码都有确定的位权值。如表1.1中的8421码、2421码、5421码、631-1码等。对于有权BCD码,可根据位权展开求得所代表的十进制数。

例如:[1001]8421码

=1×8+0×4+0×2+1×1=(9)10

[1110]2421码

=1×2+1×4+1×2+0×1=(8)10

[0111]631-1码

=0×6+1×3+1×1+1×(-1)

=(3)10

最常用的有权BCD码是8421码,其位权值与自然二进制数的位权值8、4、2、1一致,所以也称为自然权码。

2421码各位的权依次为2、4、2、1,其组成特点是,2421码的前5个码与8421码一致,后5个码是8421码加上(6)10=(0110)2得到。另一显著特点是,将任意一个十进制数D的2421码的各位取反,正好是与9互补的那个十进制数(9-D)的代码。例如,将4的2421代码0100取反,得到的代码1011,与9-4=5的2421码1011一致,即4和5、0和9、1和8、2

和7、3和6互为反码。这种特性称为自补特性。余3码、631-1码等也具有自补特性,这在数字系统中非常有用。

5421码各位的权依次为5、4、2、1,其组成特点是,5421码的前5个码与8421码一致,后5个码是8421码加上(3)10=(0011)2

得到。另一特点是最高位连续5个0后连续5个1。当计数器采用这种代码时,最高位可产生对称方波输出。

2)无权BCD码

无权BCD码没有确定的位权值,不能按位权展开来求所代表的十进制数。如表1.1中的余3码、余3循环码、移存码等。但这些代码各有其特点,可应用于不同场合。

余3码是每个8421码加上(3)10=(0011)2得到的。用余3码进行加减运算比8421码方便。余3循环码的两个相邻代码仅有一个数码不同,利用这种特性设计的计数器不会发生冒

险现象。

3)用BCD码表示十进制数

在BCD代码中,4位二进制代码仅表示一位十进制数,对一个多位十进制数编制代码,需要用与十进制位数相同的几组BCD代码来表示。

【例1-10】

用8421码、2421码、余3码分别表示十进制数869。

解:

[869]10=[100001101001]8421码=[101110011100]余3码

=[111011001111]2421码

如果用8421码表示R进制数,应先将R进制数转换成十进制数,再用相应的几组BCD码表示出来。例如:(1101.1)2=(13.5)10=(00010011.0101)8421码。

2.格雷码

格雷码(GrayCode)是另一种无权码,表1.2列出了一种典型的四位格雷码与相应的十进制码以及二进制码的对应关系。由表1.2可以看出,两个相邻的格雷码之间只相差一

位数码,其中整个4位格雷码的首、尾两组代码之间也只相差一位数码,所以格雷码又称循环码。1.1.4算术运算和逻辑运算

当两个二进制数表示数量上的大小时,它们可以进行数值运算,这种运算称为算术运算。运算规则为“逢二进一,借一当二”。类似十进制数运算规则“逢十进一,借一当十”。例如,两个二进制数1001和0101的算术运算为在数字电路和电子计算机中,二进制数的正、负号也用0和1表示。在定点运算的情况下,最高位为符号位,正数为0,负数为1。以后各位为二进制数码,这样的数码表示方式称为原码。例如:在数字电路中,两数相减的运算是用加法运算实现的,即减去一个数等于加上该数的补码。二进制数的补码是这样定义的:最高位为符号位,正数为0,负数为1;正数的补码和它的原码相同;负数的补码是将原码逐位求反,即0变为1,1变为0,然后在最低位上加1得到的。

【例1-11】(1010)2-(0011)2。

解:采用补码运算时,首先求出(+1010)2和(-0011)2的补码:然后将两个补码相加并舍去进位因此

(1010)2-(0011)2=(0111)2

1位二进制数码0和1,不仅可以表示数量的大小,进行算术运算,还可以表示两种不同的状态。这时的0和1不再是通常的二进制数,而是代表两种逻辑状态的符号,它们的意义完全由事先约定。如可以用1和0分别代表一件事情的是和非、真和伪、有和无,或者表示电平的高和低、电路的通和断、电灯的亮和灭等。这种只有两种对立逻辑状态的逻辑关系称为二值逻辑,它们之间按照某种逻辑关系进行的运算称为逻辑运算。逻辑运算和算术运算有着本质的区别。下一节将重点介绍逻辑运算的各种规律。

1.2逻辑代数

逻辑代数(LogicAlgebra)是按一定逻辑规律进行运算的代数,由英国数学家GeorgeBoole于1849年首先提出,因此又称布尔代数(BooleanAlgebra)。1938年ClaudeE.Shannon将布尔代数应用到继电器开关电路的设计中,因此又称开关代数(SwitchingAlgebra)。逻辑代数是分析逻辑电路不可缺少的有力工具,也是进行逻辑设计的理论基础。

逻辑代数中参与逻辑运算的变量称为逻辑变量,用大写字母A、B、C、…、Z表示。逻辑变量在二值逻辑中只有0和1两种取值,分别代表逻辑变量的两种不同的逻辑状态。逻辑函数是由若干输入逻辑变量A、B、C、…经过有限的逻辑运算所决定的输出,若F是输入逻辑变量A、B、C、…的逻辑函数,则A、B、C、…的值确定以后,F的值也就被唯一确定了。A、B、C、…是二值逻辑,因此F也是二值逻辑。F可用一个逻辑函数表达式F=f(A、B、C、…)来表示。1.2.1基本逻辑运算

逻辑代数中最基本的逻辑运算有与逻辑(AND)、或逻辑(OR)、非逻辑(NOT)三种,此外,还常采用一些复合逻辑运算,如与非(NAND)、或非(NOR)、与或非(ANDORNOT)、异或(XOR)和同或(XNOR)逻辑运算等。任何复杂的逻辑运算都可以通过这些基本逻辑运算来实现。

1.与逻辑

与逻辑表示这样一种因果逻辑关系:只有决定一事件的全部条件同时具备时,该事件才会发生。例如,在图1.1所示的电路中,两个开关A和B

串联控制一个灯F,只有当两个开关都接通时,灯才亮,其工作状态如表1.3所示。若将开关接通记作逻辑1,开关断开记作逻辑0;灯亮记作逻辑1,灯灭记作逻辑0,则可写出表1.4。这样一种把所有可能出现的输入变量(如A和B)的组合及其对应的输出结果(如F)一一列出来的表格称为真值表(TruthTable)。真值表中通常把条件或事件具备记作逻辑1,条件或事件不具备记作逻辑0。图1.1与逻辑举例在逻辑代数中,与逻辑也称为与运算或逻辑乘,可用如下逻辑表达式表示

F=A·B

(1-6)

上式读作“F等于A与B”。式中的A和B是进行逻辑运算的逻辑变量;“·”为逻辑乘运算符号,在不会发生混淆时,也可将“·”省略,写成F=AB,在有些文献里,也有采用∧、∩及&等符号来表示逻辑乘;F是A和B的函数,它也是一个逻辑变量。从与逻辑真值表中可以得到

0·0=0,0·1=0,1·0=0,1·1=1

(1-7)

式(1-7)为与逻辑的运算规则,由此可以推出一般形式

A·0=0,A·1=A,A·A=A

(1-8)在实际应用中,可有多个变量进行与运算,例如,F=A·B·C。

在数字电路中,把能实现基本逻辑关系的基本单元电路称为逻辑门电路。能实现逻辑乘的基本单元电路称为与门,两输入与门的逻辑符号如图1.2所示。本书采用我国国家标准图形逻辑符号,过去沿用的图形符号可能在旧一些的参考书使用,国外常用图形符号在部分国外资料和EDA软件中普遍使用。

对于与门来说,输入信号中只要有0,输出就为0;只有当输入信号全为1时,输出才为1。图1.2与门的逻辑符号

2.或逻辑

或逻辑表示这样一种因果逻辑关系:决定一事件的各种条件中,有一个条件或者一个以上的条件满足,这一事件就会发生。例如,在图1.3所示电路中,灯F受两个并联开关A和B控制,当两个开关之中有一个接通时,灯便亮。其工作状态如表1.5所示,或逻辑真值表见表1.6。在逻辑代数中,或逻辑也称为或运算或逻辑加,可用如下逻辑表达式表示

F=A+B

(1-9)

“+”为逻辑加运算符号,在有些文献里,也有采用∨、∪等符号来表示逻辑加。从或逻辑真值表中可以得到

0+0=0,0+1=1,1+0=1,1+1=1

(1-10)

式(1-10)为或逻辑的运算规则,由此可以推出一般形式

A+0=A,A+1=1,A+A=A

(1-11)

实际应用中,可有多个变量进行或运算,例如,F=A+B+C。能实现逻辑加的电路称为或门,两输入或门的逻辑符号如图1.4所示。图1.4或门的逻辑符号对于或门来说,输入信号中只要有一个为1,输出就为1;只有当输入信号全为0时,输出才为0。

3.非逻辑

非逻辑是逻辑的否定,表示这样一种因果逻辑关系:当事件发生的条件具备时,事件不会发生,反之,当事件发生的条件不具备时,事件发生。例如,在图1.5所示电路中,开关A不接通时,灯F反而亮;A接通时,灯F反而不亮。其工作状态如表1.7所示,非逻辑真值表见表1.8。图1.5非逻辑举例在逻辑代数中,非逻辑也称为非运算或逻辑反,可用如下逻辑表达式表示

(1-12)

读做“A非”或“非A”。有的书上用“′”置于变量的右上方表示非运算,即F=A′。通常,A称为原变量,称为反变量。从非逻辑真值表可以得到

(1-13)

式(1-13)为非逻辑的运算规则,由此可以推出一般形式

(1-14)实现逻辑反的电路称为非门,非门的逻辑符号如图1.6所示,图中的小圆圈是表示“非”的定性符号;若去掉小圆圈,则成为没有非功能的缓冲器(Buffer)的符号。

对于非门来说,输入信号和输出信号永远具有相反的逻辑值。因而,非门又称为反向器(Inverter)。图1.6非门的逻辑符号

4.与非逻辑

与非逻辑是与逻辑运算和非逻辑运算的复合,它将输入变量先进行与运算,然后再进行非运算(先与后非),其逻辑表达式为

(1-15)

对于与非门来说,仅当所有输入都为1时,输出才为0,而只要输入变量中有一个为0,输出就为1。

两输入与非门的逻辑符号如图1.7所示,其逻辑真值表见表1.9。图1.7与非门的逻辑符号

5.或非逻辑

或非逻辑是或逻辑运算和非逻辑运算的复合,它将输入变量先进行或运算,然后再进行非运算(先或后非),其逻辑表达式为

(1-16)

对于或非门来说,仅当所有输入都为0时,输出才为1,而只要输入变量中有一个为1,输出就为0。

两输入或非门的逻辑符号如图1.8所示,其逻辑真值表见表1.10。图1.8或非门的逻辑符号

6.与或非逻辑

与或非逻辑是与逻辑运算和或非逻辑运算的复合,它是先将输入变量A、B及C、D分别进行与运算,然后再进行或非运算(先与后或非),其逻辑表达式为

(1-17)

2-2输入与或非门(第一个2表示一个与门有两个输入端,第二个2表示另一个与门也有两个输入端)的逻辑符号如图1.9所示,其逻辑真值表见表1.11。图1.9与或非门的逻辑符号

7.异或逻辑

异或逻辑是只有两个输入变量的函数,其逻辑关系为:当两个输入变量取值相异时,输出为1;否则输出为0。异或运算在功能上相当于不考虑进位的二进制加法运算,因而有时候也被称为模2加运算。异或运算是常见的逻辑运算,其逻辑表达式为

(1-18)

“”为异或运算符号,逻辑符号如图1.10所示,其逻辑真值表见表1.12。图1.10异或门的逻辑符号从异或逻辑真值表可以得到

(1-19)

式(1-19)为异或逻辑的运算规则,由此可以推出一般形式

(1-20)

根据式AA=0,A0=A可以推得:偶数个逻辑A进行异或运算,其结果为0,奇数个逻辑A相异或,其结果仍为A。例如,连续99个逻辑1相异或,其结果为1。

当多个0、1相异或时,起作用的是1的个数:奇数个1相异或结果为1,偶数个1相异或结果为0。例如:

8.同或逻辑

同或逻辑也称异或非逻辑,它也是只有两个输入变量的函数,其逻辑关系与异或逻辑相反,即当两个输入变量相同时,输出为1;相异时输出为0。其逻辑表达式为

(1-21)

“⊙”是同或运算符号,其逻辑真值表见表1.13,逻辑符号如图1.11所示。F=A⊙B

图1.11同或门的逻辑符号从同或逻辑真值表可以得到

0⊙0=1,0⊙1=0,1⊙0=0,1⊙1=1

(1-22)

式(1-22)为同或逻辑的运算规则,由此可以推出一般形式

A⊙0=

,A⊙1=A,A⊙

=0,A⊙A=1

(1-23)

根据式A⊙A=1,A⊙1=A可以推得:偶数个逻辑A进行同或运算,其结果为1;奇数个逻辑A相同或,其结果仍为A。例如,连续98个逻辑0相同或,其结果为1。

当多个0、1相同或时,起作用的是0的个数:奇数个0相同或结果为0,偶数个0相同或结果为1。例如:

1⊙0⊙0⊙0⊙1=0,1⊙0⊙0⊙1=1对异或逻辑和同或逻辑进行比较后可看出,异或与同或逻辑恰好相反,因此有

(1-24)

(1-25)

若两逻辑变量的原变量取值相同,则取非后其反变量的值也相同;若两逻辑变量的原变量取值相异,则取非后其反变量的值也相异,因此有

(1-26)

(1-27)A⊙B

A⊙B

⊙若逻辑变量A和B取值相同,则必与B相异,或A与必相异;若逻辑变量A和B取值相异,则必与B相同,或A与必相同,因此有

A⊙B=

(1-28)

A⊙B=⊙B=A⊙

(1-29)1.2.2逻辑代数的基本定律

1.逻辑函数的相等

设F(A1,A2,…,An),G(A1,A2,…,An)均为变量A1,A2,…,An的逻辑函数。若对应于A1,A2,…,An的任何一组取值,F和G的值都相同,即F

和G的真值表相同,则称F和G是相等的(或等值的、等价的),记作F=G。

反之,若F=G,则它们有相同的真值表。

要证明两个逻辑函数相等,只要分别列出它们的真值表,如果完全一样,则两个逻辑函数相等。

【例1-12】

设F(A,B)=,G(A,B)=

·,试证明:F=G。

证明:首先根据F和G的逻辑函数表达式,分别列出其真值表,如表1.14所示。它是根据逻辑函数的表达式,对输入变量的所有取值组合进行逻辑运算,从而求出相应的函数值而得到的。例如,对应于A、B的一组输入组合A=1,B=0,则F(A,B)=观察表1.14可看出,对应A,B的任意一组取值,F和G的值完全相同,所以F=G。

逻辑函数和·相等,说明不同的逻辑表达式可实现相同的逻辑。实现函数F和G的相应逻辑电路如图1.12所示。它们的结构形式和所用逻辑器件不同,但它们具有的逻辑功能完全相同。图1.12实现F和G的逻辑电路

2.基本定律

根据逻辑变量的与、或、非等运算规则,可推导出如下逻辑代数的基本定律(公式):

自等律A+0=A

A·1=A

0-1律A+1=1

A·0=0

互补律A+

=1

=0

重叠律A+A=A

A·A=A

还原律=A

交换律A+B=B+A

A·B=B·A

结合律A+B+C=(A+B)+C=A+(B+C)

A·B·C=(A·B)·C=A·(B·C)分配律A·(B+C)=AB+AC(乘对加分配)

A+BC=(A+B)(A+C)(加对乘分配)

反演律(又称DeMorgan德·摩根定律)

在多个变量的情况下,反演律仍然适用,如

这些定律的证明,最直接的方法是列出等号两边函数的真值表,看看是否完全相同。也可以利用已知的定律来证明其他定律。例1-12就是用真值表证明了反演律。

【例1-13】

证明加对乘的分配律:A+BC=(A+B)(A+C)。也可用公式来证明:

(A+B)(A+C)=(A+B)·A+(A+B)·C

(分配律)

=A·A+A·B+A·C+B·C

(分配律)

=A+AB+AC+BC

(重叠律)

=A(1+B+C)+BC

(分配律)

=A+BC

(0-1律)

【例1-14】

证明等式

成立。

证明:,故得证。

同理可以得到

该等式说明一个逻辑函数“非”号外面的变量可以放入“非”号下面,而保持外面的变量不变。这个等式可以当作公式来记忆,在以后的学习中会用到。

3.异或和同或逻辑的基本定律

根据逻辑变量的异或、同或等运算规则,可推导出如下基本定律(公式):⊙

求补律

自等律

互补律

重叠律

交换律

结合律

分配律A⊙0=A⊙1=A

A⊙

=0A⊙A=1A⊙B=B⊙A

A⊙B⊙C=(A⊙B)⊙C

A+(B⊙C)=(A+B)⊙(A+C)反演律=A⊙B=⊙=

调换律若AB=C,则有AC=B,BC=A

若A⊙B=C,则有A⊙C=B,B⊙C=A

由变量调换律,不难证明

A+B=AB(A·B)A·B=A⊙B⊙(A+B)

(1-30)

A·B=AB(A+B)

A+B=A⊙B⊙(A·B)

(1-31)

多个变量的异或和同或逻辑之间的关系如下:

偶数个变量的异或和同或互补,即

A1A2…An=A1⊙A2⊙…⊙An(n为偶数)

奇数个变量的异或和同或相等,即

A1A2…An=A1⊙A2⊙…⊙An

(n为奇数)⊙⊙

【例1-15】

证明等式A(AB)=A

成立。

证明:

A(AB)=AAAB

(分配律)

=AAB

(重叠律)

=A(1B)

(分配律)

=A

(求补律)1.2.3逻辑代数的基本规则

逻辑代数有以下三个重要规则。

1.代入规则

对于任何一个含有某变量的等式,如果将所有出现该变量的地方都代之以一个逻辑函数,则等式依然成立,这个规则称为代入规则。

代入规则之所以能成立,是因为任何一个完全确定的逻辑函数的取值和任何一个逻辑变量一样,只能是逻辑0和逻辑1两种,所以,将逻辑函数作为一个逻辑变量对待,不会改变原等式的逻辑关系。

【例1-16】

,F=DC,利用代入规则将F代换其中的A。

解:将等式两边的A用F代入,则有

使用代入规则时需注意,在等式中一定要把所有出现被代换变量的地方都代之以同一函数,尤其不要忘记非号下应被代换的变量。

【例1-17】

反演律,用F=B+C+D+E代换其中的B。

解:推广到n变量,则有同理可得上式把反演律推广到了多变量情况。利用代入规则可以将基本公式推广为多变量的形式,扩大了等式的应用范围。

2.反演规则

对逻辑函数F求反称为反演,F称为原函数,求反后的函数记作,称为反函数(或称为反演式,补函数)。

设F为一逻辑函数,如果将该逻辑函数表达式中所有的原变量换成反变量,反变量换成原变量,“·”换成“+”,“+”换成“·”,常量0换成1,1换成0,则所得到的逻辑函数表达式就是。这就是反演规则,又称互补规则。

【例1-18】

已知,求。

解:由反演规则,可得也可以用前面讲过的反演律求F的反,即

【例1-19】

已知,求。

解:由反演规则,可得

使用反演规则时需遵守两个规则:一是要保证原函数逻辑运算的优先顺序不变,为此,应合理地加入一些括号以避免逻辑运算顺序出错;二是两个或两个以上变量所共用的长非号保持不变。

3.对偶规则

若两逻辑式F和G相等,则它们的对偶式F*和G*也相等,这就是对偶规则。

所谓对偶式是这样定义的:设F为一逻辑函数,如果将该逻辑函数表达式中所有的“·”换成“+”,“+”换成“·”,常量0换成1,1换成0,则所得到的新的逻辑函数表达式就是F*。这个F*称为F的对偶式,或者说F和F*互为对偶式。例如:

若F=A(B+

),则F*=A+B

若F=A+B,则F*=A(B+

)

观察上面例子可以看出,对逻辑式F的对偶式再求对偶,得到的是原来的F,即

(F*)*=F

为了证明两个逻辑式相等,也可以通过证明它们的对偶式相等来完成,因为有些情况下证明它们的对偶式相等更加容易。

【例1-20】

已知,试证明。

证明:的对偶式为

的对偶式为

而已知条件是两个对偶式相等,即,根据对偶规则,则

【例1-21】

已知,求F*。

解:由对偶式定义,可得

求F的对偶式F*时注意,不需要将逻辑式中的原变量和反变量互换,这是对偶式F*和反演式的不同之处。与求反演式要求遵守的规则一样,仍要保证原函数的逻辑运算顺序不变,两个或两个以上变量所共用的长非号保持不变。

一般情况下,和F*不相同,但也有两者相等的特殊情况。

【例1-22】

求F=的对偶式F*。

解:

=A⊙B

A⊙B,故=F*。

因此,同或和异或互为反演式,也互为对偶式。

有些对偶式就是其本身。例如,F=,F*=。

【例1-23】

求A(BC)=ABAC的对偶式。

解:将等式两边求对偶式,得

A+(B⊙C)=(A+B)⊙(A+C)

该例是异或和同或逻辑分配律的一对公式。仔细分析一下1.2.2节中基本定律的每对公式,不难发现,它们皆互为对偶式。因此,这些公式只需记忆一半即可。1.2.4常用公式

运用逻辑代数的基本定律,可以导出一些常用的公式,直接应用这些导出公式可以方便地进行逻辑函数的化简。

1.吸收律1

A+AB=A

证明:A+AB=A(1+B)=A·1=A

对偶式为

A(A+B)=A

该公式说明,如果两个乘积项进行或运算,其中一个乘积项的部分因子(如AB项中的A)恰是另一乘积项(如A)的全部,则该乘积项(AB)是多余的,可消去。

例如,等。

2.吸收律2

证明:

(加对乘分配)

对偶式为

该公式说明,如果两个乘积项进行或运算,其中一个乘积项(如AB)的部分因子(如A)恰好是另一乘积项的补(如A),则该乘积项中的这部分因子(A)是多余的,可消去。

例如,等。

3.吸收律3

证明:

对偶式为

该公式说明,如果两个乘积项进行或运算,除了公有因子(如A)外,不同因子恰好互补(如B和B),则这两个乘积项可合并为一个由公有因子组成的乘积项。

例如,,等。

4.多余项定律

证明:

(分配律、交换律)

(吸收律1)

对偶式为

该公式说明,如果两个乘积项中的部分因子互补(如AB项和AC项中的A和A),而这两个乘积项中的其余因子(如B和C)都是第三个乘积项中的因子,则这个第三项是多余的,可消去。该公式可推广为

推论1:

推论2:

5.交叉互换律

证明:

(多余项定律)

对偶式为

例如,。

1.3逻辑函数的表示方法

同一个逻辑函数可以有多种不同的表示方法,常用的表示形式有真值表、逻辑函数表达式(简称逻辑函数式、函数式或逻辑式)、逻辑图、波形图、卡诺图和硬件描述语言等,它们之间能相互转换。卡诺图和硬件描述语言将在后面做专门介绍,这一节只介绍前四种表示方法及其转换。1.3.1不同的表示方法及其转换

1.真值表与逻辑函数式

通常,任何一个实际的逻辑问题,都可以抽象成真值表的形式。建立真值表首先要确定输入变量和输出变量的个数,然后在真值表的左边列出输入变量的所有可能取值组合,右边列出每种输入组合下相应的输出逻辑值。如果有n个输入变量,由于每个输入变量只有两种可能的取值,因此一共有2n个组合,在列真值表时,为避免遗漏和重复,变量取值一般约定按二进制数递增规律排列。

将输出变量与输入变量之间的逻辑关系用“·”、“+”、“-”、“”、“⊙”等逻辑运算符连接起来的组合式,即是所需的逻辑函数表达式。下面通过一个具体例子讨论列真值表以及由真值表写出逻辑函数式的方法。

【例1-24】

列出下述问题的真值表,写出描述该问题的逻辑函数表达式。

有A、B、C三个输入信号,当三个输入信号中有两个或两个以上为高电平时,输出F为高电平,其余情况下,均输出低电平。

解:A、B、C三个输入信号一共有8种可能的取值组合,即000、001、010、011、100、101、110、111,将这8种组合分别列于表的左边。设取值1表示高电平,取值0表示低电平。则根据问题的要求,可得表1.15所示的真值表。

1)与-或表达式

逻辑变量之间只进行逻辑乘运算的表达式称为与项,亦称乘积项(或积项)。与项之间只进行逻辑加运算的表达式称为与-或表达式,或称为“积之和”(sumofproducts)式。例如,AB、ABC是与项,AB+ABC是与-或表达式。

在真值表中,用原变量A、B和C表示变量取值1,用反变量A、B和C表示变量取值0;写出所有F=1的每一组输入变量组合对应的与项;将这些与项相或,即得出F的与-或逻辑函数表达式。

上例中,对应于F=1的输入变量组合有四组,如有A=0,B=1,C=1,用与项ABC来表示,其余三组的与项分别为ABC、ABC和ABC,将这些与项相或后得到的逻辑函数表达式为

F=ABC+ABC+ABC+ABC

这种表达式描述了该例题中的逻辑功能。

2)或-与表达式

逻辑变量之间只进行逻辑加运算的表达式称为或项,亦称和项。或项之间只进行逻辑乘运算的表达式称为或-与表达式,或称为“和之积”(Productofsums)式。例如,A+B,A+B+C是或项,(A+B)(A+B+C)是或-与表达式。

在真值表中,用原变量A、B和C表示变量取值0,用反变量A、B和C表示变量取值1;写出所有F=0的每一组输入变量组合对应的或项;将这些或项相与,可得出F的或-与逻辑函数表达式。上例中,对应于F=0的输入变量组合也有四组,如有A=0,B=0,C=0,用或项A+B+C

来表示,其余三组的或项分别为A+B+C、A+B+C和A+B+C,将这些或项相与后得到的逻辑函数表达式为

F=(A+B+C)(A+B+C)(A+B+C)(A+B+C)

这种表达式同样也描述了该例题中的逻辑功能。

由于与-或表达式和或-与表达式是对同一张真值表的两种不同的表示方法,因此二者是等值的。

若已知逻辑表达式要求列出真值表,只需将输入变量取值的所有组合状态逐一代入逻辑式求出其逻辑值,列成表,即可得到真值表。

【例1-25】

已知逻辑函数F(A,B,C)=AC,求它对应的真值表。

解:F(A,B,C)表示函数有A、B、C三个变量,将三变量的23=8种取值逐一代入F式中计算,计算结果列表,即得表1.16所示的真值表。

2.逻辑函数式与逻辑图

将逻辑函数式中各变量之间的与、或、非等逻辑关系用逻辑图形符号表示出来,再用线段将这些符号与对应的逻辑变量连接起来,就可画出表示函数关系的逻辑图。逻辑图比较直观,容易看出逻辑结构,在数字电路中,也是用逻辑符号表示基本单元电路,因此逻辑图接近工程实际的电路原理图,它是一种重要的表示方法。若逻辑函数式已知,转换为相应的逻辑图时,只需用逻辑图形符号代替逻辑函数式中的逻辑运算符号并按运算优先顺序将它们连接起来,即可得到相应的逻辑图。如例1-12中的图1.12是由逻辑函数式F(A,B)=A+B和G(A,B)=A·B分别画出的逻辑图。

若逻辑图已知,转换为相应的逻辑函数式时,只需从逻辑图的输入端到输出端逐级写出每个图形符号的输出逻辑式,即可在输出端得到相应的逻辑函数式。

【例1-26】已知函数的逻辑图如图1.13所示,写出它的逻辑函数式。图1.13例1-26逻辑电路图

解:这是由两个非门和三个或非门组成的逻辑图。从输入A、B开始,逐个写出每个图形符号输出端的逻辑式,得到。将该式变换后得到

可见,输出F和A、B间是同或关系,即该逻辑图实现的是一个同或功能。=A⊙B

3.真值表与波形图

将逻辑函数中输入变量每一种可能出现的取值与对应的输出值按时间顺序依次排列起来就是该逻辑函数的波形(Waveform)图,也称时序图(TimingDiagram)。

在将真值表转换为波形图时,只需将真值表中所有的输入变量与对应的输出变量取值依次排列画成的波形,就是所求的波形图。

画波形图时要注意,横坐标是时间轴,纵坐标是变量取值。由于时间轴相同,变量取值只有0和1两种可能,所以图中可不标出坐标轴。

【例1-27】

将例1-25所得到的真值表转换为波形图。

解:例1-25真值表的波形图如图1.14所示。图1.14例1-25所得到的真值表的波形图已知逻辑函数波形图求对应的真值表时,应先从波形图上找出每个时间段里输入变量与函数输出的取值,然后将这些输入、输出值对应列成真值表形式即可。读者可自己练习。1.3.2逻辑函数的两种标准形式

逻辑函数的标准形式(即标准表达式)有最小项表达式和最大项表达式两种。逻辑函数的表达形式有多种,而标准形式是唯一的,它们和真值表有严格的一一对应关系。从逻辑函数的标准式可以了解逻辑函数的基本结构,以便后面用卡诺图表示和化简逻辑函数。

1.最小项

逻辑函数的最小项(Minterm)是一个乘积项,在该乘积项中包含了逻辑函数的全部变量,其中每个变量都要以原变量或反变量的形式出现一次,而且仅出现一次。例如,两个变量A、B可以构成AB、AB、AB、AB四个最小项。三个变量A、B、C可以构成ABC、ABC、ABC、ABC、ABC、ABC、ABC、ABC八个最小项。一般地,n个变量可构成2n个最小项。

最小项可用符号mi

表示,下标i的确定方法是:对于最小项中的各变量,用1代替其中的原变量,用0代替其中的反变量,得到一个二进制数,下标i就是与此二进制数等值的十进制数。例如,三变量的一个最小项ABC仅和变量取值000对应,故用m0表示这个最小项;四变量的一个最小项ABCD仅和变量取值1001对应,故用m9表示该最小项。表1.17列出了三变量的全部最小项的真值表。观察表1.17可以看出,最小项具有以下主要性质:

①对于任意一个最小项,取值为1的机会只有1次,即只有一组变量的取值可以使其值为1,而变量的其他取值都使该最小项为0;

②任意两个不同的最小项mi和mj的逻辑乘恒为0,即

mi·mj=0(i≠j)

③n个变量的所有最小项(2n个)的逻辑加恒为1,即

2.最大项

逻辑函数的最大项(Maxterm)是一个和项,在该和项中包含了逻辑函数的全部变量,其中每个变量都要以原变量或反变量的形式出现一次,而且仅出现一次。例如,两个变量A、B可以构成A+B、A+B、A+B、A+B四个最大项。三个变量A、B、C可以构成八个最大项。一般地,n个变量可构成2n个最大项。

最大项可用符号Mi表示,下标i

的确定方法是:对于最大项中的各变量,用0代替其中的原变量,用1代替其中的反变量,得到一个二进制数,下标i

就是与此二进制数等值的十进制数。例如,三变量的一个最大项A+B+C仅和变量取值111对应,故用M7表示。四变量的一个最大项A+B+C+D仅和变量取值1110对应,故用M14表示。表1.18列出了三变量的全部最大项的真值表。观察表1.18可以看出,最大项具有以下主要性质:

①对于任意一个最大项,取值为0的机会只有1次,即只有一组变量的取值可以使其值为0,而变量的其他取值都使该最大项为1;

②任意两个不同的最大项Mi和Mj的逻辑加恒为1,即

Mi+Mj=1(i≠j)

③n个变量的所有最大项(2n个)的逻辑乘恒为0,即

3.最小项与最大项之间的关系

变量数相同,编号相同的最小项和最大项之间存在互补关系,即

例如,

4.最小项表达式

逻辑函数的最小项表达式是指每个与项都是最小项的与-或表达式,也称标准与-或式、标准积之和式。下面是最小项表达式的几种不同表达形式:逻辑函数的最小项表达式可由配项法和真值表法得到。

1)配项法

对于不是标准与-或形式的与-或表达式,可利用互补律进行配项,之后再展开成标准与-或表达式。

【例1-28】

展开成最小项形式。

解:F(A,B,C,D)要注意的是,F(A,B,C)和F(C,B,A)的区别,读者可做一做F(A,B,C)=和F(C,B,A)=

的最小项展开式。同一逻辑式对应的最小项的编号是不同的。

2)真值表法

由于真值表的每一行对应着一个最小项,故由真值表写出标准与-或式是很容易的,只要将真值表中使函数值为1的各个最小项相或,便可得出该函数的最小项表达式(参见例

1-24与-或表达式)。

【例1-29】

将表1.19真值表所示的逻辑函数用最小项表达式表示。解:最小项表达式为

5.最大项表达式

逻辑函数的最大项表达式是指每个或项都是最大项的或-与表达式,也称标准或-与式、标准和之积式。下面是最大项表达式的几种不同表达形式:对于不是标准或-与形式的或-与表达式,与最小项类似,可利用互补律配项,之后再整理成标准或-与形式,也可通过真值表得到。

【例1-30】

将F(A,B,C)=写成标准的或-与形式。

解:

F(A,B,C)=真值表的每一行也对应着一个最大项,只要将真值表中使函数值为0的各个最大项相与,便可得出该函数的最大项表达式(参见例1-24或-与表达式)。

【例1-31】

将表1-19真值表所示的逻辑函数用最大项表达式表示。

解:最大项表达式为

6.最小项表达式与最大项表达式的关系

最小项表达式与最大项表达式是同一函数的两种不同表示形式,因此二者在本质上是相等的。观察例1-29和例

1-31,对同一真值表,即同一函数,其最小项表达式和最大项表达式是相等的,即可以看出,两种标准式中的最小项和最大项序号间存在一种互补关系,即最小项表达式中未出现的最小项序号k必以最大项的序号k出现在最大项表达式中,反之亦然。利用这一特性,可以方便地根据一种标准表达式写出另一种标准表达式。例如,F(A,B,C)=的最大项表达式为F(A,B,C)=。

【例1-32】

已知函数F的真值表见表1.20,写出其反演式、对偶式的最小项表达式。解:

F为1的每一行对应F所包含的最小项,F为0的每一行对应所包含的最小项,于是有观察此例可看出,若逻辑变量数为n,由2n个最小项中除去F中已包含的最小项以外的全部最小项组成。F*中的最小项与中的最小项一一对应,其对应关系为:若

中的最小项号码为i,则F*中的最小项号码为(2n-1)-i。1.3.3逻辑函数的常见表达式

逻辑函数表达式除了标准形式外,还有一些常见的形式。一种表达式可以通过使用公式和规则作多次变换后得到多种形式。常见的表达式有以下几种形式:

与-或式

或-与式

与非-与非式

或非-或非式

与或非式

标准与-或式

标准或-与式

1.4逻辑函数的简化

如前所述,同一函数的逻辑表达式有多种形式,或繁或简。简单的形式对应简洁的电路,烦琐的形式对应复杂的电路。而在工程实践中,总希望电路的结构简单,用较少的逻辑器件来实现某一逻辑功能,这就需要对逻辑函数进行化简或变换,以简化电路、节省器件、降低成本,提高系统的可靠性。本节主要介绍如何将一个逻辑函数表达式化简成最简的与-或式,由最简与-或式可以推导出其他形式。使电路最简的与-或式应满足:(1)乘积项的个数最少,这意味着实现电路所用门的个数较少;(2)每个乘积项中包含的变量个数(因子)最少,这意味着电路中与其对应的门的输入端个数较少。化简的主要方法有公式化简法(代数法)、卡诺图化简法以及适用于编制计算机辅助分析程序的Q-M简化法(列表法)等。下面主要介绍前两种化简方法。1.4.1公式化简法

公式化简法就是运用逻辑代数的基本公式和常用公式消去函数式中多余的乘积项和多余的因子,以求得函数式的最简形式。现将经常使用的方法归纳如下。

1.并项法

利用公式将两项合并成一项,并消去一个变量。需要注意的是,根据代入规则可知,A和B均可以是任何复杂的逻辑式。

【例1-33】

化简下列函数

解:

2.消项法

利用公式A+AB=A及消去(吸收)多余的乘积项。A和B同样也可以是任何复杂的逻辑式。

【例1-34】

化简下列函数解:

(根据多余项公式消去BD,将展开)

3.消去互补因子法

利用公式

消去多余的因子。A和B可以是任何复杂的逻辑式。

【例1-35】

化简下列函数解:

4.配项法

利用公式A+

=1,将某乘积项乘以A+,并展开为两项。也可利用多余项公式添加多

余项,再与其他乘积项进行合并化简。

【例1-36】

化简下列函数解:

5.或-与式的化简法

【例1-37】

化简函数解:这是一个或-与表达式,可利用各公式的或-与式来进行化简:若对或-与形式的公式不熟练,可采用二次对偶法更为方便。即对或-与表达式求其对偶,变成与-或式,并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论