首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

运用FPGA解决DSP设计难题

运用FPGA解决DSP设计难题

关键字:FPGA   DSP设计  
DSP 对电子系统设计来说非常重要,因为它们能够迅速测量、过滤或压缩即时模拟信号。这样有助于实现数字电路和模拟电路之间的通信。但随着电子系统进一步精细化,需要处理多种模拟信号源,迫使工程师不得不做出艰难决策。是使用多个 DSP 并将其功能与系统的其余部分同步更具优势?还是采用一个能够处理多项功能的高性能 DSP 并配套精细的软件更具优势?
由于当今的系统非常复杂,在许多情况下单个 DSP 实现方案根本没有足够的处理能力。同时,系统架构也不能满足多芯片系统带来的成本、复杂性和功耗要求。

FPGA 已成为需要高性能 DSP 功能的系统的理想选择。事实上,与单独的数字信号处理器相比,FPGA 技术能够为高难度的 DSP 问题提供大为简化的解决方案。要明白其中的缘由,需要回顾一下 DSP 的肇始和发展。

用于实现专门目的的微处理器

在过去二十年里,传统的 DSP 架构一直在竭尽全力跟上不断提高的性能需求步伐。但随着视频系统大踏步地迈进高清和 3D 时代,通信系统为实现更高带宽已将现有技术发挥到极致,设计人员需要替代性实现策略。常用于实现数字信号处理算法的硬件不外乎如下三类基本器件之一:微处理器、逻辑和存储器。部分设计还需要额外的硬件来实现模数 (A/D) 和数模 (D/A) 转换以及高速数字接口。




传统的数字信号处理器是设计用于实现专门目的的微处理器,非常适合算法密集的任务,但性能受时钟速率及其内部设计的有序性的限制,从而限制了它们对输入的数据采样每秒最多执行的运算次数。一般来说,算术逻辑单元 (ALU) 运算一次需要三或四个时钟周期。多核架构可以提升性能,但提升的幅度仍有限。因此,采用传统的信号处理器设计必须将架构元件重复用于算法实现。对每次执行的加、乘、减或其它任何基本运算,每次运算都必须循环通过 ALU,不管是内部还是外部反馈。

但令人遗憾的是,在处理当今众多的高性能应用时,这种传统的 DSP 难以满足系统的要求。为此在过去已经提出过多种解决方案,其中包括在一个器件中使用多个ALU,或在一个开发板上布置多个 DSP 器件。但是,这些方案往往会造成成本大幅上升,同时把问题直接推向另一个领域。例如,用多个器件提高性能遵循指数曲线。要让性能提高一倍,需要两个器件。再提高一倍,则需要四个器件,依此类推。另外,编程人员的工作重点也从注重信号处理功能转为多个处理器与内核之间的任务调度。这样会产生大量额外的代码,而且这些代码会成为系统开销,而非用于解决眼前的数字信号处理问题。

FPGA 技术的引入是解决 DSP 实现方案日益增长的复杂性的福音。FPGA 最初开发用于整合和集中分立的存储器和逻辑,以实现更高的集成度、更出色的性能以及更高的灵活性。FPGA 技术已成为当今使用的几乎每一款高性能系统的重要组成部分。与传统的 DSP 相比,FPGA 是由可配置逻辑块 (CLB)、存储器、DSP Slice 及一些其它元件组成的统一阵列所构成的巨大并行结构。它们既可以使用VHDL 和 Verilog 等高级描述语言进行编程,也可以在方框图中用系统生成器 (System Generator) 编程。FPGA 还提供众多专用功能和 IP 核,可用于用高度优化的方式直接完成实现方案。

在 FPGA 中完成数字信号处理的主要优势在于能够根据系统要求定制实现方案。这就意味着对于多通道或高速系统,用户可以充分利用 FPGA 器件的并行性来最大化性能,而对低速系统,则可以更多采用串行方式完成设计。这样,设计人员就能够根据算法和系统的要求来定制实现方案,不必折衷理想的设计来迎合纯顺序器件的诸多局限。另外超高速 I/O 通过最大限度地提高从采集、处理到最终输出的数据流,可进一步降低成本并减少瓶颈问题。

如何比对 FPGA 的,下面以一个同时使用传统 DSP 架构和 FPGA 架构的 FIR 滤波器实现方案为例,来说明每种架构的优劣。
返回列表