数字逻辑第一章

83
1 数字逻辑 1 1 数字逻辑基础 数字逻辑基础 数字逻辑基础 数字逻辑基础 数字逻辑基础 数字逻辑基础 数字逻辑基础 数字逻辑基础 本章是学习数字逻辑电路的基础,主要介绍数字逻 辑电路中常用的几种数制的表示方法及其转换规 律,数字系统中常见的几种编码及逻辑代数的基本 理论和基础知识。

Upload: wang-hai

Post on 08-Mar-2016

218 views

Category:

Documents


3 download

DESCRIPTION

本书详细介绍了数字逻辑与数字系统设计的基础知识、基本理论和分析、设计方法。书中不仅介绍了传统的分析、设计方法,同时还比较详细介绍了目前在数字逻辑电路设计中广泛使用的硬件描述语言VHDL,并把VHDL语言融入到各种逻辑部件的设计之中。书中给出大量实用的例题与习题。全书内容包括:数字逻辑基础、集成逻辑门电路、VHDL基础知识、组合合逻辑电路、触发器、时序逻辑电路、存储器与可编程逻辑器件、脉冲波形的产生与整形、数字系统设计等。本书可作为高等学校电气、电子信息类、计算机类、自动化类等专业的本科生教材,也可作为高职高专的教材及有关工程技术人员的参考书。

TRANSCRIPT

Page 1: 数字逻辑第一章

1

数字逻辑

第第第第第第第第11111111章章章章章章章章 数字逻辑基础数字逻辑基础数字逻辑基础数字逻辑基础数字逻辑基础数字逻辑基础数字逻辑基础数字逻辑基础

�本章是学习数字逻辑电路的基础,主要介绍数字逻辑电路中常用的几种数制的表示方法及其转换规律,数字系统中常见的几种编码及逻辑代数的基本理论和基础知识。

Page 2: 数字逻辑第一章

2

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制

�� 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 十进制数十进制数(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)�� 日常生活中人们都习惯于使用十进制数。它由日常生活中人们都习惯于使用十进制数。它由0~90~90~90~90~90~90~90~9共共1010101010101010

个数码组成,十进制数的计数规则是,逢个数码组成,十进制数的计数规则是,逢1010101010101010进进11111111。进位计。进位计

数制是以表示计数符号的个数来命名的。我们把计数符数制是以表示计数符号的个数来命名的。我们把计数符号的个数称为基数,用符号号的个数称为基数,用符号RRRRRRRR来表示。十进制数的基数就来表示。十进制数的基数就是是R=10R=10R=10R=10R=10R=10R=10R=10。。

�� 同一计数符号处在不同数位,代表的数值不同。例如十同一计数符号处在不同数位,代表的数值不同。例如十进制数进制数752752752752752752752752,百位上的,百位上的77777777表示表示700700700700700700700700,十位上的,十位上的55555555表示表示5050505050505050。我。我

们把各个数位的位值,称为进位计数制各位的权,它等们把各个数位的位值,称为进位计数制各位的权,它等于(基数)于(基数)i i i i i i i i ,,iiiiiiii代表符号所在位。十进制数的基数为代表符号所在位。十进制数的基数为

1010101010101010,第,第iiiiiiii位上的权值为位上的权值为10i10i10i10i10i10i10i10i,所以十进制数的按位展开式,所以十进制数的按位展开式

为:为:

Page 3: 数字逻辑第一章

3

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制

∑−

−=

−−

−−

−−

−−

×=

×++×+×+×+⋅⋅⋅+×+×=1

i

11

00

11

22

1110

10

