数字电路及数字系统设计(1-4)

更新时间:2023-09-15 05:33:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 逻辑代数基础

逻辑代数亦称布尔代数,由英国数学家George Boole于1849年创立。布尔代数是建立在二元(抽象为1和0)逻辑基础上具有与、或、非三种基本运算的逻辑代数体系。这种代数不仅广泛用于集合论、概率论和数理统计等领域,而且是数字电路分析与设计中最重要的数学工具。

1.1 概述

1.1.1 模拟信号与数字信号

现代电子技术主要涉及两种电信号:一种叫做模拟信号(Analog Signal),如图1.1.1(a)所示,电压随时间连续变化;另一种叫做数字信号(Digital Signal),如图1.1.1(b)所示,电压在时间上的变化是不连续的。电压要么处于高电平状态(H),要么处于低电平状态(L),除此之外,不会处于其它状态。所谓的状态并不是某一个固定电压值,而是一个允许的取值区间,如图1.1.1(c)所示。

本书研究对象是数字电子信号,传送这种信号的电子线路叫做数字逻辑电路,简称数字电路。数字信号有正负逻辑之分,若将高电平状态定义为1,低电平状态定义为0,这样的数字信号称为正逻辑信号;若反过来定义称为负逻辑信号。值得注意的是,这里的1和0是两种状态的抽象表示,没有大小之分。绝大多数数字电路采用正逻辑信号,以后不特别声明,数字信号指的都是正逻辑信号。

说明:电子计算机内部存储、传输和处理的信号就是数字信号。例如某计算机的数据总线(Data BUS)由32根单线并列组成,每根单线的电平状态1和0定义为二进制数的1和0,且各单线的权重依次为20,21,…,231,那么该数据总线能传输32位的二进制数。

1.1.2 进制转换与十进制数的编码

一、十进制与二进制的互换

1、二进制数的定义及一些特殊的数 ① 二进制数的定义:( N )2 = k n2 n +k n-12 n-1 +……+k121+k020 +k-12-1 +……+k-m2-m,ki为0或1。

1

② 20,21,……,210,211,212,213;这些十进制数是1,2,……,1024,2048,4096,8192; ③ 2 n = (100……0)2 ,其中1后面有n个0; ④ 2 n -1= (11……1)2 ,其中有n个1; ⑤ 2 -n = (0.00……01)2 ,其中小数点之后有n-1个0; ⑥ 1-2 -n = (0.11……1)2 ,其中小数点之后有n个1。 2、2的整幂加减拼凑法

对于接近2 n的十进制数化为二进制数,采用2的整幂加减拼凑法进行口算简明快捷。后面介绍的“除权取商法”和“减权取1法”也可结合使用之。例如:将十进制数135视为128 ( 27 )加7,则其结果为1后面有7个0的二进制数再加上 (111)2 ,所以135 = (10000111)2 。将十进制数2034视为2047 (211 -1) 减13,则其结果为有11个1的二进制数再减去 (1101)2 ,所以2034 = (11111110010)2 。

3、除权取商法

用十六进制数第n位的权重16 n去除十进制数,其商为十六进制数第n位上的数字;将其余数再用16 n -1去除,所得商为十六进制数第n-1位上的数字;??;重复这样的运算步骤,直到容易看出某一步余数的二进制数为止。最后将每一次的商和最后一步的余数按权重拼成一个二进制数。

[例1.1.1] 将十进制数87,969,2393分别化为二进制数。

解:①因为87除以16商5余7,所以87= (101 0111)2 。括号中插入一个空以方便读者理解。 ②969÷162 =3??201 → (11)2???201 ,前者为商,后者为余数,以下同。 201÷16 =12??9 → (1100)2?? (1001)2 ∴969 = (11 1100 1001)2

③2393÷162 =13??65 → (1101)2?? (1000001)2 ,余数65的二进制数用口算得到。 ∴2393= (1101 01000001)2 ,注意二进制数(1000001)2 前必须添一个0,使其达到8位,因为前段4位数字(1101)的权重为162 (即28)。

4、减权取1法

对于较大的十进制数化为二进制数可采用“减权取1法”。该方法是:用十进制数减去小于该数的最大的2 i,将其差再减去小于此差数的最大的2 j,??,重复这样的运算步骤,直到容易看出某一步差数的二进制数为止。最后将2 i、2 j、??,以及最后这一步差数的二进制数按权重拼成一个二进制数。

[例1.1.2] 将十进制数2169,10508化为二进制数。

解:

10508

- 8192 (213) 2169 2316

- 2048 (211) - 2048 (211)

121 (1111001)2 这一步口算 268 (100001100)2 这一步口算

∴2169 = (100001111001)2 ∴10508 = (10100100001100)2

2

5、二进制数化为十进制数

从二进制整数的最低位起,将二进制数视为十六进制数,即每4位分为一段,然后按十六进制数的权重展开求和。

[例1.1.3] 将二进制数(110001.10111)2 化为十进制数。

解:(110001.10111)2 = (110 0011 0111)2 /2 5 = (6×16 2+3×16+7) /32 =1591/32 = 49.71875

二、二进制的数学意义

将抽象的二进制数应用于具体的实例之中,是对二进制的数学意义最生动的诠释。 1、两个古典数学问题

①相传古代印度国王舍汗要褒奖国际象棋发明者达依尔,问他需要什么。达依尔回答说:“国王只要在国际象棋棋盘(8×8格)的第一格上放1粒麦子,第二格上放2粒麦子,第三格上放4粒麦子,第四格上放8粒麦子,按此规律一直放满棋盘的最后一格,我心足矣。” ??。

根据二进制数的定义,将棋盘上的麦子数用二进制数表示之应为64个1,那么麦子总数就是264-1(>1016)。这是一个惊人的天文数字,看来达依尔是在戏弄国王。

②“一尺之棰,日取其半,万世不竭。”

根据二进制数的定义,将前n日所得用二进制数表示之,该数应为小数点之后有n个1,其总和为1-2 -n 。所以2 –1 +2 –2 +?+2 – n = (0.11?1)2 <1总是成立的。

2、二进制与含权开关量

图1.1.2(a)是由8个开关和8个电容器组成的电路,图1.1.2(b)是由8个开关和8个电阻组成的电路。其中电容器的取值为Ci = 2 i×1μF(i = 0,1,?,7),电阻的取值为R j = 2 j×10Ω(j = 0,1,?,7)。这是一种二进制含权电容或电阻电路,在图1.1.2(a)中,用“1”表示开关Ki处于ON状态,用“0”表示开关Ki处于OFF状态;在图1.1.2(b)中,用“1”表示开关K j处于OFF状态,用“0”表示开关Kj处于ON状态。于是8个开关的每种组合状态对应于一个8位二进制数,所以电路取值为0~255之间的任一整数。

[例1.1.4] 将电容CAB的值设置为168μF。将电阻R AB的值设置为2500Ω。

解:①因为168= (10101000)2,所以在图1.1.2(a)所示的电路中,将开关K7、K5、K3闭合,其余5个开关断开。

②因为250= (11111010)2,所以在图1.1.2(b)所示的电路中,将开关K2、K0闭合,其余6个开关断开。

1.1.3 十进制数的编码

3

十进制数的每一位由0~9十个数字组成,在数字逻辑系统中,1位十进制数要用4位二进制数表示,即用二进制数对十进制数进行编码,这样的代码简称BCD(Binary Coded Decimal)码。表1.1.1是几种常用的BCD码,其中8421BCD码是最常用的一种十进制编码。

4位二进制数共有24个代码,除了对十进制数的编码外还有6个伪码,不同的BCD码伴有不同的伪码。在计算机中十进制数的运算是以BCD码进行的,一旦结果产生伪码就要对其进行修正处理。例如,当用8421BCD码表示的两个十进制数进行相加,若某位的和出现伪码(即大于9)或者该位向高位产生了进位,则该位的和还要加6进行修正;当用8421BCD码表示的两个十进制数进行相减,若某位向高位产生了借位,则该位的差还要减6进行修正。

表1.1.1 常用BCD码

十进制数 0 1 2 3 4 5 6 7 8 9 编码规则 8421码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 权8421 2421码 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 权 2421 余3码 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 8421码 + (11)2

1.2 逻辑代数中的基本运算及基本公式

1.2.1 逻辑函数

图1.2.1是某数字逻辑电路,输入信号A1,A2,?,An 叫做逻辑变量,输出信号Y 叫做逻辑函数,它们的取值为逻辑值1或0。显然输出信号的变化是受输入信号的影响,或者说输出信号是关于输入信号的函数,即存在逻辑函数式:

