第3章DSPBuilder设计入门-ppt课件_第1页
第3章DSPBuilder设计入门-ppt课件_第2页
第3章DSPBuilder设计入门-ppt课件_第3页
第3章DSPBuilder设计入门-ppt课件_第4页
第3章DSPBuilder设计入门-ppt课件_第5页
已阅读5页,还剩193页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 第第3章章 DSP Builder设计入门设计入门 3.1 DSP Builder及其设计流程及其设计流程 3.2 DSP Builder设计导游设计导游 3.3 调幅电路模型设计例如调幅电路模型设计例如 3.4 运用运用SignalTap II嵌入式逻辑分析仪嵌入式逻辑分析仪 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3.1 DSP Builder及其设计流程及其设计流程 DSP Builder是一个系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL级两个设

2、计领域的设计工具衔接起来,最大程度地发扬了两种工具的优势。DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可以在Simulink中进展图形化设计和仿真, 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 同时又经过SignalCompiler可以把Matlab/Simulink的设计文件(.mdl)转成相应的硬件描画言语VHDL设计文件(.vhd),以及用于控制综合与编译的TCL脚本。而对后者的处置可以由FPGA/CPLD开发工具Quartus II来完成。 由于在FPGA上设

3、计一个DSP模块的复杂性,设计的性能(包括面积、速度、可靠性、设计周期)对于不同的运用目的将有不同的要求,涉及的软件工具也不仅仅是Simulink和Quartus II,DSP Builder针对不同情况提供了两套设计流程,即自动流程和手动流程。图3-1是利用DSP Builder进展DSP设计的流程框图。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 如图3-1所示,DSP Builder设计流程的第一步是在Matlab/Simulink中进展设计输入,即在Matlab的Simulink环境中建立一个mdl模型文件,用图形方式调用Altera DSP Buil

4、der和其它Simulink库中的图形模块(Block),构成系统级或算法级设计框图(或称Simulink设计模型)。 第二步是利用Simulink强大的图形化仿真、分析功能,分析此设计模型的正确性,完成模型仿真。 在这两步中,与普通的Matlab Simulink建模过程几乎没有什么区别,所不同的是设计模型库采用Altera DSP Builder的Simulink库,也不涉及到其它EDA软件,没有自动流程和手动流程的区别。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 第三步是DSP Builder设计实现的关键一步,经过SignalCompiler把Simu

5、link的模型文件(后缀为.mdl)转化成通用的硬件描画言语VHDL文件(后缀为.vhd)。由于EDA工具软件(诸如Quartus II、ModelSim)不能直接处置Matlab的.mdl文件,这就需求一个转换过程。转换获得的HDL文件是基于RTL级(存放器传输级)的VHDL描画。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-1 DSP Builder设计流程 Simulink模型仿真综合(Quartus II,LeonardoSpectrum,Synplify)ATOM Netlist产生Quartus IIHDL仿真(ModelSim)综合(Quar

6、tus II,LeonardoSpectrum,Synplify)Quartus II生成编程文件(.pof,.sof)下载至硬件自自动动流流程程手手动动流流程程mdl转成vhdlMatlabSimulink建立模型第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 再接下来的几个步骤是对以上设计产生的VHDL的RTL代码和仿真文件进展综合、编译适配以及仿真。为了针对不同用户的设计目的和设计要求,DSP Builder提供了两种不同的设计流程,主要可以分为自动流程和手动流程。 假设采用DSP Builder的自动流程,几乎可以忽略硬件的详细实现过程,可以选择让DSP

7、Builder自动调用Quartus II等EDA设计软件,完成综合(Synthesis)、网表(ATOM Netlist)生成和Quartus II适配,甚至在Matlab中完成FPGA的配置下载过程。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 假设希望运用其它第三方的VHDL综合器和仿真器(除Synplify、LeonardoSpectrum和 Quartus II综合器及ModelSim外),或是希望完成特定的适配设置,如逻辑锁定、时序驱动编译、ESB特定功能运用等,可以选用手动流程设计。 在手动流程中,设计者可以灵敏地指定综合、适配条件。不过,需求手动

8、地调用VHDL综合器进展综合,调用Quartus II进展适配,调用ModelSim或者Quartus II进展仿真,最后用Quartus II产生相应的编程文件用于FPGA的配置。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 采用手动流程时,除了行为级仿真验证和设计输入外,其它过程与规范的基于VHDL的EDA设计流程是完全一致的。由上一步DSP Builder设计流程得到VHDL文件(由Simulink模型文件*.mdl经过SignalCompilder转换而成),送入综合器进展综合。综合器可以是Synplify Pro,也可以是LeonardoSpectru