10...1010101010)(n

mi

i

mm

nn

nn

D

DDDDDDD

式中Di取值范围为0 ≤Di≤(R-1)。n为整数部分的位数,m为小数部分的位数。整数第i位的权是Ri-1 ,小数点后第m位的权是R-m。此式表示的就是各符号与其所在位权值乘积的代数和

十进制数可用后缀D(Decimal)标识。

Page 4: 数字逻辑第一章

4

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 1.1.2 1.1.2 1.1.2 1.1.2 1.1.2 1.1.2 1.1.2 1.1.2 二进制数二进制数(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)(Decimal)�� 在数字系统中,使用的是二进制。二进制由在数字系统中,使用的是二进制。二进制由00000000和和11111111两个数码组成,计数规则是,逢两个数码组成,计数规则是,逢22222222进进11111111。。

�� 二进制数的基数为二进制数的基数为22222222,各位的权值为,各位的权值为2i2i2i2i2i2i2i2i。二进制。二进制

数的按位展开式为:数的按位展开式为:

∑−

−=

−−

−−

−−

−−

×=

×++×+×+×+⋅⋅⋅+×+×=1

i

11

00

11

22

112

2

2...22222)(n

mi

i

mm

nn

nn

B

BBBBBBB

Page 5: 数字逻辑第一章

5

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�二进制数可用后缀B(BinaryB(BinaryB(BinaryB(Binary))))标识。

�计算机和各种数字系统中采用二进制的原因主要有以下几点:

�① 二进制只有0000和1111两种状态,显然制造具有两种状态的电子器件要比制造具有10101010种特定状态的器件容易得多,并且由于状态简单,其工作更可靠,传输也不容易出错。

�② 0000、1111数码与逻辑代数变量值0000与1111相符,利用二进制方便进行逻辑运算。

�③ 二进制数和十进制数之间转换比较容易。

Page 6: 数字逻辑第一章

6

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 1.1.3 1.1.3 1.1.3 1.1.3 1.1.3 1.1.3 1.1.3 1.1.3 八进制数和十六进制数八进制数和十六进制数 �用二进制数表示一个较大的数时,比较冗长而又难以记忆,为了阅读和书写的方便,通常采用八进制或十六进制。

� 1. 1. 1. 1. 八进制数

�八进制数由0000、1111、2222、3333、4444、5555、6666、7777八个数码组成,其计数规则是逢八进一。基数为8888,各位的权值为8i 8i 8i 8i 。任意一个八进制数可表示为:

∑−

−=

×=1

8 8)(n

mi

iiOO

Page 7: 数字逻辑第一章

7

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 2. 2. 2. 2. 2. 2. 2. 2. 十六进制数十六进制数 �� 十六进制数由十六进制数由00000000、、11111111、、22222222、、33333333、、44444444、、55555555、、66666666、、77777777、、88888888、、99999999、、

AAAAAAAA、、BBBBBBBB、、CCCCCCCC、、DDDDDDDD、、EEEEEEEE、、FFFFFFFF十六个数码组成。十六个数码组成。

�� 其中其中AAAAAAAA~~FFFFFFFF的等值十进制数分别为的等值十进制数分别为1010101010101010、、1111111111111111、、1212121212121212、、1313131313131313、、1414141414141414、、1515151515151515。。

�� 十六进制数进位规则是逢十六进一。其基数为十六进制数进位规则是逢十六进一。其基数为1616161616161616,各位的权值为,各位的权值为16i16i16i16i16i16i16i16i。任意一个十六进制数可。任意一个十六进制数可

表示为:表示为:

∑−

−=

×=1

16 16)(n

mi

iiHH

Page 8: 数字逻辑第一章

8

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

1.1.4 1.1.4 1.1.4 1.1.4 1.1.4 1.1.4 1.1.4 1.1.4 各种数制之间的转换各种数制之间的转换1. 1. 1. 1. 非十进制数转换成十进制数按相应的权表达式展开,再按十进制运算规则求

和——按权展开相加。

【例1-11-11-11-1】 将二进制数1011.11B转换成十进制数。

(1011.11)2=1×23+0×22+1×21+1×20+1×2-

1+1×2-2

=8+0+2+1+0.5+0.25=(11.75)10

Page 9: 数字逻辑第一章

9

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�【例1-21-21-21-2】 将十六进制数AF7. 4H转换成十进制数。

� (AF7. 4)16= A×162+ F×161+7×160+4×16-1

� =10×256+15×16+7×1+4/16� =(2807.25)10

Page 10: 数字逻辑第一章

10

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

2. 2. 2. 2. 十进制数转换成非十进制数十进制数转换为非十进制数分为两个部分进

行,整数部分和小数部分,分开转换后再以小数点为结合点组合起来。整数部分:除基数取余,直至商为0 ,余数按

先后顺序从低位到高位排列——除基数倒取余;小数部分:乘基取整,直至达到所要求的精度

或小数部分为0 ,整数按先后顺利从高位到低位排列——乘基数顺取整。

Page 11: 数字逻辑第一章

11

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 例例1-31-31-31-31-31-31-31-3】】 将十进制数将十进制数25.812525.812525.812525.812525.812525.812525.812525.8125转换为二进制数。转换为二进制数。

�� 解解: : : : : : : : 使用短除法,计算过程与结果如下:使用短除法,计算过程与结果如下:

因此,转换结果为:(25.8125)10=(a4 a3 a2 a1 a0 。a-1 a-2 a-3 a -4)2=(11001.1101)2

Page 12: 数字逻辑第一章

12

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

� 【例1-41-41-41-4】 将十进制数301.6875301.6875301.6875301.6875转换为十六进制数。

Page 13: 数字逻辑第一章

13

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

� 3. 3. 3. 3. 二进制数与十六进制、八进制数互换

�由于十六进制数的基数16是二进制数的基数2的4次幂,即24=16,1位十六进制数相当于4位二进制数。因此,十六进制数转换成二进制数时,只要将十六进制数的每一位改写成等值的4位二进制数,即“1位变4位”。

Page 14: 数字逻辑第一章

14

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�【例1-51-51-51-5】 把(A3D.8B)16转换为二进制数。

�解: 可用“1位变4位”的方法:

� A 3 D . 8 B� ↓ ↓ ↓ ↓ ↓� 1010 0011 1101 . 1000 1011 �∴ (A3D.8B)16=(101000111101.10001011)2

Page 15: 数字逻辑第一章

15

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�二进制数转换为十六进制数时,以小数点为分界线,整数部分从右向左每4位一组,小数部分从左向右每4位一组,不足4位用0补足,每组改成等值的1位十六进制数即可,即“4位变1位”。

Page 16: 数字逻辑第一章

16

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

【【例例1-61-61-61-61-61-61-61-6】】 把把(1011010101.111101)(1011010101.111101)(1011010101.111101)(1011010101.111101)(1011010101.111101)(1011010101.111101)(1011010101.111101)(1011010101.111101)22222222转换为十六转换为十六

进制数。进制数。解:解: 可用可用““““““““44444444位变位变11111111位位””””””””的方法:的方法:

00100010001000100010001000100010 11011101110111011101110111011101 01010101010101010101010101010101 . . . . . . . . 11111111111111111111111111111111 01000100010001000100010001000100 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4 2 D 5 . F 4∴∴ (1011010101.111101) (1011010101.111101) (1011010101.111101) (1011010101.111101) (1011010101.111101) (1011010101.111101) (1011010101.111101) (1011010101.111101)22222222 =(2D5.F4) =(2D5.F4) =(2D5.F4) =(2D5.F4) =(2D5.F4) =(2D5.F4) =(2D5.F4) =(2D5.F4)1616161616161616在清楚了十六进制数与二进制数之间的转换方法在清楚了十六进制数与二进制数之间的转换方法之后,由于之后,由于2222222233333333=8=8=8=8=8=8=8=8,,11111111位八进制数相当于位八进制数相当于33333333位二进制位二进制

数,所以不难得出八进制数与二进制数之间相互数,所以不难得出八进制数与二进制数之间相互转换的方法。即转换的方法。即““““““““11111111位变位变33333333位位””””””””。。

Page 17: 数字逻辑第一章

17

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 【【例例1-71-71-71-71-71-71-71-7】】 把把(345.27)(345.27)(345.27)(345.27)(345.27)(345.27)(345.27)(345.27)88888888转换为二进制数。转换为二进制数。

�� 解:解: 因为因为

�� 3 4 5 . 2 73 4 5 . 2 73 4 5 . 2 73 4 5 . 2 73 4 5 . 2 73 4 5 . 2 73 4 5 . 2 73 4 5 . 2 7�� ↓↓ ↓↓ ↓↓ ↓↓ ↓↓�� 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111 011 100 101 . 010 111�� ∴∴ (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111) (345.27)8=(011100101.010111)22222222�� 二进制数转换为八进制数时,也是以小数点为分二进制数转换为八进制数时,也是以小数点为分界线,整数部分从右向左界线,整数部分从右向左33333333位一组,小数部分从左位一组,小数部分从左向右向右33333333位一组,不足位一组,不足33333333位用位用00000000补足,每组改成等值补足,每组改成等值的的11111111位八进制数即可,即位八进制数即可,即““““““““33333333位变位变11111111位位””””””””。。

Page 18: 数字逻辑第一章

18

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

表1-1给出了4位二进制数与其它进制数表示之间的对照关系。

Page 19: 数字逻辑第一章

19

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 1.1.5 1.1.5 1.1.5 1.1.5 1.1.5 1.1.5 1.1.5 1.1.5 原码、反码和补码原码、反码和补码�� 1. 1. 1. 1. 1. 1. 1. 1. 机器数与真值机器数与真值

�� 计算机中传输与加工处理的信息均为二进制数,计算机中传输与加工处理的信息均为二进制数,二进制数的逻辑二进制数的逻辑11111111和逻辑和逻辑00000000分别用于代表高电平和分别用于代表高电平和低电平,计算机只能识别低电平,计算机只能识别11111111和和00000000两个状态,那么计两个状态,那么计算机中如何确定与识别正二进制数和负二进制数算机中如何确定与识别正二进制数和负二进制数呢?呢?

Page 20: 数字逻辑第一章

20

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

��解决的办法是将二进制数最高位作为符号解决的办法是将二进制数最高位作为符号位,例如位,例如11111111表示负数,表示负数,00000000表示正数,若计算表示正数,若计算机的字长取机的字长取88888888位,位,10001111B10001111B10001111B10001111B10001111B10001111B10001111B10001111B则可以代表则可以代表 --------1515151515151515,,00001111B00001111B00001111B00001111B00001111B00001111B00001111B00001111B则可以代表则可以代表+15+15+15+15+15+15+15+15,这便构,这便构

成了计算机所识别的数,因此,带符号的成了计算机所识别的数,因此,带符号的二进制数称之为机器数,机器数所代表的二进制数称之为机器数,机器数所代表的值称为真值。在计算机中,机器数有三种值称为真值。在计算机中,机器数有三种表示法,即原码、反码和补码。表示法,即原码、反码和补码。

Page 21: 数字逻辑第一章

21

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 2. 2. 2. 2. 2. 2. 2. 2. 原码表示法原码表示法

�� 原码表示法也称为符号加绝对值法。将符号位原码表示法也称为符号加绝对值法。将符号位00000000或或11111111加到二进制数绝对值的左端,表示正二进制数或加到二进制数绝对值的左端,表示正二进制数或

负二进制数,称为原码表示法。负二进制数,称为原码表示法。

�� 若定点整数的原码形式为若定点整数的原码形式为X0X1X2X0X1X2X0X1X2X0X1X2X0X1X2X0X1X2X0X1X2X0X1X2…………………………………………XnXnXnXnXnXnXnXn,则原,则原

码表示的定义是:码表示的定义是:

�� X 2X 2X 2X 2X 2X 2X 2X 2nnnnnnnn>>XXXXXXXX≥≥00000000�� [X][X][X][X][X][X][X][X]原原========�� 2 2 2 2 2 2 2 2nnnnnnnn-X=2-X=2-X=2-X=2-X=2-X=2-X=2-X=2nnnnnnnn + + + + + + + +∣∣XXXXXXXX∣∣ 0 0 0 0 0 0 0 0≥≥XXXXXXXX>>-2-2-2-2-2-2-2-2nnnnnnnn

Page 22: 数字逻辑第一章

22

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

� X0为符号位,若n=7,即字长8位,则:

�① X取值范围:-127~+127�② [+0]原原=00000000�③ [-0]原原=10000000�采用原码表示法简单易懂,但它最大缺点是加法运算电路复杂,不容易实现。

Page 23: 数字逻辑第一章

23

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 3. 3. 3. 3. 3. 3. 3. 3. 反码表示法反码表示法

�� 正二进制数的反码表示同其原码一样,负二进制正二进制数的反码表示同其原码一样,负二进制数的反码表示是符号位数的反码表示是符号位llllllll加数值位各位取反,这种加数值位各位取反,这种

表示正、负二进制数的方法称为反码表示法。表示正、负二进制数的方法称为反码表示法。

�� 对于定点整数,反码表示的定义是:对于定点整数,反码表示的定义是:

�� X 2X 2X 2X 2X 2X 2X 2X 2nnnnnnnn>>XXXXXXXX≥≥00000000�� [X][X][X][X][X][X][X][X]反反========�� ((22222222n+1n+1n+1n+1n+1n+1n+1n+1-1-1-1-1-1-1-1-1)) +X 0+X 0+X 0+X 0+X 0+X 0+X 0+X 0≥≥XXXXXXXX>>-2-2-2-2-2-2-2-2nnnnnnnn

Page 24: 数字逻辑第一章

24

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 同样同样nnnnnnnn取取77777777,即字长,即字长88888888位,那么:位,那么:

�� ①① XXXXXXXX取值范围:取值范围:-127-127-127-127-127-127-127-127~~+127+127+127+127+127+127+127+127�� ②② [+0] [+0] [+0] [+0] [+0] [+0] [+0] [+0]反反= 00000000= 00000000= 00000000= 00000000= 00000000= 00000000= 00000000= 00000000�� ③③ [-0] [-0] [-0] [-0] [-0] [-0] [-0] [-0]反反= 11111111= 11111111= 11111111= 11111111= 11111111= 11111111= 11111111= 11111111

Page 25: 数字逻辑第一章

25

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 4. 4. 4. 4. 4. 4. 4. 4. 补码表示法补码表示法

�� 正二进制数的补码同其原码表示,负二进制数的正二进制数的补码同其原码表示,负二进制数的补码表示是符号位补码表示是符号位11111111加数值位各位取反末位加加数值位各位取反末位加11111111,,这种表示法称为补码表示法。这种表示法称为补码表示法。

�� 对于定点整数,补码表示的定义是:对于定点整数,补码表示的定义是:

�� X 2X 2X 2X 2X 2X 2X 2X 2nnnnnnnn>>XXXXXXXX≥≥00000000�� [X][X][X][X][X][X][X][X]补补========�� 2 2 2 2 2 2 2 2n+1n+1n+1n+1n+1n+1n+1n+1 +X=2 +X=2 +X=2 +X=2 +X=2 +X=2 +X=2 +X=2n+1n+1n+1n+1n+1n+1n+1n+1 - - - - - - - -∣∣XXXXXXXX∣∣ 0 0 0 0 0 0 0 0≥≥XXXXXXXX≥≥-2-2-2-2-2-2-2-2nnnnnnnn

Page 26: 数字逻辑第一章

26

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�� 同样如果同样如果nnnnnnnn取取77777777,即字长,即字长88888888位,那么:位,那么:

�� ①① XXXXXXXX取值范围:取值范围:-128-128-128-128-128-128-128-128~~+127+127+127+127+127+127+127+127�� ②② [+0] [+0] [+0] [+0] [+0] [+0] [+0] [+0]补补=[-0]=[-0]=[-0]=[-0]=[-0]=[-0]=[-0]=[-0]补补=00000000=00000000=00000000=00000000=00000000=00000000=00000000=00000000�� ③③ [-10000000] [-10000000] [-10000000] [-10000000] [-10000000] [-10000000] [-10000000] [-10000000]补补=10000000=10000000=10000000=10000000=10000000=10000000=10000000=10000000�� ④④ [[X] [[X] [[X] [[X] [[X] [[X] [[X] [[X]补补]]]]]]]]补补=X=X=X=X=X=X=X=X,对已知的一个补码通过再一次求,对已知的一个补码通过再一次求

其补,便可还原出真值其补,便可还原出真值。。

Page 27: 数字逻辑第一章

27

数字逻辑

1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 数制数制数制数制数制数制数制数制

�【例1-101-101-101-10】 若计算机字长8位,X=126,Y=-126,分别求出X和Y的原码、反码及补码。

�解:[X]原=[X]反=[X]补=01111110� [Y]原=11111110� [Y]反=10000001� [Y]补=10000010

Page 28: 数字逻辑第一章

28

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

�信息在计算机中的存储表现为数据。在计算机中,任何数据都只能采用二进制数的各种组合方式来表示,所以需要对信息中全部用到的字符按照一定的规则进行二进制数的组合编码。编码是指用文字、符号、数码等表示某种信息的过程。数字系统中处理、存储、传输的都是二进制代码0和1,因而对于来自于数字系统外部的输入信息,例如十进制数0~9或字符A~Z,a~z,汉子等,必须用二进制代码0和1表示。二进制编码是给每个外部信息按一定规律赋予二进制代码的过程。

Page 29: 数字逻辑第一章

29

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

�� 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1 二二--------十进制编码(十进制编码(BCDBCDBCDBCDBCDBCDBCDBCD码)码)

�二─十进制码是一种用四位二进制码来表示一位十进制数的代码,简称为BCD(Binary Coded Decimal Number)码。用四位二进制码来表示十进制数的10个数码有很多种编码方法,常见的有8421BCD码、2421BCD码、4221BCD码、5421BCD码和余3码等,表1.2给出了十进制数与这几种编码之间的对应关系。

Page 30: 数字逻辑第一章

30

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� 表1-2 十进制数与各种BCD编码对照表

Page 31: 数字逻辑第一章

31

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

�� 1. 8421BCD1. 8421BCD1. 8421BCD1. 8421BCD1. 8421BCD1. 8421BCD1. 8421BCD1. 8421BCD码码

�� 8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码是使用最广泛的一种码是使用最广泛的一种BCDBCDBCDBCDBCDBCDBCDBCD码。码。

8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码的每一位都具有同二进制数相同的权码的每一位都具有同二进制数相同的权值,即从高位到低位有值,即从高位到低位有88888888、、44444444、、22222222、、11111111的位权,因此的位权,因此称为称为8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码。四位二进码有码。四位二进码有1616161616161616个状态,在个状态,在

8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码中,仅使用了码中,仅使用了00000000000000000000000000000000~~10011001100110011001100110011001这这1010101010101010种状种状态,而态,而10101010101010101010101010101010~~11111111111111111111111111111111这这66666666种状态是没有使用的状态。种状态是没有使用的状态。

�� 一个多位的十进制数可用多组一个多位的十进制数可用多组8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码来表码来表

示,并由高位到低位排列起来,组间留有间隔。示,并由高位到低位排列起来,组间留有间隔。如(如(279.5279.5279.5279.5279.5279.5279.5279.5))1010101010101010,用,用8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD码表示为:码表示为:

�� ((279.5279.5279.5279.5279.5279.5279.5279.5))10=10=10=10=10=10=10=10=((0010 0111 1001.01010010 0111 1001.01010010 0111 1001.01010010 0111 1001.01010010 0111 1001.01010010 0111 1001.01010010 0111 1001.01010010 0111 1001.0101))8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD8421BCD

Page 32: 数字逻辑第一章

32

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� 2. 2. 2. 2. 余3333码�余3码是由8421BCD码加3后得到的。在

BCD码的算术运算中常采采用余3码。余3码的主要特点是其表示0和9的码组、1和8的码组、2和7的码组、3和6的码组以及4和5的码组之间互为反码。当两个用余3码表示的数相减时,可以将原码的减法改为反码的加法。因为余3码求反容易,所以有利于简化BCD码的减法电路。

Page 33: 数字逻辑第一章

33

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� 3. 3. 3. 3. 循环码

�循环码是格雷码(Gray Code)中常用的一种,其主要优点是相邻两组编码只有一位状态不同。以中间为对称的两组代码只有最左边一位不同。如果从纵向来看,循环码各组代码从右起第一位的循环周期是“0110”,第二位的循环周期是“00111100”,第三位的循环周期是“0000111111110000”等等。例如0和15,1和14,2和13等。这称为反射性。所以又称作反射码。而每一位代码从上到下的排列顺序都是以固定的周期进行循环的。表1-3所示的是四位循环码。

Page 34: 数字逻辑第一章

34

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� 表1-3 四位循环码

Page 35: 数字逻辑第一章

35

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� 4. ASCII4. ASCII4. ASCII4. ASCII码� ASCII是American National Standard Code for

Information Interchange美国国家信息交换标准代码的简称。常用于通讯设备和计算机中。它是一组八位二进制代码,用b0~b6这七位二进制代码表示十进制数字、英文字母及专用符号。第八位b7作奇偶校验位(在机中常为0)。如表1-4所示。

Page 36: 数字逻辑第一章

36

数字逻辑

1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 常用编码常用编码常用编码常用编码常用编码常用编码常用编码常用编码

� ASCII包括10个十进制数码,26个英文字母和一些专用符号,总共128个字符,因此,只需要一个字节中的低7位编码,最高位可用作奇偶校验位,当最高位恒取1,称为标记校验,当最高位恒取0,称作空格校验。128个ASCII符中有95个编码,它们分别对应计算机中在输入/输出终端设备上能键入和输出显示以及输出打印的95个字符,包括大小写英文字母,其余33个编码,其编码值为0~31和127,则不对应任何显示与打印实际字符,它们被用作为控制码,控制计算机I/O设备的操作以及计算机软件的执行情况。

Page 37: 数字逻辑第一章

37

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�逻辑代数又称布尔代数,是19世纪中叶英国数学家乔治.布尔(George.Boole)首先提出来的。它是分析和设计数字逻辑电路的数学工具。本节主要介绍逻辑变量、逻辑函数、基本逻辑运算和逻辑代数公式,以及化简逻辑函数的两种方法:公式法和卡诺图法。

Page 38: 数字逻辑第一章

38

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 1.3.1 1.3.1 1.3.1 1.3.1 1.3.1 1.3.1 1.3.1 1.3.1 逻辑变量和逻辑函数逻辑变量和逻辑函数

�逻辑代数是用来处理逻辑运算的代数。参与逻辑运算的变量称为逻辑变量, 用字母来表示。逻辑变量的取值只有0,1两种, 而且在逻辑运算中0和1不再表示具体数量的大小, 而只是表示两种不同的状态。逻辑函数是由若干逻辑变量A、B、C、D … 经过有限的逻辑运算所决定的输出F,即逻辑函数可表示为:F=f(A、B、C…)。

Page 39: 数字逻辑第一章

39

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 1. 1. 1. 1. 逻辑值的概念

�在计算机和数字系统中,通常用“逻辑真”和“逻辑假”来区分事物的两种对立的状态。“逻辑真”用‘1’表示;“逻辑假”用‘0’来表示。‘1’和‘0’分别叫做逻辑真/假状态的值。这里,0、1只有逻辑上的含义,已不再表示数量上的大小。

Page 40: 数字逻辑第一章

40

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2. 2. 2. 2. 高、低电平的概念

�以两个不同确定范围的电位与逻辑真、假两个逻辑状态对应。

�这两个不同范围的电位称作逻辑电平,把其中一个相对电位较高者称为逻辑高电平,简称高电平,用H表示。而相对较低者称为逻辑低电平,简称低电平,用L表示

Page 41: 数字逻辑第一章

41

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 3. 3. 3. 3. 状态赋值和正、负逻辑的概念

�状态赋值:数字电路中,经常用符号1和0表示高电平和低电平。我们把用符号1、0表示输入、输出电平高低的过程叫做状态赋值。

�正逻辑:在状态赋值时,如果用1表示高电平,用0表示低电平,则称为正逻辑赋值,简称正逻辑。

�负逻辑:在状态赋值时,如果用0表示高电平,用1表示低电平,则称为负逻辑赋值,简称负逻辑。

Page 42: 数字逻辑第一章

42

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 1.3.2 1.3.2 1.3.2 1.3.2 1.3.2 1.3.2 1.3.2 1.3.2 基本逻辑门和基本运算基本逻辑门和基本运算

�逻辑代数中的逻辑运算只有“与”、“或”、“非”三种基本逻辑运算。任何复杂的逻辑运算都可以通过这三种基本逻辑运算来实现。

Page 43: 数字逻辑第一章

43

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 1. 1. 1. 1. 逻辑与运算

�与逻辑运算又叫逻辑乘。其定义是:当且仅当决定事件F发生的各种条件A、B、C … 均具备时,这件事才发生, 这种因果关系称为“与”逻辑关系, 即“与”逻辑运算。

�两个变量的”与”运算的逻辑关系可以用函数式表示为:

� F = A·B = A B�与运算的规则为:

� 0·0=0 0·1=0 1·0=0 1·1=1

Page 44: 数字逻辑第一章

44

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� “与”运算的真值表如表1-5所示。

� “与”逻辑运算可以进行这样的逻辑判断:“与”门的输入信号中是否有“0”, 若输入有“0”,输出就是“0”,只有当输入全为“1”, 输出才是“1”。

Page 45: 数字逻辑第一章

45

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2. 2. 2. 2. 逻辑或运算

� “或”逻辑运算又叫逻辑加。其定义是:在决定事件F发生的各种条件中只要有一个或一个以上条件具备时, 这件事就发生, 这种因果关系称为“或”逻辑运算关系。

�两个变量的“或”运算可以用函数式表示为:

� F = A + B �或运算的规则为:

� 0+0=0 0+1=1 1+0=1 1+1=1

Page 46: 数字逻辑第一章

46

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� “或”逻辑运算可以进行这样的逻辑判断:“或”门的输入信号中是否有“1”,若输入有“1”, 输出就是“1”;只有当输入全为“0”时, 输出才是“0”。

Page 47: 数字逻辑第一章

47

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 3. 3. 3. 3. 逻辑非运算

� “非”逻辑运算又称“反相” 运算, 或称“求补”运算。其定义是:当决定事件发生的条件A具备时, 事件F不发生; 条件A不具备时, 事件F才发生。这种因果关系叫“非”逻辑运算。它的函数式为

� F = � 非运算的规则为:

A

10 = 01=

Page 48: 数字逻辑第一章

48

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 4. 4. 4. 4. 复合逻辑运算

�与、或、非为三种基本逻辑运算。实际逻辑问题要比与、或、非复杂得多,但不管如何复杂都可以用简单的与、或、非逻辑组合来实现,从而构成复合逻辑逻辑。

�复合逻辑常见的有与非、或非、异或、同或及与或非运算等。

Page 49: 数字逻辑第一章

49

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (1) (1) (1) (1) 与非逻辑运算

�实现先“与”后“非”的逻辑运算就是与非逻辑运算。其逻辑函数式如下:

�ABF =

Page 50: 数字逻辑第一章

50

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� “与非”运算的真值表如表1-8所示。

� “与非”逻辑运算可进行这样的逻辑判断:“与非”门输入信号中是否有“0”, 输入有“0”, 输出就是“1”;只有当输入全为“1”时, 输出才是“0”。

Page 51: 数字逻辑第一章

51

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (2) (2) (2) (2) 或非逻辑运算

�实现先“或”后“非”的逻辑运算, 就是“或非”逻辑运算。其逻辑函数式如下:

�BAF +=

Page 52: 数字逻辑第一章

52

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� “异或”逻辑运算可以进行这样的逻辑判断:“异或”门的两个输入信号是否相同, 若两个输入信号相同时, 输出为“0”;若 两个输入信号不相同时,输出为“1”。“异或”逻辑运算的结果与输入变量取值为0的个数无关; 与输入变量取值为1的个数有关。变量取值为1的个数为奇数, 则输出为1; 变量取值为1的个数为偶数, 则输出为0。

Page 53: 数字逻辑第一章

53

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (3) (3) (3) (3) 异或逻辑运算 �用先“非”再“与”后“或”的逻辑运算,实现如下逻辑函数式的称为“异或”逻辑运算。其逻辑函数式如下:

BABABA ⊕=+= F

Page 54: 数字逻辑第一章

54

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (4) (4) (4) (4) 同或逻辑运算 �同或即异或非。同或逻辑函数式如下:

� =A⊙B�同或门的逻辑符号如图1-7。� “同或”运算的真值表所表1-11所示。

BABAF +=

Page 55: 数字逻辑第一章

55

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�对于“同或”逻辑来说, 它的输出结果与变量值为1的个数无关, 而和变量值为0的个数有关。变量值为0的个数为偶数时, 则输出为1; 变量值为0的个数为奇数时, 则输出为0。

Page 56: 数字逻辑第一章

56

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 1.3.3 1.3.3 1.3.3 1.3.3 1.3.3 1.3.3 1.3.3 1.3.3 逻辑代数的常用公式和基本定理逻辑代数的常用公式和基本定理� 1. 1. 1. 1. 基本公式

Page 57: 数字逻辑第一章

57

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 2. 2. 2. 2. 2. 2. 2. 2. 扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则扩展基本定律的三条规则� 在逻辑代数中,利用代入规则、对偶规则、反演规则可由基本定律推

导出更多的公式。

� (1) (1) (1) (1) 代入规则

� 在任何一个逻辑等式中,如将等式两边所有出现某一变量的地方都用同一函数式替代,则等式仍然成立。这个规则就是代入规则。

� 代入规则扩大了逻辑等式的应用范围。

� 例如 

CBACBACBA ++=⋅+=⋅⋅

Page 58: 数字逻辑第一章

58

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (2) (2) (2) (2) 对偶规则

� 将某一逻辑表达式中的“·”换成“+”、“+”换成“·”;“0”换成“1”,“1”换成“0”,就得到一个新的表达式。这个新的表达式就是原表达式的对偶式。如果两个逻辑式相等,则它们的对偶式也相等。这就是对偶规则。

� (3) (3) (3) (3) 反演规则

� 如将某一逻辑式中的“·”换成“+”、“+”换成“·” ;“0”换成“1”,“1”换成“0” ;原变量换成反变量,反变量换成原变量,则所得到的逻辑表达式称为原式的反演式。这种变换方法称为反演规则。利用反演规则可以比较容易地求出一个函数的反函数。

Page 59: 数字逻辑第一章

59

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 1.3.4 1.3.4 1.3.4 1.3.4 1.3.4 1.3.4 1.3.4 1.3.4 逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法逻辑函数的表示方法

�在处理逻辑问题时,可用多种方法来表示逻辑函数,其常用表示方法有逻辑表达式、真值表、逻辑图、卡诺图、波形图和VHDL语言。

�� 1. 1. 1. 1. 1. 1. 1. 1. 逻辑表达式逻辑表达式逻辑表达式逻辑表达式逻辑表达式逻辑表达式逻辑表达式逻辑表达式

�逻辑表达式是由逻辑变量和“与”、“或”、“非”三种逻辑运算符号构成的式子。同一个逻辑函数可以有不同的逻辑表达式, 它们之间是可以相互转换的。 

Page 60: 数字逻辑第一章

60

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 例如:如图1-8所示电路图,只有在A闭合的情况下,B或者C闭合,指示灯才会亮。

BC中至少有一个合上,则表示为B+C,同时A必须闭合,则表示为(B+C)·A,所以得到逻辑函数式为:Y=A·(B+C)。逻辑函数式简洁方便,而且能高度抽象而且概括地表示各个变量之间的逻辑关系;便于利用逻辑代数的公式和定理进行运算、变换;便于利用逻辑图实现函数;缺点是难以直接从变量取值看出函数的值,不如真值表直观。

Page 61: 数字逻辑第一章

61

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2. 2. 2. 2. 真值表

� 真值表是由逻辑函数输入变量的所有可能取值组合及其对应的输出函数值所构成的表格。n个输入变量有2n种取值组合, 在列真值表时, 为避免遗漏和重复, 变量取值按二进制数递增规律排列。一个逻辑函数的真值表是惟一的。

� 以图1-8为例,得到的真值表为:

11 1 1

11 1 0

11 0 1

01 0 0

00 1 1

00 1 0

00 0 1

00 0 0

YA B C

表1-12 图1-8为例运算的真值表

Page 62: 数字逻辑第一章

62

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 3. 3. 3. 3. 逻辑图

� 将逻辑表达式中的逻辑运算关系, 用对应的逻辑符号表示出来,就构成函数的逻辑图。逻辑图只反映电路的逻辑功能,而不反映电器性能。例如为了画出图1.8的逻辑图,只要用逻辑运算的图形符号代替式Y=A·(B+C)的代数符号便可得到图1-9表示的逻辑图。

Page 63: 数字逻辑第一章

63

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 1. 1. 1. 1. 最小项

�如果一个具有n个变量的逻辑函数的“与项”包含全部n个变量,每个变量以原变量或反变量的形式出现,且仅出现一次,则这种“与项”被称为最小项。

�对两个变量A、B来说,可以构成四个最小项:;对三个变量A、B、C来说,可构成八个最小项:、、ABC;同理,对n个变量来说,可以构成2 n个最小项。

Page 64: 数字逻辑第一章

64

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�为了叙述和书写方便,最小项通常用符号mi表示,i是最小项的编号,是一个十进制数。确定i的方法是:首先将最小项中的变量按顺序A、B、C、D … 排列好,然后将最小项中的原变量用1表示,反变量用0表示,这时最小项表示的二进制数对应的十进制数就是该最小项的编号。例如,对三变量的最小项来说,ABC的编号是7符号用m7表示,的编号是5符号用m5表示。

Page 65: 数字逻辑第一章

65

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2. 2. 2. 2. 最小项表达式

� 如果一个逻辑函数表达式是由最小项构成的与或式,则这种表达式称为逻辑函数的最小项表达式,也叫“标准与或式”。例如:

� 是一个四变量的最小项表达式。

� 对一个最小项表达式可以采用简写的方式,例如:

∑ )752( m

),,(

752

, , mmm

ABCCBACBACBAF

++=

++=

要写出一个逻辑函数的最小项表达式,可以有多种方法,但最简单的方法是先给出逻辑函数的真值表,将真值表中能使逻辑函数取值为1的各个最小项相或就可以了。

Page 66: 数字逻辑第一章

66

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�� 1.3.6 1.3.6 1.3.6 1.3.6 1.3.6 1.3.6 1.3.6 1.3.6 逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)逻辑函数的化简方法(化为最简与或式)� 一个具体问题经过逻辑抽象得到的逻辑函数表达式,不一