Y = f ( A1,A2,?,An ) 1.2.1

逻辑函数的另一种表示是逻辑真值表,真值表的一行称为一个状态行,该行的内容是若干个变量的一组逻辑值和由此决定的函数值,n个变量的逻辑真值表共有2n个状态 行。逻辑函数式和逻辑真值表可以相互转换。

1.2.2 基本运算及基本公式

在逻辑代数中,与、或、非是三种最基本的逻辑运算,其它逻辑运算是这三种基本运算的复

4

合。表1.2.1是逻辑代数中的常见运算,其中列出了每种运算所对应的电路符号。表1.2.2是逻辑代数的基本公式,表1.2.3是逻辑代数的常用公式。

一、与运算

与运算又称逻辑乘。由表1.2.2的第1、2行左边可知“信号0封锁与门,信号1开放与门”。何谓门?门者开关也。这句话的意思是:一旦信号0打入与门,该与门的输出即为0,其它输入信号就不起作用了,相当于这些信号被阻止了;信号1打入与门,该与门的输出取决于其它输入信号,相当于这些输入信号顺利地通过了与门。

二、或运算

或运算又称逻辑加。由表1.2.2的第1、2行右边可知“信号1封锁或门,信号0开放或门”。

三、非运算

非运算是求逻辑变量的相反状态,常常也称为逻辑取反。

四、异或运算

5

异或运算又称模2加(减),两个变量取异或,可以视为这两个变量的值进行二进制加(减),只是进(借)位自动丢失;同或运算是当两个变量的值相同时结果为1,当两个变量的值相异时结果为0。同或与异或为互补运算,即同或取非为异或,异或取非为同或。

五、反演

表1.2.2的第8行是著名的德·摩根(De ·Morgan)律,亦称反演律。用一句口诀概括,就是“头上切一刀,展开运算变个号”。

1.2.3 常用公式及定理

一、常用公式

表1.2.3的第7行说明:若某原变量乘以一个因子,加上其反变量乘以另一个因子,则这两个因子的乘积是多余项。

二、常用定理

1、代入定理:逻辑等式两边所出现的同一变量代之以另一函数式,则逻辑等式仍成立。

2、香农(Shannon)定理:

1.2.2

该等式的意义是任何反函数(原函数取非)都可以通过对原函数中的所有变量取非,并将其中的0换为1,1换为0,“·”换为“+”,“+”换为“·”而得到。其实香农定理就是德·摩根律的推广。

3、对偶定理:若两逻辑表达式相等,则它们的对偶式也相等。

所谓对偶式是这样定义的:对于任何一个逻辑表达式Y,若将其中的0换为1,1换为0,“·”

6

换为“+”,“+”换为“·”而得到一个新的逻辑表达式Y ’, Y ’与Y 互为对偶式。例如表1.3中的第1与第2行、第3与第4行、第5与第6行、第7与第8行成对偶关系。利用对偶定理,我们只要证明了某等式成立,则该等式的对偶式自然也成立。

[例1.2.1] 证明表1.3中第7行的公式。

因等式成立,根据对偶定理可知第8行的公式也成立。

1.2.4 由逻辑真值表写逻辑函数式

由逻辑真值表写原(反)函数表达式的方法:选取函数值为1(0)的状态行相或,每行的状态决定变量组成一个与项,状态行中取值为1的记为原变量,取值为0的记为反变量。

[例1.2.2] 两个二进制数A =An An-1?Ai?A0,B = Bn Bn-1?Bi?B0相加,其中第i位的运算是A i

加B i再加来自低位的进位C i-1,产生本位的和S i以及向高位的进位C i,能实现这种运算的电路叫做一位全加器,试推导其逻辑函数式并画出电路图。

解:①根据二进制加法运算法则得逻辑真值表

表1.2.3 一位全加器真值表 Ai Bi Ci-1 0 0 0 0 0 1 0 1 0 0 1 1 Si Ci 0 0 1 0 1 0 0 1 Ai Bi Ci-1 1 0 0 1 0 1 1 1 0 1 1 1 Si Ci 1 0 0 1 0 1 1 1

②由逻辑真值表得逻辑函数式并化简:

1.2.3

7

③根据1.2.3式作电路图(图1.2.2)。

说明:如何确定逻辑变量之间是“与”关系还是“或”关系呢?真值表中的一个状态行是某时刻若干个变量的取值,同时性决定“与”关系;真值表中不同的状态行是不同时刻若干个变量的取值,先后性决定“或”关系。

1.3 逻辑函数的标准形式及化简

1.3.1 逻辑函数的两种标准形式

一、逻辑最小项mi 与标准式1

在n变量逻辑函数中,若m i为包含n个因子的乘积项,而且这n个变量以原变量或反变量的形式在m i中必须出现一次,则该乘积项称为最小项m i。

1、最小项m i脚标的确定:将n个变量按某种顺序排定,原变量对应1,反变量对应0,所得二进制数为脚标。例如对于四变量ABCD的乘积,m9=,m13=。 2、最小项m i的性质:

①在输入变量的任何取值下必有一个最小项,而且仅有一个最小项的值为1。 ②全体最小项之和为1。

③任意两个最小项的乘积为0。

3、逻辑函数的标准式1:可以将任何一个逻辑函数化为最小项之和的形式,即

Y = ∑m i 1.3.1

例如对于1.2.3式,S i = m1+m2+m4+m7 =∑m i (i =1,2,4,7); 对于1.2.4式,C i = m3+m5+m6+m7

=∑m i ( i=3,5,6,7)。

二、逻辑最大项M j 与标准式2

在n变量逻辑函数中,若M j为n个变量之和,而且这n个变量以原变量或反变量的形式在M j中必须出现一次,则该和项称为最大项M j。

1、最大项Mj脚标的确定:将n个变量按某种顺序排定,原变量对应0,反变量对应1,所得二进制数为脚标。例如对于四变量ABCD相或,M9 =,M13 =。 2、最大项M j的性质:

①在输入变量的任何取值下必有一个最大项,而且仅有一个最大项的值为0。 ②全体最大项之积为0。 ③任意两个最大项之和为1。

3、逻辑函数的标准式2:可以将任何一个逻辑函数化为最大项之积的形式,即

Y = ∏M j 1.3.2

三、逻辑函数标准式的互换

8

[例1.3.1 ] 将1.2.3式和1.2.4式化为标准式1和标准式2

解:标准式1:S i = m1+m2+m4+m7 =∑m i (i = 1,2,4,7)

C i = m3+m5+m6+m7 =∑m i (i = 3,5,6,7)

标准式2:S i = M0·M3·M5·M6 = ∏M j ( j = 0,3,5,6)

C i = M0·M1·M2·M4 = ∏M j ( j = 1,2,4,7)

标准式1比标准式2用途更广泛,特别是可编程逻辑器件几乎都是采用与或阵列(即标准式1的结构)布局,而标准式2是一种或与结构的表达式。

1.3.2 逻辑函数的卡诺图表示

卡诺图是美国工程师Karnaugh于20世纪50年代提出的。利用它可以表示任何逻辑函数,并且可以方便地将逻辑函数化为最简与或式。n个变量的卡诺图由2n个方格组成,每个方格对应一个最小项。图1.3.1是三变量、四变量和五变量的卡诺图。二变量的逻辑函数化简很简单,不必使用卡诺图。六变量卡诺图可以参考五变量卡诺图画出,在此省略。超过六个变量的逻辑函数化简不适宜直接使用卡诺图,可以将该逻辑函数分解为多个变量数较少的逻辑函数后,再使用卡诺图化简(见第113页)。

三变量卡诺图的纵坐标(为方便起见,姑且这样称呼吧)取值依次为0和1,横坐标取值依次为00,01,11,10;四变量卡诺图的坐标值可以根据三变量卡诺图推得;五变量卡诺图可以看作两个四变量卡诺图对称排列,左边四变量卡诺图的横坐标依次为00,01,11,10,右边四变量卡诺图的横坐标依次为10,11,01,00。然后在左边四变量卡诺图各坐标值的前面添0,在右边四变量卡诺图各坐标值的前面添1。这样就不必死记硬背五变量卡诺图及六变量卡诺图的坐标值了。

用卡诺图表示某逻辑函数的方法是:首先逻辑函数化为标准式1,然后将该式所包含的最小项以“1”的形式填入对应方格中,习惯上一个方格的纵坐标在前横坐标排后,构成最小项的对应值。例如图1.3.1(a)就是1.2.4式C i的卡诺图,图1.3.1(b)和图1.3.1(c)表示的逻辑函数是:

