這個(gè)問題是老石在知乎上看到的,大家的回答都是“調(diào)板子”、“debug”、“硬件實(shí)現(xiàn)”等等。作為FPGA工程師,老石看了實(shí)在要報(bào)以一個(gè)禮貌的微笑。
換個(gè)角度看,難道其他硬件工程師就不具備調(diào)板子、debug、硬件實(shí)現(xiàn)的能力了?或者,為什么說這些是專屬于FPGA工程師的核心競爭力?
老石認(rèn)為,這個(gè)問題其實(shí)可以引申為以下兩點(diǎn):
接下來就是老石的解答。
什么是只有FPGA工程師能做到的
對(duì)于上面提到的一些回答,的確是FPGA工程師不可或缺的能力,但老石總覺得沒有說清楚這個(gè)問題的本質(zhì)。
首先給出老石的回答:FPGA工程師最核心的就是全棧能力。
這里的全棧,指的是系統(tǒng)級(jí)的軟硬件全棧能力。它既包括了在系統(tǒng)層面的架構(gòu)設(shè)計(jì)、芯片開發(fā)的前后端流程,也包括了軟件設(shè)計(jì)的全棧流程,甚至還有后期的項(xiàng)目維護(hù)、技術(shù)支持、與客戶的溝通等等軟技能。它可以看成是綜合多種技能的技能樹。
老石隨手寫了一下FPGA工程師的全棧技能樹,見下圖,盡管很不完整,但仍可供大家參考。之前很多人提到的,諸如調(diào)試與分析的能力,其實(shí)是這個(gè)全棧技能樹里的一片樹葉,或一個(gè)分支。
只有FPGA工程師能做到一人成團(tuán),在短時(shí)間內(nèi)將想法落實(shí)到高質(zhì)量的軟硬件系統(tǒng)實(shí)現(xiàn)。這是其他系統(tǒng)架構(gòu)師、ASIC工程師、單片機(jī)工程師、軟件工程師等等都無法單獨(dú)完成的。與這些工程師相比,F(xiàn)PGA工程師有著很強(qiáng)的單兵作戰(zhàn)能力。當(dāng)然,技能樹過于龐大也是為什么很多人認(rèn)為FPGA難學(xué)的本質(zhì)原因。
有人會(huì)問,為什么其他類型的工程師沒有這種全棧能力,或者換句話說,為什么只有FPGA工程師才能做到全棧?這和FPGA本身的特點(diǎn)有關(guān)。
在下圖中,老石對(duì)比了FPGA與ASIC、CPU(或單片機(jī))的特點(diǎn)與主要開發(fā)方式和風(fēng)格。
對(duì)于傳統(tǒng)的IC工程師而言,他們的具體職責(zé)可以大致分成前端和后端兩部分。前端主要負(fù)責(zé)邏輯實(shí)現(xiàn),后端負(fù)責(zé)芯片物理實(shí)現(xiàn)。兩路人馬通常有各自的技能樹,需要互相配合才能完成產(chǎn)品級(jí)的芯片,這個(gè)過程往往很久,而且伴隨著巨大的前期投入和風(fēng)險(xiǎn)。
對(duì)于單片機(jī)或CPU工程師而言,更多的是基于給定的單片機(jī)架構(gòu)和API,使用諸如C或C++的高層語言編寫應(yīng)用程序。如果要寫出高質(zhì)量的應(yīng)用,固然需要了解目標(biāo)芯片的硬件結(jié)構(gòu),但并不需要對(duì)硬件的邏輯實(shí)現(xiàn)有過多了解。雖然基于CPU或MCU可以靈活實(shí)現(xiàn)各種應(yīng)用,但由于架構(gòu)限制,在很多諸如人工智能的應(yīng)用領(lǐng)域里并不能達(dá)到很好的性能。
FPGA很大程度上結(jié)合了兩者的優(yōu)點(diǎn)。在硬件方面,F(xiàn)PGA底層架構(gòu)固定,因此不需要做太多芯片后端的工作,但仍需要FPGA工程師掌握時(shí)序優(yōu)化、面積優(yōu)化、功耗優(yōu)化等后端技能。因此一個(gè)優(yōu)秀的FPGA工程師憑借自身的前后端與軟硬件技能,就可以完成一個(gè)完整的而且質(zhì)量比較高的FPGA項(xiàng)目。
軟件方面,F(xiàn)PGA可以靈活定義API與軟件架構(gòu),并可以通過內(nèi)置的處理器內(nèi)核完成軟硬件協(xié)同開發(fā),這樣也能兼顧應(yīng)用的靈活性。因此,一個(gè)優(yōu)秀的FPGA工程師通常也具有優(yōu)秀的軟件編程能力。
在系統(tǒng)層面,F(xiàn)PGA工程師可以自定義軟硬件整體架構(gòu),不會(huì)像CPU或單片機(jī)一樣存在明顯的架構(gòu)瓶頸,也不會(huì)像ASIC一樣需要考慮過多底層電路單元以及工藝的具體實(shí)現(xiàn)。
綜上,只有FPGA工程師能擁有軟硬件系統(tǒng)的全棧能力,這也是FPGA工程師的核心競爭力。并且,這種能力可以在工程實(shí)踐中不斷自我豐富和提升。這使得優(yōu)秀的FPGA工程師不需要太過依賴其他人,能夠自己或少量人很快完成完整的系統(tǒng)級(jí)方案。
現(xiàn)在很多AI初創(chuàng)公司選擇使用FPGA作為硬件平臺(tái)的主要原因之一,就是看中FPGA工程師的全棧能力,使得公司能在較少投入的情況下,取得性能、靈活性、可擴(kuò)展性等多個(gè)方面的良好平衡。
全棧能力是FPGA工程師需要的完整技能樹。至于很多答友提到的調(diào)試和debug能力,更多的是在回答這個(gè)技能樹的技能點(diǎn)分配問題。這就是老石要講的第二個(gè)方面:
作為FPGA工程師,我們應(yīng)該如何培養(yǎng)這些能力
相信很多人會(huì)問,老石你說的這種全棧能力,究竟是不是在畫大餅吹牛逼?在實(shí)際生活中,到底是不是真的有人能全部精通技能樹中的所有分支?老石的答案是,雖然很少,但確實(shí)有這樣的大牛,而且老石有幸和他在一個(gè)團(tuán)隊(duì)里工作。
一般來說,如果一個(gè)FPGA工程師能在這個(gè)FPGA技能棧里精通某一項(xiàng),就可以成為這個(gè)領(lǐng)域的大牛和權(quán)威。比如,像很多人提到的,如果你特別會(huì)調(diào)板子,硬件調(diào)試能力很強(qiáng),那你就可以很好的負(fù)責(zé)項(xiàng)目中的硬件測(cè)試環(huán)節(jié)。再比如,你RTL寫的很好,或者驗(yàn)證很強(qiáng),或者對(duì)系統(tǒng)架構(gòu)有很深的理解,你都能在項(xiàng)目里成為不可或缺的人。
但是,在老石所在團(tuán)隊(duì)里就有一位帶頭大哥,可以從系統(tǒng)架構(gòu)、模塊設(shè)計(jì)、驗(yàn)證、系統(tǒng)整合、FPGA后端優(yōu)化、硬件測(cè)試、軟件開發(fā)和調(diào)試等等全部環(huán)節(jié)一個(gè)人搞定,可以說是點(diǎn)滿了技能樹上所有的技能點(diǎn)。
這樣的人就像阿里的多隆,一個(gè)人可以頂一支團(tuán)隊(duì),公司缺他不可。因此如果一個(gè)FPGA工程師能夠獲取軟硬件的全棧能力,將是團(tuán)隊(duì)乃至全公司的最主要競爭能力。
作為一個(gè)新人,應(yīng)該如何培養(yǎng)自己的FPGA全棧能力呢?其實(shí),帶頭大哥的技術(shù)功底也并非通過一天練成的,最重要的是時(shí)間的積累,不斷的鉆研以及真正的興趣。這些道理在任何行業(yè)都是一樣的。一開始可以先重點(diǎn)突破技能樹的某個(gè)分支,但最終的目標(biāo)還是要讓整個(gè)技能樹枝繁葉茂。
此外,工程師需要的軟技能也是不可或缺的,例如獨(dú)立思考的能力、溝通、寫作以及良好的英語等等。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21923瀏覽量
612389 -
工程師
+關(guān)注
關(guān)注
59文章
1587瀏覽量
69074 -
硬件
+關(guān)注
關(guān)注
11文章
3445瀏覽量
67052
原文標(biāo)題:【討論】什么是FPGA工程師的核心競爭力?
文章出處:【微信號(hào):TechSugar,微信公眾號(hào):TechSugar】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
【社區(qū)之星】張飛:做技術(shù)值不值錢,核心競爭力在于精


嵌入式軟件工程師就業(yè)好不好?
如何成為嵌入式開發(fā)工程師?

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實(shí) #YXC晶振 #揚(yáng)興科技
芯和半導(dǎo)體榮獲2024上海軟件核心競爭力企業(yè)
Keysight助力提升工程師的測(cè)試測(cè)量知識(shí)水平

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?
學(xué)習(xí)SOLIDWORKS提高學(xué)生的就業(yè)競爭力

評(píng)論