数字设计原理与实践(第4版·本科教学版)
基本信息
内容简介回到顶部↑
本书结合作者严谨的学术风范与丰富的实践背景,讲述了插件板级和vlsi系统中的数字设计基本原理和实践需求,提供了广泛的逻辑设计实践,给出了大量实际应用,并配有丰富的练习题。全书共分9章,主要内容包括:数字设计介绍,数制和编码,数字电路,组合逻辑设计原理和实践,硬件描述语言(hdl),时序逻辑设计原理和实践,存储器、cpld和fpga。.
本书条理清晰、简明易懂,可作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的教材,同时也可作为数字设计者的参考书。
本书是一部经过多年教学锤炼的经典教科书,是作者严谨的学术风范与丰富的实践背景的完美结合,具有独到的“功底”。
本书讲述了插件板级和vlsi系统中的数字设计基本原理和实践需求,提供了最广泛的逻辑设计实践,并给出了大量实际应用。本版涵盖了所有流行的hdl(包括verilog、abel和vhdl),而且hdl的介绍穿插在各章中,但以节或小节的形式单独出现,以便读者根据需要进行选择。另外,本版加进了大量新的练习题。..
本书特点
· 逻辑性强,条理清晰。每章开始都简介本章内容,增强了读者阅读的目的性和主动性。
· 对抽象的概念和方法展开生动有趣的讨论,使其更加容易理解和掌握。
· 实用性很强。涉及的实用技术包括abel、vhdl和verilog语言的使用,通过可编程逻辑器件来实现最终的设计等。
· 讲述过程循序渐进,过渡自然。...
本书条理清晰、简明易懂,可作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的教材,同时也可作为数字设计者的参考书。
本书是一部经过多年教学锤炼的经典教科书,是作者严谨的学术风范与丰富的实践背景的完美结合,具有独到的“功底”。
本书讲述了插件板级和vlsi系统中的数字设计基本原理和实践需求,提供了最广泛的逻辑设计实践,并给出了大量实际应用。本版涵盖了所有流行的hdl(包括verilog、abel和vhdl),而且hdl的介绍穿插在各章中,但以节或小节的形式单独出现,以便读者根据需要进行选择。另外,本版加进了大量新的练习题。..
本书特点
· 逻辑性强,条理清晰。每章开始都简介本章内容,增强了读者阅读的目的性和主动性。
· 对抽象的概念和方法展开生动有趣的讨论,使其更加容易理解和掌握。
· 实用性很强。涉及的实用技术包括abel、vhdl和verilog语言的使用,通过可编程逻辑器件来实现最终的设计等。
· 讲述过程循序渐进,过渡自然。...
作译者回到顶部↑
目录回到顶部↑
译者序.
译者简介
前言
第1章 数制和编码
1.1 按位计数制
1.2 八进制和十六进制
1.3 常用按位计数制的转换
1.4 十进制数的二进制编码
1.5 字符编码
参考资料
训练题
练习题
第2章组合逻辑设计原理
2.1 开关代数
2.1.1 公理
2.1.2 单变量定理
2.1.3 二变量定理和三变量定理
2.1.4 n变量定理
2.1.5 对偶性
2.1.6 逻辑函数的标准表示法
译者简介
前言
第1章 数制和编码
1.1 按位计数制
1.2 八进制和十六进制
1.3 常用按位计数制的转换
1.4 十进制数的二进制编码
1.5 字符编码
参考资料
训练题
练习题
第2章组合逻辑设计原理
2.1 开关代数
2.1.1 公理
2.1.2 单变量定理
2.1.3 二变量定理和三变量定理
2.1.4 n变量定理
2.1.5 对偶性
2.1.6 逻辑函数的标准表示法
译者序回到顶部↑
继2003年我们翻译出版了这本教科书的第3版后,时隔才4年第4版又要跟广大读者见面了。对于一本教科书的作者来说,“如何能帮助学生去适应不可避免地要面临的各种变化,这才是最困难的。”主要是因为“在这个领域的一般教科书都因摩尔定律而缩短了它的适用期”。本书仍然在这个方面体现了它值得被推荐给广大读者的理由。.
与前面的各个版本一样,本书仍然保留着共同的特色:条理清楚、生动有趣,增强了读者阅读的目的性和主动性:生动的比喻、有趣的描述和讨论,使抽象的概念和方法更加容易理解和掌握;内容上全面详尽,讲解上细致入微、循序渐进,习题丰富。
本书在内容安排上,较之上一个版本,由原来的11章删减到9章,但是整体篇幅并没有太多减少。被删减的部分主要是那些非核心、非原理性的内容,而增加的部分却是重点加强培养硬件编程能力方面的内容。正如作者在前言中所说的:“本书最重要和最精彩的部分,就是对硬件描述语言ABEL、VHDL和Verilog的讲解。”读者会发现,这些内容对提高硬件编程能力大有裨益,充分体现出本书“与时俱进”的新特点。..
本书不仅适合作为计算机、电子、电气及控制等专业学生的教材,而且对于打算自学这方面内容的读者和技术人员,它也是一本不可多得的好书。
本书由华南师范大学计算机学院林生教授、葛红副教授和金京林副教授共同翻译完成,全书由林生教授审校和统稿。值得说明的是,本书的翻译工作是在上一版的基础上进行的,经征得原来所有译者同意,内容相同的部分仍然引用原来的译文。因此,我们要衷心感谢原来的所有译者。
由于时间和水平有限,书中难免存在错误,敬请读者指正。...
译者
2007年1月
与前面的各个版本一样,本书仍然保留着共同的特色:条理清楚、生动有趣,增强了读者阅读的目的性和主动性:生动的比喻、有趣的描述和讨论,使抽象的概念和方法更加容易理解和掌握;内容上全面详尽,讲解上细致入微、循序渐进,习题丰富。
本书在内容安排上,较之上一个版本,由原来的11章删减到9章,但是整体篇幅并没有太多减少。被删减的部分主要是那些非核心、非原理性的内容,而增加的部分却是重点加强培养硬件编程能力方面的内容。正如作者在前言中所说的:“本书最重要和最精彩的部分,就是对硬件描述语言ABEL、VHDL和Verilog的讲解。”读者会发现,这些内容对提高硬件编程能力大有裨益,充分体现出本书“与时俱进”的新特点。..
本书不仅适合作为计算机、电子、电气及控制等专业学生的教材,而且对于打算自学这方面内容的读者和技术人员,它也是一本不可多得的好书。
本书由华南师范大学计算机学院林生教授、葛红副教授和金京林副教授共同翻译完成,全书由林生教授审校和统稿。值得说明的是,本书的翻译工作是在上一版的基础上进行的,经征得原来所有译者同意,内容相同的部分仍然引用原来的译文。因此,我们要衷心感谢原来的所有译者。
由于时间和水平有限,书中难免存在错误,敬请读者指正。...
译者
2007年1月
前言回到顶部↑
本书写给所有需要设计和构建真正的数字电路的读者。为达到这个目的,读者必须掌握基本原理,同时还必须理解它们在真实世界中的工作情况。本书正是在这种观念的基础上写作而成的,因此确定了“原理与实践”这个主题。.
在过去的30年里,随着集成电路的速度和集成度的快速提高,数字设计实践经历了非常大的转变。过去,数字设计者用成千甚至上万的门电路和触发器来构建系统,专业课程的重点就是最小化和有效地利用芯片及板级资源。
今天,一个芯片可以包含几千万个晶体管并且可以利用编程的方式创建片上系统。过去要实现这样的系统,需要用几百个包含了上百万的单个门电路和触发器的分立芯片来构造。如今,成功的产品开发更多地受限于设计团队正确、完整地定义产品详细功能的能力,而不是受限于团队将需要的所有电路集成到一个电路板或芯片上的能力。因此,现代专业课程的重点是设计方法论和软件工具,包括硬件描述语言(HDL)。设计团队利用HDL可以完成非常大型的分层数字系统的设计。
一方面,利用HDL,我们看到典型设计的抽象层次移向更高的、单个门电路和触发器之上的层次。但是与此同时,芯片级和电路板级的数字电路的速度和集成度的提高,迫使许多数字设计者在较低的电子电路级更具竞争力。
大多数有价值的以及非常成功的数字设计者,都能够熟练地使用或者至少是精通上述两个抽象层次。本书提供了高级(HDL)、低级(电子电路)以及全面的“广泛的中间级”(门电路、触发器和一些较高级的数字设计构件)层次的基础知识。
目标读者
本书可以作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的入门教材。那些不熟悉基本电子学概念或者对数字器件的电气特性不感兴趣的计算机科学专业的学生,可以跳过第3章;书中的其他部分已尽可能地独立于这部分内容。另一方面,具有基本电子学基础的读者,则可通过阅读第3章的内容来快速掌握数字电子学知识。此外,那些不具备电子学基础的学生,可以通过阅读20页的电子教材(在DDPPonline的Elec节中)而获得基础知识。DDPPonline是这本书基于Web的辅助材料的缩写。
虽然本书是入门级的,但比起一般的普通入门教材,它却包含更多的内容。在写作过程中,我发现有许多重要的东西要写进去,而这些东西又不适于斯坦福大学的一学期课程或400页课本。因此,凭我个人的实践经验,把我认为比较重要的所有东西都写进去,由教师或读者自己去决定哪些是最需要的和最重要的。但为了有助于判断,我已经在一些可选节的标题上打了星号。在一般情况下,可以跳过这些节而不影响连贯性。在DDPPonline上可以找到更多的可选材料。
毫无疑问,有些人把本书当做高级教程和实验课本来使用。能力强的学生可以跳过基础部分而直接进入到所喜欢的那部分。本书中最重要和最精彩的部分,就是对硬件描述语言ABEL、VHDL和Verilog的讲解。你会发现,这些内容对提高硬件编程能力大有裨益。
另外,本书也可作为数字设计者的自学参考书。这一部分读者可分为两类:
·新手——刚刚开始从事数字设计,并且在学校里学过很“理论的”逻辑设计课程。这类读者应该集中学习第3章、第5章和7.11~7.13节的一个HDL,以及第6、8、9章,为接触实际课题打基础,做准备。
·老手——有经验的数字设计者。这类读者可能并不需要本书中的“实践性”材料,但是第2、4、7章的原理部分却有助于读者梳理思维,并且讨论了哪些内容是重要的。第6章和第8章中的举例应该会让这部分读者洞察和欣赏到各种各样的设计方法。最后,第5~8章中对ABEL、VHDL以及Verilog语言的描述和举例,都是专门为这部分读者学习基于HDL设计的方法而组织的。
给评论者和其他人的一些话
过去几年里,几个为本书写过评论的计算机科学专业学生和其他一些人对本书前一个版本所涉及的内容和讲述方式提出了意见。对于讲述方式,我只能为我没能力做得更好而道歉。但是,所选择的内容都是我认为一个未来的数字设计者应该知道的内容。由于我也雇佣过很多数字设计者,所以内容方面应该没什么可抱怨的,除非你读本书的目的不是想找一份工作或保留某份工作。
我并非故意回避计算机科学(CS)专业的学生或计算机科学本身。我喜欢CS,而且我本人也接受过很多CS专业教育,有很多CS方面的经验——我可以分析算法,了解编译器和操作系统的内部原理,可以用LISP等语言编写代码。但是今天,我从数字设计公司经理那里听到的最多抱怨,就是刚毕业的学生知道如何很好地写出Verilog或VHDL代码,但对于如何产生好的硬件结果却毫无认识,甚至根本不知道什么叫做“好”!
数字设计不仅仅是编写HDL代码——至少目前还不是。一个芯片设计公司的经理告诉我,他向自称知道如何完成基于HDL的硬件设计的应聘者提出的第一个问题就是,“在一个16位的计数器中有多少个触发器?”这并非是一个很难的问题,可是不能够回答这个问题的应聘者的数目却会让你惊讶!
因此,如果仅仅是为了满足一个CS或其他学位的需要而使用本书,那么我要先道歉,你也许应该选择更复杂的、更正式的、更枯燥的或充满术语的书,或者包含Frisbee语言的书。对前一版本真正有抱怨的都是来自于CS专业或其他非EE-CE的评论者。
另一方面,如果你有一天会成为电路级到系统级的数字设计者,那么务必请你学习本书中所有非选学的内容,包括VHDL或Verilog。学习这些内容应该不困难,因为许多喜欢前一版本的评论者称本书是精确的、逻辑性强的、清晰的、易于理解的、深刻但非常直观的、实用的、完整的、非常好的、非常完美的、有趣的、过渡自然的、诙谐的。当然,我承认本书有点傻或有时(比如现在)有点老土。而且,顺便说一下,甚至有一个CS评论者也说,“我喜欢这本书。”
并不像看起来那么长
有少数评论者认为本书的前一版本太长。目前推出的新版本要稍微短一些,但是,如果包括DDPPonline上的材料的话,实际内容就更多了。(确实如此,前一版本的页数可以用10位二进制编码,而新版加上DDPPonline的页数则需要用11位二进制编码。)但是,请记住:
在过去的30年里,随着集成电路的速度和集成度的快速提高,数字设计实践经历了非常大的转变。过去,数字设计者用成千甚至上万的门电路和触发器来构建系统,专业课程的重点就是最小化和有效地利用芯片及板级资源。
今天,一个芯片可以包含几千万个晶体管并且可以利用编程的方式创建片上系统。过去要实现这样的系统,需要用几百个包含了上百万的单个门电路和触发器的分立芯片来构造。如今,成功的产品开发更多地受限于设计团队正确、完整地定义产品详细功能的能力,而不是受限于团队将需要的所有电路集成到一个电路板或芯片上的能力。因此,现代专业课程的重点是设计方法论和软件工具,包括硬件描述语言(HDL)。设计团队利用HDL可以完成非常大型的分层数字系统的设计。
一方面,利用HDL,我们看到典型设计的抽象层次移向更高的、单个门电路和触发器之上的层次。但是与此同时,芯片级和电路板级的数字电路的速度和集成度的提高,迫使许多数字设计者在较低的电子电路级更具竞争力。
大多数有价值的以及非常成功的数字设计者,都能够熟练地使用或者至少是精通上述两个抽象层次。本书提供了高级(HDL)、低级(电子电路)以及全面的“广泛的中间级”(门电路、触发器和一些较高级的数字设计构件)层次的基础知识。
目标读者
本书可以作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的入门教材。那些不熟悉基本电子学概念或者对数字器件的电气特性不感兴趣的计算机科学专业的学生,可以跳过第3章;书中的其他部分已尽可能地独立于这部分内容。另一方面,具有基本电子学基础的读者,则可通过阅读第3章的内容来快速掌握数字电子学知识。此外,那些不具备电子学基础的学生,可以通过阅读20页的电子教材(在DDPPonline的Elec节中)而获得基础知识。DDPPonline是这本书基于Web的辅助材料的缩写。
虽然本书是入门级的,但比起一般的普通入门教材,它却包含更多的内容。在写作过程中,我发现有许多重要的东西要写进去,而这些东西又不适于斯坦福大学的一学期课程或400页课本。因此,凭我个人的实践经验,把我认为比较重要的所有东西都写进去,由教师或读者自己去决定哪些是最需要的和最重要的。但为了有助于判断,我已经在一些可选节的标题上打了星号。在一般情况下,可以跳过这些节而不影响连贯性。在DDPPonline上可以找到更多的可选材料。
毫无疑问,有些人把本书当做高级教程和实验课本来使用。能力强的学生可以跳过基础部分而直接进入到所喜欢的那部分。本书中最重要和最精彩的部分,就是对硬件描述语言ABEL、VHDL和Verilog的讲解。你会发现,这些内容对提高硬件编程能力大有裨益。
另外,本书也可作为数字设计者的自学参考书。这一部分读者可分为两类:
·新手——刚刚开始从事数字设计,并且在学校里学过很“理论的”逻辑设计课程。这类读者应该集中学习第3章、第5章和7.11~7.13节的一个HDL,以及第6、8、9章,为接触实际课题打基础,做准备。
·老手——有经验的数字设计者。这类读者可能并不需要本书中的“实践性”材料,但是第2、4、7章的原理部分却有助于读者梳理思维,并且讨论了哪些内容是重要的。第6章和第8章中的举例应该会让这部分读者洞察和欣赏到各种各样的设计方法。最后,第5~8章中对ABEL、VHDL以及Verilog语言的描述和举例,都是专门为这部分读者学习基于HDL设计的方法而组织的。
给评论者和其他人的一些话
过去几年里,几个为本书写过评论的计算机科学专业学生和其他一些人对本书前一个版本所涉及的内容和讲述方式提出了意见。对于讲述方式,我只能为我没能力做得更好而道歉。但是,所选择的内容都是我认为一个未来的数字设计者应该知道的内容。由于我也雇佣过很多数字设计者,所以内容方面应该没什么可抱怨的,除非你读本书的目的不是想找一份工作或保留某份工作。
我并非故意回避计算机科学(CS)专业的学生或计算机科学本身。我喜欢CS,而且我本人也接受过很多CS专业教育,有很多CS方面的经验——我可以分析算法,了解编译器和操作系统的内部原理,可以用LISP等语言编写代码。但是今天,我从数字设计公司经理那里听到的最多抱怨,就是刚毕业的学生知道如何很好地写出Verilog或VHDL代码,但对于如何产生好的硬件结果却毫无认识,甚至根本不知道什么叫做“好”!
数字设计不仅仅是编写HDL代码——至少目前还不是。一个芯片设计公司的经理告诉我,他向自称知道如何完成基于HDL的硬件设计的应聘者提出的第一个问题就是,“在一个16位的计数器中有多少个触发器?”这并非是一个很难的问题,可是不能够回答这个问题的应聘者的数目却会让你惊讶!
因此,如果仅仅是为了满足一个CS或其他学位的需要而使用本书,那么我要先道歉,你也许应该选择更复杂的、更正式的、更枯燥的或充满术语的书,或者包含Frisbee语言的书。对前一版本真正有抱怨的都是来自于CS专业或其他非EE-CE的评论者。
另一方面,如果你有一天会成为电路级到系统级的数字设计者,那么务必请你学习本书中所有非选学的内容,包括VHDL或Verilog。学习这些内容应该不困难,因为许多喜欢前一版本的评论者称本书是精确的、逻辑性强的、清晰的、易于理解的、深刻但非常直观的、实用的、完整的、非常好的、非常完美的、有趣的、过渡自然的、诙谐的。当然,我承认本书有点傻或有时(比如现在)有点老土。而且,顺便说一下,甚至有一个CS评论者也说,“我喜欢这本书。”
并不像看起来那么长
有少数评论者认为本书的前一版本太长。目前推出的新版本要稍微短一些,但是,如果包括DDPPonline上的材料的话,实际内容就更多了。(确实如此,前一版本的页数可以用10位二进制编码,而新版加上DDPPonline的页数则需要用11位二进制编码。)但是,请记住:

点击看大图




加载中...
