本书系统介绍了数字电路设计的基本理论、知识和器件,详细介绍了数字电路的分析和设计方法,同时,为了符合数字系统设计的发展趋势,引入了可编程逻辑器件和硬件描述语言。本书共有9章,主要内容包括数字逻辑基础、组合逻辑电路、触发器、时序逻辑电路、数/模和模/数转换、脉冲波形的产生与变换、综合案例应用设计、可编程逻辑器件、Verilog HDL硬件描述语言设计基础。本书可作为高等院校电气信息类相关专业和部分非电类专业的基础教材和教学参考书,也可作为相关专业工程技术人员的参考书。
适读人群:本科、教师
《数字电路与逻辑设计》系统介绍了数字电路设计的基本理论、知识和器件,详细介绍了数字电路的分析和设计方法,同时,为了符合数字系统设计的发展趋势,引入了可编程逻辑器件和硬件描述语言。本书共有9章,主要内容包括数字逻辑基础、组合逻辑电路、触发器、时序逻辑电路、数/模和模/数转换、脉冲波形的产生与变换、综合案例应用设计、可编程逻辑器件、Verilog HDL硬件描述语言设计基础。本书可作为高等院校电气信息类相关专业和部分非电类专业的基础教材和教学参考书,也可作为相关专业工程技术人员的参考书。
前言“数字电路与逻辑设计”是高等院校电气信息类相关专业学生必修的一门重要的学科专业基础课,其主要任务是使学生获得数字电路方面的基础理论、基本知识和基本技能,熟悉各种不同规模的逻辑器件,掌握各类逻辑电路分析与设计的基本方法,为今后学习相关专业课程以及专业应用奠定数字电路方面的理论基础。本书是按照“数字电路与逻辑设计”课程教学要求,以“夯实理论基础,强化应用能力”为原则,从传授知识和能力培养的目标出发,结合“数字电路与逻辑设计”课程的学习特点,根据教学改革与实践的需要编写的。本书在编写过程中,力求做到概念清楚、内容完整实用、论述深入浅出、便于自学。本书对传统的内容进行了精选和更新,简明扼要地介绍了学生在学习该课程时,需要掌握的基础知识和技术。在保证基本理论完整性的原则下,精简分立元件电路内容,增强集成电路的应用,对集成电路的讨论强化“外部”,淡化“内部”,更加注重实用性和创新意识的培养。此外,鉴于可编程逻辑器件在数字系统中的应用越来越广泛,在本书中对大规模可编程逻辑器件以及Verilog HDL硬件描述语言进行了介绍。本书还通过例题、习题以及综合案例来说明理论的实际应用,以加深学生对本书内容的掌握和理解。全书共有9章。第1章介绍数字电路的基本知识和基本理论,这些内容是分析和设计数字电路的基础。第2章、第3章和第4章以集成逻辑电路的应用为核心,介绍组合逻辑电路以及时序逻辑电路的设计和分析方法。第5章主要介绍数字电路和模拟电路之间的接口电路。第6章主要介绍各种脉冲信号的产生与变换电路。第7章综合运用课程知识,结合实际应用进行实际问题设计举例,旨在进一步理论联系实际,强化应用能力。第8章主要介绍大规模可编程逻辑器件及其在逻辑设计中的应用,使读者在学习数字电路的基本内容后,能够了解数字系统的概念,掌握数字系统设计的基本方法,进而能够从系统的高度来分析和解决设计问题。第9章主要介绍Verilog HDL硬件描述语言及其案例应用,使读者能够将本课程知识与当前流行的数字电路设计方法相融合,顺应数字电子技术的发展趋势。本书由周斌、蔡苗、蔡红娟、陈艳共同编写。具体分工如下:周斌编写第4.4节、第4章习题、第7章、第8章、第9章;蔡苗编写第2章、第5章;蔡红娟编写第3章、第6章、第4.3节;陈艳编写第1章、第4.1节、第4.2节。周斌任主编,并负责全书的统稿、校订,蔡红娟、蔡苗和陈艳任副主编。在本书的编写过程中,翟晟、吕建才、黎贝贝等老师也做了大量的工作,在此对他们表示深深的谢意。此外,在本书的编写过程中,殷小贡、李海、徐安静老师对本书也进行了审阅,并提出了许多宝贵的意见,在此对他们表示衷心的感谢。由于编者能力和水平有限,书中难免存在疏漏和不足之处,敬请广大读者批评指正。
编者
2017年6月于武汉
目录
第1章数字逻辑基础(1)
1.1概述(1)
1.2数制和代码(1)
1.2.1十进制数和二进制数(1)
1.2.2十六进制和八进制(2)
1.2.3不同进制数之间的转换(3)
1.2.4二进制符号数的表示法(6)
1.2.5二进制代码(7)
1.3逻 辑 运 算(9)
1.3.1基本逻辑运算(10)
1.3.2复合逻辑运算(11)
1.3.3正负逻辑问题(12)
1.4逻辑门电路(14)
1.4.1半导体的开关特性(14)
1.4.2简单门电路(17)
1.4.3 TTL集成门电路(18)
1.4.4CMOS集成门电路(26)
1.5逻辑函数的化简法(27)
1.5.1基本公式和定律(28)
1.5.2基本运算规则(31)
1.5.3逻辑函数代数法化简(32)
1.6逻辑函数的卡诺图化简法(34)
1.6.1最小项的定义及其性质(34)
1.6.2卡诺图(35)
1.6.3逻辑函数的卡诺图表示(37)
1.6.4逻辑函数卡诺图化简(37)
1.6.5具有约束的逻辑函数化简(39)
1.7逻辑函数的描述方法及转换(41)
1.7.1逻辑函数的描述方法(41)
1.7.2几种描述方法之间的转换(43)
本章小结(45)
习题1(45)
第2章组合逻辑电路(50)
2.1组合逻辑电路概述(50)
2.2组合逻辑电路的分析与设计(50)
2.2.1组合逻辑电路的分析(50)
2.2.2组合逻辑电路的设计(52)
2.3组合逻辑电路中的竞争冒险(56)
2.3.1产生竞争冒险的原因(57)
2.3.2竞争冒险的判断(57)
2.3.3消除竞争冒险的方法(58)
2.4加法器与算术逻辑单元(60)
2.4.1半加器和全加器(60)
2.4.2集成加法器(62)
2.4.3算术逻辑单元(64)
2.5数值比较器(66)
2.5.1数值比较器的设计(66)
2.5.2集成数值比较器(68)
2.6编码器(69)
2.6.1编码器的工作原理(70)
2.6.2集成优先编码器(73)
2.7译码器与数据分配器(76)
2.7.1译码器的分析及设计(76)
2.7.2集成译码器(78)
2.7.3数据分配器(86)
2.8数据选择器(87)
2.8.1数据选择器的类型及功能(87)
2.8.2集成数据选择器(89)
本章小结(94)
习题2(95)
第3章触发器(99)
3.1基本RS触发器(99)
3.1.1工作原理和逻辑功能(99)
3.1.2基本RS触发器的特点(101)
3.1.3集成RS触发器(102)
3.2同步触发器(103)
3.2.1同步RS触发器(103)
3.2.2同步D触发器(104)
3.2.3同步JK触发器(106)
3.2.4同步T触发器(108)
3.2.5同步触发器的特点(110)
3.3边沿触发器(110)
3.3.1边沿D触发器(110)
3.3.2边沿JK触发器(111)
3.3.3集成边沿触发器(112)
3.4不同类型触发器之间的相互转换(114)
3.4.1JK触发器转换成RS、D和T触发器(115)
3.4.2D触发器转换成RS、JK和T触发器(116)
3.5触发器的电气特性(117)
3.6触发器的应用举例(118)
本章小结(120)
习题3(121)
第4章时序逻辑电路(127)
4.1时序逻辑电路概述(127)
4.1.1时序逻辑电路的特点及分类(127)
4.1.2时序逻辑电路的功能描述方法(128)
4.2时序逻辑电路的分析(129)
4.2.1时序逻辑电路的分析步骤(129)
4.2.2同步时序逻辑电路分析举例(130)
4.2.3异步时序逻辑电路分析举例(136)
4.3时序逻辑电路的设计(138)
4.3.1同步时序逻辑电路的设计(138)
4.3.2异步时序逻辑电路的设计(146)
4.4常用中规模集成时序逻辑电路(148)
4.4.1寄存器与移位寄存器(148)
4.4.2计数器(153)
4.4.3脉冲序列信号发生器(167)
4.4.4脉冲分配器(171)
本章小结(172)
习题4(173)
第5章数/模转换与模/数转换(179)
5.1概述(179)
5.2DAC(180)
5.2.1D/A转换的基本知识(180)
5.2.2常用的数模转换技术(181)
5.2.3数模转换器的性能指标(184)
5.2.4集成DAC(185)
5.3ADC(186)
5.3.1A/D转换的基本知识(186)
5.3.2常用的A/D转换技术(188)
5.3.3ADC的性能指标(194)
5.3.4集成ADC(195)
本章小结(196)
习题5(197)
第6章脉冲波形的产生与变换(201)
6.1集成定时器555(201)
6.2多谐振荡器(202)
6.2.1555定时器构成的多谐振荡器(203)
6.2.2门电路构成的多谐振荡器(205)
6.2.3石英晶体多谐振荡器(206)
6.2.4多谐振荡器的应用(207)
6.3单稳态触发器(209)
6.3.1555定时器构成的单稳态触发器(209)
6.3.2门电路构成的单稳态触发器(211)
6.3.3集成单稳态触发器(214)
6.3.4单稳态触发器的应用(216)
6.4施密特触发器(217)
6.4.1555定时器构成的施密特触发器(218)
6.4.2门电路构成的施密特触发器(219)
6.4.3集成施密特触发器(220)
6.4.4施密特触发器的应用(220)
本章小结(222)
习题6(223)
第7章综合案例应用设计(226)
7.1彩灯控制器设计(226)
7.1.1设计要求(226)
7.1.2基本结构(227)
7.1.3设计实现(228)
7.2温度监控报警电路设计(231)
7.2.1设计要求(231)
7.2.2基本结构(231)
7.2.3设计实现(232)
7.3交通灯信号控制器设计(235)
7.3.1设计要求(235)
7.3.2基本结构(235)
7.3.3设计实现(236)
本章小结(239)
习题7(239)
第8章可编程逻辑器件(240)
8.1概述(240)
8.2基本结构和表示方法(241)
8.2.1基本结构(241)
8.2.2PLD电路的表示方法(241)
8.2.3PLD的分类(244)
8.3低密度可编程逻辑器件(244)
8.3.1可编程只读存储器(244)
8.3.2可编程逻辑阵列(246)
8.3.3可编程阵列逻辑(246)
8.3.4通用阵列逻辑(GAL)(247)
8.4复杂可编程逻辑器件(249)
8.4.1CPLD的基本结构(250)
8.4.2典型CPLD器件的结构(250)
8.5现场可编程门阵列(254)
8.5.1FPGA的基本结构(255)
8.5.2典型FPGA器件的结构(257)
8.6CPLD/FPGA的设计流程和编程(263)
8.6.1CPLD/FPGA的设计流程(264)
8.6.2CPLD器件的编程(265)
8.6.3FPGA器件的配置(265)
本章小结(268)
习题8(269)
第9章Verilog HDL硬件描述语言设计基础(270)
9.1Verilog程序的基本结构(270)
9.2Verilog语言要素(272)
9.3Verilog常量(272)
9.3.1整数(273)
9.3.2实数(274)
9.3.3字符串(274)
9.3.4符号常量(275)
9.4数据类型(276)
9.4.1线网(net)类型(276)
9.4.2寄存器类型(277)
9.4.3向量(279)
9.5Verilog的运算符(281)
9.6Verilog的行为级建模(285)
9.6.1过程语句(285)
9.6.2语句块(289)
9.6.3赋值语句(291)
9.6.4程序控制语句(293)
9.6.5Verilog的编译指示语句(299)
9.6.6任务和函数(302)
9.7Verilog的结构级建模(306)
9.7.1门级建模(306)
9.7.2用户自定义元件(309)
9.7.3模块级建模(314)
9.8数字电路的Verilog描述实例(321)
9.8.1常用组合逻辑电路的Verilog描述(322)
9.8.2常用时序逻辑电路的Verilog描述(328)
9.8.3有限状态机的Verilog描述(335)
本章小结(340)
习题9(341)
附录AVerilog HDL(IEEE Std 1364—2001)支持的关键字(343)
参考文献(344)