第5章基于FPGA的DSP开发一.ppt

上传人:王** 文档编号:613780 上传时间:2023-12-08 格式:PPT 页数:48 大小:443KB
下载 相关 举报
第5章基于FPGA的DSP开发一.ppt_第1页
第1页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第2页
第2页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第3页
第3页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第4页
第4页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第5页
第5页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第6页
第6页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第7页
第7页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第8页
第8页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第9页
第9页 / 共48页
第5章基于FPGA的DSP开发一.ppt_第10页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第5章基于FPGA的DSP开发一.ppt》由会员分享,可在线阅读,更多相关《第5章基于FPGA的DSP开发一.ppt(48页珍藏版)》请在优知文库上搜索。

1、第第5章章 基于基于FPGA的的DSP开发技术开发技术vDSP Builder可以帮助用户完成基于可以帮助用户完成基于FPGA的的DSP系统设计,除了可以进行图形化的系统系统设计,除了可以进行图形化的系统建模外,建模外,DSP Builder还可以自动完成大部还可以自动完成大部分的设计过程和仿真,直至把设计文件下载分的设计过程和仿真,直至把设计文件下载到到FPGA芯片中。芯片中。v一方面,经由一方面,经由Matlab/DSP Builder和和 Quartus II软软件工具开发的件工具开发的DSP模块或其它功能模块可以成为单模块或其它功能模块可以成为单片片FPGA电路系统的一个组成部分,可以

2、承担一定电路系统的一个组成部分,可以承担一定的功能;的功能;v另一方面可以通过另一方面可以通过Matlab/DSP Builder,为,为Nios嵌嵌入式处理器设计各类加速器,并以指令的形式加入入式处理器设计各类加速器,并以指令的形式加入到到NIOS II的指令系统,从而成为的指令系统,从而成为Nios II系统的一个系统的一个接口设备,与整个片内嵌入式系统融为一体,即利接口设备,与整个片内嵌入式系统融为一体,即利用用DSP Builder和和Nios II CPU,用户可以根据项目,用户可以根据项目的具体要求,随心所欲地构建自己的的具体要求,随心所欲地构建自己的DSP处理器系处理器系统。统。

3、5.1 基于基于 MATLABDSP Builder的的DSP模块模块设计流程设计流程vDSP Builder是一个系统级(算法级)设计是一个系统级(算法级)设计工具,但同时它把系统级(算法仿真建模)工具,但同时它把系统级(算法仿真建模)和和RTL级(硬件实现)的设计工具连接起来,级(硬件实现)的设计工具连接起来,使算法开发到硬件的实现可以无缝地过渡。使算法开发到硬件的实现可以无缝地过渡。使用使用Matlab/DSP Builder进行进行DSP系统的开系统的开发必须要安装发必须要安装Matlab和和DSP Builder软件。软件。vDSP Builder设计包括两套流程:自动流程和手动流程

4、:设计流程的第一步设计流程的第一步v在在Matlab/Simulink中进行设计输入,在中进行设计输入,在Matlab/Simulink中建立一个模型文件(中建立一个模型文件(mdl文件),用图形方式调用文件),用图形方式调用DSP Builder和其和其它它Simulink库中的模块,构成系统级或算法库中的模块,构成系统级或算法级设计框图。利用级设计框图。利用Simulink的图形化仿真、的图形化仿真、分析功能,分析此设计模型的正确性,完成分析功能,分析此设计模型的正确性,完成模型仿真。第一步设计同一般的模型仿真。第一步设计同一般的Matlab/Simulink建模过程几乎没什么区别,建模过

5、程几乎没什么区别,所不同的是,设计采用了所不同的是,设计采用了DSP Builder库。库。设计流程设计流程第二步v通过通过SignalCompiler把把Simulink的模型文件的模型文件转化为硬件描述语言文件,以供其它的转化为硬件描述语言文件,以供其它的EDA(Quartus II、ModelSim 等)软件处理,这等)软件处理,这些软件不能直接处理些软件不能直接处理Matlab/Simulink产生的产生的模型文件,那么模型文件,那么DSP Builder中的中的SignalCompiler模块用于完成模型文件到硬模块用于完成模型文件到硬件描述语言文件的转换,转换之后的件描述语言文件的

