FPGA 自上世紀(jì) 80 年代進(jìn)入市場(chǎng)以來(lái),就與通用 CPU、ASIC 乃至 GPU 競(jìng)爭(zhēng)共存。FPGA 的低功耗、可編程、規(guī)格適中等特性,使其在市場(chǎng)中占據(jù)一席之地。本文分析了通信、HPC、數(shù)據(jù)中心等多個(gè)領(lǐng)域的現(xiàn)狀,對(duì)市場(chǎng)、價(jià)格和競(jìng)品對(duì)比等方面進(jìn)行了概要分析,并預(yù)測(cè)了 FPGA 未來(lái)的一些發(fā)展方向,對(duì)了解 FPGA 提供了很好的參考。本文概要總結(jié)了 2019 年 9 月在斯坦福大學(xué)一次三小時(shí)討論情況,其中匯聚了來(lái)自多家企業(yè)和研究機(jī)構(gòu)的實(shí)踐經(jīng)驗(yàn),包括 Zilog、Altera、Xilinx、Achronix、Intel、IBM、Stanford、MIT、伯克利、威斯康星大學(xué)、Technion、Fairchild、貝爾實(shí)驗(yàn)室、Bigstream、谷歌、DIGITAL(DEC )、SUN,諾基亞、SRI、日立、Silicom、Maxeler Technologies、VMware、施樂(lè) PARC、思科等。上述各家并不對(duì)本文內(nèi)容承擔(dān)任何責(zé)任,只是在某種程度上激發(fā)了作者們的思考,進(jìn)而構(gòu)成了 FPGA 的多維發(fā)展之路。
FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列,F(xiàn)ield-Programmable Gate Arrays) 自誕生以來(lái),就與 ASIC 社區(qū)糾纏不清。上世紀(jì) 80 年代中期,Ross Freeman 及其同事從 Zilog 處購(gòu)買(mǎi)了該項(xiàng)技術(shù),初創(chuàng)了面向 ASIC 仿真和教育市場(chǎng)的 Xilinx 公司。Zilog 來(lái)自于埃克森美孚石油公司,其創(chuàng)立源自于上世紀(jì) 70 年代人們對(duì)石油將在 30 年內(nèi)耗盡的擔(dān)憂——盡管時(shí)至今日這一說(shuō)法依然大行其道。幾乎與此同時(shí),以類(lèi)似技術(shù)為核心的 Altera 成立。
FPGA 是支持電路編程的芯片,實(shí)現(xiàn)對(duì)該電路的“仿真”。對(duì)于 ASIC 中的實(shí)現(xiàn),這種仿真的運(yùn)行性能要慢于實(shí)際的電路。它的時(shí)鐘頻率更低,耗能更高,但可以每幾百毫秒重新編程一次。
FPGA 用于在 ASIC 制造商做光罩并提交工廠制造前仿真 ASIC。Intel、AMD 等企業(yè)在芯片生產(chǎn)前,使用 FPGA 仿真芯片。
電信領(lǐng)域的爭(zhēng)奪
FPGA 一直在電信行業(yè)大量使用。由于電信標(biāo)準(zhǔn)的不斷變化增加了電信設(shè)備的制造難度,因此能率先給出電信解決方案的企業(yè)往往會(huì)占領(lǐng)最大的市場(chǎng)份額。ASIC 的制造周期很長(zhǎng),而 FPGA 提供了一種快捷方式。電信設(shè)備開(kāi)始在初期版本上采用 FPGA,這引發(fā)了 FPGA 價(jià)格的波動(dòng)。盡管 ASIC 仿真市場(chǎng)并不受 FPGA 價(jià)格的影響,但芯片的價(jià)格對(duì)電信企業(yè)卻至關(guān)重要。多年前,AT&T 和朗訊制造了自己的 FPGA,稱(chēng)為 ORCA(優(yōu)化的可重配置單元陣列,optimized reconfigurable cell arrays)。但與 Xilinx 或 Altera 相比,它們?cè)诠杵乃俣群鸵?guī)格上并不具有競(jìng)爭(zhēng)優(yōu)勢(shì)。
如今,華為已成為 FPGA 的最大客戶。美國(guó)制造的 FPGA 可能正是中美之間最近的緊張關(guān)系的導(dǎo)火索。這些芯片令華為在 5G 電信設(shè)備交付上占據(jù)優(yōu)勢(shì),領(lǐng)先世界上其他任何準(zhǔn)備參與競(jìng)爭(zhēng)的供應(yīng)商達(dá)兩年。
FPGA 價(jià)格之爭(zhēng)
FPGA 很早就用于 SDR(軟件無(wú)線電,software-defined radios)。SDR 技術(shù)可同時(shí)支持多種通信標(biāo)準(zhǔn)的無(wú)線電,類(lèi)似于一部可講多種語(yǔ)言的電話。這一次 FPGA 遇上了麻煩,因?yàn)?SDR 技術(shù)走上了兩條不同的采用道路。一方面,商業(yè)供應(yīng)商基于成本效益考慮開(kāi)發(fā)了很多解決方案,并在當(dāng)前地球上所有的基站都部署了 SDR 技術(shù)。另一方面,在國(guó)防領(lǐng)域,大型國(guó)防承包商是為了保護(hù)有利可圖的傳統(tǒng)產(chǎn)品線而構(gòu)建 SDR 的。這導(dǎo)致基于 FPGA 的無(wú)線電產(chǎn)品的價(jià)格居高不下,以至美國(guó)的部分國(guó)防市場(chǎng)一直抵制它們的應(yīng)用。
下一步,F(xiàn)PGA 試圖進(jìn)入 DSP 和嵌入式市場(chǎng)發(fā)展,開(kāi)始推出部分使用硬核微處理器的 FPGA。但銷(xiāo)售這些新型 FPGA 的壓力很大,以至于如果客戶拒絕這一新系列的芯片,就會(huì)被芯片廠商列入黑名單,有時(shí)甚至?xí)芙^提供服務(wù)數(shù)月。鑒于 FPGA 企業(yè)攻克新市場(chǎng)頻頻失敗,F(xiàn)PGA 市場(chǎng)的增長(zhǎng)壓力依然巨大。因?yàn)?FPGA 的芯片面積巨大,涉及的知識(shí)產(chǎn)權(quán)眾多,所以 FPGA 產(chǎn)品難以降低價(jià)格。
在 HPC 和數(shù)據(jù)中心領(lǐng)域碰壁
在過(guò)去數(shù)年中,F(xiàn)PGA 試圖在 HPC(高性能計(jì)算)和數(shù)據(jù)中心市場(chǎng)中發(fā)展。2017 年,微軟宣布在數(shù)據(jù)中心使用 Altera FPGA,而英特爾則收購(gòu)了 Altera。2018 年,Xilinx 宣布了其“數(shù)據(jù)中心優(yōu)先”戰(zhàn)略。其 CEO 面對(duì)廣大分析師時(shí),宣稱(chēng) Xilinx 不再是一家單純的 FPGA 企業(yè)。這頗具戲劇化,但這是歷史必然。
在 HPC 和數(shù)據(jù)中心使用 FPGA,主要障礙在于布局布線(place & route),即運(yùn)行 FPGA 供應(yīng)商特定軟件將電路映射(mapping)為 FPGA 元件所耗費(fèi)的時(shí)間。針對(duì)大型 FPGA,使用快速的 CPU 服務(wù)器,布局布線耗時(shí)可能多至三天。并且在很多情況下,三天之后軟件依然無(wú)法找到映射。
在石油天然氣領(lǐng)域碰壁
2007 年前后,石油和天然氣領(lǐng)域的應(yīng)用形成了利基市場(chǎng)。在傳統(tǒng)計(jì)算機(jī)上模擬鉆探地球發(fā)現(xiàn)石油所花費(fèi)的時(shí)間,比現(xiàn)場(chǎng)實(shí)際施工和鉆探的時(shí)間還要長(zhǎng)。使用 FPGA 加速器,極大地改變了這種耗時(shí)顛倒的情況。首個(gè)用于計(jì)算地震圖像的石油企業(yè)數(shù)據(jù)中心的 FPGA,是由 Maxeler Technologies 制造并交付給 Chevron 的。
FPGA 在油氣領(lǐng)域的應(yīng)用經(jīng)過(guò)了數(shù)年擴(kuò)展,直到來(lái)自 ASIC 產(chǎn)業(yè)的壓力,才讓標(biāo)準(zhǔn)的 CPU 技術(shù)重新回歸。當(dāng)下,預(yù)測(cè)和仿真在油氣領(lǐng)域依然重要,地震成像大多使用 CPU 和 GPU 完成,不過(guò) FPGA 依然占據(jù)了一席之地。我們知道,“當(dāng)前的新事物,會(huì)成為明日黃花”。當(dāng)然,人工智能和對(duì)數(shù)據(jù)的關(guān)注是當(dāng)前的新事物。
盡管如此,F(xiàn)PGA 依然是一種進(jìn)入市場(chǎng)的快捷方式、獲取競(jìng)爭(zhēng)優(yōu)勢(shì)的簡(jiǎn)單方法,以及許多關(guān)鍵任務(wù)中必不可少的技術(shù)。FPGA 的每個(gè)芯片價(jià)格要比 ASIC 昂貴,但是對(duì) HPC 和數(shù)據(jù)中心而言,相比 CPU 和 GPU 而言需要的 FPGA 芯片更少,制冷開(kāi)銷(xiāo)更低,因此 FPGA 的運(yùn)行費(fèi)用要顯著低于在 CPU 或 GPU 上運(yùn)行軟件。FPGA 使得數(shù)據(jù)中心規(guī)模更小,這會(huì)使運(yùn)營(yíng)商感到不安,因?yàn)樗麄儞?dān)心自己的數(shù)據(jù)中心可能會(huì)縮水。
ASIC vs. FPGA
FPGA 的另一用途,是作為 ASIC 的補(bǔ)充。構(gòu)建 ASIC 的目的在于實(shí)現(xiàn)固定的功能,添加 FPGA 則可為產(chǎn)品的最新更改以及適應(yīng)不同的市場(chǎng)提供一定的靈活性。
現(xiàn)代 FPGA 集成了越來(lái)越多的硬核功能,變得越來(lái)越像是 ASIC。而 ASIC 也時(shí)常會(huì)在設(shè)計(jì)中添加一些 FPGA 結(jié)構(gòu),以便于調(diào)試、測(cè)試、現(xiàn)場(chǎng)修復(fù),以及增加添補(bǔ)小功能的靈活性。
但 ASIC 團(tuán)隊(duì)卻一直在與 FPGA 概念做抗?fàn)帯SIC 設(shè)計(jì)師詢問(wèn)“用戶需要什么功能?”,并在得到“我也不確定”的回答后會(huì)失去耐心。
無(wú)人駕駛汽車(chē)行業(yè)就是這樣的一個(gè)新戰(zhàn)場(chǎng)。由于算法的不斷變化,并且法律法規(guī)可能會(huì)在汽車(chē)入場(chǎng)時(shí)發(fā)生變化,需要不斷對(duì)駕駛技術(shù)做相應(yīng)調(diào)整,這需要靈活可變的解決方案。FPGA 的時(shí)鐘頻率更低、散熱片較小,物理尺寸小于 CPU 和 GPU。更低的功耗和更小的尺寸,使 FPGA 成為顯而易見(jiàn)的選擇。盡管如此,GPU 更易于編程,并且不需要耗時(shí)三天的布局布線。
另一個(gè)至關(guān)重要的考慮是,出于模擬和測(cè)試等方面的考慮,需要在汽車(chē)上和云中運(yùn)行相同的代碼。這樣需要 FPGA 必須在云中可用,然后才能在汽車(chē)中使用。由于上述問(wèn)題,許多開(kāi)發(fā)人員更喜歡選擇 GPU。
FPGA 的演進(jìn)
FPGA 正處于不斷發(fā)展中。現(xiàn)代接口正使 FPGA 更易于編程,更為模塊化,更易于與其他技術(shù)協(xié)作。FPGA 支持 AXI(高級(jí)可擴(kuò)展接口,Advanced Extensible Interface)總線,使其更易于編程,但也會(huì)引入很多嚴(yán)重的效率損失,結(jié)果降低了 FPGA 的性能,最終導(dǎo)致其競(jìng)爭(zhēng)力下降。一些學(xué)術(shù)工作提出了解決布線問(wèn)題的研究,例如 Eric Chung 的關(guān)于 FPGA 動(dòng)態(tài)網(wǎng)絡(luò)的論文,但是這些先進(jìn)的理念尚未為產(chǎn)業(yè)界所接受。
FPGA 是如何連接的?對(duì)于具有大量數(shù)據(jù)流的 HPC 工作負(fù)載,可以使用 PCI Express,并部署通信隱藏技術(shù)。但是像 NFV(網(wǎng)絡(luò)功能虛擬化,network function virtualization)這樣的小規(guī)模但卻能同時(shí)為大量用戶提供服務(wù)的工作負(fù)載呢?VMware 最近的調(diào)查結(jié)果指出,對(duì)于 NFV 和虛擬機(jī)加速,F(xiàn)PGA 必須直接連接到 CPU,并使用緩存一致性作為通信機(jī)制。當(dāng)然,一個(gè)關(guān)鍵的特性是 FPGA 的崩潰不會(huì)導(dǎo)致 CPU 崩潰,反之亦然。大型技術(shù)企業(yè)正在重新審視 IBM 大型機(jī)時(shí)代的需求,意圖使用標(biāo)準(zhǔn)化平臺(tái)涵蓋越來(lái)越多的復(fù)雜性。
在大眾化的企業(yè)市場(chǎng)也存在著機(jī)會(huì)。在提供 FPGA 平臺(tái)時(shí),企業(yè)即便沒(méi)有進(jìn)行 ASIC 開(kāi)發(fā)的預(yù)算,也不了解最新的硅制造挑戰(zhàn)和解決方案,也可以去開(kāi)發(fā)電路,并在其產(chǎn)品中建立競(jìng)爭(zhēng)優(yōu)勢(shì)。例如新興的物聯(lián)網(wǎng)(IoT)邊緣計(jì)算,實(shí)現(xiàn)在近傳感器、顯示器端甚至在數(shù)據(jù)流經(jīng)過(guò)時(shí)進(jìn)行計(jì)算。
同時(shí),F(xiàn)PGA 企業(yè)正將技術(shù)棧上推直至 CPU 插槽。英特爾在該市場(chǎng)上占據(jù)主導(dǎo)地位,其掌握了 NFV 特殊指令等技術(shù)。在數(shù)據(jù)中心中添加新 CPU 和 FPGA 的主要障礙不僅是速度和成本,還在于所有可能的 I/O 設(shè)備的軟件和驅(qū)動(dòng)程序是否可用。
在數(shù)據(jù)中心中推行 FPGA 的關(guān)鍵是易用性。例如,使用自動(dòng)工具去驅(qū)動(dòng) FPGA 的應(yīng)用,避免產(chǎn)生布局布線上的難題。微軟率先在大型數(shù)據(jù)中心中使用 FPGA 來(lái)加速 Bing、NFV 和人工智能算法,此外還構(gòu)建了抽象、領(lǐng)域特定語(yǔ)言和靈活的硬件基礎(chǔ)結(jié)構(gòu)。在商業(yè)上,F(xiàn)PGA 的主要問(wèn)題在于入市策略。
構(gòu)建新的芯片后才去考慮軟件就為時(shí)已晚了。如何讓硬件適應(yīng)軟件而從現(xiàn)有軟件中獲益?這也提供了重新思考 FPGA 架構(gòu)的機(jī)會(huì)。但是需要警告的是:硅產(chǎn)業(yè)是個(gè)吞金獸。構(gòu)建 ASIC 是一種賭注多年持續(xù)攀升的撲克游戲。這是一場(chǎng)贏家通吃的比賽,在比賽初期就剔除了 FPGA 的威脅。
FPGA 正在為硅項(xiàng)目帶來(lái)額外的不良風(fēng)險(xiǎn)。
利基市場(chǎng)
正如軟件設(shè)計(jì)師常說(shuō),“軟件能完成的事情,就應(yīng)由軟件實(shí)現(xiàn)”。ASIC 設(shè)計(jì)師會(huì)說(shuō),“ASIC 能完成的事情,就應(yīng)由 ASIC 來(lái)完成。”最有趣的說(shuō)法是,“如果可以用軟件完成,那么就不必和一切 FPGA 思維的人打交道了。”相比 ASIC 的團(tuán)隊(duì)規(guī)模,以及全球范圍內(nèi)軟件開(kāi)發(fā)人員的規(guī)模,F(xiàn)PGA 的公司很小,社區(qū)也很小,其中只有一些甚至是古怪的程序員。
英特爾正在推進(jìn) FPGA 的靈活性。在遵循“構(gòu)建硬件以運(yùn)行現(xiàn)有軟件”這一原則的公司中,英特爾是最成功的一家。
FPGA 性能可能比 CPU 和 GPU 更快,但是來(lái)自產(chǎn)業(yè)界和投資界的切實(shí)經(jīng)驗(yàn)教訓(xùn)是,自計(jì)算機(jī)出現(xiàn)以來(lái)的絕大多數(shù)時(shí)間中,速度和實(shí)時(shí)性并沒(méi)那么重要。很少有人僅僅為了高性能而購(gòu)買(mǎi)計(jì)算機(jī)。盡管此事時(shí)有發(fā)生,卻不能根據(jù)這樣的隨機(jī)事件去建立業(yè)務(wù)市場(chǎng)。此外,F(xiàn)PGA 缺失標(biāo)準(zhǔn),沒(méi)有開(kāi)源代碼,也沒(méi)有令人愉悅的編程模型。因此,并沒(méi)有標(biāo)準(zhǔn)市場(chǎng)支持可在所有 FPGA 芯片上工作或易于交叉編譯的 FPGA 程序。Maxeler Technologies 具有提供此類(lèi)接口的高級(jí)解決方案,但廣泛的行業(yè)采用需要的是信任。信任才能推動(dòng)技術(shù)從早期采用者的玩物發(fā)展到讓所有人受益,但這需要現(xiàn)有數(shù)據(jù)中心領(lǐng)域供應(yīng)商的推動(dòng)和支持。
現(xiàn)實(shí)中,應(yīng)用的用戶會(huì)說(shuō):“我并不在乎具體方法,只要能完成我想要做的事情。” 在尚未廣泛探索的應(yīng)用領(lǐng)域中,哪些是 FPGA 可一展身手的?對(duì)于實(shí)時(shí)計(jì)算,F(xiàn)PGA 可用于工業(yè)界。對(duì)于無(wú)人機(jī)上的計(jì)算機(jī)視覺(jué),F(xiàn)PGA 在重量和功耗上具有優(yōu)勢(shì)。在衛(wèi)星上的硬件升級(jí)代價(jià)很大,對(duì)此 FPGA 提供了至關(guān)重要的長(zhǎng)期靈活性。FPGA 需要的是休戚與共的產(chǎn)品。此類(lèi)產(chǎn)品必須易于編程,光是硬件或軟件還不夠,還需要生態(tài)系統(tǒng),需要完整的解決方案。
實(shí)時(shí)編譯和自動(dòng) FPGA 程序生成是拓寬當(dāng)前市場(chǎng)局限的好方法。說(shuō)起來(lái)容易,但做起來(lái)難,但是隨著人工智能對(duì)應(yīng)用空間的突破,越來(lái)越多的機(jī)會(huì)出現(xiàn)了。當(dāng)前,一切皆可由人工智能完成,甚至油氣領(lǐng)域地震成像等的傳統(tǒng)算法也都采用了人工智能。處理人工智能模塊需要科學(xué)和工程上的解決方案。FPGA 可提供一個(gè)很好的出發(fā)點(diǎn),從連接 AI 模塊開(kāi)始進(jìn)而整合到 FPGA 架構(gòu)中。例如,Xilinx 的下一代芯片將人工智能架構(gòu)、CPU、100G 接口和 FPGA 單元整合到同一個(gè) 7 納米芯片中。
從另一個(gè)角度來(lái)看,隨著人工智能芯片生成并處理大量數(shù)據(jù),需要 FPGA 提供大量輸入并迅速取走輸出。隨著用于人工智能處理的新 ASIC 的面世,F(xiàn)PGA 將在人工智能芯片公司大展身手。
預(yù)測(cè)
將出現(xiàn)成功的 CPU+FPGA 服務(wù)器芯片,或直接訪問(wèn) CPU 緩存層次結(jié)構(gòu)的 FPGA。有人贊同,有人否定。
SoC(片上系統(tǒng),system on a chip)FPGA 芯片將不斷發(fā)展壯大,帶動(dòng)醫(yī)療、下一代電信和汽車(chē)等行業(yè)。
開(kāi)發(fā)人員將使用 FPGA 實(shí)現(xiàn)神奇的事情,推動(dòng)世界的進(jìn)步,但對(duì)內(nèi)部存在 FPGA 的事實(shí)必須秘而不宣。
FPGA 的名稱(chēng)將會(huì)保留,稱(chēng)為 FPGA 的芯片也會(huì)繼續(xù)出現(xiàn),但是其內(nèi)部將大相徑庭。
一旦我們?yōu)楹?jiǎn)化 FPGA 編程而放棄(數(shù)據(jù)流)優(yōu)化,F(xiàn)PGA 的性能將降低,進(jìn)而將無(wú)法與易于編程的 CPU 競(jìng)爭(zhēng)。
FPGA 將具有動(dòng)態(tài)布線、不斷發(fā)展的互連,以及運(yùn)行時(shí)靈活的數(shù)據(jù)移動(dòng)。
和 FPGA 之上完整的軟件棧一樣,布局布線軟件將會(huì)開(kāi)源。Yosys 和 Lattice FPGA 已經(jīng)著手于此。
所有半導(dǎo)體架構(gòu)都將組合為融合了 TPU、GPU、CPU、ASIC 和 FPGA 的單個(gè)芯片。芯片中可融合所有技術(shù),也可融合部分技術(shù)。
更多的芯片將聚焦于特定應(yīng)用空間,只有少部分實(shí)現(xiàn)通用用途。從某種意義上說(shuō),一切都會(huì)成為 SoC。
責(zé)任編輯:PSY
原文標(biāo)題:漫談FPGA的過(guò)去與將來(lái)
文章出處:【微信公眾號(hào):STM32嵌入式開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
FPGA
+關(guān)注
關(guān)注
1626文章
21668瀏覽量
601864 -
芯片
+關(guān)注
關(guān)注
453文章
50410瀏覽量
421849 -
電信
+關(guān)注
關(guān)注
2文章
725瀏覽量
61887 -
數(shù)據(jù)中心
+關(guān)注
關(guān)注
16文章
4690瀏覽量
71956
原文標(biāo)題:漫談FPGA的過(guò)去與將來(lái)
文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論