FPGA工程师专业介绍
EE出身的童鞋里,其他方向的就业早已卷出天际,可FPGA却是一股清流,以至于网上居然还有“FPGA工程师为什么这么难招?”这样颇具热度的问题~
什么是FPGA
FPGA是一种可重构电路的芯片,也是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名则是现场可编程门阵列。
通过编程,用户可以随时改变它的应用场景,它可以模拟CPU、GPU等硬件的各种并行运算。通过与目标硬件的高速接口互联,FPGA可以完成目标硬件运行效率比较低的部分,从而在系统层面实现加速。
FPGA没有出现之前,几乎所有集成电路都可以看做一幢建好的房子,一旦交房就不能修改它的主体机构。而PFGA可以类比成盖房子模块化零件,可以根据你的想法自由组合,如过不满意,还能拆了重新搭建,这个过程就叫做可编程逻辑。
换句话说,如果将各种主要芯片比作玩具,FPGA就像是积木,可以照着图纸也可以发挥想象拼搭(编程)成适应各种玩法的玩具。
FPGA有什么特点?
灵活性是FPGA芯片最大的优势所在。通过编程,它可以根据不同应用场景的需要改变自己的功能。
这么说吧,FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
与ASIC芯片相比,FPGA的一项重要特点是其可编程特性,即用户可通过程序指定FPGA实现某一特定数字电路。再者就是FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
基于FPGA的这些特性,它也被广泛应用于芯片制造前的测试和原型验证环节。
越来越受重视的FPGA
通用处理器(CPU)的摩尔定律已入暮年,可机器学习和数据处理的规模却指数级增长。人们使用定制硬件来加速常见的计算任务,但日新月异的行业又要求这些定制的硬件可被重新编程来执行新类型的计算任务。
与此同时,FPGA却同时做到了性能比CPU高、功耗比GPU低、适用范围比ASIC广。因而,那些仍然蓬勃发展,但相关的标准和算法还没有统一的场景中,FPGA芯片都成为了首选,比如说人工智能、5G通信、数据中心等等。
由于FPGA芯片架起了通用芯片和定制芯片之间的桥梁,同时保证了高性能和低功耗,近年来得以在国内外互联网巨头的数据中心大规模部署,以同时提供强大的计算能力和足够的灵活性。比如微软的Catapult项目和阿里云的神龙服务器。
也正是因为如此,越来越多的互联网大厂小厂们开始迫切需求起高水平的FPGA工程师来。相较于一般的硬件或软件工程师,FPGA的待遇和起点明显要高出不少。