ARM和FPGA有啥區(qū)別呢?文章主要從概念,意義,功能和用途來說明。
概念上
ARM是應(yīng)用,F(xiàn)PGA是芯片設(shè)計(jì),前者是軟件,后面是硬件,ARM就像單片機(jī),但是它本身的資源是生產(chǎn)廠家固定了的,可以把它看成一個(gè)比較優(yōu)秀的單片機(jī)來使用。
而 FPGA 需要通過自己編程,讓它具備一切你想讓他具備的功能。比如,你想讓它是一個(gè)計(jì)數(shù)器,或者只是一個(gè)非門,那么這個(gè)芯片就是一個(gè)非門,只不過是個(gè)很昂貴的非門。你也可以在一款內(nèi)部資源充分的FPGA 上,讓這顆FPGA 成為ARM芯片,并且加上你想要加上的外設(shè),比如網(wǎng)絡(luò),內(nèi)存控制,LCD,等等,只要資源夠用!
從意義上
ARM是可以是一種處理器,利用ARM架構(gòu)體系的處理器,里面整合了很多現(xiàn)成的硬件資源供你編程調(diào)用。比如運(yùn)算器、串口、usb接口等各種現(xiàn)成硬件。可以通過中斷、或者DMA的方式直接操控硬件來實(shí)現(xiàn)某些功能。
FPGA,是一個(gè)里面沒有任何現(xiàn)成的硬件,需要你自己進(jìn)行設(shè)計(jì),比如你可以設(shè)計(jì)一個(gè)ARM CPU或者專門的運(yùn)算器、串口電路等然后下載到里面。這個(gè)硬件是需要你自己設(shè)計(jì)的,用verilog 或vhdl語言進(jìn)行設(shè)計(jì)。
功能上
ARM具有比較強(qiáng)的事務(wù)管理功能,可以用來跑界面以及應(yīng)用程序等,其優(yōu)勢主要體現(xiàn)在控制方面,而DSP主要是用來計(jì)算的,比如進(jìn)行加密解 密、調(diào)制解調(diào)等,優(yōu)勢是強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度。
FPGA可以用VHDL或verilogHDL來編程,靈活性強(qiáng),由于能夠進(jìn)行編程、除錯(cuò)、 再編程和重復(fù)操作,因此可以充分地進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證。當(dāng)電路有少量改動時(shí),更能顯示出FPGA的優(yōu)勢,其現(xiàn)場編程能力可以延長產(chǎn)品在市場上的壽命,而這種能力可以用來進(jìn)行系統(tǒng)升級或除錯(cuò)。
用途上
FPGA可以用作設(shè)計(jì)CPU的周邊電路或者直接設(shè)計(jì)CPU本身。比如你想設(shè)計(jì)一個(gè)自己的CPU或者是其他的硬件電路。
而ARM一般當(dāng)做微控制器或者嵌入式操作系統(tǒng)CPU來使用,和你的電腦的CPU道理一樣。你使用電腦的硬件資源的時(shí)候,不需要你去自己設(shè)計(jì)硬件吧。通過編寫的程序控制CPU可以直接使用現(xiàn)成的硬件資源了。相對于省事的多。
總的來說,ARM更加方便使用,F(xiàn)PGA可塑性更大,看你的需要來選擇就好。