关于我们
![]() ![]() |
数字电路逻辑设计
本书结合应用型人才培养目标和教学特点, 将传统数字技术与现代自动化数字技术的基础知识和工程理论有机融合, 突破传统教学模式的局限, 将目标定位于使学生在数字电子技术的基础理论、实践能力和创新精神三方面有明显的进步。引导学生基于全新的数字技术平台上强化自己的学习效果, 得以高起点地适应相关后续课程的要求。
本书第1版为普通高等教育“十一五”国家级规划教材,2007年被评为江苏省高等学校精品教材,第2版为“十二五”普通高等教育本科国家级规划教材。本书在第1、2版的基础上,按照教育部电子电气基础课程教学指导委员会修订的课程教学基本要求修订而成。本次修订使内容更加先进,结构更为合理,特色更加鲜明,是高等院校电气信息类、机电类、仪器仪表类各专业数字电子技术基础课程的难得的好教材,而且可作为从事电子技术工作的工程技术人员的参考书。
将传统数字技术与自动化设计技术有机融合。本教材以数字电子技术的基本理论和基本技能为引导,以EDA平台和硬件描述语言为设计手段,将数字电子技术课程和EDA技术课程深度融合,建立传统数字电子技术设计和现代设计方法设计相结合的新课程体系。 保持知识结构的合理性、突显教材的新颖性。本教材以注重基本概念、基本单元电路、基本方法和典型电路为出发点,保证了数字电路知识点的完整性和合理性,同时教材中安排了许多针对性强的应用实例和自主创新型综合实践项目,体现了教材的新颖性。 有利于与后续课程形成良好对接。本教材在构建时兼顾了与后续课程的衔接,包括基本知识的衔接、设计项目的可延伸性以及对创新能力培养,尽可能为后续课程营建良好的接口。
前言Foreword本书第1版为国家普通高等教育“十一五”规划教材,2007年被评为江苏省高等学校精品教材,本书第2版为“十二五”普通高等教育本科国家级规划教材。本书列入“十二五”江苏省高等学校重点教材,编号:20141121。
本书在前两版的基础上,针对传统教材和教学中存在的问题,按照教育部电子电气基础课程教学指导委员会修订的课程教学基本要求,总结提高、修改增删而成。第3版教材在编写时突出了以下特点: 1.将传统数字技术与现代数字技术有机融合 本教材以数字电子基本理论和基本技能为引导,以EDA平台和硬件描述语言为设计手段,将数字电子技术课程和EDA技术课程深度融合,建立传统数字电子技术设计和现代数字电子设计方法相结合的新课程体系。 2.保持知识结构的合理性和新颖性 本教材以注重基本概念、基本单元电路、基本方法和典型电路为出发点,保证了数字电路知识点的完整性和合理性,同时教材中安排了许多针对性强的应用实例和自主创新型综合实践项目,体现了教材的新颖性。 3.有利于与后续课程构成创新能力教学课程体系 本教材在构建时兼顾了与后续课程的衔接,包括基本知识的衔接、设计项目的可延伸性以及对创新能力培养的铺垫等,尽可能为后续课程创建良好的接口,由此可将数字电路、单片机技术、EDA技术、SoC、嵌入式系统等具有较大相关性的课程构建一个创新课程系列有机体。这可以优化相关专业的课程设置,让学生提前进入理论与工程实践相结合的高效学习和训练阶段,提前激发创造欲望,提前具备进入自主设计性空间的能力,提前为未来的学习和实践打开充裕的时间空间、自主学习空间和就业准备空间。4.注重创新能力的培养 本教材通过教材的启迪和教材中大量的有创意启发性的项目的训练,能动地激发创新意识,培养自主创新能力,从而使学生在数字电子技术的基本理论、实践能力和创新精神3方面能得到同步收获,有能力提早进入大学生课外科技活动。本教材以数字电路传统技术的介绍为基础,以自动化设计技术的学习为能力培养的手段,注重现代数字技术基本知识、理论和方法的介绍,注重工程能力、分析能力和实践能力的培养,全书构建了从介绍基础知识向创新能力培养逐级递进的学习和实践的阶梯。 参加本书第3版编写工作的有吴志敏(第1、2章)、梁向红(第3、4章)、陆贵荣(第5、6、7章)、朱正伟(第8章)、何宝祥(第9章)、储开斌(第10章),朱正伟负责全书的策划、组织和定稿。 作者虽然力求完美,但由于水平有限,错误和疏漏之处难免,恳请关心本教材的师生和其他读者不吝指正。 编者2017年4月◆数字电路逻辑设计(第3版)
目录Contents第1章数字电路基础1
1.1数字电路概述1 1.1.1模拟信号和数字信号1 1.1.2数字电路及其分类3 1.1.3数字电路的特点4 1.1.4数字电路的分析、设计与测试5 1.2数制6 1.2.1常用计数制6 1.2.2数制转换8 1.3码制10 1.3.1二十进制编码10 1.3.2可靠性代码11 1.3.3字符编码12 1.4二进制数的表示方法及算术运算13 1.4.1二进制数的表示方法13 1.4.2二进制数的算术运算15 1.5逻辑代数的运算16 1.5.1逻辑变量与逻辑函数16 1.5.2三种基本逻辑运算17 1.5.3复合逻辑运算19 1.6逻辑代数的基本定律和基本运算规则20 1.6.1逻辑代数的基本定律20 1.6.2逻辑代数的基本运算规则21 1.7逻辑函数的表示方法及标准形式22 1.7.1逻辑函数的表示方法22 1.7.2逻辑函数的两种标准形式24◆数字电路逻辑设计(第3版)目录1.8逻辑函数的化简27 1.8.1公式化简法27 1.8.2卡诺图化简法29 1.8.3具有无关项的逻辑函数及其化简34 习题136 第2章逻辑门电路39 2.1TTL集成门电路39 2.1.1TTL与非门结构与工作原理39 2.1.2TTL门的技术参数40 2.1.3TTL数字集成电路系列简介43 2.1.4其他类型的TTL门45 2.2其他类型的双极型集成电路48 2.2.1ECL电路49 2.2.2I2L电路49 2.3MOS集成门电路50 2.3.1MOS管的结构与工作原理50 2.3.2MOS反相器51 2.3.3其他类型的MOS门电路52 2.3.4CMOS逻辑门的技术参数54 2.3.5CMOS数字集成电路系列简介55 2.4集成门电路的使用56 2.4.1TTL门电路的使用56 2.4.2CMOS门电路的使用57 2.4.3门电路的接口技术58 习题259 第3章组合逻辑电路62 3.1传统的组合逻辑电路的分析与设计62 3.1.1传统的组合电路分析62 3.1.2传统的组合电路设计66 3.2编码器与译码器70 3.2.1编码器70 3.2.2译码器72 3.3数据选择器和数据分配器78 3.3.1数据选择器的功能及工作原理78 3.3.2常用集成数据选择器及其应用79 3.3.3数据分配器81 3.4数值比较器84 3.4.1数值比较器的工作原理84 3.4.2集成数值比较器86 3.5算术运算电路87 3.5.1加法运算电路87 3.5.2减法运算电路89 3.6可编程逻辑器件90 3.6.1可编程逻辑器件概述90 3.6.2可编程器件的结构及工作原理92 3.6.3可编程逻辑器件的产品及开发94 3.6.4复杂可编程逻辑器件CPLD97 3.6.5现场可编程门阵列FPGA101 3.7组合逻辑电路竞争与冒险106 3.7.1竞争冒险及产生原因106 3.7.2竞争冒险的判断方法107 3.7.3消除竞争冒险的方法108 习题3109 第4章组合逻辑电路的自动化设计114 4.1数字电路自动化设计与分析流程114 4.1.1传统数字电路设计中存在的问题114 4.1.2QuartusⅡ简介115 4.1.3自动化设计流程116 4.2原理图输入法组合逻辑电路设计119 4.2.1编辑输入图形文件119 4.2.2功能简要分析123 4.2.3编译工程124 4.2.4时序仿真测试电路功能127 4.2.5引脚锁定和编程下载130 4.3Verilog HDL语言输入法组合逻辑电路设计135 4.3.1Verilog HDL语法简介135 4.3.2用Verilog进行组合电路的设计137 4.3.3三人表决电路的语句表达方式140 4.3.4Verilog的其他表达方式141 4.3.54位串行加法器综合设计143 习题4146 第5章触发器148 5.1基本RS触发器148 5.1.1电路结构148 5.1.2工作原理148 5.1.3逻辑功能及其描述149 5.2同步RS触发器151 5.2.1电路结构151 5.2.2工作原理151 5.2.3逻辑功能及其描述151 5.2.4同步触发器的空翻现象153 5.3主从触发器153 5.3.1主从RS触发器153 5.3.2主从JK触发器154 5.4边沿触发器156 5.5触发器功能的转换158 5.6集成触发器162 5.6.1集成触发器举例162 5.6.2集成触发器的脉冲工作特性163 5.7触发器的应用165 习题5167 第6章时序逻辑电路171 6.1时序逻辑电路概述171 6.1.1时序逻辑电路的结构及特点171 6.1.2时序逻辑电路的分类172 6.2时序逻辑电路的分析172 6.2.1时序逻辑电路一般分析步骤172 6.2.2同步时序逻辑电路分析172 6.2.3异步时序逻辑电路分析175 6.3时序逻辑电路的设计177 6.3.1同步时序逻辑电路的设计177 6.3.2异步时序逻辑电路的设计180 6.4计数器182 6.4.1二进制计数器182 6.4.2非二进制计数器188 6.4.3集成计数器的应用192 6.5寄存器201 6.5.1数码寄存器201 6.5.2移位寄存器201 6.5.3集成移位寄存器及其应用203 习题6207 第7章时序电路的自动化设计与分析212 7.1深入了解时序逻辑电路性能212 7.1.1基于74LS161宏模块的计数器设计212 7.1.2进位控制电路改进214 7.1.3通过控制同步加载构建计数器215 7.1.4利用预置数据控制计数器进位216 7.2计数器的自动化设计方案218 7.2.1基于一般模型的十进制计数器设计218 7.2.2含自启动电路的十进制计数器设计219 7.2.3任意进制异步控制型计数器设计220 7.2.44位同步自动预置型计数器设计221 7.2.5基于LPM宏模块的计数器设计223 7.3有限状态机设计与应用226 7.3.1有限状态机概述226 7.3.2步进电机控制电路设计227 7.3.3温度控制电路设计231 习题7233 第8章半导体存储器及其应用235 8.1概述235 8.1.1存储器的分类235 8.1.2半导体存储器的技术指标236 8.2随机存取存储器237 8.2.1RAM的分类及其结构237 8.2.2静态存储单元239 8.2.3动态存储单元240 8.2.4RAM的操作与定时240 8.2.5存储器容量扩展242 8.3只读存储器244 8.3.1ROM的分类与结构244 8.3.2掩膜ROM244 8.3.3可编程PROM245 8.3.4其他类型存储器246 8.3.5ROM存储器的应用247 8.4常用存储器集成芯片简介248 8.4.16116型RAM器简介249 8.4.22764型EPROM简介249 8.5存储器应用电路设计250 8.5.1多通道数字信号采集电路设计250 8.5.2DDS信号发生器设计254 习题8259 第9章脉冲波形的产生与变换261 9.1集成555定时器261 9.1.1电路组成及工作原理261 9.1.2555定时器的功能262 9.2施密特触发器264 9.2.1由门电路组成的施密特触发器264 9.2.2集成施密特触发器265 9.2.3由555定时器组成的施密特触发器266 9.2.4施密特触发器的应用267 9.3单稳态触发器268 9.3.1集成单稳态触发器269 9.3.2由555定时器组成的单稳态触发器272 9.3.3单稳态触发器的用途273 9.4多谐振荡器274 9.4.1由门电路构成多谐振荡器275 9.4.2石英晶体振荡器276 9.4.3用施密特触发器构成多谐振荡器276 9.4.4由555定时器构成多谐振荡器277 9.5综合应用电路278 习题9279 第10章D/A与A/D转换器及其应用282 10.1概述282 10.2D/A转换器283 10.2.1权电阻网络D/A转换器284 10.2.2倒T型电阻网络D/A转换器285 10.2.3权电流型D/A转换器286 10.2.4D/A转换器的主要技术指标287 10.2.5D/A转换器集成芯片及选择要点288 10.2.6集成DAC器件290 10.3A/D转换器291 10.3.1A/D转换器的工作原理291 10.3.2并行比较型A/D转换器293 10.3.3逐次比较型A/D转换器295 10.3.4双积分型转换器297 10.3.5A/D转换器的主要技术指标299 10.3.6A/D转换器集成芯片及选择要点300 10.3.7集成ADC器件302 10.4D/A与D/A的典型应用电路304 10.4.1D/A的典型应用电路304 10.4.2A/D的典型应用电路306 习题10308 参考文献311
第3章chapter3
组合逻辑电路1.1微型计算机简介引言数字系统中常用的逻辑电路,就其结构和工作原理可分为两类:一类叫组合逻辑电路,简称组合电路;图3.1组合逻辑电路 一类叫时序逻辑电路,简称时序电路。组合逻辑电路的基本组成单元是逻辑门电路。这种电路在任一时刻输出状态只取决于该时刻的输入状态,而与输入信号作用前电路所处的状态无关;在时序逻辑电路中,任意时刻的输出状态不仅取决于该时刻的输入状态,而且取决于从前电路的状态。本章讨论组合逻辑电路,组合电路的一般结构可用方框图3.1表示,其输出与输入之间的逻辑关系是:Z1=f1(X1,X2,…,Xn),Z2=f2(X1,X2,…,Xn),…,Zm=fm(X1,X2,…,Xn) 从电路结构看,它具有如下特征: (1)信号是单向传输的,输出输入之间没有反馈通道; (2)只由逻辑门组成,电路中不含记忆单元。 组合电路可以单独完成各种复杂的逻辑功能,而且还是时序逻辑电路的组成部分,在数字系统中应用十分广泛。本章首先介绍小规模组合逻辑电路的分析与设计方法,然后讨论典型的中规模集成组合逻辑电路的功能和应用,最后阐述竞争冒险产生的原因及消除方法。 3.1传统的组合逻辑电路的分析与设计 小规模集成(SSI)电路中的门,如与门、或门、与非门、或非门、与或非门、异或门等都是独立的。本节主要介绍以这些门电路为基本组成单元的组合电路的分析与设计。 3.1.1传统的组合电路分析 所谓组合电路的分析,是指已知逻辑电路,寻找输出与输入之间逻辑关系,确定电路功能的过程。其步骤大致如下: (1)由给定的逻辑图写出所有用来描述输出输入关系的逻辑表达式; (2)将已得到的逻辑函数表达式简化成最简与或表达式,或视具体情况变换成其他适当的形式; (3)根据逻辑函数表达式列真值表; (4)根据真值表,进行分析并概括出给定组合逻辑电路的逻辑功能。 例3.1分析图3.2所示电路的功能。 图3.2例3.1逻辑电路和符号 解:(1)写出逻辑表达式。 D=AB,E=AD,F=DB,S=EF (2)化简逻辑表达式。 S=AD·DB=AD+DB=AAB+ABB=AB ◆数字电路逻辑设计(第3版)第◆3章组合逻辑电路(3)列真值表,如表3.1所示。表3.1例3.1真值表输入输出ABS000011101110(4)对真值表中的数值进行分析可以看出,该电路完成了逻辑上的异或运算,异或逻辑符号见图3.2(b),它同时还可以实现二进制运算。 例3.2分析图3.3(a)所示电路的功能。 图3.3例3.2图解:(1)写出逻辑表达式。 S=AAB·BAB C=AB (2)化简逻辑表达式。 S=B+A C=AB (3)列真值表,如表3.2所示。表3.2例3.2真值表输入输出ABSC0000011010101101(4)根据图3.3和表3.2分析,可以将此电路看成是一个异或门(输出S:同例3.1)和一个与门(输出C)的合成,若A、B分别作为一位二进制数,则S就是A与B相加和的本位,C就是A与B相加和的进位。这种电路被称为半加器,图3.3(b)为它的逻辑符号,其特点是不考虑从低位的进位。若要考虑从低位来的进位,则电路可以将半加器作为单元电路经过一定的组合设计得到。 在分析复杂一些的组合逻辑电路时,除了上述按照逻辑门逐级分析的办法外,还可以将电路进行模块划分。若熟悉一些重要的基本单元电路(如例3.2的半加器),则可以直接从单元电路入手,分析单元电路在新建电路中的作用,最终得出复杂电路的逻辑功能。 例3.3分析图3.4(a)所示电路的功能。 图3.4例3.3电路图 如图3.4(a)所示,其中,Ai、Bi和Ci-1分别表示加数、被加数和从低位的进位,Si和Ci分别表示和的本位和进位。这样一个包括低位来的进位输入在内的二进制加法电路,称之为全加器,逻辑符号如图3.4(b)所示。全加器的真值表如表3.3所示。表3.3例3.3真值表输入输出输入输出AiBiCi-1SiCiAiBiCi-1SiCi0000000110010100110110010101011100111111(1)用两个半加器(虚线框)和一个或门实现了全加器:先求两个加数的半加和,再与低位的进位作第二次半加,所得结果即全加器的和。 (2)两个半加器的进位作逻辑加,即得全加器的进位。 例3.4分析图3.5所示电路的功能。 图3.5例3.4图 解:由图3.5写出逻辑表达式F=(10)D0+(1A0)D1+(A10)D2+(A1A0)D3根据表达式列出真值表,如表3.4所示。由表可以看出,当A1A0赋予不同的代码值时,输出F将获取相应的输入Di(i=0,1,2,3)。故电路相当于一个四路选择开关,对输入具有选择并输出的功能。 表3.4例3.4真值表输入输出A1A0F00D001D110D211D3由以上例题可以看出,在组合电路的分析过程中,写出逻辑表达式、列出真值表并不难,而由真值表说明电路的功能对初学者来讲就比较难,它需要一定的知识积累。 3.1.2传统的组合电路设计 所谓组合电路的设计,是指根据所要求实现的逻辑功能,设计出相应的逻辑电路的过程,在某些场合组合电路的设计也被称为逻辑综合。设计通常以电路简单、所用器件最少为目标。用代数法和卡诺图法化简逻辑函数,就是为了获得最简的形式,以便能用最少的门电路来组成逻辑电路。 组合电路的设计步骤大致如下: (1)根据命题,分析输出输入关系,列出真值表; (2)由真值表,写出有关逻辑表达式或画卡诺图; (3)运用卡诺图或其他化简方法化简输出逻辑,注意化简的结果必须符合原来问题的要求,如:逻辑门类型的限制,输入端是否允许出现反变量等; (4)根据输出逻辑表达式,画出逻辑电路图。 在进行组合逻辑电路的设计时,可以用多种逻辑电路实现同一逻辑函数。例如用逻辑电路来实现逻辑函数F=A·AB+B·AB。 (1)直接用与非门、与门、或非门实现,参见图3.6(a)。 图3.6逻辑函数的代数变换 (2)逻辑代数变换后,用与非门实现F=ABA+B=AB··参见图3.6(b)。 (3)代数变换后,用同或门实现F=A++B+=A+B=+AB参见图3.6(c)。 结论:以上均为同或门的逻辑电路和表达式,可见,一个逻辑问题对应的真值表是唯一的,但实现它的逻辑电路是多样的,可根据不同器件,通过逻辑表达式的变换来实现。 例3.5试设计一个3人多数表决电路。 解:(1)设3人A、B、C为输入,同意为1,不同意为0;表决结果F为输出,F始终同输入的大多数状态一致,即输入A、B、C之中有2个或3个为1时,输出为1;其余情况,输出为0。由此可列真值表,如表3.5所示。表3.5例3.5真值表输入输出ABCF00000010010001111000101111011111(2)画出卡诺图如图3.7所示。 图3.7卡诺图 (3)卡诺图化简(也可先写出逻辑表达式,再根据逻辑代数运算法则化简)得最简与或表达式F=AB+BC+AC(4)得出相应的逻辑图如图3.8(a)所示。若要求用与非门实现,则还需将上述表达式变换成如下形式F=AB·BC·AC再画出相应的逻辑图,如图3.8(b)所示。读者可进一步思考,若全部用两输入端与非门,怎么办? 图3.83人表决器 例3.6试用两输入与非门和反相器设计一个四舍五入的逻辑电路。用以判别一位8421码是否大于等于5,大于等于5时,电路输出为1,否则为0。 解:(1)根据题意列真值表。 假设输入的8421码用A、B、C、D表示,输出用F表示,则可得真值表如表3.6所示。当ABCD=0000~0100时,F=0;当ABCD=0101~1001时,F=1;需要说明的是:输入ABCD不可能取值1010~1111,这在逻辑电路设计中被称为约束条件,既然这些输入组合不会出现,也就不必要求对应的输出是什么,或者说输出可以是1,也可以是0,所以称其为任意项或无关项,一般在表达式中用d(真值表中用×)表示。表3.6例3.6真值表输入输出输入输出ABCDFABCDF00000100010001010011001001010×001101011×010001100×010111101×011011110×011111111×(2)求最简与或表达式。 根据表3.6中最后6个最小项作无关项处理,可以写出函数的最小项表达式F=∑(m5,m6,m7,m8,m9)+∑d(m10,m11,m12,m13,m14,m15)直接填入卡诺图,如图3.9所示。由此可得最简与或表达式F=A+BC+BD(3)若要求用两输入与非门和反相器实现,则还需将上述表达式变换成如下形式F=A+BC+BD=·BC·BD=·BC·BD=·BC+BD=·BC·BD(4)画出逻辑图,如图3.10所示。 图3.9例3.6卡诺图图3.10例3.6逻辑图从以上例题可以看出,由命题列出真值表是电路设计的关键。而逻辑表达式的不同形式决定了逻辑电路的结构组成,所以要得到一个符合实际要求的逻辑电路,逻辑表达式的化简和变换同样非常重要。 例3.7试用两输入与非门和反相器设计一个优先排队电路。火车有高铁、动车和普通客车。它们进出站的优先次序是:高铁、动车和普通客车,同一时刻只能有一列车进出。 解:(1)由题意进行逻辑抽象。火车用输入变量高铁A、动车B、普通客车C,输出信号为FA、FB、FC,当高铁A=1时,无论动车B、普通客车C为何值,FA=1,FB=FC=0;当动车B=1,且A=0时,无论C为何值,FB=1,FA=FC=0;当普通客车C=1,且A=B=0时,FC=1,FA=FB=0。 (2)经过逻辑抽象,可列真值表,如表3.7所示。表3.7例3.7真值表输入输出ABCFAFBFC0000001XX10001X010001001(3)写出逻辑表达式。FA=A,FB=B,FC=C根据题意,变换成与非形式FA=A,FB=B,FC=C=·C(4)画出逻辑电路图,如图3.11所示。 图3.11例3.7逻辑图 该逻辑电路可用一片内含4个两输入端的与非门74LS00和另一片内含6个反相器74LS04的集成电路组成,也可用两片内含4个两输入端的与非门74LS00的集成电路组成。注意:原逻辑表达式虽然是最简形式,但它需要一片反相器和一片三输入端的与门才能实现,器件数和种类都不能节省。由此可见最简的逻辑表达式用一定规格的集成器件实现时,其电路结构不一定是最简单和经济的。设计逻辑电路时应以集成器件为基本单元,而不应以单个门为单元,这是工程设计与理论分析的不同之处。 3.2编码器与译码器〖4/5〗3.2.1编码器所谓编码,即将某一信息(输入)变换为某一特定的代码(输出),如把二进制码按一定规律编排,使每组代码都具有各自特定的含义。常见的编码器是将m个输入状态信息变换成一个n位二进制码,其中m、n满足2n≥m,例如m=8,n=3,就称8线3线编码器。编码器通常分为普通编码器和优先编码器两种,以下分别以4线2线编码器和74LS148为例予以介绍。 1.普通编码器 普通编码器的特点是只允许在一个输入端加有效信号,否则输出将会出现混乱。 普通4线2线编码器真值表如表3.8(a)所示。表3.84线2线编码器真值表 (a)普通4线2线编码器真值表输入输出I0I1I2I3Y1Y0100000010001001010000111(b)加控制端的普通4线2线编码器真值表输入输出状态指示I0I1I2I3Y1Y0YS0000××01000001010001100101010001111编码器的输入为高电平有效。由真值表可得输出编码的逻辑表达式为Y1=0·1·I2·3+0·1·2·I3 Y0=0·I1·2·3+0·1·2·I3该电路存在的问题是当所有的输入都为0时,电路的输出为Y1Y0=00,和真值表中第一行的编码一样,无法区分,所以,提出一种解决方案,就是在输出端引入状态指示端子YS来区分有编码输入和无编码输入的情况,参见表3.8(b)。 ……
你还可能感兴趣
我要评论
|