数字逻辑设计
2008-10
清华大学出版社
薛宏熙,胡秀珠 著
326
无
数字逻辑是计算机、自动化和电子工程等专业的本科生核心课程之一,编写本书的基本出发点是理论与实践相结合,基本理论与新的设计方法相结合。这里所说的新的设计方法是指硬件描述语言(Hardware Desct iption LanglJage,HDL)和设计自动化工具(ElectronicDesign Automation,EDA)。 在没有先进的EDA工具的条件下,只能依靠纸和笔进行手工设计,费时费力效果差。使用EDA工具后局面将大为改观,其主要优点是: (1)设计者工作的重点是在理论的指导下对目标电路作精确的描述,将烦琐的细节工作交给EDA工具去做,有利于设计大规模的数字系统。 (2)检验一个设计正确与否可以在EDA工具(模拟验证)的帮助下完成,因而使设计者具备自我检查的能力。 (3)通过实践完成一个特定的任务,必然印象深刻,并且这个设计不是纸面上的图形和文字,而是可以提交给EDA工具、可直接被综合为集成电路的设计。虽然学习EDA工具的使用方法以及学习VHDL都需要花费一定的时间和精力,但是这种付出和收获相比,收获将远大于付出。从教学改革的角度看,这种教学实践实现了和国际接轨,学校教育和产业界接轨。 高等教育强调创新人才的培养,重大理论的创新固然可贵,技术创新、产品创新也具有重要价值。从培养创新型人才出发,本课程必须强调基本理论,其理由是: (1)理论是应用的基石。 (2)只有掌握基本的理论知识才能更好地使用EDA工具。 (3)理论本身也需要继承和创新,如果不在原有的基本理论上创新,就不可能产生今天的EDA工具,而EDA工具的进一步发展仍需依赖理论的创新。限于篇幅,本书对有关EDA方面的理论有所涉及但涉及不深。 培养创新人才需要通过各个教学环节来实现,对于本课程来说,除了用纸、笔完成适量的作业以巩固理论知识之外,更多的练习是使用EDA工具完成一系列设计。学生完成一个设计任务后,谁能告诉他这个设计是否与预期功能相符?是EDA工具。EDA工具提供的模拟波形将显示该目标电路的行为特性。这创造了一个自主学习的环境,当学生完成了一个个任务之后,将逐渐树立信心,使他有勇气面对新的挑战。
本书全书共分8章和两个附录,第1章是逻辑电路导论,第2章介绍门电路的物理实现和特性,第3~4章介绍各种组合逻辑电路及其优化实现,第5章介绍触发器和寄存器,第6章介绍同步时序电路,第7章介绍异步时序电路,第8章以实例介绍数字系统的特点和设计方法,附录A介绍EDA工具Quartus Ⅱ,附录B介绍硬件描述语言VHDL。本书附有光盘,其中包含QuartusⅡ网络版安装软件、本书中的图片、表格以及VHDL源代码,方便学生学习和教师制作课件。 本书的特点是引入电子设计自动化(Electronic Design Automation,EDA)工具和硬件描述语言VHDL,使理论教学和上机实践相结合,使学习基本原理和掌握设计方法相结合。 本书可作为高等院校计算机、自动化、电子工程及相关专业“数字逻辑”课程的教材,也可作为从事相关工作的工程技术人员的参考书。
薛宏熙,清华大学计算机系教授。1962年毕业于清华大学自动控制系,毕业后在清华大学任教,其中1985年至1986年作为访问学者在加拿大多伦多大学进修。研究方向为数字系统设计自动化,包括模拟、逻辑综合、高层次综合、形式验证、软硬件协同设计、系统芯片设计工具研究等。讲授过的课程有:数字逻辑、计算机原理、计算机系统结构、数字系统自动设计、VHDL与集成电路设计等。出版著作有《计算机组成与设计》、《数字系统计算机辅助设计》、《数字系统设计自动化》等,译著有《用Spec C做系统设计》、《VHDL简明教程》、《用VHDL设计电子线路》、《数字逻辑与VHDL设计》等。
第1章 逻辑电路导论1.1 开关电路数学表示方法初步1.1.1 真值表1.1.2 二进制编码1.1.3 真值表的常见形式1.1.4 分析与综合1.2 逻辑代数1.2.1 逻辑代数的基本运算1.2.2 逻辑函数1.2.3 逻辑代数的基本公式和运算规则1.3 用与门、或门和非门进行逻辑综合1.4 公式法化简逻辑函数1.5 卡诺图1.5.1 卡诺图是真值表的图形表示1.5.2 用卡诺图化简逻辑函数1.5.3 概念提升1.6 逻辑函数的标准形式1.6.1 函数的“积之和”表达式1.6.2 函数的“和之积”表达式1.6.3 两种表达形式的互换1.6.4 包含无关项的逻辑函数的化简1.7 表格法化简逻辑函数1.7.1 求质蕴含项集合1.7.2 求最小覆盖1.7.3 表格法小结1.8 解题示例(本章小结)(习题)第2章 数字集成电路的基本元件-门电路2.1 概述2.2 TTL集成门电路2.2.1 TTL与非门简介2.2.2 TTL与非门的外特性及其参数2.2.3 集电极开路的与非门2.2.4 TTL三态门2.3 MOS场效应晶体管2.4 MOS门电路2.4.1 NMOS门电路2.4.2 CMOS门电路2.4.3 其他类型的CMOS门电路2.4.4 CMOS逻辑门电性能分析2.4.5 不同类型逻辑门的配合问题2.5 74系列中小规模集成电路芯片2.6 可编程逻辑器件2.6.1 可编程逻辑阵列PLA2.6.2 可编程阵列逻辑PAL和GAL2.6.3 复杂可编程器件2.6.4 现场可编程门阵列2.6.5 可编程开关的物理实现2.6.6 CPLD和FPGA特点比较(本章小结)(习题)第3章 组合逻辑电路的优化实现3.1 组合逻辑电路的特点与优化实现3.2 单输出函数和多输出函数3.2.1 多输出函数的化简3.2.2 多输出函数的优化实现3.2.3 用EDA工具优化实现组合逻辑电路示例3.3 多级逻辑电路的综合3.3.1 提取公因子3.3.2 功能分解3.4 组合逻辑电路积木块3.4.1 多路选择器3.4.2 用LUT构建更大规模的组合逻辑电路3.4.3 编码器3.4.4 译码器3.4.5 数值比较器3.4.6 算术逻辑运算电路3.5 组合逻辑电路中的竞争和险象3.5.1 险象的分析3.5.2 险象的消除3.6 解题示例(本章小结)(习题)第4章 数的表示方法和算术运算电路4.1 数制和编码4.1.1 数的位置表示法4.1.2 二进制数和十进制数的相互转换4.1.3 八进制数的二进制编码4.1.4 十六进制数的二进制编码4.1.5 十进制数的二进制编码4.1.6 格雷码4.1.7 字符编码4.1.8 奇偶校验码4.2 无符号数的加法运算4.2.1 二进制整数的加法运算4.2.2 BCD码形式的十进制数加法运算4.3 有符号数的表示方法和算术运算4.3.1 二进制定点数的原码表示形式4.3.2 二进制定点数的补码表示形式和加减运算4.3.3 二进制定点数的反码表示形式和加减运算4.4 用EDA工具设计算术运算电路示例(本章小结)(习题)第5章 锁存器、触发器和寄存器5.1 锁存器5.1.1 基本R-S锁存器5.1.2 选通D锁存器5.2 D触发器5.2.1 从总体的角度观察D触发器5.2.2 D触发器和D锁存器的比较5.2.3 带使能控制的D触发器5.3 主从D触发器5.4 其他类型的触发器5.4.1 T触发器5.4.2 JK触发器5.5 寄存器5.6 设计示例(本章小结)(习题)第6章 同步时序电路6.1 同步时序电路概述6.2 同步时序电路的设计6.2.1 状态图和状态表6.2.2 状态分配6.2.3 确定激励函数和输出函数6.2.4 VHDL行为描述与使用EDA工具设汁6.3 状态化简6.3.1 完全规定的有限状态机和不完全规定的有限状态机6.3.2 状态化简算法6.4 同步时序电路中的竞争和险象第7章 异步时序电路第8章 数字系统设计附录A:DEA工具Quartus Ⅱ简介附录B:硬件描述语言VHDL简介参考文献
第3章 组合逻辑电路的优化实现 【课前思考】 (1)数字逻辑电路分为组合逻辑电路和时序逻辑电路,二者有什么区别? (2)怎样以最短的时间实现一个性能价格比最高的目标电路? 【学习指南】 (1)电路设计的首要目标是满足功能要求,其次是优化,即在可用资源的情况下力求成本低且运行速度快(延迟时间短)。若不能同时满足上述要求,则应在性能和价格之间寻求一个适当的折中。 (2)当目标电路的规模很大时,用EDA工具完成一个优化的设计将事半功倍。我们既要掌握逻辑设计的基本理论,又要学会使用EDA工具进行设计,使用EDA工具设计时,以VHDL功能描述为重点。 3.1组合逻辑电路的特点与优化实现 数字逻辑电路可分为组合逻辑电路(combinational logic circuit)和时序逻辑电路(简称时序电路,sequential circuit)。组合逻辑电路的输出仅取决于当前的输入,时序电路的输出不仅取决于当前的输入还取决于当前的状态(简称现态),而当前状态则由先前的状态和先前的输入逐步演变而来,因而和输入信号取值的时间序列有关。 时序逻辑电路的状态由记忆元件保存,组合逻辑电路中则不包含记忆元件。值得注意的是:基本门电路如果通过反馈形成环路,则可能构成记忆元件,即无意间的错误连接也可能造成不希望的记忆元件,这种偶然的错误可能将一个组合逻辑电路实现为时序电路。 组合逻辑电路优化实现的步骤如下。 (1)目标电路的原始描述。真值表、卡诺图、逻辑表达式、逻辑图以及硬件描述语言源代码等都可以作为目标电路的原始描述,关键是原始描述必须准确地描述目标电路的功能,不可有错误、歧义或疏漏。 (2)逻辑化简。从电路的原始描述提取逻辑函数并加以优化,这项工作也可称为与可用资源无关或与物理实现无关的逻辑优化。 (3)与可用资源相关的优化实现。实现一个优化的设计必须以可用资源为基础,通常以表2.4给出的基本门电路作为可用资源。而在另外一些场合,可用资源可能是多路选择器或其他积木块电路。例如,对于可编程逻辑器件(CPLD或FPGA)来说,其宏单元是可用资源。手工设计过程中由设计者进行优化,自动设计过程中则由EDA工具实现优化,这项工作也可称为适配(fitting)或物理映射。
本书可作为高等院校计算机、自动化、电子工程及相关专业“数字逻辑”课程的教材,也可作为从事相关工作的工程技术人员的参考书。
无