《电子技术基础(数字部分)》第 1 章 数字逻辑概论
数字逻辑概论
目录
1.1 数字信号与数字电路
1.1.1 数字技术的发展及其应用
电子技术的发展是以电子器件的发展为基础的:
20世纪初
电子管(真空管)——电压控制器件 & 电真空技术
↓
20世纪中叶
晶体管——电流控制器件 & 半导体技术(半导体二极管、三极管)
↓
20世纪60年代
(半导体)集成电路
↓
可编程器件
数字技术应用的典型代表是电子计算机,它是伴随着电子技术的发展而发展的,经历了电子管、晶体管、集成电路、微处理器四个发展阶段。










1.1.2 数字集成电路的分类及特点
电子电路可以分为:模拟电路和数字电路。
数字电路中的电子器件,如二极管、三极管(FET、BJ1)处于开关状态,构成电子开关。这些电子开关是组成逻辑门电路电路的基本器件。
逻辑门电路又是数字电路的基本单元。
如果将这些门电路集成在一片半导体芯片上就构成数字集成电路。
1. 数字集成电路的分类
根据电路的结构特点及其对输入信号的响应规则的不同分类:组合逻辑电路和时序逻辑电路。
衡量集成电路设计和制造技术水平的两个主要参数集成度和特征尺寸。
集成度是指每一芯片所包含的晶体管的个数。
特征尺寸是指集成电路中半导体器件加最小线条宽度。
当集成电路芯片的面积一定时,集成度越高,特征尺寸就越小。
按电路形式分为:分立电路、集成电路。
从集成度来分类:
集成电路可分为小规模集成电路( small scale integration , SSI)、中规模集成电路( medium scale integration ,MSI)、大规模集成电路(large scale integration,LSI)、超大规模集成电路( very large scale integration , VLSI)和甚大规模集成电路(ultra large scale integration , ULSI)五类。
下表列出了数字集成电路的集成度分类。

按结构和功能 / 使用器件分为:双极型(TTL电路)、MOS型电路、CMOS型电路。
按集成芯片逻辑功能特点分为:通用型、专用集成电路ASIC、可编程逻辑器件PLD
PLD种类较多,目前广泛应用的主要有复杂可编程逻辑器件(complex programmable logic device,CPLD)和现场可编程门阵列(field programmable gate array,FPGA)。
2. 数字集成电路的特点
与模拟电路相比,数字电路主要有下列优点。
(1)稳定性高,抗干扰能力强——高低电平有一定的摆动浮动空间,有一定的容错(冗余)范围
(2)易于设计——对0和1表示的信号进行逻辑运算和处理,只有两种信号形式。
(3)体积小,通用性好,成本低,便于集成
(4)具可编程性,可实现硬件设计软件化
(5)高速度低功耗
(6)便于存储、传输和处理,具有可扩展性
3. 数字电路的分析、设计与测试
(1)数字电路的分析方法
数字电路又称逻辑电路,主要研究对象是电路的输出与输入之间的逻辑关系。
所采用的分析工具是——逻辑代数。
表达电路输出与输入的关系主要用——真值表、功能表、逻辑表达式、波形图等。
随着计算机技术的发展,借助电子设计自动化(electronic design automation,EDA技术),可以……EDA技术……其中之一是……的各种计算机辅助设计(computer aided design)工具,如quartus……
(2)数字电路的设计方法
传统设计方法:自下而上;
现代设计方法(自上而下):
EDA(Electronic Design Automation)技术
EDA技术以计算机作为基本工具、借助于软件设计平台,自动完成数字系统的仿真、逻辑综合、布局布线等工作。最后下载到芯片,实现系统功能。是硬件设计软件化(可编程器件的出现)。
a.设计方法:原理图设计、VerilogHDL语言设计、状态机设计。
b.仿真(时序波形图)
c.下载
d.验证结果
(3)数字电路的测试技术
中小规模:数字电压表、数字示波器……
集成电路:计算机……
1.1.3 模拟信号和数字信号
(1)模拟信号
模拟量:连续变化(时间、幅值连续)的物理量
模拟信号:表示模拟量的信号(传感器将模拟量转换为电压/电流信号)
模拟电路:处理模拟信号的电子电路

