在開(kāi)發(fā)新的電子系統(tǒng)時(shí),設(shè)計(jì)人員需要做出各種決定。最關(guān)鍵的一個(gè)決定是選擇系統(tǒng)架構(gòu)和實(shí)現(xiàn)的芯片。這些組件發(fā)揮著關(guān)鍵功能,當(dāng)前的選擇也十分寬范,因此錯(cuò)誤的決定可能意味著市場(chǎng)上的失敗。
如果你恰好讀到這篇博文,那么你可能已經(jīng)熟悉現(xiàn)場(chǎng)可編程門陣列(FPGA)以及相應(yīng)的替代芯片類型。我認(rèn)為對(duì)比一下FPGA 與其主要競(jìng)品——微控制器(MCU)之間的一些關(guān)鍵差異將有所裨益。
使用FPGA設(shè)計(jì)的主要優(yōu)勢(shì)
使用FPGA進(jìn)行設(shè)計(jì)的最大優(yōu)勢(shì)是它們的可編程架構(gòu),設(shè)計(jì)人員可以對(duì)其快速編程(和重新編程),執(zhí)行幾乎所有功能。你可以將這種結(jié)構(gòu)想象成許多微小的可編程邏輯“島嶼”(單元)漂浮在可編程互連的“海洋”中。每個(gè)邏輯單元都包含一些組合邏輯和一個(gè)寄存器,并且每個(gè)單元都可以通過(guò)編程來(lái)執(zhí)行所需的功能。
同時(shí),可編程互連可用于連接FPGA的通用輸入/輸出(GPIO)和所選邏輯單元的輸入和輸出(I/O),并將邏輯單元之間相互連接。此外,可以對(duì)GPIO組(bank)進(jìn)行編程來(lái)支持不同的電氣接口、輸入阻抗和輸出轉(zhuǎn)換(邊緣)速率。
FPGA的可編程結(jié)構(gòu)能以大規(guī)模并行方式實(shí)現(xiàn)數(shù)據(jù)處理算法。例如,假設(shè)一個(gè)算法需要對(duì)一些相似的數(shù)據(jù)執(zhí)行100次加法。FPGA可以配置為在同一時(shí)鐘沿同時(shí)執(zhí)行所有這些操作。要么在同一時(shí)間段內(nèi)執(zhí)行100次計(jì)算,要么以1/100的時(shí)鐘頻率執(zhí)行相同數(shù)量的計(jì)算。
這種固有的靈活性有助于加快FPGA應(yīng)用設(shè)計(jì)的上市時(shí)間,因?yàn)榭梢栽谧罱K確定系統(tǒng)設(shè)計(jì)的同時(shí)決定或更改集成的FPGA的功能。這種可重新編程的特性還能讓開(kāi)發(fā)人員通過(guò)軟件更新來(lái)更新或更改FPGA的功能,從而延長(zhǎng)FPGA(以及使用它們的系統(tǒng))的生命周期。
使用MCU設(shè)計(jì)的主要局限性
MCU設(shè)計(jì)的思路不同。一旦硬件平臺(tái)建立起來(lái),芯片的功能就確定了,接下來(lái)就是軟件開(kāi)發(fā)人員的工作,他們使用C或C++等編程語(yǔ)言來(lái)完成他們的設(shè)計(jì)部分。隨后,C/C++源代碼傳遞給編譯器,編譯器生成將由MCU執(zhí)行的機(jī)器代碼。
雖然MCU非常擅長(zhǎng)執(zhí)行決策任務(wù),但大多數(shù)MCU底層的馮諾依曼架構(gòu)在執(zhí)行許多數(shù)據(jù)處理算法方面效率低下。這是因?yàn)樵摷軜?gòu)的工作方式是從內(nèi)存中檢索指令、解碼該指令、獲取數(shù)據(jù)(如有需要)、執(zhí)行指令并存儲(chǔ)結(jié)果(如有需要)。當(dāng)然,這只是高度簡(jiǎn)化的描述,但大抵如此。最終結(jié)果是MCU按串行順序(一個(gè)接一個(gè))執(zhí)行操作。在MCU上實(shí)現(xiàn)DSP需要執(zhí)行的大量操作還需要高速系統(tǒng)時(shí)鐘,這會(huì)大大增加應(yīng)用的功耗。
較早的系統(tǒng)架構(gòu)一般同時(shí)使用MCU和FPGA,MCU提供決策功能,F(xiàn)PGA執(zhí)行計(jì)算密集型數(shù)據(jù)處理。在更先進(jìn)的系統(tǒng)架構(gòu)中,工程團(tuán)隊(duì)則利用FPGA固有的靈活性和性能優(yōu)勢(shì),完全取代MCU,并將決策和數(shù)據(jù)處理任務(wù)整合到FPGA中,大大減少了物理設(shè)計(jì)占用空間,同時(shí)降低功耗。
工程師可以在FPGA中使用“軟核”MCU來(lái)實(shí)現(xiàn)這種設(shè)計(jì),MCU的功能在可編程架構(gòu)中實(shí)現(xiàn)。FPGA還可能包含直接在芯片中以“硬核”實(shí)現(xiàn)的各種功能,包括SRAM、非易失性存儲(chǔ)器、DSP、PLL、時(shí)鐘管理器和SERDES模塊。
編輯:jq
-
dsp
+關(guān)注
關(guān)注
553文章
8005瀏覽量
349000 -
FPGA
+關(guān)注
關(guān)注
1629文章
21742瀏覽量
603540 -
mcu
+關(guān)注
關(guān)注
146文章
17152瀏覽量
351263 -
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
600瀏覽量
28571 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52115
原文標(biāo)題:FPGA相對(duì)于MCU的主要優(yōu)勢(shì)
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論