9、m,或者采用Altera本人的Quartus II。在综合时,能够需求对综合器进展配置或者提供综合的约束条件。由于这个过程操作能够比较繁琐,所以DSP Builder的SignalCompiler相应提供了一个接口,针对设计,自动产生一个TCL脚本与综合器Synplify或者LeonardoSpectrum相接。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 综合器在综合操作后会产生一个网表文件,以供下一个流程运用。这里产生的网表文件称为ATOM网表文件(如图3-1所示),主要是EDIF网表文件(.edf 电子设计交换格式文件)或VQM(.vqm Verilog

10、 Quartus Mapping File),它们是一种参数可设置的,并含有详细器件系列硬件特征(如逻辑宏单元LCs、I/O单元、乘积项、嵌入式系统块ESB等)的网表文件。Quartus II可以利用这些ATOM网表文件针对选定的详细器件进展适配,包括布线、规划、构造优化等操作,最后产生时序仿真文件和FPGA目的器件的编程与配置文件。在这一步,设计者可以在Quartus II中完成对Pin(引脚)的锁定,更改一些约束条件。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 假设用DSP Builder产生的DSP模型只是庞大设计中的一个子模块,那么可以在设计中调用DS

11、P Builder产生的VHDL文件,以构成完好的设计。同时,一样可以运用Quartus II强大的LogicLock功能和SignalTap测试技术。 在DSP Builder设计流程的最后一步,可以在DSP Builder中直接下载到FPGA用户开发板上,或者经过Quartus II完成硬件的下载、测试。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在图3-1的流程中,其中有个流程在DSP设计中是不可或缺的,那就是HDL仿真。与DSP Builder可以配合运用的HDL仿真器是ModelSim。DSP Builder在生成VHDL代码时,可以同时生成用于测试

12、DSP模块的TestBench(测试平台)文件,DSP Builder生成的TestBench文件采用VHDL言语,测试向量与该DSP模块在Simulink中的仿真鼓励相一致。经过ModelSim仿真生成的TestBench可以验证生成的VHDL代码与Simulink中DSP模型的一致性。另外,DSP Builder在产生TestBench的同时,还产生了针对ModelSim仿真的Tcl脚本来简化用户的操作,掩盖ModelSim仿真时的复杂性。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在大部分情况下,Quartus II对DSP模块适配后,需求再次验证适配后

13、网表与Simulink中建立的DSP模型的一致性。这就需求再次运用ModelSim进展仿真,这时仿真采用Quartus II适配后带延时信息的网表文件(EDIF格式或者VHDL、Verilog格式)。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3.2 DSP Builder设计导游设计导游 本节将以一个简单的可控正弦波发生模块的设计为例,详细引见DSP Builder的运用方法。图3-2所示是一个简单的正弦波发生器,主要由四个部分构成。InCount是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往SinLUT。SinLUT,顾名思义是一个sin(正弦

14、函数)值的查找表(LUT:Look Up Table)模块,由递增的地址获得正弦波的量化值输出。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 SinLUT出来后送Product乘法模块,与SinCtrl相乘。由于SinCtrl是1 bit输入,SinCtrl经过Product就完成了对有无正弦波输出的控制。SinOut是整个正弦波发生器模块的输出,送往D/A即可获得正弦波的输出(模拟信号)。 设计者在利用DSP Builder进展DSP系统相关设计时,关键的设计过程大都在Matlab的图形仿真环境Simulink中进展。第第3 3章章 DSP BuilderD

15、SP Builder设计入门设计入门 图3-2 正弦波发生模块原理图 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3.2.1 建立一个新的模型 (Model) 设计时首先需求建立一个新的设计模型,步骤如下: 1. 翻开Matlab环境 Matlab环境界面如图3-3所示。可以看到,Matlab的主窗口界面被分割成三个窗口:命令窗口(Command Window)、任务区(Workspace)、命令历史记录(Command History)。在命令窗口中可以键入Matlab命令,同时获得Matlab对命令的呼应信息、出错警告提示等。第第3 3章章 DSP Bui

