当前:
首页
-
图书专区
- 数字逻辑基础与Verilog设计(原书第2版)
忘记密码?
数字逻辑基础与Verilog设计(原书第2版)
作者:
Stephen Brown;Zvonko Vranesic
ISBN:
7-111-22182-1
定价:
65.00
页数:
479
出版日期:
2007年10月29日
译者:
夏宇闻 等
图书分类:
计算机
>
计算机控制与仿真
>
数字逻辑
原出版社:
McGraw-Hill
浏览量:
2661
语种:
简体中文
开本:
16开
原书名:
Fundamentals of Digital Logic with Verilog DesignSecond Edition
属性分类:
教材
所属丛书:
电子与电气工程丛书
责任编辑:
适用专业:
绝版:
否
包含CD:
1CD
成功的逻辑电路设计人员必须深入理解基本概念,并熟练地掌握计算机辅助设计工具。本书很好地兼顾了基本概念的教学和计算机辅助工具的实际应用,着重介绍电路的综合及如何在实际的芯片上实现电路。书中通过许多例子来引入基本概念,这些例子涉及简单的电路设计,当中不但用手工的方法,也用现代的基于计算机辅助设计的方法来完成设计。本书使用的计算机辅助设计工具是当前流行的Quartus II软件,它能自动地把Verilog设计映射到复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)中,而这两种器件是工业界最常用的可编程逻辑器件。
无
本书是为“数字逻辑设计”课程编写的入门教材,这门课是大多数电子和计算机工程专业的基础课程。成功的逻辑电路设计人员必须深入理解这门课的基本概念,并熟练掌握计算机辅助设计工具的使用。本书的宗旨是希望能在基本概念的教学和计算机辅助设计工具的实际应用之间提供一种恰到好处的平衡。为了帮助读者学习,书中还包括了必要的计算机辅助设计(CAD)工具。
许多有关数字逻辑设计的书覆盖面太广,这是很严重的问题。覆盖面太广的书不适合作为教材,特别是当课本涉及的主题深度不够时,情况更糟。另外,有的书想把大量的实际设计经验传授给学生,却使得还不清楚基本概念的学生很难理解书中的内容。我们的目的是避免出现这两方面的问题。
本书的主要目的是:1)通过教学使学生掌握经典的手工设计数字电路的基本概念;2)清楚地说明当今使用计算机辅助设计工具设计数字电路的方法。虽然现代设计人员(除了少数情况外)已经不再使用手工设计技术,但是手工设计可以让学生直观地了解数字电路是如何工作的。手工技术还可以为计算机辅助设计工具所进行操作的类型提供说明,让学生了解自动化设计技术的优点。本书中穿插了许多例子来引入基本概念,这些例子涉及一些简单的电路设计,我们不但用手工的方法,而且也用现代的基于计算机辅助设计的方法来完成这些电路的设计。在基本概念建立起来之后,用计算机辅助设计工具提供了一些比较复杂的例子。因此,本书的重点放在如何利用现代设计方法来进行数字电路和系统的设计上。
技术和计算机辅助设计支持
本书讲述现代数字电路实现技术,简要地讨论了小规模集成电路(SSI)以及半定制和全定制技术,但重点放在可编程逻辑器件(PLD)上。可编程逻辑器件是最适用于教学的技术,原因如下:首先,在实践中,可编程逻辑器件得到了广泛的应用,几乎所有类型的数字电路设计都可以由PLD来完成。其次,可编程逻辑器件实现的电路是由最终用户通过编程实现的。因此学生有机会在实验室的条件下,把课本上的例子配置到真实的芯片中。学生还可以在自己的计算机上对所设计的电路进行仿真,观察电路行为。本书中,使用两种最常用的可编程逻辑器件作为设计的实现器件:复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。
本书中使用的计算机辅助设计工具是Altera公司的Quartus II软件。Quartus II能自动地把设计映射到Altera公司的复杂可编程逻辑器件和现场可编程门阵列中,这两种器件是工业界最常用的可编程逻辑器件。Quartus II软件的特色如下:
·Quartus II是一个商业产品。本书采用的版本支持产品的所有主要特性。学生可以方便地把设计输入到计算机辅助设计工具中,然后把设计编译到所选择的器件中(可以在任何时间改换其他器件,也可以把设计重新映射到其他器件中),进行功能仿真,也可以对最终电路进行详细的时序仿真,如果学校的实验室配备了相关的设备,还可以在真实的芯片中实现设计。
·Quartus II提供了两种设计输入工具:硬件描述语言(HDL)和电路原理图。在本书中,我们提供了用电路原理图输入设计的例子,但重点放在基于硬件描述语言的设计上,因为这种方法是实际应用中效率最高的。本书详细地描述了IEEE标准的Verilog语言,并在例子中广泛使用了这种语言。本书包括的计算机辅助设计软件中的Verilog编译器可使学生运用Verilog代码来创建电路,并在真实的芯片中实现这些电路。
·Quartus II可以自动地将设计映射到不同类型的器件中。这一特性使我们得知目标器件的体系结构在哪些方面影响了设计者所设计的电路。
·Quartus II可以在大多数普通类型的计算机上运行。建议学生在IBM兼容的安装有任何版本微软Windows操作系统的计算机上运行这个软件。但是,根据Altera公司的大学计划,Quartus II也可以在其他类型的计算机(例如SUN 或者 HP工作站)上运行。
本书附赠光盘中包括Quartus II软件,附录中介绍了该软件的使用方法,以便学生操作、运行和测试书中的各个设计范例。
内容概览
第1章对数字系统的设计过程进行总体介绍,讨论设计过程中的关键步骤,并描述计算机辅助设计工具如何把许多必须做的任务自动化。
第2章介绍逻辑电路的基本概念,说明如何用布尔代数来表示逻辑电路。通过硬件描述语言详细描述逻辑电路的范例,使读者对Verilog有一个初步印象。
第3章介绍数字电路在电子学方面的概念,说明基本逻辑门是如何用晶体管构成的,展示影响电路性能的多种因素。该章的重点是讲述最新的技术,并特别关注CMOS技术和可编程逻辑器件。
第4章讲述组合逻辑的综合。该章覆盖了综合过程的各个方面,从开始设计到产生最后的电路所必需的优化步骤。该章也说明如何将计算机辅助设计工具用于这一目的。
第5章的重点放在算术运算电路上,首先讨论数字系统中数的表示,接着说明如何用逻辑电路巧妙地处理这样的数。该章说明如何用Verilog 语言详细描述想得到的电路功能,以及计算机辅助设计工具是如何提供开发所需要的电路的机制的。本书把数的表示安排在本章,而没有安排在前面,这样做是为了使讨论更有意义且使学生更感兴趣,因为此时可以举例说明如何用实际电路来处理数字信息。
第6章介绍用做构造电路模块的组合逻辑电路。这类电路包括编码器、译码器和多路选择器。这些电路用来说明许多Verilog语句结构是非常方便的,为读者提供发掘更多Verilog高级特性的机会。
第7章介绍存储元件,讨论使用触发器来实现规则的结构,如移位寄存器和计数器等。另外,还包括如何编写Verilog代码来生成此类结构的电路。该章还展示了如何设计较大型系统,如简单的处理器。
第8章详细地讨论同步时序电路(有限状态机)。该章解释了这类电路的行为,并介绍如何手工/自动地设计和开发实际电路。
第9章讨论异步时序电路,但不是十分全面,而是向读者介绍了这类电路的主要特点。即使目前在实际工作中已很少采用异步电路,也还是有必要研究异步电路,因为异步电路有助于读者深入理解一般数字电路的功能。异步时序电路清楚地说明了传播延迟和冒险竞争造成的后果,而这种延迟和竞争是电路结构所固有的。
第10章讨论设计实际系统时碰到的几个具体问题,突出介绍在实际设计工作中经常遇到的问题,并说明如何解决这类问题。较大型电路的范例说明了在数字系统设计中必须采用层次化的解决办法,该章还介绍了这类电路完整的Verilog代码。
第11章介绍测试。逻辑电路设计人员必须认识到电路测试的重要性,至少应该熟悉有关测试的最基本问题。
第12章介绍用计算机辅助设计工具设计、实现和测试数字电路。
附录A完整地总结了Verilog语言。虽然Verilog的使用贯穿本书,但附录A还是为读者提供了便利,编写Verilog代码时可以随时参考本附录。
附录B、C、D是一系列的自学教程,讲解Quartus II计算机辅助设计工具,介绍如何一步一步地使用这个软件。
附录E给出范例中使用的器件的详细说明。
教学建议
本书中的所有内容可以在两个学期中讲授,其中最重要的部分可以在一个学期内讲授。当然,讲解过程中不能过于详细地讲解计算机辅助设计工具和Verilog中许多错综复杂的特征。为了实现这一教学进度,本书采取了便于自学的以模块为单元的形式来组织Verilog的内容。根据我们在多伦多大学授课的经验,只需花2~3个学时讲解Verilog就可以了,主要讲解时序电路的技术指标。本书中的大部分Verilog范例都有很好的说明,学生很容易理解。此外,不必讲解如何使用计算机辅助设计工具,因为学生完全可以自学附录B、C和D中的Quartus II辅导教材。
本书还适用于一般的逻辑设计课程(不讲解Verilog语言)。然而,有关Verilog的知识,即使是一些入门知识,对学生也是非常有益的,可以为学生成为数字电路设计师打下坚实的基础。
一学期(15~18周)课程安排
正式讲课的自然起点是第2章。第1章是一般性的介绍,目的是告诉学生为什么逻辑电路很重要,以提高他们的学习兴趣,这部分材料对学生而言很容易理解。
建议课程包括:
·第2章。
·第3章:3.1~3.7节。如果学生具有一些电路基本知识,添加3.8节和 3.9节会有帮助。
·第4章:4.1~ 4.7节,还有4.12节。
·第5章:5.1~5.5节。
·第6章。
·第7章。
·第8章:8.1~8.9节。
如果时间允许,可包括第9章的9.1~9.3节以及9.6节,还可加进第10章一两个例子。
短学期(13周)课程安排
在短学期课程中,建议课程包括:
·第2章。
·第3章:3.1~3.3节。
·第4章:4.1~ 4.5节,还有4.12节。
·第5章:5.1~5.3节,还有5.5节。
·第6章。
·第7章:7.1~7.10节,还有7.13节。
·第8章:8.1~8.5节。
传统教学方法
第2章和第4章介绍了布尔代数、组合逻辑电路和逻辑最小化的基本技术。第2章首次探讨与门、或门、非门、与非门以及或非门的话题。第3章详细地讨论了技术的实施,然后在第4章中再谈到综合技术和其他类型的门。我们认为,如果学生理解现存的与非门、或非门、异或门以及各种可编程逻辑器件的技术原理,会更好地理解第4章中的内容。
喜欢传统教学方法的教师,最好先讲第2章,接着讲解第4章。为了理解与非门、或非门以及异或门的使用,教师只需讲解这些门的功能性定义。
Verilog
Verilog 是一种复杂的语言,有些教师觉得对于初学者来说,Verilog太难掌握了。我们完全理解这一点,并努力设法解决。在课堂中介绍完整的Verilog语言是没有必要的。在本书中,介绍了对逻辑电路的综合和设计有用的重要的Verilog语句构造。许多其他的语言构造,例如只在仿真时才有意义的语句构造,书中没有介绍。本书中Verilog的内容是逐渐引入的,只有当有关Verilog内容在电路设计的某个关键点上能展示其先进的功能特性时,才将其引入。
本书中包括了150多个Verilog 代码的例子。这些例子说明如何用Verilog来描述各种逻辑电路,从只包含几个门的电路到表示数字系统的电路,例如简单的处理器。
问题求解
许多章都有问题求解举例。这些例子向读者展示了习题求解的典型方法。
家庭作业问题
本书提供了400多道家庭作业题,其中部分习题答案在书后给出。教师可以从McGraw-Hill网站(http://highered.mcgraw-hill.com/sites/0073380334/)上得到与本书配套的《解题手册》(Solution Manual), 其中有这些家庭作业的标准答案。
实验室
本书可以用做不需要实验室练习的课程的教材。即使没有实验室,学生也可以使用与本书配套的计算机辅助设计工具,在计算机上对自己设计的电路进行仿真,获得有用的实践经验。如果有一个实验室,本书中的许多例子都适合在实验室实践。
教师可以从McGraw-Hill网站上获得PowerPoint幻灯片(包括书中的所有图)。
致谢
衷心感谢在本书编写期间给予我们帮助的人。Kelly Chan帮助完成了本书手稿的技术准备工作。Dan Vranesic绘制了书中的大量插图,他和Deshanand Singh 还帮助编写了《解题手册》的初稿。Tom Czajkowski检查了一些习题的答案。Jonathan Rose对时序问题的讨论提出了有益的建议。新泽西理工学院的William Barnes、北卡罗来纳州立大学的Thomas Bradicich、McGill大学的James Clark、佐治亚理工学院的Stephen DeWeerth、北卡罗来纳州立大学罗利分校的Clay Gloster,Jr.、皇后大学的Carl Hamacher、科罗拉多大学的Vincent Heuring、威斯康星大学的Yu Hen Hu、得克萨斯大学奥斯汀分校的Wei-Ming Lin、滑铁卢大学的Wayne Loucks、犹他大学的Chris Myers、加州大学戴维斯分校的Vojin Oklobdzija、罗切斯特理工学院的James Palmer、南加州大学的Gandhi Puvvada、Milwaukee工程学院的Teodoro Robles、波士顿大学的Tatyana Roziner、卡内基-梅隆大学的Rob Rutenbar、佛罗里达大学的Eric Schwartz、俄勒冈州立大学的Wen-Tsong Shiue、马里兰大学的Charles Silio, Jr.、密苏里大学罗拉分校的Scott Smith、艾奥瓦州立大学的Arun Somani、得克萨斯大学阿灵顿分校的Bernard Svihel、McGill大学的Zeljko Zilic,认真审阅了本书的初稿,提出了许多宝贵的意见和建设性的建议,对本书的修改和最后定稿起了很大作用。
我们也非常感谢Altera公司提供了Quartus II计算机辅助设计系统,特别是Misha Burich。McGraw-Hill出版公司给了我们很大的帮助和支持,衷心地感谢Michael Hackett、Brenda Rolwes、Darlene Schueller、April Southwood、Kris Tibbetts、Judi David和Michael Weitz的帮助。
Stephen Brown
Zvonko Vranesic
译者序
译者简介
序言
前言
作者简介
第1章 设计概念 1
1.1 数字硬件 1
1.1.1 标准芯片 2
1.1.2 可编程逻辑器件 2
1.1.3 定制芯片 3
1.2 设计过程 3
1.3 数字硬件的设计 4
1.3.1 基本设计循环 5
1.3.2 计算机的结构 5
1.3.3 数字硬件单元的设计 6
1.4 本书中的逻辑电路设计 8
1.5 理论和实践 8
参考文献 9
第2章 逻辑电路入门 10
2.1 变量和函数 10
2.2 反相 12
2.3 真值表 12
2.4 逻辑门和逻辑网络 13
2.5 布尔代数 15
2.5.1 维恩图 18
2.5.2 符号和术语 20
2.5.3 运算的优先级别 20
2.6 用与门、或门和非门进行综合 21
2.7 与非以及或非逻辑网络 26
2.8 设计举例 29
2.8.1 三路灯光控制 29
2.8.2 多路选择器电路 30
2.9 计算机辅助设计工具简介 31
2.9.1 设计输入 32
2.9.2 综合 33
2.9.3 功能仿真 33
2.9.4 物理设计 33
2.9.5 时序仿真 34
2.9.6 芯片配置 34
2.10 Verilog 简介 35
2.10.1 逻辑电路的结构描述 35
2.10.2 逻辑电路的行为描述 37
2.10.3 编写Verilog代码必须注意的
关键点 38
2.11 小结 39
2.12 问题求解举例 39
练习题 42
参考文献 45
第3章 实现技术 46
3.1 晶体管开关 46
3.2 NMOS逻辑门 48
3.3 CMOS逻辑门 50
3.4 负逻辑系统 53
3.5 标准芯片 55
3.6 可编程逻辑器件 56
3.6.1 可编程逻辑阵列 57
3.6.2 可编程阵列逻辑 58
3.6.3 PLA和PAL的编程 60
3.6.4 复杂可编程逻辑器件 61
3.6.5 现场可编程门阵列 63
3.6.6 用CAD工具在CPLD 和FPGA
上实现逻辑电路 66
3.6.7 CPLD和FPGA的应用 66
3.7 定制芯片、标准单元和门阵列 66
3.8 实际问题 68
3.8.1 MOSFET晶体管的制造和行为 68
3.8.2 MOSFET晶体管的导通电阻 71
3.8.3 逻辑门的电平 71
3.8.4 噪声容限 72
3.8.5 逻辑门的动态操作 73
3.8.6 逻辑门的功率消耗 75
3.8.7 通过晶体管开关传递1和0 76
3.8.8 逻辑门的扇入和扇出 77
3.9 传输门 81
3.9.1 异或门 81
3.9.2 多路选择器电路 82
3.10 SPLD、CPLD和 FPGA 的实现
细节 82
3.11 小结 88
3.12 问题求解举例 88
练习题 93
参考文献 98
第4章 逻辑函数的优化实现 99
4.1 卡诺图 99
4.2 最小化策略 104
4.2.1 专业术语 105
4.2.2 最小化步骤 106
4.3 和之积形式的化简 108
4.4 非完全指定函数 109
4.5 多输出电路 110
4.6 多级综合 112
4.6.1 提取公因子 113
4.6.2 函数分解 115
4.6.3 多级与非以及或非电路 119
4.7 多级电路的分析 120
4.8 立方体表示法 124
4.9 列表法化简 126
4.9.1 质蕴涵项的产生 127
4.9.2 最小覆盖的确定 128
4.9.3 列表法小结 131
4.10 使用立方体表示法最小化函数 132
4.10.1 本质蕴涵项的确定 133
4.10.2 求解最小覆盖的完整步骤 135
4.11 一些实际问题的考虑 137
4.12 由Verilog代码综合得到电路举例 137
4.13 小结 140
4.14 问题求解举例 140
练习题 144
参考文献 148
第5章 数的表示和算术电路 150
5.1 数位的表示法 150
5.1.1 无符号整数 150
5.1.2 十进制数与二进制数之间的
转换 151
5.1.3 八进制数和十六进制数的表示 151
5.2 无符号数的加法 153
5.2.1 全加器的分解 155
5.2.2 行波进位加法器 155
5.2.3 设计举例 156
5.3 有符号数 157
5.3.1 负数 157
5.3.2 加法和减法 158
5.3.3 加法器和减法器单元 160
5.3.4 基数补码方案 161
5.3.5 算术溢出 164
5.3.6 电路的性能问题 164
5.4 快速加法器 165
5.5 使用CAD工具设计算术电路 170
5.5.1 使用原理图编辑工具设计算术
电路 170
5.5.2 使用Verilog设计算术电路 172
5.5.3 使用向量信号 173
5.5.4 使用自动生成语句 174
5.5.5 Verilog中的线网和变量 175
5.5.6 算术赋值语句 176
5.5.7 Verilog代码中数的表示 178
5.6 乘法 180
5.6.1 无符号数的阵列乘法器 181
5.6.2 有符号数的乘法 182
5.7 数的其他表示方法 182
5.7.1 定点数 183
5.7.2 浮点数 183
5.7.3 二-十进制编码 184
5.8 ASCII字符码 186
5.9 问题求解举例 188
练习题 191
参考文献 193
第6章 组合电路构件块 194
6.1 多路选择器 194
6.1.1 用多路选择器的逻辑函数的
综合 197
6.1.2 用香农展开的多路选择器综合 198
6.2 译码器 202
6.3 编码器 205
6.3.1 二进制编码器 205
6.3.2 优先级编码器 206
6.4 码型转换器 207
6.5 算术比较电路 207
6.6 用Verilog表示组合电路 208
6.6.1 条件操作符 208
6.6.2 if-else 语句 209
6.6.3 case 语句 211
6.6.4 for 循环语句 215
6.6.5 Verilog操作符 216
6.6.6 生成结构 220
6.6.7 任务和函数 220
6.7 小结 222
6.8 问题求解举例 223
练习题 228
参考文献 230
第7章 触发器、寄存器、计数器和简单
处理器 232
7.1 基本锁存器 233
7.2 门控SR锁存器 234
7.3 门控D锁存器 236
7.4 主从D触发器和沿触发的D触发器 238
7.4.1 主从D触发器 238
7.4.2 沿触发的D触发器 239
7.4.3 有清零端和预置信号的
D触发器 241
7.4.4 触发器的时序参数 242
7.5 T触发器 243
7.6 JK触发器 244
7.7 术语小结 244
7.8 寄存器 245
7.8.1 移位寄存器 245
7.8.2 并行存取的移位寄存器 246
7.9 计数器 247
7.9.1 异步计数器 247
7.9.2 同步计数器 248
7.9.3 可并行置数的计数器 251
7.10 同步复位 252
7.11 其他类型的计数器 254
7.11.1 BCD计数器 254
7.11.2 环形计数器 255
7.11.3 Johnson计数器 256
7.11.4 计数器设计要点 256
7.12 用CAD工具在设计中加入存储
元件 256
7.12.1 在电路原理图中添加存储
元件 256
7.12.2 用Verilog代码实现存储元件 258
7.12.3 阻塞赋值和非阻塞赋值 259
7.12.4 组合逻辑电路的非阻塞赋值 261
7.12.5 具有清零功能的触发器 261
7.13 用CAD工具在设计中加入寄存器
和计数器 262
7.13.1 在电路原理图中添加寄存器和
计数器 262
7.13.2 在Verilog代码中使用库模块 264
7.13.3 在Verilog代码中使用寄存器
和计数器结构 264
7.14 设计举例 267
7.14.1 总线结构 267
7.14.2 简单的处理器 275
7.14.3 反应计时器 283
7.14.4 寄存器传输级代码 286
7.15 触发器电路的时序分析 286
7.16 小结 288
7.17 问题求解举例 289
练习题 292
参考文献 296
第8章 同步时序电路 298
8.1 基本设计步骤 299
8.1.1 状态图 299
8.1.2 状态表 300
8.1.3 状态分配 300
8.1.4 触发器的选择以及下一个状态
和输出表达式的推导 301
8.1.5 时序图 302
8.1.6 设计步骤小结 303
8.2 状态分配问题 306
8.3 米利型状态模型 308
8.4 用CAD工具设计有限状态机 311
8.4.1 摩尔型有限状态机的Verilog
代码 312
8.4.2 Verilog代码的综合 312
8.4.3 电路的仿真和测试 314
8.4.4 另一种风格的Verilog代码 314
8.4.5 用CAD工具的设计步骤小结 316
8.4.6 在Verilog代码中进行状态分配 316
8.4.7 用Verilog语句来编写米利型
有限状态机 317
8.5 串行加法器举例 318
8.5.1 用米利型有限状态机实现的
串行加法器 318
8.5.2 用摩尔型有限状态机实现的
串行加法器 320
8.5.3 串行加法器的Verilog 代码 321
8.6 状态最小化 324
8.6.1 划分最小化的步骤 324
8.6.2 未完全指定的有限状态机 328
8.7 用时序电路方法设计计数器 329
8.7.1 模8计数器的状态图和状态表 330
8.7.2 状态分配 330
8.7.3 用D触发器实现的计数器 331
8.7.4 用JK触发器实现的计数器 332
8.7.5 举例:一个不同的计数器 335
8.8 用作仲裁器电路的有限状态机 336
8.8.1 仲裁器电路的实现 338
8.8.2 有限状态机输出延迟的最小化 339
8.8.3 小结 340
8.9 同步时序电路的分析 340
8.10 算法状态机图 343
8.11 时序电路的形式化模型 345
8.12 小结 346
8.13 问题求解举例 346
练习题 352
参考文献 355
第9章 异步时序电路 356
9.1 异步行为 356
9.2 异步电路分析 358
9.3 异步电路综合 363
9.4 状态化简 372
9.5 状态分配 380
9.5.1 转移图 381
9.5.2 未指定的下一个状态项的利用 383
9.5.3 使用附加状态变量进行的状态
分配 386
9.5.4 独热状态分配 388
9.6 冒险 389
9.6.1 静态冒险 390
9.6.2 动态冒险 393
9.6.3 冒险的意义 394
9.7 一个完整的设计实例 394
9.8 小结 398
9.9 问题求解举例 399
练习题 403
参考文献 406
第10章 数字系统设计 407
10.1 构件块电路 407
10.1.1 有使能输入的触发器和寄存器 407
10.1.2 有使能输入的移位寄存器 408
10.1.3 静态随机存取存储器 408
10.1.4 可编程逻辑器件中的SRAM块 410
10.2 设计举例 410
10.2.1 位计数电路 410
10.2.2 算法状态机图蕴涵的时序
信息 411
10.2.3 移位相加实现的乘法器 413
10.2.4 除法器 418
10.2.5 算术平均值 425
10.2.6 排序操作 428
10.3 时钟同步 435
10.3.1 时钟偏差 436
10.3.2 触发器的时序参数 436
10.3.3 触发器的异步输入 438
10.3.4 开关的抖动 438
10.4 小结 439
练习题 439
参考文献 442
第11章 逻辑电路测试 443
11.1 故障模型 443
11.1.1 固滞模型 443
11.1.2 单个故障和多个故障 443
11.1.3 CMOS电路 444
11.2 测试集的复杂度 444
11.3 路径的敏感化 445
11.4 树状结构的电路 448
11.5 随机测试 448
11.6 时序电路的测试 450
11.7 内建自测试 453
11.7.1 内建逻辑块观察器 456
11.7.2 签字分析 457
11.7.3 边界扫描 457
11.8 印制电路板 458
11.8.1 印制电路板的测试 459
11.8.2 测试仪器 460
11.9 小结 460
练习题 461
参考文献 462
第12章 计算机辅助设计工具 464
12.1 综合 464
12.1.1 网表的生成 465
12.1.2 门的优化 465
12.1.3 技术映象 467
12.2 物理设计 469
12.2.1 布局 469
12.2.2 布线 470
12.2.3 静态时序分析 471
12.3 小结 472
参考文献 472
部分习题答案 474
*附录A Verilog参考资料
附录B 辅导教材1—使用Quartus II
计算机辅助设计软件
附录C 辅导教材2—用Altera
器件实现电路
附录D 辅导教材3—在FPGA
中的物理实现
附录E 商业器件
下国际象棋是一种游戏,它提供了无与伦比的载体,可在对弈环境下考验人类的智慧。在过去的30年中,下国际象棋起了检测平台的作用,可以用来确定机器仿真人的智力行为的程度。目前的计算机可以运行许多种下棋程序。下棋专用机就是一种由计算机和下棋程序组成的计算机,目前已有能力击败最强大的人类棋手。
1997年,国际商用机器(IBM)公司的深蓝(Deep Blue)下棋专用机,在一场六轮制的比赛中击败了世界冠军盖瑞·卡斯帕罗夫(Garry Kasparov),这是一场终极的挑战。从本质上来讲,这台机器就是逻辑电路、算法和软件的组合,当然还包括知道如何使用这些资源的人。虽然所有这些因素都非常关键,但从下棋能力的角度看,深蓝下棋专用机最大的优势在于开发了功能极其强大的逻辑电路,其中大部分都是通用计算机常用的逻辑电路,但还有一些是为下棋而专门设计的逻辑电路。深蓝下棋专用机究竟为什么会有如此强大的功能呢?关键在于它能在1秒钟内进行2亿次棋子位置的计算。
本书讲解逻辑电路的原理及设计方法。另外,书中还纳入了1997年“人机大战”第六次比赛中的决定性棋步,让读者了解精心设计的逻辑电路是如何达到难以置信的智能程度的。当时深蓝下棋专用机执白子先走。
为了等待原书第2版的出版,以便给读者提供最新版的中文翻译书,在译完第1版后又几乎等了1年,才得到完整的原书第2版。又经过几个月的持续努力,终于把机械工业出版社的翻译任务完成了。回想当初接受出版社邀请的时候,我是十分犹豫的。高质量地完成这么多页教材的翻译所需要花费的时间和精力,对于动过脊柱固定手术、开始进入老年的教师,无疑是一个沉重的负担。何况本人还有120多学时本科生和研究生的教学任务,以及正在进行的科研项目的压力。
2003年北航IC设计硕士班第一次开班时,计算机学院教务处要求我负责该班60多名学生的数字电路基础和设计课程的教学工作,并规定必须用英语授课。为此,我搜寻了五六本国外2000年以后出版的数字电路基础和设计方面的经典教材,仔细比较后,发现McGraw-Hill出版社当年出版的这本书(第1版)最适合这些学生的水准。教材的内容全面细致、概念清楚,与最新技术发展结合得很好,而且与Verilog语言的教学和复杂系统的设计也能很好地衔接,因此毅然决定在教学中选用本书作为教材。
几年的教学实践使我深深体会到当初选择的正确。教材的内容我已非常熟悉,关键部分还编写了详细的教案,这些虽然为翻译本书打下了很好的基础,但离全书完整的翻译还有很大的距离。翻译不但必须忠实原文,而且还要符合中国人的阅读习惯,更何况书中有许多内容在国内的教材中从来未曾涉及过。学生们虽然帮助做了一些翻译工作,但修改整理比完全由我自己翻译所花费的时间还要多。为了准确、通顺地表达书中的内容,我花费了大量的精力。在9个多月的时间里,我抓紧平时点点滴滴的时间,并利用周末、寒假和暑假持续地努力来完成翻译任务。
支持我翻译本书的动力是,我认为这是到目前为止我所看到过的最好的一本教科书。特别要提出的是,本书的第2版已经把辅导教材改成最近流行的Altera Quartus II 6.0工具,作者对职业市场的人才需求做出了非常及时的反应。本书的中文版在作者和Altera公司的帮助下,得以和英文版基本同步出版发行,这对于中国的广大学生是莫大的幸运,有助于他们适应职业市场对人才的需求。本书的内容非常准确、细致和全面,而且对复杂数字电路设计中的关键问题讲解得非常透彻,对于想进入数字设计领域的优秀学生,不需要老师指导,完全可以通过自学掌握本书的全部内容。可能部分读者会认为本书的内容过于细致和烦琐,但我认为这些内容对于想真正掌握关键设计技术和原理的工程师都是必需的,而国内目前出版的教材很少能达到这样准确、细致、深入和全面的程度,原书作者作为教师的负责态度令人感动。
参加本书翻译的人员还包括李鹏、邢小地、宋成伟、霍强、邢志成、李琪、路倩、薛静、沈立、石伟、孙丰达、尹庆立和赵彤,他们每人翻译的初稿从5000~20 000个中文字不等,余下的部分由我自己翻译完成。译稿的修改、整理和最后成文全部由我负责完成。翻译定稿后,我邀请了内蒙古大学计算机学院的须毓孝教授承担本书的最终审阅工作。须教授是我大学时期最好的朋友之一,我们一起在清华大学度过了难忘的青年时代。他极其认真负责地审阅,发现并改正了多处由于我的疏忽而造成的错误。须教授在审阅工作中付出了巨大的努力,最终使本书的翻译工作得以高质量地完成。第2版的翻译修改得到了神州龙芯公司陈岩工程师的帮助,他耐心地帮助我核对了第2版的全部补充翻译,在此表示衷心的感谢。
在本书译稿完成交付印刷之际,谨向在本书翻译过程中所有帮助过我的同学和朋友,以及不断地鼓励我坚持工作的出版社的同志表示由衷的感谢。
夏宇闻
读者书评
发表评论
书名
作者
出版社
ISBN
译者
关键字
丛书名
新书上架
畅销书榜
华章推荐
专题活动
逻辑与计算机设计基础(英文版·第3版)
数字逻辑基础与Verilog设计(英文版)
数字逻辑基础
经济管理
MBA
畅销书
法律
管理类
经济类
企业及企业家传记
企业文化
生活类
心理学
职场
其他
管理类教材
财务管理
电子商务
房地产经营管理
工程管理
工商管理
会计学
旅游管理和饭店管理
人力资源管理
市场营销
物流工程与管理
信息管理与信息系统
公共基础课
教辅考试类
经济类教材
国际经济与贸易
金融学
经济学
计算机
计算机科学理论与基础知识
计算机组织与体系结构
计算机网络
安全
软件与程序设计
软件工程及软件方法学
操作系统
数据库
硬件与维护
数码/设计
中文信息处理
计算机辅助设计与工程计算
办公软件
专用软件
人工智能
考试认证
工具书
计算机控制与仿真
信息系统
电子商务与计算机文化
电子工程
期刊
游戏
IT服务管理
计算机文化用品
综合
通信
无线电、电信设备
通信技术理论与基础
电声技术和语音信号处理
通信线路工程、通信网
通信系统
有线通信
电话
无线通信
保密通信
计算机网络通信/IP技术
无线电和有线电通信联接系统
无线电中继通信、微波通信
卫星通信
光通信与传输
无线电、电子学的应用
标准规范
政策法规
广播
电视
雷达
无线电导航
电子对抗(干扰及抗干扰)
综合
数学
数学文化史
初等数学
高等数学及高等数学相关数学教程
代数,数论及组合理论
分析
几何及拓扑
概率论与数理统计
运筹学
计算数学
函数论
统计
数学实验与数学建模
文科、经管、金融、工程数学
专著及论文集、工具书
控制论,信息论
数理逻辑
动力系统理论
数学考试辅导用书
Matlab
综合
外语
小语种
地图
英语
综合
心理生活
心理学
生活类
其它未分类
站内快速链接
学生用户
教师用户
专业读者
企业用户
图书馆
经销商
图书专区
新书上架
华章推荐
畅销书榜
媒体书评
经管类图书
计算机图书
外语类图书
数学类图书
机电类图书
最新动态
华章动态
行业资讯
新书出版
活动专题
专题活动
专版
论坛
图书区
活动区
媒体区
售前售后服务区
人才招聘
关于我们
认识华章
企业标识
组织结构
图书获奖
联系我们
加盟华章
版权声明
法律条款
版权所有© 2008 北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260