搜档网
当前位置:搜档网 › DSP Builder设计过程

DSP Builder设计过程

DSP Builder设计过程
DSP Builder设计过程

6.2.2 DSP Builder设计流程

DSP设计者可以使用DSP Builder和Quartus Ⅱ软件单独进行硬件设计。DSP Builder提供了一个无缝链接的设计流程,允许设计者在Matlab软件中完成算法设计,在Simulink软件中完成系统集成,然后通过SignalCompiler模块生成在Quartus Ⅱ软件中可以使用的硬件描述语言文件。使用DSP Builder工具,设计者可以生成寄存器传输级(RTL)设计,并且在Simulink中自动生成RTL测试文件。这些文件是已经被优化的预验证RTL输出文件,可以直接用于Altera Quartus Ⅱ软件中进行时序仿真比较。这种开发流程对于没有丰富可编程逻辑设计软件开发经验的设计者来说非常直观、易学。

DSP Builder具备一个友好的开发环境,它可以通过帮助设计帅创建一个DSP 设计的硬件表示来缩短DSP开发的周期。现有的Matlab功能和Simulink块与Altera的DSP Builder块和Altera的知识产权(IP)MegaCore功能块组合在一起,从而把系统级的设计和DSP算法的实现连接在一起。DSP Builder允许系统、算法和硬件设计共享一个通用的开发平台。

在DSP Builder中,设计者可以使用DSP Builder中的块来为Simulink中的系统模型创建一个硬件。DSP Builder中包含了按位和按周期精确的Simulink块,这些块覆盖了最基本的操作,例如运算和存储功能。通过使用MageCore功能,复杂的功能也可以被集成进来。MegaCore功能支持Altera的IP评估特性,用户在购买授权之前可以进行功能和时序上的验证。

(1) OpenCore使工程师能够不用任何花费在Quartus Ⅱ软件中测试IP核,但不能生成器件的编程文件,从而无法在硬件上测试IP核。

(2) OpenCore Plus是增强的OpenCore,可以支持免费在硬件上对IP进行评估。这个特性允许用户为包含了Altera MageCore功能的设计产生一个有时间限制的编程文件。通过这个文件,设计者可以在购买授权许可之前就在板级对M egaCore功能进行验证。

DSP Builder的SignalCompiler块读入Simulink模型文件(.mdl),该模型文件是用DSP Builder和MegaCore块生成的,然后生成VHDI文件和Tcl脚本文件,用于综合、硬件的实现以及仿真。

图6.8所示为DSP Builder的设计流程。

6.3 DSP Builder设计过程

本节利用DSP Builder软件提供的一个幅度调制设计实例来说明DSP Builder设计过程。该设计实例文件在\DesignExamples\GettingStarted\SinMdl文件夹中,设计中包括正弦波发生器模块、积分乘法器模块和延时单元,每个模块都是参数可变的。

6.3.1 创建Simulink设计模型

1.创建新模型

创建新模型的步骤如下:

(1) 启动Matlab软件。

(2) 点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开Simulink Library Browser界面,如图6.2所示。

(3) 选择File→New→Model命令,建立一个新的模型文件。

(4) 选择File→Save命令,保存文件到指定文件夹中,在文件名栏中输入Singen.mdl。

2.加入SignalCompiler模块

(1) 在Simulink Library Browser界面中,打开Altera DSP Builder文件夹。

(2) 在Altera DSP Builder文件夹中选择AltLab库。

(3) 拖动SignalCompiler模块到新建的模型文件中。

(4) 用鼠标左键双击SignalCompiler模块,在弹出的对话框中点击Analyze按钮,弹出Signal Compiler Version 2.1.3对话框,如图6.9所示。

(5) 在Signal Compiler Version 2.1.3对话框中选择目标器件类型;指定综合工具,可选LeonardoSpectrum、Synplify或Quartus Ⅱ;选择优化条件,可选Speed或Area。

(6) 点击OK按钮。

(7) 选择File→Save命令保存文件。

3.为SignalCompiler指定综合软件路径信息

在设计模型文件中加入SignalCompiler模块以后,需要指定综合工具软件,如LeonardoSpectrum、Synplify或Quartus Ⅱ。默认情况下,SignalCompiler在执行综合过程中从PC机的注册表中查找指定综合软件所在的安装路径。如果综合过程中SignalCompiler找不到综合软件所在的路径,在Message栏中将提示综合失败。

DSP Builder 2.0以上版本允许用户为SignalCompiler指定综合工具路径。在\Altlib文件夹中包含一个XML配置文件edaconfig.xml,其中包含SignalCompiler综合工具的路径信息。通过文本编辑器或任何XML编辑器可以修改这个配置文件。

XML配置文件中每个EDA工具有三种配置信息:

?</GetPathFromRegistry>

?<安装路径></ForcedPath>

?<版本号></ToolVersion>

其中部分可设置为on或off。默认为on,表示SignalCompiler从注册表文件中读取路径。当设为off时,SignalCompiler读取部分所指定的路径。

edaconfig.xml配置文件的内容如图6.10所示。

图6.10 edaconfig.xml配置文件

4.加入正弦波产生模块

(1) 在SimulinkLibraryBrowser界面点击Simulink中的Sources库,从中找到SineWave 模块。

(2) 将Sine Wave模块拖动到Singen.mdl文件中。

