第1章 概述 1
1.1 EDA技术的发展历程 1
1.2 EDA技术的研究范畴 2
1.3 EDA软件系统的构成 3
1.4 数字系统设计方法 4
1.5 EDA技术的发展趋势 6
本章小结 6
思考与习题 7
第2章 可编程逻辑器件 8
2.1 概述 8
2.1.1 PLD的发展进程 9
2.1.2 PLD的分类 9
2.2 复杂可编程逻辑器件(CPLD) 12
2.3 现场可编程门阵列(FPGA) 18
2.3.1 FPGA的基本工作原理 19
2.3.2 FLEX10K系列器件的基本结构 20
2.3.3 Cyclone Ⅱ器件介绍 26
2.4 可编程逻辑器件的编程与配置 28
2.4.1 CPLD的在系统编程 29
2.4.2 FPGA的配置方式 31
2.5 可编程逻辑器件应用选择原则 32
本章小结 34
思考与习题 35
第3章 集成开发平台Quartus Ⅱ操作基础 36
3.1 Quartus Ⅱ软件的安装 36
3.2 Quartus Ⅱ软件的用户界面 38
3.3 Quartus Ⅱ的开发流程 40
3.3.1 输入设计文件 40
3.3.2 编译设计文件 45
3.3.3 仿真设计文件 50
3.3.4 编程下载设计文件 54
3.4 Quartus Ⅱ中宏功能模块的调用方法 56
3.5 SignalTap Ⅱ逻辑分析仪 59
3.5.1 SignalTap Ⅱ逻辑分析仪的用户界面 59
3.5.2 SignalTap Ⅱ逻辑分析仪的使用流程 60
本章小结 63
思考与习题 64
第4章 VHDL编程基础 65
4.1 硬件描述语言及其特点 65
4.1.1 硬件描述语言的基本概念 65
4.1.2 常用硬件描述语言简介 66
4.1.3 VHDL的特点 66
4.2 VHDL程序基本结构 67
4.2.1 实体描述 69
4.2.2 结构体描述 70
4.2.3 模块设计实例 71
4.3 VHDL语言要素 73
4.3.1 VHDL文字规则 73
4.3.2 VHDL数据对象 75
4.3.3 VHDL数据类型 77
4.3.4 VHDL操作符 84
4.4 VHDL结构体描述方式 88
4.4.1 行为描述方式 88
4.4.2 数据流描述方式 89
4.4.3 结构描述方式 90
本章小结 92
思考与习题 93
第5章 VHDL主要描述语句 94
5.1 概述 94
5.2 行为描述语句 96
5.2.1 赋值语句 96
5.2.2 并行信号赋值语句 97
5.2.3 顺序控制语句 101
5.2.4 NULL语句 111
5.2.5 WAIT语句 112
5.2.6 进程语句 113
5.3 结构描述语句 120
5.3.1 元件例化语句 121
5.3.2 配置语句 124
5.3.3 生成语句 128
5.3.4 块语句 130
本章小结 132
思考与习题 133
第6章 VHDL设计共享 136
6.1 VHDL设计库 136
6.1.1 库的种类 136
6.1.2 库的使用方法 138
6.2 VHDL程序包 139
6.3 VHDL子程序与并行过程调用 142
6.3.1 VHDL函数 142
6.3.2 VHDL重载函数 144
6.3.3 VHDL过程 146
6.3.4 VHDL过程重载 149
本章小结 149
思考与习题 150
第7章 基本逻辑电路设计 151
7.1 组合逻辑电路设计 151
7.1.1 译码器 151
7.1.2 编码器 152
7.1.3 数据选择器 154
7.1.4 数值比较器 155
7.1.5 奇偶校验器 156
7.2 时序逻辑电路设计 157
7.2.1 触发器 157
7.2.2 寄存器 158
7.2.3 分频器 159
7.2.4 计数器 161
本章小结 162
思考与习题 163
第8章 有限状态机的VHDL设计 164
8.1 有限状态机的基本概念 164
8.1.1 有限状态机的基本结构和功能 164
8.1.2 状态机的状态编码 165
8.1.3 有限状态机的技术优势 166
8.2 一般有限状态机的设计 168
8.2.1 一般有限状态机的VHDL组成 168
8.2.2 一般有限状态机的设计示例 169
8.3 摩尔状态机设计 172
8.4 米立状态机设计 174
本章小结 177
思考与习题 178
第9章 数字系统设计实例 179
9.1 数字电子钟设计 179
9.1.1 设计方案 179
9.1.2 顶层设计 179
9.1.3 模块设计 185
9.1.4 实验与验证 197
9.2 简易异步收发器设计 198
9.2.1 异步通讯简介 198
9.2.2 顶层设计 199
9.2.3 模块设计 202
9.2.4 实验与验证 211
9.3 内存读写控制器设计 212
9.3.1 顶层设计 212
9.3.2 模块设计 214
9.3.3 实验与验证 220
9.4 液晶显示控制器设计 221
9.4.1 顶层设计 221
9.4.2 模块设计 222
9.4.3 实验与验证 228
第10章 EDA设计的仿真和测试 229
10.1 仿真简介 229
10.2 Modelsim简介 230
10.2.1 Modelsim的图形用户界面 230
10.2.2 Modelsim仿真步骤 235
10.2.3 Modelsim功能仿真 239
10.2.4 综合后仿真 246
10.2.5 时序仿真 249
10.2.6 Altera仿真库的添加 251
本章小结 254
思考与练习 254
附录A Altera DE2开发板原理图 255
附录B DE2开发板上EP2C35F672C6的引脚分配表 279
参考文献 286