- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 基于FPGA的DSP开发技术 DSP Builder可以帮助用户完成基于FPGA的DSP系统设计,除了可以进行图形化的系统建模外,DSP Builder还可以自动完成大部分的设计过程和仿真,直至把设计文件下载到FPGA芯片中。 一方面,经由Matlab/DSP Builder和 Quartus II软件工具开发的DSP模块或其它功能模块可以成为单片FPGA电路系统的一个组成部分,可以承担一定的功能; 另一方面可以通过Matlab/DSP Builder,为Nios嵌入式处理器设计各类加速器,并以指令的形式加入到NIOS II的指令系统,从而成为Nios II系统的一个接口设备,与整个片内嵌入式系统融为一体,即利用DSP Builder和Nios II CPU,用户可以根据项目的具体要求,随心所欲地构建自己的DSP处理器系统。 5.1 基于 MATLAB/DSP Builder的DSP模块设计流程 DSP Builder是一个系统级(算法级)设计工具,但同时它把系统级(算法仿真建模)和RTL级(硬件实现)的设计工具连接起来,使算法开发到硬件的实现可以无缝地过渡。使用Matlab/DSP Builder进行DSP系统的开发必须要安装Matlab和DSP Builder软件。 DSP Builder设计包括两套流程:自动流程和手动流程: 设计流程的第一步 在Matlab/Simulink中进行设计输入,在Matlab/Simulink中建立一个模型文件(mdl文件),用图形方式调用DSP Builder和其它Simulink库中的模块,构成系统级或算法级设计框图。利用Simulink的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。第一步设计同一般的Matlab/Simulink建模过程几乎没什么区别,所不同的是,设计采用了DSP Builder库。 设计流程第二步 通过SignalCompiler把Simulink的模型文件转化为硬件描述语言文件,以供其它的EDA(Quartus II、ModelSim 等)软件处理,这些软件不能直接处理Matlab/Simulink产生的模型文件,那么DSP Builder中的SignalCompiler模块用于完成模型文件到硬件描述语言文件的转换,转换之后的HDL文件是RTL级(寄存器传输级,即可综合的格式)。 设计流程的第三步 执行RTL级的仿真,DSP Builder 支持自动流程的ModelSim仿真。用户也可以利用第二步产生的VHDL文件使用其它的仿真工具软件手动地进行仿真。 设计流程的第四步 使用第二步SignalCompiler产生的VHDL文件进行RTL级的综合,网表产生和适配等处理,DSP Builder支持自动流程和手动流程两种方式:自动流程中可以选择让DSP Builder自动调用Quartus II等EDA软件来完成相应的工作;手动模式允许用户选择相应的软件来完成相应的工作,手动模式需要更多的干预,同时提供了更大的灵活性,用户可以指定综合、适配等过程的条件。 第三步和第四步可以不分先后。 设计流程的第五步 在Quartus II中编译用户的设计,最后将设计下载,进行测试验证。 经过测试、验证的设计可以单独执行相应的DSP功能。如果DSP Builder产生的DSP模型只是整个设计中的一个子模块,那么可以在设计中调用DSP Builder产生的VHDL文件,以构成完成的设计。 5.2 正弦发生器模块的设计 通过本例的学习可以掌握DSP Builder的使用方法。这个简单的正弦波发生器,主要由4部分构成:IncCount是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往SinLUT。SinLUT是一个正弦函数值的查找表模块,由递增的地址获得正弦波的离散值输出。由SinLUT输出的8位正弦波数据经过一个延时模块Delay后,送往Product乘法模块,与SinCtrl相乘,SinCtrl是一位输入,SinCtrl通过Product完成对正弦波输出有无的控制。SinOut是整个正弦波发生器模块的输出,送往D/A即可获得正弦波模拟输出信号。 5.2.1 建立设计模型 (1)运行Matlab,Matlab的主窗口被分成3部分:Command Window、Workspace/Current Directory、Command History。 (2)建立工作目录。在建立一个新的设计模型前,先要建立一个文件夹,作为工作目录,来保存相应的设计文件,在进行设计之前要先切换到该文件夹下。新建和切换到工作目录可以在命令窗口中使用Matlab 命令,也可以在Current Directory窗口中实现。 (3) 启动Simulink,建立模型。 在命令窗口中
文档评论(0)