天天看點

FPGA在各行業的應用分析

FPGA發明後,在這個行業裡面曾經出現過不少玩家,比如xilinx、altera、lattice、actel、cypress,atmel等,經過十幾年的厮殺,玩家逐漸減少,這些公司或者出售,或者退出,如cypress,atmel完全退出,actel出售給microsemi,altera被intel收購,但這兩個廠家還在這個行業。現在國際上的主流廠家實際隻剩xilinx,altera(intel),lattice和microsemi四家。而前兩者是絕對的霸主,占據市場總份額的近90%,處在第一陣營。後兩者份額在百分之十左右,處在第二陣營,但和第一陣營差距非常大。與國際上巨頭的兼并和退出相反,近些年國内陸續誕生了一些FPGA設計公司,且有蒸蒸日上的趨勢,但在市場佔有率及技術方面和國際巨頭差距非常大,還遠未達到挑戰領先巨頭的實力,後面會對國内廠家做些分析。

下面再來簡要介紹FPGA設計,這裡的FPGA設計不是研發FPGA晶片,而是用FPGA做産品設計。業界普遍認為FPGA設計門檻很高,相對軟體設計,差别在哪呢?現在FPGA的主流設計還是采用verilog設計(早期有使用原理圖方式,這個方式更接近硬體搭積木,但大規模的設計無法完成)。用matlab,C語言做算法設計,然後通過工具直接轉化為verilog的方式,喊了十幾年,到現在還未成為主流,說明工具在轉化verilog方面其效果還不如有經驗的FPGA人員寫的代碼。Verilog語言本身非常簡單,但FPGA設計的難點并不在語言,而是對FPGA器件内部資源和硬體的熟悉,你寫的語言能和你使用的目标器件高效的配合起來,使它的效果、使用率以及程式的可讀性達到最優,這個難度就非常大了。筆者曾經牽頭編寫了某大型公司整個無線産品的coding style,有近200條規定,這些規定是幾十個FPGA開發人員多年經驗的積累,不按這個來,随時可能是個坑。好的coding style,不僅程式寫得很美觀,可讀性好,也不容易出bug。一般來說,要成為一個有經驗的FPGA設計人員,起碼得從事相關工作5年以上,經曆過3個以上大型項目的鍛煉,而且需要有高手帶。筆者曾經面試過的大量的FPGA開發人員,基本上從研究所、小公司或者小團隊出來的,盡管有些工作了很多年,其底子也不是太好(這裡沒有歧視研究所和小公司的意思,術業有專攻而已)。是以,如果想在FPGA設計領域做得很深入,國内著名通信裝置廠家絕對是最好的選擇,沒有之一。當然,如果有IC設計經驗的人,轉為FPGA開發,則會快很多,而且基本功也很紮實,但需要補充行業、系統經驗。

FPGA從誕生起,就注定和ASIC站在不同的陣營。ASIC是固化好的晶片,不可以進行硬體程式設計(上面跑軟體的不屬于硬體程式設計)而随意改變硬體結構,而FPGA則可以根據設計者的需要改變硬體結構。是以,從靈活性來說,FPGA遠強于ASIC晶片,而且FPGA開發周期也比ASIC要短,是以在有些領域或者場景下,FPGA比ASIC有優勢,比如通信領域,協定标準還不成熟時,各個廠家大量的私有接口,使用FPGA能快速推出産品,而且高度靈活滿足了非标準接口的開發。再比如工業領域,很多功能也可能是非标的,很難找到合适的ASIC晶片,這時FPGA也是很好的選擇。但是FPGA也有它的弱點,為了保證靈活性,晶片裡面預留了可配置邏輯,即相對ASIC增加了備援的面積,這樣既增加了成本也增加了功耗,這就決定了在有些領域裡面它很難競争過ASIC,比如終端産品,它對低功耗要求比較高。在标準化的産品、功能裡面,它不需要那麼靈活,這也不是FPGA的菜。因為終端産品量非常大,而且這個世界上大部分東西都是有共性的,即可以标準、通用的可能性大,是以,FPGA在整個晶片行業占比總體來說比較小。這些年FPGA總體市場規模在40億美金左右(加上CPLD大概在50多億美金),而2016年全球晶片市場規模大概在4000億美金左右。

