第1章 数字系统设计与EDA工具发展 1
1.1 引言 1
1.2 数字系统的设计 1
1.2.1 自上而下的设计 2
1.2.2 自下而上的设计 3
1.2.3 正向设计和逆向设计 3
1.3 EDA技术的基本特征和工具 4
1.3.1 EDA技术的发展 4
1.3.2 EDA技术的范畴 5
1.3.3 EDA技术的基本特征 6
1.3.4 EDA的基本工具 7
1.4 IP核复用技术与SOC 9
1.4.1 IP复用技术 9
1.4.2 系统芯片 10
1.5 硬件描述语言在数字系统设计中的作用 11
1.6 与数字电路有关的CAD技术发展趋势和难题 13
第2章 可编程逻辑器件 15
2.1 概述 15
2.1.1 PLD的优点 15
2.1.2 PLD的发展历程 16
2.1.3 PLD的分类 16
2.2 PLD产品的基本结构 18
2.2.1 PLD结构原理 18
2.2.2 PLD电路的表示方法 19
2.2.3 SPLD的结构(简单的可编程逻辑器件) 19
2.3 复杂可编程逻辑器件现场可编程门阵列 21
2.3.1 概述 21
2.3.2 CPLD结构与原理 21
2.3.3 FPGA结构与原理 24
2.4 FPGA/CPLD产品概述 28
2.4.1 Lattice公司CPLD器件系列 28
2.4.2 Xilinx公司的FPGA和CPLD器件系列 29
2.4.3 Altera公司FPGA和CPLD器件系列 30
2.4.4 Altera的开发工具 32
2.5 可编程逻辑器件的发展趋势 33
第3章 MAX+PLUSⅡ开发系统 35
3.1 MAX+PLUSⅡ的安装与配置 35
3.2 MAX+PLUSⅡ开发系统的特点 36
3.3 设计输入 37
3.3.1 建立一个新项目 38
3.3.2 建立图形设计文件 38
3.3.3 文本输入方式 42
3.3.4 设计的层次 44
3.4 编译设计项目 45
3.5 模拟仿真 48
3.5.1 项目仿真 48
3.5.2 定时分析 51
3.6 器件编程 51
3.6.1 Altera器件的编程文件 51
3.6.2 编程文件的生成和转换 52
3.6.3 器件编程 53
3.7 MAX+PLUSⅡ使用提高 53
3.7.1 使用LPM宏单元库 54
3.7.2 创建元件符号 57
3.7.3 使用EAB单元进行设计 58
3.8 Byteblaster下载电缆及其应用 60
3.8.1 并口下载电缆ByteBlaster 60
3.8.2 编程配置方式 62
第4章 QuartusⅡ设计软件简介 65
4.1 QuartusⅡ简介 65
4.1.1 QuartusⅡ 4.0的特点 65
4.1.2 Quartus Ⅱ软件支持的EDA工具 66
4.2 设计输入 67
4.2.1 建立工程 68
4.2.2 设计输入 71
4.2.3 设计方法与设计规划 78
4.3 设计编译 79
4.3.1 简介 79
4.3.2 使用Quartus Ⅱ编译器 80
4.3.3 使用其他EDA综合工具 81
4.4 仿真 83
4.4.1 简介 83
4.4.2 使用Quartus Ⅱ软件进行仿真 83
4.5 编程与配置 86
4.6 使用宏功能块设计频率计 87
第5章 基于VHDL的数字系统设计 91
5.1 设计中的常见错误及避免方法 91
5.1.1 信号和变量的区别 91
5.1.2 BUFFER模式和内部虚拟信号 93
5.1.3 保留字DOWNTO和TO的用法 93
5.1.4 顺序语句与并行语句的使用 94
5.2 提高数字系统性能的方法 94
5.2.1 提高系统的工作速度 94
5.2.2 耗用资源的考虑 94
5.3 组合逻辑电路的VHDL描述 97
5.3.1 译码器 97
5.3.2 编码器 99
5.3.3 比较器 99
5.3.4 奇偶检验电路 100
5.3.5 用VHDL实现加法器 101
5.4 常用的时序逻辑电路模块设计 102
5.4.1 锁存器和触发器电路设计 102
5.4.2 移位寄存器电路设计 104
5.4.3 计数器电路设计 105
5.4.4 ROM/RAM模块 106
5.4.5 先进先出(FIFO)存储器 107
5.4.6 分频电路设计 108
5.4.7 序列检测器设计 110
5.5 多层次电路设计 112
5.5.1 图形与文本混合设计 112
5.5.2 纯文本描述 116
5.6 《梁祝》乐曲演奏电路设计 117
5.6.1 音符频率的控制 118
5.6.2 音长的控制 118
5.6.3 乐曲演奏电路的VHDL描述 119
5.7 有限状态机(FSM)设计举例 122
5.7.1 基于状态机的设计 122
5.7.2 频率计控制器设计举例 123
5.7.3 几点讨论 125
5.8 正负脉宽数控调制信号发生器 125
5.9 抢答器设计 127
5.9.1 抢答器功能 127
5.9.2 输入部分(INPUT1) 127
5.9.3 八进制计数器 128
5.9.4 数码管显示 129
5.9.5 判断部分 130
第6章 数字电路课程设计 132
6.1 数字钟 132
6.1.1 任务要求 132
6.1.2 数字计时器的基本工作原理 132
6.2 电子密码锁 133
6.2.1 任务要求 133
6.2.2 设计说明和提示 134
6.3 自动售票机 134
6.3.1 任务要求 134
6.3.2 总体设计 134
6.4 乒乓游戏机 134
6.4.1 设计任务 135
6.4.2 设计说明和提示 135
6.5 三层电梯控制器 135
6.6 8 路彩灯控制系统 136
6.7 简单异步通信系统 136
6.8 智能函数发生器 136
6.8.1 设计任务 136
6.8.2 系统设计 136
6.9 卡式电话计费器 137
6.9.1 功能定义 137
6.9.2 功能实现 137
6.10 PCM采编器 138
6.10.1 结构与功能 138
6.10.2 设计与实现 138
6.11 出租车计费器 139
6.11.1 设计任务 139
6.11.2 设计与实现 139
6.12 16×16点阵显示设计 139
6.12.1 设计任务 139
6.12.2 设计实现 139
6.13 交通灯控制器 140
第7章 组合逻辑电路部分实验 141
实验7.1 TTL和CMOS集成逻辑门电气参数测试 141
7.1.1 实验目的 141
7.1.2 实验原理 141
7.1.3 实验内容 144
7.1.4 思考题 145
实验7.2 集成逻辑电路的连接和驱动 145
7.2.1 实验目的 145
7.2.2 实验原理 145
7.2.3 实验内容 147
7.2.4 思考题 148
实验7.3 数字电路基本逻辑门功能验证 148
7.3.1 实验目的 148
7.3.2 实验原理 148
7.3.3 实验内容 151
7.3.4 思考题 153
实验7.4 编码器和译码器 153
7.4.1 实验目的 153
7.4.2 实验原理 153
7.4.3 实验内容 158
7.4.4 思考题 158
实验7.5 数据分配器及数据选择器 159
7.5.1 实验目的 159
7.5.2 实验原理 159
7.5.3 实验内容 160
7.5.4 思考题 161
实验7.6 组合逻辑电路的综合应用 161
7.6.1 实验目的 161
7.6.2 实验原理 161
7.6.3 实验内容 162
第8章 时序逻辑电路 163
实验8.1 触发器及其应用 163
8.1.1 实验目的 163
8.1.2 实验原理 163
8.1.3 实验内容 164
8.1.4 思考题 165
实验8.2 触发器及其应用 165
8.2.1 实验目的 165
8.2.2 实验原理 166
8.2.3 实验内容 167
8.2.4 思考题 167
实验8.3 寄存器及其应用 168
8.3.1 实验目的 168
8.3.2 实验原理 168
8.3.3 实验内容 169
实验8.4 脉冲产生与整形 170
8.4.1 实验目的 170
8.4.2 实验原理 170
8.4.3 实验内容 172
8.4.4 思考题 172
实验8.5 A/D、D/A转换器 172
8.5.1 实验目的 172
8.5.2 实验原理 172
8.5.3 实验内容 176
实验8.6 8路彩灯控制器 177
8.6.1 实验目的 177
8.6.2 实验原理 178
8.6.3 实验内容 180
8.6.4 思考题 180
实验8.7 数字频率计 180
8.7.1 实验目的 180
8.7.2 实验原理 181
8.7.3 实验内容 181
附录1 EDA开发系统使用说明 183
附录2 GW48结构图信号名与芯片引脚对照表 197
附录3 使用VHDL语言编程中常见错误 201
参考网址 202
参考文献 203