16、lderDSP Builder设计入门设计入门 图3-3 Matlab界面 工作区 命令历史记录 命令窗口 工作目录 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 2. 建立任务库 在建立一个新的设计模型前,最好先建立一个新的文件夹,作为work (任务)目录,并把Matlab当前的work目录切换到新建的文件夹下。可以运用Matlab命令来完成这些操作。在Matlab主窗口中的命令窗口中键入: cd e:/ mkdir /myprj/sinwave cd /myprj/sinwave第第3 3章章 DSP BuilderDSP Builder设计入门设计入门

17、其中e:/myprj/sinwave是新建的文件夹,是用来为Matlab建立任务目录的。Mkdir是一个建立新目录的Matlab命令,cd是切换任务目录的Matlab命令。详细过程可以参见图3-4(翻开Simulink)。 经过改动Matlab主界面中的“Current Directory的制定,同样可以改动Matlab的当前任务目录。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-4 翻开Simulink 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3. 了解Simulink库阅读器 当胜利地把Matlab当前目录切换到新

18、建的设计目录后,可以在Matlab命令窗口键入“Simulink命令,以开启Matlab的图形化建模拟真环境Simulink。详见图3-4。 图3-5是Simulink的库阅读器(Library Browser)。在库阅读器的左侧是Simulink library列表,其中“Simulink库是Simulink的根本模型库。在库阅读器的右侧是选中的library中的组件、子模块列表。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 当安装完DSP Builder后,在Simulink的库阅读器中可以看到“Altera DSP Builder字样出如今library列

19、表中。在以下的DSP Builder运用中,主要是运用该库中的组件、子模型来完成各项设计,再运用Simulink库来完成模型的仿真验证。 4. Simulink的模型文件 在翻开Simulink库阅读器后,需求新建一个Simulink的模型文件(后缀为mdl),在Simulink的库阅读器中选择“File菜单(见图3-6),在出现的菜单项中选择“New,在弹出的子菜单项中选择新建模型“Model。图3-6右下角显示的就是新模型窗口。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-5 Simulink库阅读器 第第3 3章章 DSP BuilderDSP Bu

20、ilder设计入门设计入门 图3-6 建立新模型第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 5. 放置SignalCompiler 点击Simulink库阅读器左侧的库内树形列表中的Altera DSP Builder条,使之展开DSP Builder库,这时会出现一长串树形列表,对DSP builder库的子模块(Block)进展了分组。再次点击其中的AltLab项,展开AltLab,选中库阅读器右侧的SignalCompiler组件,按住鼠标右键拖动SignalCompiler到新模型窗口中(如图3-7所示)。第第3 3章章 DSP BuilderDSP

21、Builder设计入门设计入门 图3-7 放置SignalCompiler 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 6. 放置Increment Decrement 参照图3-2,将Increment Decrement模块放置到新模型中。Increment Decrement模块(见图3-8)是DSP Builder库中的Arithmetic(算术)模块。选中Altera DSP Builder库中的Arithmetic条,那么在库阅读器的右侧,可以看到Increment Decrement模块。按照放置SignalCompiler的方法,把Increm

22、ent Decrement模块拖到新建模型窗口中。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 7. 设置IncCount 用鼠标点击在新建模型窗口中的Increment Decrement模块下面的文字“Increment Decrement,就可以修正文字内容,也就是可以修正模块名字。在这里无妨将其修正为“IncCount,如图3-9所示。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-8 Increment Decrement模块 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-9 修

23、正IncCount第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 按照图3-2中描画的含义,要把IncCount模块做成一个线性递增(顺序加1)的地址发生器,就需求对IncCount模块的参数进展相应的设置。 双击新建模型中的IncCount模块,翻开IncCount的模块参数设置对话框“Block Parameters:IncCount,如图3-10所示。在参数设置对话框的上半部分是该模块的功能描画和运用阐明;对话框的下半部分是参数设置部分。对于Increment Decrement模块,共有下面几种参数可以设置:第第3 3章章 DSP BuilderDSP B

24、uilder设计入门设计入门 总线类型(Bus Type) 输出位宽(number of bits) 增减方向(Direction) 开场值(Starting Value) 时钟相位选择(Clock Phase Selection) 对于总线类型(Bus Type),在其下拉列表框中共有三种选择: 有符号整数(Signed Integer) 有符号小数(Signed Fractional) 无符号整数(Unsigned Integer)第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-10 设置IncDec 第第3 3章章 DSP BuilderDSP Bui

