用 FPGA 协处理提升无线子系统的性能
2008-08-21
作者:Dave Nicklin,Tom
您可以显著提高无线系统中信号处理" title="信号处理">信号处理功能的性能。怎样提高呢?方法是针对可受益于并行法的操作利用 FPGA 结构的灵活性和目前 FPGA 架构中的嵌入式 DSP 模块。
常见于无线应用的操作示例包括有限冲激响应 (FIR) 滤波、快速傅里叶变换 (FFT)、数字上下变频和前向纠错 (FEC) 模块。Xilinx? Virtex?-4 和 Virtex-5 架构提供多达 512 个并行嵌入式 DSP 乘法器,这些乘法器能以 500 MHz 以上的频率运行,最高可提供 256 GMACs 的 DSP 性能。
将需要高速并行处理的操作卸载给 FPGA,而将需要高速串行处理的操作留给处理器,这样即可在降低系统要求的同时优化整体系统的性价比。
子系统划分选择方案
FPGA 可与 DSP 处理器一起使用,作为独立的预处理器(有时是后处理器)器件,或者作为协处理器。在预处理架构中,FPGA 直接位于数据通路中负责信号处理,直到能够将信号既高效又经济地移交给 DSP 处理器进一步进行较低速率的处理。
在协处理架构中,FPGA 与 DSP 并列而置,后者将特定算法函数卸载给 FPGA,以便以显著高于 DSP 处理器单独处理时能达到的速度进行处理。处理结果传回 DSP,或者送至其他器件进一步进行处理、传输或存储(图 1)。
选择预处理、后处理还是选择协处理,常常取决于在处理器和 FPGA 之间移动数据所需的时序余量及其对整体延迟的影响。虽然协处理解决方案是设计人员" title="设计人员">设计人员最常考虑的拓扑结构(主要是因为 DSP 可以更直接地控制数据移交过程),但这并不一定总是最佳的总体策略。
例如,最新的 3G LTE 规范将传输时间间隔 (TTI) 从 HSDPA 的 2 ms 和 WCDMA 的 10 ms 缩短到了 1 ms。这实质上是要求从接收器一直到 MAC 层输出之间的数据处理时间短于 1,000 μsec。
如图 2 所示,在运行速度为 3.125 Gbps 的 DSP 上使用 SRIO 端口(使用 8b/10b 编码,Turbo 解码功能需要 200 位额外开销)会造成 230 μsec 的 DSP 到 FPGA 传输延迟(也就是说 TTI 时段有将近四分之一仅用来传输数据)。加之其他预期延迟,为满足这些系统时序所需的 Turbo 编解码器" title="编解码器">编解码器性能就是十分苛求的 50 个用户 75.8 Mbps。
使用 FPGA 将 Turbo 编解码器作为基本上独立的后处理器来处理,不仅可消除 DSP 延迟,还能节省时间,因为不需要以高带宽在 DSP 和 FPGA 之间传输数据。这样做可将 Turbo 解码器的吞吐量降至 47 Mbps,让您得以使用更多经济的器件,并且可以减少系统功率耗散。
另一项考虑是在 Xilinx FPGA 上是否使用软嵌入式或硬嵌入式处理器 IP 来卸载某些系统处理任务,进而可能进一步减少成本、功耗和占用空间。有了如此大量的信号处理资源,就可以在 DSP 处理器、FPGA 可配置逻辑块 (CLB)、嵌入式 FPGA DSP 模块和 FPGA 嵌入式处理器" title="嵌入式处理器">嵌入式处理器之间更好地划分复杂功能(如基带处理中的复杂功能)。Xilinx 提供了两种类型的嵌入式处理器:MicroBlaze? 软核处理器(常用于系统控制)和性能更高的 PowerPC 硬核嵌入式处理器(用于更复杂的任务)。
FPGA 嵌入式处理器提供的有利条件允许将所有非关键性操作都合并到在嵌入式处理器上运行的软件中,从而尽量减少整体系统所需的硬件资源总量。
软件和 IP 的重要性
关键问题是如何将这种潜在能力全部释放出来。您必须考虑需要用哪些软件对问题的复杂性进行抽象以及可以使用哪些 IP,主要考虑可以用 FPGA 提供最佳解决方案的关键部分。
Xilinx 致力于开发行业领先的工具和体系,让您能够从比 HDL 工具(如 MATLAB 模型和 C 代码)可提供的更高的抽象层生成高效的 FPGA 实现。有了像 Xilinx System Generator for DSP 和 AccelDSP? 综合工具这样的开发工具,您就可以尽可能畅通无阻地完成从算法到硅片的过程。
还有一个日益重要的工具提供商体系,其产品通过从 C/C++ 到逻辑门的设计流程把开发提升到了电子系统级 (ESL)。ESL 设计工具的目的是提供一种完备的系统级方法,以便生成和集成硬件加速功能以及控制这些功能的处理器的控制代码。
没有哪一种高级语言或软件工具能适合当今复杂系统中所见的所有不同单元。语言和设计流程的选择取决于客户,有时取决于具体的工程师。因此,Xilinx 开发了一套包罗万象的集成功能,以满足客户需求并提供最佳设计环境(见图 3)。
结论
另外,Xilinx 正在斥巨资提供一套包罗万象的高价值 IP、电路板和参考设计,以涵盖射频卡和基带应用中的诸多关键方面,其中包括 FFT/iFFT、调制、数字上下变频和振幅因数缩小。
这一重点举措的一个例子是开发针对特定无线标准和 FPGA 架构优化的行业领先的高性能 FEC 功能,如 Turbo 编码器和解码器。正如我们在分析 3G LTE 延迟和 Turbo 解码器流量要求时所示,FEC 功能的硬件加速及其对系统架构的作用在现代无线设备设计中是日渐紧要的当务之需。
虽然一些专家级 DSP 处理器陆续以嵌入式模块的形式集成这类功能,但是,从制定出符合新无线标准的 FEC 功能参数到形成的嵌入式加速模块出现在硅片中,需要好几个月。一旦实现了嵌入,也还会有遗留的难题,偶尔还会有嵌入式模块中的功能并非都能按要求工作的局面。同时,标准演化迅速,纳入了一些固定嵌入式模块不能支持的新要求。
鉴于这些情况,设计人员需要灵活性。他们希望有能力迅捷地开发和部署 FEC 之类复杂基带功能,然后根据现场试验的反馈和标准化工作的进展去修改这些功能。或许他们希望加入自己的专有 IP,以便在市场上显示其解决方案别具一格。正因为是在这种情况下,设计人员不应只考虑某提供商眼下提供的解决方案组合,还应了解这些解决方案是否容易修改以及该提供商能够提供哪种水平的支持和工具。