新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > “老司機(jī)”:我不推薦因找工作而學(xué)習(xí)FPGA

“老司機(jī)”:我不推薦因找工作而學(xué)習(xí)FPGA

作者: 時(shí)間:2018-03-27 來(lái)源:網(wǎng)絡(luò) 收藏

  最近的幾篇論文都改好投出去了,希望后面有好的結(jié)果。暫時(shí)也就有點(diǎn)閑暇時(shí)間空出來(lái)了,好久沒(méi)有寫技術(shù)文章來(lái)總結(jié)提煉一下了,今天難得就寫一點(diǎn)。

本文引用地址:http://butianyuan.cn/article/201803/377448.htm

  每年到了找工作的時(shí)節(jié),總會(huì)有很多迷茫的小本甚至是小碩在到處訊問(wèn)說(shuō):我是不是應(yīng)該去參加個(gè)培訓(xùn)班,去學(xué)一門什么什么技術(shù)。然后學(xué)哪個(gè)比較好找工作一點(diǎn),學(xué)哪個(gè)收入會(huì)高一點(diǎn)等等。每當(dāng)這個(gè)時(shí)候就有很多抱著就業(yè)目的的人來(lái)問(wèn)到底學(xué)什么技術(shù)好啊,哪個(gè)技術(shù)有前途啊,等等。

  一般在這個(gè)時(shí)候,我是不推薦這幫人去學(xué)習(xí)的。當(dāng)然,并不是技術(shù)不好,也不是學(xué)技術(shù)沒(méi)有前途,而是有別的很多原因。導(dǎo)致它并不適合推薦給以就業(yè)為目的的這幫人去學(xué)習(xí)。

  原因一:FPGA的“逼格”太高

  FPGA的應(yīng)用范圍相對(duì)而言一直不寬。之前我也談過(guò),其主要的應(yīng)用面就是三個(gè):高速接口電路、高速數(shù)學(xué)運(yùn)算與數(shù)據(jù)處理、ASIC/的驗(yàn)證原型;也有人說(shuō)可重構(gòu)計(jì)算是FPGA的第四大應(yīng)用領(lǐng)域,但是我覺(jué)得目前還沒(méi)有什么真正意義上的可重構(gòu)計(jì)算,即使有也可以將其歸并到第二類里面去。在掌握基本的HDL語(yǔ)言和FPGA開(kāi)發(fā)流程的基礎(chǔ)上,三個(gè)方向分別還需要掌握其它相應(yīng)的知識(shí)。

  第一個(gè)方向是傳統(tǒng)的,也是目前國(guó)內(nèi)大量中小公司和部分科研院所使用FPGA的主要方向。主要包括接口擴(kuò)展、協(xié)議轉(zhuǎn)換、高速收發(fā)與處理等內(nèi)容。通常在這個(gè)方向混飯還至少需要掌握以下內(nèi)容:1、高速電路板設(shè)計(jì),2、計(jì)算機(jī)接口技術(shù);可能還要求掌握的技術(shù)包括:1、底層驅(qū)動(dòng)開(kāi)發(fā),2、通信協(xié)議。

  第二個(gè)方向涵蓋的內(nèi)容較多,但是核心都是利用FPGA實(shí)現(xiàn)算法或運(yùn)算加速,從傳統(tǒng)的FFT、FIR到最新的一些所謂的NB的算法都有可能。這個(gè)方向門檻相對(duì)于第一個(gè)方向更高,通常都是需要有一定技術(shù)水平的公司才能完成。因?yàn)樯婕暗剿惴ê虵PGA的協(xié)同優(yōu)化。目前國(guó)內(nèi)的華為、中興這樣的大的通信公司,以及一些電子通信類的整機(jī)研究所會(huì)招聘這個(gè)方向的人。一些有技術(shù)實(shí)力的創(chuàng)業(yè)型公司或特殊領(lǐng)域的公司(如金融、石油領(lǐng)域的數(shù)據(jù)分析方案解決)也有這方面的需求。更值得欣慰的是目前google、X訊這樣的互聯(lián)網(wǎng)公司看起來(lái)也在考慮引入FPGA實(shí)現(xiàn)算法加速。但這個(gè)方向混飯吃也不容易,至少需要掌握以下內(nèi)容:1、常用的數(shù)字信號(hào)處理/數(shù)值計(jì)算算法,2、基于Matlab/C++的算法仿真,3、常用的數(shù)字算法FPGA實(shí)現(xiàn)方式或技巧;可能還要求掌握的技術(shù)包括:1、圖像、視頻處理算法,2、通信系統(tǒng)理論,3、其它常見(jiàn)的并行計(jì)算算法。

  第三個(gè)方向?qū)儆谑墙oASIC/設(shè)計(jì)打下手,別人已經(jīng)做好的很多模塊、IP用FPGA的板子去驗(yàn)證一下。招人不多。而且現(xiàn)在隨著EDA tools的發(fā)展,很多時(shí)候也不是靠FPGA去做一個(gè)原型能驗(yàn)證出來(lái)的。這一塊需要掌握的技術(shù)包括:1、各種驗(yàn)證方法學(xué),2、板級(jí)電路的調(diào)試經(jīng)驗(yàn);可能還要求掌握的技術(shù)包括:前面提到的各種技術(shù)……

  原因二:FPGA的“門檻”太高

  FPGA“門檻”高是幾個(gè)方面,一個(gè)是費(fèi)用問(wèn)題。雖然FPGA的價(jià)格已經(jīng)一降再降,但是MCU、DSP的價(jià)格同樣也是一降再降。在大多數(shù)場(chǎng)合FPGA還是顯得有點(diǎn)“奢侈”。另外一個(gè)問(wèn)題就是就是開(kāi)發(fā)能力的問(wèn)題。相比于MCU或者DSP而言FPGA更加靈活,但也意味著對(duì)資源的利用和掌控更加“底層”?,F(xiàn)在MCU和DSP的開(kāi)發(fā)很多時(shí)候就是調(diào)用一些庫(kù)函數(shù),完成一定的功能即可。而FPGA卻要組織更底層的邏輯資源去構(gòu)建一整套完整的系統(tǒng)。雖然有很多IP可以用,但是一方面這些IP都不是免費(fèi)的,另一方面使用IP可比調(diào)用一個(gè)函數(shù)難多了。這也是為什么前面說(shuō)的3個(gè)方向要掌握那么技術(shù)的原因,在FPGA開(kāi)發(fā)上要從底層開(kāi)始組織好這些資源,一些基本的理論、方法是必須要掌握的。

  門檻太高就導(dǎo)致用它做開(kāi)發(fā)的公司、機(jī)構(gòu)少。換言之能創(chuàng)造的就業(yè)崗位也就不多。

  原因三:FPGA在面臨轉(zhuǎn)型

  目前FPGA正在面臨一個(gè)轉(zhuǎn)型的問(wèn)題,換言之就是傳統(tǒng)市場(chǎng)萎縮,新興市場(chǎng)還待打開(kāi)的問(wèn)題。這一轉(zhuǎn)型既有開(kāi)發(fā)手段上的轉(zhuǎn)型,也有行業(yè)應(yīng)用的變化。因此,目前學(xué)習(xí)到的這些FPGA開(kāi)發(fā)的方法,在未來(lái)還有沒(méi)有用,就成了一個(gè)疑問(wèn)。目前以-FPGA為代表的一種轉(zhuǎn)型方向,是去搶占傳統(tǒng)的高性能SoC市場(chǎng)。但這個(gè)市場(chǎng)好不好搶,是很懷疑的。之前我曾經(jīng)認(rèn)為這一塊應(yīng)該是有所作為的,但是現(xiàn)在發(fā)現(xiàn)不是那么簡(jiǎn)單的。在ARM外面加上一圈可編程邏輯,用來(lái)做什么好呢?做接口?現(xiàn)在的高端SoC芯片上面接口已經(jīng)如此的豐富,在大多數(shù)情況還是基本夠用的。做算法加速?那么去加速什么算法呢?目前移動(dòng)多媒體設(shè)備上面各類圖形圖像加速器也不少了。別的特殊的應(yīng)用需要加速的又需要是以SoC形式的加速的?也許是一些特種設(shè)備,我不是很了解。但是應(yīng)該不會(huì)是通用的市場(chǎng)。剩下的就是做做研究了。另外一種就是以高層語(yǔ)言綜合為代表的轉(zhuǎn)型方向,如Xilinx的Auto-ESL和Altera的OpenCL Based FPGA開(kāi)發(fā)。這一類轉(zhuǎn)型的未來(lái)在大數(shù)據(jù)、云計(jì)算加速方向。這一塊目前是GPGPU的主場(chǎng)。對(duì)于Xilinx的Auto-ESL我不是很清楚。OpenCL Based FPGA開(kāi)發(fā)目前看來(lái)還是很有希望的。但問(wèn)題在于OpenCL繼承了GPGPU的優(yōu)勢(shì),也繼承了GPGPU的缺陷。那就是傳統(tǒng)的GPU是用來(lái)做圖形圖像處理的,數(shù)據(jù)都是一幀一幀加進(jìn)去算的,而且算完以后就直接輸出了。因此對(duì)于數(shù)據(jù)傳輸?shù)膌atency其實(shí)并不是很大的問(wèn)題。而如果涉及到通用計(jì)算,這GPU和CPU之間的交互latency就是大問(wèn)題。上周剛聽(tīng)了個(gè)講座,就是專門講這一方面的。不過(guò)我沒(méi)怎么聽(tīng)懂就是了……

  所以在這個(gè)轉(zhuǎn)型期,其實(shí)FPGA開(kāi)發(fā)需要的崗位是在萎縮的。之前聽(tīng)在華為的同學(xué)爆料,美國(guó)某大學(xué)教授預(yù)言FPGA在網(wǎng)絡(luò)通信市場(chǎng)大概還有10年的壽命,再往后就全是SDN了。這一大塊FPGA傳統(tǒng)市場(chǎng)的喪失將是一個(gè)巨大的危機(jī)。而另一大市場(chǎng),視頻/圖像領(lǐng)域,隨著網(wǎng)絡(luò)化視頻監(jiān)控SoC的普及,原來(lái)采用FPGA作為主要技術(shù)方案的廠家也就逐漸改弦更張或者被淘汰出局了。另外一個(gè)風(fēng)險(xiǎn)就是現(xiàn)有的開(kāi)發(fā)手段可能會(huì)存在被淘汰的風(fēng)險(xiǎn)。雖然現(xiàn)在OpenCL去開(kāi)發(fā)FPGA還存在諸多問(wèn)題,但是我認(rèn)為在大數(shù)據(jù)、云計(jì)算加速領(lǐng)域,使用OpenCL開(kāi)發(fā)的便捷是完全可能彌補(bǔ)其效率的暫時(shí)低下的。從能效上來(lái)說(shuō),F(xiàn)PGA比GPGPU要高1到2個(gè)數(shù)量級(jí)。而這一塊又是傳統(tǒng)的軟件開(kāi)發(fā)者盤踞的地盤。換言之,這一塊新增的就業(yè)崗位恐怕不是學(xué)習(xí)現(xiàn)在這些FPGA開(kāi)發(fā)流程和技術(shù)的人能夠去吃得到的。

  以上三點(diǎn)原因,造成了一個(gè)即使參加了FPGA培訓(xùn)或者學(xué)習(xí)了FPGA半年的新手,其實(shí)是很難在就業(yè)市場(chǎng)上找到工作的。另外一方面也不得不感慨我們這個(gè)行業(yè)的發(fā)展是如此的迅速。如果放在10年前,甚至5年前有人問(wèn)我該學(xué)什么。我肯定會(huì)毫不猶豫的推薦學(xué)FPGA。因?yàn)樵谀莻€(gè)時(shí)代,會(huì)使用FPGA的人才是如此的缺乏。以至于你只要學(xué)會(huì)了FPGA開(kāi)發(fā)的一般流程,就可以找到一份還不錯(cuò)的工作。而現(xiàn)在,這個(gè)好時(shí)代已經(jīng)一去不回了。類似問(wèn)題其實(shí)也在困擾其它IT技術(shù)。以北大青鳥(niǎo)為代表的一大軟件開(kāi)發(fā)批培訓(xùn)機(jī)構(gòu)的沒(méi)落,也同樣標(biāo)志著在軟件技術(shù)領(lǐng)域只掌握一門編程語(yǔ)言就可以拿到好工作的日子也已經(jīng)過(guò)去了。

  所以,從功利的角度上來(lái)講,如果是只是為了找工作的話。應(yīng)該去選擇那些就業(yè)概率更大的技術(shù)學(xué)習(xí)。畢竟,已經(jīng)“淪落”到要靠上培訓(xùn)班才能找到工作的地步,“理想”也都無(wú)從談起了。相比與學(xué)習(xí)FPGA,恐怕還是去學(xué)個(gè)什么Java編程更加靠譜一點(diǎn)。



關(guān)鍵詞: FPGA SoC

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