第7章基于FPGA的DSP开发设计_第1页
第7章基于FPGA的DSP开发设计_第2页
第7章基于FPGA的DSP开发设计_第3页
第7章基于FPGA的DSP开发设计_第4页
第7章基于FPGA的DSP开发设计_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、FPGA-CPLDFPGA-CPLD原理及应用原理及应用 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计一个家庭网关设计案例 VideoDisplayTV DecodeWirelessxDSLmCVideoProcessingCoreBaseband SignalProcessorOFDMModemProcessor5-10K Lines of Microcode100K Lines of App SW20-50K Lines of Protocol firmware5-10K Lines of Control Code250-500K Lines of firmwareO

2、ver 2M Lines of Application SW50-100K Lines of Protocol firmware250-300K Lines of DSP firmwareUp to 2M Lines of Network SW一共超过500万行代码。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计数字信号处理的核心问题 v数字信号处理的数学模型:数字信号处理的数学模型:各种数字信号处理的算法和算法的误差分析。v 数字信号处理算法的实现,包括:数字信号处理算法的实现,包括: 通用计算机软件实现(例如C、MATLAB) 专用计算机系统、各种单片机、DSP系统 A

3、SIC、FPGAv 数字信号处理算法的数字信号处理算法的FPGAFPGA实现实现: : 研究算法实现的架构和具体电路,在速度、面积、功耗和截断误差间折中,达到算法实现的指标要求。 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计DSP系统概述DSP典型系统抗混叠滤波器A/DDSP系统D/A模拟输入模拟输出数字输出FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计 DSP的典型应用一 :通信手机FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计 DSP的典型应用二:软件无线电 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计例如

4、:Matlab、C语言或其它语言编程。DSP工具软件,如simulink的信号处理仿真。缺点:成本高、处理速度受限,体积大。优点:用户的图形界面友好。应用:对于人机交互有较高要求的系统,体积不敏感的应用。数字信号处理仿真。数字信号处理的实现方案 一 在通用PC上利用软件实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计 单片机运算速度也在提高,可以实现速度要求不高或简单的信号处理算法。缺点:速度慢(尤其是乘法慢)、实时性差;优点:价格低廉;应用:计算简单的工业控制现场等。数字信号处理的实现方案 二单片机实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计

5、目前多采用RISC和改进的哈佛结构,专门的数据管理;内部有硬件乘法累加器,使乘加运算变得简单。流水线操作(pipeline)速度快,是现在的主流方法。优点:速度快、实时性好,价格合理,使用灵和;缺点:串行运算,还不能满足极高速的运算处理;应用:广泛应用于军事、民用电子等几乎所有电子领域。 数字信号处理的实现方案 三 利用通用可编程DSP芯片来实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计 直接面向特定应用的ASIC芯片,如MP3系统。直接面向特定应用的SoC,如将DSP核从传统的通用型处理器中分离出来,面向特定应用对象增加外部电路或MCU构成SOC。如DSP+ARM的双

6、核SoC器件。优点:速度快、特定应用性能好,大批量时价格最低;缺点:面向特定应用优化。应用:广泛应用于民用电子领域,适于大批量产品。数字信号处理的实现方案 四 ASIC和片上系统SoC实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计 近年来,随着FPGA技术的发展,其实现DSP算法的能力越来越强,性价比不断提高,逐步在批量产品中得到应用。特别是SOPC技术的发展,使FPGA正在逐步成为新一代的DSP系统实现方法,与DSP形成互补。优点:易于实现并行处理,速度快;可重构硬件,使用灵活,可按需设计,性价比不断提高。缺点:目前开发较难。应用:高端应用,并逐步用于军事、民用电子等

