FPGA概述
FPGA(可編程門陣列,F(xiàn)ield Programmable Gate Array)是一種集成大量基本門電路及存儲(chǔ)器的芯片,可通過(guò)燒入FPGA配置文件來(lái)來(lái)定義這些門電路及存儲(chǔ)器間的連線,從而實(shí)現(xiàn)特定的功能。而且燒入的內(nèi)容是可配置的,通過(guò)配置特定的文件可將FPGA轉(zhuǎn)變?yōu)椴煌?a target="_blank">處理器,就如一塊可重復(fù)刷寫的白板一樣。因此FPGA可靈活支持各類深度學(xué)習(xí)的計(jì)算任務(wù),性能上根據(jù)百度的一項(xiàng)研究顯示,對(duì)于大量的矩陣運(yùn)算GPU遠(yuǎn)好于FPGA,但是當(dāng)處理小計(jì)算量大批次的實(shí)際計(jì)算時(shí)FPGA性能優(yōu)于GPU,另外FPGA有低延遲的特點(diǎn),非常適合在推斷環(huán)節(jié)支撐海量的用戶實(shí)時(shí)計(jì)算請(qǐng)求(如語(yǔ)音云識(shí)別)。
FPGA優(yōu)勢(shì)
快速上市時(shí)間:現(xiàn)成的完整的標(biāo)準(zhǔn)IP套件可以縮短上市時(shí)間,使您能夠率先解占領(lǐng)最新的市場(chǎng)趨勢(shì)。
高性能:采用最新的硅工藝節(jié)點(diǎn),和收發(fā)器、存儲(chǔ)器、核心處理技術(shù)和設(shè)計(jì)工具等領(lǐng)域的行業(yè)突破性進(jìn)展相結(jié)合。
靈活性:高度的靈活性適應(yīng)快速的設(shè)計(jì)變化,使您能夠快速響應(yīng)動(dòng)態(tài)的市場(chǎng)趨勢(shì),不斷開(kāi)發(fā)的標(biāo)準(zhǔn)和快速發(fā)展的基礎(chǔ)設(shè)施。
可定制的解決方案:可定制的解決方案允許您使用自己專有的IP來(lái)區(qū)分產(chǎn)品。
規(guī)模和規(guī)范:可伸縮的核心、I/O性能、內(nèi)存和電源需求,以及不同產(chǎn)品系列之間連同產(chǎn)品線和相鄰應(yīng)用程序在單一平臺(tái)上的標(biāo)準(zhǔn)化,減少了計(jì)劃和過(guò)時(shí)的風(fēng)險(xiǎn)。
長(zhǎng)產(chǎn)品生命周期:在非常長(zhǎng)的系統(tǒng)部署期間,安全性、質(zhì)量和可靠性將成為系統(tǒng)設(shè)計(jì)的要求。
FPGA和GPU各方面對(duì)比
FPGA和GPU內(nèi)都有大量的計(jì)算單元,因此它們的計(jì)算能力都很強(qiáng)。在進(jìn)行神經(jīng)網(wǎng)絡(luò)運(yùn)算的時(shí)候,兩者的速度會(huì)比CPU快很多。但是GPU由于架構(gòu)固定,硬件原生支持的指令也就固定了,而FPGA則是可編程的。其可編程性是關(guān)鍵,因?yàn)樗屲浖c終端應(yīng)用公司能夠提供與其競(jìng)爭(zhēng)對(duì)手不同的解決方案,并且能夠靈活地針對(duì)自己所用的算法修改電路。
在平均性能方面,GPU遜于FPGA,F(xiàn)PGA可以根據(jù)特定的應(yīng)用去編程硬件,例如如果應(yīng)用里面的加法運(yùn)算非常多就可以把大量的邏輯資源去實(shí)現(xiàn)加法器,而GPU一旦設(shè)計(jì)完就不能改動(dòng)了,所以不能根據(jù)應(yīng)用去調(diào)整硬件資源。
目前機(jī)器學(xué)習(xí)大多使用SIMD架構(gòu),即只需一條指令可以平行處理大量數(shù)據(jù),因此用GPU很適合。但是有些應(yīng)用是MISD,即單一數(shù)據(jù)需要用許多條指令平行處理,這種情況下用FPGA做一個(gè)MISD的架構(gòu)就會(huì)比GPU有優(yōu)勢(shì)。 所以,對(duì)于平均性能,看的就是FPGA加速器架構(gòu)上的優(yōu)勢(shì)是否能彌補(bǔ)運(yùn)行速度上的劣勢(shì)。如果FPGA上的架構(gòu)優(yōu)化可以帶來(lái)相比GPU架構(gòu)兩到三個(gè)數(shù)量級(jí)的優(yōu)勢(shì),那么FPGA在平均性能上會(huì)好于GPU。
在功耗能效比方面,同樣由于FPGA的靈活性,在架構(gòu)優(yōu)化到很好時(shí),一塊FPGA的平均性能能夠接近一塊GPU,那么FPGA方案的總功耗遠(yuǎn)小于GPU,散熱問(wèn)題可以大大減輕。 能效比的比較也是類似,能效指的是完成程序執(zhí)行消耗的能量,而能量消耗等于功耗乘以程序的執(zhí)行時(shí)間。雖然GPU的功耗遠(yuǎn)大于FPGA的功耗,但是如果FPGA執(zhí)行相同程序需要的時(shí)間比GPU長(zhǎng)幾十倍,那FPGA在能效比上就沒(méi)有優(yōu)勢(shì)了;反之如果FPGA上實(shí)現(xiàn)的硬件架構(gòu)優(yōu)化得很適合特定的機(jī)器學(xué)習(xí)應(yīng)用,執(zhí)行算法所需的時(shí)間僅僅是GPU的幾倍或甚至于接近GPU,那么FPGA的能效比就會(huì)比GPU強(qiáng)。
另外,F(xiàn)PGA的靈活性,很多使用通用處理器或ASIC難以實(shí)現(xiàn)的下層硬件控制操作技術(shù)利用FPGA可以很方便的實(shí)現(xiàn),從而為算法的功能實(shí)現(xiàn)和優(yōu)化留出了更大空間。同時(shí)FPGA一次性成本(光刻掩模制作成本)遠(yuǎn)低于ASIC,在芯片需求還未成規(guī)模、深度學(xué)習(xí)算法暫未穩(wěn)定需要不斷迭代改進(jìn)的情況下,利用具備可重構(gòu)特性的FPGA芯片來(lái)實(shí)現(xiàn)半定制的人工智能芯片是最佳選擇。
FPGA主要的應(yīng)用領(lǐng)域
一、數(shù)據(jù)采集和接口邏輯領(lǐng)域
1.FPGA在數(shù)據(jù)采集領(lǐng)域的應(yīng)用
由于自然界的信號(hào)大部分是模擬信號(hào),因此一般的信號(hào)處理系統(tǒng)中都要包括數(shù)據(jù)的采集功能。通常的實(shí)現(xiàn)方法是利用A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)后,送給處理器,比如利用單片機(jī)(MCU)或者數(shù)字信號(hào)處理器(DSP)進(jìn)行運(yùn)算和處理。
對(duì)于低速的A/D和D/A轉(zhuǎn)換器,可以采用標(biāo)準(zhǔn)的SPI接口來(lái)與MCU或者DSP通信。但是,高速的A/D和D/A轉(zhuǎn)換芯片,比如視頻Decoder或者Encoder,不能與通用的MCU或者DSP直接接口。在這種場(chǎng)合下,F(xiàn)PGA可以完成數(shù)據(jù)采集的粘合邏輯功能。
2.FPGA在邏輯接口領(lǐng)域的應(yīng)用
在實(shí)際的產(chǎn)品設(shè)計(jì)中,很多情況下需要與PC機(jī)進(jìn)行數(shù)據(jù)通信。比如,將采集到的數(shù)據(jù)送給PC機(jī)處理,或者將處理后的結(jié)果傳給PC機(jī)進(jìn)行顯示等。PC機(jī)與外部系統(tǒng)通信的接口比較豐富,如ISA、PCI、PCIExpress、PS/2、USB等。
傳統(tǒng)的設(shè)計(jì)中往往需要專用的接口芯片,比如PCI接口芯片。如果需要的接口比較多,就需要較多的外圍芯片,體積、功耗都比較大。采用FPGA的方案后,接口邏輯都可以在FPGA內(nèi)部來(lái)實(shí)現(xiàn)了,大大簡(jiǎn)化了外圍電路的設(shè)計(jì)。
在現(xiàn)代電子產(chǎn)品設(shè)計(jì)中,存儲(chǔ)器得到了廣泛的應(yīng)用,例如SDRAM、SRAM、Flash等。這些存儲(chǔ)器都有各自的特點(diǎn)和用途,合理地選擇儲(chǔ)存器類型可以實(shí)現(xiàn)產(chǎn)品的最佳性價(jià)比。由于FPGA的功能可以完全自己設(shè)計(jì),因此可以實(shí)現(xiàn)各種存儲(chǔ)接口的控制器。
3.FPGA在電平接口領(lǐng)域的應(yīng)用
除了TTL、COMS接口電平之外,LVDS、HSTL、GTL/GTL+、SSTL等新的電平標(biāo)準(zhǔn)逐漸被很多電子產(chǎn)品采用。比如,液晶屏驅(qū)動(dòng)接口一般都是LVDS接口,數(shù)字I/O一般是LVTTL電平,DDRSDRAM電平一般是HSTL的。
在這樣的混合電平環(huán)境里面,如果用傳統(tǒng)的電平轉(zhuǎn)換器件實(shí)現(xiàn)接口會(huì)導(dǎo)致電路復(fù)雜性提高。利用FPGA支持多電平共存的特性,可以大大簡(jiǎn)化設(shè)計(jì)方案,降低設(shè)計(jì)風(fēng)險(xiǎn)。
二、高性能數(shù)字信號(hào)處理領(lǐng)域
無(wú)線通信、軟件無(wú)線電、高清影像編輯和處理等領(lǐng)域,對(duì)信號(hào)處理所需要的計(jì)算量提出了極高的要求。傳統(tǒng)的解決方案一般是采用多片DSP并聯(lián)構(gòu)成多處理器系統(tǒng)來(lái)滿足需求。
但是多處理器系統(tǒng)帶來(lái)的主要問(wèn)題是設(shè)計(jì)復(fù)雜度和系統(tǒng)功耗都大幅度提升,系統(tǒng)穩(wěn)定性受到影響。FPGA支持并行計(jì)算,而且密度和性能都在不斷提高,已經(jīng)可以在很多領(lǐng)域替代傳統(tǒng)的多DSP解決方案。
例如,實(shí)現(xiàn)高清視頻編碼算法H.264。采用TI公司1GHz主頻的DSP芯片需要4顆芯片,而采用Altera的StratixIIEP2S130芯片只需要一顆就可以完成相同的任務(wù)。FPGA的實(shí)現(xiàn)流程和ASIC芯片的前端設(shè)計(jì)相似,有利于導(dǎo)入芯片的后端設(shè)計(jì)。
三、其他應(yīng)用領(lǐng)域
除了上面一些應(yīng)用領(lǐng)域外,F(xiàn)PGA在其他領(lǐng)域同樣具有廣泛的應(yīng)用。 (1)汽車電子領(lǐng)域,如網(wǎng)關(guān)控制器/車用PC機(jī)、遠(yuǎn)程信息處理系統(tǒng)。 (2)軍事領(lǐng)域,如安全通信、雷達(dá)和聲納、電子戰(zhàn)。 (3)測(cè)試和測(cè)量領(lǐng)域,如通信測(cè)試和監(jiān)測(cè)、半導(dǎo)體自動(dòng)測(cè)試設(shè)備、通用儀表。 (4)消費(fèi)產(chǎn)品領(lǐng)域,如顯示器|、投影儀、數(shù)字電視和機(jī)頂盒、家庭網(wǎng)絡(luò)。 (5)醫(yī)療領(lǐng)域,如軟件無(wú)線電、電療|、生命科學(xué)。
FPGA市場(chǎng)前景
隨著科技的進(jìn)展,制造業(yè)走向更高度的自動(dòng)化與智能化,對(duì)工業(yè)控制技術(shù)等領(lǐng)域不斷產(chǎn)生新的需求,在未來(lái)的工業(yè)制造領(lǐng)域,F(xiàn)PGA將有更大的發(fā)展空間。目前來(lái)看,有兩個(gè)領(lǐng)域的應(yīng)用前景十分巨大:
工業(yè)互聯(lián)網(wǎng)領(lǐng)域
作為未來(lái)制造業(yè)發(fā)展的方向,工業(yè)大數(shù)據(jù)、云計(jì)算平臺(tái)、MES系統(tǒng)等都是支持工業(yè)智能化的重要平臺(tái),它們需要完成大數(shù)據(jù)量的復(fù)雜處理,F(xiàn)PGA在其中可以發(fā)揮重要作用。
工業(yè)機(jī)器人設(shè)備領(lǐng)域
在多軸向運(yùn)作的精密控制、實(shí)時(shí)同步的連接以及設(shè)備多功能整合等方面,兼具彈性和整合性的FPGA,更能展現(xiàn)設(shè)計(jì)優(yōu)勢(shì)。如汽車ADAS需要對(duì)實(shí)時(shí)高清圖像進(jìn)行及時(shí)的分析識(shí)別與處理;在人工智能方面,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)也需要進(jìn)行大量并行運(yùn)算。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21735瀏覽量
603119 -
gpu
+關(guān)注
關(guān)注
28文章
4734瀏覽量
128914
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論