下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 用MATLAB生成.mif、.hex(QUARTUS_II)文件简介(v1.1)

用MATLAB生成.mif、.hex(QUARTUS_II)文件简介(v1.1).pdf

用MATLAB生成.mif、.hex(QUARTUS_II)文…

zjyy2010
2011-03-08 0人阅读 举报 0 0 暂无简介

简介:本文档为《用MATLAB生成.mif、.hex(QUARTUS_II)文件简介(v1.1)pdf》,可适用于IT/计算机领域

用MATLAB生成*mif、*hex(QUARTUSII)文件简介(v)macroqianyahoocomcn以前写过一个“用MATLAB生成*mif、*hex(QUARTUSII)文件简介”由于时间和水平原因很粗糙并且有一些错误。现在修改一下升级到v。以前的称为v吧。做FPGA设计时经常要调用芯片内存。特别对于ROM内存的初始化就显得比较重要。当然你完全可以手工在QUARTUSII打开mif文件的表格里逐个输入几十项或许你还可以接受但上千项估计能累的人吐血!一般内存的初始化数据都是有规律的符合一定的函数我们完全可以用MATLAB来完成(如果没规律只能逐项手工输入了)。使用MATLAB直接生成*mif文件首先我们应该知道*mif文件的格式。它是文本格式。随便打开一个mif文件你会发现它具有如下的格式:Copyright(C)AlteraCorporationYouruseofAlteraCorporation'sdesigntools,logicfunctionsandothersoftwareandtools,anditsAMPPpartnerlogicfunctions,andanyoutputfilesfromanyoftheforegoing(includingdeviceprogrammingorsimulationfiles),andanyassociateddocumentationorinformationareexpresslysubjecttothetermsandconditionsoftheAlteraProgramLicenseSubscriptionAgreement,AlteraMegaCoreFunctionLicenseAgreement,orotherapplicablelicenseagreement,including,withoutlimitation,thatyouruseisforthesolepurposeofprogramminglogicdevicesmanufacturedbyAlteraandsoldbyAlteraoritsauthorizeddistributorsPleaserefertotheapplicableagreementforfurtherdetailsQuartusIIgeneratedMemoryInitializationFile(mif)WIDTH=DEPTH=ADDRESSRADIX=UNSDATARADIX=DECCONTENTBEGIN:::::…………:END下边笔者来说明用MATLAB产生所需*mif文件方法。由于笔者的语文水平仅脱盲如果空洞讲解很表述清楚并且会很枯燥。所以笔者仍使用一个例子来说明。对,*pi)(包括不包括*pi)点采样每点用位有符号数表示。生成*mif文件的MATLAB代码如下:clearallcloseallclcindex=linspace(,*pi,^)由于linspace函数包括前后两个边界点所以多加一点除去cos(*pi)的值cosval=fix((^)*cos(index))求COS值、倍扩成位有符号数、fix是去尾求整数加变成四舍五入求整数fid=fopen('E:…cosinemif','w')将cosinemif文件创建到您老的QUARTUS工程目录里。当然你也可创建到指定的目录然后拷贝到QUARTUS工程目录。fprintf(fid,'WIDTH=n')指定每个数值的字宽(本工程用位)fprintf(fid,'DEPTH=n')指定数值的个数即ROM的深度(本工程用个)fprintf(fid,'ADDRESSRADIX=UNSn')指定地址的数制(UNS:无符号数。推荐UNS)fprintf(fid,'DATARADIX=DECn')指定数据基数(DEC:十进制(有符号数)推荐DEC)fprintf(fid,'CONTENTBEGINn')固定格式forj=:数据段数据i=jfprintf(fid,'d',i)fprintf(fid,':')fprintf(fid,'d',cosval(j))fprintf(fid,'n')endfprintf(fid,'ENDn')固定格式fclose(fid)运行此MATLAB程序得到cosinemif即可使用。MATLAB变量空间拷贝法此方法更简单。QUARTUSII下菜单FileNew选择MemoryInitializationFileNumberofwords=,Wordsize=保存为cosinemif。按照图1、图2提示在画红圈的地方右击分别修改修改地址数基为十进制、修改内存数基为有符号十进制。图1修改地址数基为十进制图2修改内存数基为有符号十进制MATLAB下CommandWindow中执行:index=linspace(,*pi,^)cosval=fix((^)*cos(index))在工作空间中双击cosval在ArrayEditor的表格中打开cosval的变量值复制前个(图1)然后粘贴到QUARTUSII中打开的cosinemif文件的表格中(图4)。得到如图5的结果。保存cosinemif文件OK!搞定!图3图4图5对于*hex文件更简单。大家生成mif文件后用QUARTUSII打开然后另存为hex文件就可以了。笔者:希望这个教程对大家有帮忙。有什么问题可发邮件到macroqianyahoocomcn与笔者讨论。本文中用到的MATLAB程序将一同打包奉上。所有代码均为本人编写由于水平有限有什么不合适的地方请大家指正欢迎大家SHARE。如果对你有帮助可发邮件感谢我一下让我也虚荣一下以后更有心情写些其它的教程。哈哈取笑了。思想有多远人就能走多远!昨日惊悉饭岛爱君辞世心中悲痛不已在此悼念。老钱写于年圣诞PoweredbymacroqianDigifeeCO,LTDPS:DigifeeCO,LTD是本人虚拟公司等我有条件时会让她成为现实希望大家别和我抢注Digifee中包含了我心爱女子的名字是我美好的理想。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

用MATLAB生成.mif、.hex(QUARTUS_II)文件简介(v1.1)

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利