(2)数字信号
数字量:离散取值的物理量
数字信号:表示数字量的信号
数字电路:处理数字信号的电子电路。

(3)模拟信号的数字表示
由于数字信号便于存储、分析和传输,通常都将模拟信号转换为数字信号。



离散化的注意事项:
① 横轴采样点越多,数字信号越接近模拟信号;
② 纵轴量化值采用8位编码,只能表示256个值,限制量化值最多256个。

1路输入——>8路输出(并行传输)
1.1.4 数字信号的描述方法
模拟信号:数学表达式、波形图等表示。
数字信号:0-1两种值(二值数字逻辑)、高低电平组成的数字波形(逻辑电平)等表示。
(1)二值数字逻辑和逻辑电平
二值数字逻辑:只有两种对立逻辑状态的逻辑关系,简称数字逻辑

逻辑电平:表示数字信号电压的高、低电平。
(注意:逻辑电平不是实际物理量,而是物理量的相对表示)

逻辑1表示高电平,逻辑0表示低电平

通常在分析一个数字系统时,由于电路采用相同的逻辑电平标准,一般可以不标出高、低电平的电压值。时间轴也可以不标,如图所示数字波形的常规表示:

(2)数字波形
① 数字波形的两种类型
数字波形的概念:逻辑电平对时间的图形表示。
数字波形的类型:非归零型、归零型。

一定时间间隔T,称为1位(1bit),或者1拍。
如果在一个时间拍内用高电平代表1,低电平代表0,称为非归零型,如图1.1.3( a)所示。
如果在一个时间拍内有脉冲代表1,无脉冲代表0,称为归零型,如图1.1.3(b)所示。

两者的区别在于高电平的表示方法不同——在一个时间拍内,非归零型信号持续为高电平,而归零型信号的高电平持续一段时间后会归零。
只有作为时序控制信号使用的时钟脉冲是归零型,除此之外的大多数数字信号基本都是非归零型,非归零型信号使用较为广泛。
数字信号只有两种取值,故称为二值信号,数字波形又称为二值位形图。非归零型信号的每位数据占用一拍时间。每秒钟所传输数据的位数称为数据率或比特率(Bit Rate)——串行通信要匹配比特率。
② 周期性和非周期性

周期性数字波形常用周期T和频率f来描述。
脉冲宽度(tw):表示一个周期内脉冲的作用作用时间。
占空比(q):表示脉冲宽度tw占整个周期T的百分比。
注:占空比为50%的矩形脉冲为方波。
③ 实际数字信号波形

在实际的数字系统中,数字信号并没有那么理想。当矩形脉冲从低电平跳变到高电平,或从高电平跳到低电平时,边沿没有那么陡峭,而要经历一个过渡过程,分别用上升时间tr和下降时间tf描述.

上升时间tr:矩形脉冲上升沿从10%Vm到90%Vm所经历的时间
下降时间tf:矩形脉冲下降沿从90%Vm到10%Vm所经历的时间
脉冲宽度tw:矩形脉冲上升沿从50%Vm到下降沿50%Vm所经历的时间
周期T:相邻两个上升/下降沿之间,即相邻两个波形之间的时间
一般数字信号上升/下降时间的典型值为几纳秒
④ 波形图、时序图
数字波形:是表达数字电路动态特性的有效工具之一。
波形图:将数字电路输入变量的每一种取值与相应的输出值按照时间顺序依次排列得到的图形,称为波形图(waveform)。
时序图:在时序电路中,电路的状态和输出对时钟脉冲序列及输入信号响应的波形图又称为时序图( timing diagram)。
对于实际构成电子电路的逻辑门,其输出值的变化相对输的变化存在一定的延迟(响应延迟),我们采用反映延迟时间的时序图表示。

CP为时钟控制输人,D为数据输入,Q为输出。
由于各信号的路径不同,这些信号之间不可能严格保持同步关系。为了保证可靠工作,各信号之间通常允许一定的时差,但这些时差必须限定在规定范围内,各个信号的时序关系用时序图表达。
在图中为保证电路稳定工作,D输入端的信号比CP上升沿提前至少tsu ( setup time,建立时间),并且要求其在CP上升沿来之后保持至少tH( hold time,保持时间),其他时间参数在后续章节介绍。
某微处理器应用的定时图——“地址”要先于“读信号”有效一定时间:

