FPGADSP嵌入式系统方案设计书 .docx
《FPGADSP嵌入式系统方案设计书 .docx》由会员分享,可在线阅读,更多相关《FPGADSP嵌入式系统方案设计书 .docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习第 7 章FPGA DSP 嵌入式系统设计7.1设计流程概述DSP( DigitalSignal Processing)技术在通信、图像处理增强、数据猎取、雷达及视频处理等等领域有着广泛的应用,因此,DSP 的使用也不只存在唯独的方法,而是要依据不同的目的提出不同的解决方案。可编程芯片的FPGA 逐步成为这些解决方案中的一个重可编辑资料 - - - 欢迎下载精品名师归纳总结要的组成部分。估量用于DSP 的可编程芯片的产量将以平均每年41.6的比率增长,到2005 年,产量已达到 17
2、.8 亿美元。通常, DSP 算法的实现有两种途径:低速的用于一般目的的可编程DSP 芯片。高速的用于特定目的的固定功能DSP 芯片组和 ASIC (Application Specific Integrated Circuit)芯片。而 FPGA 是 DSP 设计人员的另一种选择。大多数FPGA 是由规律单元阵列、各个规律单元之间的可编程互连线、I/O 管腿和其他一些如片上的储备器之类的资源组成的。其中逻辑单元是由 1 个四输入的查找表和1 个触发器构成的。与一般的 DSP 芯片相比, FPGA 芯片能够更好的实现并行处理,从而提高了性能并节省了能源。如算法中使用了14 个 MAC ( Mu
3、ltiply& Accumulate ),与只有1 到 4 个MAC 的通用 DSP 芯片不同,在 FPGA 中可以配置14 个乘法器,以实现并发处理。而这种流水线结构的数据流可以使信号负载最小化,从而节省指令和数据存取的系统开销。此外,由于芯片所消耗的能量与它的时钟频率成正比,FPGA 可以将输入的数据流分别开, 并将它们作为几个并行的数据流进行处理,从而工作在一个较低的时钟频率下,这样做也就节省了能源。相对来讲,FPGA 设计的灵敏性和适应性更强。而与ASIC芯片相比, FPGA 可以反复使用,并且在产品制成后仍能重新更换设计。这样做有三点好处:修补bug。加入新的功能。使系统适应新的标准
4、。使用FPGA 的现场可编程才能,不但防止了高额的开发费用,而且中意产品的上市需求。虽然有如此多的优点,但是目前FPGA 在 DSP 应用上所占用的份额并不大,而且主要是用做协处理器,以帮忙DSP 芯片完成一些运算密集型的算法。这种现象的造成主要有两方面的缘由。一方面,在软件上,DSP 与 FPGA 之间有着巨大的隔阂。生活在软件世界的 DSP 程序员要学习如寄存器、门、VHDL代码等等新的学问才能进入电子工程的世界。这两类设计人员不但完成设计时所使用的工具不一样,而且,在设计中所考虑的问题也不同。表 1 表示了他们之间的差异。另一方面,在硬件上,原先的FPGA 芯片没有集成特的的乘法器,只能
5、依靠用户自己编辑乘法器。乘法器的实现比较耗费以查找表为主的系统资源,所以在编辑完并行的MAC 后, FPGA 所剩的资源无几,从而限制了FPGA 的使用。正是由于这两个主要的因素,使FPGA 无法在 DSP 领域中有更大的作为。表 7-1设计方法设计问题DSP 设计者C,C+, 汇编MA TLAB,SimuLink信噪比 ,误码率 , 采样率FPGA 设计者VHDL/Verilog编程综合,映射,布局布线腿到腿延时 ,流水线和规律层次 , 布局规划横亘在软件间的隔阂和硬件结构上的差异限制了FPGA 的 DSP 应用,但是现在这项工作变得简洁了,Xilinx公司提出了一整套的解决方案。不但显现了
6、IP ( Intellectual Property)核( Core)形式的 DSP 算法和将这些 IP 核集成到 FPGA 设计的工具软件,而且显现了新的 FPGA 芯片。软件上一个重要的代表是XtremeDSP 系列软件包,主要包括:MathWorks 公司的 Matlab 和 Xilinx 公司的 System Generator 负责系统级设计。Mentor Graphics 公司的 FPGA Advantage 或 Synplicity公司的 SynplifyPro 做 HDL综合。Model Technology 公司的 ModelSim 负责仿真。Xilinx公司的 Founda
7、tion Series ISE 负责硬件实现。图 7-1 表示使用 Xtreme 设计 DSP 算法的流程。在硬件方面,Xilinx公司推出最新的VirtexII 系列 FPGA 芯片。它内置了192 个 18 18 bit 的高性能组合乘法器,支持高达250MHz的数据率,内部固化了并行的DSP 数据模型。它的密度达到一千万系统门,可以运行 600G MAC/s 。大大超出了当今通用DSP 芯片的性能(TI的高端DSP 芯片TMS320C6000 的定点系列 C64x 只能达到 1.6 2.4G MAC/s )。设计方法和硬件结构上的可编辑资料 - - - 欢迎下载精品名师归纳总结改进使 F
8、PGA 在 DSP 上的应用前景变得光明起来。图 7-1Xtreme 系统中实现 DSP 的设计流程图Xilinx 公司同它的合作者联合提出了XtremeDSP 解决方案,它在系统结构设计和基于FPGA 的 DSP 系统硬件实现之间建立起一座桥梁。System Generator 同 Simulink 模型工具结合,可以参数化、最优化算法。它可以自动从行为级的系统模型转换到FPGA 实现,其间不再需要手工重设,大大节省了开发时间并降低了出错概率。通过软件,用户可以在DSP 函数的算法、性能、节能、硅片面积中进行选取,可以快速的分析出它的运算速度和花费。图 7-2基于模型的设计过程XilinxF
9、PGA 支持用户在同一个设计的不同部分创建自定义的字长。Xtreme 支持不同的比特数、流水线程度和实现的选择方法。对于某些需要更多比特数来表示精度的通道,只要更换 IP 的参数,软件就会自动适应新的数据配置。Xtreme 的配置灵敏,用户可以依据需要进行设置:如全部使用并行结构就可以达到最大的数据吞吐量,也可以由于降低了系统时钟而节省能源。相反的,如全部使用串行结构就会使硅面积最小,节省花费,但同时仍能够得到相当的性能。MATLAB作为线性系统的一种分析和仿真工具,在工程和运算科学上有着广泛的应用。它建立在向量、数组和矩阵的基础上,结合了可视化的数学运算和强大的技术语言。内建的接口可以从指令
10、、文件、外部数据库和程序中快速得到数据。Simulink作为 Matlab的一个工具箱( toolbox ),在整个的 DSP 设计中起着举足轻重的作用。它是一个交互式的工具,用于对复杂的系统进行建模、仿真和分析。成为把握系统设计、DSP 设计、通信系统设计和其它仿真应用的首选工具。它的特性为:建立图形式的模块列表,模拟复杂系统,评估系统的性能,提高设计水平。建立模拟、数字或数模混合的信号系统,把握规律器件。与Matlab 的结合。与Stateflow 紧密结合,建立数据驱动行为的模型。广泛利用DSP 库。System Generator 是 Xilinx公司的的一个模块集(blockset)
11、,它是 simulink 的一个插件,其中设置了Xilinx特有的 DSP 功能的 IP 核,包括了基本DSP 函数和规律算符,如FIR( Finite Impulse Response )、 FFT( Fast Fourier Transform )、储备器、数学函数、转换器、延时线等等。这些预先定义好的模块保证了FPGA 实现时的位 -bit 和周期 -cycle 的正确。使用它可以自动生成VHDL/Verilog语言、测试向量以及可以使ModelSim仿真的“ .do”文件。为了得到正确的性能、密度和可推测性,System Generator 仍会自动将特定的设计模块映射成高度优化了的I
12、P 核模型。 XilinxBlockset 中的模块,有的可以直接映射到硬件,有的对应着IP 核。它们中每个都可以依据设计要求更换参数,支持双精度和定点的算法。这个模块集是一个可以外部扩展的库,使用的是C的定点算法,所以用户可 以创建自己的基于C类的 Simulink库元件,在设计中它会被当作黑箱(Blackbox )处理。有两种可以实现 HDL 综合的工具: Mentor Graphics 的 FPGA Advantage 和 Synplicity 的 Synplify 。这两个工具都可以将上一步(使用 Simulink 和 Xilinx System Generator 完成的设计)的顶层
13、(和附加的子 VHDL 文件) HDL 行为级或 RTL 设计文件转化成门级表示( EDIF 文件)。可以使用其中的任意一个软件来完成这个任务。这些工具可以:将HDL综合成门级的设计实现。通过排除对每个门的定义,削减了设计时间。削减了手工将硬件说明翻译为原理图设计中可能显现的错误数量。在最优化原始的HDL 代码过程中应用了综合工具的自动技术(如机械编码类型、自动I/O 插入),从而使设计更有效率。可编辑资料 - - - 欢迎下载精品名师归纳总结使用 ModelSim 就可以在设计过程中对HDL进行仿真,以保证结果的正确性。它的特性如下:通过使用Direct Compile 结构,达到最快的编辑
14、速度和有竞争力的模拟性能。使用 Single Kernel Simulation ,将 VHDL和 Verilog 结合在一起。将 machine 和 Simulator 版本独立开来,以简化可携带性和库的爱护。Xilinx的 ISE 软件包含了最新的实现工具,可以用来创建有效简洁的设计。当综合完VHDL文件后,就会得到顶层的EDIF 文件(也有子层的EDIF 文件),将这些EDIF 文件作为 Xilinx Design Manager的输入源进行实现,它将翻译(Translate)、映射( Map )、布局布线( Place & Route)以及配置( Configure )该设计。最终得到
15、下载用的位流文件。它的时序驱动的布局布线特性答应用户为特定的路径指定自己的时序。静态时序分析能够削减设计步骤。能够在实现前后对设计进行验证。可以重新迭代从前的设计以缩短整个设计周期。利用 FPGA 实现 DSP 嵌入式系统,已有相互补充的软件设计工具,表 7-2 列出了在系统建模和设计、算法开发和优化、 HDL 仿真和产生及设计校验和诊断等不同设计阶段使用的软件。表 7-2FPGA 实现 DSP 的软件工具设计阶段系统建模和设计软件和功能Simulink :动态系统的多域仿真和基于模型设计的平台,供应交互的图形环境和定制的模块库集合软件公司MathWorksPlatform Studio :包
16、含广泛种类嵌入设计工具、和设计产生器的集成开发环境,IP 、库、引导卡Xilinx算法开发和优化HDL 仿真和产生MA TLAB :算法开发、数据可视化、数据分析及数值运算的高级技术运算语言和交互环境,DSP 综合工具供应 MA TLAB 与 system Generator或 ISE 之间的直接链接,自动产生可综合的RTL 模型和测试床Accelchip :直接由 C 语言的程序转换到 FPGA 的硬件ISE:设计者可用 VHDL 或 Verilog 设计,对 FPGA 编程,利用System Generator时,可按批作业模式调用Synthesis:综合工具 XST/Synplify P
17、ro 可低成本、高效率映射MathWorksXilinxXilinx Xilinx/Synplicity设计到 FPGA 硬件,按批作业模式选择他们来和SystemGenerator 一起使用ModelSim : System Generator供应必要的接口与 ModelSim 仿真Mentor Graphics设计校验和诊断器连接,可以利用它做HDL 协同仿真或实时的输入仿真结果到Simulink/System Generator 仿真ChipScope Pro:监视 FPGA 的内部测点,推测和诊断设计,探测结果可插入到 Simulink/System Generator 内Xilinx
18、 7.2FPGA 设计 DSP 技术ISE 实现软件、 System Generator 以及 MA TLAB/Simulink工具之间都有相互协作的版本问题,对于ISE8.1 以上的版本,要求相同序号的System Generator 版本,并协作使用MATLAB/Simulink7.2以上的版本,如R2006a 等。System Generator8.1 以上的版本,只要执行SysGenInstall.exe 的执行文件,安装时会自动找到 MA TLAB/Simulink( R2006a )的安装目录,将Xilinx的 Blockset 模块集安装到Simulink 中。7.2.1 浮点数
19、与定点数的表示与转换在设计仿真中 Simulink 是利用双精度数(double )表示数值,它是64 位 2 的补码浮点数,而双精度数对FPGA 是无效或不实际的。当利用有限位数来表示二进制数时,二进制点的位置确定了所表示数的范畴和精度,二者的关系是二进制点前面的位数多表示的数值的有效范畴大,精度就低,相反,二进制可编辑资料 - - - 欢迎下载精品名师归纳总结点后面的位数多,数值精度提高,数值有效范畴减小。例: 16 位数值 0001011001101011=213+210+29+26+25+23+2 1+20=4096+1024+512+64+32+8+2+1=5739表示此数需要的二进
20、制位数为N=log 10X / log 102 =log 105739 / log 102 = 3.7588 / 0.3010=12.4866取最靠近的整数为13 位。已知 16 进制的数值可以依据如下方式进行二进制变换和运算数值166B= 0001 0110 0110 1011=1*16 3+6*16 2+6*16 1+B*16 0=1*4096+6*256+6*16+11=5739对于 DSP 技术更好的方式懂得2 的补码数是将其符号表示位看作为原始的二进制数的相应的部分,这个要点是实现时只是这位有负的加权值,所以,2 的补码数值如下运算。11111111=- 27+26+2 5+24+2
21、3+22+21+2 0= - 128+64+32+16+8+4+2+1= - 128+127= - 110对于双精度的 64 位 2 的补码浮点数,由于二进制点可以移动,所以在9.233*10 18 之间的任何数都可以表示,精度为1.08*10 -19,也就是浮点数可以做到数值范畴大,精度高,这也是双精度的含义。由于硬件无法依据双精度的要求进行实现,所以要转换成N 位的定点数。在 Simulink 中 Xilinx的模块集有三种数据类型:1. 不带符号的 N 位定点数,表示为UFix_N_m ,其中 N 为二进制位数, m 为二进制点距离最低位的位置,最大精度为2 m。2. 带符号的 N 位定
22、点数,表示为Fix_N_m ,其中 N 为二进制位数, m 为二进制点距离最低位的位置 , 最大精度为 2 m。3. 布尔类型数,总是定义为0 或 1,作为把握口的使能(CE)或复位( reset),所以不行以设为无效。例:数值为 - 2.261108,表示为 Fix_16_13 的格式,101 1011110100101= - 22+20+2 -1+2 -3+2-4 +2-5 +2-6 +2-8+2-11+2-13 =- 4+1+0.5+0.125+0.0625+0.03125+0.015625+0.00390625+0.00048828125+0.0001220703125= - 2.26
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGADSP嵌入式系统方案设计书 FPGADSP 嵌入式 系统 方案设计
限制150内