(3) 在Sine Wave模块上双击鼠标左键,弹出模块属性对话框,如图6.11所示。

(4) 设置正弦波模块参数,点击OK确定。

5.加入总线端口模块AitBus

(1) 在Altera DSP Builder文件夹中选择Bus Manipulation库。

(2) 从库中选择AltBus模块,拖动到Singen.mdl文件中。

(3) 点击AltBus模块下面的文本,将AltBus改为Sinln。

(4) 双击SinIn模块,弹出模块参数对话框,如图6.12所示,在该对话框中可以设置6位整型输入总线。

(5) 设置模块参数,点击OK按钮确定。

图6.12 模块参数对话框

6.加入延时模块

(1) 在Altera DSP Builder文件夹中选择Storage库。

(2) 选择Delay模块,拖动到Singen.mdl文件中。

(3) 双击Delay模块,在弹出的模块参数对话框中指定延时深度,如图6.13所示。

(4) 点击OK按钮确认。

7.加入正弦波延时输出总线模块

(1) 在Altera DSP Builder文件夹中选择BusManipulation库。

(2) 选择AltBus模块,将其拖动到Singen.mdl文件中。

(3) 修改AltBus模块的名称为SinDelay。

(4) 双击SinDelay模块,在模块参数对话框中选择Node Type为Output Port。

(5) 选择[number of bits]为16位,并点击OK按钮确定。

8.加入多路复用MUX模块

(1) 在Simulink Library Browser界面中选择Simulink下面的Signal Routing库。

(2) 选择Mux模块,将其拖动到Singen.mdl文件中。

(3) 双击Mux模块,设置模块参数,如图6.14所示。

(4) 点击OK按钮确定。

图6.14 加入Mux模块并设置其参数

9.加入随机数模块

(1) 在Simulink Library Browser界面中选择Simulink下面的Sources库。

(2) 选择Random Number模块,将其拖动到Singen.mdl文件中。

(3) 双击Random Number模块,设置模块参数,如图6.15所示,并点击OK确定。

图6.15 设置随机数模块参数

10.加入噪声总线模块

(1) 在Altera DSP Builder文件夹中选择Bus Manipulation库。

(2) 选择AltBus模块,将其拖动到Singen.mdl文件中。

(3) 修改AltBus模块的名称为Noise。

(4) 双击Noise模块,在模块参数对话框中选择Bus TVpe为Single Bit。

(5) 选择[number of bits]为l位,并点击OK按钮确定。

11.加入BusBuild总线模块

(1) 在Altera DSP Builder文件夹中选择Bus Manipulation库。

(2) 选择BusBuild模块,将其拖动到Singen.mdl文件中。

(3) 双击BusBuild模块,设置模块参数,如图6.16所示,点击OK按钮确定。

图6.16 BusBuild总线模块参数设置

12.加入GND模块

(1) 在Altera DSP Builder文件夹中选择BusManipulation库。

(2) 选择GND模块,将其拖动到Singen.mdl文件中。

13.加入乘法器(Product)模块

(1) 在Altera DSP Builder文件夹中选择Arithmetic库。

(2) 选择Product模块,将其拖动到Singen.mdl文件中。

(3) 双击Product模块,设置模块参数,如图6.17所示,点击OK按钮确定。

图6.17 乘法器模块参数设置

14.加入乘法器输出总线模块

(1) 在Altera DSP Builder文件夹中选择Bus Manipulation库。

(2) 选择AltBus模块,将其拖动到Singen.mdl文件中。

(3) 修改AltBus模块的名称为StreamMod。

(4) 双击StreamMod模块,在模块参数对话框中选择Bus Xype为Signed Integer,NodeType为Output Port,[number of bits]为19位,并点击OK按钮确定。

15.加入示波器模块

(1) 在Simulink Library Browser界面中选择Simulink下面的Sinks库。

(2) 选择Scope模块,将其拖动到Singen.mdl文件中。

(3) 双击Scope模块,弹出Scope波形显示对话框。

(4) 点击参数设置快捷按钮,在General标签页的Number of axes框中输入3,即以同一时间轴同时显示3个信号波形,如图6.18所示,点击OK按钮确定。

图6.18 示波器显示模块设置

16.连线

将所有模块全部插入Singen.mdl模型文件后,按照图6.19所示连接模块,完成模型文件的设计。

图6.19幅度调制设计实例的模型文件

为了在示波器显示模块中区分信号波形,在引入Scope模块的信号线上双击鼠标左键,分别键入SinWave、Modulated BitStream和BitsStream作为信号名。

6.3.2 Simulink设计模型仿真

连接好整个设计模型以后,可以在Simulink软件中仿真设计模型。

(1) 选择Simulation→Simulation Parameters命令,弹出仿真参数设置对话框。

(2) 在Simulation time栏中的Stop time框中输入0.00004(或4e-6),显示2个信号周期(160个采样点),其他参数采用默认设置,如图6.20所示。

图6.20 仿真参数设置

(3) 点击OK按钮退出仿真参数设置对话框。

(4) 选择Simulation→Start命令,或按下Ctrl+T键启动仿真。

(5) 双击模型文件中的Scope模块,打开示波器显示窗口。

(6) 点击示波器显示窗口工具条上的自动范围按钮,则波形显示如图6.2l所示。

图6.12 Sinfen.mdl 实例仿真波形

6.3.3 完成RTL级仿真

