这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » FPGA实现DSP应用

共1条 1/1 1 跳转至

FPGA实现DSP应用

工程师
2008-04-01 17:17:15     打赏
近年来由于多媒体技术和无线通信的发展对DSP应用的要求不断地增长,但是这些应用对信号处理要求高,需要采用处理速度高的硬件来实现DSP,所以,随着 CMOS工艺的线宽不断缩小,从研制高性能的DSP专用芯片,直到近年来可以在单片上集成DSP的应用,持续地推动了VLSI DSP这一领域的发展。但是,技术上标准的制定和协议的约定又有一定的滞后,要求DSP的专用芯片具有可编程的特性以适应技术的变化,而可编程门阵列(FPGA)在器件密度、处理速度等达到片上系统的要求后,它所具有的系统内可再编程的特性成为实现DSP应用的优选方案之一。

DSP的一般特性
数字信号处理(DSP)与模拟信号处理相比有许多优点,如相对于温度和工艺的变化数字信号要比模拟信号更稳健,在数字表示中的精度可以改变信号的字长来更好地控制,所以DSP技术可以在放大信号的同时去除噪声和干扰,而在模拟信号中信号和噪声同时被放大,数字信号还可以不带误差地存储和恢复、发送和接收、处理和操纵。
许多复杂的系统可以用高精度、大信噪比,和可重复灵活的数字技术来实现。
DSP系统可以利用可编程处理器或利用VLSI电路技术制造定制设计的硬件电路来实现。数字设计的目标是在保持成本低的情况下使性能最佳。
在一般的数字设计中,性能可以按照以下四方面来度量:
1. 要求的硬件电路和资源的数量,即器件的空间或面积;
2. 与流量和时钟速率有关的执行速度;
3. 执行规定任务要求的功耗或总能量;
4. 对定点DSP系统有限字长决定的量化或数字舍取噪声。
DSP与其他通用计算技术相互区别的两个重要特性是实时流量要求和数据驱动特性。
DSP的硬件实现应该设计成满足实时处理的紧凑的流量约束,与先在缓冲器存储,然后按批作业处理不同,新的输入采样从信号源周期地接收时就需要处理。如果系统的流量比要求的采样率低,新的输入需要停止或缓冲,这要求无限长的缓冲器。但是,一旦采样率由硬件所满足,就没有必要使计算进行得更快。
在DSP系统中,一旦所有的输入数据有效,就可以执行任何的子任务或计算,在这个意义上,这些系统是由数据流同步的,而不是系统的时钟,这使得DSP系统可以利用没有全局时钟要求的异步电路,
数字视频处理应用中对计算的要求是很高的。要求计算率在10-100 GOP/S(每秒100-1000亿次的运算)。这些系统的设计是极富挑战性的。
以HDTV为例,HDTV一帧为 1920×1250 个象素,每秒50帧,一帧要求存储量为57.6Mb,每秒的存储量为2.88Gb。
由于一系列的视频包含几十万帧,实时地存储和变换用今天的技术是不可能的。实际上,视频象素要降低采样,在它们被存储和发送之前必须要压缩视频帧。在视频通信中,图象压缩的DCT也是十分需要的。
仍以HDTV为例,帧尺寸 1920×1250 个象素,50帧/秒。
搜索范围取 +16/-15个象素
全搜索BMA要求约368.64 GOP/秒。
N×N 二维DCT要求2N3乘加运算,或4N3算术运算
对于尺寸8×8图象块的CIF帧,二维DCT的计算要求是97.32 MOP/秒。
尺寸8×8图象块的HDTV视频二维DCT计算要求为3.84 GOP/秒。
因此,多媒体技术和无线通信等对信号处理要求很高,仅可以利用并行处理技术及仔细设计硬件和软件来满足。设计和实现视频压缩和多媒体信号处理系统成为主要的挑战。

