本帖最后由 angerbird 于 2012-12-17 16:15 编辑
这个是我看到的很好的这方面系统性介绍的资料的,分享给各位了。。
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核,用于以高度优化的方式直接完成实现方案。
|