FPGA比單片機(jī)厲害嗎?
01 前言
本文引用地址:http://www.biyoush.com/article/202406/459843.htm做單片機(jī)開(kāi)發(fā)的工程師,一般都會(huì)接觸FPGA。有讀者大概問(wèn)了這樣的問(wèn)題:FPGA能做什么?比單片機(jī)厲害嗎?
這么說(shuō)吧,FPGA在某方面也能實(shí)現(xiàn)單片機(jī)做的事,在某些領(lǐng)域,F(xiàn)PGA遠(yuǎn)比單片機(jī)強(qiáng)的多。當(dāng)然,F(xiàn)PGA和單片機(jī)各有各的特點(diǎn),在應(yīng)用上也有一些區(qū)別,本文主要說(shuō)下FPGA厲害的地方。
02 關(guān)于FPGA
FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)是一種可編程的硬件設(shè)備,通過(guò)編程可以定義其內(nèi)部邏輯電路的結(jié)構(gòu)和功能,具有高度的靈活性和可定制性。下面說(shuō)說(shuō)FPGA常見(jiàn)的幾大應(yīng)用的領(lǐng)域:
通信系統(tǒng)
FPGA在通信領(lǐng)域的應(yīng)用可以說(shuō)是無(wú)所不能,得益于FPGA內(nèi)部結(jié)構(gòu)的特點(diǎn),它可以很容易地實(shí)現(xiàn)分布式的算法結(jié)構(gòu),這一點(diǎn)對(duì)于實(shí)現(xiàn)無(wú)線通信中的高速數(shù)字信號(hào)處理十分有利。
FPGA可以處理多種通信協(xié)議,如以太網(wǎng)、USB、PCI Express、SATA、HDMI等,實(shí)現(xiàn)高效的數(shù)據(jù)傳輸。
因?yàn)樵跓o(wú)線通信系統(tǒng)中,許多功能模塊通常都需要大量的濾波運(yùn)算,而這些濾波函數(shù)往往需要大量的乘和累加操作。而通過(guò)FPGA 來(lái)實(shí)現(xiàn)分布式的算術(shù)結(jié)構(gòu),就可以有效地實(shí)現(xiàn)這些乘和累加操作。
尤其是 Xilinx 公司的 FPGA 內(nèi)部集成了大量的適合通信領(lǐng)域的一些資源比如:基帶處理(通道卡)、接口和連接功能以及RF(射頻卡)三大類:
· 基帶處理資源基帶處理主要包括信道編解碼(LDPC、Turbo、卷積碼以及RS碼的編解碼算法)和同步算法的實(shí)現(xiàn)(WCDMA系統(tǒng)小區(qū)搜索等)。
· 接口和連接資源接口和連接功能主要包括無(wú)線基站對(duì)外的高速通信接口(PCI Express、以太網(wǎng)MAC、高速AD/DA接口)以及內(nèi)部相應(yīng)的背板協(xié)議(OBSAI、CPRI、EMIF、LinkPort)的實(shí)現(xiàn)。
· RF應(yīng)用資源RF應(yīng)用主要包括調(diào)制/解調(diào)、上/下變頻(WiMAX、WCDMA、TD-SCDMA以及CDMA2000系統(tǒng)的單通道、多通道DDC/DUC)、削峰(PC-CFR)以及預(yù)失真(Predistortion)等關(guān)鍵技術(shù)的實(shí)現(xiàn)。
總而言之只要你FPGA學(xué)的好,在通信領(lǐng)域你絕對(duì)可以大展身手。
數(shù)字信號(hào)處理
FPGA在數(shù)字信號(hào)處理方面應(yīng)用廣泛,包括濾波、FFT(快速傅里葉變換)、數(shù)字信號(hào)生成等。通過(guò)硬件加速技術(shù),F(xiàn)PGA能夠?qū)崿F(xiàn)高速的數(shù)字信號(hào)處理,滿足通信、雷達(dá)、無(wú)線電等領(lǐng)域?qū)?shí)時(shí)性的要求。
在數(shù)字信號(hào)處理領(lǐng)域 FPGA 同樣所向披靡,主要是因?yàn)樗母咚俨⑿刑幚砟芰?。FPGA最大優(yōu)勢(shì)是其并行處理機(jī)制,即利用并行架構(gòu)實(shí)現(xiàn)數(shù)字信號(hào)處理的功能。
這一并行機(jī)制使得 FPGA 特別適合于完成 FIR 等數(shù)字濾波這樣重復(fù)性的數(shù)字信號(hào)處理任務(wù),對(duì)于高速并行的數(shù)字信號(hào)處理任務(wù)來(lái)說(shuō),F(xiàn)PGA性能遠(yuǎn)遠(yuǎn)超過(guò)通用 DSP 處理器的串行執(zhí)行架構(gòu),還有就是它接口的電壓和驅(qū)動(dòng)能力都是可編程配置的不像傳統(tǒng)的 DSP 要受指令集控制,因?yàn)橹噶罴臅r(shí)鐘周期的限制,不能處理太高速的信號(hào),對(duì)于速率級(jí)為 Gbps的 LVDS 之類信號(hào)就難以涉及。所以在數(shù)字信號(hào)處理領(lǐng)域 FPGA 的應(yīng)用也是十分廣泛的。
視頻圖像處理
隨著時(shí)代的變換,人們對(duì)圖像的穩(wěn)定性、清晰度、亮度和顏色的追求越來(lái)越高,像以前的標(biāo)清(SD)慢慢演變成高清(HD),到現(xiàn)在人們更是追求藍(lán)光品質(zhì)的圖像。FPGA因其高速度和低功耗的優(yōu)勢(shì),被廣泛應(yīng)用于高速圖像采集、實(shí)時(shí)圖像處理、智能監(jiān)控和醫(yī)學(xué)圖像處理等應(yīng)用。
這使得處理芯片需要實(shí)時(shí)處理的數(shù)據(jù)量越來(lái)越大,并且圖像的壓縮算法也是越來(lái)越復(fù)雜,使得單純的使用ASSP或者DSP已經(jīng)滿足不了如此大的數(shù)據(jù)處理量了。
這時(shí)FPGA的優(yōu)勢(shì)就凸顯出來(lái)了,它可以更加高效的處理數(shù)據(jù),所以在圖像處理領(lǐng)域在綜合考慮成本后,F(xiàn)PGA也越來(lái)越受到市場(chǎng)的歡迎。
高速接口設(shè)計(jì)
其實(shí)看了FPGA在通信領(lǐng)域和數(shù)字信號(hào)處理領(lǐng)域的表現(xiàn),我想大家也已應(yīng)該猜到了在高速接口設(shè)計(jì)領(lǐng)域,F(xiàn)PGA必然也是有一席之地的。它的高速處理能力和多達(dá)成百上千個(gè)的IO決定了它在高速接口設(shè)計(jì)領(lǐng)域的獨(dú)特優(yōu)勢(shì)。
比如說(shuō)我需要和PC端做數(shù)據(jù)交互,將采集到的數(shù)據(jù)送給PC機(jī)處理,或者將處理后的結(jié)果傳給PC機(jī)進(jìn)行顯示。PC機(jī)與外部系統(tǒng)通信的接口比較豐富,如ISA、PCI、PCI Express、PS/2、USB等。
傳統(tǒng)的做法是對(duì)應(yīng)的接口使用對(duì)應(yīng)的接口芯片,例如PCI接口芯片,當(dāng)我需要很多接口時(shí)我就需要多個(gè)這樣的接口芯片,這無(wú)疑會(huì)使我們的硬件外設(shè)變得復(fù)雜,體積變得龐大,會(huì)很不方便,但是如果使用FPGA優(yōu)勢(shì)立馬就出來(lái)了,因?yàn)椴煌慕涌谶壿嫸伎梢栽贔PGA內(nèi)部去實(shí)現(xiàn),完全沒(méi)必要那么多的接口芯片,在配合DDR存儲(chǔ)器的使用,將使我們接口數(shù)據(jù)的處理變得更加得心應(yīng)手。
人工智能
如果大家比較喜歡關(guān)注科技板塊的新聞的話最近一定會(huì)被5G通信和人工智能充斥眼球,確實(shí)21世紀(jì)已經(jīng)不知不覺(jué)走到了2020年,在這二十年間,人工智能迅速發(fā)展,5G的順利研發(fā)也使人工智能如虎添翼,可以預(yù)見(jiàn)未來(lái)必將是人工智能的天下。
FPGA在人工智能系統(tǒng)的前端部分也是得到了廣泛的應(yīng)用,例如自動(dòng)駕駛,需要對(duì)行駛路線、紅綠燈、路障和行駛速度等各種交通信號(hào)進(jìn)行采集,需要用到多種傳感器,對(duì)這些傳感器進(jìn)行綜合驅(qū)動(dòng)和融合處理就可以使用FPGA。
還有一些智能機(jī)器人,需要對(duì)圖像進(jìn)行采集和處理,或者對(duì)聲音信號(hào)進(jìn)行處理都可以使用FPGA去完成,所以FPGA在人工智能系統(tǒng)的前端信息處理上使用起來(lái)得心應(yīng)手。
IC設(shè)計(jì)
IC這個(gè)詞大家可能一聽(tīng)到就覺(jué)得特別高深,不是凡人所能觸及到的,而IC設(shè)計(jì)更是一些神人才能勝任的工作。不可否認(rèn)的是IC設(shè)計(jì)門(mén)檻確實(shí)比較高,但是我們也沒(méi)必要把它過(guò)于神話,其實(shí)簡(jiǎn)單點(diǎn)來(lái)講我們可以拿PCB設(shè)計(jì)來(lái)與之比較,PCB是拿一個(gè)個(gè)元器件在印制線路板上去搭建一個(gè)特定功能的電路組合,而IC設(shè)計(jì)呢是拿一個(gè)個(gè)MOS管,PN節(jié)在硅基襯底上去搭建一個(gè)特定功能的電路組合,一個(gè)宏觀一個(gè)微觀。
PCB如果設(shè)計(jì)廢了大不了重新設(shè)計(jì)再打樣也不會(huì)造成太大損失,但是如果IC設(shè)計(jì)廢了再重新設(shè)計(jì)那損失就很慘重了,俗話說(shuō)大炮一開(kāi),黃金萬(wàn)兩,那么在IC領(lǐng)域光刻機(jī)一開(kāi)黃金萬(wàn)兩也不是吹的,光刻膠貴的要命,光刻板開(kāi)模也不便宜,加上其他多達(dá)幾百上千道工序,其中人力、物力、機(jī)器損耗、機(jī)器保養(yǎng),絕對(duì)是讓人肉疼的損失,所以IC設(shè)計(jì)都要強(qiáng)調(diào)一版成功。
保證IC一版成功就要進(jìn)行充分的仿真測(cè)試和FPGA驗(yàn)證,仿真驗(yàn)證是在服務(wù)器上面跑仿真軟件進(jìn)行測(cè)試,類似ModelSim/VCS軟件;FPGA驗(yàn)證主要是把IC的代碼移植到FPGA上面,使用FPGA綜合工具進(jìn)行綜合、布局布線到最終生成bit文件,然后下載到FPGA驗(yàn)證板上面進(jìn)行驗(yàn)證,對(duì)于復(fù)雜的IC我們還可以給他拆成幾個(gè)部分功能去分別驗(yàn)證,每個(gè)功能模塊放在一個(gè)FPGA上面,F(xiàn)PGA生成的電路非常接近真實(shí)的IC芯片。這樣極大的方便我們IC設(shè)計(jì)人員去驗(yàn)證自己的IC設(shè)計(jì)。
其他
比如電力行業(yè)的高速數(shù)據(jù)采集,醫(yī)療行業(yè)的高速、大數(shù)據(jù)量的模擬量采集傳輸,軍工行業(yè)的雷達(dá)、衛(wèi)星、制導(dǎo)系統(tǒng),網(wǎng)絡(luò)安全、工業(yè)控制等等都是FPGA的應(yīng)用領(lǐng)域。
聲明:本文素材來(lái)源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問(wèn)題,請(qǐng)與我聯(lián)系刪除。
評(píng)論