9

Y b=∑m i (i = 0,2,5,8,10,11)

Y c=∑m i (i = 0,1,4,5,8,10,16,17,20,21,25,27,29,31)

1.3.3 用常用公式化简逻辑函数

[例1.3.2 ] 用公式将下列逻辑函数化简为与或式。

显然用公式化简逻辑函数需要一定的技巧,而且也不知道化简出来的结果是否为最简与或式。但是用卡诺图可以有规律地化简逻辑函数,并且得到的结果一定是最简与或式。

1.3.4 用卡诺图化简逻辑函数

一、逻辑相邻

如果两个逻辑最小项中仅有一个因子不同,则称这两个最小项逻辑相邻。在卡诺图中,下列情况能直观地反映最小项的逻辑相邻:1、相邻两格;2、同一行的最左边与最右边两格;3、同一列的最上边与最下边两格;4、在五、六变量卡诺图中,轴对称位置上的两格。例如图1.3.1(c)中的m27和m31;5、将五、六变量卡诺图视为由多个四变量卡诺图组成,若在其中的四变量卡诺图中逻辑相邻,那么在五、六变量的卡诺图中也逻辑相邻。例如图1.3.1(c)中的m8和m10。

10

二、用卡诺图化简逻辑函数的方法 1、将逻辑函数表示在卡诺图中;

2、合并最小项:两个逻辑相邻项合并为一项并消去那个不同的因子;四个逻辑相邻项合并为一项并消去那两个不同的因子;八个逻辑相邻项合并为一项并消去那三个不同的因子,??。

3、合并最小项的原则:①尽可能将矩形圈画大一些,每个圈中有2n个“1”;②每个圈中至少有一个未被圈过的“1”;③孤立项不能化简;④尽可能减少总圈数。

[例1.3.3 ] 用卡诺图将下列逻辑函数化简为最简与或式、或者与或非式。

说明:如果逻辑函数本身是与或式,就不必将其化为最小项之和的形式,可以直接将逻辑函数写入卡诺图中。例如将Y1中的视为0×11,将ABC视为111×;将Y3中的AC视为1×1×,将视为××0×。“×”表示取值为1和0。在卡诺图中,含一个“×”的与项占2格,含两个“×”的与项占4格,含三个“×”的与项占8格,??。合并最小项时,将上述方法反过来操作。例如图1.3.2(a)中右下角的圈中有2个“1”,表示为1×10;图1.3.2(b)中右边的圈中有4个“0”,表示为××10。

解:图1.3.2(a)中含有4个“1”的那个圈是多余的,称为冗余项。它的每一个“1”都是其它圈已圈过的。

11

因为,作的卡诺图图1.3.2(b),用圈“0”法求的反函数:

将Y4视为两个函数取异或,作这两个函数的卡诺图,并将这两个卡诺图取异或得到Y4的卡诺图(如图1.3.3)。在图1.3.3(c)中:

说明:两个逻辑函数进行与、或、同或、异或运算,可以用它俩卡诺图的对应方格进行与、或、同或、异或运算。

[例1.3.4 ] 用卡诺图将图1.3.1中的逻辑函数Yb和Yc化为最简与或式。

三、用卡诺图化简具有约束条件的逻辑函数

1、逻辑函数中的无关项:在实际电路中根本不可能出现或即使出现也不影响电路的逻辑功能的那些逻辑最小项称为无关项(亦称任意项、约束项),记为md。既然md不影响逻辑函数Y,所以∑md应恒为0。通常将∑md = 0称为逻辑函数的约束条件。

2、用卡诺图化简具有约束条件的逻辑函数

①将逻辑函数中的最小项用“1”表示在卡诺图中,将约束条件中的无关项用“×”表示在卡诺图中。若某方格出现“1”和“×”重合,该方格应填“1”。

②合并最小项和无关项:尽可能将矩形圈画大一些,每个圈中可以有任意多个“×‖,但至少有一个未被圈过的―1‖。

[例1.3.5 ] 用卡诺图将下列具有约束条件的逻辑函数化简为最简与或式。

,约束条件AB+AC =0。

Y2 (A,B,C,D) =∑m i (i =1,3,5,7,9) +∑md (d =10,11,12,13,14,15)

解:作Y1和Y2的卡诺图,如图1.3.4所示。

12

1.3.5 多输出逻辑函数的化简

通常一个数字逻辑系统是由多个逻辑函数构成的,用卡诺图对单个逻辑函数化简后,将若干个最简逻辑函数式集中起来构成的系统未必是最简的,即该系统的逻辑门未必是最少的。局部最简并不意味着整体最简,因此,对于多输出逻辑函数的化简应遵循局部服从整体的原则。具体方法是:利用卡诺图将每个逻辑函数化为最简,然后将每个函数式中含因子少的与项按公式膨胀开来,以尽量获得各函数式之间的公共与项。

[例1.3.6 ] 化简下列多输出逻辑函数

F1 (A,B,C,D) =∑m i (i =2,3,5,7,8,9,10,11,13,15) F2 (A,B,C,D) =∑m i (i =2,3,5,6,7,10,11,14,15) F3 (A,B,C,D) =∑m i (i =6,7,8,9,13,14,15)

解:作F1、F2和 F3的卡诺图,如图1.3.5所示。

根据图1.3.5得(1)式:

用逻辑电路来实现(1)式需要3个非门、7个与门和3个或门。将(1)式变换为(2)式,(2)式中只有5个与项,所以用逻辑电路来实现(2)式则要少用2个与门。

13

习题1

1-1.将下列十进制数转换为二进制数(口算)。

① 45 ② 99 ③ 121 ④ 499 ⑤ 2050 ⑥8200 ⑦ 0.75 ⑧ 0.625 1-2.将下列二进制数转换为十进制数(口算)。

① (100001)2 ② (11111100)2 ③ (1100000)2 ④ (1010101)2 ⑤ (111111110)2 ⑥ (110111)2 ⑦ (0.011)2 ⑧ (0.101)2 1-3.将二进制数与十进制数进行互换,小数可用分数表示。

① 175= ( )2 ②985= ( )2 ③2008= ( )2 ④ (10110010111)2= ⑤ (101111.101)2= ⑥(0.1011011)2= 1-4.用二进制的思想方法计算或证明:

①n个不同的素数的乘积除了1和自身外,还有2 n –2个约数。 ②用不同面值的人民币硬币各1枚,最多可组合成多少种金额。 ③AC和BD是围棋棋盘(18×18格)的两条对角线,一只蚂蚁从A点出发沿棋盘线以最短路线爬行到对角线BD,有多少种爬行路线。

1-5.用余3码表示的两个十进制数进行加减运算,试分析其结果如何修正。 1-6.证明同或与异或运算也遵守德·摩根律,即

1-7.用公式法将下列逻辑函数化为最简与或式。

1-8.将第7题的结果写成逻辑函数的标准式1和标准式2。

1-9.两个二进制数A1A0和B1B0的乘积为D3D2D1D0,试列出其逻辑真值表。 1-10.用卡诺图将下列函数化为最简与或式。

14

Y6 (A,B,C )= ∑m i (i =0,1,2,3,6,7) Y7 (A,B,C )= ∑m i (i =1,3,5,7)

Y8 (A,B,C ,D)= ∑m i (i =0,1,2,3,4,6,8,9,10,11,14) Y9 (A,B,C ,D)= ∑m i (i =0,1,2,5,8,9,10,12,14) 1-11.将下列带约束条件的逻辑函数化为最简与或式。

Y4 (A,B,C,D) =∑m i (i =3,5,6,7,10) +∑md (d =0,1,2,4,8) Y5 (A,B,C ) =∑m i (i =0,1,2,4) +∑md (d =3,5,6,7)

Y6 (A,B,C,D) =∑m i (i =2,3,7,8,11,14) +∑md (d =0,5,10,15) 1-12.利用卡诺图之间的运算,将下列函数化为最简与或式。

15

第二章 半导体集成门电路

随着微电子技术的飞速发展,表征半导体工艺水平的线宽已经达到0.13μm,一块硅片的集成度可达千万门,而构成门电路的基本元件就是半导体开关元件。本书只介绍半导体开关元件的外部特性,其内部物理机理请参考有关书籍。

2.1 半导体开关元件

2.1.1 晶体二极管