7、几乎所 有电子领域。 数字信号处理的实现方案 五 利用 FPGA等可编程逻辑阵列实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计CPU定制硬件定制硬件通用通用DSP专用专用DSP/CPU通用通用CPU可配置处理器可配置处理器性性 能能功耗功耗灵活性灵活性单位成本单位成本初始成本初始成本ASICASSPFPGAFPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计第7章 基于FPGA的DSP开发设计 在基于FPGA的DSP开发中,Altera提出了基于FPGA的DSP开发平台。 由Altera与其合作伙伴AMPP(Altera Megafunction Part

8、ner Program)提供了针对DSP设计的各种用于硬件加速的IP核。每一个核都可以进行参数设置,以构成针对特定应用的硬件功能模块。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计内容与要点n主要内容:主要内容:qDSP Builder 工具介绍;设计流程;设计规范;工具介绍;设计流程;设计规范;模块库;设计实例。模块库;设计实例。n本章要点:本章要点:qDSP Builder 设计流程、规范;设计流程、规范;Simulink模型模型仿真;利用仿真;利用MATLAB建模工具和建模工具和DSP Builder开发环境,认识如何将算法级仿真向硬件模块开发环境,认识如何将算法级仿

9、真向硬件模块实现过渡的设计过程。实现过渡的设计过程。 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计SOPC技术开发套件1)Quartus 9.1 SP22)SOPC Builder 6.03)Nios IDE 6.04)DSP Builder 6.05)Matlab 2008aFPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计StateflowStateflowStateflowBlocksetsCode Generation, RTW, SF CoderToolboxesDesktop ApplicationsAutomated ReportsDAQ c

10、ardsInstruments*Slide Courtesy of The MathWorksMATLABFPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计HDL SynthesisVerify in HardwarePlace and RouteCreates Simulation TestbenchDSP Builder Creates HDL CodeDownload Design to DSP Development KitsCreates SOPC Builder Ready ComponentFPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FP

11、GA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介基于DSP Builder的DSP模块开发流程正弦发生器模块设计实例DSP Builder层次性设计FIR数字滤波器设计实例层次性设计方法FDATool使用利用MegaCore的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介简介基于DSP Builder的DSP模块开发流程正弦发生器模块设计实例DSP Builder层次性设计FIR数字滤波器设计实例层次性设计方法FDATool使用利用Mega

12、Core的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术DSP Builder是一个是一个系统级(算法级)设计工具系统级(算法级)设计工具实现了实现了系统级(算法仿真建模)系统级(算法仿真建模) 到到 RTL级(硬件实现)级(硬件实现) 无缝过渡无缝过渡DSP Builder简介FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术 利用DSP Builder进行DSP模块设计是SOPC技术的重要组成部分: 一方面,由一方面,由Matlab/DSP Builder和和 Quartus II软件工具开软件

13、工具开发的发的DSP模块可以成为模块可以成为FPGA电路系统电路系统的组成部分;的组成部分; 另一方面,可以通过另一方面,可以通过Matlab/DSP Builder为为Nios II嵌入式嵌入式处理器设计各类加速器,并以指令的形式加入到处理器设计各类加速器,并以指令的形式加入到NIOS II的指令的指令系统,成为系统,成为Nios II系统系统的接口设备。的接口设备。DSP Builder简介FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介基于基于DSP Builder的的DSP模

14、块开发流程模块开发流程正弦发生器模块设计实例DSP Builder层次性设计FIR数字滤波器设计实例层次性设计方法FDATool使用利用MegaCore的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第五步:设计编译和下载在Quartus II中编译用户的设计,最后将设计下载,进行测试验证。第二步:转化模型文件到硬件描述语言文件利用SignalCompiler模块完成模型文件到硬件描述语言文件的转换,转换之后的HDL文件是RTL级(寄存器传输级,可综合的格式)。第三步:RTL级仿真DSP Builder支持自动流程的ModelSim仿真。用户

15、也可以利用第二步产生的HDL文件使用其它的仿真工具手动地进行仿真。第四步:RTL级综合、网表产生、适配、时序仿真自动流程中可以选择让DSP Builder自动调用Quartus II等EDA软件来完成相应的工作;手动流程允许用户选择相应的软件来完成相应的工作,手动流程需要更多的干预,同时提供了更大的灵活性,用户可以指定综合、适配等过程的条件。为确定RTL级适配后的网表与Simulink中建立的DSP模型的一致性,需要进行时序仿真第一步:完成设计输入和模型仿真利用Matlab/Simulink进行设计输入,在Matlab/Simulink中建立一个模型文件(mdl文件),调用DSP Builde

