FPGADSP嵌入式系统方案设计书.docx
- 文档编号:2449532
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:42
- 大小:79.36KB
FPGADSP嵌入式系统方案设计书.docx
《FPGADSP嵌入式系统方案设计书.docx》由会员分享,可在线阅读,更多相关《FPGADSP嵌入式系统方案设计书.docx(42页珍藏版)》请在冰豆网上搜索。
FPGADSP嵌入式系统方案设计书
封面
作者:
PanHongliang
仅供个人学习
第7章FPGADSP嵌入式系统设计
§7.1设计流程概述
DSP(DigitalSignalProcessing)技术在通信、图像处理增强、数据获取、雷达及视频处理等等领域有着广泛的应用,因此,DSP的使用也不只存在唯一的方法,而是要根据不同的目的提出不同的解决方案。
可编程芯片的FPGA逐渐成为这些解决方案中的一个重要的组成部分。
预计用于DSP的可编程芯片的产量将以平均每年41.6%的比率增长,到2005年,产量已达到17.8亿美元。
通常,DSP算法的实现有两种途径:
低速的用于普通目的的可编程DSP芯片;高速的用于特定目的的固定功能DSP芯片组和ASIC(ApplicationSpecificIntegratedCircuit)芯片。
而FPGA是DSP设计人员的另一种选择。
大多数FPGA是由逻辑单元阵列、各个逻辑单元之间的可编程互连线、I/O管腿和其他一些如片上的存储器之类的资源组成的。
其中逻辑单元是由1个四输入的查找表和1个触发器构成的。
与普通的DSP芯片相比,FPGA芯片能够更好地实现并行处理,从而提高了性能并节省了能源。
如算法中使用了14个MAC(Multiply&Accumulate),与只有1到4个MAC的通用DSP芯片不同,在FPGA中可以配置14个乘法器,以实现并发处理。
而这种流水线结构的数据流可以使信号负载最小化,从而节省指令和数据存取的系统开销。
此外,因为芯片所消耗的能量与它的时钟频率成正比,FPGA可以将输入的数据流分离开,并将它们作为几个并行的数据流进行处理,从而工作在一个较低的时钟频率下,这样做也就节省了能源。
相对来讲,FPGA设计的灵活性和适应性更强。
而与ASIC芯片相比,FPGA可以反复使用,并且在产品制成后还能重新更改设计。
这样做有三点好处:
修补bug;加入新的功能;使系统适应新的标准。
使用FPGA的现场可编程能力,不但避免了高额的开发费用,而且满足产品的上市需求。
虽然有如此多的优点,但是目前FPGA在DSP应用上所占用的份额并不大,而且主要是用做协处理器,以辅助DSP芯片完成一些计算密集型的算法。
这种现象的造成主要有两方面的原因。
一方面,在软件上,DSP与FPGA之间有着巨大的隔阂。
生活在软件世界的DSP程序员要学习如寄存器、门、VHDL代码等等新的知识才能进入电子工程的世界。
这两类设计人员不但完成设计时所使用的工具不一样,而且,在设计中所考虑的问题也不同。
表1表示了他们之间的差异。
另一方面,在硬件上,原先的FPGA芯片没有集成专门的乘法器,只能依靠用户自己编辑乘法器。
乘法器的实现比较耗费以查找表为主的系统资源,所以在编辑完并行的MAC后,FPGA所剩的资源无几,从而限制了FPGA的使用。
正是由于这两个主要的因素,使FPGA无法在DSP领域中有更大的作为。
表7-1
DSP设计者
FPGA设计者
设计方法
C,C++,汇编
MATLAB,SimuLink
VHDL/Verilog编程
综合,映射,布局布线
设计问题
信噪比,误码率,采样率
腿到腿延时,流水线和逻辑层次,布局规划
横亘在软件间的隔阂和硬件结构上的差异限制了FPGA的DSP应用,但是现在这项工作变得简单了,Xilinx公司提出了一整套的解决方案。
不但出现了IP(IntellectualProperty)核(Core)形式的DSP算法和将这些IP核集成到FPGA设计的工具软件,而且出现了新的FPGA芯片。
软件上一个重要的代表是XtremeDSP系列软件包,主要包括:
MathWorks公司的Matlab和Xilinx公司的SystemGenerator负责系统级设计;
MentorGraphics公司的FPGAAdvantage或Synplicity公司的SynplifyPro做HDL综合;
ModelTechnology公司的ModelSim负责仿真;
Xilinx公司的FoundationSeriesISE负责硬件实现。
图7-1表示使用Xtreme设计DSP算法的流程。
在硬件方面,Xilinx公司推出最新的VirtexII系列FPGA芯片。
它内置了192个18×18bit的高性能组合乘法器,支持高达250MHz的数据率,内部固化了并行的DSP数据模型。
它的密度达到一千万系统门,可以运行600GMAC/s。
大大超出了当今通用DSP芯片的性能(TI的高端DSP芯片TMS320C6000的定点系列C64x只能达到1.6—2.4GMAC/s)。
设计方法和硬件结构上的改进使FPGA在DSP上的应用前景变得光明起来。
图7-1Xtreme系统中实现DSP的设计流程图
Xilinx公司同它的合作者联合提出了XtremeDSP解决方案,它在系统结构设计和基于FPGA的DSP系统硬件实现之间建立起一座桥梁。
SystemGenerator同Simulink模型工具结合,可以参数化、最优化算法。
它可以自动从行为级的系统模型转换到FPGA实现,其间不再需要手工重设,大大节省了开发时间并降低了出错概率。
通过软件,用户可以在DSP函数的算法、性能、节能、硅片面积中进行选取,可以快速地分析出它的运算速度和花费。
图7-2基于模型的设计过程
XilinxFPGA支持用户在同一个设计的不同部分创建自定义的字长。
Xtreme支持不同的比特数、流水线程度和实现的选择方法。
对于某些需要更多比特数来表示精度的通道,只要更改IP的参数,软件就会自动适应新的数据配置。
Xtreme的配置灵活,用户可以根据需要进行设置:
若全部使用并行结构就可以达到最大的数据吞吐量,也可以由于降低了系统时钟而节省能源;相反的,若全部使用串行结构则会使硅面积最小,节省花费,但同时仍能够得到相当的性能。
MATLAB作为线性系统的一种分析和仿真工具,在工程和计算科学上有着广泛的应用。
它建立在向量、数组和矩阵的基础上,结合了可视化的数学计算和强大的技术语言。
内建的接口可以从指令、文件、外部数据库和程序中迅速得到数据。
Simulink作为Matlab的一个工具箱(toolbox),在整个的DSP设计中起着举足轻重的作用。
它是一个交互式的工具,用于对复杂的系统进行建模、仿真和分析。
成为控制系统设计、DSP设计、通信系统设计和其它仿真应用的首选工具。
它的特性为:
建立图形式的模块列表,模拟复杂系统,评估系统的性能,提高设计水平;建立模拟、数字或数模混合的信号系统,控制逻辑器件;与Matlab的结合;与Stateflow紧密结合,建立数据驱动行为的模型;广泛利用DSP库。
SystemGenerator是Xilinx公司的的一个模块集(blockset),它是simulink的一个插件,其中设置了Xilinx特有的DSP功能的IP核,包括了基本DSP函数和逻辑算符,如FIR(FiniteImpulseResponse)、FFT(FastFourierTransform)、存储器、数学函数、转换器、延时线等等。
这些预先定义好的模块保证了FPGA实现时的位-bit和周期-cycle的正确。
使用它可以自动生成VHDL/Verilog语言、测试向量以及可以使ModelSim仿真的“.do”文件。
为了得到最佳的性能、密度和可预测性,SystemGenerator还会自动将特定的设计模块映射成高度优化了的IP核模型。
XilinxBlockset中的模块,有的可以直接映射到硬件,有的对应着IP核。
它们中每个都可以根据设计要求更改参数,支持双精度和定点的算法。
这个模块集是一个可以外部扩展的库,使用的是C++的定点算法,所以用户可以创建自己的基于C++类的Simulink库元件,在设计中它会被当作黑箱(Blackbox)处理。
有两种可以实现HDL综合的工具:
MentorGraphics的FPGAAdvantage和Synplicity的Synplify。
这两个工具都可以将上一步(使用Simulink和XilinxSystemGenerator完成的设计)的顶层(和附加的子VHDL文件)HDL行为级或RTL设计文件转化成门级表示(EDIF文件)。
可以使用其中的任意一个软件来完成这个任务。
这些工具可以:
将HDL综合成门级的设计实现;通过消除对每个门的定义,减少了设计时间;减少了手工将硬件说明翻译为原理图设计中可能出现的错误数量;在最优化原始的HDL代码过程中应用了综合工具的自动技术(如机械编码类型、自动I/O插入),从而使设计更有效率。
使用ModelSim就可以在设计过程中对HDL进行仿真,以保证结果的正确性。
它的特性如下:
通过使用DirectCompile结构,达到最快的编辑速度和有竞争力的模拟性能;使用SingleKernelSimulation,将VHDL和Verilog结合在一起;将machine和Simulator版本独立开来,以简化可携带性和库的维护。
Xilinx的ISE软件包含了最新的实现工具,可以用来创建有效简洁的设计。
当综合完VHDL文件后,就会得到顶层的EDIF文件(也有子层的EDIF文件),将这些EDIF文件作为XilinxDesignManager的输入源进行实现,它将翻译(Translate)、映射(Map)、布局布线(Place&Route)以及配置(Configure)该设计。
最终得到下载用的位流文件。
它的时序驱动的布局布线特性允许用户为特定的路径指定自己的时序;静态时序分析能够减少设计步骤;能够在实现前后对设计进行验证;可以重新迭代先前的设计以缩短整个设计周期。
利用FPGA实现DSP嵌入式系统,已有互相补充的软件设计工具,表7-2列出了在系统建模和设计、算法开发和优化、HDL仿真和产生及设计校验和诊断等不同设计阶段使用的软件。
表7-2FPGA实现DSP的软件工具
设计阶段
软件和功能
软件公司
系统建模和设计
Simulink:
动态系统的多域仿真和基于模型设计的平台,提供交互的图形环境和定制的模块库集合
MathWorks
PlatformStudio:
包含广泛种类嵌入设计工具、IP、库、引导卡和设计产生器的集成开发环境,
Xilinx
算法开发和优化
MATLAB:
算法开发、数据可视化、数据分析及数值计算的高级技术计算语言和交互环境,
MathWorks
DSP综合工具提供MATLAB与systemGenerator或ISE之间的直接链接,自动产生可综合的RTL模型和测试床
Accelchip:
直接由C语言的程序转换到FPGA的硬件
Xilinx
HDL仿真和产生
ISE:
设计者可用VHDL或Verilog设计,对FPGA编程,利用SystemGenerator时,可按批作业模式调用
Xilinx
Synthesis:
综合工具XST/SynplifyPro可低成本、高效率映射设计到FPGA硬件,按批作业模式选择他们来和SystemGenerator一起使用
Xilinx/Synplicity
ModelSim:
SystemGenerator提供必要的接口与ModelSim仿真器连接,可以利用它做HDL协同仿真或实时地输入仿真结果到Simulink/SystemGenerator仿真
MentorGraphics
设计校验和诊断
ChipScopePro:
监视FPGA的内部测点,预测和诊断设计,探测结果可插入到Simulink/SystemGenerator内
Xilinx
§7.2FPGA设计DSP技术
ISE实现软件、SystemGenerator以及MATLAB/Simulink工具之间都有相互配合的版本问题,对于ISE8.1以上的版本,要求相同序号的SystemGenerator版本,并配合使用M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGADSP 嵌入式 系统 方案设计