欢迎来到亿配芯城! | 免费注册
你的位置:比亚迪半导体IC芯片全系列-亿配芯城 > 芯片资讯 > FPGA工程师高薪之路,从哪里起步?
FPGA工程师高薪之路,从哪里起步?
发布日期:2024-10-29 07:50     点击次数:162
如果将电子设计圈比作一个“江湖”,电子工程师就像是在江湖中行走的侠客,掌握各种开发技能,修炼出更高级的功法,无疑是在江湖中安身立命的根本,也会决定个人江(薪)湖(资)地(水)位(平)的高下。而在诸多“功法”中,FPGA可以算是当下最炙手可热的一门。

1

人见人爱的FPGA

FPGA为什么会成为电子设计江湖中一个人见人爱的存在?这其中的故事很值得说一说。

作为一种和ASIC专用集成电路、CPU等通用处理器同场竞技的计算架构,FPGA最大的特点是兼具灵活性和高性能。通俗地讲就是,FPGA可以让工程师通过编程的方式,去自由定义硬件功能,让同一颗FPGA芯片根据编程,变成你想要的“样子”,且可以随心所欲地变换,这确实是件很神奇的事儿。

不过,与这种随心所欲的灵活性相对应,FPGA的短板也很明显。和ASIC相比,FPGA的通用性令其不得不在性能上做折中,在大批量应用时,在成本和功耗方面也不占优势。而和更为“通用”的CPU相比,由于特殊的硬件编程语言、生态资源较少,开发难度大,因此应用范围也一直受限。所以在相当长的时间内,FPGA更多的是作为一种原型验证工具来使用,同时仅在一些特定的领域——比如高性能、高复杂性的逻辑接口——建立了稳固的根据地。所以,如何扩大自身的应用版图,也一直是FPGA心心念念的一个愿望。

随着市场需求的发展,特别是这些年人工智能AI)应用的兴起,FPGA实现这个愿望的进程大大加速了。这很大程度上是因为FPGA独特的架构。

大家知道,AI应用由于数据处理工作量的剧增,对硬件的算力提出了更高的要求。单从计算性能上看,ASIC固然是首选,但是由于其研发成本高,且功能固化无法快速响应市场的变化,所以人们对选用ASIC十分谨慎。而CPU的工作是基于指令的,有时一个字节数据的处理也必须使用一组指令才能完成,在面对海量数据集时,这种运算效率让人无法接受。

而FPGA的应用可以让数据处理换一种“思路”。与CPU那种“将数据锁定在架构上,使用指令流对其处理”的方式不同,FPGA可以通过编程,将某种计算架构用硬件电路实现出来,可视为将“指令”锁定在硬件架构上,然后在上面运行数据流,这样就可以实现多数据的并行处理,提升算力。而且,由于FPGA的可编程性,特别适合开发者去探索AI领域不断出现的新算法,快速迭代进行系统调优。因此,无论是在云端还是网络边缘端,FPGA在AI时代都是一种不可或缺的计算架构。

2

FPGA的进化

为了抓住这一历史性的机遇,这些年FPGA厂商从技术和产品上都做足了功课,其中最关键几个举措包括:

1

第一,依托半导体工艺的进步,FPGA不断提升集成度,降低成本和功耗,缩小与ASIC的竞争差距。可以说,FPGA是从摩尔定律中得益最多的半导体器件之一。

3

第二,与此同时,FPGA凭借架构创新,也在摆脱对摩尔定律的依赖,一个重要的标志就是SoC FPGA异构平台的出现。所谓SoC FPGA,就是通过在单一器件中集成包括可编程逻辑单元、通用处理器(如ARM架构),以及其他专业的加速协处理器和功能模块,构建一个异构计算平台,这样就可以为特定的计算任务安排最合适的计算资源,以实现效率最大化,同时也能保持足够的灵活性,让FPGA架构得以渗透到越来越广泛的嵌入式应用中。

4

第三,为了进一步拉低开发者入门的门槛, 电子元器件采购网 推出配套的开发工具套件,提供全面的工具链支持,也成为FPGA厂商另一个维度“软”实力的竞争。

所以,当今天开发者面对着进化到如此高度的FPGA时,都会由衷地感叹“真香”。

3

Hello FPGA!

当然,虽然看上去“很香”,但是想要真正入口,还是需要下一番力气的,毕竟与其他大家熟悉的嵌入式开发架构相比,FPGA还是一个新课题,有许多知识的盲点需要去填补。