16、r和其它Simulink库中的模块,构成系统级或算法级设计框图。利用Simulink的图形化仿真、分析功能,分析设计模型的正确性,完成模型仿真。该步设计跟一般的Matlab/Simulink建模仿真没区别第三步:RTL级仿真DSP Builder支持自动流程的ModelSim仿真。用户也可以利用第二步产生的HDL文件使用其它的仿真工具手动地进行仿真。第四步:RTL级综合、网表产生、适配、时序仿真自动流程中可以选择让DSP Builder自动调用Quartus II等EDA软件来完成相应的工作;手动流程允许用户选择相应的软件来完成相应的工作,手动流程需要更多的干预,同时提供了更大的灵活性,用户可

17、以指定综合、适配等过程的条件。为确定RTL级适配后的网表与Simulink中建立的DSP模型的一致性,需要进行时序仿真第三步:RTL级仿真DSP Builder支持自动流程的ModelSim仿真。用户也可以利用第二步产生的HDL文件使用其它的仿真工具手动地进行仿真。第四步:RTL级综合、网表产生、适配、时序仿真自动流程中可以选择让DSP Builder自动调用Quartus II等EDA软件来完成相应的工作;手动流程允许用户选择相应的软件来完成相应的工作,手动流程需要更多的干预,同时提供了更大的灵活性,用户可以指定综合、适配等过程的条件。为确定RTL级适配后的网表与Simulink中建立的DS

18、P模型的一致性,需要进行时序仿真第三步:RTL级仿真DSP Builder支持自动流程的ModelSim仿真。用户也可以利用第二步产生的HDL文件使用其它的仿真工具手动地进行仿真。基于DSP Builder的DSP模块开发流程FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介基于DSP Builder的DSP模块开发流程正弦发生器模块设计实例正弦发生器模块设计实例DSP Builder层次性设计FIR数字滤波器设计实例层次性设计方法FDATool使用利用MegaCore的设计FPGA-

19、CPLD原理及应用 第7章 基于FPGA的DSP开发设计n一个简单的正弦波发生器,主要由四个部分构成。qInCount是阶梯信号发生模块,产生一个按时钟线性递增的地址信号,送往SinLUT。qSinLUT是一个sin(正弦函数)值的查找表(LUT:LookUpTable)模块,由递增的地址获得正弦波的量化值输出,输出的8位正弦波数据经延时模块Delay后送往Product乘法模块,与SinCtrl相乘。qSinCtrl是1bit输入,SinCtrl通过Product就完成了对有无正弦波输出的控制。qSinOut是整个正弦波发生器模块的输出,送往D/A即可获得正弦波的输出(模拟信号)。基于FPG

20、A的DSP开发技术FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术乘法模块一位输入,控制正弦波的有无正弦波发生器模块的输出阶梯信号发生模块,产生一个按时钟线性递增的地址信号正弦函数值的查找表模块,由递增的地址获得正弦波的离散值输出延时模块正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件1) 运行Matlab,建立工作目录,启动Simulink,新建模型文件2) 放置SignalCompiler:单击Simulink库列表中的Altera DS

21、P Builder,单击Altlab项,选中SignalCompiler组件,按住鼠标左键拖放到新模型窗口中。 SignalCompiler是任何DSP系统设计必须要添加的模块正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件3) 添加Increment Decrement模块。Increment Decrement模块是DSP Builder库中Arithmetic子库中的模块。4) 设置Inc

22、rement Decrement模块。修改模块的命名;双击模块进入模块参数设置对话框。正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术总线类型: 有符号整数 有符号小数 无符号整数总线位宽增减方向初始值是否使用控制输入选项时钟相位选择采样时间设置FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件5) 添加正弦查找表。在Gate&Control子库中找到查找表模块LUT,把LUT拖放到新建模型窗口,将LUT模块的名字修改为“SinLUT”