6、转换,转换之后的HDL文文件是件是RTL级(寄存器传输级,即可综合的格级(寄存器传输级,即可综合的格式)。式)。设计流程的第三步v执行执行RTL级的仿真,级的仿真,DSP Builder 支持自动支持自动流程的流程的ModelSim仿真。用户也可以利用第仿真。用户也可以利用第二步产生的二步产生的VHDL文件使用其它的仿真工具文件使用其它的仿真工具软件手动地进行仿真。软件手动地进行仿真。设计流程的第四步v使用第二步使用第二步SignalCompiler产生的产生的VHDL文件进行文件进行RTL级的综合,网表产生和适配等处理,级的综合,网表产生和适配等处理,DSP Builder支持自动流程和手动

7、流程两种方式:自动支持自动流程和手动流程两种方式:自动流程中可以选择让流程中可以选择让DSP Builder自动调用自动调用Quartus II等等EDA软件来完成相应的工作;手动模式允许用户软件来完成相应的工作;手动模式允许用户选择相应的软件来完成相应的工作,手动模式需要选择相应的软件来完成相应的工作,手动模式需要更多的干预,同时提供了更大的灵活性,用户可以更多的干预,同时提供了更大的灵活性,用户可以指定综合、适配等过程的条件。指定综合、适配等过程的条件。v第三步和第四步可以不分先后。第三步和第四步可以不分先后。设计流程的第五步v在在Quartus II中编译用户的设计,最后将设中编译用户的

8、设计,最后将设计下载,进行测试验证。计下载,进行测试验证。v经过测试、验证的设计可以单独执行相应的经过测试、验证的设计可以单独执行相应的DSP功能。如果功能。如果DSP Builder产生的产生的DSP模模型只是整个设计中的一个子模块,那么可以型只是整个设计中的一个子模块,那么可以在设计中调用在设计中调用DSP Builder产生的产生的VHDL文件,文件,以构成完成的设计。以构成完成的设计。5.2 正弦发生器模块的设计正弦发生器模块的设计v通过本例的学习可以掌握通过本例的学习可以掌握DSP Builder的使用方法。的使用方法。这个简单的正弦波发生器,主要由这个简单的正弦波发生器,主要由4部

9、分构成:部分构成:IncCount是阶梯信号发生模块,产生一个按时钟线是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往性递增的地址信号,送往SinLUT。SinLUT是一个是一个正弦函数值的查找表模块,由递增的地址获得正弦正弦函数值的查找表模块,由递增的地址获得正弦波的离散值输出。由波的离散值输出。由SinLUT输出的输出的8位正弦波数据位正弦波数据经过一个延时模块经过一个延时模块Delay后,送往后,送往Product乘法模块,乘法模块,与与SinCtrl相乘,相乘,SinCtrl是一位输入,是一位输入,SinCtrl通过通过Product完成对正弦波输出有无的控制。完成对正弦波输

10、出有无的控制。SinOut是是整个正弦波发生器模块的输出,送往整个正弦波发生器模块的输出,送往D/A即可获得即可获得正弦波模拟输出信号。正弦波模拟输出信号。5.2.1 建立设计模型 v(1)运行)运行Matlab,Matlab的主窗口被分成的主窗口被分成3部分:部分:Command Window、Workspace/Current Directory、Command History。v(2)建立工作目录。在建立一个新的设计模型前,)建立工作目录。在建立一个新的设计模型前,先要建立一个文件夹,作为工作目录,来保存相应先要建立一个文件夹,作为工作目录,来保存相应的设计文件,在进行设计之前要先切换到

