您的位置 >> 基本概念与应用

采用内置于FPGA中的软核CPU加速嵌入式系统设计 更新于2009-12-29 23:47:30 文章出处:与非网

关键字: FPGA 软核 CPU

当前,嵌入式系统开发工程师面临的挑战有几个方面:一是要找到满足系统应用要求的处理器,同时兼顾降低产品成本,并达到一定的系统性能。二是要能够提供一个比较长的产品周期,以使客户不用担心会产品的过旧或停产等问题。

FPGA在嵌入式系统应用中的常见用法有以下几种:

第一种是把FPGA做成一个可自定制的单片集,提供一个可以完全合乎系统要求的方案,进而降低系统的成本、复杂性和功耗。客户不用担心过时或停产等问题。

第二种是系统中已有一个外部的CPU或DSP,而把FPGA作为一个辅助芯片使用,通过FPGA来扩展系统的功能和性能。客户可以把自己的外设和用户逻辑加到FPGA中。

第三种是多CPU的系统,它可以提高整个系统的性能,同时把部分工作任务放到其它的FPGA内部CPU中。


系统连接的方法
传统总线标准一般需要根据协议的要求把每一个连接到总线的主-从接口,都要完全按照信号的要求连接到总线中。这在FPGA中会造成很大的资源浪费,因为不是每一个外设都需要这样做。

传统的系统总线存在的一个问题是:仲裁一般从主控方面做出,这样以来总线就只能做成一种共享总线。在两个以上的多主系统中,因为仲裁功能的存在,所以在一主使用总线时,其余各主控设备便不能使用总线,必须要等到一主结束总线使用时,才能由其它主控设备访问总线。这样以来就形成了一个瓶颈。

解决传统总线问题的一个方法是使用总线交织(bus fabrics)。总线交织架构的特点是仲裁由从控方面做出,从而可为每一个主控设置独立的总线。这种总线架构能够为系统性能带来极大的好处。

以一个从控端仲裁的网络包处理应用为例。如图1所示,网络包从进入到出来,中间要经过多个主控设备,这些主控设备要分别访问多个不同的从控内存。在每个从控端设置仲裁,可以做到不同的主控设备在同一时间访问不同的共享内存,从而得到比采取在主控端设置仲裁更好的性能。

总线交织架构是与整闲怨ぞ哂薪裘芰拥模現PGA整合性工具会针对不同的模块要求把整个系统连接的逻辑集中产生出来。