第1章 绪论 1
1.1 EDA技术概论 1
1.1.1 EDA技术及发展 2
1.1.2 EDA技术应用 4
1.2 PLD及FPGA/CPLD产品概述 5
1.2.1 PLD技术及发展 6
1.2.2 PLD技术分类 6
1.2.3 PLD产品可编程原理 7
1.2.4 CPLD结构与可编程原理 21
1.2.5 FPGA结构与可编程原理 29
1.2.6 FPGA/CPLD器件配置器件 32
1.3 EDA设计基础(数字系统) 33
小结 36
习题 36
第2章FPGA/CPLD系统设计 37
2.1 FPGA/CPLD设计流程及常用开发工具 37
2.1.1 FPGA/CPLD设计流程 37
2.1.2 FPGA/CPLD常用开发工具 38
2.2 Quartus Ⅱ 9.0软件概述 38
2.2.1 Quartus Ⅱ 9.0软件特点及支持的器件 39
2.2.2 Quartus Ⅱ 9.0软件用户界面及功能简介 40
2.2.3 Quartus Ⅱ 9.0软件设计流程 46
2.2.4 Quartus Ⅱ 9.0软件设计实例 47
2.3 ISE10.1软件概述 54
2.3.1 ISE10.1软件特点及支持的器件 55
2.3.2 ISE10.1软件用户界面及功能简介 55
2.3.3 ISE10.1软件设计实例 60
2.4 Actel Libero IDE v9.1软件概述 63
2.4.1软件特点及支持的器件 63
2.4.2软件用户界面及功能简介 65
2.4.3 Actel Libero IDE v9.1软件设计实例 68
小结 72
习题 73
第3章VHDL基础 74
3.1 VHDL的基本元素 74
3.1.1标识符 74
3.1.2数据对象 76
3.1.3数据类型 80
3.1.4运算操作符 85
3.2 VHDL的语句基础 90
3.2.1进程语句 90
3.2.2信号赋值语句 94
3.2.3顺序描述语句 98
3.2.4并行描述语句 115
3.3 VHDL的属性描述 124
3.3.1值类属性 125
3.3.2函数类属性 128
3.3.3信号类属性 131
3.3.4数据类型类属性 133
3.3.5数据范围类属性 134
小结 135
习题 135
第4章VHDL程序结构 136
4.1 VHDL基本建模结构 136
4.1.1行为描述 136
4.1.2数据流描述 137
4.1.3结构描述 137
4.2 VHDL实体 139
4.2.1实体语句 139
4.2.2参数传递说明语句 139
4.2.3参数传递映射语句 141
4.2.4端口说明语句 141
4.2.5实体说明部分 142
4.3 VHDL结构体 142
4.3.1结构体名 143
4.3.2结构体说明部分 143
4.3.3并行处理语句 143
4.4子程序 144
4.4.1过程 144
4.4.2函数 149
4.5 VHDL库和程序包 154
4.5.1库 154
4.5.2程序包 155
4.6元件和配置 156
4.6.1默认连接和默认配置 156
4.6.2元件配置 159
4.6.3块的配置 161
4.6.4结构体配置 164
小结 164
习题 165
第55章VHDL语言规范化标准及常见Warning分析 166
5.1编码设计 166
5.1.1结构化设计 166
5.1.2代码描述 167
5.1.3内部命名规则 167
5.1.4其他 168
5.2可综合代码描述规则 168
5.2.1概述 168
5.2.2复位 169
5.2.3时钟 172
5.2.4接口异步信号处理 174
5.2.5寄存器和锁存器 175
5.2.6有限状态机 177
5.2.7使用Case语句的多路复用 181
5.2.8编码器 181
5.2.9译码器 185
5.2.10计数器 188
5.2.11运算 188
5.2.12 I/O 190
5.2.13异步设计 191
5.3优化设计 192
5.3.1标准单元实现 193
5.3.2复杂逻辑运算单元共享 193
5.3.3中间信号 193
5.3.4针对目标FPGA的优化 194
5.3.5综合工具设置优化 194
5.4常见Warning分析 195
小结 196
习题 196
第6章NIOS软核SOPC系统设计 197
6.1 Nios Ⅱ软核SOPC系统 197
6.1.1 SOPC技术简介 197
6.1.2 Nios Ⅱ软核SOPC系统结构及开发环境 198
6.2 Nios Ⅱ指令系统 199
6.2.1寄存器结构 199
6.2.2寻址方式 201
6.2.3 Nios Ⅱ指令集 201
6.2.4 Nios Ⅱ定制指令 206
6.3 SOPC硬件系统开发 211
6.3.1硬件开发流程及环境介绍 212
6.3.2创建Quartus Ⅱ工程 212
6.3.3生成Nios Ⅱ系统 214
6.3.4集成Nios Ⅱ系统到Quartus Ⅱ工程 218
6.3.5 Quartus Ⅱ工程编译及下载 219
6.4 SOPC软件系统开发 219
6.4.1软件开发流程及环境介绍 219
6.4.2 HAL系统库 220
6.4.3 Nios Ⅱ IDE用户应用程序建立 220
6.5 Nios Ⅱ外围设备 223
6.5.1 SDRAM控制器 223
6.5.2 CFI控制器 225
6.5.3 EPCS设备控制器 226
6.5.4 PIO控制器 227
6.5.5定时器控制器 227
6.5.6 DMA控制器 229
6.5.7 SPI核 230
6.5.8 UART核 230
6.5.9 JTAGUART核 231
6.5.10系统ID核 232
6.5.11 PLL核 232
6.5.12 mutex核 233
6.6 SOPC系统深入设计——用户定制外设 234
6.6.1元件开发流程 234
6.6.2硬件设计 235
6.6.3软件设计 236
6.6.4验证设计 236
6.6.5共享元件 237
小结 237
习题 237
第7章Altera的IP核工具 238
7.1基本概念 238
7.1.1 IP核的概念 238
7.1.2 Altera可提供的IP核 239
7.2 Altera基本宏功能设计实现 241
7.2.1基本宏功能定制 241
7.2.2基本宏功能实现 244
7.2.3设计实例 247
7.3 Altera IP核设计实现 250
7.3.1 IP核定制 251
7.3.2 IP核实现 253
7.3.3设计实例 254
小结 255
习题 255
第8章Quartus Ⅱ9.0软件功能及常用辅助设计工具 256
8.1 I/O分配验证 256
8.1.1 I/O分配验证简介 257
8.1.2 I/O分配验证运行 260
8.2功率分析 262
8.2.1 Excel-based功率计算器 263
8.2.2 Simulation-based功率估算 266
8.3原理图观察工具 266
8.3.1 RTL阅读器 267
8.3.2技术映射查看器 273
8.4 SignalProbe及SignalTap Ⅱ逻辑分析器 274
8.4.1 SignalProbe 274
8.4.2 SignalTap Ⅱ逻辑分析器 277
8.5时序收敛平面布局规划器和器件规划图 283
8.5.1概述 284
8.5.2设计流程 285
8.6 Quartus Ⅱ9.0支持的第三方工具 293
8.6.1 NativeLink与WYSIWYG 293
8.6.2 Modelsim仿真工具 295
8.6.3 Synplify/Sinplify Pro综合工具 310
小结 315
习题 315
参考文献 316