如图2.1.1(a)所示,晶体二极管是由P型半导体和N型半导体接触在一起形成的。在P型半导体和N型半导体接触面会形成一个PN结,这个PN结具有单向导电性。图2.1.1(b)是晶体二极管的电路符号,其中uD定义为阳极电位与阴极电位之差。图2.1.1(c)是晶体二极管的伏安特性曲线。由该曲线可知:当uD≥UON(0.7V)时,二极管处于导通状态。其特征是导通电压UD= 0.7V,导通内阻 rD≈0;当uD<UON 时,二极管处于截止状态。其特征是电流 iD≈0,截止内阻rD→∞。二极管的这些特性称为二极管的单向导电性。若uD<UF(至少几十伏),即加在二极管上的反向电压大于反向击穿电压UF ,则二极管被反向击穿而损坏。

2.1.2 晶体三极管

16

如图2.1.2(a)所示,晶体三极管是由两个PN结背向连接形成的,其中b-e 间的PN结称为发射结,b-c间的PN结称为集电结。图2.1.2(b)是晶体三极管的电路符号,图2.1.2(c)是晶体三极管的开关电路。表2.1.1给出了在该电路下的两种工作状态:当输入电压uI<0.5V时,三极管处于截止状态,输出电压uO≈VCC;当输入电压uI≥0.7V时,三极管处于饱和导通状态,输出电压uO≈0.3V。若三极管开关电路的工作电压VCC为+5V,对输入电压的取值按图1.1.1(c)给以限制,则该开关电路的逻辑功能等效于非门。即输入低电平时,输出为高电平;输入高电平时,输出为低电平。

2.1.3 MOS管

MOS管是金属-氧化物-半导体场效应管(Metal-Oxide-Semiconductor Field-Transistor)的简称,图2.1.3(a)是MOS管的电路符号。有两种MOS管,即P型管和N型管。MOS管的漏极和源极在结构上是完全对称的,为了区分漏极与源极,在其电路符号上,将栅极标在靠近源极的一边。图2.1.3(b)是MOS管的伏安特性曲线,uGS是栅极相对于源极的电压,iD是漏极与源极之间的电流。其中UTN是NMOS管的阈值电压,当uGS≥UTN时,NMOS管导通,此时内阻rDS很小,iD达到毫安级,相当于D极与S极间短接;当uGS<UTN时,NMOS管截止,此时内阻rDS很大,iD≈0,相当于D极与S极间阻断。UTP是PMOS管的阈值电压,当uGS≤UTP时,PMOS管导通,D极与S极间短接;当uGS>UTP时,PMOS管截止,D极与S极间阻断。

17

图2.1.3(c)是由NMOS管构成的开关电路,若该电路的工作电压VDD为+5V,对输入电压的取值按图1.1.1(c)给以限制,则该开关电路的逻辑功能等效于非门。即输入低电平时,输出为高电平;输入高电平时,输出为低电平。

说明:不难看出图2.1.3(c)和图2.1.2(c)有些相似,其实它们都可以抽象为图2.1.4。图2.1.4说明不管具体电路如何,信号总是由输入回路耦合(或叫做映射)到输出回路的。例如原线圈电压经变压器耦合而得到次级线圈电压,输入信号经集成运算放大器耦合而得到输出端信号,还有光电耦合器等。实际应用中人们更关注的是输出信号与输入信号的映射关系,而淡化具体电路的内部结构。另外,在数字电路中,输入端与输出端的逻辑电平都是相对于共同的参考电位而言,这个参考电位就是共地线。计算机网络传输线就是由一条数据线和一条地线组成的,正是这条地线将通信双方的参考电位统一了,数据线上的信号才有意义。

2.2 TTL集成门电路

按芯片的集成度将集成电路划分为小规模集成电路(SSI,十几门以内)、中规模集成电路(MSI,100门以内)、大规模集成电路(LSI,数千门)和超大规模集成电路(VLSI,数万门以上)。在数字集成电路中,为了尽可能地削减芯片面积,一般都避免集成电容和高阻值电阻,多以晶体管代替。

在以下电路分析中,设电源电压Vcc=5V,二极管或PN结的导通电压UD=0.7V,三极管的饱和导通压降Uces=0.3V,输入信号的高电平UIH=3.6V,低电平UIL=0.3V。另外将三极管视为两个背靠背的PN结。

2.2.1 TTL非门

一、电路原理

图2.2.1是TTL(Transistor-Transistor Logic)非门电路,该电路分为三级:输入级、倒相级和输出级。其中二极管D1起钳位作用,当输入端出现负极性干扰脉冲时,它将T1管的发射极钳位于-0.7V,从而避免加在T1管发射结的正向瞬时电压过大,瞬时电流过强而损坏T1管。当输入端出现正极性干扰脉冲,即超过电源电压时,T1管发射结被反向偏置而截止,不会威胁到整个电路的安全。

1、当uI =UIL时,T1管导通使ub1钳位于1V。此值小于T1管集电结和T2管发射结所需的导通电压(2×0.7V),所以T2管截止。由于T2管的截止,导致ue2与地线等电位使T5管截止,uc2与电源等电位使T4管饱和导通,因此输出信号uO为高电平。

2、当uI =UIH时,因为Vcc大于T1管集电结、T2管和T5管发射结的导通电压之和(3×0.7V),所以ub1钳位于2.1V。此时T1管截止而T2管和T5管饱和导通,使uc2=Uces+ue2=1V。此值不能使T4管和D2管同时导通,因此输出信号uO为低电平。

18

说明:上述分析采用电位回推法。其具体方法是:已知某点电位为a,从接地端逆着电流的方向逐级回推得到该点电位为b。若b>a,则该支路不通;若b≤a,则该支路导通。在导通的情况下,若该支路中无阻容元件则已知点的电位钳位于b,否则已知点的电位为a。若该支路中有电阻无电容则电阻分压为a-b;若该支路中有电容则电容被充电,充电完毕的电容电压为a-b。

二、电压传输特性及输入端噪声容限

图2.2.2是TTL非门的电压传输特性,在曲线AB段,uI =UIL<0.6V,输出信号uO为高电平;在曲线BC段,0.7V≤uI ≤1.3V,T1管导通使ub1钳位于1.4V以上2.1V以下,支路ub1→T1→T2→R 3→地是通路,而支路ub1→T1→T2→T5→地不是通路,所以T2管导通T5管截止。此时T2管工作在放大区,随着uI 的升高uc2和uO线性地下降;在曲线DE段,uI =UIL>1.4V,输出信号uO为低电平。

从电压传输特性可以看出,当输入信号比正常低电平(0.3V)略高一点时,输出信号仍为高电平;当输入信号比正常高电平(3.6V)略低一点时,输出信号仍为低电平。因此,在保证门电路的逻辑功能不变的前提下,允许输入电平有一定的波动范围,这个范围就叫做输入端噪声容限。

图2.2.3是输入端噪声容限示意图,为了正确区分1和0这两个逻辑状态,必须规定输出高电平的下限UOH(min) 和输出低电平的上限UOL(max) ,根据UOH(min) 并结合电压传输特性规定输入低电平的上限UIL(max),根据UOL(max)并结合电压传输特性规定输入高电平的下限UIH(min)。

对于多级门电路,前一级的输出就是后一级的输入。显然前一级输出的UOH(min)必须大于后一级的UIH(min) ,前一级输出的UOL(max) 必须小于后一级的UIL(max) 。由此得输入为高电平的噪声容限UNH和输入为低电平的噪声容限UNL:

UNH= UOH(min)-UIH(min) UNL= UIL(max)-UOL(max) 2.2.1

19

74LS系列门电路的标准参数为UOH(min) =2.4V,UOL(max) = 0.4V,UIH(min) =2.0V,UIL(max) =0.8V。于是可得:UNH= UNL=0.4V。

说明:数字逻辑信号的噪声容限反映了数字电路的抗干扰能力,噪声容限越大抗干扰能力越强。从信号传输的可靠性来说,数字电路比模拟电路更优越,因为模拟信号每通过一级电路或多或少地存在着波形失真,这些失真经若干级电路的积累就可能变得无法接受了。当然数字信号的传输也会受到外界的干扰,但是大多数情况下这些干扰不会导致逻辑电平产生错误的跳变。即使产生了错误的跳变,也有专用的校验与纠错电路进行处理。

2.2.2 常见TTL门电路

一、TTL与非门

图2.2.4是TTL与非门电路,其输入端是一个多发射极结构,即多个发射结并联。当输入信号均为UIH时,此时相当于TTL非门电路的第2种状态,即输出信号uO为低电平。当有一个或多个输入信号为UIL时,那么T1管都会导通使ub1钳位于1V,此时相当于TTL非门电路的第1种状态,即输出信号uO为高电平。所以。

