第一篇 EDA技术基础 3
第1章 概述 3
1.1 EDA技术的含义 3
1.2 EDA技术的主要内容 3
1.3 EDA技术的特点及发展趋势 4
第2章 可编程逻辑器件 6
2.1 概述 6
2.1.1 可编程逻辑器件的发展历程 6
2.1.2 简单可编程逻辑器件的基本结构 8
2.1.3 可编程逻辑器件的主要分类 8
2.2 大规模可编程逻辑器件 9
2.2.1 FPGA的结构与工作原理 9
2.2.2 CPLD的结构与工作原理 12
2.2.3 其他类型的FPGA和CPLD 15
2.2.4 Altera成熟器件及命名规则 15
2.2.5 FPGA和CPLD的开发应用选择 17
2.2.6 Altera配置芯片简介 18
2.3 Altera新型系列器件简介 18
2.3.1 Stratix系列高端FPGA简介 18
2.3.2 Arria系列中端FPGA简介 19
2.3.3 Cyclone系列低端FPGA简介 19
2.3.4 MAX Ⅱ系列低成本CPLD简介 20
2.3.5 HardCopy ASIC系列简介 21
2.4 FPGA/CPLD器件的配置与编程 21
2.4.1 下载电缆 21
2.4.2 配置与编程模式 23
2.4.3 配置方式 26
第3章 Quartus Ⅱ设计基础 28
3.1 概述 28
3.2 Quartus Ⅱ的安装与授权 29
3.3 Quartus Ⅱ设计流程 34
3.4 Quartus Ⅱ设计实例 35
3.4.1 输入设计与编译 35
3.4.2 仿真及时序分析 41
3.4.3 下载实现及硬件测试 46
3.4.4 可参数化宏模块的调用 54
3.4.5 Dsp Builder的应用 59
3.4.6 设计一个简单的CPU系统 69
第4章 硬件描述语言VHDL语法概要 78
4.1 概述 78
4.1.1 VHDL的特点 78
4.1.2 学习VHDL的注意事项 78
4.2 VHDL程序基本结构 79
4.2.1 库 80
4.2.2 实体 81
4.2.3 结构体 82
4.3 VHDL语言要素 83
4.3.1 文字规则 83
4.3.2 数据对象 84
4.3.3 数据类型 84
4.3.4 类型转换 85
4.3.5 运算操作符 86
4.3.6 属性 88
4.4 VHDL的基本描述语句 88
4.4.1 顺序语句 88
4.4.2 并行语句 90
4.4.3 其他语句 94
4.5 子程序、程序包和配置 94
4.5.1 子程序 94
4.5.2 程序包 96
4.5.3 配置 97
第5章 常用模块电路的VHDL设计 98
5.1 常用组合逻辑电路的设计 98
5.1.1 七段译码器 98
5.1.2 优先编码器 99
5.1.3 多路选择器 100
5.1.4 求补器 101
5.1.5 三态门及总线缓冲器 102
5.2 时序逻辑电路的设计 105
5.2.1 触发器的设计 105
5.2.2 移位寄存器的设计 108
5.2.3 计数器的设计 113
5.3 状态机的设计 119
5.3.1 摩尔状态机的设计 119
5.3.2 米里状态机的设计 122
5.4 存储器的设计 124
5.4.1 只读存储器的设计 124
5.4.2 随机存储器的设计 128
5.4.3 堆栈的设计 130
第二篇 实战训练 135
第6章 基础训练 135
6.1 一位全加器原理图输入设计 135
6.2 译码显示电路的设计 136
6.3 含异步清零和同步时钟使能的4位加法计数器的设计 137
6.4 数控分频器的设计 138
6.5 用状态机实现序列检测器的设计 140
6.6 简易正弦信号发送器的设计 143
第7章 综合训练 149
7.1 键盘输入电路的设计 149
7.2 动态输出4位十进制频率计的设计 157
7.3 数字钟的设计 163
7.4 DDS信号源的设计 169
7.5 基于Dsp Builder使用IP Core的FIR滤波器的设计 174
7.6 基于Nios Ⅱ的SD卡音乐播放器的实现 181
附录 189
A.DE2基本资料 189
B.基于MAXⅡ EPM240芯片的WZ型最小系统实验板基本资料 195
C.FPGA/CPLD主要厂商及开发工具简介 197
参考文献 199