




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章基于FPGA的DSP开发 5 2 3使用SignalCompiler进行从算法到硬件实现 在Matlab中完成仿真验证后 就要把设计转换到硬件上加以实现 通过DSPBuilder可以获得针对特定FPGA芯片的HDL代码 1 分析模型双击SinOut模型中的 SignalCompiler 图标启动DSPBuilder 出现如下的窗口 单击 Analyze 按钮 SignalCompiler将会对模型进行分析 检查模型有无错误 如果设计存在错误 将会停止分析过程 并在Matlab软件的命令窗口中给出相关信息 如果设计不存在错误 则在分析结束后打开 SignalCompiler 窗口 Simulink具有强大的错误定位能力 对许多错误可以在simulink模型中直接定位 用不同的颜色来标示有错误的模块 如果SignalCompiler分析当前的DSP模型有错误时 必须修改正确才能继续下面的设计流程 2 设置SignalCompiler在SignalCompiler窗口中 要进行一些必要的设置 SignalCompiler窗口大致上可以分为3个功能部分 左上为项目设置选项 ProjectSettingOptions 右上为硬件的编译流程 HardwareCompilation 下方为信息框 Messages SingalCompiler的设置集中在项目设置选项部分 在Device下拉选择框中选择目标器件的系列 这里只能选择器件的系列 不能指定具体的器件型号 这需要由QuartusII自动决定使用该器件系列中的某一个具体型号的器件 或在手动流程中由用户指定 在Synthesis 综合 下拉选择框中 可以选择综合器 共有3个选项 Mentor的LeonardoSpectrum综合器 Synplicity的Synplify综合器 Altera的QuartusII QuartusII是FPGA CPLD的集成开发环境 其内含综合功能 在Optimization 优化 下拉选择框 指明在综合 适配过程中的优化策略 是优先对面积 Area 优化还是速度优化 Speed 的选择 即资源占用优先还是性能优先 项目设置选项部分的下部是一些选项页 包括下面的内容 MainClock 系统主时钟的周期的设置 Reset 系统复位信号的设置 SignalTapII 嵌入式逻辑分析仪的设置 Testbench 仿真测试文件生成的选择 SOPCinfo SOPC相关设置 MainClock的缺省值为20ns 即对应50MHz的频率 如果要使用第三方的仿真软件 如ModelSim 则在Testbench页中 选中 GenerateStimuliforVHDLTestbench 生成第三方VHDL仿真软件的激励测试文件 如若不然不要选择此选项 选择此选项的话 simulink运行会比没选中此选项的情况下慢很多 3 把模型文件Mdl转化成VHDL文件完成上面的设置之后 信息窗口会提示用户进行Mdl文件到VHDL文件的转换操作 点击1 ConvertMDLtoVHDL的图标 执行mdl模型文件到VHDL文件的转换 转换完成后 Message框中会出现如下的提示 Generatedtoplevelfile Sinout vhd CompletedMDLtoVHDLconversion See Sinout DspBuilder Report html reportfileforadditionalinformation以上提示说明了 产生了Sinout vhd的顶层文件 完成了mdl文件到VHDL文件的转换 更多的信息 参看Sinout DspBuilder Report htm文件 点击ReportFile按钮即可 4 综合单击步骤2的图标 执行综合过程 这里选择的综合工具是QuartusII 综合后生成AtomNetlist 网表 文件 以供第三步适配过程使用 综合过程完成之后 信息框中会给出此项目的一些信息 如器件的系列 使用的逻辑宏单元的数目 触发器的数目 引脚数 RAM容量等 详细的信息也是参照上面提到的项目报告文件 5 QuartusII适配单击步骤3的图标 调用QuartusII完成编译适配过程 生成编程文件 pof文件和sof文件 单击Report按钮 查看详细的报告信息 以上的三个步骤可以分开单步执行 也可以点击 executesteps1 2and3 一步执行 6 编程完成了以上三步操作之后 programdevice的图标由不可用编程可用 由灰变亮 连接好硬件便可以进行下载了 但在下在之前 还要做一些必要的仿真和测试 使用ModelSim进行RTL级仿真 使用QuartusII进行时序仿真 进行硬件测试等 5 2 4使用ModelSim进行RTL级仿真 在Simulink中已经对模型进行过仿真验证 但是是属于系统级的验证 并没有对生成的VHDL代码进行过仿真 事实上 由Mdl文件转化而来的VHDL描述是RTL级的 而在simulink中的模型仿真是算法级的 转换后的代码实现可能与mdl模型描述的情况不完全相符 这就需要针对生成的RTL级VHDL代码进行功能仿真 当在SignalCompiler设置窗口中的Testbench页中选中 GenerateStimuliforVHDLTestbench DSPBuilder在mdl转换到VHDL的过程中会生成对HDL仿真器ModelSim的测试文件 ModelSim是MentorGraphics的子公司ModelTechnology的产品 ModelSim是业界最优秀的HDL语言仿真器 具有快速的仿真性能和最先进的调试能力 支持众多的ASIC和FPGA厂家库 是作FPGA ASIC设计的RTL级和门级电路仿真的首选 是唯一的单内核支持VHDL和Verilog混合仿真的仿真器 全面支持VHDL和Verilog语言的IEEE标准 以及IEEEVITAL1076 4 95标准 支持C语言功能调用 支持C模型 基于SWIFT的SmartModel逻辑模型和硬件模型的仿真 它具有丰富而又易用的图形用户界面 提供最友好的调试环境 为加快调试提供强有力的手段 仿真方法 启动ModelSim软件 选择Tools菜单下的ExecuteMacro 在打开的文件选择对话框中切换到SinOut模型SinOut mdl文件所在的目录 选择tb SinOut tcl ModelSim执行tb SinOut tcl 开启仿真 随后会自动打开wave窗口 显示仿真结果 但是显示的结果是以数字形式显示的 与simulink中的仿真结果没有可比性 为了能够进行对比 要改变输出波形的显示方式 选中 tb sinout outu 单击右键 在弹出菜单中选择properties 出现waveproperties窗口 缺省显示的View页面 在对话框中将Radix项的内容设为 Unsigned 然后点击Format页 在Format页中将Format设成Analog Height设成100 Scale设成0 4 然后点击OK 5 2 5使用QuartusII进行时序仿真 ModelSim软件只能实现对设计电路的功能仿真 其仿真结果没有反映电路的硬件的真实情况 为了使我们的设计与真实的电路更加接近 进行设计的时序仿真是非常必要的 SignalCompiler已经生成了用于quartusII进行时序仿真的激励文件sinout vec和相关仿真文件 如sinout quartus tcl 可以很容易地在quartusII中实现时序仿真 在quartusII进行时序仿真的步骤如下 启动quartusII集成开发环境 执行File菜单的OpenProject 的操作 在弹出的OpenProject的对话框中 选择Sinout模型所在的目录 打开该目录 打开DSPBuilder为QuartusII建立的设计项目 Sinout 并在项目中打开VHDL顶层设计文件sinout vhd 在SignalCompiler中的编译过程中 我们已经指定了器件为CycloneII系列了 但是在QuartusII中进行时序仿真时 需要指定器件的具体型号 执行Assignments菜单的Device 命令 为本设计选择目标芯片EP2C35F672C8 然后执行Processing菜单的StartCompilation命令对sinout vhd顶层文件进行编译 编译结束后 执行Processing菜单的StartSimulation命令 启动时序仿真 在仿真过程结束之后 出现quartusII仿真波形界面 显示仿真结果 通过观察仿真波形来检查设计的工程是否满足时序要求 也可以运行TimeQuestTimingAnalyzer 生成时序分析报告 来获取时序仿真的数据 5 2 6硬件实现与测试 经过RTL级和时序仿真之后 还要将设计下载到芯片中进行实现和测试 进行硬件测试时 需要使用开发平台上的DAC器件将正弦波信号发生器所输出的数字信号转换为模拟信号 然后将模拟信号接到示波器上 要使用DAC器件 需要将平台上的拨码开关的MODUL SEL1设置成 ON 状态 将MODUL SEL2和MODUL SEL3设置成 OFF 状态 AD7302芯片的原理图 开发平台上的DAC模块由一个并行8位DAC器件和一个并行DAC电压基准源组成 并行8位DAC器件采用AnalogDevice公司的AD7302芯片 工作电压为2 7伏到5 5伏 功耗小适合于电池驱动应用 具有高速寄存器和双缓冲接口逻辑以及可与并行微处理器和DSP兼容的接口 将产生的8位数据连接到并行ADC的输入管脚 再给三个功能选择管脚相应的输入信号 使得DAC能够正常工作 三个功能管脚为 B WR和CS B 通道选择信号 低电平选择A通道 高电平选择B通道 写信号 低电平有效 片选信号 低电平有效 根据AD7302芯片的工作原理 需要在sinout vhd文件中加入三个输出引脚 并且进行赋值 在端口说明中加入如下的语句 dac ab outstd logic dac wr outstd logic dac cs out std logic 在结构体中加入如下的语句 dac ab 0 选择A通道dac wr 0 dac cs 0 接下来进行引脚所定 如下表所示 引脚锁定之后进行工程的编译 编译成功可以将设计下载到目标器件中去 此时在D A输出通道可以用示波器观察到数字信号转换成的模拟信号波形 5 2 7使用嵌入式逻辑分析仪SignalTapII进行测试 只进行工程的软件仿真远远不够 必须还要进行硬件仿真 使用传统的硬件方法进行测试会有如下的一些缺点 缺少空余I O引脚 设计中器件的选择依据设计规模而定 通常所选器件的I O引脚数目和设计的需求是恰好匹配的 I O引脚难以引出 设计者为减小电路板的面积 大都采用细间距工艺技术 在不改变PCB板布线的情况下引出I O引脚非常困难 接逻辑分析仪有改变FPGA设计中信号原来状态的可能 因此难以保证信号的正确性 传统的逻辑分析仪价格昂贵 将会加重设计方的经济负担 针对传统硬件测试的局限 Altera公司和Xilinx公司分别推出了基于JTAG的内部逻辑分析仪 Altera公司的嵌入式逻辑分析仪为SignalTap 嵌入式逻辑分析仪可以随设计文件一起下载到目标芯片中 通过JTAG引脚捕捉目标芯片内部设计者感兴趣的信号节点处的信息 而又不影响系统的正常工作 嵌入式逻辑分析仪将测得的信号样本暂存与目标器件中的嵌入式RAM中 然后通过器件的JTAG端口或ByteBlaster下载线将采得的信息传给计算机进行分析 嵌入式逻辑分析仪SignalTapII允许对设计中的所有层次的模块的信号节点进行测试 可以使用多时钟驱动 SignalTapII具有可以灵活配置的特点 下面会介绍到 嵌入式逻辑分析仪的三项主要优点 它们的使用不增加引脚 可通过FPGA上已有的专门JTAG引脚访问 即使没有其它可用引脚 这种调试方法也能得到内部可视能力 简单的探测 探测包括把结点路由到内部逻辑分析仪的输入 不需要担心为得到有效信息 应如何连接到电路板上 也不存在信号完整性问题 内核是便宜的 FPGA厂商把他们的业务模型建立于用芯片所获取价值的基础上 所以所用的调试IP通常能以低于 1 000美元的价格获得 但是 从嵌入式的逻辑分析仪的工作原理可以看出 嵌入式逻辑分析仪也有一些缺点 内核的尺寸限制了FPGA中逻辑资源的利用 此外由于波形数据占用FPGA内部存储器 使信号采样的数据量有限 设计工程师必须放弃把内部存储器用于调试 存储器的利用取决于系统的设计 内部逻辑分析仪只工作于状态模式 它们捕获的数据与规定的时钟同步 而不能提供信号定时关系 这里应用嵌入式逻辑分析仪对正弦波发生器进行测试 同时也可以掌握SignalTapII的基本使用方 在使用SignalTapII进行测试之前应该现对工程sinout进行引脚分配 引脚少了硬件测试用的DAC模块的引脚 引脚分配使用的方法见第二章 引脚分配完毕后 进行工程的编译 编译结束后就可以进行SignalTapII的设置了 使用SignalTapII嵌入式逻辑分析仪进行测试的步骤如下 1 打开SignalCompiler转换成的sinout qpf 选择file菜单 点击new 出现new窗口 在其中选择otherfiles页 选择SignalTapIIfile 出现SignalTapII编辑窗口 2 调入待测信号 首先右键单击InstanceManager栏下的Instance下面的auto signaltap 0 在弹出菜单中选择rename 将其更名为sinoutsignal sinoutsignal代表一组待测信号 现在将待测信号加入到其中 在sinoutsignal栏下的空白处双击 会弹出NodeFinder窗口 单击list按钮 会出现和该工程相关的所有信号 包括内部信号 选择输出总线信号sinout 单击OK按钮即将选择的信号加入到SignalTapII信号观察窗 NodeFinder窗口 添加了观察信号的SignalTapII编辑窗口 3 设置SignalTapII在SignalTapII的Setup页中 单击全屏按钮 右上角图标 出现全屏编辑窗口 首先设置逻辑分析仪的工作时钟Clock 单击Clock栏左侧的 按钮 出现NodeFinder窗口 选中工程的主时钟clock作为逻辑分析仪的采样时钟 然后在Data栏中的SampleDepth下拉框中选择1K 这个采样深度适用于一个Instance所有的信号 所以必须根据测试要求 信号数量 以及工程占用ESB M4K存储模块的数量 综合来确定采样深度 以免发生ESB M4K不够的情况 SignalTapII的全屏编辑窗口 然后根据测试的要求 指定缓冲获的模式 BufferAcquisitionmode 在BufferAcquisitionmode栏中有两种缓冲 一种为环形缓冲 Circular 另一种为分段缓冲 Segmented 对于环形缓冲有四种触发位置 Pretriggerposition 前触发位置 在达到触发条件前 保存所发生采样的12 达到触发条件后 再保存采样的88 Centertriggerposition 中触发位置 在达到触发条件前 保存所发生采样的50 达到触发条件后 再保存采样的50 Posttriggerposition 后触发位置 在达到触发条件前 保存所发生采样的88 达到触发条件后 再保存采样的12 Continuoustriggerposition 连续触发位置 以环形缓冲的方式进行连续采样保存 直到用户中断为止 SignalTapII是基于JTAG的逻辑分析仪 所以还必须进行JTAG链的设置 打开实验开发系统的电源 连接好USB下载线 在右上角的JTAGChainConfiguration栏中 点击Hardware的Setup按钮 出现硬件安装窗口 在Currentlyselectedhardware下拉框中选择NiosIIEvaluationBoard USB 0 JTAGChainConfiguration栏中Hardware栏将显示NiosIIEvaluationBoard字样 同时Device栏将显示 1 EP2C35 0 x020B40DD 字样 此为自动识别到的FPGA芯片 4 SignalTapII文件存盘选择文件菜单点击Save 将SignalTapII存盘 缺省的文件名为stp1 stp 用户也可以自己命名 单击保存会出现 Doyouwanttoenablestp1 stpforthecurrentproject 的对话框 选择 是 表示同意 下次再次编译时 将该SignalTapII文件和工程文件一起综合 适配 然后一起下载到目标芯片中去 如果点击 否 则需要自己设置 方法是选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 果树合作种植合同范本
- 滴灌漏水维修合同范本
- 情侣合同范本
- 枇杷订购合同范本
- 可转债融资合同范本
- 氧气罐租赁合同范本
- 2025年电子技术与电路分析考试试题及答案
- 2025年水资源管理与可持续发展考试题及答案
- 医疗器械不良事件及召回管理办法法规培训试题(含答案)
- 2025年浙江档案职称考试(档案事业概论)(中级)综合试题及答案
- 《电力系统分析》课件-第2章 电力系统元件参数和等值电路
- 第六章 人体生命活动的调节 大单元教学设计 人教版(2024)生物八年级上册
- 2025广西公需科目真题续集(附答案)
- 学校“1530”安全教育记录表(2024年秋季全学期)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 中小学教师违反职业道德行为处理办法
- HelloChina每集摘抄带翻译
- FZ/T 62033-2016超细纤维毛巾
- 船舶常用英语名称
- 农业废弃物资源化利用项目建议书范文
- 诊断学-病史采集
评论
0/150
提交评论