数字逻辑与数字系统兰建平电气与信息工程学院TEL:633136E-Mail:ljp_1984@126.com主要内容1、开关理论2、组合逻辑3、时序逻辑4、存储逻辑5、可编程逻辑辅助工具:1、EWB——ElectronicsWorkbench电子设计工作平台或虚拟电子实验室。2、MAXPLUSII,QUARTUSII,ISE——EDA设计工具。6、数字系统原理工具课时安排总学时(64学时)=理论教学(46学时)+实验教学(18学时)理论教学1、开关理论基础——6学时2、组合逻辑——8学时3、时序逻辑——10学时4、存储逻辑——6学时5、可编程逻辑——12学时6、数字系统——4学时实验教学(3学时×6=18学时)学习过程中应注意的问题数字电子部分逻辑代数是分析和设计数字电路的重要工具,应熟练掌握;重点掌握各种常用的数字逻辑电路的逻辑功能、外部特性及典型应用。对其内部电路结构和工作原理不必过于深究;掌握基本的分析方法;VHDL编程部分VHDL是一门高级语言;强数据类型、数据对象;基本语句:顺序语句、并行语句用软件来设计硬件。本课程的实践性很强,应注重习题、练习、实验和课程设计等实践性环节参考教材白中英.数字逻辑与数字系统(第五版).科学出版社白中英.数字逻辑与数字系统解题指南(第四版).科学出版社沈建国.数字逻辑与数字系统基础.高等教育出版社王永军.数字逻辑与数字系统设计.高等教育出版社马义忠.数字逻辑与数字系统.高等教育出版社第1章开关理论基础1.1二进制系统1.2数制与码制1.3逻辑函数及其描述工具1.4布尔代数1.5卡诺图1.6数字集成电路本章要求掌握各进制之间的相互转换,掌握BCD码的基本概念,了解循环码的概念。掌握基本逻辑函数及布尔代数的基本表达,逻辑函数的基本定律和基本运算规律,逻辑代数的各种表达方法;利用逻辑函数和卡诺图对函数化简的方法。1.1二进制系统1.1.1连续量和离散量1、连续量:通常称作模拟量:连续性。如大多数物理量,如温度、压力、流量、液面等。1.1二进制系统2、离散量:又称数字量:离散性,按时间点采样。数字量具有精度高、传输高效、易存储、易处理等优点。1.1二进制系统1.1.2开关量1、开关量的定义二进制系统指可用高电平和低电平两种状态表示的系统。二状态系统(二进制系统)的两个数字状态1和0称为开关量,亦称比特。2、码的定义数字状态1和0的组合称为码。用于表示数字1和0的电平称为逻辑电平。1.1二进制系统数字电路的逻辑电平范围TTL电路逻辑0:0~0.8V逻辑1:2~5VCMOS电路逻辑0:0~0.8V逻辑1:2~3.3V1.1二进制系统1.1.3数字波形1、理想的脉冲波形01上升沿下降沿正脉冲01下降沿上升沿负脉冲1.1二进制系统2、非理想状态下的脉冲波形脉冲宽度tw脉冲幅度90%50%10%上升沿下降沿非线性部分1.2数值与码制数制:是指多位数码中每一位的构成方法及低位向相邻高位的进位规则。基数:每种进位计数制中允许使用的数码总数。1.2.1进位计数制1、十进制计数制由0、1…9十个数码组成,进位规则是逢十进一,计数基数为10,其按权展开式例如:10510210110710225127.-3-2-1011010ikDi1.2.1进位计数制2、二进制计数制由0、1两个数码组成,进位规则是逢二进一,计数基数为2,其按权展开式为:例如:3、八进制计数制由0、1…7八个数码组成,进位规则是逢八进一,计数基数为8,其按权展开式为:例如:2ikiD2120202121202121001.110113--2-10123428ikiD8183831.33-10181.2.1进位计数制4、十六进制计数制由0、1…9、A、B…F十六个数码组成,进位规则是逢十六进一,计数基数为16,其按权展开式为:例如:61ikiD16216B1612.1B-101161.2.2进位计数制的相互转换1、二进制转换成十进制的方法:将二进制数按权展开后,按十进制数相加。例如:2、八进制转换成十进制的方法:将八进制数按权展开后,按十进制数相加。例如:3、十六进制转换成十进制的方法:将十六进制数按权展开后,按十进制数相加。例如:25127.2120202121202121001.11011103--2-101234211987668116710012825127.16216B1612.1B10-101161.2.2进位计数制的相互转换4、十进制转换成二进制的方法:整数部分除以2,取余数,读数顺序从下往上;小数部分乘以2,取整数,读数顺序从上至下。例如:001.1101125127.2101.2.2进位计数制的相互转换5、八进制转换成二进制的方法:以小数点为分界,将每位八进制数分别用相应的三位二进制数取代。例如:6、十六进制转换成二进制的方法:以小数点为分界,将每位十六进制数分别用相应的四位二进制数取代。例如:001.0110111.33280010.101100012.B12161.2.2进位计数制的相互转换7、十进制转换成八进制的方法:整数部分除以8,取余数,读数顺序从下往上;小数部分乘以8,取整数,读数顺序从上至下。例如:1.3327.1258101.2.2进位计数制的相互转换8、十进制转换成十六进制的方法:整数部分除以16,取余数,读数顺序从下往上;小数部分乘以16,取整数,读数顺序从上至下。例如:9、二进制转换成十六进制的方法:以小数点为分界,整数部分向左、小数部分向右,每4位为一位,不足4位的补0,然后将每个四位二进制数都用相应的一位十六进制数取代。例如:1B.225127.16102.B10010.101100011621.2.3二进制编码1、三个术语数码:代表一个确切的数字,如二进制数,八进制数等。代码:特定的二进制数码组,是不同信号的代号,不一定有数的意义。编码:n位二进制数可以组合成2n个不同的信息,给每个信息规定一个具体码组,这种过程叫编码。数字系统中常用的编码有两类,一类是二进制编码,另一类是二—十进制编码。1.2.3二进制编码2、二进制编码自然码:有权码,每位代码都有固定权值,结构形式与二进制数完全相同。循环码:无权码,每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同(码距为1)。循环码又叫单位距离码1.2.3二进制编码两种4位二进制编码十进制数自然二进制码循环二进制码十进制数自然二进制码循环二进制码0000000008100011001000100019100111012001000111010101111300110010111011111040100011012110010105010101111311011011601100101141110100170111010015111110001.2.3二进制编码3、二-十进制码BCD码:用二进制代码对十进制数进行编码,它既具有二进制码的形式(四位二进制码),又有十进制数的特点(每四位二进制码是一位十进制数)。常用BCD码有:8421码:编码值与ASCII码字符0到9的的低4位码相同,易于实现人机联系。余3码:是在8421码的基础上,把每个代码都加0011码而形成的。优点是执行十进制数相加时,能正确地产生进位信号,还方便进行减法运算。格雷码:循环码中的一种,任何两个相邻的代码只有一个二进制位的状态不同,有利于抗干扰。1.2.3二进制编码常用BCD码十进制数8421码余3码格雷码00000001100001000101000001200100101001130011011000104010001110110501011000111060110100110107011110101000810001011110091001110011011.3逻辑函数及其描述工具1.3.1逻辑函数的基本概念1、数字电路的特点数字电路是一种开关电路。开关的两种状态为“开通”与“关断”,常用晶体管的“导通”与“截止”来实现,并用“0”与“1”来表示;数字电路的输入量和输出量的高低电平也可以用0”与“1”来表示;输入量和输出量之间的关系是一种因果关系,它可以用逻辑函数来描述。1.3.1逻辑函数的基本概念2、逻辑函数的定义设输入逻辑变量为A1,A2,…,An,输出逻辑变量为F,当A1,A2,…,An的取值确定后,F的值就被唯一的确定下来,则称F是A1,A2,…,An的逻辑函数,记为),,,(21nAAAfF注意:逻辑变量和逻辑函数的取值只可能是0或1,没有其他中间值。1.3.2逻辑函数的描述工具逻辑函数的描述工具很多,但常用的方法如下:布尔代数法:按一定逻辑规律进行运算的代数。与普通代数不同,布尔代数中的变量是二元值的逻辑变量。真值表法:采用一种表格来表示逻辑函数的运算关系,其中输入部分列出输入逻辑变量的所有可能组合,输出部分给出相应的输出逻辑变量值。逻辑图法:采用规定的图形符号,来构成逻辑函数运算关系的网络图形。1.3.2逻辑函数的描述工具卡诺图法:卡诺图是一种几何图形,可以用来表示和简化逻辑函数表达式。波形图法:一种表示输入输出变量动态变化的图形,反映了函数值随时间变化的规律。硬件设计语言法:是采用计算机高级语言来描述逻辑函数并进行逻辑设计的一种方法,它应用于可编程逻辑器件中。目前采用最广泛的硬件设计语言有VHDL、Verilog等。1.3.3基本逻辑运算1、与运算(逻辑乘)以三变量为例,布尔表达式为F=ABC此式说明:当逻辑变量A、B、C同时为1时,逻辑函数输出F才为1。其他情况下,F均为0。工程应用中与运算用与门电路来实现。逻辑符号如下所示:1.3.3基本逻辑运算与运算真值表如下ABCF000011110011001101010101000000011.3.3基本逻辑运算与运算波形图如下:VHDL描述:F=AandBandC1.3.3基本逻辑运算2、或运算以三变量为例,布尔代数表达式为:F=A+B+C此式说明:当逻辑变量A、B、C中任何一个为1时,逻辑函数F输出等于1。工程应用中,或运算用或门电路来实现。逻辑符符号如下所示:1.3.3基本逻辑运算或运算真值表如下ABCF000011110011001101010101011111111.3.3基本逻辑运算或运算波形图如下:VHDL描述:F=AorBorC1.3.3基本逻辑运算3、非运算布尔代数表达式为:此式说明:输出变量是输入变量的相反状态。工程应用中,非运算用非门电路(反相器)来实现。逻辑符号和真值表如下:VHDL描述:F=notAAFAF0110AF1.3.3基本逻辑运算4、与非、或非运算与非运算是先与运算后非运算的组合。或非运算是先或运算后非运算的组合。ABFABF000110111110真值表BAFABF000110111000真值表F=not(AandB)F=not(AorB)1.3.3基本逻辑运算5、异或、同或运算异或运算:同或运算BABABAYABF000110110110真值表F=AxorBF=not(AxorB)ABF000110111001真值表BABAABY⊙BABA⊙1.3.3基本逻辑运算6、与或非运算:是“先与后或再非”三种运算的组合。CDABYF=not(AandBorCandD)1.3.3基本逻辑运算基本运算1.3.3基本逻辑运算复合运算1.3.3基本逻辑运算两种标准a1.3.4正逻辑、负逻辑、三态门正逻辑:把门电路的输