曙海教育集团论坛DSP专区DSP系统和硬件开发讨论区 → DSP Builder系统设计


  共有7921人关注过本帖树形打印

主题:DSP Builder系统设计

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
DSP Builder系统设计  发帖心情 Post By:2010-11-13 12:15:50

DSP Builder是Altera推出的一个数字信号处理(DSP)开发工具,它在Quartus Ⅱ FPGA设计环境中集成了MathWorks的Matlab和Simulink DSP开发软件。Altera的DSP系统体系解决方案是一项具有开创性的解决方案,它将FPGA的应用领域从多通道高性能信号处理扩展到很广泛的基于主流DSP的应用,是Altera第一款基于C代码的可编程逻辑设计流程。 在Altera基于C代码的DSP设计流程中,设计者编写在Nios Ⅱ嵌入处理器上运行的C代码。为了优化DSP算法的实现,设计者可以使用由Matlab和Simulink工具开发的专用DSP指令。这些专用指令通过Altera的DSP Builder和SOPC Builder工具集成到可重配置的DSP设计中。对DSP设计者而言,与以往FPGA厂商所需的传统的基于硬件描述语言(HDL)的设计相比,这种流程会更快、更容易。 除了全新的具有软件和硬件开发优势的设计流程之外,Altera DSP系统体系解决方案还引入了先进的Stratix和Stratix Ⅱ系列FPGA开发平台。Stratix器件是Altera第一款提供嵌入式DSP块的FPGA,其中包括能够有效完成高性能DSP功能的乘法累加器(MAC)结构。Stratix Ⅱ FPGA能够提供比Stratix器件高四倍的DSP带宽,更适合于超高性能DSP应用。 6.1 DSP Builder安装 6.1.1 软件要求 使用DSP Builder创建HDL设计需要有下面的软件支持: ? Matlab 6.1或6.5版本; ? Simulink4.1或5.0版本; ? Quartus Ⅱ 2.0以上版本; ? Synplify 7.2以上版本或LeonardoSpectrum 2002c以上版本(综合工具); ? ModelSim5.5以上版本(仿真工具)。 6.1.2 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安装向导的最后将弹出如图6.1所示的对话框。 完成DSP Builder安装之后,依据下面的操作步骤在Matlab软件中查看DSP Builder的库: (1) 启动Matlab软件。 (2) 点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开Simulink Library Browser界面,如图6.2所示。 (3) 在Simulink Library Browser界面中打开Altera DSP Builder文件夹。 DSP Builder安装程序在磁盘上的目录结构如图6.3所示。 6.1.3 授权文件的安装 在使用DSP Builder之前,必须得到Altera的授权文件。如果没有安装DSP Builder的授权文件,用户只能用DSP Builder模块建立Simulink模型,但不能生成硬件描述语言(HDL)文件或Tcl脚本文件。 注意:在安装DSP Builder授权之前,必须已经安装了授权的Quartus Ⅱ软件。 1. 授权文件安装 得到DSP Builder授权文件后,可以直接将授权文件的内容粘贴到Quartus Ⅱ授权文件(license.dat)中,或在Quartus Ⅱ软件中单独指定DSP Builder授权文件。 方法一:粘贴授权内容到Quartus Ⅱ授权文件中,其操作步骤如下: (1) 关闭运行的下列应用软件:Quartus Ⅱ、MAX+PLUS Ⅱ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。 (2) 在文本编辑器中打开DSP Builder授权文件,其中包含FEATURE行。 (3) 在文本编辑器中打开Quartus Ⅱ授权文件license.dat。 (4) 从DSP Builder授权文件中拷贝FEATURE行内容并粘贴到Quartus Ⅱ授权文件中。 (5) 保存Quartus Ⅱ授权文件。 更新后的Quartus Ⅱ授权文件如图6.4所示。 方法二:在Quartus Ⅱ软件中指定DSP Builder授权文件,其操作步骤如下: (1) 将DSP Builder的授权文件以一个不同的文件名单独保存,如dsp_builder_license.dat。 (2) 启动Quartus Ⅱ软件。 (3) 选择Tools→License Setup命令,弹出Options对话框的License Setup页面。 (4) 在License File栏中,在已经存在的Quartus Ⅱ授权文件后面加一个分号“;”,在分号后面输入DSP Builder授权文件所在的目录及文件名。 (5) 点击0K按钮保存设置。 2. 授权有效性检查 安装好DSP Builder授权文件以后,可以在Matlab软件中验证授权的功能是否有效。 1) 单机版授权 在Matlab命令窗口输入下面的命令: dos(`lmutil lmdiag C4D5_5l2A`) 如果授权文件安装正确,则该命令产生的DsP Builder授权状态输出如图6.5所示。 2) 网络版授权 如果在授权文件中存在SERVER,在Matlab命令窗口输入下面的命令: dos(`lmutil lmstat-a`) 如果网络版授权文件安装正确,则该命令产生的DSP Buildel授权状态输出如图6.6所示。 6.2 嵌入式DSP设计流程 为使信号处理设计者直接领悟可编程逻辑的优点,无需学习新的设计流程或编程语言, Altera提出了一套新颖的设计流程。 6.2.1 DSP设计流程 Altera DSP设计流程提供了系统级综合,并且为DSP系统的软、硬件分离设计提供了灵活性。另外,Altera支持基于硬件描述语言(HDL)和基于C/C++的设计流程。Altera的整套开发工具提供了完整的设计平台,包括DSP Buildel、SOPC Builder和Quartus Ⅱ软件,允许用户在系统设计中提高性能,并获得软、硬件综合设计的灵活性。图6.7给出了Altera DSP设计的总体流程图。 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功能的设计产生一个有时间限制的编程文件。通过这个文件,设计者可以在购买授权许可之前就在板级对MegaCore功能进行验证。 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命令,指定工作目录。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

DSP Builder系统设计








签名