1.2 数制
人们在日常生活中经常遇到计数问题,并且习惯于用十进制数。
而在数字系统,例如计算机中,通常采用二进制数,有时也采用十六进制数或八进制数。
这种多位数码的构成方式以及从低位到高位的进位规则称为数制。
1.2.1 十进制
十进制就是以10为基数的计数体系。
位权:
十进制的位权表示式:
任意进制的位权表示式:各个系数,对,位权,加权求和。
1.2.2 二进制
(1)二进制的表示方法
二进制就是以2为基数的计数体制,只有0、1两个数码。
(2)二进制的优点
① 二进制的数字电路简单可靠,所用元件少——二进制数的每一位只有0和1两个状态,可用任何具有两个不同稳定状态的元件来表示。
如 MOS管的导通与截止、继电器触点的闭合与断开、灯的亮和不亮等。只要规定其中一种状态表示1,另一种状态表示0,就可以表示二进制数。
② 二进制的基本运算规则简单,运算操作方便二进制只有两个数码0和1,基本运算规则简单。
但是,采用二进制也有缺点。
用二进制表示一个数时,位数太多。不便于书写和阅读,使用不方便。
因此,通常在阅读和书写时采用十进制数。
在送入计算机时,计算机先将十进制数转换成数字系统能接受的二进制数;
而在运算结束后,再将二进制数转换为十进制数,输出十进制结果。
(3)二进制数的波形表示

在数字电路中,二值数据常用数字波形来表示——数据的波形表示比较直观,也便于用示波器进行监视。

图中最左列标出了二进制数的位权(2^0、2^1、2^2、2^3)以及最低有效位( least significant bit , LSB)和最高有效位(most significant bit , MSB)
最后一行标出了从0到15的等效十进制数。
从图还可看出,每一位的波形均为方波,其占空比均为50%,但从低位到高位,每一波形的频率逐位减半。
(4)二进制数据的传输
二进制数据从一处传输到另一处,可以采用串行的方式或并行的方式。
串行传输方式:一组数据在时钟脉冲的控制下逐位传送。
串行方式所需设备简单,只需一根数据传输线和一个共地接地端等。
图是在时钟脉冲CP 的控制下,数据由最高位MSB到最低位LSB依次传输的波形图。每一个时钟周期传送一位数,并且在时钟脉冲的下降沿完成。

并行传输方式:即将一组二进制数据同时传送。
优点:传输速度快。
缺点:所需设备复杂,需用8条数据传输线和其他部件。
大多数计算机和一些数字系统内部都是以并行方式传输数据。
图中最左列标出了二进制数的位权(2^0、2^1,…2^7)以及最低位LSB和最高位MSB。
传输8位数据所需的时间为一个时钟脉冲周期,只有串行传输时间的1/8。

1.2.3 十进制与二进制之间的转换
(1)二——>十
位权展开法 & 2的幂次法
(2)十——>二
2的幂次法 & 除2取余法-辗转相除法(整数部分)、乘2取整法(小数部分)——量化误差/精度丢失(只能存储8位)注意:四舍五入!
1.2.4 八进制 & 十六进制
由于二进制数位数多,不便书写和记忆,因此在计算机资料中也常采用十六进制数或八进制数来表示。
(1)十六进制
十六进制数采用16个数码,分别为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A、B、C、D、E、F依次相当于十进制数中的10、11、12、13、14、15。
(2)十六-二进制之间的转换
4位二进制数有16个状态,而1位十六进制数有16个不同的数,因此二进制转换成为十六进制非常简单,以小数点为基准,整数部分从右到左每4位一组,不足4位的在高位补0;小数部分从左到右每4位一组,不足4位的在低位补0。将每组4位二进制数用1位十六进制数表示即可。
(3)八进制
八进制数由0~7的8个数码表示
(4)八-二进制之间的转换
同理,对于八进制数,可将3位二进制数分为一组,然后每组用1位八进制数表示。
至于十进制数变换为八、十六进制数,可先将十进制数变换为二进制数,再由二进制数转换为八、十六进制数。
为便于对照,将十进制数0~20与二进制、八进制及十六进制数之间的关系列于表中。


