首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 经过优化的低成本FPGA中的高性能DSP功能
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
经过优化的低成本FPGA中的高性能DSP功能
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-22 10:04
|
只看该作者
经过优化的低成本FPGA中的高性能DSP功能
解决方案
,
无线电
,
敏感性
,
通用
,
成本
受诸如视频和静态图像使用的增多以及软件无线电等可重复配置系统需求的增长,数字信号处理(DSP)的应用继续膨胀。其中许多应用把重要的DSP处理要求和对成本的敏感性、对高性能的需求以及低成本的DSP解决方案结合在一起。
通用的DSP芯片和FPGA是实现DSP功能的两种普遍的方法。每种方法都各有优点,其最适宜的方法因应用要求的不同而各异。本文论述了通用DSP的功能,阐述了通用DSP和FPGA之间的差异,比较了现有的用FPGA实现DSP的解决方案,最后介绍了LatticeECP2M DSP的结构以及实现DSP的设计方法。
通用的DSP解决方案与FPGA实现方法的对比
带有加法、减法或累加运算的乘法器是大多数DSP应用的核心。通用DSP芯片把这些功能的有效实现方法和一个通用微处理器结合在一起。乘法器的数目一般为数个,微处理器将数据串行地实现乘法或其它功能,中间结果存放在存储器或累加器中。性能的提高主要通过提升用于乘法的时钟速度来实现。典型的时钟速度从数十MHz到1GHz。其性能,用每秒百万次乘法累加(MMAC)来衡量,通常为10到4000。更高性能要求的功能不得不分拆在多
个DSP引擎中实现。这些芯片的价格从低端性能的几美元到高端性能的数百美元。这种方法的优点是能够直接实现用诸如C这样的高级编程语言编写算法。
面向DSP的FPGA能在一个芯片上并行地实现许多功能。通用的布线、逻辑和存储器资源用来实现各个功能之间的互连、实现额外的功能、定序或在必要的情况下存储数据。一些基本的器件仅提供乘法器,需要用户用逻辑构造所有其它的功能。更多的高级器件提供加法、减法和累加功能,作为一整套DSP构造模块的一部分。FPGA通常拥有数十个乘法单元,可以在数百MHz的时钟速度下工作。例如,LatticeECP2-70 FPGA拥有88个18x18的乘法器,运行速度可达325MHz,性能达到每秒28600MMAC。
设计者经常要实现结构化的DSP功能,这在FPGA内要占用大量的计算资源。通常在FPGA内实现的结构化功能为:有限脉冲响应滤波器(FIR)、无限脉冲响应滤波器(IIR)、快速傅立叶变换(FFT)和混频器。每种功能都需要将乘法单元与加法、减法和累加结合在一起。图1和图2分别是典型的FIR滤波器和快速傅立叶变换(FFT)的实现方式。
目前在低成本FPGA中实现DSP功能有几种方法。第一种方法是使用器件内的查找表(LUT)。这个方法提供相对低的性能而且占用许多FPGA资源。另外一种方法是在FPGA中用硬核实现乘法器。这减少了实现DSP所需的FPGA资源。然而正如前面所述,在FPGA中实现的大多数DSP功能需要在 乘法器之后进行加、减和累加。这些功能要占用大量的FPGA资源,最后的数据宽度可达36位。因此经常会在设计中形成瓶颈。为了面对这个挑战,最新的FPGA利用有效的硬逻辑在乘法器之后进行可编程加、减和累加。用这种方法实现DSP功能后,大大减少了通用资源的使用,并能获得很高的性能。
LatticeECP2/M器件结构
LatticeECP2和LatticeECP2M系列重新定义了低成本FPGA,在更低的成本下拥有更多最佳的FPGA特性。器件含有sysDSP块和工程预制的源同步I/O。在LatticeECP2M中有高达5.3M位的RAM块、在LatticeECP2中有高达1.1M位的RAM块。在LatticeECP2M中有3.125Gbps嵌入式SERDES,支持PCIexpress、Ethernet (1GbE 和 SGMII)以及多个其它标准。集成了以前只有高成本、高性能FPGA才有的特点和性能,这些系列的产品极大地扩展了利用低成本FPGA的应用范围。
LatticeECP2/M器件由一个低成本的FPGA结构加上3个~42个sysDSP块构成(图3为sysDSP块)。图4是ECP器件的整体结构图。图中红色部分是sysDSP块,专门用来实现DSP的功能。
LatticeECP2/M系列中的sysDSP块支持三种数据宽度下(9、18和36)的四种功能单元。用户为一个DSP块选择一种功能单元,然后选择数据宽度和操作数的类型(带符号/无符号)。sysDSP块中的操作数可以是带符号或者无符号的,但在一个功能单元中不可以混合使用。类似的,操作数的宽度在一个块中必须相同。每个sysDSP块中的资源可以经过配置支持下面四种单元:
● MULT(乘法)
● MAC(乘法、累加)
● MULTADD(乘法、加/减)
● MULTADDSUM(乘法、加/减,累加)
每个块中可用的单元数目取决于数据宽度。该宽度有三种数值可供选择:x9,x18和x36。数个这样的单元可以连接起来,从而以并行方式实现DSP功能。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
无源元件
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议