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