《数字系统设计与Verilog HDL(第6版)》的特点是:着眼于实用,紧密联系教学实际,实例丰富。全书深入浅出,概念清晰,语言流畅。可作为电子、通信、微电子、信息、电路与系统、通信与信息系统及测控技术与仪器等专业本科生和研究生的教学用书,也可供从事电路设计和系统开发的工程技术人员阅读参考。
第6版前言
本书在第5版的基础上主要做了如下修订:
(1)将设计工具从Quartus II 9.0升级为Quartus Prime 16.0。从Quartus II 10.0开始,Quartus II软件取消了自带的波形仿真工具,转而采用专业第三方仿真工具ModelSim进行仿真;Quartus II 13.1之后Quartus II只支持64位操作系统(Windows 7,8,10);从Quartus II 15.1开始Quartus II开发工具改称Quartus Prime;2016年5月Altera发布了Quartus Prime 16.0版本。Quartus Prime 16.0相比Quartus II 9.0,支持的器件更新,自带的免费IP更多,编译速度更快,支持System Verilog—2005和VHDL—2008,作为设计者我们应该积极地适应EDA设计工具的这种变化,并尽可能采用新版本。
(2)将实验板从DE2、DE2—70升级为DE2—115。从Quartus II 13.1版本开始,Quartus II软件已不再支持Cyclone I和Cyclone II器件(Cyclone I和Cyclone II业已停产),所以基于Cyclone II器件的DE2和DE2—70实验板,用Quartus II 13.1版本后的Quartus II已不能下载。DE2—115实验板基于Cyclone IV FPGA器件(EP4CE115F29),器件新,资源更丰富,同时,在外设和使用习惯等方面与DE2—70基本保持一致,所以本书将针对的实验板改为DE2—115。
(3)更新了有关ModelSim仿真的内容。本书介绍了两个版本的ModelSim的使用方法,一个是Altera的OEM版本ModelSim-Altera;同时在第11章中详细介绍了ModelSim SE进行功能和时序仿真的过程,ModelSim SE的功能更强更全面一些。
(4)更新了部分有关FPGA器件结构的内容,使之尽量反映FPGA器件的发展。
(5)更新和修正了设计案例,将设计案例基于DE2—115实验板重新做了修改和验证。
由于FPGA芯片和EDA软件的不断更新换代,同时因作者时间和精力所限,本书虽经不断改版和修正,仍不免有诸多疏漏和遗憾,一些案例也有继续发挥和改进的空间,同时一些新的例程限于篇幅未能在书中得到反映。基于本教材的慕课(MOOC)教学资源建设正在实施中,建成后将会在华信教育网推出。本书与作者的另一拙作《数字系统设计与VHDL》(即将修订改版)互为补充,前者以Verilog语言开发为主,后者则以VHDL语言的设计为重点。
感谢友晶科技的彭显恩经理和尹作娟女士,鑫合欣的王婷女士在本书写作过程中给予作者的大力支持;感谢美国威斯康星大学麦迪逊分校的Yu Hen Hu教授在作者访学期间在学术上和教学上给予作者的无私帮助与支持;感谢本书责任编辑窦昊先生与作者多年的鼎力合作。
本书疏漏与错误之处,希望读者和同行给予批评指正。
E-mail:wjm_ice@163.com
编著者
2016年8月于解放军理工大学
第5版前言
本书在第4版的基础上做了部分修订,增加了实验与设计的内容,使之更便于实践教学。本书的主要内容包括FPGA/CPLD器件、EDA设计工具(包括Quartus II、Synplify Pro、ModelSim等)、Verilog硬件描述语言,以及一些典型的数字设计实例。书中的实例多数在Altera的DE2或DE2—70实验板上做了实际验证,并尽量给出程序综合与仿真的结果,以便于对照。此外,对于EDA软件工具、实验平台、设计案例均做了精心选择,是作者认为目前较有典型性和代表性的方案。
本书的定位是作为EDA技术、FPGA开发或数字设计方面的教材。在编写的过程中,遵循的是重视基础、面向应用的原则,力图在有限的篇幅内,将EDA技术与FPGA设计相关的知识简明扼要、深入浅出地进行阐述,并融入作者在教学、科研中的实践经验。EDA技术是一门实践性的课程,所以选择一些具有趣味性的设计案例,有助于学生由浅入深快速地掌握设计语言,并通过实践加深体会。另外,本书与作者的另一拙作《数字系统设计与VHDL》(电子工业出版社,2010年5月)互为补充,前者以Verilog语言开发为主,后者则以VHDL语言的设计为重点。
全书共13章。第1章对EDA技术做了综述;第2章介绍FPGA/CPLD器件的结构与编程配置;第3章介绍Quartus II集成开发工具以及基于宏功能模块的设计;第4章对Verilog程序设计进行初步介绍;在第5、6章中,系统介绍Verilog的语法、语句、任务与函数等内容;第7章讨论Verilog设计的层次与风格;第8章是有关有限状态机的内容;第9章列举了一些典型电路的设计与实现;第10章讨论设计优化的问题;第11章是Verilog仿真与验证的内容;在第12章中就Verilog—2001、Verilog—2002标准对Verilog语言所做的扩展与增强做了较为全面的介绍;第13章是通信和信号处理等较为复杂的数字逻辑系统的设计举例。另外,在附录中除了给出Verilog HDL关键字和有关术语、缩略语之外,还对Altera的DE2和DE2—70实验平台做了介绍。
本书在撰写的过程中力求准确、简约,避免烦琐,以期做到深入浅出。所有举例均经过综合工具或仿真工具的验证。EDA技术是一门实践性很强的技术,同时EDA技术的发展又非常迅速,要真正掌握数字设计技术,成为行家里手,需要设计者在实践中不断摸索与积累,逐步提高自己的实际能力与水平。本书虽经很大努力,但由于编著者水平所限,书中疏漏与错误之处在所难免,希望同行和广大读者给予批评指正。
E-mail:wjm_ice@163.com
编著者
2013年12月于解放军理工大学
第1章EDA技术概述 1
1.1EDA技术及其发展 1
1.2Top—down设计与IP核复用 4
1.2.1Top—down设计 4
1.2.2Bottom—up设计 5
1.2.3IP复用技术与SoC 5
1.3数字设计的流程 7
1.3.1设计输入 7
1.3.2综合 9
1.3.3布局布线 9
1.3.4仿真 10
1.3.5编程配置 10
1.4常用的EDA软件工具 10
1.5EDA技术的发展趋势 14
习题115
第2章FPGA/CPLD器件 16
2.1PLD器件概述 16
2.1.1PLD器件的发展历程 16
2.1.2PLD器件的分类 17
2.2PLD的基本原理与结构 19
2.2.1PLD器件的基本结构 19
2.2.2PLD电路的表示方法 20
2.3低密度PLD的原理与结构 21
2.4CPLD的原理与结构 26
2.4.1宏单元结构 26
2.4.2典型CPLD的结构 27
2.5FPGA的原理与结构 30
2.5.1查找表结构 30
2.5.2典型FPGA的结构 32
2.5.3Cyclone IV器件结构 35
2.6FPGA/CPLD的编程元件 38
2.7边界扫描测试技术 42
2.8FPGA/CPLD的编程与配置 44
2.8.1在系统可编程 44
2.8.2FPGA器件的配置 45
2.8.3Cyclone IV器件的编程 46
2.9FPGA/CPLD器件概述 49
2.10FPGA/CPLD的发展趋势 52
习题253
第3章Quartus Prime使用指南 54
3.1Quartus Prime原理图设计 55
3.1.1半加器原理图设计输入 55
3.1.21位全加器设计输入 60
3.1.31位全加器的编译 61
3.1.41位全加器的仿真 63
3.1.51位全加器的下载 67
3.2基于IP核的设计 71
3.2.1模24方向可控计数器 71
3.2.24×4无符号数乘法器 78
3.3SignalTap II的使用方法 84
3.4Quartus Prime的优化设置与时序分析 88
习题393
实验与设计 95
3—1简易数字钟 95
3—2m序列发生器 97
3—38位带符号乘法器 97
3—4用常量模块实现补码转换幅度码电路 101
第4章Verilog设计初步 102
4.1Verilog简介 102
4.2Verilog模块的结构 103
4.3Verilog基本组合电路设计 107
4.3.1用Verilog设计基本组合电路 107
4.3.2用Verilog设计加法器 107
4.4Verilog基本时序电路设计 110
4.4.1用Verilog设计触发器 110
4.4.2用Verilog设计计数器 111
习题4113
实验与设计 113
4—1Synplify Pro综合器的使用方法 113
4—2Synplify综合器的使用方法 117
第5章Verilog语法与要素 119
5.1Verilog语言要素 119
5.2常量 120
5.2.1整数(Integer) 120
5.2.2实数(Real) 122
5.2.3字符串(Strings) 122
5.3数据类型 123
5.3.1net型 123
5.3.2variable型 124
5.4参数 126
5.5向量 128
5.6运算符 130
习题5134
实验与设计 135
5—1用altpll锁相环宏模块实现倍频和分频 135
第6章Verilog行为语句 140
6.1过程语句 140
6.1.1always过程语句 141
6.1.2initial过程语句 144
6.2块语句 145
6.2.1串行块begin—end 145
6.2.2并行块fork—join 146
6.3赋值语句 147
6.3.1持续赋值与过程赋值 147
6.3.2阻塞赋值与非阻塞赋值 148
6.4条件语句 149
6.4.1if—else语句 150
6.4.2case语句 151
6.5循环语句 155
6.5.1for语句 156
6.5.2repeat、while、forever语句 157
6.6编译指示语句 159
6.7任务与函数 160
6.7.1任务(task) 160
6.7.2函数(function) 162
6.8顺序执行与并发执行 166
习题6167
实验与设计 167
6—14×4矩阵键盘检测电路 167
第7章Verilog设计的层次与风格 170
7.1Verilog设计的层次 170
7.2门级结构描述 170
7.2.1Verilog HDL内置门元件 171
7.2.2门级结构描述 173
7.3行为描述 174
7.4数据流描述 175
7.5不同描述风格的设计 176
7.5.1半加器设计 176
7.5.21位全加器设计 177
7.5.34位加法器设计 179
7.6多层次结构电路的设计 179
7.7基本组合电路设计 182
7.7.1门电路 182
7.7.2编译码器 182
7.7.3其他组合电路 184
7.8基本时序电路设计 185
7.8.1触发器 185
7.8.2锁存器与寄存器 185
7.8.3计数器与串并转换器 187
7.8.4简易微处理器 188
7.9三态逻辑设计 190
习题7192
实验与设计 192
7—1数字表决器 192
7—2FIFO缓存器设计 195
第8章Verilog有限状态机设计 199
8.1有限状态机 199
8.2有限状态机的Verilog描述 201
8.2.1用三个过程描述 202
8.2.2用两个过程描述 203
8.2.3单过程描述方式 205
8.3状态编码 207
8.3.1常用的编码方式 207
8.3.2状态编码的定义 211
8.4有限状态机设计要点 213
8.4.1复位和起始状态的选择 213
8.4.2多余状态的处理 213
习题8215
实验与设计 215
8—1流水灯控制器 215
8—2汽车尾灯控制器 217
8—3状态机A/D采样控制电路 218
8—4用状态机实现字符液晶显示控制 219
第9章Verilog设计进阶 226
9.1加法器设计 226
9.1.1级连加法器 226
9.1.2数据流描述的加法器 227
9.1.3超前进位加法器 228
9.1.4流水线加法器 229
9.2乘法器设计 230
9.2.1并行乘法器 230
9.2.2移位相加乘法器 232
9.2.3布斯乘法器 234
9.2.4查找表乘法器 237
9.3奇数分频与小数分频 237
9.3.1奇数分频 237
9.3.2半整数分频与小数分频 239
9.4VGA图像的显示与控制 241
9.4.1VGA图像显示原理与时序 241
9.4.2VGA图像显示与控制的实现 244
9.5点阵式液晶显示控制 250
9.6乐曲演奏电路 255
习题9260
实验与设计 262
9—1数字跑表 262
9—2实用多功能数字钟 269
第10章Verilog设计的优化 278
10.1设计的可综合性 278
10.2流水线设计技术 280
10.3资源共享 284
10.4过程 286
10.5阻塞赋值与非阻塞赋值 288
习题10292
实验与设计 292
10—1小数分频 292
10—2如何在FPGA设计中消除毛刺 294
10—3消抖动电路 297
第11章Verilog Test Bench与仿真 298
11.1系统任务与系统函数 298
11.2用户自定义元件 302
11.2.1组合电路UDP元件 303
11.2.2时序逻辑UDP元件 304
11.3延时模型的表示 306
11.3.1时间标尺定义`timescale 306
11.3.2延时的表示与延时说明块 307
11.4TestBench测试平台 308
11.5组合和时序电路的仿真 310
11.5.1组合电路的仿真 310
11.5.2时序电路的仿真 312
习题11313
实验与设计 314
11—1用ModelSim SE仿真8位二进制加法器 314
11—2用ModelSim SE仿真乘累加器 322
第12章Verilog语言的发展 324
12.1Verilog—2001语法结构 324
12.1.1语法结构的扩展与增强 324
12.1.2设计管理 330
12.1.3系统任务和系统函数的扩展 332
12.1.4VCD文件的扩展 335
12.2Verilog—2002语法结构 336
12.2.1硬件单元建模 337
12.2.2属性 340
12.2.3编程语言接口 344
习题12345
第13章通信与信号处理设计实例 346
13.1m序列发生器 346
13.1.1m序列的原理与性质 346
13.1.2m序列产生器设计 348
13.2Gold码 350
13.2.1Gold码的原理与性质 350
13.2.2Gold码产生器设计 351
13.3CRC校验码 353
13.4FSK解调 355
13.5数字过零检测与等精度频率测量 358
13.5.1数字过零检测法 358
13.5.2等精度频率测量 359
13.6QPSK调制器的FPGA实现 362
13.7FIR数字滤波器 365
习题13369
实验与设计 369
13—1信号音产生器 369
13—2异步串行接口(UART) 376
附录AVerilog HDL(IEEE Std 1364—1995)关键字 382
附录BVerilog HDL(IEEE Std 1364—2001)关键字 383
附录CDE2—115介绍 384
附录D有关术语与缩略语 386
参考文献 391
《为什么冷场的总是你:幽默随心所欲》通过大量趣味横生的小故事,生动而具体地阐述了在各种场合,拥有幽默口才的重要性,并以此帮
何塞• 德拉• 科利纳:1934 年生于西班牙桑坦德,童话作家、剧作家、电影评论家、某报文化副刊主编,曾获西班牙国家新闻奖。《新电影》(NuevoCine)杂志...
卢松松,毕业于电子科技大学,站长,互联网高端人脉圈松松兄弟会创始人,书作者,2005年建立网站,2009年创建独立博客。卢松松博客是一个专注于网站运营、互联网技...
"TheGroupnessFactor"isausefulguideforanyleaderwhowantstobecomemoreinfluentialand...
在台湾旅行,从不会生腻、乏味。不必担心保存期限,更不会过期。台湾各小镇小城的没落、挣扎,或者它们的热 闹、温暖,此回,都想经由“里”的亲密漫游,跟大家一起分享。...
蔬菜病虫害防治彩色图鉴 本书特色 杨军玉主编的《蔬菜病虫害防治彩色图鉴(精)》分为基础篇和各论篇。基础篇包括植物病害基本知识、昆虫基本知识和农药基本知识。植物病...
《中國現代小說史》是夏志清教授名著A History of Mordern Chinese Fiction的中文譯本。在中國現代小說的研究上,本書可謂具有里程碑...
林西莉,瑞典名字是塞西丽娅·林德奎斯特,教授、作家和摄影家。1961-1962年在北京大学留学,此后曾数十次到中国访问。1971年起瑞典任汉语教师,1978年后...
Awonderfullybrightandpositivebookaboutflowersyourchildwilllovetoread!Thisbookwil...
《十年轮回(从亚洲到全球的金融危机)》从内部人的视角对当前世界金融风暴进行了独特描述。作者是一个亚洲金融的监管者,曾亲身参与有关监管政策和国际金融体系设计的重要...
丁磊美国俄亥俄州立大学人工智能专业博士,美国哥伦比亚大学博士后。人工智能商业化落地先行者,曾为PayPal创立人工智能平台,历任百度金融首席数据科学家、PayP...
《星新一少年科幻》是日本科幻之父星新一的科幻短篇精选集,各分册是《情感电视机》《梦之城》《妄想银行》《淘气的机器人》《你好,地球人》,除了收录作者各个时期的代表...
许仲琳(约1560—约1630),亦作陈仲琳,号钟山逸叟,应天府(今江苏南京市)人,明代小说家,生活于隆庆、万历年间,生平事迹不详。著有《封神演义》。
新型铜铬系合金及其制备技术 内容简介 本书系统介绍了铜铬系合金及其加工技术,共九章,内容包括铜铬系合金的常规熔铸技术,熔渗技术,热等离子体熔炼技术,粉末冶金技术...
《禅说心得》内容简介:禅离你很近。一般人所体会的禅往往停留在“不立文字、直指人心、见性成佛”的阶段。其实禅是一种生活的智慧
宫崎骏选给孩子的50本书完整书单 & 阅读经验大公开!宫崎骏70岁之际,花了3个月的时间,重读对其影响深远的儿童文学作品,从400多本书中慎重挑选出50本,一一...
高炉操作 内容简介 本书是根据冶金行业高等职业技术教育的需要编写的,也可作为冶金企业技师、高级技师培训通用教材。书中系统地介绍了与高炉操作相关的内容,包括高炉炉...
给社交恐惧者的人格画像与深度剖析被禁锢的心灵,被内卷的疲惫超越内心的冲突与挣扎才能破茧而出,获得新生与成长越来越多的人在感受繁华都市生活喧嚣与落寞的同时,开始对...
一颗不存在的行星见证从牛顿力学到广义相对论的科学革命入围 2016 年英国皇家学会科学图书奖终选名单⭐ 编辑推荐☆ 当前唯一一部讲述这颗人类想象中的行星的作品☆...
《日本全境四季玩乐旅行月历》主要内容简介:现在就想去日本!想去日本玩?前往日本应该选哪里?什么季节去?路线如何安排最恰当?这是计划去日本旅行的人提出最多的疑问。...