第1章 可编程逻辑器件 1
目标 1
引言 1
1.1数字集成电路的分类 1
1.1.1标准逻辑器件 2
1.1.2微处理器 2
1.1.3专用集成电路 3
1.2标准逻辑器件基础知识 3
1.2.1数字电路的描述 4
1.2.2组合逻辑电路 5
1.2.3时序逻辑电路 6
1.3可编程逻辑器件基础知识 8
1.3.1可编程逻辑器件基础 8
1.3.2可编程逻辑器件内部电路的描述 9
1.3.3可编程逻辑器件内部电路的分类 11
1.4 ALTERA公司的可编程逻辑器件 15
1.4.1复杂可编程逻辑器件 15
1.4.2现场可编程门阵列器件 19
小结 23
习题 23
第2章Quartus Ⅱ开发软件 24
目标 24
引言 24
2.1 Quartus Ⅱ简介 24
2.2 Quartus Ⅱ集成开发软件的工作窗口 26
2.3创建工程 27
2.4设计的输入 32
2.5设计的编译 34
2.6设计的功能仿真 36
2.6.1创建仿真波形文件 36
2.6.2设计的功能仿真 39
2.6.3设计的时序仿真 41
小结 42
习题 42
第3章VHDL程序的结构 44
目标 44
引言 44
3.1 VHDL语言的产生及发展 44
3.2 VHDL程序的最简单结构 46
3.2.1 VHDL程序的基本格式 46
3.2.2 VHDL程序的仿真 47
3.3实体 49
3.3.1实体的格式 49
3.3.2 VHDL语言的标识符 50
3.3.3端口模式 51
3.3.4端口的数据类型 52
3.4结构体 53
3.5 VHDL程序的结构 54
3.5.1 VHDL程序的基本单元 54
3.5.2 VHDL库 55
3.5.3 STD-LOGIC数据类型 56
小结 57
习题 58
第4章 并行语句 59
目标 59
引言 59
4.1数据类型 60
4.1.1预定义的数据类型 60
4.1.2数据类型转换 61
4.2 VHDL的运算符 62
4.2.1赋值运算符 62
4.2.2逻辑运算符 63
4.2.3算术运算符 63
4.2.4关系运算符 63
4.2.5移位操作符 64
4.2.6并置运算符 64
4.3基于逻辑门的组合逻辑电路设计 65
4.3.1 VHDL中逻辑表达式的使用 65
4.3.2 VHDL中真值表的使用 66
4.4并行语句基础知识 69
4.4.1概述 69
4.3.2并行信号赋值语句 69
4.5三态缓冲器 70
4.6编码器 71
4.6.1 8线-3线编码器 71
4.6.2优先编码器 73
4.7译码器 74
4.8数据选择器与数据分配器 75
4.8.1数据选择器 76
4.8.2数据分配器 77
4.9奇偶产生/校验器 78
小结 79
习题 79
第5章 顺序语句 81
目标 81
引言 81
5.1顺序语句介绍 81
5.1.1顺序信号赋值语句 82
5.1.2条件(IF)语句 82
5.1.3选择(CASE)语句 83
5.1.4循环(LOOP)语句 84
5.1.5空操作(NULL)语句 84
5.2进程语句 85
5.2.1进程语句的格式 85
5.2.2进程语句的应用 85
5.2.3 WAIT语句 88
5.3时钟信号的描述 89
5.3.1使用属性描述时钟 89
5.3.2使用测定边沿的函数描述时钟 90
5.4触发器 90
5.4.1简单D触发器 91
5.4.2具有异步复位和置位功能的D触发器 91
5.4.3具有同步复位和置位功能的D触发器 92
5.4.4具有异步复位和置位功能的J-K触发器 93
5.5计数器 95
5.5.1加法计数器 95
5.5.2具有同步置数和进位输出的计数器 96
5.6分频器 97
5.6.1通用整数分频器 97
5.6.2占空比为1/2的奇数分频器 99
5.6.3半整数分频器 100
5.7循环语句 102
5.7.1奇偶校验检测电路 102
5.7.2连“0”检测电路 103
5.8数据对象 104
5.8.1常数 104
5.8.2变量 105
5.8.3信号 105
5.8.4通用属性 107
小结 108
习题 108
第6章 可编程逻辑器件的编程/配置 109
目标 109
引言 109
6.1编程/配置模式 109
6.2 ByteBlaster下载电缆 111
6.2.1 ByteBlasterMV下载电缆 111
6.2.2 JTAG编程/配置模式 113
6.2.3被动串行方式模式 114
6.3可编程逻辑器件的编程/配置 115
6.3.1编程器的设置 115
6.3.2可编程逻辑器件管脚的设置 117
6.4配置芯片 119
6.4.1配置芯片的类型 119
6.4.2配置电路 120
6.4.3配置芯片EPC2的编程 121
小结 124
第7章 状态机 125
目标 125
引言 125
7.1介绍 125
7.2状态机的设计风格 126
7.2.1组合逻辑电路控制输出 127
7.2.2时序逻辑电路控制输出 128
7.3增强状态机程序的可阅读性 130
7.4单一进程的状态机程序 131
7.4.1组合逻辑电路输出的毛刺现象 131
7.4.2输出毛刺现象的克服 133
7.4.3序列信号检测器的设计 135
7.5数字/模拟转换器DAC7611的使用 137
7.5.1数字/模拟转换器DAC7611的介绍 137
7.5.2数字/模拟转换器DAC7611的控制程序 139
小结 143
习题 144
第8章Quartus Ⅱ开发软件深入使用 146
目标 146
引言 146
8.1原理图输入方法 146
8.1.1创建原理图输入文件 147
8.1.2 Quartus Ⅱ开发软件提供的元件 147
8.1.3原理图输入 148
8.2层次化设计 150
8.3存储器的设计 152
8.3.1利用VHDL设计ROM 153
8.3.2定制LPM- ROM初始化数据文件 154
8.3.3定制LPM- ROM元件 155
小结 161
第9章VHDL的深入使用 162
目标 162
引言 162
9.1包集 162
9.2元件 164
9.2.1概述 164
9.2.2在应用程序中声明元件 165
9.2.3在包集中声明元件 166
9.2.4含有GENERIC参数元件使用 168
9.3函数 170
9.3.1概述 170
9.3.2在应用程序中定义函数 171
9.3.2在包集中定义函数 173
9.4过程 174
9.4.1概述 174
9.4.2在应用程序中定义过程 175
9.4.2在包集中定义过程 175
小结 176
习题 176
第10章 时钟电路 178
目标 178
引言 178
10.1时钟产生电路 179
10.1.1基于555定时器的时钟产生电路 179
10.1.2晶体时钟产生电路 179
10.2锁相环 181
10.2.1锁相环的工作原理 181
10.2.2 CycloneⅡ系列芯片中的锁相环模块 182
10.2.3 altpll宏功能模块 183
10.2.4锁相环模块的工作模式 184
10.3锁相环模块的创建 185
小结 194
第11章 信号产生器的设计 196
目标 196
引言 196
11.1概述 197
11.1.1传统的信号产生器设计方案 197
11.1.2基于微处理器和数字/模拟转换器的设计方案 197
11.2直接数字合成技术 198
11.3方案论证 199
11.3.1 DDS信号产生器芯片 199
11.3.2利用微处理器实现DDS信号产生器 201
11.3.3利用可编程逻辑器件实现DDS信号产生器 202
11.4系统设计 204
11.4.1硬件电路的系统设计 204
11.4.2系统代码框图 205
11.5单元电路设计 205
11.5.1数字/模拟转换器 205
11.5.2波形数据表 207
11.5.3相位累加器 208
11.5.4显示电路 208
11.5.5键盘电路 210
11.6系统连调 214
11.6.1各种时钟的产生 214
11.6.2单元电路的组合 216
11.6.3系统测试 219
小结 219
第12章Nios Ⅱ软核处理器 220
目标 220
引言 220
12.1概述 220
12.2配置NiosⅡ软核处理器系统 222
12.2.1创建NiosⅡ软核处理器系统 222
12.2.2配置NiosⅡ软核处理器系统 225
12.3产生NiosⅡ软核处理器系统 230
12.3.1产生NiosⅡ软核处理器系统模块 230
12.3.2NiosⅡ软核处理器系统的产生 230
12.4创建NiosⅡIDE环境下的应用工程 232
12.4.1 NiosⅡIDE工程创建 232
12.4.2 C语言源文件的编辑 233
12.4.3 C语言源文件的编译 236
12.5配置目标现场可编程阵列芯片器件 237
小结 237
参考文献 238