第七章 基于System Generator的DSP系统开发技术_第1页
第七章 基于System Generator的DSP系统开发技术_第2页
第七章 基于System Generator的DSP系统开发技术_第3页
第七章 基于System Generator的DSP系统开发技术_第4页
第七章 基于System Generator的DSP系统开发技术_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章 基于(jy)System Generator的DSP系统开发技术 System Generator简介System Generator安装System Generator基础(jch)Simulink 简介AccelDSP 简介基于System Generator的DSP系统设计基于System Generator的硬件协仿真共五十七页System Generator简介(jin ji)FPGA是理想的高性能数字信号处理器件包含了逻辑资源,还有多路复用器、存储器、硬核乘加单元以及内嵌的处理器等设备,还具备高度并行计算的能力;特别适合于完成数字滤波、快速傅立叶变换等。FPGA并未在数字信

2、号处理领域获得广泛应用 (?) 大部分DSP设计者通常对C语言或MATBLAB工具很熟悉(shx) ,不了解硬件描述语言VHDL和Verilog HDL ;部分DSP工程师认为对HDL语言在语句可综合方面的要求限制了其编写算法的思路。 共五十七页System Generator简介(jin ji)System Generator for DSP Xilinx简化FPGA数字处理系统的集成开发工具; 和Simulink(MathWorks公司产品)实现无缝链接,利用Simulink建模和仿真环境来实现FPGA设计,无需了解和使用 RTL级硬件语言; Xilinx公司XtremeDSP解决方案的关

3、键组成,集成了先进的FPGA设计工具以及IP 核,支持(zhch)Xilinx公司全系列的FPGA芯片;可作为MATLAB软件中的一个硬件设计工具包。 共五十七页System Generator简介(jin ji)共五十七页System Generator简介(jin ji)System Generator的主要特征 可在MATLAB/Simulink环境(hunjng)下对算法以及系统建模,并生成相应的工程;再调用ISE相应的组件进行仿真、综合、实现,并完成芯片的配置。 共五十七页System Generator简介(jin ji)System Generator的主要(zhyo)特征 丰富

4、的DSP模块信号处理(如FIR滤波器、FFT)纠错(如Viterbi 解码器、Reed-Solomon编码器/解码器)算法存储器(如FIFO、RAM、ROM)数字逻辑功能的Xilinx模块集使用户导入.m函数及HDL模块 Simulink设计的VHDL或Verilog的自动代码生成 硬件协仿真 FPGA 在环路(FPGA-in-the-loop),加速用户的硬件验证工作并加速其在Simulink与MATLAB中的仿真 嵌入式系统的硬件/软件协设计 直接加载Xilinx公司的MicroBlaze 32位 RISC处理器,甚至构建和调试DSP协处理器 共五十七页System Generator安装

5、(nzhung)软件环境 (以System Generator 9.1为例)MATLAB v7.3/Simulink v6.5(R2006b)或MATLAB v7.4/ Simulink v6.6(R2007a)。MATLAB软件的安装路径上不能出现空格。ISE版本(bnbn)为9.1.01i或者更高版本(bnbn),ISE Simulator的版本(bnbn)为完全版; System Generator软件版本必须和ISE版本一致。IP核库的版本为ISE IP 9.1i Update 1或者更高版本。 系统环境变量$XILINX必须设置为ISE的安装目录。 综合工具Synplify Pro的

6、版本为v8.6.2或v8.8.0.4; 仿真工具ModelSim的版本至少为PE或SE v6.1f以及更高版本。 共五十七页System Generator安装(nzhung)与MATLAB关联(gunlin) 共五十七页System Generator基础(jch)典型的System Generator设计流程浮点算法开发定点(dn din)算法实现硬件系统设计代码优化共五十七页System Generator基础(jch)浮点运算开发利用MATLAB软件及其提供的工具包快速地完成浮点算法的开发、验证以及性能评估(pn );借助于Simulink可快速完成原型设计和模型分析。定点算法实现 将