1.3 二进制数的算术运算
在数字电路中,0和1既可以表示逻辑状态——二值逻辑变量:逻辑运算。
又可以表示数量大小——二进制数值:算术运算。
下面介绍无符号二进制数和有符号二进制数的算术运算。
1.3.1 无符号二进制数的算术运算
无符号二进制数是指所有位都用于表示数的大小。(全是数值位,没有符号位)
无符号二进制数的加、减、乘、除四种运算的运算规则与十进制数类似,两者唯一的区别在于进位或借位规则不同。
无符号二进制数的运算规则如下:

二进制数的加法运算是基础,数字系统中的各种算术运算最终都将通过它来实现。
由于无符号二进制数中无法表示负数,则要求被减数一定大于减数。
由上述运算过程可见——乘法运算是由左移被乘数与加法运算组成的;除法运算是由右移除数与减法运算组成的。
1.3.2 带符号二进制数的减法运算
前面只考虑了无符号二进制数,当涉及正、负数时需要用有符号的二进制数表示。
在日常生活中,通常在一个数的前面用“+”表示正数,用“-”表示负数。
但数字系统只能识别0和1,因此,在二进制数前面增加一个符号位,用0表示“+”,用1表示“-”。
带符号的二进制数通常有3种表示方法:原码、反码和补码。
(1)二进制的原码、反码、补码
① 原码
原码的表示方法:正数的符号位为0,负数的符号位为1,数值用其绝对值的二进制数表示。
例如:……
原码简单直观,但做减法时需要判断两个数绝对值的大小,用绝对值大的数减去小的数,并且差值的符号由绝对值大的数的符号确定……这一过程较复杂。在数字系统中,是用更简单的补码加法运算实现减法运算的。为了便于得到补码,引入反码的概念。
② 反码
反码又称为“1的补码"( one's complement )。
正数的反码与原码相同;负数的反码是符号位不变,数值位按位取反。