23、 。6) 设置正弦查找表模块参数。双击模块进入模块参数设置对话框。正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术总线类型: 有符号整数 有符号小数 无符号整数输出位宽查找表地址查找表内容计算式选中”Use LPM”选项,Quartus II 将利用目标器件中的嵌入式RAM构成SinLUT选中”Register Address”选项会生成输入地址总线。若目标器件是Straitix或者Cyclone,并且选中了LPM选项,用户必须选中”Register Address”选项FPGA-CPLD原理及应用 第7章 基于FPGA的DS

24、P开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件7) 添加Delay模块。选中Storage子库下的Delay模块,拖放到新建模型窗口。 设置延迟的周期数时钟相位选择正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件8) 添加Product(乘法)模块。在Altera DSP Builder库中选择Arithmetic子库,找到Product模块。 设置乘法模块采用的流水线级数使用参数化模块库实现使用FPGA的专用模块实现正弦发生器模块设计实例FPGA-CPL

25、D原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第一步:利用Simulink建立模型文件9) 添加端口SinCtrl。在IO & BUS子库,找到AltBus模块,拖放到新建模型窗口中,修改AltBus模块的名字为SinCtrl。 10)添加端口OUT。在IO & BUS子库,找到AltBus模块,拖放到新建模型窗口中,修改AltBus模块的名字为Out。正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术选中Saturate选项,则当输出大于最大正值或小于最小负值时,则输出被强制为最

26、大正值或最小负值。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术保存文件,完成第一步模型文件的建立进行第二步模型仿真FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术第二步:利用Simulink进行模型仿真需要添加激励信号和观察模块1) 添加Step模块加入一个Step(阶跃模块),模拟SinCtrl的按键使能操作。在Simulink基本库中选择Source子库,把Step模块拖放到Sinout模型窗口中。 2) 添加波形观察模块Scope在Simulink基本库中选择Sinks子库,把Scope(示波

27、器)模块拖放到SinOut模型窗口中。模型仿真用的来自Altera DSP Builder库外的模块,SignalCompiler不能将其转换成硬件描述语言正弦发生器模块设计实例FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术设置Scope模块的波形观察窗口数FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第二步:利用Simulink进行模型仿真3) 设置仿真激励信号。在SinOut模型中,只有一个输入端口SinCtrl,需要设置与之相连的Step模块,双击Step模块,在弹出的S

28、tep模块参数设置对话框中设置对其输入端口SinCtrl施加的激励。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术阶跃时刻(Step time):Step模块的输出在该时刻发生阶跃,默认值为1,单位为秒。初始值(Initial value):在阶跃时刻的之前的Step模块的输出值,默认值为0。终值(Final value):在阶跃时刻之后Step模块的输出值,默认值为1。采样时刻(Sample time):Step模块输出的采样频率,设为0,设成0进行连续采样;设成1只在大的时间间隔上采样。FPGA-CPLD原理及应用 第7章 基于FPGA的DS

29、P开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第二步:利用Simulink进行模型仿真4) 设置仿真参数。在SinOut模型窗口中,单击Simulation菜单,在下拉菜单中选择Simulation parameters,弹出SinOut模型的仿真参数设置对话框。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术设置仿真时间,单位秒FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第二步:利用Simulink进行模型仿真5) 启动仿真,观察仿真结果。在SinOut模型窗口

30、中,选中Simulation菜单下的Start项,开始仿真,仿真结束后,双击Scope模块,打开Scope观察窗,即可观察模型仿真结果。 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术 完成第二步基于Simulink的模型仿真进行第三步利用SignalCompiler实现算法 到硬件转化FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化1) 模型分析,双击SinOut模型中的”SignalCompiler”图标。 单击单击”

31、AnalyzeAnalyze”按钮按钮,SignalCompiler将会对模型进行分析,检查模型有无错误检查模型有无错误。如果设计存在错误,将会停止分析过程,并在Matlab软件的命令窗口中给出相关信息。如果设计不存在错误,则在分析结束后打开”SignalCompiler”窗口。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化2) 设置SignalCompiler 工程设置部分文件转化、硬件编译部分信息报告部分FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开

