




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章
DSPBuilder系统设计工具
6.1DSPBuilder安装6.2嵌入式DSP设计流程
6.3DSPBuilder设计过程
思考题
6.1DSPBuilder安装 6.1.1软件要求 使用DSPBuilder创建HDL设计需要有下面的软件支持:·
Matlab6.1或6.5版本;·
Simulink4.1或5.0版本;·
Quartus Ⅱ2.0以上版本;·
Synplify7.2以上版本或LeonardoSpectrum2002c以上版本(综合工具);
ModelSim5.5以上版本(仿真工具)。 6.1.2DSPBuilder软件的安装 在Windows98/NT/2000操作系统上安装DSPBuilder,其操作步骤如下: (1)关闭以下应用软件:Quartus Ⅱ、MAX+PLUS Ⅱ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。 (2)找到软件所在目录,双击DSPBuilder-v2.1.3.exe文件。 (3)在出现的安装向导中,根据提示操作即可完成DSPBuilder的安装。 如果在安装DSPBuilder之前还没有安装Matlab软件,则在DSPBuilder安装向导的最后将弹出如图6.1所示的对话框。图6.1DSPBuilder无法定位Matlab软件信息对话框 完成DSPBuilder安装之后,依据下面的操作步骤在Matlab软件中查看DSPBuilder的库: (1)启动Matlab软件。 (2)点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开SimulinkLibraryBrowser界面,如图6.2所示。 (3)在SimulinkLibraryBrowser界面中打开AlteraDSPBuilder文件夹。图6.2在Matlab中查看DSPBuilder库
DSPBuilder安装程序在磁盘上的目录结构如图6.3所示。图6.3DSPBuilder安装目录结构 6.1.3授权文件的安装 在使用DSPBuilder之前,必须得到Altera的授权文件。如果没有安装DSPBuilder的授权文件,用户只能用DSPBuilder模块建立Simulink模型,但不能生成硬件描述语言(HDL)文件或Tcl脚本文件。 注意:在安装DSPBuilder授权之前,必须已经安装了授权的Quartus Ⅱ软件。
1.授权文件安装 得到DSPBuilder授权文件后,可以直接将授权文件的内容粘贴到Quartus Ⅱ授权文件(license.dat)中,或在Quartus Ⅱ软件中单独指定DSPBuilder授权文件。 方法一:粘贴授权内容到QuartusⅡ授权文件中,其操作步骤如下: (1)关闭运行的下列应用软件:Quartus Ⅱ、MAX+PLUSⅡ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。 (2)在文本编辑器中打开DSPBuilder授权文件,其中包含FEATURE行。 (3)在文本编辑器中打开Quartus Ⅱ授权文件license.dat。 (4)从DSPBuilder授权文件中拷贝FEATURE行内容并粘贴到Quartus Ⅱ授权文件中。 (5)保存Quartus Ⅱ授权文件。 更新后的Quartus Ⅱ授权文件如图6.4所示。 方法二:在Quartus Ⅱ软件中指定DSPBuilder授权文件,其操作步骤如下: (1)将DSPBuilder的授权文件以一个不同的文件名单独保存,如dsp_builder_license.dat。 (2)启动Quartus Ⅱ软件。 (3)选择Tools→LicenseSetup命令,弹出Options对话框的LicenseSetup页面。 (4)在LicenseFile栏中,在已经存在的Quartus Ⅱ授权文件后面加一个分号“;”,在分号后面输入DSPBuilder授权文件所在的目录及文件名。 (5)点击OK按钮保存设置。图6.4在QuartusⅡ授权文件中粘贴DSPBuilder授权代码 2.授权有效性检查 安装好DSPBuilder授权文件以后,可以在Matlab软件中验证授权的功能是否有效。 1)单机版授权 在Matlab命令窗口输入下面的命令:
dos('lmutillmdiagC4D5_512A')
如果授权文件安装正确,则该命令产生的DSPBuilder授权状态输出如图6.5所示。图6.5单机版DSPBuilder授权状态输出 2)网络版授权 如果在授权文件中存在SERVER,在Matlab命令窗口输入下面的命令:
dos('lmutillmstat-a')
如果网络版授权文件安装正确,则该命令产生的DSPBuilder授权状态输出如图6.6所示。图6.6网络版DSPBuilder授权状态输出6.2嵌入式DSP设计流程
6.2.1DSP设计流程
AlteraDSP设计流程提供了系统级综合,并且为DSP系统的软、硬件分离设计提供了灵活性。另外,Altera支持基于硬件描述语言(HDL)和基于C/C++的设计流程。Altera的整套开发工具提供了完整的设计平台,包括DSPBuilder、SOPCBuilder和Quartus Ⅱ软件,允许用户在系统设计中提高性能,并获得软、硬件综合设计的灵活性。图6.7给出了AlteraDSP设计的总体流程图。图6.7AlteraDSP设计总体流程图 6.2.2DSPBuilder设计流程
DSP设计者可以使用DSPBuilder和Quartus Ⅱ软件单独进行硬件设计。DSPBuilder提供了一个无缝链接的设计流程,允许设计者在Matlab软件中完成算法设计,在Simulink软件中完成系统集成,然后通过SignalCompiler模块生成在Quartus Ⅱ软件中可以使用的硬件描述语言文件。使用DSPBuilder工具,设计者可以生成寄存器传输级(RTL)设计,并且在Simulink中自动生成RTL测试文件。这些文件是已经被优化的预验证RTL输出文件,可以直接用于AlteraQuartus Ⅱ软件中进行时序仿真比较。这种开发流程对于没有丰富可编程逻辑设计软件开发经验的设计者来说非常直观、易学。
DSPBuilder具备一个友好的开发环境,它可以通过帮助设计师创建一个DSP设计的硬件表示来缩短DSP开发的周期。现有的Matlab功能和Simulink块与Altera的DSPBuilder块和Altera的知识产权(IP)MegaCore功能块组合在一起,从而把系统级的设计和DSP算法的实现连接在一起。DSPBuilder允许系统、算法和硬件设计共享一个通用的开发平台。 在DSPBuilder中,设计者可以使用DSPBuilder中的块来为Simulink中的系统模型创建一个硬件。DSPBuilder中包含了按位和按周期精确的Simulink块,这些块覆盖了最基本的操作,例如运算和存储功能。通过使用MageCore功能,复杂的功能也可以被集成进来。MegaCore功能支持Altera的IP评估特性,用户在购买授权之前可以进行功能和时序上的验证。
(1)OpenCore使工程师能够不用任何花费在Quartus Ⅱ软件中测试IP核,但不能生成器件的编程文件,从而无法在硬件上测试IP核。 (2) OpenCorePlus是增强的OpenCore,可以支持免费在硬件上对IP进行评估。这个特性允许用户为包含了AlteraMageCore功能的设计产生一个有时间限制的编程文件。通过这个文件,设计者可以在购买授权许可之前就在板级对MegaCore功能进行验证。
DSPBuilder的SignalCompiler块读入Simulink模型文件(.mdl),该模型文件是用DSPBuilder和MegaCore块生成的,然后生成VHDL文件和Tcl脚本文件,用于综合、硬件的实现以及仿真。 图6.8所示为DSPBuilder的设计流程。图6.8DSPBuilder的设计流程6.3DSPBuilder设计过程
6.3.1创建Simulink设计模型 1.创建新模型 创建新模型的步骤如下: (1)启动Matlab软件。 (2)点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开SimulinkLibraryBrowser界面,如图6.2所示。 (3)选择File→New→Model命令,建立一个新的模型文件。 (4)选择File→Save命令,保存文件到指定文件夹中,在文件名栏中输入Singen.mdl。 2.加入SignalCompiler模块 (1)在SimulinkLibraryBrowser界面中,打开AlteraDSPBuilder文件夹。 (2)在AlteraDSPBuilder文件夹中选择AltLab库。 (3)拖动SignalCompiler模块到新建的模型文件中。 (4)用鼠标左键双击SignalCompiler模块,在弹出的对话框中点击Analyze按钮,弹出SignalCompilerVersion2.1.3对话框,如图6.9所示。图6.9加入SignalCompiler模块 (5)在SignalCompilerVersion2.1.3对话框中选择目标器件类型;指定综合工具,可选LeonardoSpectrum、Synplify或Quartus Ⅱ;选择优化条件,可选Speed或Area。 (6)点击OK按钮。 (7)选择File→Save命令保存文件。 3.为SignalCompiler指定综合软件路径信息 在设计模型文件中加入SignalCompiler模块以后,需要指定综合工具软件,如LeonardoSpectrum、Synplify或Quartus Ⅱ。默认情况下,SignalCompiler在执行综合过程中从PC机的注册表中查找指定综合软件所在的安装路径。如果综合过程中SignalCompiler找不到综合软件所在的路径,在Message栏中将提示综合失败。
DSPBuilder2.0以上版本允许用户为SignalCompiler指定综合工具路径。在<DSPBuilder安装目录>\Altlib文件夹中包含一个XML配置文件edaconfig.xml,其中包含SignalCompiler综合工具的路径信息。通过文本编辑器或任何XML编辑器可以修改这个配置文件。
XML配置文件中每个EDA工具有三种配置信息: ·<GetPathFromRegistry><onoroff></GetPathFromRegistry> ·
<ForcedPath><安装路径></ForcedPath><ToolVersion><版本号></ToolVersion> 其中<GetPathFromRegistry>部分可设置为on或off。默认为on,表示SignalCompiler从注册表文件中读取路径。当设为off时,SignalCompiler读取<ForcedPath>部分所指定的路径。
edaconfig.xml配置文件的内容如图6.10所示。图6.10edaconfig.xml配置文件 4.加入正弦波产生模块 (1)在SimulinkLibraryBrowser界面点击Simulink中的Sources库,从中找到SineWave模块。 (2)将SineWave模块拖动到Singen.mdl文件中。 (3)在SineWave模块上双击鼠标左键,弹出模块属性对话框,如图6.11所示。 (4)设置正弦波模块参数,点击OK确定。图6.11设置正弦波参数(幅度为16位,频率为500kHz) 5.加入总线端口模块AltBus
(1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)从库中选择AltBus模块,拖动到Singen.mdl文件中。 (3)点击AltBus模块下面的文本,将AltBus改为SinIn。 (4)双击SinIn模块,弹出模块参数对话框,如图6.12所示,在该对话框中可以设置16位整型输入总线。 (5)设置模块参数,点击OK按钮确定。图6.12模块参数对话框 6.加入延时模块 (1)在AlteraDSPBuilder文件夹中选择Storage库。 (2)选择Delay模块,拖动到Singen.mdl文件中。 (3)双击Delay模块,在弹出的模块参数对话框中指定延时深度,如图6.13所示。 (4)点击OK按钮确认。图6.13指定延时深度 7.加入正弦波延时输出总线模块 (1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)选择AltBus模块,将其拖动到Singen.mdl文件中。 (3)修改AltBus模块的名称为SinDelay。 (4)双击SinDelay模块,在模块参数对话框中选择NodeType为OutputPort。 (5)选择[numberofbits]为16位,并点击OK按钮确定。 8.加入多路复用MUX模块 (1)在SimulinkLibraryBrowser界面中选择Simulink下面的SignalRouting库。 (2)选择Mux模块,将其拖动到Singen.mdl文件中。 (3)双击Mux模块,设置模块参数,如图6.14所示。 (4)点击OK按钮确定。图6.14加入Mux模块并设置其参数 9.加入随机数模块 (1)在SimulinkLibraryBrowser界面中选择Simulink下面的Sources库。 (2)选择RandomNumber模块,将其拖动到Singen.mdl文件中。 (3)双击RandomNumber模块,设置模块参数,如图6.15所示,并点击OK确定。图6.15设置随机数模块参数 10.加入噪声总线模块 (1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)选择AltBus模块,将其拖动到Singen.mdl文件中。 (3)修改AltBus模块的名称为Noise。 (4)双击Noise模块,在模块参数对话框中选择BusType为SingleBit。 (5)选择[numberofbits]为1位,并点击OK按钮确定。 11.加入BusBuild总线模块 (1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)选择BusBuild模块,将其拖动到Singen.mdl文件中。 (3)双击BusBuild模块,设置模块参数,如图6.16所示,点击OK按钮确定。图6.16BusBuild总线模块参数设置 12.加入GND模块 (1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)选择GND模块,将其拖动到Singen.mdl文件中。 13.加入乘法器(Product)模块 (1)在AlteraDSPBuilder文件夹中选择Arithmetic库。 (2)选择Product模块,将其拖动到Singen.mdl文件中。 (3)双击Product模块,设置模块参数,如图6.17所示,点击OK按钮确定。图6.17乘法器模块参数设置 14.加入乘法器输出总线模块 (1)在AlteraDSPBuilder文件夹中选择BusManipulation库。 (2)选择AltBus模块,将其拖动到Singen.mdl文件中。 (3)修改AltBus模块的名称为StreamMod。 (4)双击StreamMod模块,在模块参数对话框中选择BusType为SignedInteger,NodeType为OutputPort,[numberofbits]为19位,并点击OK按钮确定。 15.加入示波器模块 (1)在SimulinkLibraryBrowser界面中选择Simulink下面的Sinks库。 (2)选择Scope模块,将其拖动到Singen.mdl文件中。 (3)双击Scope模块,弹出Scope波形显示对话框。 (4)点击参数设置快捷按钮,在General标签页的Numberofaxes框中输入3,即以同一时间轴同时显示3个信号波形,如图6.18所示,点击OK按钮确定。图6.18示波器显示模块设置 16.连线 将所有模块全部插入Singen.mdl模型文件后,按照图6.19所示连接模块,完成模型文件的设计。图6.19幅度调制设计实例的模型文件 6.3.2Simulink设计模型仿真 连接好整个设计模型以后,可以在Simulink软件中仿真设计模型。 (1)选择Simulation→SimulationParameters命令,弹出仿真参数设置对话框。 (2)在Simulationtime栏中的Stoptime框中输入0.000004(或4e-6),显示2个信号周期(160个采样点),其他参数采用默认设置,如图6.20所示。图6.20仿真参数设置 (3)点击OK按钮退出仿真参数设置对话框。 (4)选择Simulation→Start命令,或按下Ctrl+T键启动仿真。 (5)双击模型文件中的Scope模块,打开示波器显示窗口。 (6)点击示波器显示窗口工具条上的自动范围按钮,则波形显示如图6.21所示。图6.21Singen.mdl实例仿真波形 6.3.3完成RTL级仿真 完成Simulink软件中的模型设计,仿真成功以后,双击模型设计文件中的SignalCompiler模块,弹出SignalCompilerVersion2.1.3对话框,点击Analyze按钮,弹出如图6.22所示的对话框。为了生成模型设计文件的RTL级仿真文件,应完成下面的步骤: (1)在图6.22所示的对话框中,点击1-ConvertMDLtoVHDL按钮,在Messages框中将出现以下提示信息: >Generatedtoplevel'singen.vhd'files >See'singen_DspBuilder_Report.html'reportfileforadditionalinformation (2)在可选择的标签页中选择Testbench标签页,选中GenerateStimuliforVHDLTestbench选项,如图6.22所示。 (3)点击OK按钮确认以上操作。 (4)在Simulink软件中启动仿真,SignalCompiler生成一个仿真脚本文件和一个VHDL测试台文件,分别为Tb_SinGen.tcl和Tb_SinGen.vhd。 在ModelSim软件中完成RTL仿真,操作步骤如下: (1)启动ModelSim软件。 (2)选择File→ChangeDirectiory命令,指定工作目录。 (3)选择Tools→ExecuteMacro…命令(不同的ModelSim版本菜单项可能不同)。图6.22产生VHDL及仿真文件 (4)在ExecuteDoFile对话框中选择tb_singen.tcl脚本文件,点击打开按钮,ModelSim开始执行脚本文件,最后的结果在波形窗口显示,如图6.23所示。图6.23ModelSim仿真波形窗口(数字显示)
ModelSim波形可以用数字或模拟两种方式显示。在波形窗口的信号名上双击鼠标左键,或点击鼠标右键选择SignalProperties,则弹出波形信号属性对话框,如图6.24所示。选择Format标签页,并选择Analog选项,此时AnalogDisplay设置框有效。在Scale框中输入合适的比例值,在Height框中输入合适的波形高度值,点击OK按钮确定,波形显示方式变为模拟形式,如图6.25所示。可以将该波形与图6.21在Simulink中仿真的波形进行比较。图6.24ModelSim波形信号属性对话框图6.25ModelSim仿真波形窗口(模拟显示) 6.3.4Simulink模型设计的综合与编译 对于DSPBuilder设计,Altera提供自动和手动两种综合、编译流程。如果DSPBuilder模型是顶层设计,则两种综合与编译流程都可以使用;如果DSPBuilder模型不是顶层设计,而是非DSPBuilder硬件设计中的一个独立模块,则只能使用手动综合、编译流程,在DSPBuilder软件之外建立顶层编译设置,包括: ·
将DSPBuilder模型生成的VHDL文件加入顶层综合工程。 ·
将所有用到的IP库加入Quartus Ⅱ工程。 这些工作可以通过SignalCompiler生成的对应综合工具的Tcl文件完成。 1.自动综合、编译
SignalCompiler可以将设计模型文件(如SinGen.mdl)中的每个AlteraDSPBuilder模块映射为DSPBuilderVHDL库。自动综合、编译流程可以直接在Simulink软件中,使用SignalCompilerVersion2.1.3对话框中HardwareCompilation框中的按钮操作,后台完成模型设计的综合、编译过程。 (1)在Simulink的设计模型文件中(如SinGen.mdl)双击SignalCompiler模块。 (2)点击Analyze按钮,弹出SignalCompilerVersion2.1.3对话框。 (3)在Device列表中选择目标器件系列,如Stratix。 (4)在Synthesis列表中选择综合工具,如LeonardoSpectrum,也可以选择Quartus Ⅱ软件综合工具。 (5)在Optimization列表中选择优化条件,如Speed。 (6)点击按钮1-ConvertMDLtoVHDL,由模型设计生成VHDL文件。 (7)点击按钮2-Synthesize,使用指定的综合工具开始综合设计。 (8)点击按钮3-Quartus Ⅱ,使用Quartus Ⅱ软件编译设计。 (9)所有步骤完成之后,点击OK按钮退出SignalCompilerVersion2.1.3对话框。 上面每个操作过程在Message框中都有对应的信息显示,如图6.26所示。图6.26SignalCompiler自动完成综合、编译过程 2.手动综合、编译 当要完成下面的操作时,必须进行手动综合和编译过程: (1)使用其他综合工具软件(SignalCompiler可选综合工具软件有LeonardoSpectrum、Synplify和Quartus Ⅱ)。 (2)在综合工具或Quartus Ⅱ软件中指定特殊的综合设置,如LogicLock功能或时间驱动编译。 1)手动综合 在这里以LeonardoSpectrum综合工具为例,说明如何手动综合由Simulink模型文件生成的VHDL文件。步骤如下: (1)在Simulink的设计模型文件中(如SinGen.mdl)双击SignalCompiler模块。 (2)点击Analyze按钮,弹出SignalCompilerVersion2.1.3对话框。 (3)点击按钮1-ConvertMDLtoVHDL,则SignalCompiler将模型设计生成VHDL文件。 (4)点击OK按钮关闭SignalCompilerVersion2.1.3对话框。 (5)启动综合工具软件,如LeonardoSpectrum软件。 对于SignalCompiler模块中支持的综合工具来说,SignalCompiler自动生成综合软件的Tcl脚本文件,如SinGen_leo.tcl(LeonardoSpectrum软件)、SinGen_spl.tcl(Synplify软件)、SinGen_quartus.tcl(Quartus Ⅱ软件)。可以在综合工具软件中直接执行对应的Tcl脚本文件完成综合。如启动LeonardoSpectrum综合软件以后,选择File→RunScript命令,在弹出的对话框中选择SinGen_leo.tcl脚本文件,则LeonardoSpectrum自动执行脚本文件中的Tcl命令,完成对SinGen.vhd文件的综合。 如果不直接执行Tcl脚本文件,则继续进行下面的步骤: (6)在综合工具软件中加入DSPBuilder模块映射库文件:<DSPBuilder安装目录>\DSPBuilder\AltLib\DSPBUILDERPACK.VHD (7)在综合工具软件中加入并打开由SignalCompiler生成的VHDL文件,如SinGen.vhd。 (8)在综合工具软件中完成综合,结果如图6.27所示。图6.27在LeonardoSpectrum软件中完成手动综合结果 2)在Quartus
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮设备安全检查
- 高分攻略:特许金融分析师考试
- 全方位学习特许金融分析师试题
- 餐饮卫生检查制度
- 依托案例分析2024年CFA试题及答案
- 小盲人作文课件
- 光伏行业的看法
- CFA考试心理准备试题及答案探讨
- 大班健康防溺水课件
- 2024年特许金融分析师考试“易错题”及答案
- 护理评估量表及注意事项
- (完整word)中考语文作文评分标准表
- 非煤矿山通用三级安全教育培训资料公司级
- FMCW数字雷达高度表接收机射频前端设计的中期报告
- 男士衬衫工艺制作标准
- 本科教学工作审核评估教学经费分项整改总结报告
- 房地产企业华润置地“十三五”战略规划及2017年商业计划书
- 债权债务转让三方协议
- 基于泛在电力物联网全过程基建管理智慧工地建设方案
- 国际生物组织联合会
- 不要分送弹性力学(徐芝纶)课后习题及答案
评论
0/150
提交评论