Intel和AMD都斥巨資收購了領(lǐng)先的FPGA公司。撇開相對較小的嵌入式計算和通信/互聯(lián)網(wǎng)市場,這些基本上是對FPGA作為數(shù)據(jù)中心服務(wù)器CPU的關(guān)鍵組合的未來的賭注。但除非克服了在軟件程序員工作的難題和設(shè)備管理方面的主要挑戰(zhàn),否則這種組合將是個未知數(shù)。理解為什么AMD對FPGA供應(yīng)商Xilinx如此感興趣,或者說Intel多年前為何對Altera感興趣,有助于了解FPGA到底是什么,以及這些設(shè)備在目前芯片行業(yè)中發(fā)揮什么作用。人們的想法很簡單,不幸的是,事實正是被這種簡單的想法和許多復(fù)雜的技術(shù)所掩蓋。首先是名字。FPGA是Filed-Programmable Gate Array的縮寫,這個市場化的術(shù)語其實非常不合適,因為這些設(shè)備既不是可編程的,也不是門陣列。它們是工程師設(shè)計和構(gòu)建集成電路的方式中一些困難問題的解決方案。
與主流芯片(CPU、GPU、ASIC)的對比,優(yōu)勢何在?
今天幾乎所有復(fù)雜的數(shù)字IC都是通過單一任務(wù)鏈來構(gòu)建的,即曾經(jīng)被稱為ASIC(Application-Specific IC)的設(shè)計流程。確定了對芯片要求的精確表述后,設(shè)計者收集一系列的功能塊:處理器、內(nèi)存模塊、加速器功能和專用控制器,它們共同滿足了要求。這些模塊中的大多數(shù)都采用的IP,并從供應(yīng)商庫中提取。少數(shù)沒有這種形式的,設(shè)計者將用HDL(Hardware Description Language)來描述,但不要與C++或Python等編程語言混淆。編程語言描述了一個處理器應(yīng)該執(zhí)行的一系列步驟,以執(zhí)行一個算法。HDL描述的是一塊硬件的結(jié)構(gòu),而不是一連串的事件。然后,設(shè)計工具將這些IP模塊和HDL描述組合成一個邏輯元素、寄存器和連接它們的線段的列表,即一個SoC的基本部分。然后,設(shè)計團隊詳盡地測試這個所謂的網(wǎng)表。隨后的工具通過幾個曲折的步驟將網(wǎng)表轉(zhuǎn)換為代表即將在SoC上制造的實際晶體管和導(dǎo)線的形式,然后轉(zhuǎn)換為在芯片上打印這些特征的圖案。
大量的數(shù)據(jù)要經(jīng)過更多的測試,然后被送到掩膜車間和制造實際集成電路的工廠。這個過程可以制造出相當(dāng)接近底層芯片工藝的潛在最大密度、速度和能效的集成電路。但它需要大量的時間,從需求到第一塊芯片誕生需要9個月的時間,這并不罕見,如果有設(shè)計錯誤、需求變化或工廠的延誤,從開始到結(jié)束的鏈條很容易達到一年或更長時間。而且還有大量的初始成本,不僅包括設(shè)計團隊的工作,還有一套掩模和最初運行芯片的昂貴的成本。
在許多情況下,例如不確定的設(shè)計要求,在快速發(fā)展的市場或小批量的生產(chǎn),ASIC方法并不理想。FPGA來救場FPGA正是為了解決這個問題而出現(xiàn)的。但FPGA的密度和速度會降低,功耗也大幅增加,F(xiàn)PGA讓設(shè)計團隊實際上跳過了網(wǎng)表開發(fā)后的所有步驟。相反,設(shè)計者直接將網(wǎng)表實施在現(xiàn)成的FPGA芯片中。這可以節(jié)省幾個月的后端芯片設(shè)計時間和掩膜車間及制造時間,以及數(shù)萬美元的前期費用。FPGA集成電路的單價會大大高于同類ASIC芯片的量產(chǎn)單價。但通常,如果設(shè)計發(fā)生變化或產(chǎn)量較低,ASIC攤銷后的單位成本實際上可能高于FPGA。全球FPGA 市場規(guī)模不斷擴大,中國市場增速更是快于全球。FPGA下游應(yīng)用市場廣泛,隨著5G技術(shù)的提升、AI的推進以及汽車自動化趨勢的演進,全球FPGA市場規(guī)模將穩(wěn)步增長。Frost&Sullivan,預(yù)計全球 FPGA需求將從2021年 68.6 億美元增長為2025年125.8億美元,年均復(fù)合增長率約為 16.4%。
全球 FPGA 市場規(guī)模 中國市場增速更是快于全球。隨著國產(chǎn)替代進程的進一步加速,近年來,中國 FPGA 芯片市場規(guī)模持續(xù)上升,從2016 年的 65.5 億元增長至 2020 年的 150.3 億元,年復(fù)合增長率達 23.1%。據(jù)預(yù)測,至 2025 年中國 FPGA 市場規(guī)模將進一步提升至 332.2 億元,2021-2025 年的復(fù)合增長率為 17.1%,高于全球 FPGA 市場的 10.85%。
中國 FPGA 市場規(guī)模FPGA 芯片國外起步較早,技術(shù)積累深厚,高度壟斷市場。在全球FPGA 市場中,主要被Xilinx(已被AMD收購)和Intel兩家海外企業(yè)雙寡頭壟斷,在2019年,兩家合計占據(jù)了全球市場份額的85%以上。由于技術(shù)壁壘高、更新?lián)Q代速度快,全球 FPGA 市場高度集中,國內(nèi)廠商占比較低。
2019 年全球 FPGA 市場競爭格局 國內(nèi) FPGA 市場起步較晚,技術(shù)層面仍存在較大差距。目前Xilinx、Intel、Lattice三家供應(yīng)商占據(jù)中國約80%FPGA市場份額。盡管國外廠商占比仍然較高,在國產(chǎn)化趨勢下,但國內(nèi)廠商有所突破,中國FPGA市場的成長將助力國內(nèi)企業(yè)占據(jù)市場份額。國內(nèi)FPGA市場起步較晚,相關(guān)技術(shù)人員匱乏,主要面向低密度市場擴展自身份額,逐步實現(xiàn)國產(chǎn)替代。
雖然國內(nèi)FPGA廠商有百家爭鳴之勢,但基本分布在中低端市場,大多是一些1000萬門級左右的FPGA,少數(shù)達到2000萬門級的FPGA雖然也有自主研發(fā)的,有一些是逆向工程的產(chǎn)物,或商業(yè)收購的結(jié)果。從技術(shù)水平上看,國內(nèi)廠商與國際龍頭仍存在較大差距。但隨著國內(nèi)企業(yè)加大研發(fā)布局,其設(shè)計能力已有較大提升,如復(fù)旦微 28nm 制程億門級 FPGA 芯片已實現(xiàn)量產(chǎn)出貨;安路科技 28nm產(chǎn)品已正式量產(chǎn),F(xiàn)inFET 工藝產(chǎn)品已開展預(yù)研。隨著國內(nèi)企業(yè)的進一步研發(fā),有望逐步縮小與國際先進水平的差距,在國產(chǎn)化趨勢下擴大國內(nèi)市場份額。
FPGA 芯片最大的特點是可編程性,可通過改變芯片內(nèi)部連接結(jié)構(gòu),實現(xiàn)任何邏輯功能。其應(yīng)用領(lǐng)域最初為通信領(lǐng)域,但目前,隨著信息產(chǎn)業(yè)和微電子技術(shù)的發(fā)展,可編程邏輯嵌入式系統(tǒng)設(shè)計技術(shù)已經(jīng)成為信息產(chǎn)業(yè)最熱門的技術(shù)之一,應(yīng)用范圍遍及人工智能、數(shù)據(jù)中心、醫(yī)療、通訊、5G、安防、汽車電子、工業(yè)等多個熱門領(lǐng)域。并隨著工藝的進步和技術(shù)的發(fā)展,向更多、更廣泛的應(yīng)用領(lǐng)域擴展。越來越多的設(shè)計也開始以ASIC轉(zhuǎn)向FPGA,F(xiàn)PGA正以各種電子產(chǎn)品的形式進入我們?nèi)粘I畹母鱾€角落。隨著應(yīng)用場景對FPGA的需求持續(xù)提升,再加上5G、人工智能、大數(shù)據(jù)、自動駕駛、物聯(lián)網(wǎng)的發(fā)展推動中國FPGA市場擴張,刺激增量需求釋放,從行業(yè)發(fā)展趨勢來看,F(xiàn)PGA潛力被嚴(yán)重低估,未來大有可為。對于人工智能而言,算法正處于快速迭代中。雖然ASIC芯片可以獲得最優(yōu)的性能,即面積利用率高、速度快、功耗低;但是AISC開發(fā)風(fēng)險極大,需要有足夠大的市場來保證成本價格,而且從研發(fā)到市場的周期很長,不適合例如深度學(xué)習(xí)、CNN等算法正在快速迭代的領(lǐng)域。FPGA正好能適用于人工智能領(lǐng)域,滿足高速并行計算的需求,基于全球人工智能市場大熱,這也刺激了FPGA的市場,有利于FPGA產(chǎn)業(yè)的發(fā)展。
FPGA工程師核心競爭力是什么?
對于FPGA工程師的核心競爭力,其實FPGA工程師在真正工業(yè)界還是有細(xì)分的,大致可以分為兩部分,做IC原型驗證的(包括design和verification),用FPGA開發(fā)產(chǎn)品的。做IC原型驗證大多不需要了解算法,只是根據(jù)設(shè)計人員的設(shè)計框圖實現(xiàn)邏輯(大公司);做產(chǎn)品開發(fā)的可能離具體的應(yīng)用和算法更近一些,相當(dāng)于將特定應(yīng)用和算法做硬件實現(xiàn)。我這里講的更加側(cè)重的是做FPGA實現(xiàn)這類的工程師(包括IC原型驗證的design和產(chǎn)品設(shè)計的design)。我將更細(xì)致的給出一些我認(rèn)為重要的能力。
1、 RTL設(shè)計實現(xiàn)能力。
關(guān)于FPGA工程師的核心競爭力,很多人會提到算法實現(xiàn)能力,我將這歸結(jié)為RTL設(shè)計實現(xiàn)能力的一部分,RTL實現(xiàn)是FPGA工程師或者說HDL開發(fā)人員的入門首先接觸到的東西,我將其總結(jié)為如下幾點:
a、 硬件的實現(xiàn)思路HDL設(shè)計實現(xiàn)和軟件實現(xiàn)的思路不同,HDL作為一種描述語言,側(cè)重的是對硬件的映射和連接關(guān)系的描述,當(dāng)然也有邏輯、處理的實現(xiàn),但歸根揭底所有的邏輯都是在硬件上實現(xiàn)的,最終都會映射為加法器,乘法器,狀態(tài)機,計數(shù)器,編碼器(優(yōu)先),解碼器等等一些列硬件資源,對于邏輯拆解和抽象能力將直接關(guān)系到最終編碼的效率。簡單的來說,好的HDL編碼人員編寫的代碼更容易被編譯器綜合,對于初學(xué)者來講,編譯器的綜合(包括后續(xù)Map布局布線)時間以及warning數(shù)量以及最后綜合出來資源和你預(yù)先設(shè)計的吻合程度可以做為考量HDL代碼好壞的一種方式。
b、 資源和時序的優(yōu)化能力資源和時序的優(yōu)化能力是作為FPGA(ASIC)開發(fā)人員進階的能力,這里就需要大量的經(jīng)驗和反復(fù)的迭代,不斷對硬件(FPGA底層結(jié)構(gòu))深入理解才能夠達到。對于FPGA來講和ASIC設(shè)計有所不同,ASIC的硬件實現(xiàn)很多是由綜合器決定的(比如用什么樣的乘法器),但是對于FPGA來講,資源全部是固定的,F(xiàn)PGA資源可以分為三塊,運算邏輯(LUT DSP carry chain等),存儲單元(REG SRL BRAM DRAM),IO(各種高速低速接口),相同的算法應(yīng)用可以用不同的資源,不同資源的組合方式來實現(xiàn)。那么如何用更少的資源,更快的主頻實現(xiàn)某一算法,這就需要有很強的資源和時序優(yōu)化能力,通常這種優(yōu)化是經(jīng)過多次迭代的,當(dāng)然通常頂層的設(shè)計人員會對系統(tǒng)層次的資源和時序有著較為準(zhǔn)確的把握,也會給出各個模塊的設(shè)計指標(biāo)和邊界,但是不同開發(fā)人員水平和能力最終設(shè)計的結(jié)果是不一樣的,好的資源和時序優(yōu)化能力是FPGA工程師的重要競爭力。再反過頭來說軟件開發(fā),其實從優(yōu)化上來講和RTL設(shè)計或者說HDL開發(fā)沒什么不同,好的軟件設(shè)計人員更了解計算機底層,對于資源(時間,空間)的使用,對于算法的效率的分析也更加深刻,因此也能寫出更好的軟件代碼,我覺得在這一層面上無論軟件還是硬件開發(fā)都是對于邏輯的抽象能力(當(dāng)然術(shù)有所不同)。
2、 硬件調(diào)試能力。
調(diào)試能力,也是作為FPGA開發(fā)人員和所有從事硬件開發(fā)人員都一直認(rèn)可的能力或者說核心競爭力。舉個例子,在找工作的時候如果你能向別人展示出你無與倫比的調(diào)試能力,別人沒有理由不要你。調(diào)試能力需要大量的現(xiàn)場經(jīng)驗作為積累,同時也需要人的邏輯分析能力,當(dāng)然還需要耐心,細(xì)致等等人的高尚品質(zhì) ,這里我也做一個小小的總結(jié)。
a、 FPGA本身調(diào)試工具的使用
我想這里又可以分為兩個階段,仿真和上板調(diào)試,仿真我想作為FPGA工程師都不陌生,大型的開發(fā),通常有多個不同層次的模型,基本算法原理的模型,硬件仿真模型(通過C或matlab做定點仿真),然后再試HDL仿真模型(通過modelsim仿真最后的實現(xiàn)),仿真是一門很大的學(xué)問,現(xiàn)在都有專門的verification人員做。但是對于普通FPGA開發(fā)人員來京,如何利用仿真這個工具來高效率的調(diào)試是一個值得思考的問題,一些異步的輸入情況如何用仿真來排除問題,上板調(diào)試發(fā)現(xiàn)問題,根據(jù)問題輸入情況仿真排除問題,這些都是利用FPGA仿真工具來調(diào)試的手段。對于上板調(diào)試,主要就是利用chipsocpe添加調(diào)試信號,這里又涉及到如何利用有限資源(chipsocpe信號數(shù)量和深度)來排除問題,通常在上板調(diào)試發(fā)現(xiàn)問題后,仿真又無法定位解決(仿真是有和硬件不一致的情況的,比如一些RAM沖突的問題)。經(jīng)過分析加入合適的調(diào)試信號,設(shè)置合適的觸發(fā)條件,然后定位排除問題。這些說起來容易,實際還是需要大量的上板經(jīng)驗,特別是大型系統(tǒng)的調(diào)試經(jīng)歷不斷磨練提升。此外還有一些應(yīng)用需要配合外部儀器來獲取更多信息幫助定位問題,包括示波器,譜分析儀,網(wǎng)絡(luò)分析儀等常用實驗室儀器。
b、問題定位分析能力上面講的是都是利用工具來進行調(diào)試,但是硬件比軟件難得地方就在于其調(diào)試的復(fù)雜性,很多時候無法利用工具進行問題的定位,比如現(xiàn)象無法復(fù)現(xiàn),輸入條件隨機或者過于復(fù)雜,涉及模塊邏輯很多等等情況,這時候去定位問題大多靠想,就是邏輯分析來排出問題。我認(rèn)為這是FPGA工程師真正的核心競爭力,因為這不僅僅需要經(jīng)驗的積累,同時還需要很好的邏輯思維和分析能力。
c、系統(tǒng)調(diào)試能力系統(tǒng)調(diào)試能力是更加難得一項能力,通常做到系統(tǒng)層次的人員不會再具體的寫代碼或者上手調(diào)了,當(dāng)然對于小團隊小公司還是得自己上手。系統(tǒng)層面的調(diào)試能力一方面是對FPGA頂層的調(diào)試能力,各個模塊構(gòu)成的片上系統(tǒng)的問題分析定位能力。通常各個模塊在系統(tǒng)聯(lián)調(diào)之前都是經(jīng)過驗證的,但是在聯(lián)調(diào)的時候還是會出現(xiàn)各種各樣的問題,這時候的問題反饋的信息更加少,設(shè)計的邏輯模塊更加多,如何一步步抽絲撥繭定位到問題所在,并且采用什么樣的方式去解決(這時候通常不是單獨解決一個內(nèi)部模塊就行的),都需要很深厚的功力。另外一方面是整個硬件軟件系統(tǒng)層次的調(diào)試能力,要看得懂原理圖PCB,懂硬件,了解軟件接口,現(xiàn)在FPGA越來越講究Hardware Software Co-design,軟件硬件這個系統(tǒng)層次的調(diào)試能力對人的要求更加高,當(dāng)然這通常已經(jīng)遠(yuǎn)離了通常FPGA工程師的職責(zé),但是我認(rèn)為這是作為FPGA工程師上升通道中的重要能力。
3、更加高層次的更加高層次的東西,我個人的理解,還是系統(tǒng)層次的東西,算法和架構(gòu)。怎樣將一系列數(shù)學(xué)公式,轉(zhuǎn)換為算法,再最終形成系統(tǒng)硬件的實現(xiàn);整個系統(tǒng)采用什么樣的架構(gòu),純FPGA,arm FPGA,DSP FPGA,SOC FPGA;FPGA頂層采用什么架構(gòu),通用總線還是自定義總線,如何考慮通用性和可擴展性等等。再大至什么樣的應(yīng)用適合用FPGA實現(xiàn),什么樣的問題適合軟件實現(xiàn),怎樣的組合能更加低成本高效率的解決問題,這一些列問題涉及的東西就很多了,我講的都是以FPGA為核心做開發(fā)要面臨的問題,其實其他平臺的硬件、軟件產(chǎn)品都是類似,系統(tǒng)層面的問題都是復(fù)雜的問題,同時我也認(rèn)為,從系統(tǒng)層面去優(yōu)化,解決問題才是最高效率的方式。歸根結(jié)底,一個FPGA工程師的核心競爭力來源于深厚的技術(shù)功底,但是技術(shù)功底也并非通過一天練成的,最重要的是時間的積累,不斷的鉆研以及真正的興趣。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<