硬微核
一個(gè)硬微處理器核心被實(shí)現(xiàn)為一個(gè)專用的,預(yù)定義的處理塊。將這樣一個(gè)核心集成到FPGA中有兩種主要的方法:
1、如圖,將up(microprocessor縮寫)以“條狀”附在FPGA主架構(gòu)旁。這樣,即代表所有的組件都在一個(gè)硅片上。同時(shí),F(xiàn)PGA內(nèi)部還是以三大類架構(gòu)存在。
這種實(shí)現(xiàn)的一個(gè)優(yōu)點(diǎn)是,主要的FPGA架構(gòu)對(duì)于有和沒有嵌入式微處理器核心的設(shè)備是相同的,這有助于工程師的應(yīng)用切換。另一個(gè)優(yōu)勢(shì)是FPGA供應(yīng)商可以在up的架構(gòu)內(nèi)補(bǔ)充如RAM,I/O等其他外設(shè)接口,以豐富功能應(yīng)用。
2、另一種做法是直接將一個(gè)或者多個(gè)up嵌入到FPGA的架構(gòu)內(nèi)。目前也有很多主流FPGA內(nèi)部嵌入了多大四核,八核的up。
這種方案,其設(shè)計(jì)工具必須集成對(duì)于up的處理。up在運(yùn)行時(shí)所需要的RAM都是由FPGA架構(gòu)中的RAM塊所提供,以及所需要的功能外設(shè)都是由FPGA邏輯單元所實(shí)現(xiàn)。這樣的處理方式,可以得到一個(gè)up與原FPGA的一個(gè)高度耦合的系統(tǒng),可以大幅度的增加設(shè)備計(jì)算運(yùn)行的速度,當(dāng)然,這極其考驗(yàn)設(shè)計(jì)者的功底。
軟微核
與硬微核相反的是,這里將FPGA中的一塊邏輯資源塊,編程為一個(gè)up,這樣的做法成為“軟核”。但根據(jù)微處理器的功能映射到邏輯塊上的方式,它們可以被更精確地歸類為“軟”或“硬”。軟核比硬核更簡(jiǎn)單(更原始),速度也更慢。
PS:軟核的運(yùn)行速度通常是硬核的30%到50%。
PS:然而,它們的優(yōu)勢(shì)在于,您只需要在需要的時(shí)候?qū)崿F(xiàn)一個(gè)核心,并且您可以根據(jù)需要實(shí)例化任意多的核心,直到以可編程邏輯塊的形式耗盡資源為止。
可以看出,軟核比硬核更加地隨取隨用,方便快捷。如Xilinx上的MicroBlaze軟核,Altera的Nios Ⅱ等。
下一篇將介紹FPGA的重中之重,時(shí)鐘架構(gòu)。