目录 1
前言 1
第1章 绪论 1
1.1 现代数字系统 1
1.1.1 数字系统的概念 1
1.1.2 数字系统的实现 1
1.1.3 数字系统的设计工具 3
1.2 EDA技术的发展 4
1.3 现代数字系统的实现方法 5
思考题 6
第2章 可编程逻辑器件 7
2.1 可编程逻辑器件的发展历程 7
2.2 可编程逻辑器件的基本结构与分类 9
2.3 简单可编程逻辑器件 10
2.3.1 可编程逻辑阵列 11
2.3.2 可编程阵列逻辑和通用阵列逻辑 12
2.4 复杂可编程逻辑器件 14
2.4.1 CPLD的基本结构 15
2.4.2 MAX7000系列器件的主要特点及性能 16
2.4.3 MAX7000器件结构 18
2.4.4 MAX7000器件的配置 25
2.4.5 MAX7000器件的编程 26
2.5 现场可编程门阵列FPGA 28
2.5.1 FPGA的基本结构 28
2.5.2 XC4000系列器件的主要特点及性能 30
2.5.3 XC4000的器件结构 31
2.5.4 可编程互连 51
2.5.5 XC4000器件的编程 60
2.6 选择CPLD还是FPGA 65
思考题 66
第3章 VHDL硬件描述语言 67
3.1 VHDL概述 67
3.1.1 VHDL简介 67
3.1.2 VHDL的基本结构及其优点 72
3.1.3 VHDL术语 75
3.2 VHDL程序结构 76
3.2.1 实体 76
3.2.2 结构体 80
3.2.3 程序包、库和配置 92
3.3 VHDL的数据类型及运算操作符 101
3.3.1 VHDL的数据对象 101
3.3.2 VHDL词法规则与标识符 105
3.3.3 VHDL的数据类型 107
3.3.4 VHDL的运算操作符 117
3.4 VHDL的描述语句 121
3.4.1 顺序语句 122
3.4.2 并行语句 136
3.4.3 属性语句 151
3.5 基本电路的VHDL模型 154
3.5.1 组合逻辑电路的设计 155
3.5.2 时序逻辑电路的设计 162
3.5.3 存储器 171
3.6 有限状态机 177
3.6.1 有限状态机的基本模型 178
3.6.2 状态机的建立过程 183
3.6.3 状态机的状态编码 185
3.6.4 状态机剩余状态处理 188
3.7 仿真与逻辑综合 189
3.7.1 仿真 189
3.7.2 延时模型 191
3.7.3 仿真△ 192
3.7.4 仿真激励信号的产生 193
3.7.5 综合 199
思考题 201
第4章 MAX+plus Ⅱ设计系统 204
4.1 MAX+plus Ⅱ简介 204
4.2 用MAX+plus Ⅱ开发数字系统的流程 209
4.3 设计输入 216
4.3.1 文本输入方式 216
4.3.2 图形输入方式 221
4.3.3 创建和编辑图元 227
4.3.4 波形输入方式 230
4.3.5 使用其他EDA工具生成的文件进行输入 236
4.4 层次化设计 236
4.5 MAX+plus Ⅱ的工程设置 238
4.6 MAX+plus Ⅱ的工程编译 245
4.6.1 MAX+plus Ⅱ编译器简介 245
4.6.2 编译设置 247
4.6.3 工程编译 256
4.6.4 消息处理器 257
4.6.5 查看报告文件 258
4.7 器件适配的查看与编辑 259
4.7.1 平面编辑器简介 259
4.7.2 ACF和FIT文件 264
4.7.3 查看和编辑适配结果 267
4.8 工程仿真 273
4.8.1 仿真简介 273
4.8.2 文件操作 275
4.8.3 运行仿真 280
4.8.4 仿真结果分析 282
4.9 时序分析 286
4.9.1 时序分析简介 286
4.9.2 时序分析设置 288
4.9.3 运行时序分析 291
4.10 编程下载 296
4.10.1 编程文件 296
4.10.2 程序下载方式 300
4.10.3 下载编程与配置文件 302
4.10.4 下载编程的相关操作 305
4.11 Quartus Ⅱ简介 308
思考题 310
第5章 数字电路和系统实验 311
实验一 3-8线译码器 311
实验二 同步计数器 312
实验三 BCD码全加器 313
实验四 4位乘法器 314
实验五 FIFO设计 315
实验六 七段数码显示 316
实验七 电子秒表的实现 317
实验八 数字闹钟的实现 318
参考文献 320
附录A EPM7096管脚封装资料 321
附录B XC4005E/XL管脚封装资料 324