FPGA实现DSP
数字信号处理的复杂性不仅由理论上的进展而驱动,也由于CMOS VLSI工艺线宽的不断缩小所推动。
近几年VLSI芯片集成度的惊人增长已导致可以集成到单片上的DSP应用数量增加。
前几年增加集成度的焦点是设计高性能的DSP应用的专用结构。这个趋势仍持续到当前,因为更复杂的DSP和图象/视频处理算法都需要在单片上实现。
第二个趋势是DSP系统利用可编程DSP和微处理器,尤其是FPGA专门对媒体处理。这个趋势主要由减少上市时间和更多的便携性和移动性的要求所驱动。
所以,VLSI工艺的飞速发展,使得DSP系统的硬件设计成为可能。过去主要利用ASIC来实现的DSP系统可以用可编程的DSP器件来实现,并发展到用微处理器或可编程门阵列(FPGA)来实现。目前FPGA实现DSP系统正越来越多地成为被选择的方案。
Xilinx公司的FPGA采用SRAM查找表结构,具有系统内可再编程的特性,它的Virtex系列又具有一系列新的系统集成的特性和以前仅由ASIC 方案才包含的性能,Virtex系列的系统门密度、I/O特性、存储器和时钟管理的容量等性能使得系统设计者可以利用Virtex 器件在其系统的核上来构造所做的设计,Virtex 系列在DSP领域,如在无线基站、通信的中央中继、复杂网络系统、视频服务和医疗图象系统等得到广泛应用。
但是在Virtex的最初系列推出不到两年的时间内,Xilinx公司又研制了VirtexII系列,将器件的结构又推到一个新的高度和性能。 VirtexII采用100纳米(0.1um)线宽八层金属铜连线的工艺,最高可达到1000万系统门,采用新的有源互连工艺、容量和灵活性更高的可配置逻辑块(CLB)、更高带宽的SelectI/O和SelectRAM技术和嵌入新的18位乘法器资源等新技术。
所以与最初的Virtex系列相比,系统门的密度提高10倍,内部系统时钟频率提高两倍,而I/O的带宽以及分布RAM和块RAM的容量都提高了四倍以上。
VirtexII是在系统集成的基础上为满足高性能通信和视频图象等信号处理的要求而被改进了器件结构和性能。例如为实现诸如扩展可寻址存储器、寄存器堆和数据Cache 等DSP流水应用的功能,分布RAM可以连接在一起达到128bit宽,块 RAM也从4Kbit扩展到16Kbit,并且附加有新的存储器模式和极性位支持。为了持续地扩大在Virtex系列中存储器与逻辑的比例, VirtexII系列结构提供非并行存储器带宽和通信市场中下一代数据密集应用的寻址需要。增加新的专用的算术资源达到更好的DSP性能,嵌入的18位乘法器能提供高达六千亿次的乘法累加(MAC)次数,可以对通信和视频图象应用中的实时DSP性能起到致关重要的作用。
此外,Xilinx已经与IBM签定合作协议,获得将IBM的PowerPC处理器核嵌入到VirtexII器件中的许可。FPGA如此快速的发展使其的应用前景十分广阔。
FPGA的DSP应用
DSP算法是由重复地执行相同码的****限的程序来描述。
在算法中执行全部算法一次称为一个迭代。迭代周期是执行算法的一个迭代要求的时间。迭代率是迭代周期的倒数。.
DSP系统根据每秒处理的采样数,用采样率来表征, 也称为流量。
组合逻辑电路的关键通道是由输入和输出的最长路径来定义。此时一个路径的长度正比于它的计算时间。
DSP系统通常是利用时序电路来实现的,其中关键通道是由任何两个寄存元件(或延迟元件)之间的最长路径来定义的。关键通道的计算时间决定一个DSP系统的最小可处理的时钟周期。
等待时间定义为由系统接收相应的输入到产生一个输出之间的时间差。
对于仅仅包含组合逻辑的系统,等待时间通常按照绝对的时间单位或者门延迟的数目表示。对于时序系统,等待时间 通常按照时钟周期数来表示。一般,DSP系统的时钟速率是与它的采样率不同的。
DSP算法利用数学公式在较高层次上描述,此时@它规定系统的功能比规定内部运算的次序和结构更重要。对于结构设计,这些数学分式需要变换到行为描述语言或图形表示。
行为描述语言包括应用语言,约定(prescriptive) 语言和描述语言。
应用语言表示一组由算法变量满足的方程式,而不是一系列动作,即完成的赋值。赋值语句的次序是不重要的。
应用语言对描述DSP系统是大众化的(popular)。
例如,在Cathedral综合工具中利用的silage 语言是应用语言。
约定语言显式地规定赋值语句的次序,这类语言的一些例子包括高级的如Pascal,C或 Fortran等编程语言。近来,许多应用正利用表示DSP系统结构的描述语言来定义。这些语言的例子是如Verilog或VHDL等硬件描述语言。
图形表示可有效地研究和分析DSP算法的数据流特性,探索不同子任务之间固有的并行性。更重要的,图形表示可以利用来映射DSP算法到硬件实现。所以这些表示在算法描述和结构实现之间架起桥梁。
DSP系统的性能尺度,面积,速度,功耗和舍取噪声等的绝对度量没有实现系统所支持工艺的知识是不可能获得的。但是,图形表示呈现了系统的全部并行性和数据驱动的特性。提供了对空间和时间舍取的内部观察。用图形表示结构设计空间可以被探索,一个相应的结构可以按工艺无关的方式来选择。
一个结构的速度或时钟周期是由两个锁存器,或一个输入和一个锁存,或一个锁存和一个输出,或输入和输出之间的最长路径所限制,在结构中沿着数据通道适当地放置流水锁存器可以减少最长路径或关键路径。
所以流水变换可以使关键通道得到简化,DSP应用利用流水技术可以增加时钟速度,或采样速度,或在相同的速度下减少功耗。而并行处理是在一个时钟周期,并行地计算多个输出,所以随硬件重复的并行程度增加,有效采样速度也增加,使几个输入可以并行地处理,几个输出可以同时产生。与流水技术类似,并行处理也可以利用来减少功耗。并行处理和流水技术常常是对偶的,一个计算可以交织地流水处理,它也可以复制地并行处理。
在M级流水系统中,从输入到输出的任何通道上延时元件的数目要比原始的时序电路中相同通道上的延时元件多(M-1)倍。在流水减少关键路径的同时,付出的代价是增加了滞后,所以在流水系统中和在时序系统中,第一个输出数据的有效性是不同的。
在FPGA中由四输入查找表和触发器组成的可配置逻辑功能块为信号处理提供大量可使用的资源,信号可以通过寄存器或存储器实现流水,大量的逻辑资源能够产生完全并行的结构,从而使计算能力达到最大的限度。
不象固定宽度的处理器和ASIC,FPGA提供设计者以定制的字长来适应特定的情况或在相同情况下不同的设计参数。此外,SRAM查找表结构的FPGA具有系统内可再编程的特性,任何时候都允许设计者方便地在系统中更改其设计。快速地构造复杂的高性能的DSP系统。
Xilinx公司提供很多DSP的核给设计者使用,使设计者很快地实现DSP应用,而且具有比ASSP或DSP处理器快10-15倍的处理速度,采样率达到160MSPS,如表所示。

算法 性能
16-Bit  
256抽头FIR滤波器 160MSPS
1024点复数FFT 41usec
Reed-Solomon解码器 87MHz
JPEG编码器 21MHz
ADPCM 16Mhz



关键词: 实现     应用     技术     要求     处理     速度     硬件     特性         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]