欢迎光临散文网 会员登陆 & 注册

数字逻辑基础与Verilog设计(原书第3版)

2023-08-13 11:15 作者:取个名字吧一个就好  | 我要投稿

链接:https://pan.baidu.com/s/1mqgpPsbz03RW6GiXhXwSdQ?pwd=p5ab 

提取码:p5ab

出版者的话
译者序
前言
作者简介
第1章引言1
1.1数字硬件1
1.2设计流程3
1.3计算机结构4
1.4本书中的逻辑电路设计5
1.5信息的数字化表示5
1.6理论与实践9
习题10
参考文献10
第2章逻辑电路导论11
2.1变量与函数11
2.2反相12
2.3真值表13
2.4逻辑门和网络14
2.5布尔代数17
2.6利用“与”门、“或”门和“非”门进行综合23
2.7“与非”和“或非”逻辑网络电路28
2.8设计实例31
2.9CAD工具介绍34
2.10Verilog简介37
2.11最简化和卡诺图41
2.12最小化策略46
2.13和之积形式的最简式49
2.14非完整定义函数(无关项)50
2.15多输出电路51
2.16小结53
2.17解决问题的实例53
习题58
参考文献61
第3章数的表示方法和算术运算电路62
3.1按位计数法(数的位置表示法)62
3.2无符号数的加法运算64
3.3有符号数67
3.4快速加法器75
3.5使用CAD工具设计算术运算电路79
3.6乘法88
3.7其他数的表示方式90
3.8解决问题的实例94
习题97
参考文献99
第4章组合电路模块100
4.1多路选择器100
4.2译码器105
4.3编码108
4.4代码转换器109
4.5算术比较电路109
4.6用Verilog设计组合逻辑电路110
4.7小结121
4.8解决问题的实例121
习题126
参考文献128
第5章触发器、寄存器和计数器129
5.1基本锁存器129
5.2门控SR锁存器131
5.3门控D锁存器132
5.4边沿触发的D触发器134
5.5T触发器139
5.6JK触发器139
5.7术语小结140
5.8寄存器140
5.9计数器142
5.10复位同步147
5.11其他类型的计数器149
5.12用CAD工具设计含存储元件的电路151
5.13用Verilog构建寄存器和计数器156
5.14设计举例160
5.15触发器电路的时序分析164
5.16小结167
5.17解决问题的实例167
习题171
参考文献174
第6章同步时序电路175
6.1基本设计步骤176
6.2状态分配问题183
6.3Mealy状态模型185
6.4采用CAD工具设计有限状态机188
6.5串行加法器实例193
6.6状态最小化197
6.7基于时序电路的计数器设计202
6.8仲裁电路的FSM207
6.9同步时序电路的分析209
6.10算法状态机流程图211
6.11时序电路的形式模型213
6.12小结214
6.13解决问题的实例214
习题219
参考文献220
第7章数字系统设计222
7.1总线结构222
7.2简单的处理器227
7.3位计数电路234
7.4移位和加乘法器238
7.5除法器242
7.6算术平均248
7.7排序操作251
7.8时钟同步和时序问题258
7.9小结260
习题261
参考文献262
第8章逻辑函数的优化实现264
8.1多级综合264
8.2多级电路分析271
8.3逻辑函数的其他表示方法273
8.4基于立方体表示法的优化技术279
8.5小结288
8.6解决问题的实例289
习题293
参考文献294
第9章异步时序电路296
9.1异步行为296
9.2异步电路分析298
9.3异步电路综合303
9.4状态化简309
9.5状态分配316
9.6冒险324
9.7一个完整的设计实例328
9.8小结331
9.9解决问题的实例332
习题335
参考答案337
第10章计算机辅助设计工具338
10.1综合338
10.2物理设计342
10.3小结345
参考文献345
第11章逻辑电路测试346
11.1故障模型346
11.2测试集的复杂度347
11.3路径敏化348
11.4树形结构电路350
11.5随机测试351
11.6时序电路的测试353
11.7内建自测试355
11.8印制电路板359
11.9小结361
习题362
参考文献363
附录AVerilog参考364
附录B实现技术391
部分习题参考答案440

查看全部↓