總體來說,由于FPGA本身的特點,決定了它不是在每個行業、産品都适合應用,标準化的,功耗要求很嚴格的,單價很低的産品都不适合,而這些恰恰是電子産品中占比大的,事實上,FPGA用得比較多的行業主要有通信、工業控制、醫療裝置、及高端安防等,以及航天和軍工(可靠性要求高,但量不大),未來可能資料中心和AI會是一個爆發點,後面會做分析。

在晶片應用行業,計算機和通訊是最大的兩個領域,而對于FPGA來說,應用的第一大領域是通訊而不是計算機。PC機雖然數量及其巨大,但PC機裡面沒有FPGA晶片,原因是PC機是一個高度标準化的産品,是以PC機裡面所有晶片用ASIC實作不僅可行,而且是經濟的。而伺服器、大型機裡面開始逐漸在使用FPGA,主要用于大資料的協處理,目前量還不大,遠遠無法和通信産品使用的FPGA相比,但未來潛力很大,後面會做進一步介紹。

FPGA2016各行業應用.jpg

通信産品可以從雲、管、端層面來劃分,端不大适合使用FPGA,如前所述,因為FPGA功耗相對ASIC偏大,至于前段時間吵得沸沸揚揚的lattice FPGA晶片用于三星和蘋果7的手機案例,實屬特例,千萬不要認為未來FPGA能大規模進軍消費電子,進而使得FPGA市場規模将成倍甚至數十倍的增加,至少短期内可能性不大。

通信行業講的雲主要包括核心網及各種伺服器中心,在大資料和雲計算沒有規模應用之前,核心網裝置裡面基本沒有FPGA,因為核心網所處理的協定其實非常标準化,變化不是太大,我們常見的2G-3G-4G以及即将到來的5G,其标準的核心部分實際上主要展現在實體層和邏輯層,而這些功能主要在管道(基站、基站控制、承載、傳輸等産品)中實作,這些标準變化快,各裝置廠家為了搶占産品和技術的制高點,甚至在标準還未當機之前就推出原型樣機甚至小批量,而這隻有FPGA能做到。一般來講越往終端側靠近,裝置的數量越多,用的FPGA量也越多,越靠近核心網側用的FPGA數量越少,但FPGA晶片的型号越高端,單片更貴。考慮量、價因素,最終還是基站側用的FPGA總價高。

為什麼是基站(也可以說是管道)最适合用FPGA,而且總價最高。首先因為基站的量非常大,基站雖然和手機的量沒法比,但遠多于核心網數量,據不完全統計,全球存量基站有數千萬(5G部署後,可能會輕松破億),每個基站裡面有數塊到10數塊闆子(根據配置不同而不同),除了電源和風扇闆子沒有FPGA晶片外,幾乎每塊闆子都有FPGA晶片,有的還不止一顆。其次,基站裡面用的FPGA型号也不會太低端,因為要處理複雜的實體協定、部分算法和邏輯控制,接口速率更是一個重要的考慮。一般來講,基站中的晶片價格在一百到數千元人民币不等。價格過高比如幾千甚至上萬人民币的晶片,最多在初期原型驗證用,不會大規模發貨。最後,基站主要負責實作通信協定中實體層、邏輯鍊路層的協定部分,這部分内容每年都在更新,而且也比較适合FPGA來實作,尤其是協定未完全當機時,最适合FPGA來處理,因為可以通過更新FPGA版本來應對協定變動,待協定完全當機後,各裝置廠家會逐漸以ASIC來替代之前的FPGA,因為量達到一定程度後,ASIC的成本和功耗優勢就展現出來了,而且大型裝置商的ASIC化能力又非常強,是以FPGA在通信領域主要在初、中期應用比例高,後期能被替代的都被ASIC替代了,隻留下一些接口類的FPGA,這也是FPGA廠商必須要面對的一個現實。

除了通信領域,FPGA在安防和工業領域也存在大量應用。在安防領域,視訊的編解碼比如MPEG和H.26x等協定基本由專用ASIC實作,但是前端的資料采集處理及部分控制邏輯可以由FPGA來處理,因為安防也是一個巨大的産業,是以,FPGA的用量也是非常可觀的。工業領域主要用FPGA的靈活性來做控制,而且主要是規模比較小的FPGA。此外,軍工和航天也是FPGA應用的一個重要領域,軍工和航天對FPGA的可靠性要求更高,除了xilinx和altera有軍工産品外,microsemi(前actel)的anti-fuse工藝(一次程式設計,可以更好的抗幹擾和抗輻射等)FPGA因其高可靠性,主要用于軍工航天産品。

繼續閱讀