集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 978|回复: 1

百万年薪导师揭秘:FPGA工程师从入门到进阶那些事!

[复制链接]
zxopenljx 发表于 2020-6-7 15:21:37 | 显示全部楼层 |阅读模式
大家好,近期FPGA概念炒得很火,特别是在5G、AI人工智能领域,最近在跟南方科大的同行交流,主要也是探讨FPGA开发相关技术问题。我也总会经常听到身边的朋友问起FPGA开发,在实际中具体能够做一些什么样的事情。那么,本期我就通过几个大家都重点关注的问题,和大家详细聊一聊FPGA开发的事情。

FPGA已成为5G、数据中心、AI(人工智能)等新兴市场的重要硬件计算平台


一、什么是FPGA?


根据百度上的解释,FPGA是一种现场可编程的逻辑器件。FPGA主要有以下特性:
1、一种半定制电路,解决了定制电路的灵活性不足;
2、迭代迅速,芯片验证不可或缺的存在;
3、技术和专利门槛很高的行业;
4、纯逻辑到全可编程SOC演化;
5、开发门槛也很高;


二、FPGA行业应用,相比ASIC、GPU有什么优势?


首先,相比于ASCI,FPGA在系统主频和功耗方面并不占优势,FPGA的优势在并行运算能力;

其次,灵活性。在AI算法迅速迭代的阶段,FPGA的半定制特点能很快的适应算法的迭代,再一方面,虽然FPGA功耗大,但相对于GPU在同等效能情况下,其功耗低于GPU,且在推断阶段占有优势;


三、FPGA时序分析的关键点在哪里,很难学吗?


国内很多高校对FPGA的讲解偏重理论会更多一点,目前国内很多从事FPGA开发的工程师都是通过开发板自学,所以通常会从语法开始,对FPGA架构及底层数据传输相对了解较少。所以,目前对时序分析这一块,理论的讲解很多,听的时候都理解,听完了也就忘了,没起到实质的作用。我觉得这一块,最重要的是要去理解代码和数据是怎样在FPGA硬件进行映射和传输,器件内部的延迟是怎样的,结合代码和硬件分析,时序分析应该是人人掌握的基本技能。


四、FPGA开发遇到瓶颈如何逐步提升?


工程师的技能一般可以分为两种:专业能力和行业经验。专业能力能够通过反复的练习掌握的,如Verilog编程等;

行业经验是指行业中的一些有别于其他行业的一些产品特点,及该产品开发过程的经验,行业经验需要长期在该领域不断磨练和积累才能掌握的经验,是即使拥有专业能力的专家也没法轻易取代你的能力。

因此如果感觉自己遇到瓶颈,首先要确认自己的专业能力是否过硬;其次,是否自己跳槽太平凡,导致在任何一个行业没有太多的积累。

工程师的价值是你在某一公司或者某一行业替代你公司需要付出的代价决定,如果公司或者行业替代你的代价越高,你的价值就越大。


五、学习FPGA需要什么基础、开发误区在哪里?


个人一直认为,现在网络的发展程度,大部分的知识是完全可以轻松获得,只要是真的花时间去学。FPGA是数字信号处理器件,因此需要一定的数字电路基础,有一些编程的基础知识更好,这样你对写代码不会那么的陌生。当然,这些基础类课程也可以边做FPGA边学,但你可能要花比别人更多的一些精力。

开发误区:不能以纯软件的思维去理解FPGA,不用过多的网上的一些不可靠的知识,要多看原文手册。


六、学会FPGA开发我以后能做什么,赚钱吗?


首先,我觉得这是一个伪命题。因为赚钱和个人能力相关,任何一个行业有人发财,也有人混不下去。

但是从整个行业来看,国内从事互联网的工程师已经饱和,目前在深圳20W的年薪就可以招到一个高级前端工程师;从事安卓和IOS开发的工程师也不少。但是FPGA的应用场景和市场份额在增长,国家也大力发展半导体行业,国内FPGA和芯片设计的人才也并不多,你想想您毕业的时候,班上有多少人懂软件,又有几个人真正懂FPGA呢?


七、FPGA目前处于一个什么样的地位?现在对数据处理速度要求越来越高,在新生5G的大环境下,FPGA是否会处于主流?


首先,从事嵌入式开发的人员和上层软件开发的人员会远远多于FPGA开发,所以从规模上看,FPGA远低于存储及CPU和MCU的市场规模,并且在较长时间上来看,FPGA并不会是主流器件,但随着新领域的加速普及,FPAG的并行处理优势,及高带宽接口等特性将使得FPGA的市场规模有望进一步扩大,且增速会高于半导体的增长速度,其次国内的FPGA及半导体人才在一段时间内仍将短缺。


八、在公司里,是纯硬件逻辑用的多,还是PS和PL综合使用,两个都熟练掌握,对Linux操作系统有要求吗?


在大部分公司里,从事PL和PS开发的都是互相独立的岗位,FPGA并不需要理解PS的工作原理(当然,懂PS和Linux会更好),FPGA进入到全可编程领域以后,FPGA的开发就不再是单独某一个人能完成的工作,其复杂度已经很高。从技术的本质来看,FPGA和Linux开发对工程师的技术素养要求也是完全不一样的,一个是硬件工程师,一个是软件工程师。短期内,大部分人的精力只能在某一领域做到擅长,很难做到什么都会。学的太杂了,有时候还不如学精通一种。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-29 11:46 , Processed in 0.058849 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表