1.说明DSPBuilder的主要功能DSPBuilder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期。已有的MATLAB函数和Simulink模块可以和AlteraDSPBuilder模块以及Altera知识产权(IP)MegaCore功能相结合,将系统级设计实现和DSP算法开发相链接。DSPBuilder支持系统、算法和硬件设计共享一个公共开发平台。设计人员可以使用DSPBuilder模块迅速生成Simulink系统建模硬件。DSPBuilder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSPBuilder模型中的MegaCore功能实现复杂功能的集成。Altera还提供DSPBuilder高级模块集,这一Simulink库实现了时序驱动的Simulink综合。AlteraMegaCore是高级参数化IP功能,例如有限冲击响应(FIR)滤波器和快速傅立叶变换(FFT)等,经过配置能够迅速方便的达到系统性能要求。MegaCore功能支持Altera的IP评估特性,使您在购买许可之前,便可以验证功能及其时序。AlteraIPMegaStore网站上为DSPBuilder和IP评估流程提供DSPIP完整介绍DSPBuilderSignalCompiler模块读取由DSPBuilder和MegaCore模块构建的Simulink建模文件(.mdl),生成VHDL文件和工具命令语言(Tcl)脚本,进行综合、硬件实施和仿真。图示为DSPBuilder设计流程。DSPBuilder是一个系统级(或算法级)设计工具,它构架在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势【10】。DSPBuilder依赖于MathWorks公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,同时又通过SignalCompiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具QuartusII来完成。2.DSPBuilder的设计流程DSPBuilder设计包括两套流程:自动流程和手动流程:设计流程的第一步在Matlab/Simulink中进行设计输入,在Matlab/Simulink中建立一个模型文件(mdl文件),用图形方式调用DSPBuilder和其它Simulink库中的模块,构成系统级或算法级设计框图。利用Simulink的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。第一步设计同一般的Matlab/Simulink建模过程几乎没什么区别,所不同的是,设计采用了DSPBuilder库。设计流程第二步通过SignalCompiler把Simulink的模型文件转化为硬件描述语言文件,以供其它的EDA(QuartusII、ModelSim等)软件处理,这些软件不能直接处理Matlab/Simulink产生的模型文件,那么DSPBuilder中的SignalCompiler模块用于完成模型文件到硬件描述语言文件的转换,转换之后的HDL文件是RTL级(寄存器传输级,即可综合的格式)。设计流程的第三步执行RTL级的仿真,DSPBuilder支持自动流程的ModelSim仿真。用户也可以利用第二步产生的VHDL文件使用其它的仿真工具软件手动地进行仿真。设计流程的第四步使用第二步SignalCompiler产生的VHDL文件进行RTL级的综合,网表产生和适配等处理,DSPBuilder支持自动流程和手动流程两种方式:自动流程中可以选择让DSPBuilder自动调用QuartusII等EDA软件来完成相应的工作;手动模式允许用户选择相应的软件来完成相应的工作,手动模式需要更多的干预,同时提供了更大的灵活性,用户可以指定综合、适配等过程的条件。第三步和第四步可以不分先后。设计流程的第五步在QuartusII中编译用户的设计,最后将设计下载,进行测试验证。经过测试、验证的设计可以单独执行相应的DSP功能。如果DSPBuilder产生的DSP模型只是整个设计中的一个子模块,那么可以在设计中调用DSPBuilder产生的VHDL文件,以构成完成的设计。DSPBuilder设计流程图3.论述MATLAB、Simulink、DSPBuilder、ModelSim、QuartusⅡ几种软件工具之间的关系:传统的Simulink系统级设计和其仿真环境支持M语言,C/C++以及Simulink模块。而通过添加硬件描述语言(HDL)到MATLAB/Simulink中,扩展了MATLAB/Simulink的并行运行能力、直接性以及混合语言编程的能力。可以通过Simulink和相关的Blockset创建关于信号处理方面或者通信系统方面的系统级设计。也可以把HDL器件合并到设计中或者用HDL模块来取代相应的子系统。将MATLAB中获得的测试基准代码输出到VHDL实体中,并把ModelSim的输出送入到MATLAB函数中。并借此来创建软件测试基准来验证HDL实现。ModelSim中联合仿真模块的参数对话框可以让工程师很容易的设置输入输出端口、二者连接的属性、时钟以及TCL命令。Quartus是Altera公司的FPGA开发软件,用它来写硬件描述语言的程序然后生成电路模块,或者画电路原理图,完成理论上的设计。在Quartus中,所有器件都是用模块表示的,小到一个非门,大到一个CPU,都是用框图加输入输出引脚描述的。DSPBuilder是Matlab中的插件,通过Simulink搭建系统框图,用该插件可直接生成在Quartus中可以引用的模块。Modelsim采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。