数字逻辑基础与Verilog设计(原书第3版)
作者 : [加]斯蒂芬·布朗(Stephen Brown) 斯万克·瓦拉纳西(Zvonko Vranesic) 著
译者 : 吴建辉 黄成 等译
出版日期 : 2016-06-06
ISBN : 978-7-111-53728-1
定价 : 89.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 455
开本 : 16
原书名 : Fundamentals of Digital Logic with Verilog Design,3rd Edition
原出版社: McGraw-Hill
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是为“数字逻辑设计”课程编写的入门教材,这门课是电气工程和计算机专业的基础课程。 本书着重阐述了数字逻辑基础与Verilog designteaches逻辑电路的基本设计技术,通过许多例子来引入基本概念,强调综合电路及及如何在实际的芯片上实现电路。全书使用Quartus CAD设计、仿真、测试和执行逻辑电路,使学生可以用现代设计方法来进行数字电路和系统的设计。

图书特色

本书第3版较第2版在内容结构上做了更新,从问题求解的角度重点介绍多种逻辑电路及其硬件描述语言Verilog实现的方法,着重于数字电路实现技术和数字系统设计两大核心内容。主要包括:数字电路设计流程、逻辑电路基础、算术运算电路、组合电路、存储元件、同步时序电路、逻辑功能优化、异步时序电路、完整的CAD电路设计流程以及电路测试等。本书包含了120多段Verilog示例代码,以说明如何采用Verilog语言描述不同的逻辑电路。

本书特色
详细介绍组合逻辑与时序逻辑电路的经典设计技术。
强调逻辑电路的模块化设计方法,介绍一些基本的电路模块,并应用到大型电路实现中。
Verilog语言是本书必不可少的一部分内容,书中通过一种通俗易懂的方式循序渐进地介绍该语言。
着重强调在设计与实现实际电路时采用的Verilog与CAD工具。
提供大量的教学实例,揭示一种适合采用现代数字电路技术(如FPGA与CPLD等可编程逻辑器件)的良好设计方式。

作者简介
斯蒂芬·布朗(Stephen Brown) 获得多伦多大学电子工程硕士和博士学位,于1992年进入多伦多大学任教,目前为该校电子与计算机工程系教授,同时在Altera公司发起的国际大学计划中担任理事职务。研究领域包括现场可编程VLSI技术以及计算机结构,发表了超过100篇论文。除了本书之外,与他人合编了另外2本知名教材:《Fundamentals of Digital Logic with VHDL Design(第3版)》《Field Programmable Gate Arrays》。

斯万克·瓦拉纳西(Zvonko Vranesic) 拥有多伦多大学电子工程硕士和博士学位。现为该校电子与计算机工程系以及计算机科学系的荣誉退休教授。目前的研究领域包括计算机架构以及现场可编程VLSI技术研究。除了本书之外,与他人合编了另外3本知名教材:《Computer Organization and Embedded Systems(第6版)》《Microcomputer Structures》与《Field Programmable Gate Arrays》。

图书前言