完成Simulink软件中的模型设计,仿真成功以后,双击模型设计文件中的SignalCompiler 模块,弹出Signal Compiler Version 2.1.3对话框,点击Analyze按钮,弹出如图6.22所示的埘话框。

为了生成模型设计文件的RTL级仿真文件,应完成下面的步骤:

(1) 在图6.22所示的对话框中,点击1-Convert MDL to VHDL按钮,在Messages框中将出现以下提示信息:

>Generated top level''singen.vhd''files

>See''singen_DspBuilder_Report.html''report file for additional information

(2) 在可选择的标签页中选择Testbench标签页,选中Generate Stimuli for VHDLTestbench选项,如图6.22所示。

(3) 点击OK按钮确认以上操作。

(4) 在Simulink软件中启动仿真,Signal Compiler生成一个仿真脚本文件和一个VHDL测试台文件,分别为Tb_SinGen.tcl和Tb_SinGen.vhd。

在ModelSim软件中完成RTL仿真,操作步骤如下:

(1) 启动ModelSim软件。

(2) 选择File→Change Directiory命令,指定工作目录。

(3) 选择Tools→Execute Macro…命令(不同的ModelSim版本菜单项可能不同)。

图6.22 产生VHDL及仿真文件

(4) 在Execute Do File对话框中选择tb_singen.tcl脚本文件,点击打开按钮,ModelSim 开始执行脚本文件,最后的结果在波形窗口显示,如图6.23所示。

图6.23 ModelSim仿真波形窗口(数字显示)

ModelSim波形可以用数字或模拟两种方式显示。在波形窗口的信号名上双击鼠标左键,或点击鼠标右键选择Signal Properties,则弹出波形信号属性对话框,如图6.24所示。选择Format标签页,并选择Analog选项,此时Analog Display设置框有效。在Scale框中输入合适的比例值,在Height框中输入合适的波形高度值,点击OK按钮确定,波形显示方式变为模拟形式,如图6.25所示。可以将该波形与图6.2l在Simulink中仿真的波形进行比较。

6.3.4 simulink模型设计的综合与编译

对于DSP Builder设计,Altera提供自动和手动两种综合、编译流程。如果DSP Builder.模型是顶层设计,则两种综合与编译流程都可以使用;如果DSP Builder模型不是顶层设计,而是非DSF Builder硬件设计中的一个独立模块,则只能使用手动综合、编译流程,在DSP Buildei软件之外建立项层编译设置,包括:

? 将DSF Builder模型生成的VHDI文件加入顶层综合工程。

? 将所有用到的IP库加入Quartus Ⅱ工程。

这些工作可以通过Signal Compiler生成的对应综合工具的Tc1文件完成。

1. 自动综合、编译

Signal Compiler可以将设计模型文件(如SinGen.mdl)中的每个Altera DSP Builder模块映射为DSP Builder VHDL库。自动综合、编译流程可以直接在Simulink软件中,使用SignalCompiler Version 2.1.3对话框中Hardware Compilation框中的按钮操作,后台完成模型设计的综合、编译过程。

(1) 在Simulink的设计模型文件中(如SinGen.mdl)双击SignalCompiler模块。

(2) 点击Analyze按钮,弹出Signal Compiler Version 2.1.3对话框。

(3) 在Device列表中选择目标器件系列,如Stratix。

(4) 在Synthesis列表中选择综合工具,如LeonardoSpectrum,也可以选择Ouartus Ⅱ软件综合工具。

(5) 在Optimization列表中选择优化条件,如Speed。

(6) 点击按钮1-Convert MDL to VHDL,由模型设计生成VHDL文件。

(7) 点击按钮2一Synthesize,使用指定的综合工具开始综合设计。

(8) 点击按钮3-Quartus Ⅱ,使用Quartus Ⅱ软件编译设计。

注意:使用Quartus Ⅱ软件自动编译,要求所安装的Quartus Ⅱ软件具有Quartus ⅡTc1脚本支持功能。如果使用的Quartus Ⅱ软件版本不支持Tc1脚本(如Quartus ⅡWebEdition),将提示Tc1脚本支持功能不可用信息。

(9) 所有步骤完成之后,点击OK按钮退出Signal Compiler Version 2.1.3对话框。

上面每个操作过程在Message框中都有对应的信息显示,如图6.26所示。

2. 手动综合、编译

当要完成下面的操作时,必须进行手动综合和编译过程:

(1) 使用其他综合工具软件(Signal Compiler可选综合工具软件有LeonardoSpectrum、Synplify和Quartus Ⅱ)。

(2) 在综合工具或Quartus Ⅱ软件中指定特殊的综合设置,如LogicLock功能或时间驱动编译。

1) 手动综合

在这里以LeonardoSpectrum综合工具为例,说明如何手动综合由Simulink模型文件生成的VHDL文件。步骤如下:

(1) 在Simulink的设计模型文件中(如SinGen.mdl)双击SignalCompiler模块。

(2) 点击Analyze按钮,弹出Signal Compiler Version 2.1.3对话框。

(3) 点击按钮1-Convert MDL to VHDL,则SignalCompiler将模型设计生成VHDL文件。

(4) 点击OK按钮关闭Signal Compiler Version 2.1.3对话框。

(5) 启动综合工具软件,如LeonardoSpectrum软件。