25、lder设计入门设计入门 在这里选择“Unsigned Integer,即无符号整数。对于输出位宽,由于在后面接着的正弦查找表(Sin LUT)的地址为6位,所以输出位宽设为6。 IncCount是一个按时钟增1的计数器,Direction设为Increment(增量方式)。对于其它设置,仍采用Increment Decrement模块的默许设置。设置完的对话框如图3-10。然后点击“OK按钮确认。 留意:假设对DSP Builder库中的模块设置参数值不了解,可以在相应模块的参数设置对话框中点击“Help按钮(或按F1键),调出DSP Builder的相应协助,以便了解详细的模块参数阐明。第

26、第3 3章章 DSP BuilderDSP Builder设计入门设计入门 8. 放置正弦查找表(SinLUT) 在Altera DSP Builder库的Gate库中找到查找表模块LUT(见图3-11)。把LUT拖到新建模型窗口,按照IncCount的做法把新调入的LUT模块的名字修正成“SinLUT。 双击SinLUT模块,翻开模块参数设置对话框“Block Parameters SinLUT,如图3-12所示。把输出位宽(Output number of bits)改为10,查找表地址线位宽(LUT Address Width)设为6。第第3 3章章 DSP BuilderDSP Bui

27、lder设计入门设计入门 图3-11 LUT模块 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-12 设置SinLUT第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在“MATLAB Array编辑框中输入计算查找表内容的计算式。在此可以直接运用sin(正弦)函数。此处sin函数的调用格式为: sin(起始值:步进值:终了值) SinLUT是一个输入地址为6位、输出值位宽为10的正弦查找表模块,且输入地址总线为无符号数,可以设置起始值为0、终了值为2、步进值为2/26。计算式可写成: 511*sin(0:2*pi/(26):2

28、*pi)+512 其中pi即为常数。设置好的SinLUT参数如图3-12所示。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 9、放置Delay模块 在Simulink库阅读器的Altera DSP Builder库中,选中Storage库下的Delay模块,放置到新建模型窗口。 Delay模块(见图3-13)是一个延时环节,在这里可以不修正其默许参数设置。其详细的默许参数设置见图3-14。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-13 Delay模块第第3 3章章 DSP BuilderDSP Builder设计入门设计

29、入门 图3-14 Delay模块默许参数设置第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在Delay模块的参数设置对话框中,参数Depth是描画信号延时深度的参数。当Depth为1时,信号传输函数为1/z,表现为经过Delay模块的信号延时1个时钟周期(Clock Phase Selection参数为1的情况下);当Depth为整数n时,其传输函数为1/zn,表现为经过Delay模块的信号将延时n个时钟周期。Delay模块在硬件上可以采用存放器来实现,这也就是为什么把Delay模块放在Storage(存储单元)库中的缘由。第第3 3章章 DSP Builder

30、DSP Builder设计入门设计入门 到如今为止,我们曾经在新建模型中放置了4个模块(Block),按照图3-2,先把他们衔接起来。把鼠标的指针挪动到上述几个模块的输入/输出端口上,鼠标指针就会变成十字形“,这时按住鼠标左键,拖动鼠标就可以连线了,如图3-15所示。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-15 连线 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 10. 放置端口SinCtrl 在Simulink库阅读器的Altera DSP Builder库中,选中Bus Manipulation库,找到AltBu

31、s模块(见图3-16),放置在新建模型窗口中。修正AltBus模块的名字为SinCtrl。 SinCtrl是一个1位输入端口,双击SinCtrl模块,翻开模块参数设置对话框,设置SinCtrl的Bus Type参数为“Single Bit,Node Type参数为“Input Port,如图3-17所示。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-16 AltBus模块 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-17 设置SinCtrl第第3 3章章 DSP BuilderDSP Builder设计入门设计入门

32、11. 放置Product(乘法)模块 在Simulink库阅读器的Altera DSP Builder库中,选中Arithmentic库,找到Product模块(如图3-18所示),用鼠标拖放到新建模型窗口中。 在这里,Product的两个输入中,一个是经过一个Delay的SinLUT查表的输出,另一个是外部的一位端口SinCtrl。按算法逻辑来看,实现了SinCtrl对SinLUT查找表输出的控制。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 双击Product模块,翻开模块参数设置对话框,设置Product的参数,如图3-19。其中Pipeline(流水线

33、)参数指定该乘法器模块运用几级流水线,即乘积延时几个时钟周期后出现。“Use LPM参数是选择能否需求采用LPM元件(LPM:Library of Parameterized Modules,参数化模块库)。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-18 Product模块 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-19 设置乘法单元第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 12. 放置输出端口SinOut 在Simulink库阅读器的Altera DSP Builder库中