7、MATLAB浮点算法通过AccelDSP在Xilinx器件上实现定点逻辑 ;AccelDSP直接将浮点MATLAB算法的M-文件自动生成可综合的RTL模型,自动进行浮点-定点转换,生成可综合的VHDL或Verilog HDL设计,并创建用于验证的测试平台。 共五十七页System Generator基础(jch)硬件系统设计与实现 定义使用Xilinx IP的详细硬件架构,采用System Generator for DSP 划分协处理器和可编程器件之间的设计 ;会生成下列文件:设计所对应的HDL程序代码;时钟处理模块,包括系统时钟处理操作以及生成设计中所需的不同频率的时钟信号; 用于测试设计

8、的HDL测试代码,可直接将其仿真结果和Simulink输出比较(bjio); 工程文件以及综合、实现过程所产生的各种脚本文件。共五十七页System Generator基础(jch)代码优化 利用(lyng)ISE RTL设计环境生成优化的FPGA设计;不仅要熟悉算法的架构、瓶颈,还需精通RTL设计; 属于高级应用,直接对RTL进行修改和优化。共五十七页Simulink简介(jin ji)Simulink是MATLAB的组件安装程序会自动将其安装到MATLAB目录下; Simulink的运行需要(xyo)MATLAB后台的支持,因此必须要安装MATLAB软件。 工具栏点击或者命令启动共五十七页

9、Simulink简介(jin ji)Simulink工作(gngzu)原理模型初始化 模型执行 一般模型是使用数值积分来进行仿真; 仿真结束时,模型得出系统的输入、状态和输出 。共五十七页Simulink设计(shj)示例例 建立一个调幅(AM)系统,信号频率为100KMHz,载波频率为1MHz,调幅系数为0.5,并在示波器中显示出来。启动Simulink;新建一个模型, “New Model”命令新模型保存为am.mdl;从Simulink library Browser中加入基本模块 ;连接各个模块 ;在工具栏点击运行(RUN)图标 ,再直接点击Scope模块即可观察(gunch)运行结果

10、 。 共五十七页Simulink设计(shj)示例共五十七页AccelDSP简介(jin ji) AccelDSPAccelDSP是一款第三方综合软件,可将MATLAB浮点算法转换成为可综合RTL代码 ;Xilinx AccelDSP是目前业界唯一(wi y)能够将MATLAB浮点算法转换成为可综合RTL代码的开发工具; 自动地进行浮点-定点转换,生成可综合的VHDL或Verilog代码,并创建用于验证的测试平台; 可以生成定点C+模型或由MATLAB算法得到System Generator块 ;Xilinx XtremeDSP解决方案的重要组成部分。 共五十七页AccelDSP简介(jin

11、ji)AccelWare 包含一系列参数DSP模块的IP库;可以综合成为RTL代码(VHDL或Verilog)。 AccelWare IP(包含三个专用工具箱)信号处理(xn ho ch l)工具包:FIR 滤波器、CIC 抽取滤波器、CIC内插滤波器、多相抽取滤波器、半带 FIR 滤波器、FFT 以及IFFT等; 通信工具包:直接数字合成器、BCH 编码器和解码器、卷积交织器和去交织器、卷积编码器、Reed-Solomon 编解码器、Viterbi解码器、开方升余弦滤波器、加扰器、解扰器以及ADC采样-保持电路/正弦比较滤波器等; 高级数学运算工具包:QR分解法、Cholesky分解法、QR

12、求逆、Cholesky求逆、三角形矩阵求逆、特定排列旋转、多项式求值、奇异值分解以及QRD-RLS空间滤波器等。 共五十七页基于System Generator的DSP系统(xtng)设计Xilinx Blockset库System Generator和Simulink是无缝链接的,可以在MATLAB标准工具栏中直接启动;在Simulink环境中,只有通过Xilinx模块搭建的系统才能保证(bozhng)硬件可实现,类似于HDL语言中的可综合语句。 共五十七页基于System Generator的DSP系统(xtng)设计System Generator库 共五十七页基于(jy)System

