首页 > 图书中心 >图书详情

VHDL数字设计与计算机设计基础

作者:Richard S. Sandige Michael L. Sandige 著 罗嵘 汪玉 单羿 等译
定价:99
印次:1-1
ISBN:9787302394440
出版日期:2015.11.01
印刷日期:2015.10.28

在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。   计算机设计部分所涵盖的章节分成两部分:第10~17章详细介绍VBC1(非常基本计算机1)的指令、模块和系统设计,第18章和第19章则在VBC1的基础之上,设计了更为复杂的VBC1-E。   除此之外,本书的附录A详细介绍了读者学习本书时的34个设计实验,附录B至附录E给出了完成附录A的设计实验所需的仿真方法、管脚绑定、EASY1工具和将指令加载到存储器中的方法。   本书第1~4章由清华大学电子系罗嵘翻译,第5~7章由王聪翻译,第8~11章由汪玉翻译,第12~16章由单羿翻译,第17~25章由王子龙翻译,附录A至附录E由王文强翻译,全书由罗嵘审校。

more >

本书可作为大学一年级学生的数字设计课程的教材,也可作为大学二年级或以上学生的计算机设计课程的教材。本书所涉及的内容适合学习计算机工程、计算机科学和电机工程的学生。本书使用螺旋式教学方式:先提出设计问题,然后在相同的章节或后面的章节中,或者当出现一个不同的设计问题时再强调相同的概念,或者用不同的技术研究相同的问题。这样做可以加强记忆。   本书无须先修内容,但是计算机导论及初级编程课程通常会对学生学习VHDL和汇编语言编程有所帮助。 本书主要特点 * 本书讲授和使用通用的VHDL代码,以便读者可以根据需要使用来自不同公司的VHDL工具。 * 课程中为了平衡,可同时讲授传统和现代VHDL设计。 * 使用作为互动工具的卡诺图浏览器程序,教给学生使用两变量、三变量和四变量卡诺图的方法。 * 教会学生如何设计4位教学版的VBC1(非常基本计算机1)和VBC1-E(VBC1的增强版本)。这两种不同的计算机版本可以下载到开发板上的FPGA中,且可用汇编语言编程。 * 本书提供编辑/汇编/仿真程序,用来指导学生如何编写4位教学版计算机的程序。 * 本书提供一个存储器加载软件程序,来教会学生如何设计指令存储器的加载器。 * 每章都有一个或多个实验,并用数字编号;许多实验设置了推荐的课前作业,这些作业与编写汇编语言程序或者进行仿真有关。 * 按照书中的每一节给出相应的课后习题。 章节和内容概述   在本书的数字设计部分,第1~9章覆盖了如下内容: * 第1章介绍组合逻辑电路的VHDL(超高速集成电路硬件描述语言)。 * 提供了34个实验,以便学生们通过实践来学习。实验1A至9B为学生们提供了学习如何在实验室设计数字设计的VHDL电路实践。实验的编号与章节的编号对应。可用这些实验布置家庭作业或者特别的大作业。 * 第2章给学生们引入一个使用字母显示系统的七段显示器,学生们可以通过VHDL在FPGA开发板上设计且构建它,来显示滑动开关的高(H)电平或者低(L)电平。该章还介绍了作为交互工具的卡诺图浏览器程序,用于教给学生掌握具有两变量、三变量和四变量的卡诺图。 * 第3章介绍一种手工设计与非/与非和或非/或非形式的组合电路的图形设计方法,然后介绍用VHDL实现的等价设计。该章引入了译码器和多路选择器,以及使用译码器和多路选择器设计电路的手工方法。紧跟这些方法之后的是使用VHDL实现等价设计。该章还介绍了函数和逻辑现象,并向学生展示了如何用逻辑险象覆盖项来消除逻辑险象。 * 第4章介绍组合逻辑电路的VHDL设计,完整地介绍了数据流、行为和结构设计风格。该章提供了包括标量和矢量输入及输出的VHDL实例。 * 第5章给出置位-复位(S-R)锁存器、D锁存器和D触发器的传统设计以及VHDL设计。该章让学生学习如何设计D边沿触发的触发器。实验5A提供了一个D锁存器和一个带CLR(清零)输入的上升沿触发的D触发器实践。实验5B提供了一个8位寄存器和一个带PRE(预置)输入的上升沿触发的D触发器实践。 * 有限状态机设计分为简单和复杂状态机。简单状态机是没有外部输入来改变计数序列的基本计数器。复杂状态机具有外部输入来改变技术序列。第6章介绍简单状态机。该章给出简单状态机的算法方程法,以展示给学生们如何手工设计简单状态 机。该方法实际上可以处理任意大小的状态机,但是它单调枯燥,因为学生必须掌握如何写D激励方程。学生学习如何使用算术方法,当生成一个更慢的时钟频率(或者分频器)时,此方法特别有用。此外,本书引入现态/次态(PS/NS)表格化方法,允许学生使用过程来写出基本计数器的VHDL方程,省去了获得D激励方程的麻烦。本章与传统的状态图一起引入了一种称为计数或者状态序列图的新计数器设计描述。 * 第7章给出了包含三状态输出、数据总线共享、加法器和减法器设计、逐次进位加法器以及超前进位加法器的不同计算机电路。实验7A和7B提供了与第7章相关的特殊组合逻辑系统的设计实践,即一个简单(单比特)错误检测系统和一个4位简单加-减系统。 * 第8章给出的电路实现技术展示了可编程逻辑器件的实现,即PROM、PLA、PAL、GAL和LUT。该章还包括了正逻辑规则和直接极性指示以及如何转换这两种表示的简单介绍。该章给出了模块化设计方法,以展示如何设计MUX和DMUX树。实验8给出了LUT设计系统的设计和测试实验。 * 第9章使用双进程PS/NS方法的复杂状态机的VHDL设计。第一个称为同步过程的进程生成触发器,而第二个称为组合过程的进程译码次态函数以及设计中可能出现的摩尔和米利输出。该章还给出了复杂可编程逻辑器件(CPLD)和FPGA所用的状态机编码风格。实验9A提供了使用平面设计方法来设计单热递增/递减计数器系统的设计实践。实验9B提供了使用层次设计方法来设计十状态的计数器系统的设计实践。该章引入一个同步器电路,通过减少亚稳态的出现概率来改进复杂状态机设计的可靠性。为了讨论的完整性,该章给出两种附加的状态机设计方法:双赋值PS/NS法和混合PS/NS法。   在本书的计算机设计部分,第10~17章覆盖了如下内容: * 在简单介绍哈佛型和普林斯顿(冯·诺依曼)型的计算机结构后,第10章给学生们介绍了一个称为VBC1(Very Basic Computer)的非常基本的哈佛型计算机。学生学习VBC1编程器的寄存器模型、指令集结构以及编写汇编语言的格式。学生可通过实验10中编写VBC1的汇编语言程序来获得其初次体验。附录D提供了称为EASY1的编辑器/汇编器/仿真器1的手册。 * 第11章给出了VBC1所有指令的汇编程序形式、转移函数形式以及机器码形式。该章还给出了VBC1的编程实例和技术。 * 与第12~17章对应的实验允许学生通过FPGA构建、设计和实现VBC1,如果一周完成一个实验,一共需要六周。每周完成的实验数目可由讲授实验课程的老师决定。这些实验提供了推荐的实验前准备内容。 * 第12章介绍了VBC1输入输出(I/O)电路的设计,主要讲述总线分发电路、可加载D寄存器、发光二极管(LED)驱动以及七段显示驱动。 * 第13章给出了指令存储器(用于存储程序)、加载程序计数器(用于加载指令存储器)以及去抖动电路(用于单步执行指令存储器)的设计。该章还着重介绍了门控时钟电路以及如何移出它们。 * 第14章介绍VBC1多路显示系统的设计。为了提供额外的实践,学生在该章学习如何设计一个字显示系统。 * 第15章介绍VBC1指令译码器的设计,因为必须译码每条指令来自动完成指令的执行。 * 第16章介绍VBC1算术逻辑单元(ALU)的设计。除了一个扩展的ALU设计,学生还学习如何用VHDL设计如下电路:移位器电路、桶形移位器电路以及移位寄存器电路。 * 第17章给出了VBC1的最终设计,其中包括允许VBC1在指定的时钟频率下运行的运行程序计数器。所设计的实验17L提供了通过存储器加载程序自动加载程序到VBC1的指令存储器的功能。至此,可通过滑动开关手动加载指令存储器,或者通过VBC1的VHDL代码中指令存储器的初始化预先加载。   在本书的计算机设计部分,第18~25章覆盖了如下内容: * 第18章给出了VBC1-E所有指令的汇编程序形式、转移函数形式以及机器码形式,包括修改的IN和OUT指令(每个都是4端口)、附加的数据存储器指令(STORE和FETCH)、附加的算术和逻辑指令(SUB、NOT、AND、OR和XNOR)、附加的移位和旋转指令(SR1、SL0、SL1、RR和RL)、附加的控制指令(JMP、JMPR和HALT)、附加的软件中断指令(INT和IRET)以及硬件中断功能。VBC1-E的EASY1-E汇编器中还包括了两个汇编命令(BIPROC和EQU)。实验18提供给学生书写和仿真VBC1和VBC1-E汇编语言程序的动手实践。 * 与第19~25章对应的实验允许学生通过FPGA构建、设计和实现VBC1-E,如果一周完成一个实验,一共需要七周。每周完成的实验数目可由讲授实验课程的老师决定。 * 第19章介绍如何扩展VBC1的I/O设计来得到VBC1-E,包括重新设计指令译码 器来处理指令IN和OUT的扩展I/O设计。 * VBC1中不存在数据存储器,所以第20章覆盖了VBC1-E的具有四个存储位置的简单数据存储器的设计。 * 第21章中,学生学习如何增强VBC1的ALU设计,来包含新的算术和逻辑指令,以及新的移位和旋转指令,包括处理附加指令的指令译码器的重新设计。该章给出了新控制指令JMP、JMPR和HALT的设计,以及重新设计指令译码器来处理这些新指令。 * 第22章是非常短的一章,介绍如何设计一个在手工加载过程中阻止程序执行的电路。学生经常发现VBC1-E的手动加载是分散的,于是出现了本书的该章。 * VBC1-E具有附加的存储位置,且第23章覆盖了指令存储器的修改,来包括附加的存储位置。 * VBC1-E具有新的软件中断指令,且第24章覆盖了处理指令INT和IRET所需的电路设计。重新设计指令译码器来处理这些新指令。 * 第25章给出了VBC1-E的最终设计,其中包括硬件中断功能的设计。所设计的实验25L提供了通过存储器加载程序自动加载程序到VBC1-E的指令存储器的功能。 CAD工具和FPGA开发板介绍   对于本书的数字设计部分,使用传统的方法,即手工计算以及VHDL设计来表示电路与系统。对于本书的计算机设计部分,使用VHDL来设计VBC1和VBC1-E。这种方式鼓励学生设计自己的数字系统和(或)游戏。一旦他们掌握了VHDL设计就会发现这很容易。学生不必局限于在小的电路开发板上生成电路,这种情况下他们必须放置IC(集成电路)封装且将它们连在一起。现代数字开发板上所用的FPGA(现场可编程门阵列)芯片消除了这种无聊的任务。本书所用的基本CAD(计算机辅助设计)工具是Xilinx ISE WebPACK。通过Xilinx的网站http://www.xilinx.com/support/download/index.htm,老师和学生可获得ISE WebPACK。   可反复编程一个可编程逻辑FPGA芯片,这是学生掌握技巧和纠正错误的理想方式。对设计的VHDL代码进行仿真,以验证VHDL代码是否正确。如果在VHDL代码的仿真中存在错误,学生们只要找出并改正错误,然后重新进行仿真即可。当仿真正确了,正确VHDL代码的比特形式就可以下载到FPGA芯片。然后学生也就可以在硬件上观察他们的 设计。   Digilent公司制造并出售两款非常流行的FPGA开发板(网站地址为http://www. digilentinc.com),它们是(1)BASYS 2开发板,包括Xilinx生产的Spartan 3E FPGA; (2)NEXYS 2开发板,包括Spartan 3E FPGA。BASYS 2开发板的价格大约为49美元,NEXYS 2开发板的价格大约为99美元。如果将本书用作数字设计课程的教材,BASYS 2开发板或者NEXYS 2开发板都可使用。如果将本书用作计算机设计课程的教材,BASYS 2开发板或者NEXYS 2开发板都可用来设计VBC1-E的精简版本,但需要额外支付大约55?美元购买几个附加的外设模块。NEXYS 2开发板具有附加的可扩展性,允许使用称为FX2 MIB(模块接口板)的扩展板。该扩展板允许用附加的外设模块设计VBC1-E的完整版本。FX2 MIB的价格大约为20美元,而附加的外设模块大约为40美元。 实验介绍   附录A包括34个实验。要完成实验1B至25L,需要使用BASYS 2或者NEXYS 2开发板。这些开发板很常见,且可用已上市的更新的FPGA来替换。这些实验可用其他公司不同的FPGA开发板来实现,只要该FPGA开发板具有所需的输入输出能力,或者修改VHDL代码使之与不同FPGA开发板的输入输出能力匹配就行。也可使用Altera公司的DE1和DE2开发板,用Quartus-Ⅱ软件来实现这些实验,因为本书使用了通用的VHDL代码。DE1和DE2开发板的I/O与BASYS 2和NEXYS 2开发板的稍有不同,因此需要修改通用的VHDL代码以便适应I/O能力的不同。   附录A包括了推荐的实验前准备,所以学生可学习如何修改测试代码或者编写用于仿真其VHDL设计的测试代码。附录B提供了帮助学生修改测试代码的内容。 致谢   非常感谢本书讨论和写作过程中给予有价值建议的众多评论者。希望本书的最终版契合了他们的建议。   Bharat Bhuva Vanderbuilt University   Suresh Borkar Illinois Institute of Technology   C. Hwa Chang Tufts University   Katherine Compton University of Wisconsin-Madison   Steve Crist Western New England College   Nila Y. Desai Sardar Vallabhbhai National Institution of Technology, India   Rahul Dubey DA-IICT (Dhirubhai Ambani Institute of Information and Communication Technology), Gujarat India   Mark Faust Portland State University   Maria Garazaran University of Illinois-Urbana   Roger Haggard Tennessee Technological University   Ronald Hayne The Citadel   M. Nazrul Islam Old Dominion University   Anura Jayasumana Colorado State University   Brock LaMeres Montana State University   Yong Li University of Wisconsin-Platteville   Yufeng Lu Bradley University   Aleksander Malinowski Bradley University   Chad Mano Utah State University   James C. Maxted University of Iowa      David G. Meyer Purdue University   Venkatesan Muthukumar University of Nevada-Las Vegas   Shahin Nazarian University of Southern California   Patricia Nava University of Texas-El Paso   Haluk Ozemek San Jose State University   James K. Peckol University of Washington   Reginald Perry Florida State University   Arvind Rajawat Maulana Azad National Institute of Technology, Bhopal India   Jackie Rice University of Lethbridge   Salam Salloum California State Polytechnic University-Pomona   Martha Sloan Michigan Technological University   James Stine Oklahoma State University   Somanath Tripathy Indian Institute of Technology, Patna India   Kenneth S. Vastola Rensselaer Polytechnic University   Earl Wells University of Alabama-Huntsville   Phillip Wilsey University of Cincinnati      特别致谢Richard的学生Scott Marshall,他开发和撰写了实验17L和25L。Scott还撰写了VBC1-E和VBC1-EL的存储器加载程序。Scott在Digilent公司的BASYS 2和NEXYS?2开发板上实现了该程序,且在Altera公司的DE1和DE2开发板上实现。存储器加载程序提供了自动加载指令比特模式到VBC1和VBC1-E的指令存储器的方法,无须使用开关或者在启动时初始化指令存储器。   还要感谢圣路易斯奥比斯波的加州州立理工大学电机和计算机工程的众多具有奉献精神的勤奋好学的学生们。在撰写本书时,很多学生对我们的工作感兴趣,并在他们上完数字和计算机设计课程后,给出建议和修订。没有这些细心的学生(他们太多了无法一一指名),不可能写出本书。谢谢你们!   没有McGraw-Hill公司的如下人员的热心帮助,本书也不可能顺利出版:Raghu Srinivasan,全球出版人;Peter Massar,高级责任编辑;Lorraine Buczek,策划编辑;以及Jane Mohr,项目经理。我们衷心感谢你们的帮助。   感谢Digilent公司提供BASYS 2和NEXYS 2开发板,使用它们时给予的技术支持,以及提供实验1A和19的照片。帮助我们的人员有Clint Cole、Gene Apperson、Jim O’Dell、Joe Harris、Joshua Pederson、Fiona Cole、Stephanie Roberts、Norman MacDonald和Roy Bean。   感谢Altera公司提供DE1和DE2开发板以及使用它们时给予的技术支持。帮助我们的人员有Blair Fort和Ralene Marcoccia。   Richard个人致谢Xilinx公司,允许他加入ISE软件的内部课程,以及暑假在Xilinx公司与软件和硬件工程师一起工作。帮助过他的人员有Rina Raman、Peter Alfke和Paul Hartke。Richard还要感谢Ken Chapman,他在本书的早期编著过程中阅读了手稿,并给出重要的评论。Ken是Xilinx PicoBlaze微处理器的设计者。Richard在Xilinx工作期间,有很多工程师提供了很好的建议和帮助,发自肺腑地感谢他们!   最后,但同样重要的是,感谢Cal Poly的电机工程系和CPE项目的教师们,他们使得本书变得更好。帮助我们的人员有Jim Harris、Michael Cirovic、Art MacCarley、Albert Liddicoat、Xiao-Hua(Helen) Yu、Tina Smilkstein、David Braun、Dennis Derickson、Fred DePiero、John Oliver、Wayne Pilkington、Lynne Silvovsky、Bryan Mealy、John Saghri和Hugh Smith。他们之中有些使用我们的笔记讲授相关课程,而其他人鼓励或者劝阻我们做某些事情,使得本书能够更好。 网络资源   网站www.mhhe.com/sandige将一些有用的资源提供给学生和教师。学生可以下载本书所用的程序,例如卡诺图浏览器程序、EASY1程序和存储器加载程序。幻灯片、每章结尾处的习题的答案、实验前的激励手段以及实验设计结果只对教师开放。   无错不成书。如果读者发现了未被发现的错误,请将你的评论发邮件给richard@sandige.com。本书网站上会将已发现的错误的最新列表提供给所有读者。   Richard Sandige   Michael Sandige  

