发表于2024-12-22
VHDL数字设计与计算机设计基础/世界著名计算机教材精选 pdf epub mobi txt 电子书 下载
(1)以循序渐进的方式,由浅入深地介绍数字计算机设计的理论和方法。
(2)利用VHDL语言和可编程逻辑器件完成了一个非常基本的计算机设计。
(3)可作为计算机工程、计算机科学和电子工程等专业的数字设计、计算机设计以及汇编语言编程的教材。
在数字设计所涵盖的章节中,第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由王文强翻译,全书由罗嵘审校。
第1章 布尔代数、布尔函数、VHDL和门
第2章 数制转换、码制和函数最简化
第3章 逻辑电路分析和设计简介
第4章 用VHDL实现组合逻辑电路的设计
第5章 双稳态存储器件的VHDL设计
第6章 用VHDL设计简单的有限状态机
第7章 计算机电路
第8章 电路实现技术
第9章 复杂有限状态机的VHDL设计
第10章 基本的计算机体系结构
第11章 VBC1的汇编语言编程
第12章 设计输入输出电路
第13章 设计指令存储器、加载程序计数器和去抖动电路
第14章 设计多路显示系统
第15章 设计指令译码器
第16章 设计算术逻辑单元
第17章 完成VBC1的设计
第18章 VBC1-E的汇编语言编程
第19章 设计VBC1-E的输入输出电路
第20章 设计VBC1-E的数据存储器电路
第21章 设计VBC1-E的算术、逻辑、移位、旋转和无条件跳转电路
第22章 设计VBC1-E中手动载入时阻止程序执行的电路
第23章 设计VBC1-E的扩展指令存储器
第24章 设计VBC1-E的软件中断电路
第25章 完成VBC1-E的设计
附录
本书可作为大学一年级学生的数字设计课程的教材,也可作为大学二年级或以上学生的计算机设计课程的教材。本书所涉及的内容适合学习计算机工程、计算机科学和电机工程的学生。本书使用螺旋式教学方式:先提出设计问题,然后在相同的章节或后面的章节中,或者当出现一个不同的设计问题时再强调相同的概念,或者用不同的技术研究相同的问题。这样做可以加强记忆。
本书无须先修内容,但是计算机导论及初级编程课程通常会对学生学习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的指令存储器的功能。
网络资源
网站www.mhhe.com/sandige将一些有用的资源提供给学生和教师。学生可以下载本书所用的程序,例如卡诺图浏览器程序、EASY1程序和存储器加载程序。幻灯片、每章结尾处的习题的答案、实验前的激励手段以及实验设计结果只对教师开放。
无错不成书。如果读者发现了未被发现的错误,请将你的评论发邮件给richard@sandige.com。本书网站上会将已发现的错误的最新列表提供给所有读者。
Richard Sandige
Michael Sandige
在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
评分在数字设计所涵盖的章节中,第1章介绍布尔代数的相关知识,引入通用的硬件描述语言VHDL来描述简单的组合逻辑电路,以便读者可以根据需要使用来自不同公司的VHDL工具。第2章简述数字信号与模拟信号的不同,介绍了二进制数制转换方法和二进制码制,并给出了利用卡诺图进行组合逻辑化简的方法。第3章和第4章详细介绍组合逻辑电路的分析和设计方法,以及用VHDL如何设计此类电路。第5章和第6章给出了双稳态存储器和简单有限状态机等时序逻辑电路的VHDL设计方法。第7章给出了计算机设计所涉及的基本电路,特别是加法器电路。第8章给出了采用可编程逻辑器件和多路选择器树结构的电路实现技术。第9章介绍了用VHDL设计复杂有限状态机的方法。
VHDL数字设计与计算机设计基础/世界著名计算机教材精选 pdf epub mobi txt 电子书 下载