最佳FPGA和专用DSP
时间:01-19
来源:电子产品世界 作者:益林
点击:
视频和静止图像的普遍采用,以及可配置系统(如软件无线电)日益增长的需求继续驱动DSP应用的扩展。很多应用需要经济有效的DSP处理。
虽然定制实现DSP功能,但在很多应用中几种功能,如FIR(有限脉冲响应)滤波器,IIR(无限脉冲响应)滤波器、FFT(快速傅里叶)和混频器是共同的。所有这些功能都需要与加、减、累加一起的乘法单元组合。
FIR滤波器(图1)存储n数据单元系列,每个数据单元延迟一个附加周期。通常,这些数据单元称之为分支。每个分支与系数相乘,其结果求和产生输出。某些方法并行执行所有的乘法。更一般的方法是分为N级,用累加器从一级到下一级传递结果。这些实现方法用功能资源换取速度,取N个计算级并需要n/N个乘法器。根据系数是静态还是动态以及系数值设计,有不少其他通用的设计最佳化方法。
实现方法
从图像压缩到确定数据取样的频谱成分,在不同的应用中都用FFT。实现FFT有多种方法。最通用的方法是通用Cooley-Tukey时间抽取,把FFT分解成若干更小的FFT。最简单的实现方法是用Radix-2蝶形单元(图2),其输入数据必须传递倍数。这种计算概念上是简单的;然而,图左边所有的乘和加是用复数计算的,所需要的乘和加的实数是更复杂的问题(如图右边所示)。
IIR滤滤器除引入反馈通路外,它类似于FIR滤波器。这些反馈通路使IIR滤波器的设计和分析比FIR更复杂。然而,对于相同硅面积,IIR方法可提供更强的滤波器。尽管有几种IIR结构,但是,一种通用的结构是用2阶四次方结构(图3)
很多应用是用混频器来变换信号频率。概念上,可用单个乘法器,而在数字应用中,用复数形式表示不少优点。最一般的形式是信号表示是为I和Q分量。
DSP选择
做为这些通用功能应用,大多数DSP应用的核心是乘、加、减或累加。通用DSP芯片与通用微处理器结合能有效地实现这些功能。乘法器数量通常1~4个,而微处理器通过乘和其他功能定序通过的数据,存储中间结果在存储器或累加器。主要靠提高乘法所用的时钟速度来提高性能。典型时钟速度为几十MHz~1GHz。性能用每秒MMAC(百万乘累加)度量,典型值10~4000。
需要较佳功能必须并联组合多个DSP引擎。这种方法的主要优点是直接实现用高级编程语言(如C语言)编写的算法。
DSP定向的FPGA能在一个芯片上并行实现很多功能。通用发送、逻辑和存储器资源互连功能、执行加法功能、定序和存储数据。某些基本器件仅提供乘法支持,需要用户建造其他逻辑功能。更复杂的器件提供加、减和累加功能做为DSP构建单元的一部分。FPGA通常带有几十乘法器单元,可工作在几百MHz的时钟频率。
DSP FPGA选择
Altera公司的Cyclone FPGA不包含DSP定向的元件,这使得实现大的DSP功能而不消耗大量的外部资源变得困难。然而,CycloneII包含乘法器功能,Xilinx公司的SpartanIII FPA家族具有基本的乘法器功能。没有DSP功能时,必须消耗大量的FPGA资源来实现一般设计中的加、减、累加和流水线寄存器。
Lattice公司专为DSP应用设计了ECP-DSP器件(图4)。它含有与4和10个集成sysDSP单元连接的低成本FPEA结构。sysDSP单元以3个数据通路宽度(9,18和36)支持4个功能单元。用户为DSP单元选择一个功能单元,然后选择其操作数的宽度和类型(符号/无符号)。sysDSP单元中的操作数可以带符号或无符号,但在功能单元中不能混合。
同样,在一个单元中操作数宽度不能混合。每个sysDSPK中的资源可配置来支持MULT(乘)、MAC(乘累加)、MULTADD(乘加/减)和MULTADDSUM(乘加/减和)元件。
每个单元中可用的元件数取决于所选择的数据通路宽度。把若干个元件连接起来可并联实现DSP功能。
sysDSP单元在输入,中间和输出级具有内置任选流水线寄存器。如需要,输入也可能并行输入或跨过阵列移位。也为带符号和不带符号运算和加减之间动态转换提供选择。在sysDSP单元中可得到流水线寄存器、和、减和累加。在一般的功能中,一般需要用加、和或累加组合乘法。概念简单的流水线寄存器在宽数据通路中实现要消耗大量的资源。用sysDSP单元实现这些功能可使通用FPGA资源消耗较低、性能较高,允许采用较低速度等级的更小器件。
虽然定制实现DSP功能,但在很多应用中几种功能,如FIR(有限脉冲响应)滤波器,IIR(无限脉冲响应)滤波器、FFT(快速傅里叶)和混频器是共同的。所有这些功能都需要与加、减、累加一起的乘法单元组合。
FIR滤波器(图1)存储n数据单元系列,每个数据单元延迟一个附加周期。通常,这些数据单元称之为分支。每个分支与系数相乘,其结果求和产生输出。某些方法并行执行所有的乘法。更一般的方法是分为N级,用累加器从一级到下一级传递结果。这些实现方法用功能资源换取速度,取N个计算级并需要n/N个乘法器。根据系数是静态还是动态以及系数值设计,有不少其他通用的设计最佳化方法。
实现方法
从图像压缩到确定数据取样的频谱成分,在不同的应用中都用FFT。实现FFT有多种方法。最通用的方法是通用Cooley-Tukey时间抽取,把FFT分解成若干更小的FFT。最简单的实现方法是用Radix-2蝶形单元(图2),其输入数据必须传递倍数。这种计算概念上是简单的;然而,图左边所有的乘和加是用复数计算的,所需要的乘和加的实数是更复杂的问题(如图右边所示)。
IIR滤滤器除引入反馈通路外,它类似于FIR滤波器。这些反馈通路使IIR滤波器的设计和分析比FIR更复杂。然而,对于相同硅面积,IIR方法可提供更强的滤波器。尽管有几种IIR结构,但是,一种通用的结构是用2阶四次方结构(图3)
很多应用是用混频器来变换信号频率。概念上,可用单个乘法器,而在数字应用中,用复数形式表示不少优点。最一般的形式是信号表示是为I和Q分量。
DSP选择
做为这些通用功能应用,大多数DSP应用的核心是乘、加、减或累加。通用DSP芯片与通用微处理器结合能有效地实现这些功能。乘法器数量通常1~4个,而微处理器通过乘和其他功能定序通过的数据,存储中间结果在存储器或累加器。主要靠提高乘法所用的时钟速度来提高性能。典型时钟速度为几十MHz~1GHz。性能用每秒MMAC(百万乘累加)度量,典型值10~4000。
需要较佳功能必须并联组合多个DSP引擎。这种方法的主要优点是直接实现用高级编程语言(如C语言)编写的算法。
DSP定向的FPGA能在一个芯片上并行实现很多功能。通用发送、逻辑和存储器资源互连功能、执行加法功能、定序和存储数据。某些基本器件仅提供乘法支持,需要用户建造其他逻辑功能。更复杂的器件提供加、减和累加功能做为DSP构建单元的一部分。FPGA通常带有几十乘法器单元,可工作在几百MHz的时钟频率。
DSP FPGA选择
Altera公司的Cyclone FPGA不包含DSP定向的元件,这使得实现大的DSP功能而不消耗大量的外部资源变得困难。然而,CycloneII包含乘法器功能,Xilinx公司的SpartanIII FPA家族具有基本的乘法器功能。没有DSP功能时,必须消耗大量的FPGA资源来实现一般设计中的加、减、累加和流水线寄存器。
Lattice公司专为DSP应用设计了ECP-DSP器件(图4)。它含有与4和10个集成sysDSP单元连接的低成本FPEA结构。sysDSP单元以3个数据通路宽度(9,18和36)支持4个功能单元。用户为DSP单元选择一个功能单元,然后选择其操作数的宽度和类型(符号/无符号)。sysDSP单元中的操作数可以带符号或无符号,但在功能单元中不能混合。
同样,在一个单元中操作数宽度不能混合。每个sysDSPK中的资源可配置来支持MULT(乘)、MAC(乘累加)、MULTADD(乘加/减)和MULTADDSUM(乘加/减和)元件。
每个单元中可用的元件数取决于所选择的数据通路宽度。把若干个元件连接起来可并联实现DSP功能。
sysDSP单元在输入,中间和输出级具有内置任选流水线寄存器。如需要,输入也可能并行输入或跨过阵列移位。也为带符号和不带符号运算和加减之间动态转换提供选择。在sysDSP单元中可得到流水线寄存器、和、减和累加。在一般的功能中,一般需要用加、和或累加组合乘法。概念简单的流水线寄存器在宽数据通路中实现要消耗大量的资源。用sysDSP单元实现这些功能可使通用FPGA资源消耗较低、性能较高,允许采用较低速度等级的更小器件。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)
闁诲繐绻愮€氫即銆傞懜鐢碘枖闁规崘灏欓悷褰掓煕閳哄喚鏀版い鏂垮瀵偄鈻庨幋鏃€鐓犻梺瑙勪航閸斿繐鐣烽敓锟�
- 婵°倕鍊瑰玻鎸庮殽閸モ晙鐒婇柛鏇ㄥ灱閺嗐儳鈧鎮堕崕鎶藉煝閼测晜鏆滈柛顐g箓閹鏌熺€涙ê濮囬柣鎾规硶閹峰顢橀悢鍛婄暚缂備礁顑呴鍛淬€冨⿰鍛晳闁跨噦鎷�
闂佺ǹ绻堥崝宥夊蓟閻斿憡濯寸€广儱鎷嬮崝鍛槈閺冨倸孝闁汇劎濮甸敍鎰板箣濠婂懐鎳囨繛鎴炴尰濮樸劑鎮¢敍鍕珰闁糕槅鍘剧粈澶愭煙缂佹ê濮囩€规洖鐭傞幆宥夊棘閸喚宀涢悗瑙勬偠閸庢壆绱為弮鍫熷殑闁芥ê顦~鏃堟煥濞戞ǹ瀚板┑顕呬邯楠炲啴濡搁妷锕€娓愰梻渚囧亞閸犳劙宕瑰鑸碘拹濠㈣埖鐡曠粈瀣归崗鍧氱細妞ゎ偄鎳橀幆鍐礋椤愩倖顔忔俊顐ゅ閸ㄥ灚瀵奸幇顔剧煓閻庯綆浜為悷锟�...
- 婵炴垶鎼╅崢鐐殽閸モ晙鐒婇柛鏇ㄥ灱閺嗐儳鈧鎮堕崕鎶藉煝閼测晜鏆滈柛顐g箓閹鏌熺€涙ê濮囬柣鎾规硶閹峰顢橀悢鍛婄暚缂備礁顑呴鍛淬€冨⿰鍛晳闁跨噦鎷�
缂備緡鍣g粻鏍焵椤掑﹥瀚�30婵犮垼鍩栧畝绋课涢鍌欑剨闁告洦鍨奸弳銉╂煕閳哄喚鏀版い鏂垮閹风娀宕滆閺屻倝鏌ㄥ☉妯侯殭缂佹鎸鹃埀顒傤攰閸╂牕顔忕捄銊﹀珰闁规儳鎳愮粈澶愭煕閺傜儤娅呮い鎺斿枛瀹曘劌螣閻戞ê娓愰梻渚囧亞閸犳洟骞撻鍫濈濡鑳堕鍗炩槈閹垮啩绨婚柟顔奸叄瀵粙鎮℃惔锝嗩啅婵☆偆澧楅崹鍨閹邦喚鐭欓悗锝庝簽閻熷酣鏌i妸銉ヮ伂妞も晪绠戞晥闁跨噦鎷�...
- Agilent ADS 闂佽桨鐒﹂悷銉╊敆閻旂厧鏄ョ痪顓炴媼閸炴煡鎮归崶褍鈷旈柍璇插悑缁鸿棄螖閸曞灚顥�
婵炴垶鎸婚幐鎼侇敊瀹ュ绠抽柛顐秵閸わ箓鏌ㄥ☉妯垮闁告瑥绻樺Λ鍐閿濆骸鏁奸柣鐔哥懐閺嬪儊S闂佸憡鑹剧€氼噣锝為幒妤€绀夐柣鏃囶嚙閸樻挳鏌涘⿰鍐濞村吋鍔楃划娆戔偓锝庝簽鐎瑰鏌i姀鈺冨帨缂侀亶浜跺畷婵嬪煛閸屾矮鎲鹃梺鐑╁亾閸斿秴銆掗崼鏇熷剹妞ゆ挾濮甸悾閬嶆煛閸愩劎鍩f俊顐ユ硶閳ь剚鍐荤紓姘辨閻у挷S...
- HFSS闁诲孩鍐荤紓姘卞姬閸曨垰鏄ョ痪顓炴媼閸炴煡鎮归崶褍鈷旈柍璇插悑缁鸿棄螖閸曞灚顥�
闁荤姍鍐仾缂佽鐒︾粙澶愬箻閹颁礁鏅欓梺鐟版惈閻楁劙顢氶幎鑺ユ櫖閻忕偠妫勫鍧楁⒒閸稑鐏辨い鏂款樀楠炴帡宕峰▎绂⊿闂佹眹鍔岀€氼剚鎱ㄥ☉銏″殑闁芥ê顦扮€氭煡骞栫€涙ɑ鈷掗柡浣靛€濋弫宥囦沪閽樺鐩庨梺鍛婃煛閺呮粓宕戝澶婄闁靛ň鏅滃銊х磼椤栨繂鍚圭紒顔芥そ瀹曠兘寮跺▎鎯уΤ婵炴垶姊绘慨鐢垫暜婢舵劕绠垫い鈥抽敪SS...
- CST閻庣敻鍋婇崰妤冧焊濠靛棭鍟呴柕澶堝€楃粙濠囨倵楠炲灝鈧洟鎮$捄銊﹀妞ゆ挾鍠愬▓宀€绱掔€n亶鍎忔い銊︾矌閹叉鏁撻敓锟�
闂佸搫顦€涒晛危閹存緷铏光偓锝傛櫅閻︽粓鎮规担绛嬪殝缂佽鲸绻堝畷妤呭Ω閳哄倹銆冮柣鐘辩瀵泛顔忕欢缍璗闂佸憡鑹剧€氫即濡村澶婄闁绘棁顕ч崢鎾煕濠婂啳瀚板ù鍏煎姉缁瑧鈧綆浜炵€瑰鏌i姀鈺冨帨缂佽鲸绻堝畷婵嬪煛閸屾矮鎲鹃棅顐㈡祩閸嬪﹪鍩€椤掑倸鏋欓柛銈嗙矌閳ь剚鍐婚梽鍕暜婢舵劕绠垫い鈥愁敍T闁荤姳鐒﹀畷姗€顢橀崨濠冨劅闁哄啫鍊归弳锟�...
- 闁诲繐绻愮€氫即銆傞崼鏇炴槬闁惧繗顕栭弨銊╂煕閳哄喚鏀版い鏂垮閹风娀宕滆閺岋拷
婵炴垶鎸稿ú锝囩箔閳ь剙螖閸屾惮鎴﹀Χ婵傚摜宓侀柛鎰级閸曢箖鎮硅閸ゆ牜妲愬┑鍥ㄤ氦婵炲棗娴烽弰鍌炴偣閸パ冣挃闁宠鍚嬬粙澶嬫姜閹殿喚鈽夐梺闈╄礋閸斿矂鎯冮悩绛圭矗闁瑰鍋涜灇闂佸搫鐗滈崹鍫曘€傞锕€鏄ラ柣鏃€鐏氭禍锝夋倶閻愬瓨绀冮悗姘辨暬閹虫ê顫濋崜褏顦梺鐟扮仛閹搁绮崨鏉戦敜婵﹩鍓涢弶浠嬫煟閵娿儱顏х紒妤佹尰缁嬪顫濋鍌氭暏缂佺虎鍘搁崑锟�...
- 閻庣敻鍋婇崰妤冧焊濠靛牅鐒婇柛鏇ㄥ灱閺嗐儲绻涢弶鎴剶闁革絾妞介獮娆忣吋閸曨厾鈻曢梺绯曟櫇椤㈠﹪顢欓崟顓熷珰闁告挆鈧弻銈夋煕濮橆剛澧︽繛澶涙嫹
闁荤姵鍔﹂崢娲箯闁秴瑙﹂柛顐犲劜閼茬娀鏌¢崶銊︾稇闁汇倕瀚伴獮鍡涙偑閸涱垳顦紓鍌氬暞閸ㄧ敻宕规惔銊ノュ〒姘e亾妞わ絽澧庨幏顐﹀矗濡搫纾块梺闈涙閼冲爼濡靛顑芥灃闁靛繒濮甸悵銈夋煏閸℃洘顦峰ǎ鍥э躬瀹曪綁鏌ㄧ€n剛鍩嶉梺鎸庣☉閺堫剟宕瑰⿰鍛暫濞达絽婀辨竟澶愭煛瀹ュ妫戠紒銊ユ健閺屽懘鏁撻敓锟�...
栏目分类