对于SignalCompiler模块中支持的综合工具来说,SignalCompiler自动生成综合软件的Tc1脚本文件,如SinGen_leo.tc1(LeonardoSpectrum软件)、SinGen_spl.tc1(Synplify软件)、SinGen_quartus.tc1(Quartus Ⅱ软件)。可以在综合工具软件中直接执行对应的Tc1脚本文件完成综合。如启动LeonardoSpectrum综合软件以后,选择File→Run 命令,在弹出的对话框中选择SinGen_leo.tc1脚本文件,则LeonardoSpectrum自动执行脚本文件中的Tc1命令,完成对SinGen.vhd文件的综合。

如果不直接执行Tc1脚本文件,则继续进行下面的步骤:

(6) 在综合工具软件中加入DSP Builder模块映射库文件:

\DSPBuilder\AltLib\DSPBUILDERPACK.VHD

(7) 在综合工具软件中加入并打开由SignalCompiler生成的VHDL文件,如SinGen.vhd。

(8) 在综合工具软件中完成综合,结果如图6.27所示。

图6.27 在LeonardoSpectrum软件中完成手动综合结果

2) 在Quartus Ⅱ软件中完成设计的手动编译

综合软件在工作目录下生成原子网表文件(EDIF网表文件(.edf)或Verilog Quartus映射文件(.vqm))。网表文件中的原子都是参数化的,符合Altera器件特性的WYSIWYG原语描述,如逻辑单元、I/O单元、乘积项以及嵌入式系统块(ESB)。在Quartus Ⅱ软件中可以直接编译原子网表文件生成用于Altera器件编程的编程器目标文件(.pof)。

在Quartus Ⅱ软件中完成设计的编译步骤如下:

(1) 启动Quartus Ⅱ软件。

(2) 选择View→Auxiliary Windows→Tc1 Console命令。

(3) 在Tc1控制台窗口,使用DOS命令进入DSP Builder设计文件的工作目录。

(4) 在Tc1控制台窗口,输入source<模型文件名>_quartus.tc1后按回车键,如sourcesingen_quartus.tc1,则Quaruts Ⅱ软件自动执行Tc1脚本文件中的建立工程以及环境设置命令。

(5) 选择Processing→Start Compilation命令开始编译。

(6) 在编译报告窗口,选择Fitter文件夹下面的Floorplan View查看编译结果。

图6.28所示为Quartus Ⅱ编译结果的底层图显示。

3. 创建DSP Builder设计的Quartus Ⅱ符号

作为一个功能模块,可以对DSP Builder的设计创建一个Quartus Ⅱ符号,在顶层设计中调用。Quartus Ⅱ编译完成之后,Quartus Ⅱ软件在工作目录中建立一个名为atom_netlists 的子目录,其中包含DSP Builder设计的Verilog Quartus映射文件(.vqm),如SinGen.vqm,使用该文件创建Quartus Ⅱ符号的步骤如下:

(1) 在Quartus Ⅱ软件中打开DSP Builder设计的工程文件,如SinGen.qPf。

(2) 选择File→Open,在目录查找中指定工作目录中的atom_netlists子目录。

(3) 打开<设计文件名>.vqm,如SinGen.vqm。

(4) 选择File→Create/Update→Create Symbo1Files for Current File命令,则创建了符号并将其添加到工程中。

思考题

1.什么是DSP Builder?如何看待基于FPGA的嵌入式DSP设计?

2.Altera DSP设计流程包括哪几部分?

3.DSP Builder是如何将Simulink的系统级设计生成硬件描述语言的?

4.如何在Quartus Ⅱ软件中调用DSP Builder设计的系统模块?

DSP Builder的功能和流程

电子131 XXX XXXXXX 1、说明DSP Builder 的主要功能 DSP Builder 是Altera 公司提供的一种DSP 系统设计工具,是Matlab/Simulink 设计工具和QuartusII 设计工具之间的一个桥梁,把Matlab/Simulink 中的DSP系统设计转化为HDL文件,在QuartusII 工具中实现到具体的器件中。产生于Matlab\DSP Builder\Quartus II 流程的DSP 模块或其他功能模块可以成为单片FPGA 电路系统中的一个组成部分,担任某个局部电路的功能;通过Matlab\DSP Builder ,可以直接为Nios II 嵌入式处理器设计各类加速器,成为Nios II 系统的一个接口设备,与整个片内嵌入式系统融为一体。DSP Builder 是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。 2、说明DSP Builder 的设计流程 Simulink 模型仿真 综合 (Quartus II, LeonardoSpectrum, Synplify) ATOM Netlist产生 Quartus II HDL仿真(ModelSim) 综合(Quartus II,LeonardoSpectrum,Synplify)Quartus II 生成编程文件 (.pof,.sof) 下载至硬件 自动流程 手动流程mdl转成 vhdl Matlab Simulink 建立模型 第一步是在Matlab 的Simulink 环境中建立一个mdl 模型文件,调用Altera DSP Builder 和其它Simulink 库中的图形模块(Block),构成设计框图(或称Simulink 设计模型)。 第二步是利用Simulink 强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的Matlab Simulink 建模过程几乎没有什么区别,所不同的是设计模型库采用Altera DSP Builder 的Simulink 库。 第三步是DSP Builder 设计实现的关键一步,通过SignalCompiler 把Simulink 的模型文件(后缀为.mdl)转化成通用的硬件描述语言VHDL 文件(后缀为.vhd)。由于EDA 工具软件(诸如Quartus II 、ModelSim)不能直接处理Matlab 的.mdl 文件,这就需要一个转换过程。转换获得的HDL 文件是基于RTL 级(寄存器传输级)的VHDL 描述。 再接下来的几个步骤是对以上设计产生的VHDL 的RTL 代码和仿真文件进行综合、编译适配以及仿真。为了针对不同用户的设计目的和设计要求,DSP Builder 提供了两种不同的设计流程,主要可以分为自动流程和手动流程。 如果采用DSP Builder 的自动流程,几乎可以忽略硬件的具体实现过程,DSP Builder