34、,选中Bus Manipulation库,找到AltBus模块(见图3-17),将其放置在新建模型窗口中。修正AltBus模块的名字为SinOut。 SinOut是一个10位输出端口,接向FPGA的输出端口,与外面的10位高速D/A转换器相接,经过D/A把10位数据转换成1路模拟信号。双击SinOut模块,翻开模块参数设置对话框,设置SinOut的Bus Type参数为“Unsigned Integer,Node Type参数为“Output Port,然后点击“Apply按钮,修正“number of bits参数为10,如图3-20所示。 第第3 3章章 DSP BuilderDSP Bu

35、ilder设计入门设计入门 图3-20 设置SinOut 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 13. 设计文件存盘 放置完SinOut模块后,按照图3-21,把新建模型窗口中的DSP Builder模块衔接起来(衔接方法见前面所述),这样就完成了一个正弦波发生器的DSP Builder模型设计。在进展仿真验证和SignalCompiler编译之前,先对设计进展存盘操作:第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-21 原理图(无Sim) 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门

36、 点击新建模型窗口的“File菜单,在下拉菜单中选择“Save项,取名并保管。在这个例子中,对新建模型取名为Sinout,模型文件为sinout.mdl。在保管终了后,新建模型窗口的标题栏就会显示模型称号 留意:对模型文件取名时,尽量用英文字母打头,不运用空格,不用中文,文件名不要过长。 在对模型取名后,就可以运用SignalCompiler进展编译,把mdl文件转换为VHDL文件。不过如今模型的正确性还是未知的,需求进展仿真验证。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3.2.2 Simulink模型仿真 Matlab的Simulink环境具有强大的图形

37、化仿真验证功能。用DSP Builder模块设计好一个新的模型后,可以直接在Simulink中进展算法级、系统级仿真验证。对一个模型进展仿真,需求施加适宜的鼓励、一定的仿真步进和仿真周期,并添加适宜的察看点和察看方式。 1. 参与仿真步进模块 首先参与一个Step模块,以模拟SinCtrl的按键使能操作。在Simulink库阅读器中,展开Simulink库,选中Sources库,把Sources库中的Step模块拖放到sinout模型窗口中(如图3-22)。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-22 Step模块第第3 3章章 DSP Builde

38、rDSP Builder设计入门设计入门 图3-23 Scope模型第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 2. 添加波形察看模块 在Simulink的库阅读器中,展开Simulink库,选中其中的Sinks库,把Scope(示波器)模块拖放到sinout模型窗口中(如图3-23)。双击该Scope模块,翻开的是一个Scope(示波器)窗口,如图3-24。图中所示只需一个信号的波形察看窗口,而假设希望可以多察看几路信号,自然可以经过调用多个Scope模块的方法来实现,这里仅引见一种方法,经过修正Scope模块参数来在同一个Scope模块中添加察看窗。第第3

39、 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-24 Scope初始显示 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3. Scope参数设置 用鼠标点击Scope模块窗口上侧工具栏的第二个工具按钮“Parameters,参数设置按钮,翻开Scope参数设置对话框,见图3-24。 在Scope参数设置对话框中共有两个选项页:“Gerneral(通用)和“Data history(数据历史)。在“Gerneral选项页中将“Number of axes参数改为3,如图3-25所示。在点击“OK按钮确认后,可以看到Scope窗口添加了

40、两个波形察看窗。每个察看窗都可以分别察看信号波形,而且相对独立。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-25 设置Scope参数 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 4. 设置Mux模块 假设需求对某些信号进展对比察看,希望放置在同一个波形察看窗中,以便更好地察看信号之间的异同点,可以运用Mux模块(如图3-26所示)来辅助完成。 在Simulink库阅读器中,选中Simulink库,找到Simulink的Signal Routing库下的Mux模块,拖放到sinout模型窗口,按照图3-27来设置Mux模块

