具体描述
内容简介
《VHDL硬件描述语言与数字逻辑电路设计(第四版)》系统地介绍了VHDL硬件描述语言以及用该语言设计数字逻辑电路和数字系统的新方法。全书共13章:第1、3、4、5、6、7、8、9章主要介绍VHDL的基本知识和用其设计简单逻辑电路的基本方法;第2、10章简单介绍数字系统设计的一些基本知识:第11章以洗衣机洗涤控制电路设计为例,详述一个小型数字系统设计的步骤和过程;第12章介绍常用微处理器接口芯片的设计实例;第13章介绍VHDL93版和87版的主要区别。
《VHDL硬件描述语言与数字逻辑电路设计(第四版)》简明扼要,易读易懂,书中所有VHDL程序都用93版标准格式书写。全书以数字逻辑电路设计为主线,用对比手法来说明数字逻辑电路的电原理图和VHDL程序之间的对应关系,并列举了众多实例。另外,从系统设计角度出发,介绍了数字系统设计的一些基本知识及工程设计技巧。
《VHDL硬件描述语言与数字逻辑电路设计(第四版)》既可作为大学本科生教材,也可作为研究生教材,还可供电子电路工程师自学参考。 目录
第1章 数字系统硬件设计概述
1.1 传统的系统硬件设计方法
1.2 利用硬件描述语言的硬件电路设计方法
习题与思考题
第2章 数字系统的算法描述
2.1 数字系统算法流程图描述
2.1.1 算法流程图的符号及描述方法
2.1.2 算法流程图描述数字系统实例
2.2 状态机及算法状态机图描述
2.2.1 状态机的分类及特点
2.2.2 算法状态机流程图的符号及描述方法
2.2.3 算法状态机图描述实例
2.2.4 算法流程图至状态图的变换方法
2.2.5 状态图至算法状态机图的变换方法
2.2.6 C语言流程图至算法状态机图的变换方法
习题与思考题
第3章 VHDL程序的基本结构
3.1 VHDL设计的基本单元及其构成
3.1.1 实体说明
3.1.2 构造体
3.2 VHDL构造体的子结构描述
3.2.1 BLOCK语句结构描述
3.2.2 PROCESS语句结构描述
3.2.3 SUBPROGRAM语句结构描述
3.3 库、包集合及配置
3.3.1 库
3.3.2 包集合
3.3.3 配置
习题与思考题
第4章 VHDL的数据类型与运算操作符
4.1 VHDL的客体及其分类
4.1.1 常数
4.1.2 变量
4.1.3 信号
4.1.4 信号和变量值代入的区别
4.1.5 文件
4.2 VHDL的数据类型
4.2.1 标准的数据类型
4.2.2 用户定义的数据类型
4.2.3 用户定义的子类型
4.2.4 数据类型的转换
4.2.5 数据类型的限定
4.2.6 IEEE标准“STD_LOGIC”和“STD_LOGIC VECTOR”
4.3 VHDL的运算操作符
4.3.1 逻辑运算符
4.3.2 算术运算符
4.3.3 关系运算符
4.3.4 并置运算符
习题与思考题
第5章 VHDL构造体的描述方式
5.1 构造体的行为描述方式
5.1.1 代入语句
5.1.2 延时语句
5.1.3 多驱动器描述语句
5.1.4 GENERIC语句
5.2 构造体的寄存器传输(RTL)描述方式
5.2.1 RTL描述方式的特点
5.2.2 使用RTL描述方式应注意的问题
5.3 构造体的结构描述方式
5.3.1 构造体结构描述的基本框架
5.3.2 COMPONENT语句
5.3.3 COMPONENT_INSTANT语句
习题与思考题
第6章 VHDL的主要描述语句
6.1 顺序描述语句
6.1.1 WAIT语句
6.1.2 断言语句
6.1.3 信号代入语句
6.1.4 变量赋值语句
6.1.5 IF语句
6.1.6 CASE语句
6.1.7 LOOP语句
6.1.8 NEXT语句
6.1.9 EXIT语句
6.2 并发描述语句
6.2.1 进程语句
6.2.2 并发信号代入语句
6.2.3 条件信号代入语句
6.2.4 选择信号代入语句
6.2.5 并发过程调用语句
6.2.6 块语句
6.3 其他语句和有关规定的说明
6.3.1 命名规则和注解的标记
6.3.2 ATTRIBUTE(属性)描述与定义语句
6.3.3 GENERATE语句
习题与思考题
第7章 数值系统的状态模型
7.1 二态数值系统
7.2 三态数值系统
7.3 四态数值系统
7.4 九态数值系统
7.5 十二态数值系统
7.6 四十六态数值系统
习题与思考题
第8章 基本逻辑电路设计
8.1 组合逻辑电路设计
8.1.1 简单门电路
8.1.2 编、译码器与选择器
8.1.3 加法器与求补器
8.1.4 三态门与总线缓冲器
8.2 时序电路设计
8.2.1 时钟信号和复位信号
8.2.2 触发器
8.2.3 寄存器
8.2.4 计数器
8.3 存储器
8.3.1 存储器描述中的共性问题
8.3.2 ROM(只读存储器)
8.3.3 RAM(随机存储器)
8.3.4 FIFO(先进先出堆栈)
习题与思考题
第9章 仿真与逻辑综合
9.1 仿真
9.1.1 仿真输入信息的产生
9.1.2 仿真△
9.1.3 仿真程序模块的书写
9.2 逻辑综合
9.2.1 约束条件
9.2.2 属性描述
9.2.3 2工艺库
9.2.4 逻辑综合的基本步骤
习题与思考题
第10章 数字系统的实际设计技巧
10.1 数字系统优化的基本方法
10.1.1 相同电路的处理
10.1.2 运算顺序的改变
10.1.3 常数运算的运用
10.1.4 相同运算电路的使用
10.1.5 优化的必要性及其工程实际意义
10.2 数字系统设计中的工程实际问题
10.2.1 提高系统工作速度的方法
10.2.2 缩小电路规模和降低功耗的方法
10.2.3 系统误操作的成因及其消除方法
10.2.4.非同步信号的控制方法
10.2.5 典型状态机状态编码的选择
习题与思考题
第11章 洗衣机洗涤控制电路设计实例
11.1 洗衣机洗涤控制电路的性能要求
11.2 洗衣机洗涤控制电路的结构
11.3 洗衣机洗涤控制电路的算法状态机图描述
11.4 洗衣机洗涤控制电路的VHDL描述
习题与思考题
第12章 微处理器接口芯片设计实例.
12.1 可编程并行接口芯片设计实例
12.1.1 8255的引脚与内部结构
12.1.2 8255的工作方式及其控制字
12.1.3 8255的结构设计
12.1.4 8255芯片的VHDL描述
12.1.5 8255芯片VHDL描述模块的仿真
12.2 SCI串行接口芯片设计实例
12.2.1 SCI的引脚与内部结构
12.2.2 串行数据传送的格式与同步控制机构
12.2.3 SCI芯片的VHDL描述
12.2.4 SCI芯片VHDL描述模块的仿真
12.3 键盘接口芯片KBC设计实例
12.3.1 KBC的引脚与内部结构
12.3.2 同步控制机构和查表变换
12.3.3 KBC芯片的VHDL描述
12.3.4 KBC芯片VHDL描述模块的仿真
习题与思考题
第13章 VHDL 93版和87版的主要区别
13.1 VHDL93版的特点
13.2 87版到93版的移植问题
附录A VHDL文法介绍
附录B 属性说明
附录C VHDL标准包集合文件
参考文献 前言/序言
《VHDL硬件描述语言与数字逻辑电路设计(第四版)》是一本为广大电子工程、计算机科学以及相关领域学生和从业人员精心打造的权威教程。本书深入浅出地介绍了数字逻辑电路设计的基础理论与实践方法,并着重于如何运用功能强大的VHDL硬件描述语言来实现复杂的数字系统。第四版在继承前几版优良传统的基础上,进行了全面的更新与修订,内容紧跟行业发展前沿,理论讲解更加严谨,实例分析更加详实,旨在帮助读者建立坚实的数字系统设计基础,并掌握现代EDA(电子设计自动化)工具的使用技巧。 本书内容精要: 第一部分:数字逻辑电路基础 本部分将带领读者回顾并深入理解数字逻辑电路的核心概念。从最基本的逻辑门(AND, OR, NOT, XOR等)开始,逐步过渡到组合逻辑和时序逻辑电路的设计。 二进制数制与逻辑代数: 深入探讨二进制数的表示方式,布尔代数的基本公理、定理和运算规则,以及如何利用卡诺图(Karnaugh Maps)等方法对逻辑函数进行化简,这是设计高效逻辑电路的基石。 组合逻辑电路: 详细讲解各种常用的组合逻辑模块,包括编码器(Encoders)、译码器(Decoders)、多路选择器(Multiplexers)、数据分配器(Demultiplexers)、加法器(Adders)、减法器(Subtractors)、比较器(Comparators)等。本书将通过图示和逻辑表达式,清晰地展示这些模块的工作原理和设计流程。 时序逻辑电路: 重点阐述触发器(Flip-Flops)和锁存器(Latches)的工作特性,以及如何利用它们构建具有记忆功能的时序电路。我们将深入分析各种类型的触发器(SR, JK, D, T),并介绍它们的激励表、状态转换图和状态表。 有限状态机(FSM): 详细介绍有限状态机的概念、设计步骤和实现方法。我们将区分摩尔(Moore)型和米利(Mealy)型状态机,并通过实际案例演示如何设计一个完整状态机,包括状态分配、激励逻辑和输出逻辑的设计。 存储器与可编程逻辑器件: 介绍常用的存储器单元,如SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)的基本结构和工作原理。同时,也将初步介绍PLD(可编程逻辑器件)的种类,如PLA(可编程逻辑阵列)、PAL(可编程阵列逻辑)和CPLD(复杂可编程逻辑器件),为后续VHDL设计打下基础。 第二部分:VHDL硬件描述语言 本部分是本书的核心,将系统性地介绍VHDL语言的语法、结构以及在数字系统设计中的应用。 VHDL简介与基本概念: 介绍VHDL作为IEEE标准硬件描述语言的地位和重要性,以及它与软件编程语言的区别。我们将讲解VHDL程序的基本组成部分,如实体(Entity)、结构(Architecture)、端口(Port)、信号(Signal)、常量(Constant)和变量(Variable)。 数据类型与运算符: 详细介绍VHDL支持的各类数据类型,包括预定义类型(如STD_LOGIC, BIT, BOOLEAN, INTEGER, REAL, TIME)和用户自定义类型(如枚举类型、子类型、数组类型)。我们将全面讲解VHDL中各种逻辑运算符、算术运算符、关系运算符和逻辑运算符的使用。 并发语句与进程(Process): 重点讲解VHDL的并发执行模型,理解信号赋值、组件实例化等并发语句的作用。深入剖析`process`语句,这是描述组合逻辑和时序逻辑的核心结构。我们将通过大量实例,演示如何使用`if-then-else`、`case`、`loop`等语句在进程中描述逻辑。 信号赋值与延迟: 详细阐述`signal`的赋值方式,包括不延迟赋值(non-delay assignment)和延迟赋值(delay assignment),以及它们在描述时序逻辑中的关键作用。 面向结构的设计: 讲解如何通过实例化其他组件(components)来构建复杂的硬件模块,实现模块化的设计思想。我们将介绍组件的声明、实例化以及端口映射。 面向行为的设计: 重点在于使用`process`语句和并发赋值来描述电路的行为,这更接近于高级编程语言的风格,便于描述复杂的逻辑功能。 并发过程与等待语句: 深入理解`wait`语句的不同形式(如`wait on `, `wait until `, `wait for