MULTLAB DSPbuilder硬件模块设计

第六章Matlab/Dsp builder硬件模块设计 Matlab是国内强大的数学分析工具,广泛用于科学计算和工程计算,还可以进行复杂的数字信号处理系统的建模、参数估计及性能分析。Simulink是Matlab的一个组成部分,用于图形化建模仿真。DSP Builder是Altera公司推出的一个面向DSP开发的系统级工具,它构架在多个软件工具之上,并把系统级(算法级建模)和RTL级(硬件实现)两个设计领域的设计工具连接起来放在Matlab/Simulink平台上,而将QuartrsⅡ作为底层设计工具置于后台,从而最大程度地发挥了这三种工具的优势。DSP Builder作为Simulink中的一个工具箱,使得用FPGA设计DSP系统完全可以通过Simulink的图形化界面进行,只要简单地进行DSP Builder工具箱中的模块调用即可。Matlab/DSP Builder尤其适用于一些在Quartus Ⅱ上不方便完成或不能完成的设计项目(如涉及算法类及模拟信号处理与生产方面的系统处理)。DSP Builder还可以自动完成大部分的设计过程和仿真,直到把设计文件下载到FPGA 中。 DSP Builder提供了Quartus? II软件和MATLAB/Simulink工具之间的接口。其具有如下特性: 1.用于连接Mathwork的MATLAB(信号处理工具箱和滤波器设计工具箱),Simulink环境和Altera? 的Quartus II设计软件环境。 2.支持Altera 的DSP核,这些核均可以从Altera的网站上下载(例如:FIR Compiler、Reed-Solomon Compiler等等)。 3.可以利用Altera的DSP开发板来快速的实现设计的原型。 4.支持SignalTap? II逻辑分析仪(一种嵌入式的信号分析仪,它可以探测到DSP开发板上Altera器件内部的信号,并把数据引入到MATLAB的工作区以便于进行可视化的分析)。 5.包括了用户可以创建的定制的逻辑,用于配合SOPC Builder和Nios? II嵌入式处理器设计。 6.包括了PLL块,用于多时钟设计。 7.包括了状态机块。 8.针对DSP系统的算法和实现,支持统一的表示方法。 9.根据MATLAB和Simulink的测试矢量,可以自动生成VHDL测试激励或Quartus II 矢量文件(.vec)。 10.自动调用VHDL综合器和Quartus II编译器。 11.仿真可以设定为比特或周期精度。 12.提供多种的定点运算和逻辑操作,用于配合使用Simulink 软件。 13.支持多种Altera 的器件: Stratix、Stratix II 和 Stratix GX 器件; Cyclone 和 Cyclone II 器件; APEXII、APEX 20KC 和 APEX 20KE 器件; Mercury器件; ACEX? 1K 器件; FLEX? 10K 和 FLEX 6000 器件。 利用Matlab和DSP Builder进行模块设计也是SOPC技术的一个组成部分。这是由于利用Matlab/DSP Builder/QuartrsⅡ可完成纯硬件的DSP算法模型及实现,从而构成嵌入式系统外围接口的协处理模块,再进一步构成软件程序中的精简指令,DSP模块或其他功能模块可以成为单片FPGA电路系统中的一个组成部分,而且通过Matlab/DSP Builder,可以直接为Nios嵌入式处理器设计各类加速器,并以指令的形式加入到Nios的指令系统,从而成为

DspBuilder中文教程2