二、 TTL或非门

图2.2.5是TTL或非门电路,当A端输入高电平时,则T2管和T5管饱和导通,输出端Y为低电平;当B端输入高电平时,则T2’ 管和T5管饱和导通,输出端Y为低电平;当A、B两端输入均为低电平时,使T2管和T2’ 管同时截止,输出端Y为高电平。所以。

20

表3.2.3 4位数据比较器的真值表

E3 E2 E1 E0 L3 L2 L1 L0 × × × × 1 × × × 1 × × × × 1 × × 1 1 × × × × 1 × 1 1 1 × × × × 1 YA

YA

3.2.11

如果A≠B且A≦B,那么A一定是大于B的。所以

3.2.12

三、4位数据比较器CC14585

由逻辑函数式3.2.10~3.2.12可得4位数据比较器CC14585的基本电路,如图3.2.14所示。但是CC14585还有三个级连输入信号IAB,下面分析这三个信号的作用。

若IA=B=0导致G2门输出0,则使YA=B恒为0,即不能进行A等于B的比较,所以IA=B应该为1。若IA>B=0导致G4门输出0,则使YA>B恒为0。另外由3.2.12式可知,当A≠B且A≦B时直接决定了YA>B=1,IA>B必须取值为1使G4门处于开放状态,所以IA>B应随时保持高电平。若IA

[例3.2.3] 试用两片CC14585构造一个8位数据比较器。

解:如图3.2.15所示,该电路先由第(Ⅰ)片对低4位进行比较。若C3C2C1C0=D3D2D1D0,则第(Ⅱ)片的三个级连输入信号IAB=1,此时符合第(Ⅱ)片的工作要求。若C3C2C1C0B=1,此时第(Ⅱ)片中的G1门处于开放状态,G2门输出为0使YA=B=0,所以第(Ⅱ)片的输出不是YA>B=1就是YAD3D2D1D0,则第(Ⅱ)片的三个级连输入信号IAB=1,此时第(Ⅱ)片中的G3门处于开放状态,G2门输出为0使YA=B=0,所以第(Ⅱ)片的输出不是YA>B=1就是YA

46

3.2.5 全加器电路

在第一章我们通过例1.2.2研究过一位全加器,并得到一位全加器的电路符号(图3.1.3)。将n个一位全加器串联起来就得到n位串行进位加法器,如图3.2.16所示。但是串行进位加法器的运算速度较慢,计算机中采用的都是并行进位加法器。关于并行进位的问题在《计算机组成原理》课程中要作详细的探讨。

[例3.2.4] 用8421BCD码表示十进制数,试设计两位十进制加法器。

解:两位十进制加法器需要8位二进制加法器。用8421BCD码表示的两个1位的十进制数进行相加,若其和出现伪码(即大于9)或者该位向高位产生了进位,则该位的和还要加6进行修正。由此列十进制数进位的逻辑真值表。

表3.2.4 十进制数进位的真值表

两个1位十进制数相加的和 0~9 10 11 12 13 14 15 16 17 18 19 20 … 31 两个4位二进制数相加的和 C3 S3 S2 S1 S0 0 × × × × 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 ………………………… 1 1 1 1 1 十进制数的进位 CD 0 1 1 1 1 1 1 1 1 1 1 × ? × 逻辑无关项 ①十进制数的和为10~19产生进位,应该加6修正。 ②考虑到来自低位的进位,两个1位十进制数的和最大值为19。 说 明 不加6修正

47

由真值表得CD的卡诺图,如图3.2.16所示。由卡诺图得十进制数的进位CD的逻辑函数:

CD=C3+S3S2+S3S1 3.2.13

根据图3.2.15和3.2.13式得两位十进制加法器电路,如图3.2.18所示。

[例3.2.5] 8位数据线上传输的是两位十进制数(8421BCD码),当该十进制能被3整除时标志信号F置1,否则F 置0。试设计此逻辑电路。

解:若两位十进制数的十位数字与个位数字之和能被3整除则该十进制数一定能被3整除,又因十位数字与个位数字之和的最大值为C3S3S2S1S0=10010(等于十进制数18)。由此得卡诺图,如图3.2.19。

由卡诺图得F 的逻辑函数3.2.14式,并由该式得电路图(图3.2.20)。

48

3.2.14

3.2.6 奇偶校验电路

由于传输信道中的噪声干扰,可能导致被传送的数据出错。例如发送的数据是A,而接收到的数据却是。为了提高数据传输的可靠性,通常将数据采用专门的逻辑电路进行编码传送,接收方用专门的逻辑电路进行校验,判断接收数据是否有错。有的校验方法还具有自动纠错能力,奇偶校验是最简单的一种校验方法,它具有检测1位数据出错的能力,但不具有自动纠错能力。下面介绍偶校验的原理,奇校验原理与此相似。

如图3.2.21所示,发送一个字节(Byte)数据D7D6D5D4D3D2D1Do前,发送方先形成偶校验位:

P= D7?D6?D5?D4?D3?D2?D1?D0 3.2.14

将偶校验码PD7D6D5D4D3D2D1Do一起发送,接收方用偶校验方式检错。检测标识:

1→有奇偶性错

F=P ?D7?D6?D5?D4?D3?D2?D1?D0= 3.2.15 0→无奇偶性错

说明:这里的奇偶性是指一个校验码中所含1的个数是奇数个还是偶数个。偶校验码中1的个数应当为偶数个。如果接收方得到的代码中1的个数变为奇数个,即出现奇偶性错,那么检测标识F=1表示接收代码有1位(或奇数位)出错,接收方则屏弃本次接收的代码。如果有两位出错,显然奇偶性不会被破坏。但是为什么还要用奇偶校验来检错呢?这里有一个前提,即传送的数据位不太长,最多以一个字节构成一个奇偶校验码(例如PC机的存储器),而且一位出错的概率较低。例如若一位出错的概率为万分之一,那么两位同时出错的概率就降为亿分之一了。由于两位同时出错的概率很低,可以充分信任接收到的数据,所以采用奇偶校验方法能够提高数据传输的可靠性。当然这并不意味着接收到的数据绝对正确,但是对于数据传输的要求不是特别严格的场合用此方法检错是非常经济的。

3.3 用MSI芯片设计组合逻辑电路

49

3.3.1 用译码器设计组合逻辑电路

从3.2.6式和3.2.7式可知,译码器的每个输出信号对应于一个逻辑最小项,那么可以用译码器来表示任意组合逻辑函数。

一、用译码器设计组合逻辑电路的方法 1、将逻辑函数化为最小项之和的形式; 2、再将逻辑函数变换为最小项的与非式; 3、根据最小项的与非式画出逻辑电路。

二、应用举例

[例3.3.1] 试用74LS138设计一位全加器。

解:将1.2.3式进行变换得Si和Ci的表达式如下,并根据表达式画出逻辑电路,如图3.3.1所示。

3.3.2 用数据选择器设计组合逻辑电路

从3.2.9式可知,数据选择器的输出逻辑函数中包含了全部逻辑最小项,那么可以用数据选择器来表示任意组合逻辑函数。

一、用数据选择器设计组合逻辑电路的方法 1、将逻辑函数化为最小项之和的形式;

2、对于已化为最小项之和的逻辑函数中的每个最小项,撇开最低位的剩余部分(视为少了一个变量后的最小项)即为输入信号的地址码,其最低位就是对应输入信号的取值。

二、应用举例

[例3.3.2] 某楼道内住着A、B、C、D 四户人家,楼道顶上有一盏路灯。请设计一个控制电路,要求A、B、C、D 都能在自己的家中独立地控制这盏路灯。

解:设四户人家A、B、C、D要改变路灯的状态输入信号1,不改变路灯的状态输入信号0。路灯Y的亮和灭分别用1和0表示。根据假设列真值表(表3.3.1)。

由真值表得逻辑函数式

50

在结构上是完全对称的,所以N管和P管的漏极和源极的引出端也是完全对称的,那么CMOS传输门对信号的传输是双向的。

设控制信号的高低电平分别为VDD和0V,当=1、C=0时,输入信号uI在0~VDD范围内变化,N管和P管都会同时截止,则输入端与输出端被阻断,即传输门截止;当=0、C=1时,输入信号0<uI<VDD-UTN时,N管导通。当=0、C=1时,输入信号UTP<uI<VDD时,T管导通。所以输入信号uI在0~VDD范围内变化时,N管和P管至少有一个是导通的,即传输门导通。