32、发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化2) 设置SignalCompiler 选择器件系列:不能指定具体器件型号选择综合器:Mentor的LeonardoSpectrum综合器Synplicity的Synplify综合器Altera的Quartus II优化选择:指定综合、适配过程的优化策略,面积、速度、平衡系统主时钟频率设置系统复位信号设置嵌入式逻辑分析仪设置仿真测试文件生成的选择生成DSP模块的SOPC Builder PTF文件转换MDL到VHDL,生成一个Verilog HDL的模型和测试文件FPGA-CPLD

33、原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化3)模型文件转换成HDL文件点击“Convert MDL to VHDL”的图标,执行mdl模型文件到VHDL文件的转换FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化4)综合单击步骤2-synthesis的图标,执行综合过程。综合过程完成之后,信息框中会给出此项目的一些信息:如器件的系列,使用的逻辑宏单元的数目、触

34、发器的数目、引脚数、RAM容量等FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化5)适配单击步骤3-Quartus II Fitter的图标,调用Quartus II完成编译适配过程,生成编程文件:pof文件和sof文件转化、综合、适配三步也可点击该按钮一步执行FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第三步:利用SignalCompiler实现算法到硬件转化6)编程完成转化、综合、适配三步后,“

35、Program Device”图标由不可用变为可用,即可以编程下载了。但程序下载之前,还要做一些必要的仿真:RTL级仿真、时序仿真等FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术完成第三步:利用SignalCompiler实现算法到硬件转化进行第四步利用ModelSim进行RTL级仿真FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第四步:利用ModelSim进行RTL级仿真Simulink中的模型仿真属于中的模型仿真属于系统级(算法级)仿真系统级(算法级)仿真,由,由Mdl文件

36、文件转化而来的转化而来的VHDL描述是描述是RTL级的,转换后的代码实现可能与级的,转换后的代码实现可能与Mdl模型描述的情况不完全相符:需要针对生成的模型描述的情况不完全相符:需要针对生成的RTL级级HDL代代码进行码进行RTL级仿真。级仿真。在在SignalCompiler设置窗口中的设置窗口中的Testbench页中选中页中选中 ”Generate Stimuli for VHDL Testbench”,DSP Builder在在Mdl转换到转换到VHDL的过程中会生成针对的过程中会生成针对HDL仿真器仿真器ModelSim的的测试文件。测试文件。 FPGA-CPLD原理及应用 第7章

37、基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第四步:利用ModelSim进行RTL级仿真 仿真方法: 启动ModelSim软件,选择Tools菜单下的Execute Macro,在打开的文件选择对话框中切换到SinOut模型SinOut.mdl文件所在的目录,选择tb_SinOut.tcl,ModelSim执行tb_SinOut.tcl,开启仿真。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第四步:利用ModelSim进行RTL级仿真 仿真结果显示: 仿真结果默认是以数字形式显示的,为了与

38、Simulink中的仿真结果相比,选中”tb_sinout/outu”,单击右键,在弹出菜单中选择properties,在出现的wave properties窗口中设置波形显示方式FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第四步:利用ModelSim进行RTL级仿真 Radix 设为Unsigned选中AnalogHeight 设为100Scale 设为0.4FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第四步:利用ModelSim进行RTL级仿真 F

39、PGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术完成第四步:利用ModelSim进行RTL级仿真进行第五步利用QuartusII进行时序仿真FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第五步:利用QuartusII进行时序仿真基于ModelSim的RTL级仿真是电路的功能仿真,其仿真结果未反映硬件时序的真实情况:需要进行时序仿真。SignalCompiler已经生成了利用QuartusII进行时序仿真的激励文件sinout.vec和相关仿真文件sinout_quartus.tcl