在开始学习FPGA的时候,诸多考虑因素中有一个很重要的环节,就是要找一个得心应手的入门级开发工具包,因为电子设计作为一个实践性的工作,必须借助这种开发工具落在实处,通过跑例程DEMO体验完整的开发流程,这样才可以举一反三,真正吃透一款器件。

目前市面上可供开发者选择的入门级FPGA工具不少,但以下几个关键要素是一款“好”工具所必不可少的:

基于最具代表性、主流的FPGA器件,能让开发者紧跟技术趋势不落伍;

提供完整的配套软硬件资源,覆盖完整的开发流程;

具有可扩展性,让开发者有发挥的空间。

比如来自于Microchip的Hello FPGA开发套件,就是具备上述关键要素、值得拥有的一款入门级FPGA开发平台。

2-1.jpg

图1:Hello FPGA开发套件(图源:Microchip

该套件的硬件架构包括FPGA主板、相机传感模块和LCD板三部分,其中最核心的当然是FPGA主板。而作为FPGA板核心的是SmartFusion2 SoC FPGA(型号为M2S010)。顾名思义,这是Microchip推出的一个异构计算平台,其中集成了Microchip第四代基于闪存的FPGA架构(FPGA Fabric)、主频166MHz的ARM Cortex-M3处理器系统(MSS),以及高性能通信接口,能够满足典型的FPGA应用场景开发所需。

2-2.jpg

图2:SmartFusion2 SoC FPGA系统框图(图源:Microchip)

虽然与大家耳熟能详的Xilinx和Intel(原Altera)的FPGA器件相比,SmartFusion2 SoC FPGA曝光度不算高,但其却是一款特点十分鲜明的器件,这可以用三个关键词来归纳:可靠、安全、低功耗。

1

可靠

由于采用了基于闪存的FPGA架构,所以SmartFusion2具备独特的SEU(single event upset,单事件翻转)免疫能力,能够满足零故障率(failures in time, FIT)的行业标准要求,特别适合高可靠性应用。该器件还具有SEU保护存储器(eSRAM、DDR Bridge、指令高速缓存、以太网、CAN和USB缓存、PCIe、MMUART和SPI FIFO),以及带有单错校正、双错检测(SECDED)保护功能的硬连线667Mbps DDR2/3控制器。

2

安全

SmartFusion2提供了先进的设计和数据安全能力,内置AES-256和SHA-256加密处理加速器以及其他安全机制,确保应用中的安全性。

3

低功耗

SmartFusion2在低功耗方面的表现也很突出,设计人员可以通过简单的命令来启用Flash Freeze超低功耗模式,该模式下功耗仅为2mW,在相同的条件下静态功率是竞争对手的1/100,整体功耗在最坏工作条件下可降低35%至50%。

除了SoC FPGA,Hello FPGA开发套件主板上的其他板载资源中,还有一个Microchip PIC32 MCU,用于SmartFusion2 SoC FPGA编程、监控电源等功能。此外,主板上还包括Arduino和Mikrobus连接器,用来外接更多的扩展板卡,提高原型设计的灵活性,满足更多的设计要求。

2-3.jpg

图3:Hello FPGA开发套件FPGA主板资源(图源:Microchip)

为了让开发者充分体验到这种扩展性,Hello FPGA开发套件配套提供了两个扩展板卡:相机传感器板和LCD板,形成一个包括图像采集、数据处理、人机界面HMI在内的完整的资源包,所以与普通的评估/开发板相比,Hello FPGA可以为开发者提供更为完整的平台资源,完成图像处理、信号处理和人工智能等方案演示,帮助开发者直观地认识FPGA的强大功力。

2-4.jpg

图4:Hello FPGA开发套件配套提供相机传感器(右)和LCD(左)两个扩展板(图源:Microchip)

最后值得一提的是,除了上述的Hello FPGA硬件资源,Microchip还为开发者提供了一个免费的Libero SoC软件开发套件,支持FPGA可编程逻辑部分的开发,其中除了强大的FPGA开发工具外,还集成了丰富的第三方工具(如Synopsys公司的Synplify Pro综合工具和Mentor Graphics公司的ModelSim仿真工具)。而对于SoC FPGA中ARM处理器系统的开发,开发者可以使用SoftConsole或者嵌入式开发者所熟悉的Keil MDK工具实现。

2-5.jpg

图5:Hello FPGA软件开发环境(图源:Microchip)

由此可见,通过Hello FPGA这样一款硬件开发套件,以及配套的免费软件工具集,FPGA的初学者可以很方便地搭建起一个入门级的开发平台,拥有一块FPGA世界的敲门砖。想在硬件开发江湖上扬名立万,从此踏上FPGA工程师高薪之路,这真的是一个不错的起点!