定是最简单的逻辑表达式。同一个逻辑函数可以写成不同的逻辑表达式,这些逻辑表达式的繁简程度往往相差甚远。逻辑表达式简单,说明逻辑关系简单,用最少的电子器件就可以实现这个逻辑关系。因此,通常必须对逻辑函数表达式进行化简。

� 所谓逻辑函数的化简,通常是指将逻辑函数化成最简的与-或表达式。若函数中的乘积项最少,且每个与项中的变量最少,则称此函数式为最简与或式。

Page 67: 数字逻辑第一章

67

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 1. 1. 1. 1. 代数化简法

� (1) (1) (1) (1) 并项法

�利用公式 将两项合并为一项,并且消去一个变量。例如:

ABAAB =+

CCBACBACBACBACBCACBAF =+=++=++= )(

Page 68: 数字逻辑第一章

68

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (2) (2) (2) (2) 吸收法

�利用公式A+AB=A,消去AB项。例如:� (3) (3) (3) (3) 消去法

�利用公式 ,消去项中的,例如:

� F= BABAA +=+

CABCABABCBAABCBCAAB +=+=++=++ )(

Page 69: 数字逻辑第一章

69

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (4) (4) (4) (4) 配项法

� 利用 ,给某一个与项配项,试探并进一步化简。例如 :1=+ AA

CBCABAACBBBCACBA

BACBBACBAACBCCBA

BACBCBBA

++=

+++++=

+++++=

+++++=

+++=

)1( )( )1(

C B ACBACBAB CA

)( )( F

⋅⋅⋅

⋅⋅

Page 70: 数字逻辑第一章

70

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2. 2. 2. 2. 卡诺图法化简逻辑函数

�采用逻辑代数法化简,不仅要求熟练掌握逻辑代数的定律和公式,且需具有较强的化简技巧。卡诺图化简法简单、直观、有规律可循,当变量较少时,用来化简逻辑函数是十分方便的。

卡诺图其实质是真值表的一种特殊排列形式,二至四变量的卡诺图如图1-10至图1-12所示 。n个变量的逻辑函数有2n个最小项,每个最小项对应一个小方格,所以,n个变量的卡诺图由2n个小方格构成,这些小方格按一定的规则排列。

Page 71: 数字逻辑第一章

71

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 在图1-10卡诺图的上边线,用来表示小方格的列,第一列小方格表示A的非,第二列小方格表示A;变量B为另一组,表示在卡诺图的左边线,用来表示小方格的行,第一行小方格表示B的非,第二行小方格表示B。如果原变量用1表示,反变量用0表示,在卡诺图上行和列的交叉处的小方格就是输入变量取值对应的最小项。如每个最小项用符号表示,则卡诺图如图1-10(b)所示,最小项也可以简写成编号,如图1-10(c)所示

图1-10 二变量卡诺图

Page 72: 数字逻辑第一章

72

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�分析卡诺图可看出它有以下两个特点:

�① 相邻小方格和轴对称小方格中的最小项只有一个因子不同,这种最小项称为逻辑相邻最小项;

�② 合并2k个逻辑相邻最小项,可以消去k个逻辑变量。

图1-11 三变量卡诺图

Page 73: 数字逻辑第一章

73

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 2) 2) 2) 2) 逻辑函数的卡诺图表示� 用卡诺图表示逻辑函数时,可分以下几种情况考虑。