40、,可以很容易地在quartus II中实现时序仿真。 FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第五步:利用QuartusII进行时序仿真 仿真方法:1) 启动quartus II集成开发环境,执行File菜单的Open Project的操作,选择Sinout模型所在的目录,打开DSP Builder为Quartus II建立的设计项目Sinout,并在项目中打开VHDL顶层设计文件sinout.vhd;2) 指定器件的具体型号,编译顶层设计文件sinout.vhd;3) 执行Processing菜单的Start Sim

41、ulation命令,启动时序仿真。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第五步:利用QuartusII进行时序仿真FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术完成第五步:利用QuartusII进行时序仿真进行第六步硬件实现与测试FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术正弦发生器模块设计实例第六步:硬件实现与测试1)根据硬件电路的具体接口方式,如DA芯片,修改生成的VHDL文件,添加相应的引脚,编译,仿真。2)FPG

42、A芯片引脚的锁定,编译3)编程下载:利用QuartusII编程工具FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术完成第六步:硬件实现与测试 至此,经过六步操作,已经利用DSP Builder完整地实现了正弦发生器模块的设计。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介基于DSP Builder的DSP模块开发流程正弦发生器模块设计实例DSP Builder层次性设计层次性设计FIR数字滤波器设计实例层次性设计方法FDATool使用利

43、用MegaCore的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术DSP Builder层次性设计DSP Builder层次性设计主要用于搭建复杂的DSP系统,方便系统的设计与调试。DSP Builder层次性设计的方法:利用DSP Builder软件工具,将设计好的DSP模型生成子系统(Subsystem),将子系统与其他模块互联构成更大的系统。子系统可以被任意复制到其他模型文件中,双击子系统图标即可打开子系统源文件,子系统中还可以包含子系统。FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MA

44、TLAB/DSP Builder软件DSP Builder简介基于DSP Builder的DSP模块开发流程正弦发生器模块设计实例DSP Builder层次性设计FIR数字滤波器设计实例数字滤波器设计实例层次性设计方法FDATool使用利用MegaCore的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例1)FIR 滤波器原理FIR滤波器:Finite Impulse Response,有限冲激响应N-1阶FIR滤波器的系统函数为其差分方程表达式为3个延迟单元、4个乘法器、3个加法器(一个4输入加法器)FPGA-CPL

45、D原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用层次性设计的16阶FIR滤波器设计2-1)设计一个h(0)为0的4阶滤波器考虑到浮点运算在FPGA实现的复杂性,采用定点运算,并省去小数定标,采用整数运算实现FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用层次性设计的16阶FIR滤波器设计2-1)设计一个h(0)为0的4阶滤波器FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用

46、层次性设计的16阶FIR滤波器设计2-2)将设计的h(0)为0的4阶滤波器生成子系统FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用层次性设计的16阶FIR滤波器设计2-3)利用4阶滤波器子系统搭建16阶FIR滤波器FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用层次性设计的16阶FIR滤波器设计2-4)利用FDATool进行滤波器系数的设计启动FDATool:在MATLAB的命令窗口中输入fdatool回车即可 启动,进入滤波器设计界

47、面FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术参数设置完毕,点击滤波器设计按钮FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool的滤波器性能分析FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool的滤波器性能分析FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool生成滤波器

48、系数:Analysis-Filter Coefficients点击量化参数按钮FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool生成滤波器系数选择定点计算FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool生成滤波器系数FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术利用FDATool生成滤波器系数量化误差分析设置输入、输出参数量化误差分析FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发

49、技术利用FDATool生成滤波器系数导出滤器系数,并转化成整数点击file菜单的exportFPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术FIR 数字滤波器设计实例2)采用层次性设计的16阶FIR滤波器设计2-5)将利用FDATool设计的滤波器系数代入到设计的模型文件中,使用SignalCompiler将模型文件转换成VHDL文件,编译、下载,就完成了16阶FIR数字滤波器的设计FPGA-CPLD原理及应用 第7章 基于FPGA的DSP开发设计基于FPGA的DSP开发技术MATLAB/DSP Builder软件DSP Builder简介基于DSP Builder的DS

温馨提示

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

评论

0/150

提交评论