41、,把“Number of inputs(输入数目)参数设定为2。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-26 Mux模块第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-27 设置Mux第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 5. 设置仿真鼓励 按图3-28衔接sinout模型的全图,预备开场仿真。在仿真前还需求设置一下与仿真相关的参数。 先设置模型的仿真鼓励。在sinout模型图中只需一个输入端口SinCtrl,需求设置与此相连的Step模块。第第3 3章章 DSP Build

42、erDSP Builder设计入门设计入门 图3-28 sinout全图第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 双击放置在sinout模型窗口中的Step模块,设置对输入端口SinCtrl施加的鼓励。在翻开的Step模块参数设置对话框中,可以看到一些参数(详见图3-29),这些参数值的含义如下: Step time:步进间隔 Initial value:初始值 Final value:终值 Sample time:采样时间 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-29 设置Step第第3 3章章 DSP Buil

43、derDSP Builder设计入门设计入门 在此设置“Step time为500;“Initial value为0,即初始时不输出正弦波;“Final value为1;“Sample time为1。把最后两项选择:“Interpret vector parameters as 1-D和“Enable zero crossing dectection都设为打勾。 在sinout模型窗口中,点击“Simulation菜单,在下拉菜单中选择“Simulation parameters菜单项,如图3-30所示。随后,将弹出sinout模型的仿真参数设置对话框“Simulation Parameter

44、s : sinout。该对话框中共有5个选项页:第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 Solver Workspace I/O Diagnostics Advanced Real-Time Workshop 其中,“Solver选项页中完成仿真时根本的时间设置、步进间隔和方式设置及输出选项设置。在sinout模型中,可设置“Start time为0.0,“Stop time为1000。其它设置取默许值。选项页的设置也取默许设置。然后,点击“OK按钮确认。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-30 Simuli

45、nk仿真设置第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 6. 启动仿真 在sinout模型窗口中选择“Simulation菜单,再选“Start项开场仿真,如图3-31所示。待仿真终了,双击Scope模块,翻开Scope察看窗。图3-32显示了仿真结果,SinOut信号是sinout模型的输出(Scope察看窗中模拟了D/A的输出波形),SinCtrl信号是sinout模型的输入。可以看出SinOut遭到了SinCtrl的控制。当SinCtrl为1时,SinOut波形是正弦波;当SinCtrl为0时,输出为0。SinTemp是sinout模型内部的衔接信号,用

46、来察看sinout模型内部的情况。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-31 Simulink仿真Start 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-32 Scope波形 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在Scope察看窗中,可以运用工具栏中的按钮来放大/减少波形,也可以在波形上单击右键运用“Autoscale,使波形自动适配波形察看窗。用鼠标左键可以放大波形。 把SinTemp信号波形放大一些可以看到两个波形,一个波形比另一个波形延时了一个周期。如图3-33

47、所示。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-33 波形延时 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 3.2.3 SignalCompiler的运用 在Simulink中完成仿真验证后,就需求把设计转到硬件上加以实现。这是整个DSP Builder设计流程中最为关键的一步,在这一步,可以获得针对特定FPGA芯片的VHDL代码。详细步骤如下:第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 1. 分析当前的模型 双击sinout模型中的SignalCompiler模块,会出现如图3-34

48、所示的对话框,点击“Analyze(分析)按钮后,SignalCompiler就会对sinout模型进展分析,检查模型有无错误,并在Matlab主窗口弹出对话框给出相关信息。假设有错误(Error)存在,SignalCompiler就会停顿分析过程,并把错误信息显示在Matlab主窗口的“Command Window命令窗口中;反之,在分析过程终了后,翻开Signal Compiler窗口(见图3-35),假设有警告(Warning)存在,同错误一样把警告信息显示在命令窗口。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-34 双击SignalCompile

49、r后的对话框 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-35 Signal Compiler窗口 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 Simulink具有较为强大的错误定位才干,对许多错误可以在Simulink模型中直接定位,用不同的颜色提示有错误的Simulink模块(Block)。当Signal Compiler分析当前DSP模型有错误时,必需去除错误才干继续DSP Builder流程,即不会出现Signal Compiler窗口。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门

50、 2. 设置Signal Compiler 图3-35所示的Signal Compiler窗口大致上可以分为三个功能部分: 左侧的工程设置选项“Project Setting Options; 右侧的硬件编译流程“Hardware Compilation; 下方的信息框“Messages。 Signal Compiler的设置都集中在工程设置选项部分。在“Device(器件)下拉选择框中选择需求的器件系列,默以为Stratix系列器件,对此可以修正。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 比如,可选为ACEX1K系列器件。需求留意的是,在“Device中