11、该文件夹的设计文件,在进行设计之前要先切换到该文件夹下。新建和切换到工作目录可以在命令窗口中使用下。新建和切换到工作目录可以在命令窗口中使用Matlab 命令,也可以在命令,也可以在Current Directory窗口中窗口中实现。实现。v(3)启动启动Simulink,建立模型。,建立模型。v在命令窗口中,键入在命令窗口中,键入Simulink,按回车键,启动,按回车键,启动Matlab图图形化仿真工具形化仿真工具Simulink,出现了,出现了Simulink Library Browser窗口,在窗口的左侧为窗口,在窗口的左侧为Simulink Library 列表,右列表,右侧窗口显

12、示的则是,被选中的库中的组件、子模块列表。安侧窗口显示的则是,被选中的库中的组件、子模块列表。安装完装完DSP Builder之后,在之后,在Simulink 库列表中可以看到库列表中可以看到Altera DSP Builder的库出现在列表中。在下面设计中,主的库出现在列表中。在下面设计中,主要使用该库中的组件、模块来完成各项设计,再使用要使用该库中的组件、模块来完成各项设计,再使用Simulink库来完成模型的仿真和验证。库来完成模型的仿真和验证。v 选择选择File菜单,然后单击菜单,然后单击new,在弹出的子菜单中选择,在弹出的子菜单中选择Model,出现了一个未命名的模型窗口。,出现

13、了一个未命名的模型窗口。v(4)放置放置 SignalCompiler。单击。单击Simulink库列表中的库列表中的Altera DSP,单击,单击Altlab项,使之展开。选中右侧窗口中项,使之展开。选中右侧窗口中的的SignalCompiler组件,按住鼠标左键拖放到新模型窗口组件,按住鼠标左键拖放到新模型窗口中。也可以单击右键,选择中。也可以单击右键,选择Add to untitled,这,这里里untitled是指我们新建的未命名的模型文件。是指我们新建的未命名的模型文件。v在选中在选中SignalCompiler模块后,在模块后,在Simulink窗口中的提示窗口中的提示栏里会显示

14、对应模块的说明,简单的功能介绍。可以看到栏里会显示对应模块的说明,简单的功能介绍。可以看到SignalCompiler的介绍为的介绍为“Converts Model Files to VHDL files.”即为进行模型文件即为进行模型文件mdl到到VHDL文件的转换,文件的转换,所以所以SignalCompiler是进行任何是进行任何DSP系统设计必须要添加系统设计必须要添加的模块。选中的模块。选中SignalCompiler选中选中Help for the SignalCompiler block。可以了解怎样使用。可以了解怎样使用SignalCompiler的具体信息。也可以按照此方法获

15、得其它的具体信息。也可以按照此方法获得其它的模块相应的帮助信息。的模块相应的帮助信息。v(5)添加)添加Increment Decrement模块。模块。Increment Decrement模块是模块是DSP Builder库中库中Arithmetic子库中的模块。选中子库中的模块。选中Altera DSP Builder中的中的Arithmetic子库,然后在子库,然后在其中选择其中选择Increment Decrement模块。然后模块。然后按照添加按照添加SignalCompiler的方法将的方法将Increment Decrement添加到模型文件中。添加到模型文件中。v(7)添加正

16、弦查找表。在Altera DSP Builder库的Gate&Control子库中找到查找表模块LUT,把LUT拖放到新建模型窗口,将LUT模块的名字修改为“SinLUT”。v双击SInLUT模块,打开模块参数设置对话框“Block Parameters:SinLUT”。把输出位宽设为8;查找表地址设为6;总线数据类型Bus Type选择为有符号整数 Signed Integer;在Matlab Array编辑框中输入计算查找表内容的计算式。在这里使用sin函数,sin函数的调用格式为:sin(起始值:步进值:结束值)vSinLUT是一个输入地址为6位,输出值位宽为8位的正弦查找表模块,且输入地址总线为有符号数,所以设置起始值为0,结束值为2,步进值为,计算式可写成:127*sin(0:2*pi/26:2*pi)v其中pi就是常数,这是Matlab中的语法。上式的数值变化范围是-127+127,恰好是8位二进制数可以表示的最大值,所以8位的输出值位宽可以表示上式所描述的正弦波形。v如果将SinLUT模块的总线数据类型设置为无符号整数Unsigned Integer,且输出位宽改为10,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 嵌入式开发

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!