13、Generator的DSP系统设计基本单元(dnyun)模块 包含了数字逻辑的标准组件模块 ;可插入时间延迟、改变信号速率、引入常数、计数器以及多路复用器等 ;包含了3个特殊的模块System Generator标志、黑盒子模块(Black Box)以及边界定义模块 。共五十七页基于System Generator的DSP系统(xtng)设计通信模块 提供了用于实现(shxin)数字通信的各种函数 共五十七页基于System Generator的DSP系统(xtng)设计控制(kngzh)逻辑模块 创建各种控制逻辑和状态机的资源 包括逻辑表达式、软核控制器、复用器以及存储器 共五十七页基于(j

14、y)System Generator的DSP系统设计数据类型模块 用于信号(xnho)的数据类型转换 包括移位、量化、并/串、串/并转换以及精度调整模块 共五十七页基于System Generator的DSP系统(xtng)设计DSP模块(m kui) System Generator的核心 包含了所有常用的DSP模块 共五十七页基于System Generator的DSP系统(xtng)设计数学运算模块 丰富的数学运算库 包括基本四则运算、三角运算以及(yj)矩阵运算等 共五十七页基于System Generator的DSP系统(xtng)设计存储器模块 包含(bohn)了所有Xilinx存

15、储器的Logic Core 共五十七页基于System Generator的DSP系统(xtng)设计共享储存器模块(m kui)主要用于共享存储器操作 共五十七页基于System Generator的DSP系统(xtng)设计工具模块ModelSim、ChipScope、资源评估(pn )等模块以及算法设计阶段的滤波器设计等 共五十七页基于System Generator的DSP系统(xtng)设计FPGA边界定义模块 通过两个标准模块“Gateway In”和“Gateway Out”来定义Simulink仿真(fn zhn)模型中FPGA的边界;Gateway In模块标志着FPGA边界

16、的开始,能够将输入的浮点转换成定点数;Gateway Out模块标志着FPGA边界的结束,将芯片的输出数据转换成双精度数。 共五十七页基于System Generator的DSP系统(xtng)设计System Generator标志每个System Generator应用框图都必须(bx)至少包含一个System Generator标志;用来驱动整个FPGA实现过程,不与任何模块相连 ;打开属性编辑框,能够设置目标网表、器件型号、目标性能以及系统时钟频率等指标 。 共五十七页基于System Generator的DSP系统(xtng)设计建立简易的DSP设计例 使用System Genera

17、tor建立一个3输入(a、b、c)的DSP4模块的计算电路,使得输出p = c + a * b,并利用标准的Simulink模块对延迟电路进行功能验证。1.建立一个新的Simulink模型,并保存为mydsp.mdl。 2.选择Xilinx DSP48模块,拖到mydsp.mdl;按照同样的方法添加边界定义模块以及System Generator标志(biozh)模块。3. 添加Simulink标准库中的常数模块(Constant)和显示器(Display)模块。其中常数模块用于向DSP计算电路灌数据,作为测试激励;显示器则用于观测输出数据。共五十七页基于System Generator的DS

18、P系统(xtng)设计4. 连接模块Xilinx模块之间的端口可以(ky)直接相互连接Xilinx模块和非Xilinx模块之间的连接需要Gateway连接共五十七页基于(jy)System Generator的DSP系统设计5. 设定系统(xtng)参数多数选项与ISE开发中选项相同;“Create testbench”,自动生成设计的测试代码。 共五十七页基于System Generator的DSP系统(xtng)设计6.设置关键模块参数 Gataway In模块属性可查看输入(shr)数据位宽和量化规则 共五十七页基于(jy)System Generator的DSP系统设计7. 运行测试(

19、csh)激励运行Simulink仿真,可以看到显示器输出为18,表明设计的功能是正确的。 8. 生成HDL代码 共五十七页基于(jy)System Generator的DSP系统设计相应的文件夹“netlist sysgen”子目录中“nonleaf_results.v”可作为(zuwi)子模块直接使用生成的部分代码段共五十七页基于System Generator的DSP系统(xtng)设计System Generator中的信号类型 “Format” 菜单中的“Port/Signal Display Port Data Types”命令,来显示所有端口的数据类型,形象显示整个系统(xtng)

20、的数据精度。可根据输入端口的数据类型来确定输出数据类型 。允许设计人员自定义模块的输入、输出数据的量化效果以及饱和处理。Simulink中的连续时间信号,还必须经过“Gateway In”模块的采样转换才能使用。 共五十七页基于System Generator的DSP系统(xtng)设计自动代码生成 System Generator能够自动地将设计编译为低级的HDL描述,且编译方式多样,取决于System Generator标志中的设置。 还需要生成一些辅助下载(xi zi)的文件工程文件、约束文件等,以及用于验证的测试代码。详见7.3.3节。 共五十七页基于(jy)System Genera

