新書推薦:
《
半导体纳米器件:物理、技术和应用
》
售價:HK$
177.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:HK$
61.6
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:HK$
221.8
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:HK$
43.7
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
154.6
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:HK$
66.1
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:HK$
221.8
《
可转债投资实战
》
售價:HK$
99.7
|
編輯推薦: |
全书重点讲解基础知识,强调基础数字模块的设计与熟练应用。在内容编写上采用纵向和横向相结合的写法,纵向基础知识的学习穿插大量实例讲解,使学生建立完整的知识体系;横向应用实例的学习穿插基础知识要点和设计经验讲解,使学生掌握理论知识的具体应用,从而帮助读者从不同角度认识EDA和vhdl,提高灵活运用的能力,建立自己的设计思路。
|
內容簡介: |
本书系统地介绍了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 教学课件、实验指导课件、实验源程序,以及与实验设计项目相关的详细技术资料等,读者都可免费索取。
|
目錄:
|
第 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 串行ADCDAC 采样或信号输出控制电路设计 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 MATLABDSP 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 利用MATLABDSP 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 系列EDASOPC 系统 350
A2 部分实验扩展模块 354
A3 mif 文件生成器使用方法 355
A4 核心板FPGA 扩展至KX_CDS 系统对照表 357
A5 多功能重配置结构可切换的部分实验电路图 359
|
內容試閱:
|
新版教程的变化主要表现在新版 EDA 软件和较新的FPGA 的使用上:
(1)考虑到Quartus II 13.1 和 Quartus Prime Standard 16.1 版本的用法和功能基本相同,而13.1 版本支持的早期器件系列较多,包括Cyclone III。所以在一些重要的章节和示例中,用QuartusII 13.1 软件取代了旧版的Quartus II 9.1。
(2)在上一版的前言中就已提到过,Quartus II 10.0 版本后不再支持内置的门级仿真器,即Altera 已将Quartus II 10.0 及此后版本的软件中曾经一贯内置的门级波形仿真器移除了,这使得Quartus 的使用者不得不使用接口于Quartus II 的第三方仿真器ModelSim-Altera。显然这一举措对于多数初学者和相关的教学造成很大的不便。因为必须承认,Quartus II 9.x及之前版本软件中一直内置的波形仿真器的易学、高效和便捷的巨大优势,对于EDA 教学和初学者的学习是十分重要的。为此,Quartus II 13.1 及其以后的16.1 版本,借助ModelSim-ase 构建了一个类似于波形仿真器的仿真工具。其在用法上也有少许不同之处,书中也做了介绍。
(3)由于新版软件的波形仿真器是建立在第三方仿真软件ModelSim-ase 上的,所以在安装软件时需要特别注意要把ModelSim-ase 装上,书中对此加入了Quartus II 13.1 安装的简要说明。
(4)考虑到较新的Cyclone 4 型FPGA 已经得到广泛使用,并兼顾目前多数学校仍然使用基于Cyclone 3 系列FPGA 的实验设备的事实,在此新版教材中包含了这两种FPGA的使用示例。
(5)在FPGA 和CPLD 的结构介绍方面,做了一定更新,介绍了较新近发展的FPGA(Cyclone4)和CPLD(内嵌Flash 的FPGA 器件)的结构特点。
(6)对一些习题和实验项目做了精简与完善。
(7)对第10 章的Test Bench 仿真示例升级在Quartus II 13.1 平台上完成。
(8)对第11 和第12 章内容做了进一步的完善。
与本书 VHDL 内容相对应的Verilog HDL 教材可参考清华大学出版社出版的《EDA 技术与Verilog HDL(第3 版)》。
基于工程领域中 EDA 技术的巨大实用价值,以及对EDA 教学中实践能力和创新意识培养的极端重视,本书的特色主要体现在如下两个方面。
1.注重实践能力和创新能力的培养
在绝大部分章节中都安排了针对性较强的实验与设计项目,使学生对每一章的课堂教学内容和教学效果能及时通过实验得以消化和强化,并尽可能地从一开始学习就有机会将理论知识与实践、自主设计紧密联系起来。
全书包含数十个实验及其相关的设计项目,这些项目涉及的 EDA 工具软件类型较多、技术领域也较宽、知识涉猎密集、针对性强,而且自主创新意识的启示性好。与书中的示例相同,所有的实验项目都通过了EDA 工具的仿真测试及FPGA 平台的硬件验证。每一个实验项目除给出详细的实验目的、实验原理和实验报告要求外,还有2~5 个子项目或子任务。它们通常分为:第一个层次的实验是与该章某个阐述内容相关的验证性实验,并通常提供详细的且被验证的设计源程序和实验方法,学生只需将提供的设计程序输入计算机,并按要求进行编译仿真,在实验系统上实现即可,这使学生有一个初步的感性认识,也提高了实验的效率;第二个层次的实验任务要求在上一实验基础上做一些改进和发挥;第三个层次的实验通常是提出自主设计的要求和任务;第四、第五个实验层次则是在仅给出一些提示的情况下提出自主创新性设计的要求。因此,教师可以根据学时数、教学实验的要求以及不同的学生对象,布置不同层次含不同任务的实验项目。
2.注重教学选材的灵活性和完整性相结合
本教材的结构特点决定了授课学时数可十分灵活,即可长可短,应视具体的专业特点、课程定位及学习者的前期教育程度等因素而定,大致在30~54 学时。考虑到EDA 技术课程的特质和本教材的特色,具体教学可以是粗放型的,其中多数内容,特别是实践项目,都可放手让学生更多地自己去查阅资料、提出问题、解决问题,乃至创新与创造;而授课教师只需做一个启蒙者、引导者、鼓励者和学生成果的检验者与评判者。授课的过程多数情况只需点到为止,大可不必拘泥细节、面面俱到。但有一个原则,即安排的实验学时数应多多益善。
事实上,任何一门课程的学时数总是有限的,为了有效增加学生的实践和自主设计的时间,可以借鉴清华大学的一项教改措施,即其电子系本科生从一入学就每人获得一块FPGA 实验开发板,可从本科一年级一直用到研究生毕业。这是因为EDA 技术本身就是一个可把全部实验和设计带回家的课程。
我校对于这门课程也基本采用了这一措施,即每个上EDA 课的同学都可借出一套EDA实验板,使他们能利用自己的计算机在课余时间完成自主设计项目,强化学习效果。实践表明,这种安排使得实验课时得到有效延长,教学成效自然显著。
我们建议积极鼓励学生利用课余时间尽可能学完本书的全部内容,掌握本书介绍的所有EDA 工具软件和相关开发手段,并尽可能多地完成本书配置的实验和设计任务,甚至能参考教材中的要求,安排相关的创新设计竞赛,进一步激发同学的学习积极性和主动性,并强化他们的动手能力和自主创新能力。
还有一个问题有必要在此探讨,即自主创新能力的培养尽管重要,但对其有效提高绝非一朝一夕之事。多年的教学实践告诉我们,针对这一问题的教改必须从两方面入手,一是教学内容,二是设课时间。二者密切联系,不可偏废。
前者主要指建立一个内在相关性好、设课时间灵活且易于将创新能力培养寓于知识传播之中的课程体系。
后者主要指在课程安排的时段上,将这一体系的课程尽可能地提前。这一举措是成功的关键,因为我们不可能到了本科三、四年级才去关注能力培养,并期待奇迹发生,更不可能指望一两门课程就能解决问题。尤其是以卓越工程师为培养目标的工科高等教育,自主创新能力的培养本身就是一项教学双方必须投入密集实践和探索的创新活动。我校的EDA 技术国家级精品课程正是针对这一教改目标建立的课程体系,而数字电子技术基础 是这一体系的组成部分和先导课程。它的提前设课是整个课程体系提前的必要条件。
通过数年的试点教学实践和经验总结,现已成功在部分本科学生中将此课程的设课时间从原来的第四或第五学期提前到了第一或第二学期。而这一体系的其他相关课程,如EDA 技术、单片机(相关教材是清华大学出版社的《单片机原理与应用技术》,潘明、黄继业等编著)、SOC 片上系统、计算机接口、嵌入式系统和DSP 等也相应提前,从而使学生到本科二年级时就具备了培养工程实践和自主开发能力的条件。
另外有一个问题须在此说明。
针对本教材中的实验和实践项目所能提供的演示示例原设计文件的问题:本书中多数实验都能提供经硬件验证调试好的演示示例原设计,目的是让读者能顺利完成实验验证和设计;有的示例的目的是希望能启发或引导读者完成更有创意的设计,其中一些示例尽管看上去颇有创意,但都不能说是最佳或最终结果,这给读者留有许多改进和发挥的余地。此外还有少数示例无法提供源代码(只能提供演示文件),是考虑到本书作者以外的设计者的著作权,但这些示例仍能在设计的可行性、创意和创新方面给读者以宝贵的启示。
为了尽可能降低本书的成本和售价,不再配置光盘。与本书相关的其他资料,包括本书的配套课件、实验示例源程序资料、相关设计项目的参考资料和附录中提到的mif 文件编辑生成软件等文件资料都可免费索取;此外对于一些与本教材相关的工具软件,包括Quartus II、Synplify Pro、ModelSim-Atera 和DSP-BuilderMATLAB 等EDA 软件的安装使用问题都可咨询(包括教学课件与实验课件,以及实验系统的FPGA 引脚查询及对照表等的免费索取)sunliangzhu@126.com,或与作者探讨EDA 技术教学和实践(hjynet@163.com);或直接与出版社联系(主要是索取教学课件等)。
清华大学出版社的网址和联系方式分别是:www.tup.com.cn,zzfangcn@vip.163.com。
作 者
于杭州电子科技大学
|
|