da芯片(见图1,2 )使用了两条处理总线,即用于视频处理等高性能数据流的Pixel总线以及控制用的寄存器总线,这两条总线都相连于SH-4 MPX总线和外部存储器接口。总线和存储器接口的这种完美组合可以很好地支持基于FPGA协处理器的灵活视频编解码和无线通信平台。
FPGA协处理可使FPGA与控制或DSP处理器紧密整合在一起,因此可以分担大部分算法处理任务,同时保留标准编程接口于控制处理器上。当算法的主要数据流驻留于FPGA或相关存储器上时,这种整合的运行效果最佳。算法是由来自于控制处理器的缓慢控制信号控制。
该类型架构可以应用于无线通信,它能通过单个FPGA支持GSM/EDGE、WCDMA、1xEVD0中的数字处理以及各种802.11标准。其它方案只能是针对每个标准做专门的硬件设计,但这样做会成倍增加成本和电路板面积。
另外,在图像处理中应用FPGA协处理后可以由单个FPGA完成包含MPEG2、MPEG4和H.264在内的多标准视频编解码。事实上,这里可以使用与无线通信应用中相同的FPGA。
FPGA协处理器通过直接存储器访问(DMA)接口与基于处理器的系统整合在一起。运行于嵌入式处理器上的软件层为每个协处理器提供一个应用接口,每个协处理器都有一个初始化例程,可以通过正确的应用协处理器加载FPGA。在应用程序初始化后,软件就调用协处理器控制参数、时序和数据流进出协处理器。根据具体的实现标准不同,在FPGA协处理器和控制处理器之间可能会有高等级的交互,也可能FPGA协处理器完全独立工作。在这种情况下,控制处理器只是简单地加载算法,然后就处于独立运行状态。
加载进FPGA的每个程序映像(program image)需要整合进周边系统中。FPGA的可编程功能需要一个定义完善的系统接口才能实现,因为每个基于FPGA的加速器都要依赖于它才能完成通信。通常FPGA会有多个接口连接控制器、存储器及其它外围器件或连接器。FPGA可能同时包含多个协处理器,这些协处理器共享一个连接控制处理器的接口。每个外围器件或协处理器可以拥有额外的总线用于高性能数据流处理。
在视频编解码器中,一般有一个输入源和一个输出目标。Delphi系统架构中的视频输入接口是Amanda ASIC的一部分,并采用ITU-R BT.656接口用于视频流。这个接口以后可以通过ASIC进行扩展和管理,以适合不同种类的显示屏。FPGA可能需要连接到其它2条总线,即ASIC芯片上的存储器总线和主控制处理器的PCI/MPX总线。通过这三个连接,FPGA就能支持高带宽的视频和通信应用。
FPGA可以为特定应用处理架构提供可再编程的平台,从而弥补主处理器的不足。然而,FPGA程序与标准处理器架构的程序具有本质的区别。FPGA可以提供带可编程逻辑单元、布线资源、DSP处理模块、存储器和I/O的高性能硬件结构。FPGA的系统架构执行方式与标准ASSP基本相同,即系统的一些专用功能是通过硬件和软件开发工具设计和实现的。这些工具的输出是一种二进制映像文件,这些映像文件加载到FPGA中后将能确定所有可编程逻辑单元、布线资源、DSP处理模块等的功能。主处理器可以在系统运行期间将这些二进制映像文件加载进FPGA。可以创建各种不同的程序映像来支持汽车信息通信系统中可能会用到的MPEG2、MPEG4、H.264、GSM/EDGE、WCDMA、1xEVDO、GPS、3D图形加速器或其它算法。根据用户在娱乐系统中的菜单选择,特定应用程序可以由主处理器下载到FPGA中,然后接受主处理器的控制。
FPGA用于可编程功能要求良好定义的系统接口
主处理器对特定硬件加速器的控制一般是通过寄存器和存储器接口完成,每个寄存器控制硬件加速器工作的某些方面。Delphi系统中默认的协同芯片就是这样的,对于加载到FPGA的每个协处理器架构来说也将是这样。采用FPGA,对于处理像标准化寄存器和存储器接口以控制编程到器件中的协处理器这样的任务来说是很容易的。这个标准接口可以定义如何向协处理器读写数据、如何开始和停止读写、如何复位,并包含一套控制特定应用操作的寄存器。所有这些寄存器都是FPGA内部线性地址映射中的一部分,因此软件物理器件驱动器很容易访问这些寄存器。
用于协处理器的软件物理器件驱动器的抽象级别要比用硬件实现的寄存器接口高。软件驱动器提供了从系统的算法参数到控制寄存器的映射,因此应用软件非常容易编写和维护。更高层模型器件驱动器在底层硬件实现变化过程中仍保持相当的可移植性。Delphi系统中的软件架构可以支持软件或硬件协处理器来实现算法,它提供了几个抽象层,这些抽象层将在软件或硬件中的算法实现与物理实现分离开来。FPGA协处理器非常适合Delphi的软件和硬件架构。
FPGA被设计用于基本架构与Delphi系统架构类似的许多系统中。这些系统内含一个以上的控制或DSP处理器,并利用FPGA来加速那些需要高性能处理的任务。实现FPGA协处理器的关键挑战在于以下几个方面:设计用于FPGA的不同的硬件加速器;硬件加速器与外部控制处理器整合;创建控制硬件加速器的软件层。所有要求的硬件加速器包括用于视频和通信应用的主流算法。这样的应用今后会有广阔的市场,而且这种市场发展后会培养更多的特殊标准知识产权(IP)硬件加速器专业设计公司,这些公司能够提供可以直接用在先进的低成本FPGA中的现成算法。另外,也可以购买针对MPEG2、MPEG4、H.264、WiFi和其它视频与通信标准设计的商用IP模块。图3就是Amphion公司推出的MPEG4解码器IP模块框图,可用于ASIC或FPGA中。
|