第10章 DSP Builder 设计深入 应用Matlab/DSP Builder 可以对多种类型的电子线路模块或系统进行建模、分析和硬件实现,且更擅长于一些较复杂的功能系统,及偏向于高速算法方面的模块的设计和实现,还能利用HDL Import 模块将HDL 文本设计转变成为DSP Builder 元件。 本章将给出一些DSP 及数字通信领域中实用模块的设计实例,以及基于Matlab/DSP Builder 平台的IP 核的应用。 10.1 FIR 数字滤波器设计 FIR (Finite Impulse Response :有限冲激响应)滤波器在数字通信系统中,被大量用于以实现各种功能,如低通滤波、通带选择、抗混叠、抽取和内插等。 在DSP Builder 的实际应用中,FIR 滤波器是最为常用的模块之一。DSP Builder 的FIR 滤波器设计方式有多种,作为示例,本节介绍基于模块的FIR 与基于IP 的FIR 设计方法。 10.1.1 FIR 滤波器原理 对于一个FIR 滤波器系统,它的冲激响应总是有限长的,其系统函数可以记为: ∑=?=M k k k z b z H 0)( 10-1 最基本的FIR 滤波器可用下式表示: ∑?=?=1 0)()()(L i i h i n x n y 10-2 其中()x n 是输入采样序列,()h n 是滤波器系数,L 是滤波器的阶数,)(n y 表示滤波器的输出序列。也可以用卷积来表示输出序列)(n y 与)(n x 、)(n h 的关系。 )()()(n h n x n y ?= 10-3 图10-1中显示了一个典型的直接I 型3阶FIR 滤波器,其输出序列)(n y 满足下列等式:

基于DSPBuilder数字信号处理课程设计

上海电力学院基于DSP Builder数字信号处 理课程设计 实验名称:AM调制FM调制及DDS信号 专业:通信工程 姓名: 班级: 学号: 一、设计目的 通过本次课程设计,巩固已学数字电路与逻辑设计的理论知识,掌握数字信号处理方法,引导学生从功能设计转向系统设计,掌握由现场可编程逻辑器件实现数字信号处理的方法,掌握现场可编程逻辑器件的应用设计,从而拓宽数字技术及处理的知识和设计能力,提高学生动手能力,培养学生分析问题与解决问题的能力。 二、设计内容 本设计利用FPGA开发软件QuartusII,DSP BUILDER,MATLAB,设计实现各类波形信号的发生电路,如AM调制、FM调制、DDS控制等,进行引脚锁定、全编译通过后,完成FPGA器件Cyclone II的配置工作,并在Matlab Simulink中使用Scope显示仿真结果,在DE2开发板上下载并通过七段数码管,显示波形情况。 三、设计要求 1.独立完成AM调制、FM调制、DDS控制电路的设计、译码显示电路的设计。 2.熟悉QuartusII,DSP BUILDER,MATLAB环境下系统开发设计流程。 3.在DE2上验证设计结果,并认真写出设计报告。

四、设计原理及步骤 (一).AM 调制的设计 AM 幅度调制函数信号可以用式)m 1(am dr ?+?=F F F 来表述,其中,dr F 、am F 、F 分别是被调制的载波信号,需要被调制的信号和调制后AM 的输出信号,它们都是有符号数,m 是调制度,10<

DSPBuilder用户指南(中文)

6.0 用户指南 1.关于 特性 ?支持以下特性: 把 (信号处理工具箱和滤波设计工具箱)和软件与公司的软件连接。 ?支持以下器件系列: ●?和器件 ●和器件 ●?, 20和 20器件 ●?器件 ●?1K器件 ● 10K?和?6000器件 ?使用开发板快速建立样机。 ?支持?逻辑分析仪,探测来自上器件嵌入式信号分析仪和把数据转入到工作空间,以利 用可视化分析。 ?在库中支持的转入模块: ●或设计授权转入 ●转入在工程文件中的 ?回路中的硬件模块()能够使硬件在( )中加速二次模拟。 ?在中的包括了你能用于建立一些定制逻辑的模块,这些定制逻辑和以及其它的设 计一起工作。 ●低级和辅接口模块 ●和捆绑模块 ●全部模块是用户可以配置的 ●分离的模块可用来支持端口 ●将接口拖拉进设计模块中,你能建立任何的元件 ●根据中的仿真,你能验证接口,用生成的和文件把你的设计输出 到 ?包括状态机模块。 ?支持系统算法和执行的统一表示。 ?自动生成或测试平台或者自动地从和测试向量中自动生成向量文件()。 ?自动启动编译。 ?使能用位及周期精确设计仿真。 ?提供和软件一起使用的各种定点算法和逻辑运算。 ?生成信号名的自动传播。 ?使用工作空间或已标记的子系统变量,你能说明模块参数对话框中的大部分值。

一般描述 在可编程逻辑器件()的数字信号处理()系统设计中,需要高级算法与硬件描述语言()开发工具。 集成了这些工具,把的和系统级设计工具的算法开发、仿真和验证能力与和设计流程(包括软件)组合在一起。 借助于你在友好的算法环境中生成的设计硬件表示,缩短了设计周期,你能把已存在的函数和模块与模块以及?函数组合在一起,把系统级设计和执行算法开发连接在一起。在这种方法中,允许系统、算法和硬件设计人员共享一个共同的开发平台。 你能使用中的块在中建立一个模拟系统的硬件执行。包含位和周期精确的块,这些块又包括许多基本操作,如算法或存储函数以及对关键设计特性优势的运用,如嵌入式,块或嵌入式存储器。 你能使用在模型中的函数去生成一体化函数。除此之外,你还能在执行部分设计的过程中体验到更快的硬件模拟性能和更丰富的仪器使用环境。 信号编译器可读取模型文件(),使用和函数生成和文件及脚本,以便进行合成,硬件执行和仿真。 1.2.1具有可编程逻辑的高速 可编程逻辑提供在专用数字信号处理器上的性能优点。 可编程逻辑能够被看作为元件陈列,其中每一个能够被配置为复杂处理器例行程序。 这些处理器例行程序则能够以串联连接在一起(以同样的方法,数字信号处理器能够执行他们),或他们能够并联连接。 在并行情况下,他们提供标准数字信号处理器同时执行上百条指令操作的性能。 有益于这种改进性能的算法包括具有正向误差校正(),调制/解调和加密。 设计流程 当使用时,在软件上生成的设计模型来启动。在你已生成你的模型后,你能为综合和编译输出文件,或生成或仿真文件。 设计流程包括下列步骤: 1.使用软件生成由与组合的模型。 2.使用模块分析你的设计。 3.在中,使用监视结果的模块仿真模型。 4.运行设置仿真和综合。 5.执行仿真。支持带有脚本软件的自动化流程。你也能使用在其他仿真工具中的手动仿真生成的或。 6.使用由模块生成的输出文件来执行综合。对于带有脚本的,或软件,支持自动化综合流程。作为选择的,你能使用其它的综合工具,手工综合文件。 7.在软件中编译你的设计。 8.下载到一个硬件开发板上并测试。 图形1-1展示了使用设计的系统级设计流程。

装DSP Builder的问题

如果你是正准备装下面的两个软件,一定要先看完: 本人的亲身经验,我花了一天半的时间才搞明白啊 (先还是得装MATLAB再装DSP) 我先安装了matlab 7.0,又安装dspbuilder 7.1+sp1 进入matlab後显示 Warning: MATLAB Toolbox Path Cache is out of date and is not being used. Type 'help toolbox_path_cache' for more info Warning: Name is nonexistent or not a directory: e:\altera\71\quartus\dsp_builder\bin\mdllibrary. Warning: Name is nonexistent or not a directory: e:\altera\71\quartus\dsp_builder\bin\matlab. 以上是我把DSP builder和MALTAB结合起来出现的一些警告,在simulink后看得到altera 的库, 现在已经DSP builder库导入到了MALTAB,可是一点击DSP builder库,就在MALTAB中出现了死循环(在MALTAB命令窗口中不停出现命令,最后自动关闭 原因是MALTAB的版本过低了,用的是7.0的,而我的DSP是7.1的.MALTAB的版本要大于等于DSP版本啊!!!!!! 我还有一个问题啊:不能转为VHDL,原因是我的DSP没破解:以下有个文档,肯定有同学们想知道的!!!!!!!! 很多朋友安装dsp builder后,有了License文件和破解器还不知道怎么加载注册文件,供大家参考。 软件要求 使用DSP Builder创建HDL设计需要有下面的软件支持: ? Matlab 6.1或6.5版本; ? Simulink4.1或5.0版本; ? Quartus Ⅱ2.0以上版本; ? Synplify 7.2以上版本或LeonardoSpectrum 2002c以上版本(综合工具); ? ModelSim5.5以上版本(仿真工具)。 DSP Builder软件的安装 在安装DSP Builder之前,首先安装Matlab和Simulink软件以及Quartus Ⅱ软件。如果要使用第三方EDA综合和仿真工具,需要安装综合工具LeonardoSpectrum或Synplify 以及仿真工具ModelSim。 在Windows 98/NT/2000操作系统上安装DSP Builder,其操作步骤如下: (1) 关闭以下应用软件:Quartus Ⅱ、MAX+PLUS Ⅱ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。 (2) 找到软件所在目录,双击DSPBuilder-v2.1.3.exe文件。 (3) 在出现的安装向导中,根据提示操作即可完成DSP Builder的安装。 如果在安装DSP Builder之前还没有安装Matlab软件,则在DSP Builder安装向导的最后将弹出对话框。 完成DSP Builder安装之后,依据下面的操作步骤在Matlab软件中查看DSP Builder的库:(1) 启动Matlab软件。 (2) 点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink

DSPbuilder安装

安装DSPbuilder 时要注意DSP builder 的版本要和quartus 的版本一致,matlab 的版本也要相适应。以下是版本对应情况: 安装DSPbuilder ,quartus 时要注意:如果你已经安装过quartus ,只是想添加DSPbuilder ,安装DSPbuilder 时安装路径应该和安装quartus 的文件在同一文件夹下。例如,我安装quartusde 路径为D:\Quartus ,那么DSPbuilder 的安装路径也应该在D:\Quartus 下。 matlab 上的一些必要操作上的一些必要操作(此项想操作摘自网上,原文(此项想操作摘自网上,原文(此项想操作摘自网上,原文为 为https://www.sodocs.net/doc/6013768513.html,/sleepy/archive/2011/06/28/2092362.html ) 打开matlab 点击Simulink 工具箱,在出现的Simulink Library Browser 栏中可发现多了以下两个工具库 依次单击它们,软件需要建立工具库。 这儿可能会碰到以下问题: 1.Matlab 出现很多warning ,跳出窗口报告出错,并自动退出软件

处理方法: 然后在X:\MATLAB\R2008a\toolbox\local\pathdef.m中删除与Altera有关的路径。注意需要空一行,如下所示: p=[... %%%BEGIN ENTRIES%%% (空一行) (此处删除的内容都以quartus开头) matlabroot,'\toolbox\matlab\general;',... matlabroot,'\toolbox\matlab\ops;',... matlabroot,'\toolbox\matlab\lang;',... matlabroot,'\toolbox\matlab\elmat;',... matlabroot,'\toolbox\matlab\elfun;',... 之后重新安装DSP Builder

基于Quartus2组件DSP_builder设计DDS信号发生器

基于Quartus2组件DSP_builder 设计DDS 信号发生器 说明:Quartus2中DSP_builder 组件建立了Quartus2与Matlab 的无缝链接,这样极大的有利于FPGA 在信号处理中的应用,本次课题旨在通过建立一个信号发生器来说明DSP_builder 的强大之处。 传统的DDS 信号发生器的设计相对比较复杂(包括相位累加器,地址查找表,D/A ),通过传统的编程思想,会比较复杂,DSP_builder 则是通过simulink 中的Altera 库,直接构建DDS 模型,再通过signal complier 生成VHDL 语言以及仿真所用的测试脚本(testbench 文件),非常方便,并通过simulink 和FPGA 的仿真工具Modelsim_Atera 一起做了对比,两者吻合,达到了预期效果。 1.在Simulink 中构建DDS 模型 TestBench on TestBench Step (5:0)q(7:0) Sin_LUT Signal Compiler Scope a b r X Product o7:0Output i0:0 Input c(5:0)IncCount z -1 Delay

2.Simulink 下的仿真如图所示: 3.RTL 级仿真(modelsim 仿真): -200 -150-100-50050100150200050100150200250300350400450500 -2 -1.5-1-0.500.511.52

4.RTL级视图 附:.vhl代码 -- sinwafe_GN.vhd library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; entity sinwafe_GN is port ( Output : out std_logic_vector(7 downto 0); -- Output.wire Input : in std_logic_vector(0 downto 0) := (others => '0'); -- Input.wire Clock : in std_logic := '0'; -- Clock.clk aclr : in std_logic := '0'

DSP_Builder_9.1_完全破解步骤

DSP Builder 9.1破解过程总结 安装DSP Builder v9.1 1.DSP Builder不是以单独的软件形式,而是以模块的形式安装在MATLAB 的Simulink里的。所以,请在安装DSP Builder之前安装MATLAB软件,并且必须安装Simulink组件。注意:DSP Builder v9.1只支持R2008a 及以上版本,本人用的R2008b安装成功了。 2.安装DSP Builder,安装程序中包含的脚本会自动关联Quartus II和Matlab。 3.直到DSP Builder的安装结束的对话框跳出,点击finish。 4.手动打开matlab→Simulink工具箱,在出现的Simulink Library Browser界面中查看多了以下两个工具库—— 第一次单击,软件需要建立工具库;但是发现在单击“Altera DSP Builder Blockset”后,里面是空白的,并且MATLAB软件报错。 5.对于4.中出现的问题解决方案如下: 打开\toolbox\local\matlabrc.m,在此文件末尾加入 以下代码: bdclose all; set_param(0,'CharacterEncoding', 'windows-1252'); 其目的:在每次打开matlab时,初始化运行该句语句。 保存关闭,退出matlab并重新进入matlab,重复过程4.,此时,“Altera DSP Builder Blockset”不在空白。 6.以上过程仅仅表示DSP Builder v9.1安装成功,matlab建立工具库成功; 完全破解DSP Builder v9.1流程 1.关闭Quartus II和Matlab软件。 2.在网上下载一份DSP Builder v9.1的crack,按照crack的要求先破解DSP Builder文件。 3.通过设置环境变量LM_LICENSE_FILE来导入包含DSP Builder v9.1授权的License。 4.设置环境变量:我的电脑→属性→高级→环境变量→系统变量→“新建” 变量名“LM_LICENSE_FILE” 值“D:\altera\91\Quartus_lic_v91.dat”(给大家看的是我电脑上的 路径)。 注意:黄色标注要注意不要漏了。

DspBuilder中文教程1

第9章DSP Builder设计初步 利用EDA技术完成硬件设计的途径有多种,前面介绍的是利用QuartusII来完成的,最为典型的设计流程,包括设计项目编辑(如用VHDL)、综合、仿真、适配、编程。但是对于一些特定的设计项目,这个流程就会显得很不方便,甚至无能为力。例如涉及算法类(如DSP模块)及模拟信号处理与产生方面的系统设计。 Altera自2002年推出的DSP Builder则很好地解决了这些问题。 DSP Builder可以帮助设计者完成基于FPGA的不同类型的应用系统设计。除了图形化的系统建模外,DSP Builder还可以自动完成大部分的设计过程和仿真,直至把设计文件下载至FPGA开发板上。利用Matlab与DSP Builder进行模块设计也是SOPC技术的一个组成部分。本章以两个简单的电路模型设计为示例,详细介绍Matlab、DSP Builder、QuartusII 三个工具软件联合开发的设计流程。 9.1 Matlab/DSP Builder及其设计流程 DSP Builder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模)和RTL级(硬件实现)两个设计领域的设计工具连接起来,都放在了Matlab/Simlink图形设计平台上,而将QuartusII作为底层设计工具置于后台,最大程度地发挥了对种工具的优势。DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simlink,以Simulink的Blockset出现。可以在Simulink中进行图形化设计和仿真,同时又通过SignalCompiler把Matlab/Simulink的模型设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的tcl脚本。对于综合以及此后的处理都由QuartusII来完成。 由于在FPGA上设计一个算法模型的复杂性,设计的性能(包括面积、速度、可靠性、设计周期)对于不同的应用目标将有不同的要求,涉及的软件工具也不仅仅是Simulink和QuartusII,DSP Builder针对不同情况提供了两套设计流程,即自动流程和手动流程。 图9-1是基于Matlab、DSP Builder、QuartusII等工具完成设计的流程框图。如图9-1所示,设计流程的第一步是在Matlab/Simulink中进行设计输入。即在Matlab的Simulink 环境中建立一个mdl模型文件,用图形方式调用DSP Builder和其他Simulink库中的图形模块,构成系统级或算法级设计框图,或称Simulink设计模型。在第二步,是利用Simulink 的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的Matlab Simulink建模过程几乎没有什么区别,所不同的是,设计模型库采用DSPBuilder 的Simulink库而已,同样也涉及到其他EDA软件。

相关主题