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