CrazyBingo带你玩转FPGA

首页-达尔闻    基础应用    CrazyBingo带你玩转FPGA

前段时间达尔闻受邀参加Xilinx XDF开发者大会,并在B站做了全天直播。现场实实在在地与FPGA来了个亲密接触,领略了FPGA在人工智能( AI )、数据中心、 5G 、工业、汽车等领域的各种创新成果。在这次XDF大会上“偶遇”了很多老朋友--由于XDF大会的超强吸引力,也被戏称为FPGA圈大型面基盛会。比如在直播间被疯狂Cue的CrazyBingo神人,达尔闻怎么错过,在现场跟大佬来了个面对面采访。

视频指路:https://www.bilibili.com/video/av79850721

 

CrazyBingo,韩彬,2012年于杭州电子科技大学获得学士学位,2015年于西安电子科技大学获得硕士学位。现为IC设计行业,长期从事FPGA视频采集与LCD显示成像开发、多媒体图像前后处理等并行硬件加速工作,编写过大量FPGA教程,指导过无数FPGAer,常年活跃于网络圈,在业界有一定的知名度。

个人博客:blog.chinaaet.com/crazybingo

个人网站:www.crazyfpga.com

官方邮箱:crazyfpga@qq.com

微信公众号:CrazyFPGA 或FPGA视频图像与机器视觉之旅

 

到底什么是FPGA? 现场可编程门阵列,其中F-Field,现场,随时随地可以操作;P-Programmable,可编程;G-Gate,门,数字逻辑的基本单元;A - Array,阵列。在开发中,可以将 FPGA 配置为自己需要的任何数字电路。

 

跟MCU相比,FPGA有什么优势,强大在哪?一句话可以概括:MCU能做的,FPGA就能做;但FPGA能做的,MCU却不一定能做到。因为在FPGA内部可以直接构建一个MCU,其性能还可以比MCU做的更强,指令周期还可以做的比MCU更短。既然FPGA这么厉害,为什么MCU的使用范围更广呢?其中一个重要原因--价格。单枚FPGA芯片价格从几十元到几十万元不等,而MCU的价格要远远低于FPGA。所以低成本,多场景适用,MCU显然是更佳选择。那究竟什么时候需要使用FPGA呢?要求灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,就需要FPGA上了,比如视频、图像处理、人工智能、机器学习等场景。这也是为什么大家会看到这几年随着人工智能的浪潮兴起也极大的推动了FPGA的关注度。

 

有迫切的市场需求,自然就有人力资源的需求,越来越多的应用需要FPGA工程师。未来FPGA的两个方向:
1)以逻辑设计为主,针对FPGA特定领域的应用设计和集成电路设计,以及芯片验证能力。

2)以软件开发为主,开发FPGA在数据分析、人工智能、机器视觉等领域的加速应用能力,主要采用OpenCL和HLS技术实现软硬件协同开发。

 
 

作为电子工程师又有追求的你,如何系统化地学习FPGA呢?CrazyBingo已经帮你把路径总结好了:

01数字电路基础
 
数字电路基础对学习FPGA影响大吗?有这样疑问的往往是准备学习FPGA或者刚接触FPGA的初学者。虽然FPGA是数字电路应用的终极形式,但没有数字电路基础的同学并不影响学习,因为FPGA的设计方法和传统数字电路的设计方法完全不是一回事。当然,如果对数字电路的专业术语、符号表示、语言描述了解的比较清楚,能够加速入门FPGA。

 

数字电路基础学习推荐两本教材:

《零起步轻松学数字电路》,蔡杏山、蔡玉山主编。这本书讲解的内容非常基础,从最简单的门电路到AD/DA的应用介绍都做了很详细的描述,非常适合没有数字电路基础的初学者入门学习。
《数字电子技术基础》,阎石主编。作为高校数字电路教学的指定教材,很多人应该相当熟悉而富有亲切感。该书讲解的内容较为全面且详细,十分注重理论部分的讲解,其内容几乎涵盖了所有数字电路的基础部分,从MOS管到FPGA基础都有涉及,可谓是经典中的经典。

 

