fpga器件的开发平台与matlab接口仿真_第1页
fpga器件的开发平台与matlab接口仿真_第2页
fpga器件的开发平台与matlab接口仿真_第3页
fpga器件的开发平台与matlab接口仿真_第4页
fpga器件的开发平台与matlab接口仿真_第5页
全文预览已结束

下载本文档

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

文档简介

FPGA器件的开发平台与MATLAB接口仿真引言 现场可编程逻辑门阵列FPGA器件的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。目前使用最多的Quartus II 软件支持几乎所有的EDA工具,并且可以通过命令行或Tcl脚本与第三方EDA工具之间进行无缝连接。但在很多工程设计应用中,由FPGA器件完成的主程序中只完成大量的数学运算,程序调试时以二进制输出的信号可视性差,给设计人员进行仿真、调试带来了很多不便。对于很多工程设计人员来说MATLAB是一种熟悉的具有强大的运算功能和波形仿真、分析功能的软件,如果能将FPGA与MATLAB接口,就可以快速、准确、直观地对FPGA程序进行校验和仿真,尤其在波形信号处理等工程应用领域具有实际意义。Quartus II 开发软件Altera公司的QuartusII软件提供了可编程片上系统(SOPC)设计的一个综合开发环境。Quartus II 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。QuartusII软件支持VHDL和Verilog硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。QuartusII软件可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和第三方EDA工具的接口。QuartusII设计软件根据设计者需要提供了一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案。图1说明了QuartusII软件的开发流程。在实际应用设计中,对程序原理性及可执行性的验证主要集中在程序修改阶段,尤其在处理的数据复杂、繁多时,Quartus II自带的波形输入仿真就很难实现程序的验证,而且输出的数据不能方便的以波形图示直观的呈现,给程序设计者在校验程序阶段带来了很多的不便。再有,在很多数字电路设计中,考虑成本的问题,FPGA实现的往往是设计的核心部分,而很多的外围电路如A/D转换器、D/A转换器等仍然使用传统的接口芯片来实现。而QuartusII 设计只是针对数字信号,并不支持模拟量的输入。而仅仅为了便于程序的验证而用FPGA实现这些外围电路,不但会大大延长程序的开发周期,更会增大开发的成本。而MATLAB具有强大的运算功能,可以容易的实现A/D、D/A转换等外围电路功能,并能以波形形式将结果直观地呈现,极大地方便了程序设计人员设计应用系统。 QuartusII与Matlab的接口实现接口原理VHDL程序从根本上讲就是将一些现有的数据进行处理,并输出预期的数据。QuartusII 软件的波形文件(.vwf文件)可以根据设计人员的要求灵活输入。但在大多数情况下需要仿真的波形数据数量庞大,这样的输入方式就明显不能满足仿真的要求了。而上述提到的一些外围电路的作用也是将需要处理的数据输入到程序中,并将处理过的数据输出到指定的装置。根据这一原理,用一个输入、输出寄存器就可以方便的实现与MATLAB之间的接口了。QuartusII工具中提供了很多种类的寄存器宏模块,并能根据用户的要求进行编辑。使用这些宏模块可以很容易地实现与MATLAB之间的接口。下面就是几种RAM宏模块:接口的实现 数据的输入很多FPGA程序在仿真时,需要输入特定条件下的数值。程序设计时,可以在输入端口前加一个预置的存储器,那么初始数据的输入就变成了该寄存器的初始化。一般情况下,这些初始数据很容易用MATLAB软件经过计算实现。QuartusII中提供了两种寄存器的初始文件格式,.mif文件和.hex文件。由MATLAB生成的数据可以方便的根据指定路径加载到寄存器模块中。数据的输出数据输出和数据输入的原理是相同的。将寄存器中的.mif文件或.hex文件导出,并加载到MATLAB中相应的变量中,MATLAB的波形仿真功能就可使设计人员方便直观地观察程序结果了,这样大大地方便了设计人员在设计早期对程序进行校验。 应用举例这里以一个简单的FFT谐波分析过程的设计为例,说明如何在FPGA设计中灵活地应用MATLAB来完成设计的初步仿真和验证。FPGA的快速运算虽然能更好的实现了FFT,但大多数FFT设计并不能预知处理对象的准确波形,而QuartusII更不能提供直观的结果观察。为了验证设计的可行性,在设计时,在输入、输出端分别设置一个数据存储器,数据存入的时序可以根据设计的要求灵活控制,存储需要的数据。需要注意的一点就是,对于大量数据的波形验证,存储器的加入会使设计的资源变大,初步验证时需使用比预计的容量大的器件。在程序的初步验证之后,就可以在预定的器件中进行编译配置,然后进行进一步的调试。 程序设计如图2所示,程序设计大致分为四个模块,主程序模块、输入存储器、输出存储器以及控制模块。主程序模块是FFT的设计程序,来完成预期的数据处理,而输入、输出存储器则为与Matlab的接口程序,控制模块则控制数据的输入、输出,也即是接口模块的控制。接口的设计 假设设计时的A/D接口采样频率为50kHz,即一个周期内的采样点数为1000点。在MATLAB中可以很容易的实现公式(1)所示的信号的A/D采样。根据采样要求,就可以确定输入存储器的容量为12 1000bit。将MATLAB中生成的目标向量以相应的二进制表示,并导入到该输入存储器中,就完成了输入存储器的初始化。所得的结果输出原理亦同,在MATLAB中建立大小相当的向量,将输出存储器中的数据导入到该向量就可以直观的形式观察输出的结果。那么设计中的关键问题主要就集中在了控制模块的设计。该模块的时序必须与外围电路时序、主程序中的时序相匹配,以达到逼真模拟真实A/D等外围电路的作用。结果仿真 任意取两个不同的输入信号如下:按照上述的程序设计流程,可以由FPGA快速计算得到任意波形的FFT处理结果,并以直观的结果方便程序设计人员的初步程序调试。结论FPGA器件的最大的优势就是具有更快的速度、更

温馨提示

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

最新文档

评论

0/150

提交评论