硬微核
一个硬微处理器核心被实现为一个专用的,预定义的处理块。将这样一个核心集成到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的重中之重,时钟架构。