more >
扫描二维码
下载APP了解更多

同系列产品more >

图像处理、分析与机器视觉(第4版)...

Milan Sonka,Vaclav Hla
定 价:99元

查看详情
计算机体系结构

Gerard Blanchet, Bertr
定 价:39元

查看详情
操作系统原理与应用(第4版)

Michael Palmer, Michae
定 价:98元

查看详情
软件架构与模式

Joachim Goll 著 贾山
定 价:49元

查看详情
无线移动网络安全(第2版)

Man Young Rhee 著 葛秀
定 价:59元

查看详情
图书分类全部图书
more >
  • 第1章  布尔代数、布尔函数、VHDL和门 1

    1.1  引言 1

    1.2  布尔代数基础 1

    1.2.1  维恩图 2

    1.2.2  布尔函数的黑盒子 3

    1.2.3  基本逻辑符号 4

    1.2.4  布尔代数公理 6

    1.2.5  布尔代数定理 7

    1.2.6  布尔代数定理的证明 8

    1.3  从真值表推导出布尔函数 9

    1.3.1  用函数的1值推导出布尔函数 10

    1.3.2  用函数的0值推导出布尔函数 11

    1.3.3  用最小项和最大项推导出布尔函数 11

    1.4  简单门函数的VHDL设计 14

    1.4.1  NOT函数的VHDL设计 14

    1.4.2  AND函数的VHDL设计 16

    1.4.3  OR函数的VHDL设计 17

    1.4.4  XOR函数的VHDL设计 19

    1.4.5  NAND函数的VHDL设计 20

    1.4.6  NOR函数的VHDL设计 22

    1.4.7  XNOR函数的VHDL设计 23

    1.4.8  BUFFER函数的VHDL设计 25

    1.4.9  用标准形式给出的任意布尔函数的VHDL设计 27

    1.5  有关逻辑门的更多内容 29

    1.5.1  等价门符号 29

    1.5.2  全功能门 30

    1.5.3  等价门电路 30

    1.5.4  门的简化描述名称 31

    1.5.5  门的国际逻辑符号 32

    习题 33

    第2章  数制转换、码制和函数最简化 39

    2.1  引言 39

    2.2  数字电路与模拟电路 39

    2.2.1  人类心脏的数字化信号 39

    2.2....

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