书籍详情
EDA技术与VHDL(第5版)
作者:潘松,黄继业 著
出版社:清华大学出版社
出版时间:2018-01-01
ISBN:9787302489443
定价:¥49.80
购买这本书可以去
内容简介
本书系统地介绍了EDA 技术和VHDL 硬件描述语言,将VHDL 的基础知识、编程技巧和实用方法与实际工程开发技术在Quartus II 13.1 上很好地结合起来,使读者通过本书的学习能迅速了解并掌握EDA技术的基本理论和工程开发实用技术,为后续的深入学习和发展打下坚实的理论与实践基础。 作者依据高校课堂教学和实验操作的规律与要求,并以提高学生的实际工程设计能力和自主创新能力为目的,合理编排全书内容。全书共分为8 个部分:EDA 技术的概述、VHDL 语法知识及其实用技术、Quartus II 及LPM 宏模块的详细使用方法、有限状态机设计技术、16 位实用CPU 设计技术及创新实践项目、基于ModelSim 的Test Bench 仿真技术、以及基于MATLAB 和DSP Builder 平台的EDA 设计技术及大量实用系统设计示例。除个别章节外,其他章节都安排了相应的习题和大量针对性强的实验与设计项目。书中列举的VHDL 示例都已经编译通过或经硬件测试通过。 本书主要用于高等院校本、专科的EDA 技术和VHDL 语言基础课,推荐作为电子工程、通信、工业自动化、计算机应用技术、电子对抗、仪器仪表、数字信号或图像处理等学科专业和相关实验指导课的教材用书或主要参考书,同时也可作为电子设计竞赛、FPGA 开发应用的自学参考书。 与此教材配套的还有 CAI 教学课件、实验指导课件、实验源程序,以及与实验设计项目相关的详细技术资料等,读者都可免费索取。
作者简介
暂缺《EDA技术与VHDL(第5版)》作者简介
目录
第 1 章 EDA 技术概述 1
11 EDA 技术 1
12 EDA 技术应用对象 2
13 常用的硬件描述语言 4
14 EDA 技术的优势 5
15 面向FPGA 和CPLD 的开发流程 6
151 设计输入 7
152 综合 7
153 适配(布线布局) 9
154 仿真 9
155 RTL 描述 10
16 可编程逻辑器件 10
161 PLD 的分类 11
162 PROM 可编程原理 12
163 GAL 14
17 CPLD 的结构与可编程原理 15
18 FPGA 的结构与工作原理 18
181 查找表逻辑结构 18
182 Cyclone 4E 系列器件的结构原理 18
183 内嵌Flash 的FPGA 器件 21
19 硬件测试技术 21
191 内部逻辑测试 21
192 JTAG 边界扫描测试 22
110 编程与配置 22
111 Quartus II 23
112 IP 核 25
113 EDA 的发展趋势 25
习题 27
第2 章程序结构与数据对象 28
21 VHDL 程序结构 28
22 VHDL 程序基本构建 30
221 实体和端口模式 30
222 结构体 31 223 库和库的种类 32
224 库和程序包的调用方法 34
225 配置 35
23 VHDL 文字规则 36
231 数字 36
232 字符串 36
233 关键词 37
234 标识符及其表述规则 37
235 文件取名和存盘 38
236 规范的程序书写格式 38
24 VHDL 数据对象 39
241 常数 39
242 变量 39
243 信号 40
习题 42
第3 章数据类型与顺序语句 43
31 VHDL 数据类型 43
311 BIT 和BIT_VECTOR 类型 44
312 STD_LOGIC 和STD_LOGIC_VECTOR 类型 44
313 整数类型INTEGER 46
314 布尔数据类型BOOLEAN 47
315 SIGNED 和UNSIGNED 类型 47
316 其他预定义类型 49
317 数据类型转换函数 50
32 常用顺序语句 52
321 赋值语句 52
322 CASE 语句 53
323 PROCESS 语句 54
324 并置操作符& 55
325 IF 语句 56
33 IF 语句使用示例 57
331 D 触发器的VHDL 描述 57
332 含异步复位和时钟使能D 触发器的描述 60
333 基本锁存器的描述 60
334 含清零控制锁存器的描述 62
335 实现时序电路的不同表述方式 63
336 4 位二进制加法计数器设计 64
337 计数器更常用的VHDL 表达方式 65
338 设计一个实用计数器 67 339 含同步并行预置功能的8 位移位寄存器设计 69
3310 优先编码器设计 70
34 VHDL 其他顺序语句 71
341 LOOP 循环语句 72
342 NEXT 语句 72
343 EXIT 语句 73
344 WAIT 语句 74
345 GENERIC 参数定义语句 77
346 REPORT 语句 77
347 断言语句 78
348 端口数据含1 个数的统计电路模块设计 80
习题 81
第4 章时序仿真与硬件实现 83
41 代码编辑输入和系统编译 83
411 编辑和输入设计文件 83
412 创建工程 84
413 约束项目设置 85
414 全程综合与编译 87
415 RTL 图观察器应用 88
42 时序仿真 89
43 硬件测试 91
431 引脚锁定 92
432 编译文件下载 93
433 通过JTAG 口对配置芯片进行间接编程 95
434 USB-Blaster 驱动程序安装方法 96
44 电路原理图设计流程 96
441 设计一个半加器 96
442 完成全加器顶层设计 98
443 对全加器进行时序仿真和硬件测试 99
45 利用属性表述实现引脚锁定 100
46 SignalTap II 的用法 101
47 编辑SignalTap II 的触发信号 106
48 安装Quartus II 131 说明 106
习题 111
实验与设计 112
实验4-1 多路选择器设计实验 112
实验4-2 十六进制7 段数码显示译码器设计 112
实验4-3 应用宏模块设计数字频率计 114
实验4-4 计数器设计实验 117实验4-5 数码扫描显示电路设计 118
实验4-6 硬件消抖动电路设计 118
实验4-7 串行静态显示控制电路设计 119
第5 章并行语句 121
51 并行信号赋值语句 121
511 简单信号赋值语句 121
512 条件信号赋值语句 122
513 选择信号赋值语句 123
514 块语句 124
515 元件例化语句 124
516 例化语句应用示例 125
517 生成语句 127
518 GENERIC 参数传递映射语句及其使用方法 129
519 数据类型定义语句 131
5110 VHDL 的存储器描述 134
5111 信号属性及属性函数 136
52 VHDL 运算操作符 138
521 逻辑操作符 138
522 关系操作符 140
523 算术操作符 141
524 省略赋值操作符 144
53 keep 属性应用 145
54 SignalProbe 使用方法 146
习题 148
实验与设计 149
实验5-1 8 位加法器设计实验 149
实验5-2 高速硬件除法器设计 149
实验5-3 移位相加型8 位硬件乘法器设计 150
实验5-4 基于VHDL 代码的频率计设计 150
实验5-5 VGA 彩条信号显示控制电路设计 152
实验5-6 不同类型的移位寄存器设计实验 156
第6 章 LPM宏模块使用方法 157
61 调用计数器宏模块示例 157
611 计数器LPM 模块文本代码的调用 157
612 LPM 计数器代码与参数传递语句应用 159
613 创建工程与仿真测试 160
62 利用属性控制乘法器构建的示例 161
63 LPM_RAM 宏模块用法 162
631 初始化文件及其生成 162 632 LPM_RAM 的设置与调用 164
633 测试LPM_RAM 166
634 用VHDL 代码描述存储器以及用初始化文件加载表述 166
64 LPM_ROM 使用示例 168
641 简易正弦信号发生器设计 168
642 正弦信号发生器硬件实现和测试 169
65 在系统存储器数据读写编辑器应用 171
66 LPM 嵌入式锁相环调用 172
661 建立嵌入式锁相环元件 172
662 测试锁相环 175
67 In-System Sources and Probes Editor 用法 175
68 DDS 实现原理与应用 178
681 DDS 原理 178
682 DDS 信号发生器设计示例 180
习题 181
实验与设计 181
实验6-1 查表式硬件运算器设计 181
实验6-2 正弦信号发生器设计 182
实验6-3 简易逻辑分析仪设计 182
实验6-4 DDS 正弦信号发生器设计 183
实验6-5 移相信号发生器设计 184
实验6-6 VGA 简单图像显示控制模块设计 185
实验6-7 AM 幅度调制信号发生器设计 186
第7 章 VHDL 设计深入 188
71 进程中的信号赋值与变量赋值 188
72 含高阻输出的电路设计 192
721 三态门设计 192
722 双向端口的设计方法 193
723 三态总线电路设计 195
73 资源优化 196
731 资源共享 197
732 逻辑优化 198
733 串行化 199
74 速度优化 200
741 流水线设计 201
742 关键路径法 203
75 仿真延时 204
751 固有延时 204
752 传输延时 205 753 仿真δ 205
习题 206
实验与设计 207
实验7-1 4X4 阵列键盘键信号检测电路设计 207
实验7-2 乐曲硬件演奏电路设计 207
实验7-3 PS2 键盘控制模型电子琴电路设计 210
实验7-4 直流电机综合测控系统设计 213
实验7-5 VGA 动画图像显示控制电路设计 215
第8 章状态机设计技术 216
81 VHDL 状态机的一般形式 216
811 状态机的特点与优势 216
812 VHDL 状态机的一般结构 217
813 状态机设计初始约束与表述 220
82 Moore 型状态机的设计 221
821 多进程状态机 222
822 序列检测器之状态机设计 225
83 Mealy 型状态机的设计 226
84 状态编码 230
841 直接输出型编码 230
842 顺序编码 232
843 一位热码状态编码 232
844 状态编码设置 233
85 安全状态机设计 234
851 程序直接导引法 235
852 状态编码监测法 235
853 借助EDA 优化控制工具生成安全状态机 236
习题 236
实验与设计 236
实验8-1 序列检测器设计 236
实验8-2 并行ADC 采样控制电路实现与硬件验证 237
实验8-3 数据采集模块设计 238
实验8-4 五功能智能逻辑笔设计 239
实验8-5 串行ADC/DAC 采样或信号输出控制电路设计 240
第9 章 16 位CPU 创新设计 241
91 KX9016 的结构与特色 241
92 KX9016 基本硬件系统设计 244
921 单步节拍发生模块 244
922 运算器 244
923 比较器 245 924 基本寄存器与寄存器阵列组 246
925 移位器 250
926 程序与数据存储器 251
93 KX9016v1 指令系统设计 251
931 指令格式 251
932 指令操作码 252
933 软件程序设计实例 254
934 KX9016 v1 控制器设计 255
935 指令设计实例详解 259
94 KX9016 的时序仿真与硬件测试 260
941 时序仿真与指令执行波形分析 260
942 CPU 工作情况的硬件测试 262
95 KX9016 应用程序设计实例和系统优化 264
951 乘法算法及其硬件实现 264
952 除法算法及其硬件实现 265
953 KX9016v1 的硬件系统优化 266
习题 267
实验与设计 268
实验9-1 16 位CPU 验证性设计综合实验 268
实验9-2 新指令设计及程序测试实验 268
实验9-3 16 位CPU 的优化设计与创新 269
第10 章 VHDL 仿真和语句补充 271
101 VHDL 仿真流程 272
102 VHDL 测试基准实例 274
103 VHDL Test Bench 测试流程 276
104 VHDL 子程序 278
1041 函数 278
1042 重载函数 281
1043 决断函数 283
1044 过程 284
1045 重载过程 286
1046 子程序调用语句 286
1047 RETURN 语句 288
1048 并行过程调用语句 289
105 VHDL 程序包 291
习题 293
实验与设计 294
实验10-1 在ModelSim 上对VHDL Test Bench 进行仿真 294
第11 章 DSP Builder 系统设计方法 295 111 MATLAB/DSP Builder 及其设计流程 295
112 正弦信号发生器设计 297
1121 建立设计模型 298
1122 Simulink 模型仿真 304
1123 SignalCompiler 使用方法 307
1124 使用ModelSim 进行RTL 级仿真 308
1125 使用Quartus II 实现时序仿真 310
1126 硬件测试与硬件实现 310
113 DSP Builder 层次化设计 311
114 基于DSP Builder 的DDS 设计 314
1141 DDS 模块设计 314
1142 FSK 调制器设计 316
1143 正交信号发生器设计 318
1144 数控移相信号发生器设计 318
1145 幅度调制信号发生器设计 318
115 HIL 硬件测试 320
习题 324
实验与设计 325
实验11-1 利用MATLAB/DSP Builder 设计基本电路模块 325
实验11-2 基于DSP Builder 的DDS 应用模型设计 326
实验11-3 HIL 硬件环仿真实验 327
第12 章 DSP Builder 设计深入 329
121 FIR 数字滤波器设计 329
1211 FIR 滤波器原理 329
1212 使用DSP Builder 设计FIR 滤波器 330
1213 使用MATLAB 的滤波器设计工具 334
1214 使用FIR IP Core 设计FIR 滤波器 340
122 HDL 模块插入仿真及其设计 343
习题 346
实验与设计 347
实验12-1 FIR 数字滤波器设计实验 347
实验12-2 调制解调模块设计实验 348
实验12-3 HDL Import 模块应用实验 348
附录A EDA 开发系统及相关电路与表格 349
A1 KX_CDS 系列EDA/SOPC 系统 350
A2 部分实验扩展模块 354
A3 mif 文件生成器使用方法 355
A4 核心板FPGA 扩展至KX_CDS 系统对照表 357
A5 多功能重配置结构可切换的部分实验电路图 359
11 EDA 技术 1
12 EDA 技术应用对象 2
13 常用的硬件描述语言 4
14 EDA 技术的优势 5
15 面向FPGA 和CPLD 的开发流程 6
151 设计输入 7
152 综合 7
153 适配(布线布局) 9
154 仿真 9
155 RTL 描述 10
16 可编程逻辑器件 10
161 PLD 的分类 11
162 PROM 可编程原理 12
163 GAL 14
17 CPLD 的结构与可编程原理 15
18 FPGA 的结构与工作原理 18
181 查找表逻辑结构 18
182 Cyclone 4E 系列器件的结构原理 18
183 内嵌Flash 的FPGA 器件 21
19 硬件测试技术 21
191 内部逻辑测试 21
192 JTAG 边界扫描测试 22
110 编程与配置 22
111 Quartus II 23
112 IP 核 25
113 EDA 的发展趋势 25
习题 27
第2 章程序结构与数据对象 28
21 VHDL 程序结构 28
22 VHDL 程序基本构建 30
221 实体和端口模式 30
222 结构体 31 223 库和库的种类 32
224 库和程序包的调用方法 34
225 配置 35
23 VHDL 文字规则 36
231 数字 36
232 字符串 36
233 关键词 37
234 标识符及其表述规则 37
235 文件取名和存盘 38
236 规范的程序书写格式 38
24 VHDL 数据对象 39
241 常数 39
242 变量 39
243 信号 40
习题 42
第3 章数据类型与顺序语句 43
31 VHDL 数据类型 43
311 BIT 和BIT_VECTOR 类型 44
312 STD_LOGIC 和STD_LOGIC_VECTOR 类型 44
313 整数类型INTEGER 46
314 布尔数据类型BOOLEAN 47
315 SIGNED 和UNSIGNED 类型 47
316 其他预定义类型 49
317 数据类型转换函数 50
32 常用顺序语句 52
321 赋值语句 52
322 CASE 语句 53
323 PROCESS 语句 54
324 并置操作符& 55
325 IF 语句 56
33 IF 语句使用示例 57
331 D 触发器的VHDL 描述 57
332 含异步复位和时钟使能D 触发器的描述 60
333 基本锁存器的描述 60
334 含清零控制锁存器的描述 62
335 实现时序电路的不同表述方式 63
336 4 位二进制加法计数器设计 64
337 计数器更常用的VHDL 表达方式 65
338 设计一个实用计数器 67 339 含同步并行预置功能的8 位移位寄存器设计 69
3310 优先编码器设计 70
34 VHDL 其他顺序语句 71
341 LOOP 循环语句 72
342 NEXT 语句 72
343 EXIT 语句 73
344 WAIT 语句 74
345 GENERIC 参数定义语句 77
346 REPORT 语句 77
347 断言语句 78
348 端口数据含1 个数的统计电路模块设计 80
习题 81
第4 章时序仿真与硬件实现 83
41 代码编辑输入和系统编译 83
411 编辑和输入设计文件 83
412 创建工程 84
413 约束项目设置 85
414 全程综合与编译 87
415 RTL 图观察器应用 88
42 时序仿真 89
43 硬件测试 91
431 引脚锁定 92
432 编译文件下载 93
433 通过JTAG 口对配置芯片进行间接编程 95
434 USB-Blaster 驱动程序安装方法 96
44 电路原理图设计流程 96
441 设计一个半加器 96
442 完成全加器顶层设计 98
443 对全加器进行时序仿真和硬件测试 99
45 利用属性表述实现引脚锁定 100
46 SignalTap II 的用法 101
47 编辑SignalTap II 的触发信号 106
48 安装Quartus II 131 说明 106
习题 111
实验与设计 112
实验4-1 多路选择器设计实验 112
实验4-2 十六进制7 段数码显示译码器设计 112
实验4-3 应用宏模块设计数字频率计 114
实验4-4 计数器设计实验 117实验4-5 数码扫描显示电路设计 118
实验4-6 硬件消抖动电路设计 118
实验4-7 串行静态显示控制电路设计 119
第5 章并行语句 121
51 并行信号赋值语句 121
511 简单信号赋值语句 121
512 条件信号赋值语句 122
513 选择信号赋值语句 123
514 块语句 124
515 元件例化语句 124
516 例化语句应用示例 125
517 生成语句 127
518 GENERIC 参数传递映射语句及其使用方法 129
519 数据类型定义语句 131
5110 VHDL 的存储器描述 134
5111 信号属性及属性函数 136
52 VHDL 运算操作符 138
521 逻辑操作符 138
522 关系操作符 140
523 算术操作符 141
524 省略赋值操作符 144
53 keep 属性应用 145
54 SignalProbe 使用方法 146
习题 148
实验与设计 149
实验5-1 8 位加法器设计实验 149
实验5-2 高速硬件除法器设计 149
实验5-3 移位相加型8 位硬件乘法器设计 150
实验5-4 基于VHDL 代码的频率计设计 150
实验5-5 VGA 彩条信号显示控制电路设计 152
实验5-6 不同类型的移位寄存器设计实验 156
第6 章 LPM宏模块使用方法 157
61 调用计数器宏模块示例 157
611 计数器LPM 模块文本代码的调用 157
612 LPM 计数器代码与参数传递语句应用 159
613 创建工程与仿真测试 160
62 利用属性控制乘法器构建的示例 161
63 LPM_RAM 宏模块用法 162
631 初始化文件及其生成 162 632 LPM_RAM 的设置与调用 164
633 测试LPM_RAM 166
634 用VHDL 代码描述存储器以及用初始化文件加载表述 166
64 LPM_ROM 使用示例 168
641 简易正弦信号发生器设计 168
642 正弦信号发生器硬件实现和测试 169
65 在系统存储器数据读写编辑器应用 171
66 LPM 嵌入式锁相环调用 172
661 建立嵌入式锁相环元件 172
662 测试锁相环 175
67 In-System Sources and Probes Editor 用法 175
68 DDS 实现原理与应用 178
681 DDS 原理 178
682 DDS 信号发生器设计示例 180
习题 181
实验与设计 181
实验6-1 查表式硬件运算器设计 181
实验6-2 正弦信号发生器设计 182
实验6-3 简易逻辑分析仪设计 182
实验6-4 DDS 正弦信号发生器设计 183
实验6-5 移相信号发生器设计 184
实验6-6 VGA 简单图像显示控制模块设计 185
实验6-7 AM 幅度调制信号发生器设计 186
第7 章 VHDL 设计深入 188
71 进程中的信号赋值与变量赋值 188
72 含高阻输出的电路设计 192
721 三态门设计 192
722 双向端口的设计方法 193
723 三态总线电路设计 195
73 资源优化 196
731 资源共享 197
732 逻辑优化 198
733 串行化 199
74 速度优化 200
741 流水线设计 201
742 关键路径法 203
75 仿真延时 204
751 固有延时 204
752 传输延时 205 753 仿真δ 205
习题 206
实验与设计 207
实验7-1 4X4 阵列键盘键信号检测电路设计 207
实验7-2 乐曲硬件演奏电路设计 207
实验7-3 PS2 键盘控制模型电子琴电路设计 210
实验7-4 直流电机综合测控系统设计 213
实验7-5 VGA 动画图像显示控制电路设计 215
第8 章状态机设计技术 216
81 VHDL 状态机的一般形式 216
811 状态机的特点与优势 216
812 VHDL 状态机的一般结构 217
813 状态机设计初始约束与表述 220
82 Moore 型状态机的设计 221
821 多进程状态机 222
822 序列检测器之状态机设计 225
83 Mealy 型状态机的设计 226
84 状态编码 230
841 直接输出型编码 230
842 顺序编码 232
843 一位热码状态编码 232
844 状态编码设置 233
85 安全状态机设计 234
851 程序直接导引法 235
852 状态编码监测法 235
853 借助EDA 优化控制工具生成安全状态机 236
习题 236
实验与设计 236
实验8-1 序列检测器设计 236
实验8-2 并行ADC 采样控制电路实现与硬件验证 237
实验8-3 数据采集模块设计 238
实验8-4 五功能智能逻辑笔设计 239
实验8-5 串行ADC/DAC 采样或信号输出控制电路设计 240
第9 章 16 位CPU 创新设计 241
91 KX9016 的结构与特色 241
92 KX9016 基本硬件系统设计 244
921 单步节拍发生模块 244
922 运算器 244
923 比较器 245 924 基本寄存器与寄存器阵列组 246
925 移位器 250
926 程序与数据存储器 251
93 KX9016v1 指令系统设计 251
931 指令格式 251
932 指令操作码 252
933 软件程序设计实例 254
934 KX9016 v1 控制器设计 255
935 指令设计实例详解 259
94 KX9016 的时序仿真与硬件测试 260
941 时序仿真与指令执行波形分析 260
942 CPU 工作情况的硬件测试 262
95 KX9016 应用程序设计实例和系统优化 264
951 乘法算法及其硬件实现 264
952 除法算法及其硬件实现 265
953 KX9016v1 的硬件系统优化 266
习题 267
实验与设计 268
实验9-1 16 位CPU 验证性设计综合实验 268
实验9-2 新指令设计及程序测试实验 268
实验9-3 16 位CPU 的优化设计与创新 269
第10 章 VHDL 仿真和语句补充 271
101 VHDL 仿真流程 272
102 VHDL 测试基准实例 274
103 VHDL Test Bench 测试流程 276
104 VHDL 子程序 278
1041 函数 278
1042 重载函数 281
1043 决断函数 283
1044 过程 284
1045 重载过程 286
1046 子程序调用语句 286
1047 RETURN 语句 288
1048 并行过程调用语句 289
105 VHDL 程序包 291
习题 293
实验与设计 294
实验10-1 在ModelSim 上对VHDL Test Bench 进行仿真 294
第11 章 DSP Builder 系统设计方法 295 111 MATLAB/DSP Builder 及其设计流程 295
112 正弦信号发生器设计 297
1121 建立设计模型 298
1122 Simulink 模型仿真 304
1123 SignalCompiler 使用方法 307
1124 使用ModelSim 进行RTL 级仿真 308
1125 使用Quartus II 实现时序仿真 310
1126 硬件测试与硬件实现 310
113 DSP Builder 层次化设计 311
114 基于DSP Builder 的DDS 设计 314
1141 DDS 模块设计 314
1142 FSK 调制器设计 316
1143 正交信号发生器设计 318
1144 数控移相信号发生器设计 318
1145 幅度调制信号发生器设计 318
115 HIL 硬件测试 320
习题 324
实验与设计 325
实验11-1 利用MATLAB/DSP Builder 设计基本电路模块 325
实验11-2 基于DSP Builder 的DDS 应用模型设计 326
实验11-3 HIL 硬件环仿真实验 327
第12 章 DSP Builder 设计深入 329
121 FIR 数字滤波器设计 329
1211 FIR 滤波器原理 329
1212 使用DSP Builder 设计FIR 滤波器 330
1213 使用MATLAB 的滤波器设计工具 334
1214 使用FIR IP Core 设计FIR 滤波器 340
122 HDL 模块插入仿真及其设计 343
习题 346
实验与设计 347
实验12-1 FIR 数字滤波器设计实验 347
实验12-2 调制解调模块设计实验 348
实验12-3 HDL Import 模块应用实验 348
附录A EDA 开发系统及相关电路与表格 349
A1 KX_CDS 系列EDA/SOPC 系统 350
A2 部分实验扩展模块 354
A3 mif 文件生成器使用方法 355
A4 核心板FPGA 扩展至KX_CDS 系统对照表 357
A5 多功能重配置结构可切换的部分实验电路图 359
猜您喜欢