嵌入式開(kāi)發(fā)必讀 | 關(guān)于FPGA,你了解多少?

在嵌入式開(kāi)發(fā)中,我們可能會(huì)遇到DSPASICFPGA等概念,面試、考試過(guò)程中也會(huì)問(wèn)到他們之間的區(qū)別、各自特點(diǎn)是什么?FPGA在如今的信號(hào)處理和控制應(yīng)用中已經(jīng)成功取代了自定制專(zhuān)用集成電路(ASIC)和處理器,那么,關(guān)于FPGA,你了解多少呢?


 

 

FPGA是什么

 

FPGA,即現(xiàn)場(chǎng)可編程門(mén)陣列,是在PALGALCPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。

 

在最高層面上,FPGA是可重新編程的硅芯片。 使用預(yù)建的邏輯塊和可重新編程布線(xiàn)資源,用戶(hù)無(wú)需再使用電路試驗(yàn)板或烙鐵,就能配置這些芯片來(lái)實(shí)現(xiàn)自定義硬件功能。 用戶(hù)在軟件中開(kāi)發(fā)數(shù)字計(jì)算任務(wù),并將它們編譯成配置文件或比特流,其中包含元器件相互連接的信息。

 

此外,FPGA可完全可重配置,當(dāng)用戶(hù)在重新編譯不同的電路配置時(shí),能夠當(dāng)即呈現(xiàn)全新的特性。 過(guò)去,只有熟知數(shù)字硬件設(shè)計(jì)的工程師懂得使用FPGA技術(shù)。 然而,高層次設(shè)計(jì)工具的興起正在改變FPGA編程的方式,其中的新興技術(shù)能夠?qū)D形化程序框圖、甚至是C代碼轉(zhuǎn)換成數(shù)字硬件電路。

 

各行各業(yè)紛紛采用FPGA芯片是源于FPGA融合了ASIC和基于處理器的系統(tǒng)的最大優(yōu)勢(shì)。 FPGA能夠提供硬件定時(shí)的速度和穩(wěn)定性,且無(wú)需類(lèi)似自定制ASIC設(shè)計(jì)的巨額前期費(fèi)用的大規(guī)模投入。


 

FPGA的優(yōu)勢(shì)

 

性能

 

利用硬件并行的優(yōu)勢(shì),FPGA打破了順序執(zhí)行的模式,在每個(gè)時(shí)鐘周期內(nèi)完成更多的處理任務(wù),超越了數(shù)字信號(hào)處理器(DSP)的運(yùn)算能力。在硬件層面控制輸入和輸出(I/ O)為滿(mǎn)足應(yīng)用需求提供了更快速的響應(yīng)時(shí)間和專(zhuān)業(yè)化的功能。

 

上市時(shí)間

 

盡管上市的限制條件越來(lái)越多,FPGA技術(shù)仍提供了靈活性和快速原型的能力。 用戶(hù)可以測(cè)試一個(gè)想法或概念,并在硬件中完成驗(yàn)證,而無(wú)需經(jīng)過(guò)自定制ASIC設(shè)計(jì)漫長(zhǎng)的制造過(guò)程。由此用戶(hù)就可在數(shù)小時(shí)內(nèi)完成逐步的修改并進(jìn)行FPGA設(shè)計(jì)迭代,省去了幾周的時(shí)間。

 

成本

 

自定制ASIC設(shè)計(jì)的非經(jīng)常性工程(NRE)費(fèi)用遠(yuǎn)遠(yuǎn)超過(guò)基于FPGA的硬件解決方案所產(chǎn)生的費(fèi)用。 ASIC設(shè)計(jì)初期的巨大投資表明了原始設(shè)備制造商每年需要運(yùn)輸數(shù)千種芯片,但更多的最終用戶(hù)需要的是自定義硬件功能,從而實(shí)現(xiàn)數(shù)十至數(shù)百種系統(tǒng)的開(kāi)發(fā)。可編程芯片的特性意味著用戶(hù)可以節(jié)省制造成本以及漫長(zhǎng)的交貨組裝時(shí)間。 系統(tǒng)的需求時(shí)時(shí)都會(huì)發(fā)生改變,但改變FPGA設(shè)計(jì)所產(chǎn)生的成本相對(duì)ASCI的巨額費(fèi)用來(lái)說(shuō)是微不足道的。

 

穩(wěn)定性

 

軟件工具提供了編程環(huán)境,FPGA電路是真正的編程執(zhí)行過(guò)程。 基于處理器的系統(tǒng)往往包含了多個(gè)抽象層,可在多個(gè)進(jìn)程之間計(jì)劃任務(wù)、共享資源。 驅(qū)動(dòng)層控制著硬件資源,而操作系統(tǒng)管理內(nèi)存和處理器的帶寬。

 

對(duì)于任何給定的處理器內(nèi)核,一次只能執(zhí)行一個(gè)指令,且基于處理器的系統(tǒng)時(shí)刻面臨著嚴(yán)格限時(shí)的任務(wù)相互取占的風(fēng)險(xiǎn)。 FPGA不使用操作系統(tǒng),擁有真正的并行執(zhí)行和專(zhuān)注于每一項(xiàng)任務(wù)的確定性硬件,可減少穩(wěn)定性方面出現(xiàn)問(wèn)題的可能。

 

長(zhǎng)期維護(hù)

 

FPGA芯片是現(xiàn)場(chǎng)可升級(jí)的,無(wú)需重新設(shè)計(jì)ASIC所涉及的時(shí)間與費(fèi)用投入。 舉例來(lái)說(shuō),數(shù)字通信協(xié)議包含了可隨時(shí)間改變的規(guī)范,而基于ASIC的接口可能會(huì)造成維護(hù)和向前兼容方面的困難。可重新配置的FPGA芯片能夠適應(yīng)未來(lái)需要作出的修改。 隨著產(chǎn)品或系統(tǒng)成熟起來(lái),用戶(hù)無(wú)需花費(fèi)時(shí)間重新設(shè)計(jì)硬件或修改電路板布局就能增強(qiáng)功能。

 

結(jié)語(yǔ):隨著物聯(lián)網(wǎng)大潮的來(lái)臨,市場(chǎng)需求在很大程度上刺激FPGA技術(shù)的應(yīng)用。再加上較高級(jí)別的工具不斷改進(jìn),為不同規(guī)模項(xiàng)目的需求和不用水平的工程師帶來(lái)可重新編程的硅芯片,小編相信:FPGA技術(shù)在未來(lái)的應(yīng)用前景會(huì)越來(lái)越廣闊!

the end

評(píng)論(0)