前言/序言

  本书面向数字逻辑设计的入门课程,这门课程是大多数电子和计算机工程专业的一门基础课程。一个成功的数字逻辑电路设计者首先必须深入了解其基本概念,并且能够牢固掌握基于计算机辅助设计(CAD)工具的现代设计方法。
  本书的主要目的为:1)通过典型的数字电路手工设计方法教给学生基本概念;2)清晰地展示当今采用CAD工具设计数字电路的方法。虽然目前除了少数情况外已经不再采用手工方法进行设计,但我们仍想通过教授这些手工设计技术,使学生对如何设计数字电路有一个感性的认识;并且手工设计方法能对CAD工具实现的功能进行很好的解释,使学生体会到自动设计的优势。本书通过简单的电路设计案例引出其基本概念,这些案例都同时采用手工方法和现代CAD方法设计。在建立了基本概念后,提供了更多基于CAD工具的复杂例子。因此,本书的重点仍然放在现代设计方法上,以说明当今数字电路是如何设计的。
  技术本书将讨论现代数字电路实现技术,重点为教科书中最适合采用的可编程逻辑器件(PLD),其原因主要表现在两个方面:第一,PLD在实际设计中被广泛采用,并且适合于各种数字电路设计,事实上,从某些方面看学生们在他们的职业生涯中更喜欢基于PLD进行设计而不是任何别的技术;第二,可以通过最终用户的编程在PLD上实现电路。因此,在实验室中可以提供给学生一个机会,即基于实际芯片来实现书中的设计例子;学生也可以用自己的计算机仿真所设计电路的性能。为了达到设计目的,我们采用最常见的PLD:复杂可编程逻辑器件(CPLD)和现场可编程逻辑阵列(FPGA)。
  在逻辑电路的具体设计中,我们强调硬件描述语言(HDL)的使用,因为基于HDL的方法在实际应用中是最有效的。我们还详细介绍了IEEE标准的Verilog HDL语言,并且在例子中广泛使用。
  本书内容本书第3版的结构进行了较大的改进,第1~6章覆盖一个学期内该课程所需讲述的所有内容,而第7~11章则介绍更先进的内容。
  第1章概述了数字系统的设计流程,讨论了设计流程中的关键步骤,解释了如何运用CAD工具自动实现所要求的众多工作;同时介绍了数字信息的表示方式。
  第2章介绍了逻辑电路的基本知识,展示了如何使用布尔代数表示逻辑电路;介绍了逻辑电路综合和优化的概念,展示了如何使用逻辑门实现简单电路。第一次向读者展现Verilog,一个可用于描述逻辑电路的硬件描述语言例子。
  第3章重点讲述了算术运算电路,讨论了数字系统中数字的表示方式,并说明了这样的数字如何运用到逻辑电路中。另外,该章还阐述了如何使用Verilog详细描述所期望的功能,以及CAD工具如何提供开发所期望电路的机制。
  第4章介绍了用作构建模块的组合电路,包括编码器、译码器及多路选择器。这些电路非常便于阐明众多借助Verilog构建的应用,给读者提供了一个揭示Verilog更多高级特性的机会。
  第5章介绍了存储单元,讨论了采用触发器实现的规则结构,如移位寄存器和计数器,并给出了这些结构的Verilog描述。
  第6章详细阐明了同步时序电路(有限状态机),解释了这些电路的行为,并介绍了用手工和自动两种方法进行实际设计开发的技术。
  第7章讨论了系统设计中经常遇到的问题及其解决办法,介绍了一个较大规模的数字系统层次化设计的例子,并给出了完整的Verilog代码。
  第8章介绍了逻辑功能优化实现的更加先进的技术,提供了优化算法;解释了如何与二元决策图一样使用一种立方体表示法指定逻辑功能。
  第9章讨论了异步时序电路。虽然没有面面俱到地叙述,但清晰展示了时序电路的主要特性。尽管异步时序电路在实际中的应用并不是很广泛,但是它们提供了一个深刻理解数字电路操作的非常好的途径。该章还展示了可能存在于电路结构内部的传播延迟和冒险竞争。
  第10章给出了设计者在设计、实现及测试数字电路过程中经历的一个完整的CAD流程。
  第11章介绍了电路的测试。逻辑电路的设计者必须清楚意识到电路测试的必要性,至少应熟悉测试最基本的知识。
  附录A总结了完整的Verilog特性。整本书中都使用了Verilog,该附录便于读者在编写Verilog代码时随时查阅与参考。
  附录B给出了数字电路的电特性,展示了如何采用晶体管搭建基本的门电路,介绍了影响电路性能的各种因素。该附录重点讨论了最新的技术,同时介绍了CMOS工艺和可编程逻辑器件。
  课程内容建议书中大部分内容适用于两个季度的课程。在不需要花费太多时间教授Verilog和CAD工具时,1个学期甚至1个季度的课程也可以涵盖大部分最重要的内容。为了达到这个目的,我们按照模块化方式组织了Verilog内容以便于自学。多伦多大学不同班级的教学实践表明,只须用3~4个学时介绍Verilog,即代码如何编写,包括使用设计层次结构、标量、矢量,以及指定时序电路所需的代码形式。本书给出的Verilog例子带有大量的说明,学生很容易理解。
  本书也适用于不涉及Verilog的逻辑设计课程。然而,了解某些Verilog知识,即使是入门水平,对学生也是有益的,并且对于设计工程师日后的工作也非常有帮助。
  1个学期的课程课程需要教授的内容如下:
  第1章:每一节第2章:每一节第3章:3.1~3.5节第4章:每一节第5章:每一节第6章:每一节1个季度的课程课程需要教授的内容如下:
  第1章:每一节第2章:每一节第3章:3.1~3.3节和3.5节第4章:每一节第5章:每一节第6章:6.1~6.4节VerilogVerilog是一种复杂的语言,有些教师感到初学者掌握起来很困难,我们完全同意这个观点,并且试图解决这个问题。教师在教学过程中没有必要介绍Verilog语言的全部。本书只介绍对于逻辑电路设计和综合有用的重要的Verilog语言结构,略去了许多其他语言结构,如那些仅用于仿真的语言结构。并且仅在相关电路设计中用到Verilog更高级的特性时才会介绍这些知识。
  本书包含了120多个示例的Verilog代码:从只包含一些门电路到某些表示整个数字系统的电路(如一个简单处理器),以说明如何采用Verilog语言描述不同的逻辑电路。
  本书给出的所有Verilog示例的代码可参考作者的网站:www.eecg.totonto.edu/~brown/Verilog_3e。
  问题求解每一章中都包含解决问题的实例,通过这些实例可以求解典型的习题。
  课外习题本书提供了400多道习题,书的最后给出了部分习题的答案。与本书配套的《答案手册》中提供了本书中所有习题的解答,以供老师参考。关于本书教辅资源,用书教师可向麦格劳·希尔教育出版公司北京代表处申请,电话:8008101936/010.62790299.108,电子邮件。——编辑注幻灯片和《答案手册》读者可以在作者的网站www.mhhe.com/brownvranesic上获得本书所有图的幻灯片。老师可以申请获得这些幻灯片以及本书的《答案手册》。
  CAD工具现代数字系统非常庞大,很多复杂的逻辑电路若不使用CAD工具是难以设计的。本书对于Verilog的阐述有助于读者编写Verilog代码以描述不同复杂度的逻辑电路。为了获得适当的设计过程方法,使用商用CAD工具是非常有益的。一些很好的CAD工具是免费的,比如,Altera公司的Quartus Ⅱ CAD软件,它广泛应用于基于诸如FPGA类的可编程逻辑器件的设计中。Quartus Ⅱ软件的网络版本可以从Altera的网站上下载并且免费使用,而不需要许可证。本书先前版本的附录中给出了使用Quartus Ⅱ软件的教程,这些教程可以在作者的网站上找到,也可以通过Altera的编程网站上找到另一些有用的Quartus Ⅱ教程,其网址为www.altera.com/eduction/univ。
  致谢对于在本书准备期间给予帮助的人们表达深深的谢意,其中Dan Vranesic提供了大量插图,他和Deshanand Singh也参与了《答案手册》的准备;Tom Czajkowski帮助检查一些答案。Thomas Bradicich,North Carolina State University;James ClarkMcGill University;Stephen DeWeerthGeorgia Institute of Technology;Sander EllerCalPoly Pomona;Clay GlosterJr.North Carolina State University (Raleigh);Carl HamacherQueen’s University;Vincent HeuringUniversity of Colorado;Yu Hen HuUniversity of Wisconsin;Wei.Ming Lin University of Texas(San Antonio);Wayne LoucksUniversity of Waterloo;Kartik MohanramRice University;Jane MoreheadMississippi State University;Chris MyersUnivesity of Utah;Vojin OklobdzijaUnivesity of California(Davis);James PalmerRochester Institute of Technology;Gandhi PuvvadaUniversity of Southern California;Teodoro RoblesMilwaukee School of Engineering;Tatyana RozinerBoston University;Rob RutenbarCarnegie Mellon University;Eric SchwartzUniversity of Florida;Wen.Tsong ShiueOregon State University; Peter SimkoMiami University;Scott SmithUniversity of Missouri(Rolla);Arun SomaniIowa State University;Bernard SvihelUniversity of Texas(Arlington);以及Zeljko ZilicMcGill University给出了有益的批评与很好的改进建议。
  感谢McGraw.Hill的工作人员的支持,我们非常感激Raghu Srinivasan、Vincent Bradshaw、Darlene Schueller、Curt Reynolds以及Michael Lange的帮助,也感谢由Techsetters公司提供的排版支持。
  Stephen Brown和Zvonko Vranesic

查看全部↓



数字逻辑基础与Verilog设计(原书第3版)的评论 (共 条)

分享到微博请遵守国家法律