③ 补码
补码又称为“2的补码( two's complement )”。

正数的补码与原码相同;负数的补码在其反码的最低位加1得到。

综上所述:
当二进制数为正数时,其补码、反码与原码相同。
当二进制数为负数时,将原码的数值位逐位求反(即得到反码),然后在最低位加1得到补码。
4位带符号的二进制数的原码、反码和补码对如表如表所示。


对于-0和+0,原码和补码用两组不同的4位二进制数表示,原码分别用1000和0000表示,反码用1111和0000表示;而补码只用一组二进制数0000表示-0和+0,可以用多出一组二进制数表示-8。
因此,它们表示的数值范围分别为——原码是-7~+7,反码也是-7~+7,补码是-8~+7。
由此可以推知,对于n位带符号的二进制数的原码,反码和补码的数值范围分别为:

(2)二进制数减法的补码运算
指针式钟表解释补码:……
这里引人了"模"的概念,用M表示(也写作 mod,M)。
所谓"模”是指一个计数系统的进位基数,例如:时钟从1到12有12个数,它的模是12。4位二进制数计数范图为0000-1111共16个数,所以模为16。
从上述例中可以得出一个结论:减去某个数可以用加上它的负数的补码来完成,并舍去进位。
在计算机等数字系统中,均采用补码进行带符号二进制数的减法运算。
设A和B均为n位正数,则补码的运算规则如下(mod 2^n)

① 参与运算的是补码,运算结果仍是补码。
② 被加数与加数的补码均采用相同的位数,如果运算结果超过了模,将产生进位,则应丢弃进位才能得到正确结果。
③ 符号位与数值位一起参与运算,结果的符号位由运算结果确定。
(3)溢出

(4)溢出的判别
符号相反的数相加不会产生溢出(相消必会导致绝对值削减),但两个符号相同的数相加有可能产生溢出。
溢出的判别方法:
① 如果两个加数的符号相同,而和的符号与它们的符号不同,则运算结果是错误的,产生溢出。(在前3数值位产生进位1,需4位数值位,原本数值位0-0或1-1会变号)
② 结果的十进制数超过n位二进制数可表示的数域。
1.4 二进制代码
在数字系统中,数码不仅表示数的大小,还可以表示文字符号(包括控制符)。计数 + 编码功能
表示文字符号信息的二进制数码称为代码。以一定的规则编制代码,用以表示十进制数值、字母、符号等的过程称为编码。将代码还原成所表示的十进制数、字母、符号等的过程称为解码或译码。
若所需编码的信息有N项,则需要的二进制数码的位数n应满足如下关系:
2^n > N > 2^(n-1)
左不等式保证编码位足够表示N种信息,右不等式避免过多的空间浪费——n-1位足够编码就不用n位。
1.4.1 二-十进制码
二-十进制码就是用4位二进制数来表示1位十进制数中的0~9十个数码,即二进制编码的十进制码(binary-coded-decimal,BCD码)。
4位二进制数有16种不同的组合方式,即16种代码,根据不同的规则从中选择10种来表示十进制的10个数码——方案有很多种。表列出了几种常用的BCD码——8421BCD码、2421BCD码……

8421BCD码是最常用的一种。它由4位自然二进制数0000到1111的16种组合中前10种构成,其余6种组合是无效的。其编码中每位的值都是固定数,称为位权,从左到右的位权分别为8、4、2、1,因此称为8421BCD 码。它属于有权码。
2421码也是有权码。从左到右的位权分别为2、4、2和1。它的特点是:将任意一个,进制数N的代码各位取反,所得代码正好表示N对9的补码。例如2的代码0010各位取反所得代码1101正好是9-2=7的代码。这种特性称为自补性。具有自补特性的代码称为自补码。
5421码也是有权码,它各位的权依次为5,4,2,1。
余3码是自补码,与2421码有类似的自补性。其编码可以由8421码加3(0011)得出,所以当两个十进制数之和是10时,相应的余3二进制码之和是16。例如1和9、2和8、…,6和4。该特点便于求10的补码,补码相加结果直接就是和,可以自动产生进位信号,无需修正。余3码是无权码,它的每一位没有固定的权值。
余3循环码也是一种无权码,它的特点是具有相邻性,任意两个相邻代码之间仅有1位取值不同。十进制的余3循环码就是取4位格雷码中的十个代码组成的,可以看成是将格雷码首尾各3种状态去掉后得到的。
相邻的两个代码之间仅一位的状态不同。按余3码循环码组成计数器时,每次转换过程只有一个触发器翻转,译码时不会发生竞争-冒险现象。
BCD码转十进制:每4位BCD转1个十进制数,有权4位码可位权展开,无权码只能背映射
十进制转BCD:

1.4.2 格雷码
格雷码(Gray code)也是一种常见的无权码,与二进制码一样,可以是任意多位。表给出了4位格雷码的编码顺序。它也具有相邻性,即两个相邻代码之间仅有1位取值不同,并且0和最大数(2^n-1)之间也只有1位不同,因此它是一种循环码。

格雷码的相邻性特点使它在传输时引起的误差较小,属于可靠性编码。(数字通信 & 电子设备中常用,可以减少由于信号噪声或传输错误导致的误读)
格雷码的缺点是不能直接进行算术运算。这是因为格雷码是无权码,其每一位的权值不是固定的。

(1)格雷码的构成方法
① 1位格雷码有2个代码,0和1。
② (n+1)位格雷码有2^(n+1)组代码,其中前2^n组代码是将n位格雷码按顺序排列(相邻位只允许1位不同),最高位补0。
③ ( n+1)位格雷码的后2^n组代码是将n位格雷码按倒序排列,最高位补1。
例如,2位格雷码G1G0,前2组代码的G0从小到大依次为0、1,高位G1补0。后2组代码的G0与前2组顺序相反,从小到大依次为1、0,G1补1,如图所示。箭头表示G0前、后2组码的顺序相反。

(相邻位只运行1位不同,所以3位格雷码的2是0011,3是0010)
以此类推,更多位格雷码以反射轴划分,最高位是相反的,其余位则是对称的。
(2)格雷码与二进制码的转换
无符号二进制码——>格雷码:
① 格雷码的最高位(最左边)与二进制码的最高位相同。
② 从左到右,逐一将二进制码相邻的2位相加(舍去进位),作为格雷码的下一位。

格雷码——>无符号二进制码:
① 二进制码的最高位(最左边)与格雷码的最高位相同。
② 将产生的每一位二进制码,与下一位(右侧)相邻的格雷码相加(舍去进位),作为二进制码的下一位。

格雷码和二进制码相互转换的另一种方法是用异或表达式(参见4.2.1节)。
(3)格雷码的应用
格雷码是一种错误最小化的编码,在模数转换、汽车制动、数控机床、伺服电机、机器人等领域有广泛的应用……
1.4.3 ASCII码
计算机不仅用于处理数字,而且用于处理字母、符号等文字信息。人们通过键盘上的字母、符号和数值向计算机发送数据和指令,每一个键符可用一个二进制码来表示,美国标准信息交换码(American Standard Code for Information Interchange , ASCII)是目前国际上最通用的一种字符编码。它是用7位二进制码来表示128个十进制数、英文大小写字母、控制符、运算符以及特殊符号,如表所示。


‘1’:从31H开始
‘A’:从41H开始
‘a’:从51H开始
1.5 二值逻辑变量与基本逻辑运算
逻辑运算:当0和1表示逻辑状态时,两个二进制数码按照某种指定的因果关系进行的运算。
逻辑代数(布尔代数):逻辑运算使用的数学工具。
与普通代数一样,它由逻辑变量和逻辑运算组成。
逻辑变量:只有两个可取的值,即0和1,因而称为二值逻辑变量。这里0和1并不表示数量的大小,而是用来表示完全对立的逻辑状态。
逻辑运算:在逻辑代数中,有与、或、非三种基本的逻辑运算。众所周知,运算是―种函数关系,
逻辑运算的描述方式:语言描述、逻辑代数表达式、真值表、卡诺图、波形图、硬件描述语言(HDL)
真值表:输入逻辑变量所有取值的组合与其对应的输出逻辑函数值构成的表格,称为真值表。
用规定的逻辑符号表示的图形称为逻辑图。
(1)与运算
图示为一个简单的与逻辑电路:

与逻辑关系是:“只有当一件事的几个条件全部具备之后,这件事才发生”。(串联开关)
如果用二值逻辑0和1来表示开关和灯的状态,则可得出其真值表所示:

与运算逻辑表达式:L = A·B
式中小圆点“·”表示A、B的与运算,也称为逻辑乘。在不致引起混淆的前提下,乘号“·”被省略。
在某些文献中,也采用符号∧(逻辑与),∩(逻辑与)表示与运算。
实现与运算的逻辑电路称为与门,其逻辑符号如图1.5.1(b)和图1.5.1(c)所示。其中图(b)为特异形符号,图1.5.1(c)为矩形符号。
(注:电气和电子工程师协会( institute of electrical and electronics engineers ,简称IEEE)标准中,门电路的图形符号有两种,矩形符号和特异形符号(见附录B)。中国国家标准(CB/T 4728.12---2008)采用矩形符号。本书所用的逻辑图形符号为特异形符号)
(2)或运算
图所示为一个简单的或逻辑电路:

或逻辑关系是:“当一件事情的几个条件中只要有一个条件得到满足,这件事就会发生”。(并联开关)
用0、1表示的或逻辑真值表如表所示:

或运算逻辑表达式为:L=A+B
式中符号“+”表示A、B的或运算。在某些文献中,也采用符号V(逻辑或)、U(逻辑或)表示。
实现或运算的逻辑电路称为或门,其逻辑符号如图1.5.2( b)和图1.5.2(c)所示。
>=1:逻辑加的结果(至少一个加数为1-真)。
(3)非运算
如图所示为一个非逻辑电路:

非逻辑关系为:“非事件当且仅当原事件不发生时发生”。
若用0和1来表示得出非逻辑的真值表如表所示:

非运算逻辑表达式为:![]()
式中字母A上方的短线“-”表示非运算在某些文献中,也采用“~”“┐”或“ ´ ”表示。
在逻辑运算中,通常将A称为原变量,而将~A称为反变量或非变量。
实现非运算的电路称为非门,或称为反相器,其逻辑符号如图1.5.3(b)、( c)所示,小圆圈表示非运算。
上述逻辑运算可以推广到多变量的情况。
(4)常用复合逻辑运算
在实际逻辑运算中,除了与、或、非三种基本逻辑运算外,还经常使用它们的组合逻辑运算。
① 与非
与非运算是与运算和非运算的组合:与完之后取非。
逻辑符号和真值表分别如图1.5.4和表1.5.4所示。

逻辑表达式为:![]()
② 或非
或非运算是或运算和非运算的组合:或完之后取非。
逻辑符号和真值表分别如图1.5.5和表1.5.5所示。

逻辑表达式为:![]()
③ 异或
异或的逻辑关系为:当两个输入状态相同(两种情况)时,输出为0,;当两个输入状态不同(两种情况)时,输出为1。
逻辑符号和真值表分别如图1.5.6和表1.5.6所示。

=1:两个加数至多1个为1。
逻辑表达式为:![]()
④ 同或
异或的逻辑关系为:当两个输入状态相同(两种情况)时,输出为1;当两个输入状态不同(两种情况)时,输出为0。
逻辑符号(对异或取非)和真值表分别如图1.5.7和表1.5.7所示。

逻辑表达式为:![]()
1.6 逻辑函数及其表示方法
从上一节介绍的逻辑运算中可以知道逻辑变量分为两种:输入逻辑变量 & 输出逻辑变量。
描述输入逻辑变量、输出逻辑变量之间的因果关系成为逻辑函数。
由于逻辑变量是只取0/1的二值逻辑变量,因此逻辑函数也是二值逻辑函数。
1.6.1 逻辑函数的几种表示方法
(1)真值表
L = f(A, B, C……),由N个二值逻辑变量决定的逻辑变量L,列出N个逻辑变量的2^N种组合,并在每种组合后面给出L的取值,即逻辑取值组合,绘成表格。

(2)逻辑函数表达式
逻辑函数表达式是用与、或、非等逻辑运算组合起来,表示逻辑函数与逻辑变量之间关系的逻辑代数式(简称逻辑表达式)。

根据真值表写逻辑表达式的方法:
① 输入变量之间是与的关系,而输出状态之间的组合则是或的关系。
② 对于变量A、B或输出L,凡取1值的用原变量表示,取0值用反变量表示。
(3)逻辑图
用与、或、非等逻辑符号组合表示逻辑函数中各变量之间的逻辑关系所得到的图形称为逻辑图。
(可化简)

(4)波形图
对输入变量随时间变化的每一种取值,求出相应的输出值。并将输入和输出关系按时间顺序依次排列得到的图形,称为波形图。

1.6.2 逻辑函数表示方法之间的转换
逻辑函数的表示方法归纳起来有六种:真值表、逻辑函数表达式、逻辑图、波形图、卡诺图和HDL(Hardware Description Language,硬件描述语言)。(卡诺图及HDL表示方法将在第2章介绍。)
同一逻辑问题可以用六种不同方法描述。因此,这些方法本质是相通的,可以相互转换。这里只介绍真值表与逻辑表达式及逻辑图之间的转换。
(1)真值表到逻辑图的转换
通常从给定的真值表不能直接得到逻辑图。
首先根据真值表写出逻辑表达式——>然后依照逻辑表达式画出逻辑图。
转换步骤:
① 根据真值表写出逻辑表达式。
② 用公式法或卡诺图法化简得到简化的逻辑表达式。
③ 根据逻辑表达式,将运算符号用逻辑符号代替,按逻辑运算先后次序连接起来,画出逻辑图。
(2)逻辑图到真值表的转换
从逻辑图不能直接得到真值表,转换步骤如下:
① 从逻辑图的输入端到输出端,逐级写出每个逻辑符号输出端的表达式,直到写出最后的输出变量的逻辑表达式。
② 化简变换,求简化的逻辑表达式。
③ 将输入变量可能的取值逐个代人表达式进行计算,并将结果列表,即得真值表。
更多推荐



所有评论(0)