第3版序:走在风口浪尖
而立之年,壮志未酬;成也FPGA,败也FPGA;既然选择了FPGA,便风雨兼程。回首本书的成长,已有5个春秋(2014/2016/2017年分别出版了本书的第1/2/2(修订)版,2019年出版第3版);遥望未来,还有无数激情岁月等待我们去燃烧。
5个春秋,笔者从高校求学,到就业打拼奋斗,历经沧桑与惊喜,感慨万千;5个春秋,无数读者的认可与指正,走在不停的舍弃与升级的道路上,完美是没有极限的;5个春秋,经历了3D打印、虚拟现实、计算机视觉、人工智能及无人驾驶,学习永无止境,我们一直走在风口浪尖……
作为高校教材及FPGAer实战教程,本书已累计发行数万册,广受FPGA业界的好评与推崇。我力争写一本随时代成长的书,能够遵循读者的心声,不断与时俱进,不断进化升级(本书已出版4个版本,配套VIP_Board开发板已发布了9个版本)。身为本书作者,我有责任与义务及时跟进时代的潮流,及时更正错误及紧跟最前沿的科技,前进势不可挡,我们始终走在风口浪尖,并终于迎来了期待已久的本书第3版。
我们总是一边在努力,一边在放弃;只有不断地否定自己,才能与时俱进,超越自我。本书第3版忍痛割爱,删除了第2版中的几个章节,但同时新增了包括深度学习知识及FPGA设计在内的全新内容,以及升级到最新的Quartus Ⅱ 18.0(也许出版时Quartus Prime 2019已发布了),希望能跟上时代的脚步。关于删除了Verilog HDL介绍的内容,读者可自行阅读夏宇闻教授和我一起编写的《Verilog数字系统教程(第四版)》一书,更专业的介绍请查阅更具有针对性的书籍。
2018年7月18日,一家在FPGA上做深度学习加速引擎解决方案的公司—深鉴科技(DeePhi Tech),以3亿美元被Xilinx公司收购,成为一家少见的被美国收购的中国创业公司,也让同行关注到基于FPGA的深度学习的前景与价值。与此同时,深感本书决策的准确性:两个月前和于潇宇博士喝茶商讨,他强烈建议将本书旧版中关于机器视觉的内容修改为FPGA深度学习CNN的介绍,而在给我最终书稿的两天后,深鉴科技公司被Xilinx公司收购了,我们再一次深刻认识到FPGA在深度学习领域的重要性。
关于删除了第2版中10个励志的序言及两个重要章节的事宜,我会单独出“旧版已删序言:11个序言汇总.pdf”“旧版已删章节:……pdf”,希望看到各种名人往事励志故事锦集,以及Verilog基础章节、旧版中于博士“基于高速相机的嵌入式视觉处理系统设计”章节的读者,可以在本书配套资料或官网www.crazyfpga.com下载该pdf原件阅读。
4年前(2015年6月), Intel公司宣布以167亿美元的价格收购全球第二大FPGA厂商Altera公司,成为Intel公司有史以来最大的一笔收购支出。所有Altera粉丝都感到可惜与不舍的同时,也希望Altera FPGA在Intel公司的支持下可以有更强大的明天。尽管此后Altera公司的产品已经成为历史,但出于对历史的尊重及对Altera公司产品的情怀,我依然坚持在本书中使用“Altera”(同样,还有Quartus Ⅱ,而未更新为Quartus Prime),希望Intel公司及新生一代的FPGAer能够理解。
Altera公司被收购后,Intel公司成立了可编程事业部,并一直在推进FPGA与自家至强处理器软硬件结合的异构设计,等待强强联合的时代到来;约3年后(2018年4月), Intel公司宣布旗下的FPGA(Altera)正式应用于主流的数据中心OEM厂商中,即开始推出可编程FPGA加速卡,用于服务器部署。不得不提的是,至强处理器在Altera FPGA的硬件加速下,能效比提升了70%, FPGA在给加速卡增加了灵活性的同时,也成倍提升了其工作性能。尽管大部分使用Cyclone低端系列的FPGAer并不能感同身受,但FPGA确实给我们的科技带来了无形但巨大的改变,FPGA永远在奔跑,我们一直走在风口浪尖。
我从2008年开始执迷于FPGA。选择它不仅是因为身边的人都学AVR,而是想与众不同地尝试FPGA,更是因为它自由的设计,使得我可以做一些AVR做不到的事情。在低迷时期,FPGA并不被看好,但如今FPGA已无处不在,缺之不可,几十年的发展让FPGA成为每次波澜的推动者,虽最终可能被ASIC替代,但作为永无止境的探路者,FPGAer永远充满了激情与自信,永远在为FPGA的发展奉献青春。
现如今,深鉴科技、地平线、驭势科技等自动驾驶公司均采用FPGA作为深度学习图像感知计算平台;商汤科技、旷世科技、云从科技、依图科技等图像大数据分析公司采用FPGA作为人工智能视觉识别计算平台;百度、阿里巴巴、腾讯、Amazon等公司采用FPGA加速卡作为服务器部署,以加速云服务器加速与分析;工业视觉、大屏LED、TCON等领域采用FPGA作为加速引擎驱动模块……如今,FPGA人才弥足珍贵,这个时代比过去任何时候都更需要我们好好学习FPGA!
有很多读者问我为何不写Xilinx FPGA的开发,也有读者咨询我学会了Altera FPGA后转其他厂家的FPGA快不快。我想说,本书选择Altera FPGA,首先是因其大学人才培养计划做得不错,是一个学生可快速入门的启蒙选型;其次因其小规模器件领域用户群相对广泛,工具链也友好。此外,FPGA的开发既是一种思维(并行设计,代码在手,电路在心),也是一种工具,用于实现我们规划的功能,FPGA的开发都大同小异,Xilinx、Altera、Lattice、紫光、安路、高云等厂家的FPGA工具开发,无不以Coding→仿真→编译→综合→布线→适配的流程完成硬件功能的开发;FPGA的开发都共享同样的技巧,包括乒乓操作、串并转换、流水线操作、面积换速度等,各类FPGA拥有一样的精髓。因此,掌握了一个厂家的FPGA设计思维与技巧,便掌握了所有厂家FPGA的开发与设计。
当然,在不久的将来,我更希望国产FPGA可以崛起,下一代FPGAer或大学人才培养计划更愿意选择国产FPGA, FPGAer可以拥有民族自豪感,届时也希望我有余力基于国产FPGA来编写一些教程,以表示对国产FPGA的支持。
我很感慨有网友跟我说,看了我的书学会FPGA后,从PCB Layouter转FPGAer很容易;我很庆幸有学生跟我说,看我的书就像走过我走的路,每一步都很有安全感,很踏实。本书能够成功再版,必须感谢大家的支持与鼓励,没有你们的指正与期待,就不可能迎来本书的优化与升级;没有你们的催促与监督,就不可能出版第3版。因此,本书的成功面世,首先归功于读者的帮助,是你们推动了“历史”的革新,让本书再次被更新;其次感谢于潇宇博士,没有他呕心沥血地撰写“FPGA与深度学习加速器”章节,本书难以走上时代的风口浪尖;再次,感谢林海全,感谢他帮我分担部分章节的重写与合并、编辑等工作;最后,感谢我的家人及朋友们,没有他们的支持,我也许早就放弃了。感谢这一切说服我升级这本技术书,让我们携手共同迎接更美好的FPGA未来。
韩彬(网名:CrazyBingo)