� ① 利用真值表画出卡诺图

� 如果已知逻辑函数的真值表,画出卡诺图是十分容易的。对应逻辑变量取值的组合,函数值为1时,在小方格内填1;函数值为0时,在小方格内填0(也可以不填)。例如逻辑函数F1的真值表如表1-14所示,其对应的卡诺图如图1-13所示。

Page 74: 数字逻辑第一章

74

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� ② 利用最小项表达式画出卡诺图

� 当逻辑函数是以最小项形式给出时,可以直接将最小项对应的卡诺图小方格填1,其余的填0。这是因为任何一个逻辑函数等于其卡诺图上填1的最小项之和。例如对四变量的逻辑函数:

∑ )15,13,10,7,5,0(2 m F =

Page 75: 数字逻辑第一章

75

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�③ 通过一般与或式画出卡诺图

�有时逻辑函数是以一般与或式形式给出,在这种情况下画卡诺图时,可以将每个与项覆盖的最小项对应的小方格填1,重复覆盖时,只填一次就可以了。对那些与项没覆盖的最小项对应的小方格填0或者不填。

�如果逻辑函数以其他表达式形式给出,如或与式、与或非、或与非形式,或者是多种形式的混合表达式,这时可将表达式变换成与或式再画卡诺图,也可以写出表达式的真值表,利用真值表再画出卡诺图。

Page 76: 数字逻辑第一章

76

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (3) (3) (3) (3) 用卡诺图化简逻辑函数的方法

�用卡诺图表示出逻辑函数后,化简可分成二步进行:

�第一步:将填1的逻辑相邻小方格圈起来,称为画卡诺圈。

�第二步:合并卡诺圈内那些填1的逻辑相邻小方格代表的最小项,并写出最简的逻辑表达式。

Page 77: 数字逻辑第一章

77

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�画卡诺圈时应注意以下几点: �① 卡诺圈内填1的逻辑相邻小方格应是2k,即应是偶数个。

�② 填1的小方格可以处在多个卡诺圈中,但每个卡诺圈中至少要有一个填1的小方格在其它卡诺圈中没有出现过。

Page 78: 数字逻辑第一章

78

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

�③ 为了保证能写出最简单的与或表达式,首先应保证卡诺圈的个数最少(表达式中的与项最少),其次是每个卡诺圈中填1的小方格最多(与项中的变量最少)。由于卡诺圈的画法在某些情况下不是唯一的,因此写出的最简逻辑表达式也不是唯一的。

�④ 如果一个填1的小方格不和任何其它填1的小方格相邻,这个小方格也要用一个与项表示,最后将所有的与项或起来就是化简后的逻辑表达式。

Page 79: 数字逻辑第一章

79

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (4) (4) (4) (4) 用卡诺图化简逻辑函数举例� 【例1-161-161-161-16】 已知逻辑函数的真值表如表1-15所示,写出逻辑函数的最

简与或表达式。

� 解:首先根据真值表画出卡诺图,将填有1并具有相邻关系的小方格圈起来,如图1-16所示,根据卡诺图可写出最简与或表达式:

CBCAF +=

Page 80: 数字逻辑第一章

80

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� (5) (5) (5) (5) 包含无关项的逻辑函数的化简图1-181-181-181-18【例1-181-181-181-18】的卡诺图

�对一个逻辑函数来说,如果针对逻辑变量的每一组取值,逻辑函数都有一个确定的值相对应,则这类逻辑函数称为完全描述逻辑函数。但是,从某些实际问题归纳出的逻辑函数,输入变量的某些取值对应的最小项不会出现或不允许出现,也就是说,这些输入变量之间存在一定的约束条件。

Page 81: 数字逻辑第一章

81

数字逻辑

1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.3 逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础逻辑代数基础

� 那么,这些不会出现或不允许出现的最小项称为约束项,其值恒为0。还有一些最小项,无论取值0还是取值1,对逻辑函数代表的功能都不会产生影响。那么,这些取值任意的最小项称为任意项。约束项和任意项统称无关项,包含无关项的逻辑函数称为非完全描述逻辑函数。无关最小项在逻辑表达式中用表示,在卡诺图上用“φ”或“×”表示,化简时既可代表0,也可代表1。

� 在化简包含无关项的逻辑函数时,由于无关项可以加进去,也可以去掉,都不会对逻辑函数的功能产生影响,因此利用无关项就可能进一步化简逻辑函数。

Page 82: 数字逻辑第一章

82

数字逻辑

本章小结本章小结本章小结本章小结本章小结本章小结本章小结本章小结

�本章主要介绍了数制、常用编码及逻辑代数的基本知识。

�在计算机和各种数字系统中,常用按一定规则排列起来的二进制数码表示数字、符号和汉字等。因此,数制和编码是学习计算机系统非常重要的基础知识。

�逻辑函数可以有多种表示方法,如逻辑函数表达式、真值表、电路图、卡诺图、波形图和VHDLVHDLVHDLVHDL语言,这些表示方式是可以相互转换。

Page 83: 数字逻辑第一章

83

数字逻辑

本章小结本章小结本章小结本章小结本章小结本章小结本章小结本章小结

�逻辑函数化简的方法有两种,公式法(代数法)和卡诺图法。公式法的优点是不受逻辑变量个数的限制,但这种方法没有固定的方法步骤可循,严重依赖于对各种公式和定理的熟练掌握和运用。卡诺图化简法的优点是化简步骤固定,方法简单、直观,易于掌握,但对超过5555个逻辑变量的逻辑函数化简时就不太适用了。因此,在实际对逻辑函数的化简时,可以先用公式法把逻辑变量减少到最多4444个,然后再利用卡诺图进行化简。