版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FPGA 器件的开发平台与 MATLAB 接口仿真/、引言现场可编程逻辑门阵列 FPGA 器件的出现是超大规模集成电路技术 和计算机辅助设计技术发展的结果。 FPGA 器件集成度高、体积小, 具有通过用户编程实现专门应用功能。它允许电路设计者利用基于 计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到 预期的结果。目前使用最多的 Quartus II 软件支持几乎所有的 EDA 工具,并且可以通过命令行或 Tcl 脚本与第三方 EDA 工具之间进行 无缝连接。但在很多工程设计应用中,由 FPGA 器件完成的主程序 中只完成大量的数学运算,程序调试时以二进制输出的信号可视性 差,给设计人
2、员进行仿真、调试带来了很多不便。对于很多工程设 计人员来说 MATLAB 是一种熟悉的具有强大的运算功能和波形仿 真、分析功能的软件,如果能将 FPGA 与 MATLAB 接口,就可以快 速、准确、直观地对 FPGA 程序进行校验和仿真,尤其在波形信号处理等工程应用领域具有实际意义。Quartus II开发软件Altera公司的Quartusll软件提供了可编程片上系统(SOPC)设计 的一个综合开发环境。Quartus II开发工具人机界面友好、易于使用、 性能优良,并自带编译、仿真功能。Quartusll软件支持VHDL和Verilog硬件描述语言的设计输入、基于图形的设计输入方式以及集
3、成系统级设计工具。Quartusll软件可以将设计、综合、布局和布线 以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和 第三方EDA工具的接口。Quartusll设计软件根据设计者需要提供了 一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案。图1说明了 Quartusll软件的开发流程。设计IS人 在实际应用设计中,对程序原理性及可执行性的验证主要集中在程r厶灯(.布局.布线序修改阶段,尤其在处理的数据复杂、繁多时, Quartus II 自带的波 形输入仿真就很难实现程序的验证,而且输出的数据不能方便的以 波形图示直观的呈现,给程序设计者在校验程序阶段带来了
4、很多的 不便。再有,在很多数字电路设计中,考虑成本的问题, FPGA 实 现的往往是设计的核心部分, 而很多的外围电路如 A/D 转换器、 D/A 转换器等仍然使用传统的接口芯片来实现。 而 QuartusII 设计只是针 对数字信号,并不支持模拟量的输入。而仅仅为了便于程序的验证 而用 FPGA 实现这些外围电路,不但会大大延长程序的开发周期, 更会增大开发的成本。而 MATLAB 具有强大的运算功能,可以容易 的实现 A/D、D/A 转换等外围电路功能, 并能以波形形式将结果直观 地呈现,极大地方便了程序设计人员设计应用系统。QuartusII 与 Matlab 的接口实现接口原理VHDL
5、 程序从根本上讲就是将一些现有的数据进行处理, 并输出预期 的数据。 QuartusII 软件的波形文件( .vwf 文件)可以根据设计人员 的要求灵活输入。但在大多数情况下需要仿真的波形数据数量庞大,这样的输入方式就明显不能满足仿真的要求了。而上述提到的一些 外围电路的作用也是将需要处理的数据输入到程序中,并将处理过 的数据输出到指定的装置。根据这一原理,用一个输入、输出寄存 器就可以方便的实现与 MATLAB之间的接口了。Quartusll工具中提 供了很多种类的寄存器宏模块,并能根据用户的要求进行编辑。使 用这些宏模块可以很容易地实现与 MATLAB之间的接口。下面就是 几种RAM宏模块
6、:衰 1例1惠*块名摆功軽苗述茅截化馆菇井衣取常门FTAM參暫化眾逢口 RAM忤PE嵋峯歓比RAhA癥入/输出第口井高mp-rom-ic秦嶽牝RAM-治入綸出共码一卒誤口接口的实现数据的输入很多FPGA程序在仿真时,需要输入特定条件下的数值。程序设计 时,可以在输入端口前加一个预置的存储器,那么初始数据的输入 就变成了该寄存器的初始化。一般情况下,这些初始数据很容易用 MATLAB软件经过计算实现。Quartusll中提供了两种寄存器的初始 文件格式,.mif文件和.hex文件。由MATLAB生成的数据可以方便的根据指定路径加载到寄存器模块中 数据的输出 数据输出和数据输入的原理是相同的。 将
7、寄存器中的 .mif 文件或 .hex 文件导出, 并加载到 MATLAB 中相应的变量中, MATLAB 的波形仿 真功能就可使设计人员方便直观地观察程序结果了,这样大大地方 便了设计人员在设计早期对程序进行校验。应用举例这里以一个简单的FFT谐波分析过程的设计为例,说明如何在FPGA 设计中灵活地应用 MATLAB 来完成设计的初步仿真和验证。 FPGA 的快速运算虽然能更好的实现了 FFT,但大多数FFT设计并不能预 知处理对象的准确波形,而 QuartusII 更不能提供直观的结果观察。 为了验证设计的可行性,在设计时,在输入、输出端分别设置一个 数据存储器,数据存入的时序可以根据设计
8、的要求灵活控制,存储 需要的数据。需要注意的一点就是,对于大量数据的波形验证,存 储器的加入会使设计的资源变大,初步验证时需使用比预计的容量 大的器件。在程序的初步验证之后,就可以在预定的器件中进行编译配置,然后进行进一步的调试。程序设计如图2所示,程序设计大致分为四个模块,主程序模块、输入存储 器、输出存储器以及控制模块。主程序模块是FFT的设计程序,来完成预期的数据处理,而输入、输出存储器则为与Matlab的接口程序,控制模块则控制数据的输入、输出,也即是接口模块的控制。接口的设计假设设计时的A/D接口采样频率为50kHz,即一个周期内的采样点 数为1000点。在MATLAB中可以很容易的
9、实现公式(1)所示的信号 的A/D采样。根据采样要求,就可以确定输入存储器的容量为121000bit。将MATLAB中生成的目标向量以相应的二进制表示,并导入到该输入存储器中,就完成了输入存储器的初始化。所得的结果 输出原理亦同,在MATLAB中建立大小相当的向量,将输出存储器 中的数据导入到该向量就可以直观的形式观察输出的结果。那么设 计中的关键问题主要就集中在了控制模块的设计。该模块的时序必须与外围电路时序、主程序中的时序相匹配,以达到逼真模拟真实A/D等外围电路的作用。结果仿真任意取两个不同的输入信号如下:+ pi/4)斗5ird,2=3$讪3刖)+ ctM(7ird按照上述的程序设计流程,可以由 FPGA快速计算得到任意波形的FFT处理结果,并以直观的结果方便程序设计人员的初步程序调试。结论FPGA器件的最大的优势就是具有更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人脸认证系统设计课程设计
- 身份证信息提取技术优化课程设计
- 情感分析工具开发课程设计课程设计
- Snort规则优化设计课程设计
- 门禁系统安装调试技师岗位招聘考试试卷及答案
- 高考志愿填报:艺术艺考避坑与专业精准选择指南
- 2026客户关系管理CRM指数报告 2026 CRM INDEX REPORT
- 高温天气静心养心养生课件
- 高温天气饮水健康课件
- 展厅设计节约费用方案范本
- 迪士尼生产授权管理办法
- 高校校卫队管理制度
- 人工智能幼儿科普课件
- 2025年淮南新东辰控股集团有限责任公司招聘笔试参考题库附带答案详解
- 烙铁焊接操作技术培训
- 2024-2025学年人教版新英语教材七年级上册词汇
- 新能源汽车电气系统检修(微课版) 课件 项目五任务1新能源汽车空调制冷系统检修
- 2024用电信息采集系统技术规范第1部分:专变采集终端
- 消除“艾梅乙”医疗歧视-从我做起
- 贵州省2024年高三年级4月适应性考试化学试题附参考答案(解析)
- DL∕T 2024-2019 大型调相机型式试验导则
评论
0/150
提交评论