《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 其他 > 入門:FPGA與主流芯片(CPU,、GPU,、ASIC)的對(duì)比

入門:FPGA與主流芯片(CPU、GPU,、ASIC)的對(duì)比

2023-02-26
來源:FPGA研究院
關(guān)鍵詞: FPGA CPU GPU ASIC 集成電路

  Intel和AMD都斥巨資收購了領(lǐng)先的FPGA公司。撇開相對(duì)較小的嵌入式計(jì)算和通信/互聯(lián)網(wǎng)市場(chǎng),,這些基本上是對(duì)FPGA作為數(shù)據(jù)中心服務(wù)器CPU的關(guān)鍵組合的未來的賭注,。但除非克服了在軟件程序員工作的難題和設(shè)備管理方面的主要挑戰(zhàn),否則這種組合將是個(gè)未知數(shù),。理解為什么AMD對(duì)FPGA供應(yīng)商Xilinx如此感興趣,,或者說Intel多年前為何對(duì)Altera感興趣,有助于了解FPGA到底是什么,,以及這些設(shè)備在目前芯片行業(yè)中發(fā)揮什么作用,。人們的想法很簡(jiǎn)單,不幸的是,,事實(shí)正是被這種簡(jiǎn)單的想法和許多復(fù)雜的技術(shù)所掩蓋,。首先是名字。FPGA是Filed-Programmable Gate Array的縮寫,,這個(gè)市場(chǎng)化的術(shù)語其實(shí)非常不合適,,因?yàn)檫@些設(shè)備既不是可編程的,,也不是門陣列,。它們是工程師設(shè)計(jì)和構(gòu)建集成電路的方式中一些困難問題的解決方案,。

  與主流芯片(CPU,、GPU,、ASIC)的對(duì)比,優(yōu)勢(shì)何在,?

  今天幾乎所有復(fù)雜的數(shù)字IC都是通過單一任務(wù)鏈來構(gòu)建的,,即曾經(jīng)被稱為ASIC(Application-Specific IC)的設(shè)計(jì)流程。確定了對(duì)芯片要求的精確表述后,,設(shè)計(jì)者收集一系列的功能塊:處理器、內(nèi)存模塊,、加速器功能和專用控制器,它們共同滿足了要求,。這些模塊中的大多數(shù)都采用的IP,,并從供應(yīng)商庫中提取。少數(shù)沒有這種形式的,,設(shè)計(jì)者將用HDL(Hardware Description Language)來描述,但不要與C++或Python等編程語言混淆,。編程語言描述了一個(gè)處理器應(yīng)該執(zhí)行的一系列步驟,,以執(zhí)行一個(gè)算法。HDL描述的是一塊硬件的結(jié)構(gòu),,而不是一連串的事件。然后,,設(shè)計(jì)工具將這些IP模塊和HDL描述組合成一個(gè)邏輯元素,、寄存器和連接它們的線段的列表,即一個(gè)SoC的基本部分,。然后,,設(shè)計(jì)團(tuán)隊(duì)詳盡地測(cè)試這個(gè)所謂的網(wǎng)表。隨后的工具通過幾個(gè)曲折的步驟將網(wǎng)表轉(zhuǎn)換為代表即將在SoC上制造的實(shí)際晶體管和導(dǎo)線的形式,,然后轉(zhuǎn)換為在芯片上打印這些特征的圖案,。

  大量的數(shù)據(jù)要經(jīng)過更多的測(cè)試,然后被送到掩膜車間和制造實(shí)際集成電路的工廠,。這個(gè)過程可以制造出相當(dāng)接近底層芯片工藝的潛在最大密度,、速度和能效的集成電路,。但它需要大量的時(shí)間,,從需求到第一塊芯片誕生需要9個(gè)月的時(shí)間,,這并不罕見,如果有設(shè)計(jì)錯(cuò)誤,、需求變化或工廠的延誤,,從開始到結(jié)束的鏈條很容易達(dá)到一年或更長時(shí)間。而且還有大量的初始成本,,不僅包括設(shè)計(jì)團(tuán)隊(duì)的工作,,還有一套掩模和最初運(yùn)行芯片的昂貴的成本。

  在許多情況下,,例如不確定的設(shè)計(jì)要求,在快速發(fā)展的市場(chǎng)或小批量的生產(chǎn),,ASIC方法并不理想,。FPGA來救場(chǎng)FPGA正是為了解決這個(gè)問題而出現(xiàn)的。但FPGA的密度和速度會(huì)降低,,功耗也大幅增加,,F(xiàn)PGA讓設(shè)計(jì)團(tuán)隊(duì)實(shí)際上跳過了網(wǎng)表開發(fā)后的所有步驟。相反,,設(shè)計(jì)者直接將網(wǎng)表實(shí)施在現(xiàn)成的FPGA芯片中,。這可以節(jié)省幾個(gè)月的后端芯片設(shè)計(jì)時(shí)間和掩膜車間及制造時(shí)間,以及數(shù)萬美元的前期費(fèi)用,。FPGA集成電路的單價(jià)會(huì)大大高于同類ASIC芯片的量產(chǎn)單價(jià),。但通常,如果設(shè)計(jì)發(fā)生變化或產(chǎn)量較低,,ASIC攤銷后的單位成本實(shí)際上可能高于FPGA,。全球FPGA 市場(chǎng)規(guī)模不斷擴(kuò)大,中國市場(chǎng)增速更是快于全球,。FPGA下游應(yīng)用市場(chǎng)廣泛,,隨著5G技術(shù)的提升、AI的推進(jìn)以及汽車自動(dòng)化趨勢(shì)的演進(jìn),,全球FPGA市場(chǎng)規(guī)模將穩(wěn)步增長,。Frost&Sullivan,預(yù)計(jì)全球 FPGA需求將從2021年 68.6 億美元增長為2025年125.8億美元,,年均復(fù)合增長率約為 16.4%,。

  全球 FPGA 市場(chǎng)規(guī)模 中國市場(chǎng)增速更是快于全球。隨著國產(chǎn)替代進(jìn)程的進(jìn)一步加速,,近年來,,中國 FPGA 芯片市場(chǎng)規(guī)模持續(xù)上升,從2016 年的 65.5 億元增長至 2020 年的 150.3 億元,年復(fù)合增長率達(dá) 23.1%,。據(jù)預(yù)測(cè),,至 2025 年中國 FPGA 市場(chǎng)規(guī)模將進(jìn)一步提升至 332.2 億元,2021-2025 年的復(fù)合增長率為 17.1%,,高于全球 FPGA 市場(chǎng)的 10.85%,。

  中國 FPGA 市場(chǎng)規(guī)模FPGA 芯片國外起步較早,技術(shù)積累深厚,,高度壟斷市場(chǎng),。在全球FPGA 市場(chǎng)中,主要被Xilinx(已被AMD收購)和Intel兩家海外企業(yè)雙寡頭壟斷,,在2019年,,兩家合計(jì)占據(jù)了全球市場(chǎng)份額的85%以上。由于技術(shù)壁壘高,、更新?lián)Q代速度快,,全球 FPGA 市場(chǎng)高度集中,國內(nèi)廠商占比較低,。

  2019 年全球 FPGA 市場(chǎng)競(jìng)爭(zhēng)格局 國內(nèi) FPGA 市場(chǎng)起步較晚,,技術(shù)層面仍存在較大差距。目前Xilinx,、Intel,、Lattice三家供應(yīng)商占據(jù)中國約80%FPGA市場(chǎng)份額。盡管國外廠商占比仍然較高,,在國產(chǎn)化趨勢(shì)下,,但國內(nèi)廠商有所突破,中國FPGA市場(chǎng)的成長將助力國內(nèi)企業(yè)占據(jù)市場(chǎng)份額,。國內(nèi)FPGA市場(chǎng)起步較晚,,相關(guān)技術(shù)人員匱乏,主要面向低密度市場(chǎng)擴(kuò)展自身份額,,逐步實(shí)現(xiàn)國產(chǎn)替代,。

  雖然國內(nèi)FPGA廠商有百家爭(zhēng)鳴之勢(shì),但基本分布在中低端市場(chǎng),,大多是一些1000萬門級(jí)左右的FPGA,,少數(shù)達(dá)到2000萬門級(jí)的FPGA雖然也有自主研發(fā)的,有一些是逆向工程的產(chǎn)物,,或商業(yè)收購的結(jié)果,。從技術(shù)水平上看,國內(nèi)廠商與國際龍頭仍存在較大差距,。但隨著國內(nèi)企業(yè)加大研發(fā)布局,,其設(shè)計(jì)能力已有較大提升,,如復(fù)旦微 28nm 制程億門級(jí) FPGA 芯片已實(shí)現(xiàn)量產(chǎn)出貨;安路科技 28nm產(chǎn)品已正式量產(chǎn),,F(xiàn)inFET 工藝產(chǎn)品已開展預(yù)研,。隨著國內(nèi)企業(yè)的進(jìn)一步研發(fā),有望逐步縮小與國際先進(jìn)水平的差距,,在國產(chǎn)化趨勢(shì)下擴(kuò)大國內(nèi)市場(chǎng)份額,。

  FPGA 芯片最大的特點(diǎn)是可編程性,,可通過改變芯片內(nèi)部連接結(jié)構(gòu),,實(shí)現(xiàn)任何邏輯功能。其應(yīng)用領(lǐng)域最初為通信領(lǐng)域,,但目前,,隨著信息產(chǎn)業(yè)和微電子技術(shù)的發(fā)展,可編程邏輯嵌入式系統(tǒng)設(shè)計(jì)技術(shù)已經(jīng)成為信息產(chǎn)業(yè)最熱門的技術(shù)之一,,應(yīng)用范圍遍及人工智能,、數(shù)據(jù)中心、醫(yī)療,、通訊,、5G、安防,、汽車電子,、工業(yè)等多個(gè)熱門領(lǐng)域。并隨著工藝的進(jìn)步和技術(shù)的發(fā)展,,向更多,、更廣泛的應(yīng)用領(lǐng)域擴(kuò)展。越來越多的設(shè)計(jì)也開始以ASIC轉(zhuǎn)向FPGA,,F(xiàn)PGA正以各種電子產(chǎn)品的形式進(jìn)入我們?nèi)粘I畹母鱾€(gè)角落,。隨著應(yīng)用場(chǎng)景對(duì)FPGA的需求持續(xù)提升,再加上5G,、人工智能,、大數(shù)據(jù)、自動(dòng)駕駛,、物聯(lián)網(wǎng)的發(fā)展推動(dòng)中國FPGA市場(chǎng)擴(kuò)張,,刺激增量需求釋放,從行業(yè)發(fā)展趨勢(shì)來看,,F(xiàn)PGA潛力被嚴(yán)重低估,,未來大有可為。對(duì)于人工智能而言,,算法正處于快速迭代中,。雖然ASIC芯片可以獲得最優(yōu)的性能,,即面積利用率高、速度快,、功耗低,;但是AISC開發(fā)風(fēng)險(xiǎn)極大,需要有足夠大的市場(chǎng)來保證成本價(jià)格,,而且從研發(fā)到市場(chǎng)的周期很長,,不適合例如深度學(xué)習(xí)、CNN等算法正在快速迭代的領(lǐng)域,。FPGA正好能適用于人工智能領(lǐng)域,,滿足高速并行計(jì)算的需求,基于全球人工智能市場(chǎng)大熱,,這也刺激了FPGA的市場(chǎng),,有利于FPGA產(chǎn)業(yè)的發(fā)展。

  FPGA工程師核心競(jìng)爭(zhēng)力是什么,?

  對(duì)于FPGA工程師的核心競(jìng)爭(zhēng)力,,其實(shí)FPGA工程師在真正工業(yè)界還是有細(xì)分的,大致可以分為兩部分,,做IC原型驗(yàn)證的(包括design和verification),,用FPGA開發(fā)產(chǎn)品的。做IC原型驗(yàn)證大多不需要了解算法,,只是根據(jù)設(shè)計(jì)人員的設(shè)計(jì)框圖實(shí)現(xiàn)邏輯(大公司),;做產(chǎn)品開發(fā)的可能離具體的應(yīng)用和算法更近一些,相當(dāng)于將特定應(yīng)用和算法做硬件實(shí)現(xiàn),。我這里講的更加側(cè)重的是做FPGA實(shí)現(xiàn)這類的工程師(包括IC原型驗(yàn)證的design和產(chǎn)品設(shè)計(jì)的design),。我將更細(xì)致的給出一些我認(rèn)為重要的能力。

  1,、 RTL設(shè)計(jì)實(shí)現(xiàn)能力,。

  關(guān)于FPGA工程師的核心競(jìng)爭(zhēng)力,很多人會(huì)提到算法實(shí)現(xiàn)能力,,我將這歸結(jié)為RTL設(shè)計(jì)實(shí)現(xiàn)能力的一部分,,RTL實(shí)現(xiàn)是FPGA工程師或者說HDL開發(fā)人員的入門首先接觸到的東西,我將其總結(jié)為如下幾點(diǎn):

  a,、 硬件的實(shí)現(xiàn)思路HDL設(shè)計(jì)實(shí)現(xiàn)和軟件實(shí)現(xiàn)的思路不同,,HDL作為一種描述語言,側(cè)重的是對(duì)硬件的映射和連接關(guān)系的描述,,當(dāng)然也有邏輯,、處理的實(shí)現(xiàn),但歸根揭底所有的邏輯都是在硬件上實(shí)現(xiàn)的,,最終都會(huì)映射為加法器,,乘法器,,狀態(tài)機(jī),計(jì)數(shù)器,,編碼器(優(yōu)先),,解碼器等等一些列硬件資源,對(duì)于邏輯拆解和抽象能力將直接關(guān)系到最終編碼的效率,。簡(jiǎn)單的來說,,好的HDL編碼人員編寫的代碼更容易被編譯器綜合,對(duì)于初學(xué)者來講,,編譯器的綜合(包括后續(xù)Map布局布線)時(shí)間以及warning數(shù)量以及最后綜合出來資源和你預(yù)先設(shè)計(jì)的吻合程度可以做為考量HDL代碼好壞的一種方式,。

  b、 資源和時(shí)序的優(yōu)化能力資源和時(shí)序的優(yōu)化能力是作為FPGA(ASIC)開發(fā)人員進(jìn)階的能力,,這里就需要大量的經(jīng)驗(yàn)和反復(fù)的迭代,,不斷對(duì)硬件(FPGA底層結(jié)構(gòu))深入理解才能夠達(dá)到,。對(duì)于FPGA來講和ASIC設(shè)計(jì)有所不同,,ASIC的硬件實(shí)現(xiàn)很多是由綜合器決定的(比如用什么樣的乘法器),但是對(duì)于FPGA來講,,資源全部是固定的,,F(xiàn)PGA資源可以分為三塊,運(yùn)算邏輯(LUT DSP carry chain等),,存儲(chǔ)單元(REG SRL BRAM DRAM),,IO(各種高速低速接口),相同的算法應(yīng)用可以用不同的資源,,不同資源的組合方式來實(shí)現(xiàn),。那么如何用更少的資源,更快的主頻實(shí)現(xiàn)某一算法,,這就需要有很強(qiáng)的資源和時(shí)序優(yōu)化能力,,通常這種優(yōu)化是經(jīng)過多次迭代的,當(dāng)然通常頂層的設(shè)計(jì)人員會(huì)對(duì)系統(tǒng)層次的資源和時(shí)序有著較為準(zhǔn)確的把握,,也會(huì)給出各個(gè)模塊的設(shè)計(jì)指標(biāo)和邊界,,但是不同開發(fā)人員水平和能力最終設(shè)計(jì)的結(jié)果是不一樣的,好的資源和時(shí)序優(yōu)化能力是FPGA工程師的重要競(jìng)爭(zhēng)力,。再反過頭來說軟件開發(fā),,其實(shí)從優(yōu)化上來講和RTL設(shè)計(jì)或者說HDL開發(fā)沒什么不同,好的軟件設(shè)計(jì)人員更了解計(jì)算機(jī)底層,,對(duì)于資源(時(shí)間,,空間)的使用,對(duì)于算法的效率的分析也更加深刻,,因此也能寫出更好的軟件代碼,,我覺得在這一層面上無論軟件還是硬件開發(fā)都是對(duì)于邏輯的抽象能力(當(dāng)然術(shù)有所不同),。

  2、 硬件調(diào)試能力,。

  調(diào)試能力,,也是作為FPGA開發(fā)人員和所有從事硬件開發(fā)人員都一直認(rèn)可的能力或者說核心競(jìng)爭(zhēng)力。舉個(gè)例子,,在找工作的時(shí)候如果你能向別人展示出你無與倫比的調(diào)試能力,,別人沒有理由不要你。調(diào)試能力需要大量的現(xiàn)場(chǎng)經(jīng)驗(yàn)作為積累,,同時(shí)也需要人的邏輯分析能力,,當(dāng)然還需要耐心,細(xì)致等等人的高尚品質(zhì) ,,這里我也做一個(gè)小小的總結(jié),。

  a、 FPGA本身調(diào)試工具的使用

  我想這里又可以分為兩個(gè)階段,,仿真和上板調(diào)試,,仿真我想作為FPGA工程師都不陌生,大型的開發(fā),,通常有多個(gè)不同層次的模型,,基本算法原理的模型,硬件仿真模型(通過C或matlab做定點(diǎn)仿真),,然后再試HDL仿真模型(通過modelsim仿真最后的實(shí)現(xiàn)),,仿真是一門很大的學(xué)問,現(xiàn)在都有專門的verification人員做,。但是對(duì)于普通FPGA開發(fā)人員來京,,如何利用仿真這個(gè)工具來高效率的調(diào)試是一個(gè)值得思考的問題,一些異步的輸入情況如何用仿真來排除問題,,上板調(diào)試發(fā)現(xiàn)問題,,根據(jù)問題輸入情況仿真排除問題,這些都是利用FPGA仿真工具來調(diào)試的手段,。對(duì)于上板調(diào)試,,主要就是利用chipsocpe添加調(diào)試信號(hào),這里又涉及到如何利用有限資源(chipsocpe信號(hào)數(shù)量和深度)來排除問題,,通常在上板調(diào)試發(fā)現(xiàn)問題后,,仿真又無法定位解決(仿真是有和硬件不一致的情況的,比如一些RAM沖突的問題),。經(jīng)過分析加入合適的調(diào)試信號(hào),,設(shè)置合適的觸發(fā)條件,然后定位排除問題,。這些說起來容易,,實(shí)際還是需要大量的上板經(jīng)驗(yàn),,特別是大型系統(tǒng)的調(diào)試經(jīng)歷不斷磨練提升。此外還有一些應(yīng)用需要配合外部?jī)x器來獲取更多信息幫助定位問題,,包括示波器,,譜分析儀,網(wǎng)絡(luò)分析儀等常用實(shí)驗(yàn)室儀器,。

  b,、問題定位分析能力上面講的是都是利用工具來進(jìn)行調(diào)試,但是硬件比軟件難得地方就在于其調(diào)試的復(fù)雜性,,很多時(shí)候無法利用工具進(jìn)行問題的定位,,比如現(xiàn)象無法復(fù)現(xiàn),輸入條件隨機(jī)或者過于復(fù)雜,,涉及模塊邏輯很多等等情況,,這時(shí)候去定位問題大多靠想,就是邏輯分析來排出問題,。我認(rèn)為這是FPGA工程師真正的核心競(jìng)爭(zhēng)力,,因?yàn)檫@不僅僅需要經(jīng)驗(yàn)的積累,同時(shí)還需要很好的邏輯思維和分析能力,。

  c,、系統(tǒng)調(diào)試能力系統(tǒng)調(diào)試能力是更加難得一項(xiàng)能力,,通常做到系統(tǒng)層次的人員不會(huì)再具體的寫代碼或者上手調(diào)了,,當(dāng)然對(duì)于小團(tuán)隊(duì)小公司還是得自己上手。系統(tǒng)層面的調(diào)試能力一方面是對(duì)FPGA頂層的調(diào)試能力,,各個(gè)模塊構(gòu)成的片上系統(tǒng)的問題分析定位能力,。通常各個(gè)模塊在系統(tǒng)聯(lián)調(diào)之前都是經(jīng)過驗(yàn)證的,但是在聯(lián)調(diào)的時(shí)候還是會(huì)出現(xiàn)各種各樣的問題,,這時(shí)候的問題反饋的信息更加少,,設(shè)計(jì)的邏輯模塊更加多,如何一步步抽絲撥繭定位到問題所在,,并且采用什么樣的方式去解決(這時(shí)候通常不是單獨(dú)解決一個(gè)內(nèi)部模塊就行的),,都需要很深厚的功力。另外一方面是整個(gè)硬件軟件系統(tǒng)層次的調(diào)試能力,,要看得懂原理圖PCB,,懂硬件,了解軟件接口,,現(xiàn)在FPGA越來越講究Hardware Software Co-design,,軟件硬件這個(gè)系統(tǒng)層次的調(diào)試能力對(duì)人的要求更加高,當(dāng)然這通常已經(jīng)遠(yuǎn)離了通常FPGA工程師的職責(zé),,但是我認(rèn)為這是作為FPGA工程師上升通道中的重要能力,。

  3,、更加高層次的更加高層次的東西,我個(gè)人的理解,,還是系統(tǒng)層次的東西,,算法和架構(gòu)。怎樣將一系列數(shù)學(xué)公式,,轉(zhuǎn)換為算法,,再最終形成系統(tǒng)硬件的實(shí)現(xiàn);整個(gè)系統(tǒng)采用什么樣的架構(gòu),,純FPGA,,arm FPGA,DSP FPGA,,SOC FPGA,;FPGA頂層采用什么架構(gòu),通用總線還是自定義總線,,如何考慮通用性和可擴(kuò)展性等等,。再大至什么樣的應(yīng)用適合用FPGA實(shí)現(xiàn),什么樣的問題適合軟件實(shí)現(xiàn),,怎樣的組合能更加低成本高效率的解決問題,,這一些列問題涉及的東西就很多了,我講的都是以FPGA為核心做開發(fā)要面臨的問題,,其實(shí)其他平臺(tái)的硬件,、軟件產(chǎn)品都是類似,系統(tǒng)層面的問題都是復(fù)雜的問題,,同時(shí)我也認(rèn)為,,從系統(tǒng)層面去優(yōu)化,解決問題才是最高效率的方式,。歸根結(jié)底,,一個(gè)FPGA工程師的核心競(jìng)爭(zhēng)力來源于深厚的技術(shù)功底,但是技術(shù)功底也并非通過一天練成的,,最重要的是時(shí)間的積累,,不斷的鉆研以及真正的興趣。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。