21、tor的DSP系统设计编译MATLAB设计生成FPGA代码两种方法将MATLAB设计.m文件转化(zhunhu)为HDL设计 :利用AccelDSP综合器 :多应用于复杂或高速设计中,常用来完成高层次的IP核开发。 直接接利用MCode模块:支持MATLAB语言的有限子集,实现算术运算、有限状态机和逻辑控制等。要使用MCode模块,必须实现编写.m函数,且代码文件必须和System Generator模型文件放在同一个文件夹中,或者处于MATLAB路径上的文件夹中。 共五十七页基于System Generator的DSP系统(xtng)设计例 使用(shyng)MATLAB编写一个简单的移位寄

22、存器完成对输入数据乘8以及除以4的操作,并使用(shyng)MCode将其编译成System Generator直接可用的定点模块。1相关的.m函数代码为:共五十七页基于System Generator的DSP系统(xtng)设计2. 新建System Generator设计,添加MCode模块通过Browse按键将 .m函数和模型设计关联(gunlin)起来 共五十七页基于(jy)System Generator的DSP系统设计3. 添加边界模块(m kui)、Sytem Generator模块(m kui)、正弦波测试激励以及示波器模块(m kui) 共五十七页基于(jy)System G

23、enerator的DSP系统设计4.运行仿真,正确(zhngqu)实现了.m文件的功能。左图将信号放大了8倍,右图将信号缩小了4倍。 共五十七页基于(jy)System Generator的DSP系统设计5. 自动(zdng)代码生成共五十七页基于(jy)System Generator的DSP系统设计子系统的建立和使用简介 建立子系统的方法是利用NGC二进制网表文件 ;将System Generator设计封装成单独的二进制模块,综合工具将其作为黑盒子看待;管脚约束不能在Gataway模块中定义(dngy);同样时钟管脚不能在System Generator模块中定义;通过网表编辑器来指定物

24、理约束 。详见7.3.5节。 共五十七页基于(jy)System Generator的硬件协仿真硬件协仿真通过在硬件上模拟部分设计,大大提高仿真的速度(通常可以(ky)提高一个甚至多个数量级); 一旦将设计编译成FPGA比特流文件,System Generator会自动创建一个新的硬件协仿真模块,同时还会生成一个Simulink库来存储生成的模块 。此部分相对复杂,通常为高级应用所使用,请参考7.4节的使用方法。共五十七页逻辑(lu j)与计算机设计基础共五十七页逻辑与计算机设计(shj)基础第1章 数字计算机与信息1.1 数字计算机1.2 数值(shz)系统1.3 算术运算1.4 十进制码1

25、.5 格雷码1.6 字母数字码1.7 本章小结参考文献习题共五十七页逻辑(lu j)与计算机设计基础第2章 组合逻辑电路2.1 二值逻辑和门2.2 布尔代数2.3 标准式2.4 两级电路优化2.5 卡诺图化简2.6 多级电路优化2.7 其他的门类型2.8 异或操作符和异或门2.9 高阻输出(shch)2.10 本章小结参考文献习题共五十七页逻辑(lu j)与计算机设计基础第3章 组合逻辑设计3.1 设计的概念和设计自动化3.2 设计空间3.3 设计过程3.4 工艺映射3.5 验证3.6 可编程实现技术(jsh)3.7 本章小结参考文献习题共五十七页逻辑(lu j)与计算机设计基础第4章 组合函数及相应电路4.1 组合电路4.2 基本的逻辑函数4.3 译码4.4 编码(bin m)4.5 选取4.6 组合函数实现4.7 组合电路的HDL描述VHDL4.8 组合电路的HDL描述Verilog4.9 本章小结参考文献习题共五十七页逻辑与计算机设计(shj)基础第5章 算术运算函数及相应电路5.1 迭代式组合电路5.2 二进制加法器5.3 二进制减法5.4 二进制加法减法器5.5 二进制乘法5.6 其他算术运算函数5.7 HDL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论