- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
利用FPGA协处理提升无线子系统性能
常见于无线应用中这类处理包括有限冲激响应(FIR)滤波、快速傅里叶变换(FFT)、数字上下变频和前向误差校正(FEC)。Xilinx? Virtex-4和Virtex-5架构提供多达512个并行嵌入式DSP乘法器,这些乘法器的工作频率高于500MHz,最高可提供256 GMAC的DSP性能。
将需要高速并行处理的工作卸载给FPGA,而将需要高速串行处理的工作留给处理器,这样即可在降低系统要求的同时优化整体系统的性价比。
子系统划分选择方案
FPGA可与DSP处理器一起使用,作为独立的预处理器(有时是后处理器)器件,或者作为协处理器。在预处理架构中,FPGA直接位于数据通路中负责信号预处理,预处理后的信号可以高效又经济地移交给DSP处理器进行速率较低的后续处理。
在协处理架构中,FPGA与DSP并列而置,后者将特定算法函数卸载给FPGA,以便实现比单独采用DSP处理器能达到的速度更高的处理速度。FPGA的处理结果传回DSP,或者送至其他器件进一步进行处理、传输或存储(图1)。
选择预处理、后处理还是协处理,常常取决于在处理器和FPGA之间移动数据所需的时序余量及其对整体延迟的影响。虽然协处理解决方案是设计人员最常考虑的拓扑结构(主要是因为DSP可以更直接地控制数据移交过程),但这并不一定总是最佳的总体策略。
例如,最新的3G LTE规范将传输时间间隔(TTI)从HSDPA的2ms和WCDMA的10ms缩短到了1ms。这实质上是要求从接收器一直到MAC层输出之间的数据处理时间短于1,000?sec。
图1:FPGA 用作预处理器和协处理器的解决方案。
如图2所示,在运行速度为3.125Gbps的DSP上使用SRIO端口(使用8b/10b编码,Turbo解码功能需要200比特的额外开销)会造成230?sec的DSP到FPGA传输延迟(也就是说TTI时段中有将近四分之一仅用来传输数据)。加之其他可预见的延迟,为满足这些系统时序,当用户为50个时,所需的Turbo编解码器性能就是高达75.8Mbps。
图2:协处理数据传输延迟问题的 LTE 示例。
使用FPGA将Turbo编解码器作为基本上独立的后处理器来处理,不仅可消除DSP延迟,还能节省时间,因为不需要以高带宽在DSP和FPGA之间传输数据。这样做可将Turbo解码器的吞吐量降至47Mbps,因而可选用更多比较经济的器件,并且可以减少系统功耗。
另一项考虑是在XilinxFPGA上是否使用软嵌入式或硬嵌入式处理器IP来卸载某些系统处理任务,进而可能进一步减少成本、功耗和占用空间。有了如此大量的信号处理资源,就可以在DSP处理器、FPGA可配置逻辑块(CLB)、嵌入式FPGA DSP模块和FPGA嵌入式处理器之间更好地分配各种复杂功能(如基带处理中的复杂功能)。Xilinx提供了两种类型的嵌入式处理器:MicroBlaze软核处理器(常用于系统控制)和性能更高的PowerPC硬核嵌入式处理器(用于更复杂的任务)。
FPGA嵌入式处理器提供的有利条件允许将所有非关键性操作都合并到在嵌入式处理器上运行的软件中,从而尽量减少整体系统所需的硬件资源总量。