CMOS传输门的输入/输出信号是可以连续变化的,也就是CMOS传输门可以传输模拟信号,这一点普通逻辑门电路是不能实现的。图2.3.7是CMOS双向模拟开关电路。

三、CMOS异或门

图2.3.8是CMOS异或门电路,下面分析它的逻辑功能。

1、当A=0、B=0时,信号B使TG门导通。信号A取非后将T2管截止,又因T3管的G极和S极均为高电平,所以T3管也截止。于是TG门的输出取非后为该电路的输出信号,即Y=0;

2、当A=1、B=1时,信号B使TG门截止。又因T3管的G极和S极均为低电平,所以T3管也截止。而此时T1、T2管导通。则最后一级非门输入端为高电平,所以Y=0;

26

3、当A=0、B=1时,信号B使TG门截止。信号A取非后将T2管截止,又因T3管的G极为高电平,S极为低电平,所以T3管导通。此时最后一级非门输入端为低电平,所以Y=1;

4、当A=1、B=0时,信号B使TG门导通。信号B取非后将T1管截止,又因T3管的G极为低电平,S极为高电平,所以T3管截止。于是TG门的输出取非后为该电路的输出信号,即Y=1。

四、CMOS三态输出门

图2.3.9是CMOS三态输出门电路,其中图2.3.9(a)是低电平使能的三态输出门。当=1时使T1管截止,且或非门的输出为低电平,使T3管也截止。此时输出信号Y 浮空;当=0时使T1管导通,若A=0使T2管截止、T3管导通,此时输出信号Y=0。若A=1使T2管导通、T3管截止,此时输出信号Y=1。

图2.3.9(b)是高电平使能的三态输出门,其逻辑功能请读者自己分析。

27

[例2.3.1] 试分析图2.3.10所示电路的逻辑功能,写出其逻辑函数。

解:①不难看出图(a)中的T1~T6管构成三输入与非门,T7和T8管构成非门,所以

②对于图(b)不容易直接看出电路的构成情况,只有先列出逻辑真值表(表2.3.3),由表2.3.3得:

表2.3.3 例2.3.1的真值表

A B C 0 0 0 0 0 1 0 1 0 0 1 1 T1 T2 T3 T4 T5 T6 on on on off off off on on off on off off on off on off on off on off off on on off Y2 1 0 1 0 A B C 1 0 0 1 0 1 1 1 0 1 1 1 T1 T2 T3 T4 T5 T6 off on on off off on off on off on off on off off on off on on off off off on on on Y2 1 0 0 0

2.4 集成门电路的连接 *

2.4.1 TTL门电路的带负载能力

在门电路互连的电路中,前一级门电路的输出信号要符合后一级门电路的输入要求,即前一级门电路的输出应具备驱动后一级门电路的能力,这种能力称为前一级门电路的带负载能力。带负载能力与四个电流参数有关。

一、输入低电平电流IIL与输出低电平电流IOL

28

如图2.4.1所示,因为前一级门电路输出低电平时T4管截止、T5管饱和导通,此时a点电位低于b点电位,所以后一级门电路的输入低电平电流IIL是流(灌)入前一级门电路的,称为灌电流。对于前一级门电路,输出低电平电流IOL为灌电流之和,而该电流有一个允许的上限IOL(max),这个上限值就是前一级门电路带灌电流负载的能力。

二、输入高电平电流IIH与输出高电平电流IOH

如图2.4.2所示,因为前一级门电路输出高电平时T4管饱和导通、T5管截止,此时a点电位高于b点电位,所以后一级门电路的输入高电平电流IIH是流(拉)出前一级门电路的,称为拉电流。对于前一级门电路,输出高电平电流IOH为拉电流之和,而该电流有一个允许的上限IOH(max),这个上限值就是前一级门电路带拉电流负载的能力。

说明:TTL门电路带灌电流负载能力大于带拉电流负载能力(见表2.4.1,IOL(max)> IOH(max))。若要用TTL门电路驱动发光二极管,最好将TTL门电路的输出端接二极管的阴极,二极管的阳极接电源正极,这样连接的驱动电流大于反过来连接的驱动电流。

三、TTL门电路的扇出系数

常用扇出系数NO反映TTL门电路带同类逻辑门的能力,即一个门电路能够驱动同类门电路的最大数目。在上述两种情况下,TTL门电路的扇出系数应选较小的值作为NO。

以六反相器(非门)74LS04为例,当电源电压为5.0V时,IOH(max)=0.4mA,IOL(max)=8mA;当输入高电平uIH=2.7V时,IIH=0.02mA;当输入低电平uIL=0.4V时,IIL=0.1mA;则

NL= IOL(max) / IIL=8/0.1=80

NH = IOH(max) / IIH=0.4/0.02=20

应选择扇出系数NO=20,即74LS04中的一个非门最多可以带20个同类的非门。

2.4.2 TTL电路与CMOS电路的连接和比较

在不同类型的电路连接时,因为前一级电路的输出信号要符合后一级电路的输入要求,所以驱动门与负载门须从电压和电流两方面达到匹配,即必须同时满足四个条件:UOH(min) ≥UIH(min) ,UOL(max)≤UIL(max) ,IOH(max) ≥IIH ,IOL(max) ≥IIL。表2.4.1给出TTL电路和CMOS电路在电源电压均为5V的情况下,其输入/输出特性参数。

表2.4.1 TTL电路和CMOS电路的输入/输出特性参数

电路类型 74LS系列 CC4000系列 UOH(min) UOL(max) 2.7V 4.95V 0.5V 0.05V UIH(min) UIL(max) 2.0V 3.5V 0.8V 1.5V IOH(max) 0.4mA 0.5mA IOL(max) 8.0mA 0.5mA IIH 0.02mA 0.1mA IIL 0.4mA 0.1μA

一、TTL电路驱动CMOS电路 当TTL电路驱动CMOS电路时,上述四个条件中有三个条件满足,但是不满足UOH(min) ≥UIH(min) 。 1、当VDD=VCC=5V时,在TTL门电路的输出端加上拉电阻R L来提升TTL的输出电位,见图2.4.3(a)。因为当TTL门电路的输出高电平时,其T5管截止,VDD→R L→地不是通路,则R L两端等电

29

位,所以TTL门电路的输出电位提高了。

2、当VDD=5~18V,即VDD>VCC时,常将TTL电路改用OC门输出,见图2.4.3(b)。因为当OC门输出高电平时,R L两端等电位,CMOS的输入电平等于VDD。

3、采用专门的电平移位器进行连接,见图2.4.3(c)。

二、CMOS电路驱动TTL电路

1、当VDD=VCC=5V时,若只有一个负载门,CMOS电路可以直接驱动TTL电路。但是当负载门较多时,应采用以下方法:

①同一芯片上的CMOS门并联使用,以增大CMOS电路输出的总电流,见图2.4.4(a)。 ②增加一级专用的驱动器,例如CC4049,见图2.4.4(b)。 ③采用三极管电路驱动,见图2.4.4(c)。

2、当VDD>VCC时,采用专门的电平移位器连接,参考图2.4.3(c)的方法解决。

三、CMOS电路与TTL电路的比较

1、TTL电路是电流控制器件,而CMOS电路是电压控制器件。 2、TTL电路的速度快,传输延迟时间短(5~10ns)。COMS电路的速度慢,传输延迟时间长(25~50ns)。传输延迟时间是指从输入信号的变化到输出信号响应所需的时间。

3、TTL电路的最高工作频率比CMOS电路的最高工作频率高,CMOS电路的最高工作频率一般低于10MHz,而TTL电路的最高工作频率可达100MHz以上。

4、CMOS电路的电压工作范围大,可以在VDD=3~18V范围内正常工作。注意VDD越大则输出的高电平越大。而TTL电路的工作电压一般为5V。

5、CMOS电路的逻辑摆幅大,电源利用率高。当VDD=5V时,逻辑摆幅 =UOH(min)- UOL(max)

30

=4.95V-0.05V=4.90V,电源利用率为逻辑摆幅与电源电压之比,此时电源利用率接近与1。

6、CMOS电路的抗干扰能力强。当VDD=5V时,高电平噪声容限UNH和低电平噪声容限UNL均为1.45V,比TTL电路(74LS系列)的噪声容限大得多。

7、CMOS电路的静态功耗低。静态功耗是指虽然CMOS电路加了电源电压,但未加输入信号时的电路功耗。例如PC机断电后,CMOS RAM芯片由一块后备电池供电,里面装的是关于系统配置的具体参数,其内容可通过设置程序进行读写,即使系统掉电信息也不会丢失。另外,COMS电路的动态功耗与输入信号的脉冲频率有关,频率越高,功耗越大,芯片越热。