本书面向数字逻辑设计的入门课程,这门课程是大多数电子和计算机工程专业的一门基础课程。一个成功的数字逻辑电路设计者首先必须深入了解其基本概念,并且能够牢固掌握基于计算机辅助设计(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节
Verilog
Verilog是一种复杂的语言,有些教师感到初学者掌握起来很困难,我们完全同意这个观点,并且试图解决这个问题。教师在教学过程中没有必要介绍Verilog语言的全部。本书只介绍对于逻辑电路设计和综合有用的重要的Verilog语言结构,略去了许多其他语言结构,如那些仅用于仿真的语言结构。并且仅在相关电路设计中用到Verilog更高级的特性时才会介绍这些知识。
本书包含了120多个示例的Verilog代码:从只包含一些门电路到某些表示整个数字系统的电路(如一个简单处理器),以说明如何采用Verilog语言描述不同的逻辑电路。
本书给出的所有Verilog示例的代码可参考作者的网站:wwweecgtotontoedu/~brown/Verilog_3e。
问题求解
每一章中都包含解决问题的实例,通过这些实例可以求解典型的习题。
课外习题
本书提供了400多道习题,书的最后给出了部分习题的答案。与本书配套的《答案手册》中提供了本书中所有习题的解答,以供老师参考。关于本书教辅资源,用书教师可向麦格劳·希尔教育出版公司北京代表处申请,电话:8008101936/01062790299108,电子邮件:instructorchina@mcgrawhillcom。——编辑注
幻灯片和《答案手册》
读者可以在作者的网站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 Clark,McGill University;Stephen DeWeerth,Georgia Institute of Technology;Sander Eller,CalPoly Pomona;Clay Gloster,Jr,North Carolina State University (Raleigh);Carl Hamacher,Queen’s University;Vincent Heuring,University of Colorado;Yu Hen Hu,University of Wisconsin;WeiMing Lin, University of Texas(San Antonio);Wayne Loucks,University of Waterloo;Kartik Mohanram,Rice University;Jane Morehead,Mississippi State University;Chris Myers,Univesity of Utah;Vojin Oklobdzija,Univesity of California(Davis);James Palmer,Rochester Institute of Technology;Gandhi Puvvada,University of Southern California;Teodoro Robles,Milwaukee School of Engineering;Tatyana Roziner,Boston University;Rob Rutenbar,Carnegie Mellon University;Eric Schwartz,University of Florida;WenTsong Shiue,Oregon State University; Peter Simko,Miami University;Scott Smith,University of Missouri(Rolla);Arun Somani,Iowa State University;Bernard Svihel,University of Texas(Arlington);以及Zeljko Zilic,McGill University给出了有益的批评与很好的改进建议。
感谢McGrawHill的工作人员的支持,我们非常感激Raghu Srinivasan、Vincent Bradshaw、Darlene Schueller、Curt Reynolds以及Michael Lange的帮助,也感谢由Techsetters公司提供的排版支持。

Stephen Brown和Zvonko Vranesic

上架指导

数字逻辑设计

封底文字

本书第3版较第2版,在内容结构上做了更新,从问题求解的角度重点介绍多种逻辑电路及其硬件描述语言Verilog实现的方式方法,着重于数字电路实现技术和数字系统设计两大核心内容。主要包括:数字电路设计流程、逻辑电路基础、算术运算电路、组合电路、存储元件、同步时序电路、逻辑功能优化、异步时序电路、完整的CAD电路设计流程以及电路测试等。本书包含了120多个Verilog代码的例子,以说明如何采用Verilog语言描述不同的逻辑电路。
本书特色:
 详细介绍组合逻辑与时序逻辑电路的经典设计技术。
 强调逻辑电路的模块化设计方法,介绍一些基本的电路模块,并应用到大型电路实现中。
 Verilog语言是本书必不可少的一部分内容,书中通过一种易于被学生理解的方式循序渐进地介绍该语言。
 着重强调在设计与实现实际电路中采用的Verilog与CAD工具。
 提供大量的教学实例,揭示一种适合采用现代数字电路技术(如FPGA与CPLD等可编程逻辑器件)的良好设计方式。

作者简介

[加]斯蒂芬·布朗(Stephen Brown) 斯万克·瓦拉纳西(Zvonko Vranesic) 著:作者简介
斯蒂芬·布朗(Stephen Brown)获得多伦多大学电子工程硕士和博士学位,于1992年进入多伦多大学任教,目前为该校电子与计算机工程系教授,同时在Altera公司发起的国际大学计划中担任理事职务。研究领域包括现场可编程VLSI技术以及计算机结构,发表了超过100篇论文,并且与他人合编了两本知名教材:《Fundamentals of Digital Logic with VHDL Design(第3版)》以及《FieldProgrammable Gate Arrays》。

斯万克·瓦拉纳西(Zvonko Vranesic)拥有多伦多大学电子工程硕士和博士学位。现为该校电子与计算机工程系以及计算机科学系的荣誉退休教授。目前的研究领域包括计算机架构以及现场可编程VLSI技术研究。除了本书之外,与他人合编了另外3本知名教材:《Computer Organization and Embedded Systems(第6版)》《Microcomputer Structures》与《FieldProgrammable Gate Arrays》。

译者简介

吴建辉 黄成 等译:暂无简介

译者序

本书的作者Stephen Brown与Zvonko Vranesic为电气工程专业的博士,长期从事数字逻辑、现场可编程VLSI技术等领域的科研与教学工作,积累了丰富的实践经验,并将这些经验融合到本书中,撰写了一本科教有效结合的教材。
与其他数字逻辑类书籍不同,本书重点介绍多种逻辑电路及用硬件描述语言Verilog实现对应电路的方法,涉及的知识面很广,以较强的逻辑性将这些知识紧密联系在一起,以自下而上的方式介绍简单的单元电路以及构建复杂的电子系统,内容循序渐进。其中,第1~5章介绍了数字电路的基本知识,即数字电路设计流程、逻辑电路基础、算术运算电路、组合电路、存储元件等;第6~11章介绍了实际数字系统设计的各种知识,如同步时序电路、逻辑功能优化、异步时序电路、完整的CAD电路设计流程以及电路测试等。另外附录介绍了Verilog的基本特性及电路实现技术,可方便读者的学习与理解。每章末尾的习题反映了对应章的知识点,有利于加深读者对于所学知识点的理解,同时对于重要的题目给出了相应的参考答案,方便初学者巩固知识点。
本书中的例题非常具有代表性,涉及很多设计细节,非常适合作为工程实践人员的入门参考。
本书的翻译工作主要是在东南大学吴建辉的组织下完成的,多位教师与研究生参与了此项工作,虽经认真校对,由于译者水平有限,仍难免存在不妥之处,希望读者不吝赐教。

吴建辉

图书目录

出版者的话
译者序
前言
作者简介
第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

教学资源推荐
作者: [芬]维利-佩卡·埃洛兰塔(Veli-Pekka Eloranta) 乔纳斯·科斯基宁(Johannes Koskinen) 马可·利帕宁(Marko Leppänen) 维莱·雷约宁(Ville Reijonen) 著
作者: 王德才 等编著
参考读物推荐
作者: 马国良 南存微 彭旋子 著
作者: (美)Neal Ford, Matthew McCullough, Nathaniel Schutta 著
作者: (美)Dan Saffer 著
作者: 杜军平 黄杰 主编