1、1数字逻辑与数字系统概述 一些基本概念在电子技术中,被传递、加工和处理的信号可以分为两大类:模拟信号和数字信号(1) 模拟信号:在时间上和幅度上都是连续变化的信号,称为模拟信号,例如正弦波信号、心电信号等。(2) 数字信号: 在时间和幅度上均不连续的信号。(3) 模拟电路: 工作信号为模拟信号的电子电路。(4) 数字电路: 工作信号为数字信号的电子电路。(5) 研究的对 象:数字电路研究的对象是数字电路的输出与输入之间的因果关系,也就是说研究电路的逻辑关系。(6) 数字集成电路分类: 小规模集成电路(SSI )、中规模集成电路(MSI)、大规模集成电路(LSI)、超大规模集成电路(VLSI)。
2、(7) 数字系统 :用数字电路构成的实际工程系统称为数字系统。(8) 集成电路: 将多个电子电路器件做在一块芯片上的电路称为集成电路。 主要内容半导体二极管和三极管 数字逻辑基础 逻辑门电路组合逻辑电路 触发器时序逻辑电路运算电路2半导体存储器脉冲波形的产生与整形可编程逻辑器件和现场可编程门阵列数/模和模/数转换 课程意义 数字电路是一门硬件方面的重要基础课。任务是使同学们获得数字电路的基本理论、基本知识、基本技能,掌握数字逻辑的基本分析方法和设计方法,培养学生分析问题、解决问题的能力以及工程实验能力。 学习本门课程应注意的问题 应着重抓好基本理论、基本知识、基本方法的学习。能熟练运用数字电路
3、的分析方法和设计方法。重视实验技术。 教材及参考书教材:数字逻辑与数字系统 (第 3 版) ,王永军 李景华主编 电子工业出版社,2005参考书:(1( 数字逻辑与数字系统习题解答与实验指导,赵丽红、马文学、康恩 顺编写(2( 电子技术基础(数字部分,第四版) 康华光编写 高等教育出版社(3( 数字电路逻辑设计第一版王毓银主编(4( Digital Design Principles & Practices (Third Edition)John F. Wakerly3第一章 数字逻辑基础本章主要介绍数字电路中常用的几种数制的表示方法及其转换规律,数字系统中常见的几种编码及逻辑代数知识。1.1
4、 计数体制 数是用来表示物理量多少的。常用多位数表示。4 通常,把数的组成和由低位向高位进位的规则称为数制。 在数字系统中,常用的数制包括十进制数(decimal),二进制数(binary),八进制数(octal)和十六进制数(hexadecimal ) 。1.1.1 十进制数 组成:0、1、2、3、4、5、6、7、8、9 进位规则:逢十进一。 不同位置数的权不同,可用 10i 表示。 i 在(n-1)至-m 间取值。 n 为十进制数的整数位位数, m 为小数位位数。 10 称为基数(radix 或 base)。例:666.66 666.66=6102+6101+6100+ 610-1+610
5、-2任意一个十进制数都可以写成:n 是整数位位数, m 是小数位位数, a i 是第 i 位系数 , 10i 是第 i 位的权,10 是基数。任意进制数的按权展开式:ai 为 0(R 1)中任意一个数字符号,R 为基数,R i 为第 i 位的权值。1.1.2 二进制数 组成:0、1 进位规则:逢二进一一个二进制数 M2 可以写成: 一个二进制数的最右边一位称为最低有效位,常表示为 LSB(Least Significant Bit), 最左边一位称为最高有效位,常表示为 MSB(Most Significant Bit)。例:试标出二进制数 11011.011 的 LSB,MSB 位,写出各位
6、的权和按权展开式,求出其等值的十进制数。M2=11011.0112=124+123+022+121+120+02-1+12-2+12-3=27.375101.1.3 八进制数和十六进制数 八进制数 组成:0、1、2、3、4、5、6、7、 进位规则:逢八进一1i0nmiiaM1nmiiiRa122nmiiiaM5 权值:8 i 基数:8十六进制数 组成:0、1、2、3、4、5、6、7、8、9、A、 B、C、D 、E 、F 其中 AF 的等值十进制数分别为 10、11、12、13、14、15 进位规则:逢十六进一八进制数和十六进制数均可写成按权展开式,并能求出相应的等值十进制数:例:求八进制数 6
7、668 的等值十进制数。解:666 8=682+681+680=384+48+6=43810例:一个十六进制数 2AF16 的等值十进制数是多少?解:2AF 16=2162+A161+F160=2162+10161+15160=687101.1.4 二进制数和其它进制之间的转换十进制数转换成二进制数将十进制数 M10 转换为二进制数,一般采用将 M10 的整数部分和小数部分分别转换,然后把其结果相加。设 M10 的整数部分转换成的二进制数为 an-1an-2a1a0可列成下列等式: M10=an-12n-1+an-22n-2+a121+a020(1)整数部分转换设 M10 的整数部分转换成的二
8、进制数为 an-1an-2a1a0可列成下列等式: M10=an-12n-1+an-22n-2+a121+a020 将上式两边同除以 2,两边的商和余数相等。所得商为 an-12n-2+an-22n-3+a221+a1,余数为 a0,经整理后有:再将上式两边同时除以 2,可得余数 a1,依次类推,便可求出二进制数的整数部分的每一位系数 an-1、a 1、a 0。在转换中注意除以 2 一直进行到商数为 0 止。这就是所谓除基取余法(Radix Divide Method)。例:将十进制数 2510 转换为二进制数。解: 25 10=110012(2)小数部分转换设 M10 的小数部分转换成二进制
9、数为,a -1a-2a-m,可写成等式:M10=a-12-1+a-22-2+a-m2-m 将上式两边同时乘以 2 得 2M10=a-120+a-22-1+a-m2-m+1 上式中乘积的整数部分就是系数 a-1,而乘积的小数部分为:2M10-a-1=a-120+a-22-1+a-m2-m+1 对上式两边再同乘以 2,则积的整数部分为系数 a-2,依次类推,便可求出18nmiiiaM166nmiiiaM14231 )(nn6二进制数的小数部分的每一位系数,这就是所谓乘基取整法(Radix Multiply Method)。在转换过程中,乘 2 过程一直继续到所需位数或达到小数部分为 0 止。 例:
10、将 0.2510 转为二进制数。 解:0.25 102=0.5 整数=0= a-1 MSB0.5102=1.0 整数=1= a-2 LSB即 0.2510=0.012 由上两例可得 25.2510=11001.012也可以用不同位权值相加等于十进制数的办法将十进制数转换成二进制数。如 25=16+8+1=24+23+20=11001。二进制数和八进制数之间的转换三位二进制数恰好等于一位八进制数,8=2 3。对于二进制数,从小数点处开始,分别向左、右按三位分为一组,每组就对应一位八进制数,组合后即得到转换的八进制数。将八进制数转换为二进制数时,把每位八进制数写成等值的二进制数,再连接起来,即得到
11、二进制数。例:将八进制数 2748 转换成二进制数。解:274 8=101111002二进制数与十六进制数之间的转换因为 16=24,所以 4 位二进制数代表一位十六进制数。将二进制数从小数点处开始,分别向左、右按每四位分为一组,每组用相应的十六进制数表示,组合后可得到相应的十六进制数。例:将 10101111.00010110112 转换成十六进制数。 解: 10101111.00010110112=AF.16C16几种数制之间的关系对照表:十进制 二进制 八进制 十六进制0 0000 0 01 0001 1 12 0010 2 23 0011 3 34 0100 4 45 0101 5 5
12、6 0110 6 67 0111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D714 1110 16 E15 1111 17 F16 10000 20 1017 10001 21 1118 10010 22 1219 10011 23 1320 10100 24 141.2 常用编码 编码:是指用文字、符号、数码等表示某种信息的过程。 数字系统中处理、存储、传输的都是二进制代码 0 和 1,因而对于来自于数字系统外部的输入信息,例如十进制数 09 或字符 AZ,az 等,必须用二进制代码 0
13、和 1 表示。 二进制编码:给每个外部信息按一定规律赋予二进制代码的过程。或者说,用二进制代码表示有关对象(信号)的过程。1.2.1 二十进制编码(BCD 码) 二十进编码是用四位二进制代码表示一位十进制数的编码方式。 BCD 码的本质是十进制,其表现形式为二进制代码。 如果任意取四位二进制代码十六种组合的其中十种,并按不同的次序排列,则可得到多种不同的编码。 常用的几种 BCD 码列于表 1-1 中(参见 P4 表 1-1) 。 8421 BCD 码 8421 码是最常用的一种 BCD(Binary Coded Decimal)码,舍去四位二进制码的最后六个码,十位数和其二进制数有对应关系,
14、为恒权码。 多位十进制数,需用多位 8421 BCD 码表示。例如 36910= 0011 0110 10018421。 余 3 码 特点是每个余 3 码所表示的二进制数要比它对应的十进制数多 3。 2421 和 5421 码 二者均为恒权码。2421 码有 A、B 两种。1.2.2 循环码 循环码是格雷码(Gray Code)中常用的一种,其主要优点是相邻两组编码只有一位状态不同。以中间为对称的两组代码只有最左边一位不同。 右起第一位的循环周期是“0110” ,第二位的循环周期是“00111100” ,第三位的循环周期是“0000111111110000”等等。 例如 0 和 15,1 和
15、14,2 和 13 等。这称为反射性。所以又称作反射码。而8每一位代码从上到下的排列顺序都是以固定的周期进行循环的。 是一种无权码。四位循环码如表 1-2 所示(参见 P5 表 1-2) 。循环码和二进制码之间保持确定关系,即已知一组二进制码,便可求出一组对应的循环码,反之亦然。 设二进制码为 B=B3B2B1B0、循环码为 G=G3G2G1G0Gi=Bi+1B i1.2.3 ASCII 码 ASCII 是 American National Standard Code for Information Interchange 美国国家信息交换标准代码的简称。常用于通讯设备和计算机中。 它是一组
16、八位二进制代码,用 17 这七位二进制代码表示十进制数字、英文字母及专用符号。第八位作奇偶校验位(在机中常为 0) 。 如表 1-3 所示(参见 P5 表 1-3) 。1.3 二极管和三极管的开关特性91.3.1 二极管的开关特性(一) 二极管导通条件及导通时的特点: 正向电压 VF0.7V(二) 二极管截止条件及截止时的特点: VF0.5V (硅管)如图所示:(a)二极管电路(b)输入电压波形(c)理想电流波形(d)实际电流波形在 t1 时刻输入电压由+VF 跳变到-VR,会出现很大的反向电流的原因是电荷存储效应。(三) 二极管反向恢复时间 tre产生反向恢复时间 tre 的原因:如图 1-
17、2 所示反向恢复时间 tre 为纳秒数量级, tre 值愈小,开关速度愈快,允许信号频率愈高。1.3.2 三极管的开关特性(一)截止、饱和的条件:截止:V BE 0V (0.5V)饱和:I BI BS临界饱和:V CE=VBE此时:I CS=( VCC-0.3)/R C V CC/RC一般 VCES=0.10.3V空 间 电 荷 区P区 N区图 1-2 P区 和 N区 少 数载 流 子 存 储 情 况10(二)三极管的开关时间开启时间:t on=td+tr延迟时间:t d上升时间:tr关闭时间:t of=ts+tf存储时间:t s下降时间:t f一般地 toft on,t s tf并且开关时间
18、为纳秒数量极图 1-4 三 极 管 的 开 关 时 间111.4 逻辑代数基础逻辑代数是分析和设计数字逻辑电路的数学工具。本节讨论:逻辑变量、逻辑函数、基本逻辑运算和逻辑代数公式,以及化简逻辑函数的两种方法公式法和图形法。 逻辑电路中的几个问题: 逻辑值的概念 在数字系统中,通常用逻辑真和逻辑假状态来区分事物的两种对立的状态。 逻辑真状态用1表示;逻辑假状态用0来表示。 1和0分别叫做逻辑真假状态的值。 0、1 只有逻辑上的含义,已不表示数量上的大小。 高、低电平的概念 以两个不同确定范围的电位与逻辑真、假两个逻辑状态对应。 这两个不同范围的电位称作逻辑电平,把其中一个相对电位较高者称为逻辑高
19、电平,简称高电平,用 H 表示。而相对较低者称为逻辑低电平,简称低电平,用 L 表示。状态赋值和正、负逻辑的概念 状态赋值:数字电路中,经常用符号 1和 0 表示高电平和低电平。我们把用符号 1、0 表示输入、输出电平高低的过程叫做状态赋值。 正逻辑:在状态赋值时,如果用 1 表示高电平,用 0 表示低电平,则称为正逻辑赋值,简称正逻辑。 负逻辑:在状态赋值时,如果用 0 表示高电平,用 1 表示低电平,则称为负逻辑赋值,简称负逻辑。基本逻辑运算和基本逻辑门基本逻辑运算有逻辑与、逻辑或和逻辑非。实现这三种逻辑运算的电路,12称作基本逻辑门。 逻辑与(乘)运算只有决定一件事情的全部条件具备之后,
20、结果才能发生,这种因果关系为“逻辑与”或“逻辑乘” 。 逻辑与电路、符号及真值表见 P10 图 17 和表 15逻辑真值表(Truth Table):经过状态赋值之后所得到的由文字和符号 0、1 组成的,描述输入和输出的所有状态的表格。简称真值表。 逻辑与的逻辑关系表达式写成 F=AB 与逻辑功能可记成:“有 0 为 0,全 1 为 1” 与运算规则:00=0; 01=0; 10=0; 11=1A0=0; A1=A; 0A=0; 1A=A 逻辑或(加)运算决定一件事情的几个条件中,只要有一个或一个以上条件具备,结果就会发生,这种因果关系称为“或逻辑” ,也称“逻辑加” 。 逻辑与电路、符号及真
21、值表见 P10 图 18 和表 16 逻辑或的逻辑关系表达式 F=A+B 读作 F 等于 A 逻辑加 B。 或逻辑功能可记成“有 1 为 1,全 0 为 0”。 由真值表看出 0+0=0;0+1=1;1+0=1 ;1+1=1 ,从而推出A+0=A;A+1=1 ;A+A=A。 或逻辑又称逻辑加法。通过上述真值表,可见它和算术加有很大区别。 在逻辑加中 1+1=1,1+1+1=1 。逻辑非运算条件具备时结果不发生,条件不具备时结果反而发生,这种因果关系是逻辑非。非也称为取反。 逻辑与电路、符号及真值表见 P11 图 19 和表 17逻辑非的逻辑表达式写成: AF运算规则为: 100A复合逻辑运算
22、与、或、非为三种基本逻辑运算。 实际逻辑问题要比与、或、非复杂得多,但都可以用简单的与、或、非逻辑组合来实现。从而构成复合逻辑。13 复合逻辑常见的有与非、或非、异或、同(或)运算等。逻辑符号见 P11 图 110 ,其中第一行为国标符号;第二行为惯用符号;第三行为国外常用符号。逻辑代数的基本公式和常用公式(1) 基本公式 见 P12(2) 常用公式 见 P13现将表中公式证明如下:证明:这个公式的含义是当两个乘积项相加时,若它们分别包含 B 和 两个因子,而其它因子相同,则两项定可合并,且能将 B 和两个因子消掉。 A+AB=A证明:A+AB=A(1+B)=A1=A此式表明:两个乘积项相加,
23、若其中一项以另一项为因子,则该项是多余的。 证明:结果说明:两个乘积项相加时,如果一项取反后,是另一项的因子,则此因子是多余的,可以消去。 证明:该式说明:两个与项相加时,若它们分别包含 A 和 因子,则两项中的其余因子组成可添加的第三个与项。其逆式也成立,即三个与项相加时,若两项中分别有 和 A 因子,而这两项的其余因子组成第三个乘积项时,则第三个乘积项是多余的,可以消去。ABA1)(BA)(1BCAABABBC)1()(BB14证明:变量 x 和含有变量 x 的逻辑函数相乘时,函数 f 中的 x 用 1 代替, 用 0x代替,依据是 xx=x=x1;x =0=x0。例:证明:F=A1B+0
24、C+(1+D)(0+E)=A(B+E)(3) 逻辑代数的三条规则:代入规则 在任何逻辑等式中,如果等式两边所有出现某一变量的地方,都代之一个函数,则等式仍然成立。这个规则叫代入规则 。例如:等式若用 F=AC 代替 A,则根据代入规则,等式仍成立,即:利用代入规则,可以将基本公式推广为多变量的形式,扩大公式的使用范围。反演规则 将逻辑表达式中所有变+,+变成(注意省略的“”号) ,1 变成0,0 变成 1,原变量变成反变量,反变量变成原变量,即得到原逻辑函数的反函数。反演规则常用于从已知原函数求出其反函数。例: 利用反演规则时须注意以下两点: 仍需遵守“先括号,然后乘,最后加”的运算顺序。 不
25、属于单个变量上的长非号,在利用反演规则时应保持不变,而长非号下的BABA)(),.01(),.(zfzf )(EADCABFB CACCDBAF1)(E2)(15变量及和号符号仍按反演规则处理。德摩根定理实际上是反演规则的一个特例。对偶规则 将逻辑函数 F 中的“”换成“” , “”换成“” , “”换成“” ,“”换成“” ,即可求得 F 的对偶式 F。若两个逻辑函数相等,则它们的对偶式也相等;反之亦然。 例:求下列逻辑函数的对偶式:有时为了证明两个逻辑式相等,可以通过证明它们的对偶式相等来完成,因为有时证明对偶式相等更容易。例:证明 A+BC=(A+B)(A+C)证明:先写出等式两边的对偶
26、式等式左边=A(B+C) 等式右边=AB+AC根据分配律 A(B+C)=AB+AC 知对偶式相等,由对偶规则知 A+BC=(A+B)(A+C)使用对偶规则时,同样要注意运算的优先级别;正确使用括号;原式中的长非号,短非号均不变。逻辑函数及其表示法逻辑函数数字电路研究的是输出变量和输入变量之间的逻辑关系。图 1-11 示出二输入、一输出的数字电路框图。 当输入变量 A、B 取值为逻辑值 0 或 1 时,输出 F 也只能是 0 或 1。 在处理逻辑问题时,可用多种方法来表示逻辑函数,其常用表示方法有真值表,逻辑表达式,卡诺图和逻辑图等。 真值表表示法 描述逻辑函数各个变量取值组合和函数值对应关系的
27、表格,称为真值表。 由于每一个输入变量有 0、1 两个取值,n 个输入变量有 2n 个不同的取值组合,将输入变量的全部取值组合和相应的函数值一一列举出来,即BABAFBAF)(1CBAFCDAB2 DCABF3 )(F)(数字电路AB F=f(A,B)16可得到真值表。 通常输入变量的全部取值组合按二进制顺序进行,以防遗漏,并方便检查。 真值表直观明了,把实际逻辑问题抽象为数学问题时,使用真值表很方便。当变量较多时,为避免烦琐可只列出那些使函数值为 1 的的输入变量取值组合。例:三人就某一提议进行表决,试列出表决结果的真值表。解:设输入变量 A、B、C 代表三人,F 代表表决结果,两人以上同意
28、者为 1(表示通过) ,否则为 0。A、B、C:同意为 1,不同意为 0。F:通过为 1,不通过为 0。则真值表为:A B C F0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1 函数表达式表示法 用与、或、非等运算表示函数中各个变量之间逻辑关系的代数式子,叫做函数表达式。 由真值表求函数表达式最方便。 找出那些使函数值为 1 的变量取值组合,变量值为 1 的写成原变量,为 0的写成反变量,这样对应于使函数值为 1 的每一个组合就可以写出一个乘积项,把这些乘积项加起来,可以得到函数的原函数的标准与或式。 把函数值为 0 的对应乘积
29、项相加,则得反函数。例:写出表决逻辑的原函数和反函数的标准与或式。解 :特点:简洁方便。能高度抽象而且概括地表示各个变量之间的逻辑关系。ABCBCAF17便于利用逻辑代数的公式和定理进行运算、变换。便于利用逻辑图实现函数。缺点是难以直接从变量取值看出函数的值,不如真值表直观。 逻辑图表示法 把函数表达式输入变量间的逻辑关系用逻辑符号表示出来而得到的电路图,称逻辑图。逻辑图只反映电路的逻辑功能,而不反映电器性能。 一般可根据逻辑表达式画逻辑图。方法是把逻辑表达式中相应的运算用门电路的符号来代替。例:将 F=AB+BC+CA 画成逻辑图。如表决逻辑图所示。 卡诺图表示法 卡诺图(Karnaugh
30、Map)是逻辑函数的一种图形表示方法。 卡诺图和真值表一样可以表示逻辑函数和输入变量之间的逻辑关系。 卡诺图是用图示方法将各种输入变量取值组合下的输出函数值一一表达出来。逻辑函数化简18逻辑函数表达式按表达式中乘积项的特点,以及各个乘积项间的关系进行分类,大致可分成:与或表达式,或与表达式,与非与非表达式,或非或非表达式,与或非表达式五种:与或表达式CABF或与表达式)()(与非与非表达式与或非表达式ACBAF或非或非表达式 一般说来,表达式越简单,实现起来逻辑电路也越简单。对于不同类型的表达式,简单的标准是不一样的。以与或表达式为例,最简与或表达式应满足乘积项的个数应该是最少的在满足乘积项个
31、数最少的条件下,要求每一个乘积项中变量的个数也最少。 与或表达式最简,由它转换得来的表达式,一般来说也就最简。逻辑函数的代数(公式)化简法 代数化简法的实质就是反复使用逻辑代数的基本公式和常用公式消去多余的乘积项和每个乘积项中多余的因子,以求得函数式的最简与或式。因此化简时,没有固定的步骤可循。现将经常使用的方法归纳如下: 吸收法:根据公式 A+AB=A 可将 AB 项消去,A 和 B 同样也可以是任何一个复杂的逻辑式。例:化简: CDBCAF)(解:将 A+BC 看成一项, 消因子法:利用公式 可将 中的因子 消去。A、B 均可是BA任何复杂的逻辑式。例:BCAC )()()(EBAF119
32、 合并项法(1):运用公式 可以把两项合并为一项,并消去 B 和 这两个因子。AB根据代入规则,A 和 B 可以是任何复杂的逻辑式。例:化简:合并项法(2):利用公式 可以把两项合并为一项,并消去一个变量。1A例: 配项法式中的某一项乘以 或加 ,然后拆成两项分别与其它项合并,进A行化简。例:CDBABAF)(2 BCDDCFB)()(1)(1BCF ABCBCF)()(2CABBCABCF)()1()( )()(1ABCABF)(220逻辑函数的卡诺图化简法卡诺图表示法 卡诺图(Karnaugh Map)是逻辑函数的一种图形表示方法。 卡诺图和真值表一样可以表示逻辑函数和输入变量之间的逻辑关
33、系。卡诺图是用图示方法将各种输入变量取值组合下的输出函数值一一表达出来。最小项 对于 n 个变量,如果某乘积项含有 n 个因子,每个因子或以原变量或以反变量的形式仅仅出现一次,则这个乘积项称为最小项。n 个变量一共有 2n个最小项。因为每一个变量都有两种状态原变量和反变量,而变量一共有 n 个。最小项编号 编号方法:把与最小项对应的那一组变量取值组合当成二进制数,与其对应的十进制,就是该最小项的编号。下表为三变量的最小项及其编号。 (见 P17,表 112)最小项性质n 个变量的逻辑函数有 2n 个最小项。每一个最小项对应了一组变量取值,任意一个最小项,只有对应的那一组取值使其值为 1,其它均
34、为 0。任意两个最小项之积恒为 0,记作:mimj=0(ij)所有最小项的逻辑和为 1,记作 mi=1(i=0,1,2,2n-1)n 个变量逻辑函数的每一个最小项都有 n 个相邻项。相邻是指逻辑相邻。两个最小项相加可以消去互为反变量的因子。例:写出 F=AB+BC+AC 的最小项表达式解:逻辑函数的卡诺图最小项卡诺图的画法mBCAABCF)3,567( )()()(21画正方形或矩形,图形中分割出 2n 个小方格,n 为变量的个数,每个最小项对应一个小方格。变量取值按循环码排列(Gray Code) ,其特点是相邻两个编码只有一位状态不同。变量卡诺图形象地表达了变量各个最小项之间在逻辑上的相邻
35、性。 三变量卡诺图(见图 113,注意编号简写!) 四变量卡诺图(见图 114,注意编号简写!) 五变量卡诺图(见图 115,注意编号简写!)注意:五变量以上卡诺图很少使用。在卡诺图中,一个最小项对应图中一个变量取值的组合(反映在编号上)的小格子,两个逻辑相邻的最小项对应的小格子位置间有以下三种情况: 相接紧挨 相对各在任一行或一列的两头 相重对折起来位置相重合在卡诺图上,两个相邻最小项合并时,相当于把其圈在一起组成一个新格子。新格子和两相邻最小项消去变化量之后的式子相对应。如图所示。00 01 11 10CBABCABCA01新格子含二个小格子,可用 BC 代表逻辑函数的卡诺图用卡诺图来表示
36、逻辑函数。通常逻辑函数的卡诺图可由以下三种情况获得:根据逻辑函数的真值表(给出真值表时)根据逻辑函数的变量个数选择相应的卡诺图然后根据真值表填写卡诺图中的每个小方块,即在对应于变量取值组合的每一小方块中,函数值为 1 时填1,为 0 时填 0,即得函数的卡诺图。例:表决逻辑的卡诺图为 : 22根据逻辑函数的最小项表达式(给出的是最小项表达式)将对应的逻辑函数的最小项的小方格填入 1,其它的方格填入 0。 根据一般的逻辑表达式(这是经常出现的)首先将函数变换成与或式,但不必变为最小项之和的表达式。在变量卡诺图中,把每一乘积项所包括的那些最小项对应的格子都填上 1,剩下的填 0。注:每一乘积项是其
37、所包含的最小项公因子。每一乘积项包含的最小项的格子数是 2,4,8即 2n,而不能是 3,5,若变量为 n 个,每个最小项应出现的变量(或反变量)应为 n 个,其公因子为 m 个变量( mn) ,该公因子包含的最小项个数为 2n-m。故 m 越小,该公因子所包含的最小项的个数越多。例:化简函数:解: 函数的真值表,标准与或式和卡诺图都是唯一的。三者之间有一一对应的关系。卡诺图只不过是真值表和标准与或式的阵列图表达形式。 卡诺图的最突出的优点是用几何位置相邻表达了构成函数的各个最小项在逻辑上的相邻性。可以很容易地求出函数的最简与或式,使其在函数的化简和变换中得到应用。逻辑函数的卡诺图化简法 利用
38、卡诺图进行化简,简捷直观,灵活方便,且容易确定是否已得到最简结果。用卡诺图化简逻辑函数一般可按以下步骤进行:(a)画出函数的卡诺图(b)画包围圈,合并最小项在卡诺图中,凡是相邻的最小项均可合并,合并时,可消去有关变量。CABAF)(CABF)(23例:三变量卡诺图二、四相邻最小项的合并:2、6 项合并:1、5 项合并:2、3 项合并:3、2、7、6 项合并:0、1、4、5 项合并:0、4、2、6 项合并:例:四变量卡诺图二、四相邻最小项的合并:13、15 项合并:11、15 项合并:0、8 项合并:4、6 项合并:4、5、7、6 项合并:4、12、6、14 项合并:9、11、13、15 项合并
39、:0、2、8、10 项合并: 4、5、7、6、12、13、15、14 八项合并: B0、1、3、2、8、9、11、10 八项合并: (c)选择乘积项,写出最简与或表达式。选择乘积项时,必须包含全部最小项,选用的乘积项的总数应该最少,每个乘积项所包含的因子也应该最少。例:化简函数解:画出函数的卡诺图BCD=(3,11)BC=(4,5,12,13)ACD=(1,5)ABC=(3,11)合并最小项选择乘积项,写出最简与或表达式 化简时应注意的几个问题: 圈 1 得原函数,圈 0 得反函数 圈必须覆盖所有的 1。 圈中 1 的个数必须是 2n 个相邻的 1。CBAABDCBABACBABADDCCBA
40、DCBF CBADF24 圈的个数必须最少 (乘积项最少) 。 圈越大越好(消去的变量多) 。 每个圈至少包含一个新的最小项。 写出最简与或式。例:化简函数 F=(1,4,5,6,8,12,13,15)。解:画出 F 的卡诺图合并最小项写出最简与或表达式 具有无关项的逻辑函数及其化简 约束项、任意项和无关项 在分析某些具体的逻辑函数时,常遇到输入变量的取值不是任意的情况。对输入变量的取值所施加的限制为约束。这些受约束的变量取值组合所对应的最小项叫约束项。 例如用三个逻辑变量 A、B、C 分别表示一台电动机的正转、反转和停止命令。A=1 表示正转,B=1 表示反转,C=1 表示停止。 因为电动机
41、任何时候只能执行其中一个命令,所以不允许两个命令同时为1,即 ABC 的取值只能是 001,010,100 中的一种,不能是000,011,110,101,111 中的任一种。因此 A、B、C 是一组具有约束的变量。通常用约束条件来描述约束的具体内容。由于每一组输入变量的取值都使一个,且仅有一个最小项的值为 1,所以当限制某些输入变量不能出现时,可以用它们对应的最小项恒等于 0 来表示。上面例子中的约束条件可写为:或写为: 有时也会遇到在某些输入变量取值下不影响输出函数。例如对于 8421 编码只出现 00001001,而 10101111 这 6 种取值与 8421 码无关。通常把与输出逻辑
42、函数无关的最小项称作任意项。 在不严格区分时,约束项和任意项统称为无关项。 无关是指把它们是否写入逻辑式中无关紧要,可写可不写。在卡诺图中填入“”或“”表示。 最小项和无关项的表示方法: 最小项之和;m*)(ABDCDA0CBA0CABABC25无关项之和。d*)( 无关项在化简逻辑函数中的应用 在存在无关项的情况下,可以把一个或几个无关项写进逻辑函数中,也可以把无关项从函数式中删掉,不影响函数值。因此在逻辑函数化简时,利用无关项有时会给化简带来方便。在卡诺图上,究竟将“”作为“1”还是“0”对待,应以得到的相邻最小项矩形组合最大,而且矩形组合数目最少为原则。例:化简具有约束项的逻辑函数已知约
43、束条件为 解:如果不利用约束项, F 已无从化简,适当写入一些约束项后,可以得到可见,利用了约束项以后,能使逻辑函数进一步化简。但在确定应该写入哪些约束项时还不够直观。如果改用卡诺图化简法,则只要将 F 的卡诺图画出,立即就能看出化简时对这些约束项应如何取舍。如下图所示。化简结果与代数法相同。例:化简逻辑函数F(A,B,C,D)=m(0,1,2,3,6,8)+d(10,11,12,13,14,15)。 解:DCBACBA0DCBADAACBBCDAFA),(26例:化简逻辑函数F(A,B,C,D)=m(15,13,10,6,4)+d(8,7,5,2,1,0)解:不考虑无关项考虑无关项 通常,从
44、逻辑问题概括出来的逻辑函数不一定是最简的,所以就要求对逻辑函数进行化简,找到其最简单的表达式。 此外,有时逻辑函数表达式是最简的形式,但是它不一定适合给定的逻辑门,这种实际情况又要求对已有的最简式进行适当的变换,才能用给定的逻辑门画出逻辑电路图。一个逻辑函数可有多种不同的表达形式,这些表达式可以互相转换,例如:与或表达式是最常用的一种逻辑表达式,最简与或表达式的标准是:式中含的与项最少;各与项中含的变量数最少。有了最简的与或表达式,就很容易得到其他形式的最简表达式。这里只介绍了两种与或表达式的化简方法。一种是公式化简法;另一种是卡诺图化简法。例 2:化简函数 F=(1,3,5,9)+d(7,1
45、1,13)。解: 画出 F 的卡诺图合并最小项写出最简与或表达式DCBAFBDABABAF)()(27补充内容:最大项标准形式1. 最大项(Maxterm):设有 n 个逻辑变量,他们组成的和项中每个变量或以原变量的形式、或以反变量形式出现一次,且仅出现一次,此和项称为 n 个变量的最大项。 由最大项的定义可知,n 个变量可以构成 2n 个最大项。 一般用 Mi 表示最大项,并且规定,确定下标 i 的规则与最小项相反:当变量按一定顺序(A,B,C,)排好后,用 0 代替原变量,用 1 代替反变量,由此得到一个二进制数,其对应的十进制数即为下标值 i。A B C 最大项 代号0 0 0 A+B+
46、C M00 0 1 A+B+CM10 1 0 A+ +CBM20 1 1 A+ M31 0 0 +B+CAM41 0 1 +B+CM51 1 0 BM6DCAFADCF)(281 1 1 CBAM72. 最大项的性质: 任意一个最大项,相应变量有且只有一组取值使这个最大项的值为 0。换言子,最大项不同,其值为 0 的变量取值组合也不同。 任意两个最大项之和必为 1,即:M i+Mj=1 (ij) n 个变量的全部最大项之积为 0,即: 012nii 同变量数下标相同的最大项和最小项互为反函数,即:, iiMmiiiimiim3函数的最大项的标准形式:例如,三变量函数 Y(A,B,C)的最大项之积标准式为:)CBACBACBAY )()()(),(可记为: 5,420, 35420M例 1 已知函数的最小项标准式为 ,求其最大项标准式。)7,1(),(mY解:对原函数两边求反,得 ,再对 求反,得:)6,20(),(CBA),(CBAY620,mY )6,20()7,5431(),( MCBAY例 2:求函数 的最简或与表达式。),2,6(),(D29例 3:一个 BCD 码输入素数检测器,当输入为素数时,输出为 1。求输出函数Y 得最简与或表达式。-+