8、CMOS电路的扇出系数大,对负载的驱动能力小。TTL电路的扇出系数小,对负载的驱动能力大。注意扇出系数和对负载的驱动能力是两个不同的概念,前者是指电路带同类逻辑门的能力,后者是指通过负载的电流大小。

9、CMOS电路的温度稳定性好,这是因为CMOS管比晶体三极管的温度稳定性好。

10、对多余输入端的处理。CMOS电路的输入端不允许悬空,因为悬空会使电位不定,破坏正常的逻辑关系。另外,悬空时输入阻抗高,易受外界噪声干扰,使电路产生误动作,而且也极易造成栅极感应静电而击穿。所以CMOS与门的多余输入端要接高电平,CMOS或门多余输入端要接低电平。若电路的工作速度不高且功耗也不需特别考虑时,则可以将多余输入端与使用端并联。而TTL电路的多余输入端悬空时相当于输入端接高电平,因为这时可以看作是输入端接了一个无穷大的电阻。所以TTL与门的多余输入端悬空,TTL或门多余输入端要接地。

31

习题2

2-1.图2-1是用二极管组成的逻辑电路,试分析其逻辑功能。

2-2.试分析图2.2.6的逻辑功能。 2-3.试分析图2-3的逻辑功能。

2-4.试分析图2-4的逻辑功能。

2-5.如图2-5所示,芯片CC4007由3个NMOS管和3个PMOS管组成,编号1~14为芯片引出端。试将该芯片连接成:①三个非门;②三输入与非门Y=;③三输入或非门Y=;④两输入与门Y=AB;⑤两输入或门Y=A+B;⑥与或非门拟开关。

;⑦或与非门Y=

;⑧双向模

32

2-6.在CMOS电路中有时采用图2-7所示的扩展功能用法,试分析各电路的逻辑功能。已知电源电压10V,二极管的正向压降0.7V。

2-7.计算图2-7中上拉电阻RL的取值范围。要求OC门的输出电平满足UOL≤0.4V、UOH≥3.2V。有关参数见表2.4.1。

2-8.图2-8是用TTL电路驱动CMOS电路的实例,试计算上拉电阻RL的取值范围。要求加到CMOS或非门输入端的电压满足UIL≤0.3V、UIH≥4V。有关参数见表2.4.1。

33

第三章 组合逻辑电路

通常数字逻辑电路分为两大类,即组合逻辑电路和时序逻辑电路。而可编程逻辑器件(PLD)可用来构成这两类电路,所以本书把它归为另一类逻辑电路。下面是本书陆续要介绍的主要内容: 组合逻辑电路:编码器、译码器、数据选择器、全加器、数据比较器、奇偶校验电路等

时序逻辑电路:寄存器、计数器、序列检测器、脉冲分配器、节拍发生器等 半导体存储器及可编程逻辑器件:RAM、ROM、PAL、GAL、FPGA/CPLD等

3.1 组合逻辑电路的分析与设计

3.1.1 组合逻辑电路的分析

一、组合逻辑电路的特点

组合逻辑电路是由与、或、非三种基本逻辑门组合而构成的电路,该电路不含存储元件且无反馈电路,输出状态仅取决于当时的输入状态,与时序信号无关。图3.1.1是组合逻辑电路框图,其输出信号是关于全部或部分输入变量的逻辑函数。

Y1 = f1(A1,A2,…,A n) Y2 = f2(A1,A2,…,A n)

?????????? 3.1.1 Ym = fm(A1,A2,…,A n)

或记为向量关系:Y = f(A) 3.1.2

二、组合逻辑电路的分析方法

由给定电路逐级推导逻辑函数式→化简逻辑函数式→根据逻辑函数式列逻辑真值表→根据逻辑真值表确定电路的逻辑功能。

34

[例3.1.1] 设ABCD为8421BCD码输入,试分析图3.1.2中电路的逻辑功能。

解:①图3.1.2(a)的逻辑函数为

出ABCD取值为8421码的状态行):

表3.1.1 图3.1.2(a)的真值表