02基础语言

 
FPGA的基础编程语言如何掌握呢?只要找对资料和方法入门还是很容易。书本给大家推荐一些:
《Verilog数字系统设计教程》,夏宇闻主编。这本书是业内元老北航的夏宇闻教授所撰写的,被十一五规划列为高校指定教材。因为书出的比较早,而且当时关于FPGA的国内资料也少,所以这本书也是很多业内技术大牛的FPGA启蒙书,比如Crazybingo、小梅哥等等。该书从FPGA是什么、硬件结构、设计验证方法、Verilog语法、建模方式、各种类型的应用案例等都做了详细的讲解,如果有些基础再去看效果会更好。接下来这套书将会由CrazyBingo继续撰写更新版本,非常期待!
 

 

《设计与验证:Verilog HDL:相对于夏教授的书来说内容精简了很多,一共200多页,每页都是精华。如:开发流程、验证方法、可综合语法和不可综合语法、一些指导性原则、发展趋势等都有比较详细的讲解,是一本不错的启蒙工具书。

 

03软件工具
 
补足基础知识之后,就需要选择一个工具开始真正的FPGA设计。Altera和Xilinx很适合初学者。
Altera的开发软件名叫Quartus,被收购前名为QuartusII,13.0是最经典的一款软件,从综合速度、界面、稳定性、兼容性等方面来讲都是非常完美的,并作为很多教学开发使用。
Xilinx的开发软件目前主要有2类:支持7系列及以下芯片的ISE; 支持7系列及以上芯片的Vivado,包括Zynq、UltraScale、MPSoC、RFSoC等高端器件的支持,并引入Block Design的设计方法,且对文件夹的管理更加智能化。
除了开发软件外,还需要仿真软件。MentorGraphics的ModelSim是业界最优秀的HDL语言仿真软件。它能提供友好的仿真环境,也是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。
 

 

04选择一个好的开发板
 
学习不能是纸上谈兵,一定要上手实践!如何挑选合适的开发板呢?
如果你是初学者,推荐2款基于Altera CycloneIV的裸奔入门开发板,性价比高,软件学习也容易

1)CrazyBingo的开发板VIP_Board及配套的书籍《FPGA设计技巧与案例开发详解》。板卡采用Altera Cyclone IV FPGA,以EP4CE15E17C8N为核心,具有非常丰富的外设功能。配套的书籍从全书结构看,设置非常合理,软硬件结合,纯小白读起来也毫不费力。除了可以作为FPGA入门学习板卡,也可以作为FPGA视频图像采集处理的VIP算法平台。CrazyBingo的网站也提供各种开源资料。

 

2)小梅哥AC620开发板,同样是使用Altera CyclongIV EP4CE10大容量多引脚FPGA芯片,板子外设资源非常多。另外小梅哥深耕FPGA开发多年,开发板配套的资料十分齐全,比如视频120讲,1000多页的教程,100多个实例源码。最最重要的是价格很亲民。

 

如果有一定基础,想要进阶FPGA学习,可以过渡到Xilinx平台。若继续是逻辑开发,可以使用S7系列;若做嵌入式FPGA,如视频图像处理、人工智能,推荐Xilinx的ZYNQ—行业第一个可扩展处理平台系列,在黑金、米联客都可以买到,并且在其官网都有非常全的资料。

 

一篇文章当然完全不能把FPGA说透。不管你是抱着什么样的目的来学习,记住FPGA一定要多练习、多动手、多思考,通过操作总结经验规律,再利用经验规律复盘验证。达尔闻也会助你一臂之力:请在文末留言你的学习动机,我们将从中选择一位赠送CrazyBingo著作《FPGA设计技巧与案例开发详解》

 

推荐阅读:

项目分享 | 电赛系列 | 人工智能 | 考研 

必考知识点 | 毕业设计 | 开关电源 | 求职

 

我们是妮mo,达尔闻创始人,只讲技术不撩汉的小姐姐。达尔闻在线教育平台旨在服务电子行业专业人士,提供技能培训视频,覆盖各细分领域热门话题,比如嵌入式,FPGA,人工智能等。并针对不同人群量身定制分层级学习内容,例如常用知识点,拆解评测,电赛/智能车/考研等,欢迎关注。

官网:www.darwinlearns.com

B站:达尔闻

QQ群:786258064

 

2019年12月24日 17:31
收藏