DSPBuilder设计.ppt
《DSPBuilder设计.ppt》由会员分享,可在线阅读,更多相关《DSPBuilder设计.ppt(93页珍藏版)》请在三一办公上搜索。
1、DSP Builder工具及设计流程,DSP Builder是Altera公司提供的一种DSP系统设计工具,是Matlab/Simulink设计工具和QuartusII设计工具之间的一个桥梁,把Matlab/Simulink中的系统设计转化为文件,在QuartusII工具中实现到具体的器件中。产生于MatlabDSP BuilderQuartus II流程的DSP模块或其他功能模块可以成为单片FPGA电路系统中的一个组成部分,担任某个局部电路的功能;通过MatlabDSP Builder,可以直接为Nios II嵌入式处理器设计各类加速器,成为Nios II系统的一个接口设备,与整个片内嵌入式
2、系统融为一体。,DSP Builder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。,DSP Builder及其设计流程,DSP Builder以Simulink的Blockset出现,可以在Simulink中进行图形化设计和仿真,通过SignalCompiler把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处理可以由FPGA/CPLD开发工具Quartus II来完成。,在Simulink中
3、搭建系统的模型进行仿真,并可从该模型自动生成可综合的VHDL代码,两者的逻辑功能一一对应。得到可综合的VHDL代码之后,可以按传统的FPGA开发流程那样手工对代码进行综合和适配,在不需要对代码进行修改时,可以使用DSP Builder提供的自动流程,在Simulink集成环境中直接调用特定的综合器和适配器执行生成的相应脚本在后台进行综合和适配。,DSP Builder还可以输出Simulink中使用的仿真激励,并生成测试平台和在Model Sim中使用的脚本,只需要在Model Sim中执行此脚本就可以使用所输出的Simulink中使用的仿真激励对实现代码的逻辑功能进行测试。,利用DSP Bu
4、ilder进行DSP设计的流程框图。,DSP Builder设计流程,第一步是在Matlab的Simulink环境中建立一个mdl模型文件,调用Altera DSP Builder和其它Simulink库中的图形模块(Block),构成设计框图(或称Simulink设计模型)。第二步是利用Simulink强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。在这两步中,与一般的Matlab Simulink建模过程几乎没有什么区别,所不同的是设计模型库采用Altera DSP Builder的Simulink库。,DSP Builder设计流程,第三步是DSP Builder设计实
5、现的关键一步,通过SignalCompiler把Simulink的模型文件(后缀为.mdl)转化成通用的硬件描述语言VHDL文件(后缀为.vhd)。由于EDA工具软件(诸如Quartus II、ModelSim)不能直接处理Matlab的.mdl文件,这就需要一个转换过程。转换获得的HDL文件是基于RTL级(寄存器传输级)的VHDL描述。,再接下来的几个步骤是对以上设计产生的VHDL的RTL代码和仿真文件进行综合、编译适配以及仿真。为了针对不同用户的设计目的和设计要求,DSP Builder提供了两种不同的设计流程,主要可以分为自动流程和手动流程。,如果采用DSP Builder的自动流程,几
6、乎可以忽略硬件的具体实现过程,DSP Builder自动调用Quartus II等EDA设计软件,完成综合(Synthesis)、网表(ATOM Netlist)生成和Quartus II适配,甚至在Matlab中完成FPGA的配置下载过程。,如果希望使用其它第三方的VHDL综合器和仿真器(除Synplify、LeonardoSpectrum和 Quartus II综合器及ModelSim外),或是希望完成特定的适配设置,如逻辑锁定、时序驱动编译、ESB特定功能应用等,可以选用手动流程设计。,在手动流程中,可以灵活地指定综合、适配条件。不过,需要手动地调用VHDL综合器进行综合,调用Quart
7、us II进行适配,调用ModelSim或者Quartus II进行仿真,最后用Quartus II产生相应的编程文件用于FPGA的配置。,采用手动流程时,除了行为级仿真验证和设计输入外,其它过程与标准的基于VHDL的EDA设计流程是完全一致的。由上一步DSP Builder设计流程得到VHDL文件(由Simulink模型文件*.mdl通过SignalCompilder转换而成),送入综合器进行综合。综合器可以是Synplify Pro,也可以是LeonardoSpectrum,或者采用Altera自己的Quartus II。在综合时,可能需要对综合器进行配置或者提供综合的约束条件。由于这个过
8、程操作可能比较繁琐,所以DSP Builder的SignalCompiler相应提供了一个接口,针对设计,自动产生一个TCL脚本与综合器Synplify或者LeonardoSpectrum相接。,综合器在综合操作后会产生一个网表文件,以供下一个流程使用。这里产生的网表文件称为ATOM网表文件,主要是EDIF网表文件(.edf 电子设计交换格式文件)或VQM(.vqm Verilog Quartus Mapping File),它们是一种参数可设置的,并含有具体器件系列硬件特征(如逻辑宏单元LCs、I/O单元、乘积项、嵌入式系统块ESB等)的网表文件。Quartus II可以利用这些ATOM网表
9、文件针对选定的具体器件进行适配,包括布线、布局、结构优化等操作,最后产生时序仿真文件和FPGA目标器件的编程与配置文件。在这一步,设计者可以在Quartus II中完成对Pin(引脚)的锁定,更改一些约束条件。,如果用DSP Builder产生的DSP模型只是庞大设计中的一个子模块,则可以在设计中调用DSP Builder产生的VHDL文件,以构成完整的设计。在DSP Builder设计流程的最后一步,可以在DSP Builder中直接下载到FPGA用户开发板上,或者通过Quartus II完成硬件的下载、测试。,DSP Builder在生成VHDL代码时,可以同时生成用于测试DSP模块的Te
10、stBench(测试平台)文件,DSP Builder生成的TestBench文件采用VHDL语言,测试向量与该DSP模块在Simulink中的仿真激励相一致。通过ModelSim仿真生成的TestBench可以验证生成的VHDL代码与Simulink中DSP模型的一致性。另外,DSP Builder在产生TestBench的同时,还产生了针对ModelSim仿真的Tcl脚本来简化用户的操作,掩盖ModelSim仿真时的复杂性。,在大部分情况下,Quartus II对DSP模块适配后,需要再次验证适配后网表与Simulink中建立的DSP模型的一致性。这就需要再次使用ModelSim进行仿真,
11、这时仿真采用Quartus II适配后带延时信息的网表文件(EDIF格式或者VHDL、Verilog格式)。,DSP Builder设计向导,以一个简单的可控正弦波发生模块的设计为例,详细介绍DSP Builder的使用方法。在利用DSP Builder进行DSP系统相关设计时,关键的设计过程大都在Matlab的图形仿真环境Simulink中进行。,一个简单的正弦波发生器,主要由四个部分构成。InCount是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往SinLUT。SinLUT是一个sin(正弦函数)值的查找表(LUT:Look Up Table)模块,由递增的地址获得正弦波的量化
12、值输出,输出的8位正弦波数据经延时模块Delay后送往Product乘法模块,与SinCtrl相乘。SinCtrl是1 bit输入,SinCtrl通过Product就完成了对有无正弦波输出的控制。SinOut是整个正弦波发生器模块的输出,送往D/A即可获得正弦波的输出(模拟信号)。,正弦波发生模块原理图,建立一个新的模型(Model),设计时首先需要建立一个新的设计模型,步骤如下:建立工作库:在建立一个新的设计模型前,最好先建立一个新的文件夹,作为work(工作)目录,并把Matlab当前的work目录切换到新建的文件夹下。在Matlab主窗口中的命令窗口中键入:cd e:/mkdir/myp
13、rj/sinwave cd/myprj/sinwave,其中e:/myprj/sinwave是新建的文件夹,是用来为Matlab建立工作目录的。kdir是一个建立新目录的Matlab命令,cd是切换工作目录的Matlab命令。通过改变Matlab主界面中的“Current Directory”的制定,同样可以改变Matlab的当前工作目录。,当成功地把Matlab当前目录切换到新建的设计目录后,可以在Matlab命令窗口键入“Simulink”命令,以开启Matlab的图形化建模仿真环境Simulink。当安装完DSP Builder后,在Simulink的库浏览器中可以看到“Altera D
14、SP Builder Blockset”字样出现在Libraries列表中,其中包括一些基本的算术单元和一些Altera的DSP类的IP核。在DSP Builder应用中,主要是使用该库中的组件、子模型来完成各项设计,再使用Simulink库来完成模型的仿真验证。,Simulink库浏览器,Simulink的模型文件,在打开Simulink库浏览器后,需要新建一个Simulink的模型文件(后缀为mdl),在Simulink的库浏览器中选择“File”菜单,在出现的菜单项中选择“New”,在弹出的子菜单项中选择新建模型“Model”。,放置SignalCompiler,点击Simulink库浏
15、览器左侧的库内树形列表中的Altera DSP Builder Blockset条,使之展开DSP Builder库,这时会出现一长串树形列表,对DSP Builder库的子模块(Block)进行了分组。点击其中的AltLab项,展开AltLab,选中库浏览器右侧的SignalCompiler组件,按住鼠标右键拖动SignalCompiler到新模型窗口中,放置SignalCompiler,放置Increment Decrement,将Increment Decrement模块放置到新模型中。选中Altera DSP Builder Blockset库中的Arithmetic(算术)条,则在库
16、浏览器的右侧,可以看到Increment Decrement模块。把Increment Decrement模块拖到新建模型窗口中。,设置IncCount,用鼠标点击在新建模型窗口中的Increment Decrement模块下面的文字“Increment Decrement”,将模块名字修改为“IncCount”。,要把IncCount模块做成一个线性递增(顺序加1)的地址发生器,就需要对IncCount模块的参数进行相应的设置。双击新建模型中的IncCount模块,打开IncCount的模块参数设置对话框。在参数设置对话框的上半部分是该模块的功能描述和使用说明;对话框的下半部分是参数设置部分
17、。,对于Increment Decrement模块,共有下面几种参数可以设置:总线类型(Bus Type)输出位宽(Number Of Bits)增减方向(Direction)开始值(Starting Value)时钟相位选择(Clock Phase Selection)对于总线类型(Bus Type),在其下拉列表框中共有三种选择:有符号整数(Signed Integer)有符号小数(Signed Fractional)无符号整数(Unsigned Integer),设置IncDec,一般的D/A器件的输入数据都是无符号的正数。因此,为了能在硬件系统上D/A的输出也能观察到此波形,设置所有模
18、块的数据类型为无符号。Bus Type选择“Unsigned Integer”,即无符号整数。对于输出位宽,由于在后面接着的正弦查找表(Sin LUT)的地址为6位,所以输出位宽设为6。,IncCount是一个按时钟增1的计数器,Direction设为Increment(增量方式)。Clock Phase Selection可设置为1(二进制)。Specify Clock不选,通常在simulink图中的原件的复位端和时钟端(如果存在的话)是分别默认接于低电平和与全局时钟相连的。对于其它设置,仍采用Increment Decrement模块的默认设置。然后点击“OK”按钮确认。,注意:若对DS
19、P Builder库中的模块设置参数值不了解,可以在相应模块的参数设置对话框中点击“Help”按钮(或按F1键),调出DSP Builder的相应帮助,以便了解详细的模块参数说明。,放置正弦查找表(SinLUT),在Altera DSP Builder Blockset库的Storage库中找到查找表模块LUT。把LUT拖到新建模型窗口,将LUT模块的名字修改成“SinLUT”。双击SinLUT模块,打开模块参数设置对话框。把输出位宽(Number Of Bits)改为10,查找表地址线位宽(Address Width)设为6。,设置SinLUT,在“MATLAB Array”编辑框中输入计算
20、查找表内容的计算式。在此可以直接使用sin(正弦)函数。此处sin函数的调用格式为:sin(起始值:步进值:结束值)SinLUT是一个输入地址为6位、输出值位宽为10的正弦查找表模块,且输入地址总线为无符号数,可以设置起始值为0、结束值为2、步进值为2/26。计算式可写成:511*sin(0:2*pi/(26):2*pi)+512其中pi即为常数。,LUT中的公式实现的功能是在原输出的有符号数据上加上了511。原理是将乘法器输出的8位有符号数的最高位取反并以无符号数输出。如果改变地址线宽,如8,以上的2的6次方要改成2的8次方。在“Use LPM”处选择打勾,表示允许QuartusII利用目标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSPBuilder 设计
链接地址:https://www.31ppt.com/p-5428113.html