A B C D 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 Y 0 0 0 0 0 A B C D 0 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 Y 1 1 1 1 1 ,根据逻辑函数式列真值表(只列

1 0 0 1

由真值表可知,当ABCD的值小于5时,Y=0;当ABCD的值大于等于5时,Y=1。所以该电路的功能是“四舍五入”。

②图3.1.2(b)的逻辑函数为

Y3 = A+B(C+D)

Y2 = B (C+D) 3.1.3 Y1 = C⊙D Y0 =

根据逻辑函数式列真值表(只列出ABCD取值为8421码的状态行):

表3.1.2 图3.1.2(b)的真值表

A B C D 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 Y3 Y2 Y1 Y0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 A B C D 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 Y3 Y2 Y1 Y0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0

由真值表可知,该电路的功能是将输入的8421BCD码转换为余3码输出。

3.1.2 组合逻辑电路的设计

一、组合逻辑电路的设计步骤

1、将实际问题抽象为逻辑问题,定义输入信号、输出信号和可能涉及到的控制信号等。 2、根据抽象出来的逻辑问题列逻辑真值表。 3、根据逻辑真值表或卡诺图得逻辑函数式。

4、化简或变换逻辑函数式,有时根据需要对逻辑函数式作适当变换。 5、根据逻辑函数画出逻辑电路图。 6、用实验验证设计目标能否实现。

35

二、组合逻辑电路设计举例

[例3.1.2] 某年级有A、B、C三个班,分配大小两个教室给这三个班自习。为了节约用电,只有一个班自习的时候开小教室的灯,有两个班自习的时候开大教室的灯,三个班都自习的时候才同时开大小教室的灯。请设计具有上述功能的控制电路。

解:①逻辑问题描述:

②根据逻辑假设列真值表:

表3.1.3 例3.1.2 的真值表

A B C 0 0 0 0 0 1 0 1 0 0 1 1 Y2 Y1 0 0 1 0 1 0 0 1 A B C 1 0 0 1 0 1 1 1 0 1 1 1 Y2 Y1 1 0 0 1 0 1 1 1

③根据真值表得逻辑函数式:

3.1.4

说明:将3.1.4式与1.2.3式比较,我们发现这两种情况的逻辑函数是完全相同的。原来表面上似乎风马牛不相及的两个实际问题,其逻辑本质却是一致的。那么本题的电路图就是一位全加器的电路图(图1.2.2)。现将一位全加器的电路图抽象为图3.1.3。

④下面给出实际控制电路(图3.1.4),该电路中的Y1和Y2支路各串接了一只双向晶闸管,G是双向晶闸管的控制端,当G为高电平时双向晶闸管导通,灯亮;当G为低电平时双向晶闸管截止,灯灭。

36

3.2 常用组合逻辑电路

3.2.1 优先编码器

在数字电路中,有时为了区分若干个输入信号,就需要对输入信号进行编码,即用某种二进制代码来表示这些输入信号。当某个输入信号有效时,电路就输出这个信号的二进制代码。能实

现这种功能的电路称为编码器,图3.2.1是编码器

电路框图。

一、优先编码器的设计

如果同时有多个输入信号有效该对哪个输入信号进行编码呢?通常编码器都具有优先编码功能,即将所有的输入信号按优先顺序排队,当同时有多个输入信号有效时,只对优先权最高的那个信号进行编码。

8~3优先编码器的设计:定义输入信号高电平有效,输出代码为二进制数,输入信号的序号值越大优先权越高。

将n个变量的2n个状态行全部列出来的逻辑真值表叫做完全真值表。但是有时候我们不一定要列出全部状态行,特别是当输入变量很多的情况下。下面列出的是非完全真值表,其中“×”表示任意逻辑值。根据定义列出编码器的逻辑真值表。

表3.2.1 8~3优先编码器的真值表

A7 A6 A5 A4 A3 A2 A1 A0 1 × × × × × × × 0 1 × × × × × × 0 0 1 × × × × × 0 0 0 1 × × × × 0 0 0 0 1 × × × 0 0 0 0 0 1 × × 0 0 0 0 0 0 1 × 0 0 0 0 0 0 0 1 Y2 Y1 Y0 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0

根据真值表得逻辑函数式:

37

设置一个片选输入信号S,当S=0时该电路不能编码,输出Y2Y1Y0=000;当S=1时才允许该电路编码。于是得该电路的逻辑函数:

3.2.1

根据3.2.1式画出逻辑电路图(图3.2.2)。

二、8~3优先编码器74LS148

因为TTL门电路带灌电流负载能力大于带拉电流负载能力,所以许多TTL类MSI芯片的输出信号采用低电平有效输出,以获得较强的带负载能力。74LS148的输入信号是低电平有效,输出代码是二进制数的反码。当输入信号为全1时输出信号也全为1。它的片选信号是低电有效。由3.2.1式得74LS148的逻辑函数:

38

3.2.2

为了方便芯片的功能扩展,74LS148还增加了选通输出端式,其逻辑关系是:

和扩展输出端

,如图3.2.3所

3.2.3

3.2.4

3.2.3式表明,当片选有效(=0)但无编码输入(~均为高电平)时,低电平输出。 3.2.4式表明,当片选有效(=0)且有编码输入(~中有低电平)时,低电平输出。

[例3.2.1] 试用两片74LS148构造一个16~4优先编码器。该编码器低电平输入有效,序号较大的输入信号具有较高优先权,输出代码为4位二进制数。

解:如图3.2.4所示,因为第Ⅰ片的输入信号比第Ⅱ片的输入信号有较高优先权,所以第Ⅰ片的片选端接地,允许第Ⅰ片编码。当第Ⅰ片有输入信号为低电平时,第Ⅰ片编码输出且其输出高电平,禁止第Ⅱ片编码;当第Ⅰ片无有效信号输入时,第Ⅰ片的输出低电平,允许第Ⅱ片编码。

另外,当第Ⅰ片有有效信号输入时,第Ⅰ片的=0,此时Y3Y2Y1Y0=1×××;当第Ⅰ片无有效信号输入时,第Ⅰ片的=1,此时Y3Y2Y1Y0=0×××。这里的低3位代码由74LS148输出的二进制数的反码取非产生。所以该电路编码输出的是4位二进制数。

电路中的F是编码标志信号。只要16个输入信号中有低电平,则第Ⅰ片的或第Ⅱ片的有一个为0。所以F=1表示输出代码有效;若16个输入信号均为高电平,则第Ⅰ片的和第Ⅱ片的均为1,所以F=0表示输出代码无效。

39

说明:当研究门电路的形成时我们的关注点在(开关)元件级。当研究MSI芯片的电路形成时我们的关注点在门电路级。当用MSI芯片解决实际问题时我们的关注点在芯片级,即关注的是芯片的外部特性(输入信号、输出信号、选通信号及控制信号等)。读者应当根据具体情况将问题抽象于哪一级来解决。

三、二-十进制优先编码器74LS147

常用的还有二-十进制优先编码器74LS147,该编码器有10个输入信号,低电平输入有效,序号较大的输入信号具有较高优先权,输出代码为8421BCD码的反码。当输入信号均无效时,输出8421BCD码的伪码1111。74LS147无其它控制和选通信号。

3.2.2 译码器

一、3~8译码器的设计

译码是编码的逆过程,译码器是对输入的n位代码进行译码,从2n个不同的输出端产生一个对应的有效信号输出。

3~8译码器的设计:定义输入代码为3位二进制数,输出信号高电平有效。根据定义列出译码器的逻辑真值表。

表3.2.2 3~8编码器的真值表

A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

根据真值表得逻辑函数式:

Y0=Y2=Y4=Y6=

= m0 Y1== m2 Y3== m4 Y5== m6 Y7=

= m1

= m3

= m5 3.2.5 = m7

0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0

或 Yi=mi(i=0,1,?,7) 3.2.6

不难看出3.2.6式描写的就是逻辑最小项mi的性质①,即此译码器就是一个逻辑最小项发生器。根据3.2.5式不难画出输出信号为高电平有效的3~8译码器。另外,从3.2.6式可知该译码器的每个输出信号对应于一个逻辑最小项。

二、3~8译码器74LS138

40

如图3.2.5是74LS138的电路图,74LS138的输入代码是3位二进制数,输出信号是低电有效。另外它还有三个片选输入端。当=100时,允许该电路译码。否则该电路被禁止译码,输出信号全为1。74LS138的输出逻辑函数为

(i=0,1,?,7) 3.2.7

[例3.2.2] 试用两片74LS138构造一个4~16译码器。该译码器输入代码为4位二进制数,输出信号低电平有效。

解:如图3.2.6所示,当输入代码D3D2D1D0= 1×××时,第Ⅰ片被片选第Ⅱ片被禁止,第Ⅰ片译码产生一个有效信号输出;当输入代码D3D2D1D0= 0×××时,第Ⅰ片被禁止第Ⅱ片被片选,第Ⅱ片译码产生一个有效信号输出。

三、数据分配器

如图3.2.7所示,带片选输入端的译码器也可用做数据分配器(1→N电路)。在图3.2.7(a)中,如果片选输入信号接地,S0为串行数据(逐位传输的数据)输入端D,A2A1A0为地址输入,那么74LS138将输入数据D分配到地址码A2A1A0所指定的某输出端输出,即由3.2.7式得Yi = mi D(i=0,1,…,7)。图3.2.7(b)是1→8数据分配器的功能示意图。

41

四、显示译码器 1、七段数码管

如图3.2.7(a)所示,七段数码管是用来显示十进制数字的,它的每一段是一只发光二极管。七段数码管分为共阴极(图3.2.7b)和共阳极(图3.2.7c)两种。对于共阴极的七段数码管,当a~g 端为高电平时对应的那段二极管亮,当a~g 端为低电平时对应的那段二极管灭。对于共阳极的七段数码管,当a~g 端为高电平时对应的那段二极管灭,当a~g 端为低电平时对应的那段二极管亮。

2、显示译码器的设计:用于驱动共阴极七段数码管的显示译码器,其输入代码为8421BCD码,输出信号高电平有效。根据定义列该显示译码器的逻辑真值表(表3.2.3)。

表3.2.3 显示译码器的真值表 A3 A2 A1 A0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 ?????? 1 1 1 1 a b c d e f g 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 × × × × × × × ????????????? × × × × × × × 逻 辑 无关项 显示字形

根据真值表得a、b、?、g的卡诺图(图3.2.9)。

42

用“圈0法”求得逻辑函数式:

3.2.8

根据3.2.8式画出显示译码器的逻辑电路图(图3.2.10)。

43

3、显示译码器CC14547:CC14547的输入代码为8421BCD码,输出信号高电平有效。CC14547还有一个消隐控制输入端,当=0时a~g 端输出均为低电平,使七段数码管熄灭;当=1时译码输出有效。另外,CC14547的输出级采用双极型晶体管结构,具有较大的输出驱动电流能力,可直接驱动LED或其它显示器件。

3.2.3 数据选择器

一、8选1数据选择器74LS151

数据选择器与数据分配器的功能刚好相反,数据选择器从多路输入信号中选择一个输出,所以它又称为多选一(N→1)电路。图3.2.11是74LS151的电路和功能示意图,它是互补输出(Y 和

Y)的8选1数据选择器。其逻辑函数为

?7? =??mi?Di??i?0?

3.2.9

其中为片选输入端,当=1时Y=0,数据选择功能失效;当=0且mi=1时Y=Di 。即74LS151

的功能是,当片选有效时地址码A2A1A0的值决定哪一路输入信号送往输出端。

二、多路信号分时传送

将数据分配器与数据选择器结合,可以实现多路信号分时传送。即仅用一路串行数据线,使A地的多个点与B地的多个点实现串行通信,如图3.2.12所示。

例如要将Ai点的数据发送到Bj点,首先Ai点将自己的地址码发送到A地交换器(数据选择器)的地址寄存器锁存,将对方(Bj点)的地址码发送到B地交换器(数据分配器)的地址寄存器锁存,使Ai点和Bj点通过串行数据线连通,然后Ai点将数据发送到Bj点。

44

3.2.4 数据比较器

8位数据比较器74LS520(图2.2.8)只能比较两个数据是否相等,而不能比较谁大谁小。下面介绍的数据比较器能够对两个数据进行大小或相等判断。

一、1位数据比较器

两个1位二进制数A和B相比较,有三种情况:①A>B(即A=1、B=0),则=1,故可以用作为A>B的输出信号G;②A

二、4位数据比较器的设计

设有两个4位二进制数A=A3A2A1A0、B=B3B2B1B0,当这两个数各位均相等,即E3=E2=E1=E0 时才有A=B。所以

YA=B =E3E2E1E0

对A和B进行比较,应该由高位到低位依次进行。当高位相等时才比较次高位,次高位相等时才比较下一位,??,如此进行下去。列YA

45

3.2.10

本文来源:https://www.bwwdw.com/article/20vh.html

Top