版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1前文回顾前文回顾n16位位CPU的设计的设计21. 系统的架构(结构框图)系统的架构(结构框图)2. 系统基本部件设计系统基本部件设计3. CPU的功能、时序仿真的功能、时序仿真设计流程设计流程实现流程实现流程4. 硬件调试硬件调试 (SignalTap)分析系统功能,画出包含模块,以及模块连接。分析部件功能,设计状态编码。在QII内建vwf文件,给定激励仿真功能和时序。下载到FPGA调试,并监测特定信号。a. 程序包编写程序包编写b. 分模块编写代码,分模块编写代码, 实现功能实现功能(封装封装)c. 顶层文件设计、顶层文件设计、 模块例化模块例化(原理图原理图)d. 仿真、硬件调试仿真、
2、硬件调试前文回顾前文回顾n16位位CPU的设计的设计3因此,16位CPU的设计有什么特点?1.相对于QII设计来说,CPU设计只是其中一个案例而已。 设计过程遵循QII的基本流程; 只不过系统稍显复杂,包含较多部件,是状态机的应用。2.相对于传统的硬件设计来说,体现了EDA设计方法的优越性。 设计过程清晰、高效; 仿真、调试方便快捷; 开发成本低、方便存档和管理等等。衔接内容衔接内容n基本的基本的EDA开发技术(开发技术(VHDL/QII)n特殊的开发技术特殊的开发技术4基于基于Matlab 和和 DSP Builder的开发技术的开发技术EDA的基本概念,相关硬件开发软件的使用QIIVHDL
3、语法、结构基于FPGA的开发流程基于基于QIIDSPDSPn数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。n20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。n数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。5DSPDSP应用应用n语音处理语音处理:语音编码、合成、识别、增强、邮件、储存等。n图像图像/图形图形:二维和三维图形处理、图像压缩与传输、图像识别、机器人视觉、多媒体、电子地图、图像增强等。n军事军事:保密
4、通信、声纳处理、导航、全球定位等。n仪器仪表仪器仪表:频谱分析、函数发生、数据采集、地震处理等n自动控制自动控制:深空作业、自动驾驶、机器人控制等。n医疗医疗:助听、超声设备、诊断工具、病人监护、心电图等。n家用电器家用电器:数字电视、可视电话、音乐合成等。n生物医学信号处理生物医学信号处理:CT图像重建、心电信号分析等。6DSPDSP微处理器微处理器nDSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。 nDSP优点优点对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;可以分时复用,共享处理器;方便调整处理器的系数
5、实现自适应滤波;可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储等;可用于频率非常低的信号。nDSP缺点缺点需要模数转换;受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠。7DSPDSP与与EDAEDA开发开发n最初是利用汇编语言或C 语言进行DSP功能开发,开发周期长、效率低,不利于算法验证和产品的快速开发。 n由MathWorks公司和TI 公司联合开发了一个全新的工具箱,它提供了MATLAB和DSP目标板的接口,利用此工具可以MATLAB 环境下完成对DSP的操作,从而极大地提高DSP 应用系统的开发进程。 n本章介绍的是Altera
6、公司于2002年推出的DSP Builder,主要完成基于FPGA的应用系统设计。n以图形化的系统建模,可以自动化的完成大部分的设计和仿真,并下载到FPGA开发板。8本章提要本章提要nMatlab/DSP Builder及其设计流程及其设计流程n正弦信号发生器设计正弦信号发生器设计nDSP Builder 层次化设计nDDS设计n数字编码、译码器设计n硬件环HIL仿真设计n状态机设计99.1 Matlab/DSP Builder9.1 Matlab/DSP Builder及其设计流程及其设计流程 10Altera公司2002年推出DSP Builder,整合于Matlab中。主要用于算法、信号
7、处理与产生等系统设计。9.1 Matlab/DSP Builder9.1 Matlab/DSP Builder及其设计流程及其设计流程 11在Simulink中以图形方式调用DSP Builder,构成系统或算法级设计框图 (Simulink设计模型)利用Simulink的图形化仿真、分析功能,初步分析设计模型的正确性 (模型仿真)利用SignalComplier把Simulink模型文件,转化为VHDL文件(RTL级),然后进行基于QII的进一步开发基于Matlab/DSP Builder的基本设计流程:9.1 Matlab/DSP Builder9.1 Matlab/DSP Builder
8、及其设计流程及其设计流程 12图图9-1 基于基于Matlab、DSP Builder、QuartusII等工具等工具 Simulink模 型 仿 真综 合(Quartus II,LeonardoSpectrum,Synplify)ATOM Netlist产 生Quartus IIHDL仿 真(ModelSim)综 合(Quartus II,LeonardoSpectrum,Synplify)Quartus II生 成 编 程 文 件(.pof,.sof)下 载 至 硬 件自自 动动 流流 程程手手 动动 流流 程程mdl转 成vhdlMatlabSimulink建 立 模 型STEP 1建立
9、图像化模型并仿真建立图像化模型并仿真STEP 2利用利用SignalComplier将将系统级系统级RTL级级STEP 3利用利用QII进行进行进一步开发进一步开发9.1 Matlab/DSP Builder9.1 Matlab/DSP Builder及其设计流程及其设计流程 13自动流程:自动流程:1、MATLAB/Simulink建模;2、系统仿真;3、DSP Builder完成VHDL转换、 综合、适配、下载;4、嵌入式逻辑分析仪实时测试。手动流程:手动流程:1、MATLAB/Simulink建模;2、系统仿真;3、DSP Builder完成VHDL转换、综合、适配;4 4、Models
10、imModelsim对对TestBenchTestBench功能仿真;功能仿真;5 5、QuartusIIQuartusII直接完成适配(进行优化设置);直接完成适配(进行优化设置);6 6、QuartusIIQuartusII完成时序仿真;完成时序仿真;7 7、引脚锁定;、引脚锁定;8、下载/配置与嵌入式逻辑分析仪等实时测试;9、对配置器件编程,设计完成。依据应用目标的不同要求,开发人员的熟练程度差异,DSP Builder 提供两套设计流程,即:9.2 9.2 正弦信号发生器设计正弦信号发生器设计 14在哪里做过正弦信号发生器设计?在哪里做过正弦信号发生器设计?是怎么来实现的?是怎么来实现
11、的?第四章 QII使用方法_LPM_ROM设计9.2 9.2 正弦信号发生器设计正弦信号发生器设计 15图图9-2 正弦波发生模块原理图正弦波发生模块原理图 阶梯信号发生模块阶梯信号发生模块 正弦函数值查找表模块正弦函数值查找表模块 延时模块延时模块 乘法模块乘法模块基于DSP Builder的设计框图:9.2 9.2 正弦信号发生器设计正弦信号发生器设计 169.2.1 9.2.1 建立设计模型建立设计模型 1、打开、打开Matlab环境环境 图图9-3 Matlab界面界面9.2 9.2 正弦信号发生器设计正弦信号发生器设计 179.2.1 9.2.1 建立设计模型建立设计模型 2、建立工
12、作库、建立工作库(建立工程所在位置建立工程所在位置) cd e:/ mkdir /myprj/sinwavecd /myprj/sinwave 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 183、了解、了解simulink库管理器库管理器 图图9-2 在在matlab命令窗口中打开命令窗口中打开simulink9.2 9.2 正弦信号发生器设计正弦信号发生器设计 193、了解、了解simulink库管理器库管理器 图图9-5 simulink库库管理器管理器注意:注意:要事先安装要事先安装DSPDSPBuilderBuilder程序,才程序,才能在完成模型设计能在完成模型设计后,转为
13、后,转为vhdlvhdl文件文件9.2 9.2 正弦信号发生器设计正弦信号发生器设计 204. simulink的模型文件的模型文件 图图9-6 建立建立simulink新模型新模型9.2 9.2 正弦信号发生器设计正弦信号发生器设计 215、放置、放置SignalCompilder 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 226. 放置放置Increment Decrement 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 23图图9-8 递增递减模块改名为递增递减模块改名为IncCount 7. 重命名为重命名为IncCount,并进行相关参数设置,并进行相关参数设置
14、可以设置的参数包括:可以设置的参数包括:总线类型(总线类型(Bus Type););输出位宽(输出位宽(Number of bits););增减方向(增减方向(Direction););开始值(开始值(Starting Value););是否使用控制输入(是否使用控制输入(Use Control Inputs)时钟相位选择(时钟相位选择(Clock Phase Selection)9.2 9.2 正弦信号发生器设计正弦信号发生器设计 24图图9-9 设置递增递减模块设置递增递减模块 7. 设置设置IncCount 有符号整数;无符号整数;有符号小数。9.2 9.2 正弦信号发生器设计正弦信号发
15、生器设计 25图图9-10 LUT模块模块 8. 放置正弦查找表(放置正弦查找表(SinLUT) 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 26图图9-11 设置设置SinLUT 8、放置正弦查找表(、放置正弦查找表(SinLUT) 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 127*sin(0:2*pi/26:2*pi) 9-1278、放置正弦查找表(、放置正弦查找表(SinLUT) 127*sin(0:2*pi/28:2*pi) 9-2511*sin(0:2*pi/26:2*pi) + 512 9-3输入地址为6位,输出8位有符号,-127+127输入地址为8位,输出
16、8位有符号,-127+127输入地址为6位,输出为10位无符号无符号,110239.2 9.2 正弦信号发生器设计正弦信号发生器设计 28图图9-12 Delay模块及其参数设置窗模块及其参数设置窗 9、放置、放置Delay模块模块 延迟深度,即延迟的时钟周期个数9.2 9.2 正弦信号发生器设计正弦信号发生器设计 29图图9-13 设置设置SinCtrl 10、放置端口、放置端口SinCtrl 生成VHDL时,表示端口模式为IN,数据类型为STD_LOGIC9.2 9.2 正弦信号发生器设计正弦信号发生器设计 30图图9-14 设置乘法单元设置乘法单元 11、放置、放置Product模块模块
17、 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 31图图9-15 设置设置SinOut 12. 放置输出端口放置输出端口SinOut 生成VHDL时,表示端口模式为OUT,数据类型为STD_LOGIC_VECTOR(7 downto 0)9.2 9.2 正弦信号发生器设计正弦信号发生器设计 32图图9-16 Step模块模块 9.2.2 Simulink9.2.2 Simulink模型仿真模型仿真 1、加入仿真步进模块、加入仿真步进模块 需要设定一下几个参数:需要设定一下几个参数:合适的激励合适的激励仿真步长和仿真周期仿真步长和仿真周期观察点和观察方式观察点和观察方式Simulink库
18、 Sources库step注意:这是DSP Builder库以外的模块,signalcomplier不能将其转位vhdl代码,而只能仿真时用。9.2 9.2 正弦信号发生器设计正弦信号发生器设计 33图图9-17 Scope模型模型 9.2.2 Simulink9.2.2 Simulink模型仿真模型仿真 2、添加波形观察模块、添加波形观察模块 Simulink库 Sinks库Scope注意:这是DSP Builder库以外的模块,signalcomplier不能将其转位vhdl代码,而只能仿真时用。9.2 9.2 正弦信号发生器设计正弦信号发生器设计 34图图9-18 Scope初始显示初始
19、显示 2、添加波形观察模块、添加波形观察模块 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 35图图9-19 设置设置Scope参数参数 3、Scope参数设置参数设置 示波器通道个数9.2 9.2 正弦信号发生器设计正弦信号发生器设计 36图图9-20 sinout全图全图 3、Scope参数设置参数设置 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 37图图9-21 设置设置Step 4、设置仿真激励设置仿真激励 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 384、设置仿真激励、设置仿真激励 图图9-23 simulink仿真设置仿真设置 9.2 9.2 正弦信号
20、发生器设计正弦信号发生器设计 395、启动仿真、启动仿真 图图9-22 simulink仿真仿真Start 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 40图图9-24 有符号有符号输出波形(系统级仿真输出波形(系统级仿真 )5、启动仿真、启动仿真: 有符号输出有符号输出 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 41图图9-25 无符号无符号输出波形(系统级仿真)输出波形(系统级仿真) 5、启动仿真、启动仿真: 输出类型改为无符号输出类型改为无符号 波形上移了1279.2 9.2 正弦信号发生器设计正弦信号发生器设计 426、设计成无符号数据输出、设计成无符号数据输出
21、一般一般D/A器件的输入数据都是无符号的正数,因此要改进设计。器件的输入数据都是无符号的正数,因此要改进设计。法1:波形上移127,即在SinLUT的波形数据改为:法2:乘法器输出的8位有符号数,将最高位取反并以无符号数输出。127*sin(0:2*pi/28:2*pi)+128439.2 9.2 正弦信号发生器设计正弦信号发生器设计 图图9-26 无符号整数无符号整数Signed Integer输出电路输出电路 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 44图图9-27 SinOut1模块设置模块设置 7、各模块功能说明、各模块功能说明 内部节点定义,转为VHDL代码时,属于si
22、gnal定义。9.2 9.2 正弦信号发生器设计正弦信号发生器设计 45图图9-28 ExtractBit模块设置模块设置 7、各模块功能说明、各模块功能说明 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 46图图9-29 BusConversion模块设置模块设置 7、各模块功能说明、各模块功能说明 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 47图图9-30 BusConcatenation模块设置模块设置 7、各模块功能说明、各模块功能说明 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 48图图9-32 NOT模块设置模块设置 7、各模块功能说明、各模块功能说明
23、 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 49两种方法均能输出以下波形:9.2 9.2 正弦信号发生器设计正弦信号发生器设计 50图图9-33 双击双击SignalCompiler 9.2.3 SignalCompiler9.2.3 SignalCompiler使用方法使用方法 1、分析当前的模型、分析当前的模型 完成仿真后,要把设计转到硬件上来实现。9.2 9.2 正弦信号发生器设计正弦信号发生器设计 51图图9-34 打开打开SignalCompiler窗口窗口 2、设置、设置Signal Compiler 项目设置硬件编译流程9.2 9.2 正弦信号发生器设计正弦信号发生器
24、设计 52图图9-35 sinout工程工程处理信息处理信息 3、把模型文件、把模型文件MDL转换成转换成VHDL4、综合、综合(Synthesis) 5、QuartusII适适配配 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 53图图9-36 准备执行准备执行tcl文件文件 9.2.4 9.2.4 使用使用ModelSimModelSim进行进行RTLRTL级仿真级仿真 前面的simulink仿真,是针对系统级别的。Modelsim是第三方的仿真工具,针对vhdl程序,是RTL级仿真。9.2 9.2 正弦信号发生器设计正弦信号发生器设计 54图图9-37 ModelSim仿真结果仿
25、真结果 9.2.4 9.2.4 使用使用ModelSimModelSim进行进行RTLRTL级仿真级仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 55图图9-38 ModelSim的信号设置的信号设置 9.2.4 9.2.4 使用使用ModelSimModelSim进行进行RTLRTL级仿真级仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 56图图9-39 设为设为Analog 9.2.4 9.2.4 使用使用ModelSimModelSim进行进行RTLRTL级仿真级仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 57图图9-40 sinout工程的工程
26、的ModelSim仿真波形(仿真波形(RTL级仿真)级仿真) 9.2.4 9.2.4 使用使用ModelSimModelSim进行进行RTLRTL级仿真级仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 58图图9-41 打开打开QuartusII工程进行编译和时序仿真工程进行编译和时序仿真 9.2.5 9.2.5 使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 59图图9-42 QuartusII工程工程VHDL程序实体程序实体 9.2.5 9.2.5 使用使用QuartusIIQuartusII实现时序仿
27、真实现时序仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 60图图9-43 打开打开QuartusII工程的工程的vec仿真激励文件仿真激励文件 9.2.5 9.2.5 使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 保存为保存为.vwf文件文件9.2 9.2 正弦信号发生器设计正弦信号发生器设计 61图图9-44设置仿真文件路径设置仿真文件路径 9.2.5 9.2.5 使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 62图图9-45 sinout工程的工程的QuartusII仿真波形
28、(门级时序仿真)仿真波形(门级时序仿真) 9.2.5 9.2.5 使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.2 9.2 正弦信号发生器设计正弦信号发生器设计 63 9.2.6 9.2.6 硬件测试与硬件实现硬件测试与硬件实现 具体流程和前面章节时讨论的例子一样。管脚锁定,下载;利用SignalTap II测定芯片内的实时波形;完成系统测试和修改。Matlab/DSP BuilderMatlab/DSP Builder开发简介开发简介n本课小结本课小结1.DSP1.DSP基本知识基本知识2.2.基于基于Matlab/DSP BuilderMatlab/DSP Bu
29、ilder的开发流程的开发流程3.3.具体例子:正弦信号发生器具体例子:正弦信号发生器649.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 65图图9-46 准备建立准备建立subsystem 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 66图图9-47 建立建立subsystem后后 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层
30、次化设计层次化设计 67图图9-48 subsin/subsystem子系统图子系统图 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 68图图9-49 修改子系统名修改子系统名 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 69图图9-50 修改修改SubSystem的端口的端口 9.2.59.2.5使用使用QuartusIIQuartusII实
31、现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 70图图9-51 顶层图的改变顶层图的改变 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 71图图9-52 含含subsystem的的subsint模型模型 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 72图图9-53 Scope1波形图波
32、形图 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 73图图9-54 Scope波形图波形图 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层次化设计 74图图9-55 SubSystem设置设置 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.3 DSP Builder9.3 DSP Builder层次化设计层
33、次化设计 75图图9-56 编辑编辑singen的的“Mask type” 9.2.59.2.5使用使用QuartusIIQuartusII实现时序仿真实现时序仿真 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 76图图9-57 DDS系统系统 9.4.1 DDS9.4.1 DDS模块设计模块设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 77图图9-58 DDS子系统子系统SubDDS 9.4.1 DDS9.4.1 DDS模块设计模块设计 9.4 9.4 基于基于DSP BuilderDSP
34、Builder的的DDSDDS设计设计 78 9.4.1 DDS9.4.1 DDS模块设计模块设计 Freqword模块:(模块:(Altbus)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Bus Type”设为设为“signed Integer”参数参数“Node Type”设为设为“Input port”参数参数“number of bits”设为设为“32” Phaseword模块:(模块:(Altbus)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Bus Type”设为设为“signed Integer
35、”参数参数“Node Type”设为设为“Input port”参数参数“number of bits”设为设为“32” 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 79 9.4.1 DDS9.4.1 DDS模块设计模块设计 Amp模块:(模块:(Altbus)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Bus Type”设为设为“signed Integer”参数参数“Node Type”设为设为“Input port”参数参数“number of bits”设为设为“10” DDSout模块:(模块
36、:(Altbus)库:库:Altera DSP Builder中中IO & Bus库库 参数参数“Bus Type”设为设为“signed Integer”参数参数“Node Type”设为设为“Output port”参数参数“number of bits”设为设为“10” 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 80 9.4.1 DDS9.4.1 DDS模块设计模块设计 Parallel Adder Subtractor模块:模块:(Parallel Adder Subtractor)库:库:Altera DSP Builder
37、中中Arithmetic库库参数参数“Number of Inputs”设为设为“2”“Add(+)Sub(-)”设为设为“+”选择选择“Pipeline”参数参数“Clock Phase Selection”Delay模块:(模块:(Delay)库:库:Altera DSP Builder中中Storage库库参数参数“Depth”设为设为“1”参数参数“Clock Phase Selection”设为设为“1” 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 81 9.4.1 DDS9.4.1 DDS模块设计模块设计 Phaseword1模块:
38、模块:(Altbus)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Bus Type”设为设为“signed Integer”参数参数“Node Type”设为设为“Internal Node”参数参数“number of bits”设为设为“32” Parallel Adder Subtractor1模块:模块:(Parallel Adder Subtractor)库:库:Altera DSP Builder中中Arithmetic库库参数参数“Number of Inputs”设为设为“2”“Add(+)Sub(-)”设为设为“+”选择选择“Pipe
39、line”参数参数“Clock Phase Selection” 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 82 9.4.1 DDS9.4.1 DDS模块设计模块设计 BusConversion2模块:模块:(BusConversion)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Input Bus Type”设为设为“signed Integer”参数参数“Input number of bits.”设为设为32参数参数“Output Bus Type”设为设为“Signed Integer”参数参
40、数“Output number of bits.”设为设为“10”参数参数“Input Bit Connected to Output MSB”设为设为“31”参数参数“Input Bit Connected to Output LSB”设为设为“22”使用使用“Round” Product模块:模块:(Product)库:库:Altera DSP Builder中中Arithemtic库库参数参数“Pipeline”设为设为“2”参数参数“Clock Phase Selection”设为设为“1”不选择不选择“Use LPM” 9.4 9.4 基于基于DSP BuilderDSP Build
41、er的的DDSDDS设计设计 83 9.4.1 DDS9.4.1 DDS模块设计模块设计 BusConversion3模块:模块:(BusConversion)库:库:Altera DSP Builder中中IO & Bus库库参数参数“Input Bus Type”设为设为“signed Integer”参数参数“Input number of bits.”设为设为“20”参数参数“Output Bus Type”设为设为“Signed Integer”参数参数“Output number of bits.”设为设为“10”参数参数“Input Bit Connected to Ou
42、tput MSB”设为设为“18”参数参数“Input Bit Connected to Output LSB”设为设为“9”使用使用“Round”使用使用“Saturate” 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 84图图9-59 DDS系统输出波形系统输出波形 9.4.1 DDS9.4.1 DDS模块设计模块设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 85图图9-60 DDS系统输出波形系统输出波形 9.4.1 DDS9.4.1 DDS模块设计模块设计 9.4 9.4 基于基于D
43、SP BuilderDSP Builder的的DDSDDS设计设计 86图图9-61 FSK调制模型调制模型 9.4.2 FSK9.4.2 FSK调制器设计调制器设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 87图图9-62 FSK调制的调制的Sinulink仿真结果仿真结果 9.4.2 FSK9.4.2 FSK调制器设计调制器设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 88图图9-63 正交信号发生器正交信号发生器MDL模型模型 9.4.3 9.4.3 正交信号发生器设计正交信号发生
44、器设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 89图图9-64 数字移相信号发生器数字移相信号发生器MDL模型模型 9.4.4 9.4.4 数控移相信号发生器设计数控移相信号发生器设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 90图图9-65 数字移相信号发生器输出波形数字移相信号发生器输出波形 9.4.4 9.4.4 数控移相信号发生器设计数控移相信号发生器设计 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 91图图9-66 AM发生器
45、模型发生器模型 9.4.5 9.4.5 幅度调制信号发生器设计幅度调制信号发生器设计 )1 (drFmamFF9-4 9.4 9.4 基于基于DSP BuilderDSP Builder的的DDSDDS设计设计 92图图9-67 AM模型仿真波形模型仿真波形 9.4.5 9.4.5 幅度调制信号发生器设计幅度调制信号发生器设计 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 93图图9-68 线性反馈移位寄存器的构成线性反馈移位寄存器的构成 9.5.1 9.5.1 伪随机序列伪随机序列 z-1z-1z-1z-1C1+C2+z-1+Cn-2Cn-1Cn=1输出niiixCxF0)((9
46、-5 )125 xx(9-6 )9.5 9.5 数字编码与译码器设计数字编码与译码器设计 94图图9-69 m序列发生器模型序列发生器模型 9.5.1 9.5.1 伪随机序列伪随机序列 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 95图图9-70 修改后的修改后的m序列发生器模型序列发生器模型 9.5.1 9.5.1 伪随机序列伪随机序列 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 96图图9-71 m序列发生器序列发生器Simulink仿真结果仿真结果 9.5.1 9.5.1 伪随机序列伪随机序列 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 97 9
47、.5.2 9.5.2 帧同步检出帧同步检出 , 0, 1, 0,)(1nxxjRjnijxinjnjj00 (9-7) 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 98图图9-72 帧同步检出模型帧同步检出模型 9.5.2 9.5.2 帧同步检出帧同步检出 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 99图图9-73 bxp1m子系统子系统 9.5.2 9.5.2 帧同步检出帧同步检出 9.5 9.5 数字编码与译码器设计数字编码与译码器设计 100图图9-74 bxn1m子系统子系统 9.5.2 9.5.2 帧同步检出帧同步检出 9.5 9.5 数字编码与译码器设
48、计数字编码与译码器设计 101图图9-75 帧同步的巴克码检测仿真结果帧同步的巴克码检测仿真结果 9.5.2 9.5.2 帧同步检出帧同步检出 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 102图图9-76 插入插入HIL的的Simulink模型硬件仿真说明图模型硬件仿真说明图 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 1首先完成一个首先完成一个Simulink模型设计模型设计 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 103图图9-77 扫频滤波信号发生器扫频滤波信号发生器Simulink模型图,文件名模型图,文件名freqsweep.mdl 9.6
49、.1 HIL9.6.1 HIL仿真流程仿真流程 1首先完成一个首先完成一个Simulink模型设计模型设计 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 104图图9-78 扫频滤波信号发生器算法(软件)仿真波形扫频滤波信号发生器算法(软件)仿真波形 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 1首先完成一个首先完成一个Simulink模型设计模型设计 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 105图图9-79 SignalCompiler对扫频滤波信号发生器进行转换、综合和适配对扫频滤波信号发生器进行转换、综合和适配 9.6.1 HIL9.6.1 HI
50、L仿真流程仿真流程 2通过通过DSP Builder转化成转化成QuartusII的工程的工程 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 106图图9-80 消去原设计,加入消去原设计,加入HIL模块模块 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 3用用HIL模块取代设计模型的所有电路模块取代设计模型的所有电路 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 107图图9-81 向向Simulink图中拖入图中拖入HIL模块模块 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 3用用HIL模块取代设计模型的所有电路模块取代设计模型的所有电路 9.6
51、9.6 硬件环硬件环HILHIL仿真设计仿真设计 108图图9-82 HIL模块工程加载与参数设置窗模块工程加载与参数设置窗 4HIL模块参数设置模块参数设置 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 109图图9-83 HIL模块编译与编程窗模块编译与编程窗 4HIL模块参数设置模块参数设置 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 110图图9-84 加入了加入了HIL模块的扫频滤波电路模型模块的扫频滤波电路模型 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 5进行进行HIL硬件仿真硬件仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计
52、111图图9-84 加入了加入了HIL模块的扫频滤波电路模型模块的扫频滤波电路模型 9.6.1 HIL9.6.1 HIL仿真流程仿真流程 5进行进行HIL硬件仿真硬件仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 112图图9-86 利用专用编程模块向利用专用编程模块向FPGA下载下载 5进行进行HIL硬件仿真硬件仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 113图图9-87 加入了加入了HIL模块的模块的FSK模型模型 9.6.2 FSK9.6.2 FSK的的HILHIL仿真仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 114图图9-88
53、 加入了加入了HIL模块的模块的FSK模型中方波信号参数设置窗口模型中方波信号参数设置窗口 9.6.2 FSK9.6.2 FSK的的HILHIL仿真仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 115图图9-89 加入了加入了HIL模块的模块的FSK模型中仿真参数设置窗口模型中仿真参数设置窗口 9.6.2 FSK9.6.2 FSK的的HILHIL仿真仿真 9.6 9.6 硬件环硬件环HILHIL仿真设计仿真设计 116图图9-90加入了加入了HIL模块的模块的FSK模型仿真波形图模型仿真波形图 9.6.2 FSK9.6.2 FSK的的HILHIL仿真仿真 9.7 DSP Bu
54、ilder9.7 DSP Builder的状态机设计的状态机设计 117图图9-91 9-91 由状态机模块和双口由状态机模块和双口RAMRAM构成的构成的FIFOFIFO存储器电路存储器电路fifo_control.mdl fifo_control.mdl 9.7.1 FIFO9.7.1 FIFO控制状态机设计示例控制状态机设计示例 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 118图图9-92 加减计数器模块加减计数器模块Up_Down_Counter内部电路内部电路 9.7.1 FIFO9.7.1 FIFO控制状态机设计示例控制状态机设计示例 9
55、.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 119图图9-93 状态机转换表图状态机转换表图 9.7.1 FIFO9.7.1 FIFO控制状态机设计示例控制状态机设计示例 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 120图图9-94 库中默认状态机表模块库中默认状态机表模块 9.7.1 FIFO9.7.1 FIFO控制状态机设计示例控制状态机设计示例 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 当前状态当前状态条件条件次态次态empty(push =1) & (
56、count_in!=250)push_not_fullempty(push =0) & (pop=0)idlefull(push =0) & (pop=0)idlefull(pop=1)pop_not_emptyidle(pop =1) & (count_in = 0)emptyidlepush =1push_not_fullidle(pop =1) & (count_in! = 0)pop_not_emptyidle(push =1) & (count_in=250)fullpop_not_empty(push =0) & (pop=0)idl
57、epop_not_empty(pop =1) & (count_in = 0)emptypop_not_empty(push =1) & (count_in!=250)push_not_fullpop_not_empty(pop =1) & (count_in! = 0)pop_not_emptypop_not_empty(push =1) & (count_in=250)fullpush_not_full(push =0) & (pop=0)idlepush_not_full(push =1) & (count_in=0)emptypush_n
58、ot_full(push =1) & (count_in!=250)push_not_fullpush_not_full(push =1) & (count_in=250)fullpush_not_full(pop =1) & (count_in! = 0)pop_not_empty121表表9-1 FIFO控制器状态转换表控制器状态转换表 9.7.1 FIFO9.7.1 FIFO控制状态机设计示例控制状态机设计示例 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 122图图9-95 状态机模块图状态机模块图 9.7.2 9.7.2
59、 状态机设计流程状态机设计流程 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 123图图9-96 状态机表的状态机表的“Inputs”页页 9.7.2 9.7.2 状态机设计流程状态机设计流程 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 124图图9-97 状态机表的状态机表的“States”页页 9.7.2 9.7.2 状态机设计流程状态机设计流程 9.7 DSP Builder9.7 DSP Builder的状态机设计的状态机设计 比较操作符比较操作符说明说明优先级优先级示例示例- unary)负负1-1()括号括号1(1)=数值相等数值相等2in1=5!=不等于不等于2in1!=5大于大于2in1in2=大于等于大于等于2in1=in2小于小于2in1in2=小于等于小于等于2in1=4) 或或2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新教材人教版一年级上册数学教学计划及进度安排
- 醉鱼干团体标准编制说明
- 重载自动导引车
- 黄酒工厂项目建议书
- 天然气输气管道项目施工方案
- 农田深井供水泵站施工报告
- 高中语文 第四单元 第13课 在马克思墓前的讲话教学设计1 新人教版必修2
- 2026年公共基础知识试题库附答案【典型题】附答案
- 工程危大工程管控监理手册
- 新能源电池导电剂项目竣工验收报告
- 中国石化岗位管理办法
- 第一次月考测评卷(1-2单元试卷)(含答案)2025-2026学年六年级数学上册(人教版)
- 南昌存量房买卖合同(标准版)
- 医药企业2025年研发外包(CRO)模式下的研发成本分析与控制报告
- 4-轨道车运行控制设备(GYK)V1.5.1使用说明书20191022
- DB4403-T 339-2023 城市级实景三维数据规范
- 选举法培训课件
- 北师大版(2024新版)七年级上册数学全册教案
- GB/T 6892-2023一般工业用铝及铝合金挤压型材
- 标准钎探记录表
- 建筑马明哲的管理之路平安心语
评论
0/150
提交评论