51、只能选择器件系列,不能制定详细的器件型号,这需由Quartus II自动决议运用该器件系列中的某一个详细型号的器件。 在“Device下拉选择框中,有一个“DSP Board的选择,这是一个特殊的选项,是针对Altera详细的DSP开发板的,有关情况将在第4章中引见。 “Synthesis(综合)下拉选择框可以选择综合器,共有三个选择:第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 “LeonardoSpectrum:Mentor的LeonardoSpectrum综合器; “Synpilfy:Synpilicity的Synpilfy Pro或Synpilfy综合器

52、; “Quartus II:Altera的FPGA/CPLD开发集成环境,内含综合功能。 在这个例子中,可选择Quartus II。 “Optimization(优化)下拉选择框指明在综合、适配过程中的优化条件,是对面积(Area)优化还是对速度(Speed)优化的选择,即资源占用优先还是性能优先。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 工程设置选项(“Project Setting Options)部分的下侧是一些选项页,其中; “Main Clock中指定系统主时钟的周期; “Reset是系统复位信号的设置; “SignalTap II是嵌入式逻辑分析

53、仪SignalTap的设置; “TestBench是仿真测试文件生成的选择; “SOPC info是SOPC相关设置。 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 在这里,无妨指定Main Clock的周期为20 ns,点击的右边箭头找到“TechBench选项页(见图3-36),选择“Generate Stimuli for VHDL Testbench生成含鼓励的仿真测试文件,用于VHDL仿真。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-36 Testbench选项页 第第3 3章章 DSP BuilderDSP B

54、uilder设计入门设计入门 3. 把模型文件MDL转换成VHDL 当设置好“Device和“Synthesis后,右侧的硬件编译“Hardware Compilation部分就会列出一个操作流程,见图3-37。该流程为: (1) “Convert MDL to VHDL:将.mdl文件转换为VHDL文件; (2) “Synthesis:综合; (3) “Quartus II:Quartus编译适配,生成编程文件。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-37中的第4步是隐去的,这一步实如今Simulink中,完成FPGA的硬件配置下载。这需求DSP开

55、发板的支持,当“Device选为“DSP Board时,这一步才显示出来。 按上述流程,先点击步骤1的图标,完成Simulink文件(*.mdl)到VHDL文件的转换。转换完成后,在“Messages信息提示框中会显示(见图3-37): “Generated top levelsinout.vhdfiles,即顶层文件sinout.vhd完成转换。假设有错误,在“Messages信息提示框中会显示简短的出错提示。第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 图3-37 出现MDL to VHDL信息第第3 3章章 DSP BuilderDSP Builder设计

56、入门设计入门 例3-1显示的就是由sinout模型生成的VHDL代码。【例3-1】由sinout模型生成的sinout.vhd文件。- DSP Builder (Version 2.1.2)- Quartus II development tool and MATLAB/Simulink Interface- Copyright ?2019-2019 Altera Corporation. All rights reserved.- The DSP Builder software, including, without limitation, - the clock-cycle limite

57、d 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 - versions of the MegaCore? Logic Functions included therein, - may only be used to - develop designs for programmable logic devices manufactured - by Altera Corporation - and sold by Altera Corporation and its authorized distributors. - IN NO EVENT MAY - SUC

58、H SOFTWARE AND FUNCTIONS BE USED TO PROGRAM ANY - PROGRAMMABLE LOGIC DEVICES, FIELD第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 - PROGRAMMABLE GATE ARRAYS, ASICS, STANDARD PRODUCTS, OR ANY - OTHER SEMICONDUCTOR - DEVICE MANUFACTURED BY ANY COMPANY OR ENTITY OTHER THAN ALTERA.- For the complete - terms and

59、 conditions applicable to your use of the software - and functions, please - refer to the Altera Program License directory第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 -library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;library dspbuilder;use dspbuilder.dspbuilderblock.all;library lpm;u

60、se lpm.lpm_components.all;Entity sinout is 第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 Port( clock : in std_logic; sclrp : in std_logic:=0; iSinCtrls : in std_logic; oSinOuts : out std_logic_vector(9 downto 0);end sinout;architecture aDspBuilder of sinout is第第3 3章章 DSP BuilderDSP Builder设计入门设计入门 signal S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论