新書推薦:
《
女人的胜利
》
售價:HK$
55.9
《
数据有道:数据分析+图论与网络+微课+Python编程(鸢尾花数学大系:从加减乘除到机器学习)
》
售價:HK$
266.6
《
500万次倾听:陪伤心的人聊聊
》
售價:HK$
53.8
《
英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。)
》
售價:HK$
80.6
《
万千心理·儿童心理治疗中的心智化:临床实践指导
》
售價:HK$
87.4
《
自我囚禁的人:完美主义的心理成因与自我松绑(破除你对完美主义的迷思,尝试打破自我评价过低与焦虑的恶性循环)
》
售價:HK$
66.1
《
周易
》
售價:HK$
44.6
《
东南亚的传统与发展
》
售價:HK$
67.2
|
編輯推薦: |
本书使读者能迅速了解并掌握EDA 技术的基本理论和工程开发实用技术,为后续的深入学习和发展打下坚实的理论与实践基础。笔者依据高校课堂教学和实验操作的规律与要求,并以提高学生的实际工程设计能力和自主创新能力为目的,合理编排全书内容。书中列举的Verilog HDL 示例都经编译通过或经硬件测试通过。本书主要面向高等院校本、专科的EDA 技术和Verilog HDL 语言基础课,同时也可作为电子设计竞赛、FPGA 开发应用的自学参考书。与此教材配套的还有 CAI 教学课件、实验指导课件、实验源程序和实验设计项目相关的详细技术资料等,读者都可免费索取。
|
內容簡介: |
本书系统地介绍了EDA 技术和Verilog HDL 硬件描述语言,将Verilog HDL 的基础知识、编程技巧和实用方法与实际工程开发技术在Quartus II 上很好地结合起来,使读者通过本书的学习能迅速了解并掌握EDA 技术的基本理论和工程开发实用技术,为后续的深入学习和发展打下坚实的理论与实践基础。 笔者依据高校课堂教学和实验操作的规律与要求,并以提高学生的实际工程设计能力和自主创新能力为目的,合理编排全书内容。全书共分为7 个部分:EDA 技术的概述、Verilog HDL 语法知识及其实用技术、Quartus II 及LPM 宏模块的详细使用方法、有限状态机设计技术、16 位实用CPU 设计技术及创新实践项目、基于ModelSim 的Test Bench 仿真技术,以及基于MATLAB 和DSP Builder 平台的EDA 设计技术及大量实用系统设计示例。除个别章节外,大多数章节都安排了相应的习题和大量针对性强的实验与设计项目。书中列举的Verilog HDL 示例都经编译通过或经硬件测试通过。 本书主要面向高等院校本、专科的EDA 技术和Verilog HDL 语言基础课,推荐作为电子工程、通信、工业自动化、计算机应用技术、电子对抗、仪器仪表、数字信号或图像处理等学科专业和相关实验指导课的教材用书或主要参考书,同时也可作为电子设计竞赛、FPGA 开发应用的自学参考书。与此教材配套的还有 CAI 教学课件、实验指导课件、实验源程序和实验设计项目相关的详细技术资料等,读者都可免费索取。
|
目錄:
|
第 1 章概述 1
1.1 EDA 技术 1
1.2 EDA 技术应用对象 2
1.3 常用的硬件描述语言 4
1.4 EDA 技术的优势 6
1.5 面向FPGA 和CPLD 的开发流程 7
1.5.1 设计输入 7
1.5.2 综合 8
1.5.3 适配(布线布局) 10
1.5.4 仿真 10
1.5.5 RTL 描述 11
1.6 可编程逻辑器件 11
1.6.1 PLD 的分类 11
1.6.2 PROM 可编程原理 12
1.6.3 GAL 14
1.7 CPLD 的结构与可编程原理 16
1.8 FPGA 的结构与工作原理 18
1.8.1 查找表逻辑结构 18
1.8.2 Cyclone 4E 系列器件的结构原理 19
1.8.3 内嵌Flash 的FPGA 器件 22
1.9 硬件测试技术 22
1.9.1 内部逻辑测试 22
1.9.2 JTAG 边界扫描测试 23
1.10 编程与配置 23
1.11 Quartus II 25
1.12 IP 核 26
1.13 EDA 的发展趋势 27
习题 28
第2 章程序结构与数据类型 29
2.1 Verilog 程序结构 29
2.1.1 Verilog 模块的表达方式 30 2.1.2 Verilog 模块的端口信号名和端
口模式 30
2.1.3 Verilog 信号类型定义 31
2.1.4 Verilog 模块功能描述 32
2.2 Verilog 的数据类型 32
2.2.1 net 网线类型 33
2.2.2 wire 网线型变量的定义方法 33
2.2.3 register 寄存器类型 34
2.2.4 reg 寄存器型变量的定义方法 34
2.2.5 integer 类型变量的定义方法 35
2.2.6 存储器类型 35
2.3 Verilog 文字规则 37
2.3.1 Verilog 的4 种逻辑状态 37
2.3.2 Verilog 的数字表达形式 37
2.3.3 数据类型表示方式 38
2.3.4 常量 . 38
2.3.5 标识符、关键词及其他文字规则 . 40
2.3.6 参数定义关键词parameter 和localparam 的用法 41
习题 42
第3 章行为语句 43
3.1 过程语句 43
3.1.1 always 语句 43
3.1.2 always 语句在D 触发器设计中的应用 45
3.1.3 多过程应用与异步时序电路设计 45
3.1.4 简单加法计数器的Verilog 表述 46
3.1.5 initial 语句 47
3.2 块语句 49
3.3 case 条件语句 49
3.4 if 条件语句 51
3.4.1 if 语句的一般表述形式 51
3.4.2 基于if 语句的组合电路设计 52
3.4.3 基于if 语句的时序电路设计 53
3.4.4 含异步复位和时钟使能的D 触发器的设计 55
3.4.5 含同步复位控制的D 触发器的设计 56
3.4.6 含清零控制的锁存器的设计 57
3.4.7 时钟过程表述的特点和规律 58
3.4.8 实用加法计数器设计 59
3.4.9 含同步预置功能的移位寄存器设计 61 3.4.10 关注if 语句中的条件
指示 62
3.5 过程赋值语句 63
3.6 循环语句 64
3.6.1 for 语句 64
3.6.2 while 语句 65
3.6.3 repeat 语句 66
3.6.4 forever 语句 67
3.7 任务与函数语句 67
习题 69
第4 章 FPGA 硬件实现 71
4.1 代码编辑输入和系统编译 71
4.1.1 编辑和输入设计文件 71
4.1.2 创建工程 72
4.1.3 约束项目设置 73
4.1.4 全程综合与编译 75
4.1.5 RTL 图观察器应用 76
4.2 时序仿真测试 77
4.3 硬件测试 80
4.3.1 引脚锁定 80
4.3.2 编译文件下载 82
4.3.3 通过JTAG 口对配置芯片进行间接编程 83
4.3.4 USB-Blaster 驱动程序安装方法 84
4.4 电路原理图设计流程 85
4.4.1 设计一个半加器 85
4.4.2 完成全加器顶层设计 87
4.4.3 对全加器进行时序仿真和硬件测试 87
4.5 利用属性表述实现引脚锁定 88
4.6 SignalTap II 的用法 90
4.7 编辑SignalTap II 的触发信号 95
4.8 安装Quartus II 13.1 说明 95
习题 100
实验与设计 100
实验4-1 多路选择器设计实验 100
实验4-2 十六进制7 段数码显示译码器设计 101
实验4-3 8 位硬件乘法器设计实验 102
实验4-4 应用宏模块设计数字频率计 103
实验4-5 计数器设计实验 . 107实验4-6 数码扫描显示电路设计 107
实验4-7 半整数与奇数分频器设计 108
第5 章运算符与结构描述语句 110
5.1 运算操作符 110
5.1.1 按位逻辑操作符 110
5.1.2 逻辑运算操作符 111
5.1.3 算术运算操作符 111
5.1.4 关系运算操作符 112
5.1.5 BCD 码加法器设计示例 113
5.1.6 缩位操作符 114
5.1.7 并位操作符 114
5.1.8 移位操作符用法 115
5.1.9 移位操作符用法示例 115
5.1.10 条件操作符 116
5.2 连续赋值语句 117
5.3 例化语句 118
5.3.1 半加器设计 118
5.3.2 全加器设计 119
5.3.3 Verilog 例化语句及其用法 119
5.4 参数传递语句应用 121
5.5 用库元件实现结构描述 122
5.6 编译指示语句 124
5.6.1 宏定义命令语句 124
5.6.2 文件包含语句 ''include 125
5.6.3 条件编译命令语句''ifdef、''else、''endif 125
5.7 keep 属性应用 126
5.8 SignalProbe 使用方法 128
习题 130
实验与设计 131
实验5-1 高速硬件除法器设计实验 131
实验5-2 不同类型的移位寄存器设计实验 132
实验5-3 基于Verilog 代码的频率计设计 132
实验5-4 8 位加法器设计实验 133
实验5-5 VGA 彩条信号显示控制电路设计 134
第6 章 LPM宏模块用法 138
6.1 调用计数器宏
|
內容試閱:
|
与第 2 版教材相比,本教材的变化主要表现在以下几方面。
(1)升级了EDA 开发软件。考虑到Quartus II 13.1 和 Quartus Prime Standard 16.1 版本的用法和功能基本相同,而13.1 版本支持的器件系列较多,包括Cyclone 3。所以全书的示例主要是基于Altera 的Quartus II 13.1 的。
(2)不再使用门级波形仿真器,而使用基于第三方的仿真器。在第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 构建了一个类似于波形仿真器的仿真工具。所以在用法上也有少许不同之处,书中也做了介绍,而且所有示例都是基于这个仿真器(即ModelSim ASE)的。
(3)介绍新版EDA 软件的安装。由于新版软件的波形仿真器是基于第三方仿真软件ModelSim ASE 上的,所以在安装软件时需要特别注意把ModelSim ASE 装上,书中对此加入了Quartus II 13.1 软件安装的简要说明。
(4)介绍的示例与实验主要基于新的FPGA 硬件平台。考虑到较新的Cyclone 4 型FPGA 已经得到广泛使用,并兼顾目前多数学校仍然使用基于Cyclone 3 系列FPGA 的实验设备的事实,在此新版教材中包含了这两种FPGA 的使用示例,但以Cyclone 4 系列为主。
(5)在FPGA 和CPLD 的结构介绍方面做了一定更新。介绍了较新的FPGA(Cyclone 4)和CPLD(内嵌Flash 的FPGA 器件)的结构特点。
(6)对一些习题和实验项目做了精简与完善。
(7)对第10 章的Test Bench 仿真示例升级在Quartus II 13.1 平台上完成。
(8)对第11 章和第12 章内容做了进一步的完善。
与本书的 Verilog HDL 内容相对应的VHDL 教材是清华大学出版社出版的《EDA 技术与VHDL》。
基于工程领域中的 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,s_mingfang@126.com。
编 者
于杭州电子科技大学
|
|