
PLD系统设计入门与实践
《PLD系统设计入门与实践》是2016年7月国防工业出版社出版的图书,作者是王建农、王鲲鹏、王伟。
基本介绍
- 书名:PLD系统设计入门与实践
- 作者:王建农、王鲲鹏、王伟
- ISBN:978-7-118-10769-2
- 类别:TP332.1
- 页数:301
- 定价:65.00
- 出版社:国防工业出版社
- 出版时间:2016年7月
- 装帧:平装
- 开本:16开
内容简介
本书系统地介绍了可程式逻辑器件PLD的基本知识,儘可能让读者对PLD系统设计技术有较为全面的了解。PLD的实用性决定了实践环节是不可或缺的,理论与实践的紧密结合是本书的特色。本书兼顾了Xilinx、Altera两家公司的PLD及软体开发平台,由浅入深、循序渐进地引导读者学习和实践,使读者逐步掌握PLD系统设计技术。本书内容包括基础篇和实践篇两部分共11章。基础篇主要介绍EDA技术概述、可程式逻辑器件PLD、VHDL语言、Verilog HDL语言、ISE软体、Quartus II软体、SOPC设计入门等;实践篇介绍了PLD开发实验系统、组合逻辑电路实验、时序逻辑电路实验、PLD设计实例等内容。本书可以作为电子设计人员的自学和参考用书,也可以作为高等院校电子、电气、自动化、计算机等相关专业的教材。
图书目录
第1章 EDA技术概述
1.1 EDA技术的涵义 1
1.2 EDA技术的发展历程 2
1.3 EDA技术的主要内容 2
1.3.1 可程式逻辑器件 2
1.3.2 硬体描述语言 3
1.3.3 EDA软体开发工具 3
1.3.4 实验开发系统 3
1.4 数字系统的设计 3
1.4.1 数字系统的设计模型 3
1.4.2 数字系统的设计準则 4
1.4.3 数字系统的设计步骤 5
1.4.4 数字系统的设计方法 6
1.1 EDA技术的涵义 1
1.2 EDA技术的发展历程 2
1.3 EDA技术的主要内容 2
1.3.1 可程式逻辑器件 2
1.3.2 硬体描述语言 3
1.3.3 EDA软体开发工具 3
1.3.4 实验开发系统 3
1.4 数字系统的设计 3
1.4.1 数字系统的设计模型 3
1.4.2 数字系统的设计準则 4
1.4.3 数字系统的设计步骤 5
1.4.4 数字系统的设计方法 6
1.4.5 两种设计方法的比较 7
1.4.6 EDA技术设计流程 8
1.5 EDA技术的套用形式 9
1.6 EDA技术的发展趋势 10
1.6.1 可程式逻辑器件发展趋势 10
1.6.2 开发工具的发展趋势 11
第2章 可程式逻辑器件PLD
2.1 PLD的发展历程 12
2.2 PLD的分类 14
2.2.1 按PLD集成密度分类 14
2.2.2 按PLD编程方式分类 14
2.2.3 按PLD结构特点分类 15
2.3 阵列型PLD的结构 15
2.3.1 简单PLD的基本结构 15
2.4 现场可程式门阵列FPGA 19
2.4.1 FPGA的分类 19
2.4.2 FPGA的基本结构 20
2.5 边界扫描测试技术 23
2.6 在系统编程ISP 24
第3章 VHDL语言
3.1 VHDL语言概述 26
3.2 VHDL程式结构 26
3.2.1 实体 28
3.2.2 结构体 32
3.2.3 块语句 34
3.2.4 进程 35
3.2.5 子程式 36
3.2.6 库、程式包和配置 40
3.3 VHDL的语言要素 41
1.4.6 EDA技术设计流程 8
1.5 EDA技术的套用形式 9
1.6 EDA技术的发展趋势 10
1.6.1 可程式逻辑器件发展趋势 10
1.6.2 开发工具的发展趋势 11
第2章 可程式逻辑器件PLD
2.1 PLD的发展历程 12
2.2 PLD的分类 14
2.2.1 按PLD集成密度分类 14
2.2.2 按PLD编程方式分类 14
2.2.3 按PLD结构特点分类 15
2.3 阵列型PLD的结构 15
2.3.1 简单PLD的基本结构 15
2.4 现场可程式门阵列FPGA 19
2.4.1 FPGA的分类 19
2.4.2 FPGA的基本结构 20
2.5 边界扫描测试技术 23
2.6 在系统编程ISP 24
第3章 VHDL语言
3.1 VHDL语言概述 26
3.2 VHDL程式结构 26
3.2.1 实体 28
3.2.2 结构体 32
3.2.3 块语句 34
3.2.4 进程 35
3.2.5 子程式 36
3.2.6 库、程式包和配置 40
3.3 VHDL的语言要素 41
3.3.1 VHDL语言的基本语法 41
3.3.2 数据对象 44
3.3.3 数据类型 46
3.3.4 运算操作符 50
3.3.5 属性 52
3.3.6 保留关键字 54
3.4 VHDL的基本语句 54
3.4.1 顺序语句 54
3.4.2 并发语句 62
3.5 VHDL的描述举例 65
3.5.1 VHDL描述风格 65
3.5.2 组合逻辑电路描述举例 70
3.5.3 时序逻辑电路描述举例 73
第4章 Verilog HDL语言
4.1 Verilog HDL语言概述 79
4.1.1 Verilog HDL的发展历史 79
4.1.2 Verilog HDL和 VHDL的比较 79
4.2 Verilog HDL程式基本结构 80
4.2.1 Verilog HDL程式基本结构 80
4.2.2 模组的结构 82
4.3 Verilog HDL语言要素 84
4.3.1 标识符 84
4.3.2 常量、变数和数据类型 85
4.3.3 运算符及表达式 89
4.4 Verilog HDL基本语句 95
4.4.1 赋值语句 96
4.4.2 块语句 98
4.4.3 条件语句 101
4.4.4 循环语句 105
4.4.5 结构说明语句 106
4.4.6 编译预处理 111
4.5 Verilog HDL描述举例 115
4.5.1 Verilog HDL描述风格 116
4.5.2 组合逻辑电路描述举例 118
4.5.3 时序逻辑电路描述举例 121
第5章 ISE软体
5.1 ISE软体主界面 124
5.2 ISE软体设计流程 125
5.2.1 设计输入 126
5.2.2 综合最佳化 126
5.2.3 实现 126
5.2.4 仿真验证 127
5.2.5 编程配置 127
5.3 用ISE软体新建工程 127
5.4 原理图编辑设计方法 130
5.4.1 新建工程档案 131
5.4.2 新建原理图档案 131
5.4.3 基于XST的综合 137
5.4.4 基于ISE的仿真 140
5.4.5 基于ISE的实现 143
5.4.6 使用Floorplan分配引脚 143
3.3.2 数据对象 44
3.3.3 数据类型 46
3.3.4 运算操作符 50
3.3.5 属性 52
3.3.6 保留关键字 54
3.4 VHDL的基本语句 54
3.4.1 顺序语句 54
3.4.2 并发语句 62
3.5 VHDL的描述举例 65
3.5.1 VHDL描述风格 65
3.5.2 组合逻辑电路描述举例 70
3.5.3 时序逻辑电路描述举例 73
第4章 Verilog HDL语言
4.1 Verilog HDL语言概述 79
4.1.1 Verilog HDL的发展历史 79
4.1.2 Verilog HDL和 VHDL的比较 79
4.2 Verilog HDL程式基本结构 80
4.2.1 Verilog HDL程式基本结构 80
4.2.2 模组的结构 82
4.3 Verilog HDL语言要素 84
4.3.1 标识符 84
4.3.2 常量、变数和数据类型 85
4.3.3 运算符及表达式 89
4.4 Verilog HDL基本语句 95
4.4.1 赋值语句 96
4.4.2 块语句 98
4.4.3 条件语句 101
4.4.4 循环语句 105
4.4.5 结构说明语句 106
4.4.6 编译预处理 111
4.5 Verilog HDL描述举例 115
4.5.1 Verilog HDL描述风格 116
4.5.2 组合逻辑电路描述举例 118
4.5.3 时序逻辑电路描述举例 121
第5章 ISE软体
5.1 ISE软体主界面 124
5.2 ISE软体设计流程 125
5.2.1 设计输入 126
5.2.2 综合最佳化 126
5.2.3 实现 126
5.2.4 仿真验证 127
5.2.5 编程配置 127
5.3 用ISE软体新建工程 127
5.4 原理图编辑设计方法 130
5.4.1 新建工程档案 131
5.4.2 新建原理图档案 131
5.4.3 基于XST的综合 137
5.4.4 基于ISE的仿真 140
5.4.5 基于ISE的实现 143
5.4.6 使用Floorplan分配引脚 143
5.4.7 使用UCF档案分配引脚 144
5.4.8 下载验证 145
5.5 文本编辑设计方法 147
5.5.1 新建工程档案 148
5.5.2 新建文本档案 148
5.5.3 代码模板的使用 149
5.6 混合编辑设计方法 151
5.6.1 新建顶层工程档案 151
5.6.2 编辑模组的VHDL程式并生成元件符号 151
5.6.3 设计顶层电路原理图 152
5.6.4 设计的实现 155
第6章 Quartus II软体
6.1 QuartusⅡ软体主视窗 156
6.2 Quartus II软体设计流程 157
6.2.1 设计输入 157
6.2.2 综合最佳化 158
6.2.3 布局布线 158
6.2.4 仿真验证 158
6.2.5 编程配置 158
6.3 用Quartus II软体新建工程 159
6.4 原理图编辑设计方法 162
6.4.1 新建工程档案 162
6.4.2 新建原理图档案 162
6.4.3 编译工程 166
6.4.4 新建仿真矢量波形档案 169
6.4.5 波形仿真 172
6.4.6 I/O引脚分配 173
6.4.7 下载验证 175
6.5 文本编辑设计方法 177
6.5.1 新建工程档案 177
6.5.2 新建文本档案 177
6.5.3 编译工程 180
6.5.4 新建仿真矢量波形档案 180
6.5.5 波形仿真 182
6.5.6 I/O引脚分配 183
6.5.7 下载验证 183
6.6 混合编辑设计方法 184
6.6.1 新建工程档案 184
6.6.2 新建文本档案 184
6.6.3 新建原理图档案 186
6.6.4 编译工程 187
6.6.5 I/O引脚分配 187
6.6.6 下载验证 188
第7章 SOPC设计入门
7.1 SOPC概述 190
5.4.8 下载验证 145
5.5 文本编辑设计方法 147
5.5.1 新建工程档案 148
5.5.2 新建文本档案 148
5.5.3 代码模板的使用 149
5.6 混合编辑设计方法 151
5.6.1 新建顶层工程档案 151
5.6.2 编辑模组的VHDL程式并生成元件符号 151
5.6.3 设计顶层电路原理图 152
5.6.4 设计的实现 155
第6章 Quartus II软体
6.1 QuartusⅡ软体主视窗 156
6.2 Quartus II软体设计流程 157
6.2.1 设计输入 157
6.2.2 综合最佳化 158
6.2.3 布局布线 158
6.2.4 仿真验证 158
6.2.5 编程配置 158
6.3 用Quartus II软体新建工程 159
6.4 原理图编辑设计方法 162
6.4.1 新建工程档案 162
6.4.2 新建原理图档案 162
6.4.3 编译工程 166
6.4.4 新建仿真矢量波形档案 169
6.4.5 波形仿真 172
6.4.6 I/O引脚分配 173
6.4.7 下载验证 175
6.5 文本编辑设计方法 177
6.5.1 新建工程档案 177
6.5.2 新建文本档案 177
6.5.3 编译工程 180
6.5.4 新建仿真矢量波形档案 180
6.5.5 波形仿真 182
6.5.6 I/O引脚分配 183
6.5.7 下载验证 183
6.6 混合编辑设计方法 184
6.6.1 新建工程档案 184
6.6.2 新建文本档案 184
6.6.3 新建原理图档案 186
6.6.4 编译工程 187
6.6.5 I/O引脚分配 187
6.6.6 下载验证 188
第7章 SOPC设计入门
7.1 SOPC概述 190
7.1.1 片上系统 190
7.1.2 可程式片上系统 190
7.2 NiosII嵌入式处理器简介 191
7.2.1 NiosⅡ嵌入式处理器主要特性 192
7.2.2 NiosⅡ嵌入式处理器结构 193
7.2.3 NiosⅡ嵌入式处理器运行模式 194
7.2.4 暂存器档案 194
7.2.5 算术逻辑单元ALU 195
7.2.6 异常和中断控制 196
7.2.7 存储器与I/O组织 196
7.3 Avalon系统互连结构汇流排 198
7.3.1 Avalon汇流排基本概念 199
7.3.2 Avalon汇流排特点 201
7.3.3 Avalon汇流排为外设提供的服务 201
7.3.4 Avalon汇流排传输模式 202
7.4 HAL系统库简介 202
7.4.1 HAL SOPC系统的层次结构 202
7.4.2 HAL系统库的特点 203
7.4.3 基于HAL系统库设计应用程式 204
7.5 SOPC设计流程 204
7.5.1 SOPC硬体设计流程 205
7.5.2 SOPC软体设计流程 206
7.6 SOPC设计举例 206
7.6.1 用Quartus II软体新建档案 206
7.6.2 用SOPC Builder软体生成硬体系统 206
7.6.3 用Quartus II软体处理硬体系统 211
7.6.4 用Nios II IDE软体设计应用程式 213
第8章 PLD开发实验系统
8.1 PLD开发实验系统的结构 221
8.2 EPM1270核心板 221
8.3 XC95288XL核心板 222
8.4 EP2C5Q208核心板 222
8.5 MAGIC3200扩展板 223
第9章 组合逻辑电路实验
9.1 实验1 门电路实验 224
9.1.1 实验目的 224
9.1.2 实验设备 224
9.1.3 实验原理 224
9.1.4 实验步骤 225
9.1.5 实验结果 225
9.1.6 参考程式及引脚分配 225
9.2 实验2 全加器实验 226
9.2.1 实验目的 226
9.2.2 实验设备 226
7.1.2 可程式片上系统 190
7.2 NiosII嵌入式处理器简介 191
7.2.1 NiosⅡ嵌入式处理器主要特性 192
7.2.2 NiosⅡ嵌入式处理器结构 193
7.2.3 NiosⅡ嵌入式处理器运行模式 194
7.2.4 暂存器档案 194
7.2.5 算术逻辑单元ALU 195
7.2.6 异常和中断控制 196
7.2.7 存储器与I/O组织 196
7.3 Avalon系统互连结构汇流排 198
7.3.1 Avalon汇流排基本概念 199
7.3.2 Avalon汇流排特点 201
7.3.3 Avalon汇流排为外设提供的服务 201
7.3.4 Avalon汇流排传输模式 202
7.4 HAL系统库简介 202
7.4.1 HAL SOPC系统的层次结构 202
7.4.2 HAL系统库的特点 203
7.4.3 基于HAL系统库设计应用程式 204
7.5 SOPC设计流程 204
7.5.1 SOPC硬体设计流程 205
7.5.2 SOPC软体设计流程 206
7.6 SOPC设计举例 206
7.6.1 用Quartus II软体新建档案 206
7.6.2 用SOPC Builder软体生成硬体系统 206
7.6.3 用Quartus II软体处理硬体系统 211
7.6.4 用Nios II IDE软体设计应用程式 213
第8章 PLD开发实验系统
8.1 PLD开发实验系统的结构 221
8.2 EPM1270核心板 221
8.3 XC95288XL核心板 222
8.4 EP2C5Q208核心板 222
8.5 MAGIC3200扩展板 223
第9章 组合逻辑电路实验
9.1 实验1 门电路实验 224
9.1.1 实验目的 224
9.1.2 实验设备 224
9.1.3 实验原理 224
9.1.4 实验步骤 225
9.1.5 实验结果 225
9.1.6 参考程式及引脚分配 225
9.2 实验2 全加器实验 226
9.2.1 实验目的 226
9.2.2 实验设备 226
9.2.3 实验原理 226
9.2.4 实验步骤 227
9.2.5 实验结果 227
9.2.6 参考程式及引脚分配 228
9.3 实验3 2-4解码器实验 228
9.3.1 实验目的 228
9.3.2 实验设备 228
9.3.3 实验原理 229
9.3.4 实验步骤 229
9.3.5 实验结果 229
9.3.6 参考程式及引脚分配 230
9.4 实验4 4-2编码器实验 230
9.4.1 实验目的 230
9.4.2 实验设备 231
9.4.3 实验原理 231
9.4.4 实验步骤 231
9.4.5 实验结果 232
9.4.6 参考程式及引脚分配 232
9.5 实验5 数据选择器实验 233
9.5.1 实验目的 233
9.5.2 实验设备 233
9.5.3 实验原理 233
9.5.4 实验步骤 233
9.5.5 实验结果 234
9.5.6 参考程式及引脚分配 234
9.6 实验6 数据比较器实验 235
9.6.1 实验目的 235
9.6.2 实验设备 235
9.6.3 实验原理 235
9.6.4 实验步骤 236
9.6.5 实验结果 236
9.6.6 参考程式及引脚分配 236
9.7 实验7 显示解码器实验 237
9.7.1 实验目的 237
9.7.2 实验设备 237
9.7.3 实验原理 238
9.7.4 实验步骤 238
9.7.5 实验结果 239
9.7.6 参考程式及引脚分配 239
第10章 时序逻辑电路实验
10.1 实验8 触发器实验 241
10.1.1 实验目的 241
10.1.2 实验设备 241
10.1.3 实验原理 241
10.1.4 实验步骤 242
10.1.5 实验结果 242
10.1.6 参考程式及引脚分配 243
10.2 实验9 分频器实验 243
10.2.1 实验目的 243
10.2.2 实验设备 244
9.2.4 实验步骤 227
9.2.5 实验结果 227
9.2.6 参考程式及引脚分配 228
9.3 实验3 2-4解码器实验 228
9.3.1 实验目的 228
9.3.2 实验设备 228
9.3.3 实验原理 229
9.3.4 实验步骤 229
9.3.5 实验结果 229
9.3.6 参考程式及引脚分配 230
9.4 实验4 4-2编码器实验 230
9.4.1 实验目的 230
9.4.2 实验设备 231
9.4.3 实验原理 231
9.4.4 实验步骤 231
9.4.5 实验结果 232
9.4.6 参考程式及引脚分配 232
9.5 实验5 数据选择器实验 233
9.5.1 实验目的 233
9.5.2 实验设备 233
9.5.3 实验原理 233
9.5.4 实验步骤 233
9.5.5 实验结果 234
9.5.6 参考程式及引脚分配 234
9.6 实验6 数据比较器实验 235
9.6.1 实验目的 235
9.6.2 实验设备 235
9.6.3 实验原理 235
9.6.4 实验步骤 236
9.6.5 实验结果 236
9.6.6 参考程式及引脚分配 236
9.7 实验7 显示解码器实验 237
9.7.1 实验目的 237
9.7.2 实验设备 237
9.7.3 实验原理 238
9.7.4 实验步骤 238
9.7.5 实验结果 239
9.7.6 参考程式及引脚分配 239
第10章 时序逻辑电路实验
10.1 实验8 触发器实验 241
10.1.1 实验目的 241
10.1.2 实验设备 241
10.1.3 实验原理 241
10.1.4 实验步骤 242
10.1.5 实验结果 242
10.1.6 参考程式及引脚分配 243
10.2 实验9 分频器实验 243
10.2.1 实验目的 243
10.2.2 实验设备 244
10.2.3 实验原理 244
10.2.4 实验步骤 244
10.2.5 实验结果 244
10.2.6 参考程式及引脚分配 245
10.3 实验10 移位暂存器实验 245
10.3.1 实验目的 245
10.3.2 实验设备 245
10.3.3 实验原理 246
10.3.4 实验步骤 246
10.3.5 实验结果 247
10.3.6 参考程式及引脚分配 247
10.4 实验11 计数器实验 248
10.4.1 实验目的 248
10.4.2 实验设备 248
10.4.3 实验原理 248
10.4.4 实验步骤 249
10.4.5 实验结果 249
10.4.6 参考程式及引脚分配 250
10.5 实验12 数字电子钟实验 251
10.5.1 实验目的 251
10.5.2 实验设备 251
10.5.3 实验原理 252
10.5.4 实验步骤 252
10.5.5 实验结果 253
10.5.6 数字电子钟VHDL参考程式 253
10.5.7 数字电子钟引脚分配 256
第11章 PLD设计实例
11.1 实例1 8×8LED点阵扫描 257
11.1.1 实例现象 257
11.1.2 重点与难点 257
11.1.3 实例说明 257
11.1.4 实例VHDL参考程式 259
11.2 实例2 RS232串口通信 261
11.2.1 实例现象 261
11.2.2 重点与难点 261
11.2.3 实例说明 261
11.2.4 实例VHDL参考程式 262
11.3 实例3 数字电压表 268
11.3.1 实例现象 268
11.3.2 重点与难点 268
11.3.3 实例说明 268
11.3.4 实例VHDL参考程式 269
11.4 实例4 红外线报警器 274
11.4.1 实例现象 274
11.4.2 重点与难点 274
11.4.3 实例说明 274
11.4.4 实例VHDL参考程式 275
11.5 实例5 LCD1602字元液晶显示 276
11.5.1 实例现象 276
11.5.2 重点与难点 276
11.5.3 实例说明 276
10.2.4 实验步骤 244
10.2.5 实验结果 244
10.2.6 参考程式及引脚分配 245
10.3 实验10 移位暂存器实验 245
10.3.1 实验目的 245
10.3.2 实验设备 245
10.3.3 实验原理 246
10.3.4 实验步骤 246
10.3.5 实验结果 247
10.3.6 参考程式及引脚分配 247
10.4 实验11 计数器实验 248
10.4.1 实验目的 248
10.4.2 实验设备 248
10.4.3 实验原理 248
10.4.4 实验步骤 249
10.4.5 实验结果 249
10.4.6 参考程式及引脚分配 250
10.5 实验12 数字电子钟实验 251
10.5.1 实验目的 251
10.5.2 实验设备 251
10.5.3 实验原理 252
10.5.4 实验步骤 252
10.5.5 实验结果 253
10.5.6 数字电子钟VHDL参考程式 253
10.5.7 数字电子钟引脚分配 256
第11章 PLD设计实例
11.1 实例1 8×8LED点阵扫描 257
11.1.1 实例现象 257
11.1.2 重点与难点 257
11.1.3 实例说明 257
11.1.4 实例VHDL参考程式 259
11.2 实例2 RS232串口通信 261
11.2.1 实例现象 261
11.2.2 重点与难点 261
11.2.3 实例说明 261
11.2.4 实例VHDL参考程式 262
11.3 实例3 数字电压表 268
11.3.1 实例现象 268
11.3.2 重点与难点 268
11.3.3 实例说明 268
11.3.4 实例VHDL参考程式 269
11.4 实例4 红外线报警器 274
11.4.1 实例现象 274
11.4.2 重点与难点 274
11.4.3 实例说明 274
11.4.4 实例VHDL参考程式 275
11.5 实例5 LCD1602字元液晶显示 276
11.5.1 实例现象 276
11.5.2 重点与难点 276
11.5.3 实例说明 276
11.5.4 实例VHDL参考程式 277
11.6 实例6 频率计 284
11.6.1 实例现象 284
11.6.2 重点与难点 284
11.6.3 实例说明 284
11.6.4 实例VHDL参考程式 285
附录1 288
附录2 293
附录3 297
参考文献 301
11.6 实例6 频率计 284
11.6.1 实例现象 284
11.6.2 重点与难点 284
11.6.3 实例说明 284
11.6.4 实例VHDL参考程式 285
附录1 288
附录2 293
附录3 297
参考文献 301