新書推薦:
《
可转债投资实战
》
售價:NT$
454.0
《
王氏之死(新版,史景迁成名作)
》
售價:NT$
250.0
《
敢为天下先:三年建成港科大
》
售價:NT$
352.0
《
直观的经营:哲学视野下的动态管理
》
售價:NT$
407.0
《
长高食谱 让孩子长高个的饮食方案 0-15周岁儿童调理脾胃食谱书籍宝宝辅食书 让孩子爱吃饭 6-9-12岁儿童营养健康食谱书大全 助力孩子身体棒胃口好长得高
》
售價:NT$
214.0
《
身体自愈力:解决内在病因的身体智慧指南
》
售價:NT$
449.0
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:NT$
560.0
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
|
內容簡介: |
本书根据EDA课程教学要求,以提高数字系统设计能力为目的,系统阐述FPGA数字系统开发的相关知识,主要内容包括EDA技术概述、FPGACPLD器件、Verilog硬件描述语言等。全书以Quartus Prime、ModelSim软件为工具,以Verilog-1995和Verilog-2001语言标准为依据,以可综合的设计为重点,通过诸多精选设计案例,阐述数字系统设计的方法与技术,由浅入深地介绍Verilog工程开发的知识与技能。 本书着眼于实用,紧密联系教学实际,实例丰富。全书深入浅出,概念清晰,语言流畅。本书配有教学课件,可从华信教育资源网(www.hxedu.com.cn)免费下载。
|
關於作者: |
王金明,男,1972年5月出生,博士,现为解放军陆军工程大学副教授、硕士生导师。曾获军队科技进步一等奖1项,军队科技进步二等奖3项,军队科技进步三等奖5项,获军队级教学成果二等奖1项;获国家发明专利授权2项,获软件著作授权1项;发表论文80余篇,其中SCI、EI收录30余篇;主编教材多部,并入选"十一五国家级规划教材和"十二五国家级规划教材;2013年获军队院校育才奖银奖;2014年由国家留学基金委资助,在美国威斯康星大学麦迪逊分校访问研究1年;指导本科生参加全国大学生电子设计竞赛,共获得全国一等奖8项。
|
目錄:
|
第1章 EDA技术概述 1
1.1 EDA技术及其发展 1
1.2 Top-down设计与IP核复用 4
1.2.1 Top-down设计 4
1.2.2 Bottom-up设计 4
1.2.3 IP复用技术与SoC 5
1.3 数字系统设计的流程 6
1.3.1 设计输入 7
1.3.2 综合 7
1.3.3 布局布线 8
1.3.4 时序分析与时序约束 8
1.3.5 功能仿真与时序仿真 8
1.3.6 编程与配置 9
1.4 常用的EDA工具软件 9
1.5 EDA技术的发展趋势 13
习题1 14
第2章 FPGACPLD器件 15
2.1 PLD器件概述 15
2.1.1 PLD器件的发展历程 15
2.1.2 PLD器件的分类 16
2.2 PLD的原理与结构 18
2.2.1 PLD器件的结构 18
2.2.2 PLD电路的表示方法 18
2.3 低密度PLD的原理与结构 20
2.4 CPLD的原理与结构 24
2.4.1 宏单元结构 24
2.4.2 典型CPLD的结构 25
2.5 FPGA的原理与结构 28
2.5.1 查找表结构 28
2.5.2 典型FPGA的结构 30
2.5.3 Cyclone IV器件结构 33
2.6 FPGACPLD的编程元件 36
2.7 边界扫描测试技术 39
2.8 FPGACPLD的编程与配置 41
2.8.1 在系统可编程 41
2.8.2 FPGA器件的配置 41
2.8.3 Cyclone IV器件的编程 42
2.9 FPGACPLD器件概述 45
2.10 FPGACPLD的发展趋势 48
习题2 48
第3章 Quartus Prime使用指南 49
3.1 Quartus Prime设计的流程 49
3.2 Quartus Prime原理图设计 50
3.2.1 半加器原理图设计输入 50
3.2.2 1位全加器设计输入 54
3.2.3 1位全加器的编译 56
3.2.4 1位全加器的仿真 58
3.2.5 1位全加器的下载 62
3.3 基于IP核的设计 65
3.3.1 模24方向可控计数器 66
3.3.2 44无符号数乘法器 72
3.4 SignalTap II的使用方法 78
3.5 Quartus Prime的优化设置 82
习题3 85
第4章 Verilog语言初步 89
4.1 Verilog的历史 89
4.2 Verilog模块的结构 90
4.3 Verilog组合逻辑设计 93
4.4 Verilog时序逻辑设计 95
习题4 98
第5章 Verilog语言要素 99
5.1 概述 99
5.2 常量 100
5.2.1 整数 100
5.2.2 实数 102
5.2.3 字符串 102
5.3 数据类型 103
5.3.1 net型 104
5.3.2 variable型 104
5.4 参数 106
5.4.1 参数parameter 106
5.4.2 Verilog-2001中的参数声明 106
5.4.3 参数的传递 107
5.4.4 localparam 108
5.5 向量 108
5.6 运算符 110
习题5 115
第6章 Verilog语句语法 116
6.1 过程语句 116
6.1.1 always过程语句 117
6.1.2 initial过程语句 120
6.2 块语句 121
6.2.1 串行块begin-end 121
6.2.2 并行块fork-join 121
6.3 赋值语句 122
6.3.1 持续赋值与过程赋值 122
6.3.2 阻塞赋值与非阻塞赋值 124
6.4 条件语句 125
6.4.1 if-else语句 125
6.4.2 case语句 127
6.5 循环语句 131
6.5.1 for语句 131
6.5.2 repeat、while、forever语句 132
6.6 编译指示语句 134
6.7 任务与函数 135
6.7.1 任务 136
6.7.2 函数 137
6.8 Verilog-2001语言标准 140
6.8.1 Verilog-2001改进和增强的语法结构 140
6.8.2 属性及PLI接口 149
习题6 151
第7章 Verilog设计的层次与风格 152
7.1 Verilog设计的层次 152
7.2 门级结构描述 152
7.2.1 Verilog门元件 153
7.2.2 门级结构描述 155
7.3 数据流描述与行为描述 156
7.4 不同描述风格的设计 157
7.4.1 半加器设计 157
7.4.2 1位全加器设计 158
7.4.3 加法器的级联 159
7.5 多层次结构电路的设计 160
7.5.1 模块例化 161
7.5.2 用parameter进行参数传递 162
7.5.3 用defparam进行参数重载 163
7.6 Verilog组合电路设计 164
7.7 Verilog时序电路设计 168
7.8 三态逻辑设计 174
7.9 锁相环 176
习题7 181
第8章 Verilog有限状态机设计 182
8.1 有限状态机 182
8.2 有限状态机的Verilog描述 183
8.2.1 用三个always块描述 184
8.2.2 用两个过程描述 185
8.2.3 单过程描述方式 186
8.3 状态编码 187
8.3.1 常用的编码方式 187
8.3.2 状态编码的定义 189
8.3.3 用属性指定状态编码方式 192
8.4 有限状态机设计要点 193
8.4.1 复位和起始状态的选择 193
8.4.2 多余状态的处理 195
8.5 用有限状态机控制流水灯 196
8.5.1 流水灯控制器 196
8.5.2 引脚分配与锁定 198
8.6 用有限状态机控制AD采样 204
习题8 205
第9章 Verilog驱动常用IO外设 207
9.1 44矩阵键盘 207
9.2 标准PS2键盘 211
9.3 字符液晶 217
9.4 汉字图形点阵液晶 224
9.5 VGA显示器 230
9.5.1 VGA显示原理与时序 230
9.5.2 VGA彩条信号发生器 233
9.5.3 VGA图像显示与控制 238
9.6 乐曲演奏电路 244
习题9 250
第10章 Verilog设计进阶 253
10.1 设计的可综合性 253
10.2 流水线设计技术 255
10.3 时序约束与时序分析 259
10.3.1 时序分析的有关概念 259
10.3.2 用Timing Analyzer进行时序分析 261
10.4 资源共享 266
10.5 阻塞赋值与非阻塞赋值 268
10.6 加法器设计 271
10.6.1 行波进位加法器 271
10.6.2 超前进位加法器 272
10.6.3 流水线加法器 276
10.7 乘法器设计 276
10.7.1 并行乘法器 276
10.7.2 布斯乘法器 277
10.7.3 查找表乘法器 280
10.8 奇数分频与小数分频 280
10.8.1 奇数分频 280
10.8.2 半整数分频 281
10.8.3 小数分频 282
习题10 285
第11章 Verilog Test Bench仿真 286
11.1 系统任务与系统函数 286
11.2 用户自定义元件 290
11.2.1 组合电路UDP元件 291
11.2.2 时序逻辑UDP元件 292
11.3 延时模型的表示 294
11.3.1 时间标尺定义`timescale 294
11.3.2 延时的表示与延时说明块 295
11.4 Test Bench测试平台 296
11.5 组合和时序电路的仿真 298
11.6 ModelSim SE使用指南 300
11.6.1 用图形用户界面进行功能仿真 302
11.6.2 用命令行方式进行功能仿真 305
11.6.3 时序仿真 306
习题11 308
第12章 Verilog设计实例 309
12.1 脉宽调制与步进电动机驱动 309
12.1.1 PWM信号 309
12.1.2 用PWM驱动蜂鸣器 310
12.1.3 用PWM驱动步进电动机 313
12.2 超声波测距 317
12.3 整数开方运算 321
12.4 Cordic算法及实现 327
12.4.1 Cordic算法及其原理 327
12.4.2 Cordic算法的实现 329
12.5 UART异步串口通信 337
12.6 I2C总线控制音频编解码器 341
12.7 数字AGC 348
12.7.1 数字AGC的原理 349
12.7.2 数字AGC的实现与仿真 349
习题12 355
参考文献 356
|
內容試閱:
|
第8版前言
本书在前版的基础上主要进行了如下修订。
1)全面梳理,订正错误和疏漏,补充完善内容;对所有案例进行了改写,使之更为规范,增加了若干案例,删掉了一些旧的案例。本书所有案例均经过实际的下载和验证,这些案例也可移植到其他实验板或口袋板,市面上多数实验板以及口袋板的资源基本都能满足下载这些案例的需要。
2)增加了Timing Analyzer时序约束和时序分析的内容,并结合案例对时序分析的概念进行解析,使整体内容更为完善。
3)设计工具以Quartus Prime 18.1和ModelSim 10.5版本为主。
4)更新了部分FPGA器件的内容。
本书的定位是作为EDA技术、FPGA开发或数字系统设计方面的教材,在过去的二十多年的时间里,EDA技术课程早已成为电子信息类专业学生的一门重要的专业基础课程,在教学、科研和大学生电子设计竞赛等各种赛事活动中起着重要作用。随着教学方法的不断改革、新的教育理念的不断实施,对EDA课程教学的要求也不断提高,必须对教学内容不断更新和优化,与时俱进,以与EDA技术的快速发展相适应。
当前的EDA技术课程的教学与实践呈现出如下一些特点。首先,很多相关联课程的教学均或多或少地融入了EDA技术,比如,数字逻辑电路、计算机组成原理、计算机接口技术、数字通信技术、嵌入式系统设计等课程,这些课程的教学和实践均不同程度地采用EDA及FPGA设计技术,因此EDA技术成为上述课程的基础,怎样打牢基础以及如何与上述课程在教学内容上进行区分和衔接成为相关教师需要思考的问题。其次,开放式、自主式学习渐渐成为EDA教学的主流,EDA教学的资源越来越丰富,网络上相关的慕课和教学视频也越来越多,学生的学习不仅限于课堂,慕课(MOOC)、微课(Microlecture)等形式也越来越多地应用于EDA教学中。此外,EDA课程是一门实践类课程,实践教学占的比重甚至超过理论教学,所以在EDA教学中,需格外重视实践教学的效果和质量,在实践教学中,基于案例的教学模式以及基于问题导向的教学方法越来越得到重视,怎样在教学中及教材中体现基于案例的教学模式和基于问题导向的教学方法,值得不断探索并不断加以实践。
正是基于以上认识,对本教材进行了梳理和修订。在此过程中,按照重视基础、面向应用的原则,力图在有限的篇幅内将EDA技术与FPGA设计相关的知识,简明扼要、深入浅出地进行阐述,贴近教学实践。全书共12章。第1章对EDA技术进行了综述,第2章介绍FPGACPLD器件的结构与配置,第3章介绍Quartus Prime集成开发工具的使用方法,第4章是Verilog概述,第5、6章系统介绍Verilog的语法、语句,第7章讨论Verilog设计的层次与风格,第8章是有关有限状态机的内容,第9章列举Verilog驱动常用IO外设的案例,第10章讨论设计优化的问题,第11章是Verilog仿真的内容,第12章是较为复杂数字逻辑电路的设计实例。
本书与另两本教材《数字系统设计与VHDL》(第2版)和《数字系统设计与Verilog HDL》(Vivado版)互为补充,分别针对不同的开发语言(Verilog HDL、VHDL)和基于不同的开发工具、开发环境以及不同的目标开发板,以方便老师和同学根据需要选用。基于本教材的慕课(MOOC)教学资源已在华信教育资源网推出。由于FPGA芯片和EDA软件的不断更新换代,同时受编著者时间和精力所限,本书虽经不断改版和修正,仍不免有诸多疏漏和遗憾;同时因改版而给老师和同学带来的不便敬请包涵。
参加本书编写的还有朱莉莉、王婧菡、王兰皊等,在此一并表示感谢;还要感谢美国威斯康星大学麦迪逊分校的Yu Hen Hu教授在作者访学期间在学术上和教学上给予作者的无私帮助与支持;感谢本书责任编辑窦昊先生与作者多年的鼎力合作。
本书疏漏与错误之处,希望读者和同行给予批评指正。
E-mail:wjm_ice@163.com
编著者
2020年10月
|
|