![FPGA的ROM初始化问题讨论_第1页](http://file4.renrendoc.com/view/6ce27e9949b86a931cef6af604a2d4a9/6ce27e9949b86a931cef6af604a2d4a91.gif)
![FPGA的ROM初始化问题讨论_第2页](http://file4.renrendoc.com/view/6ce27e9949b86a931cef6af604a2d4a9/6ce27e9949b86a931cef6af604a2d4a92.gif)
![FPGA的ROM初始化问题讨论_第3页](http://file4.renrendoc.com/view/6ce27e9949b86a931cef6af604a2d4a9/6ce27e9949b86a931cef6af604a2d4a93.gif)
![FPGA的ROM初始化问题讨论_第4页](http://file4.renrendoc.com/view/6ce27e9949b86a931cef6af604a2d4a9/6ce27e9949b86a931cef6af604a2d4a94.gif)
![FPGA的ROM初始化问题讨论_第5页](http://file4.renrendoc.com/view/6ce27e9949b86a931cef6af604a2d4a9/6ce27e9949b86a931cef6af604a2d4a95.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
------------------------------------------------------------------------FPGA的ROM初始化问题讨论FPGA的ROM初始化问题讨论在一些需要特殊运算的应用电路中,只读存储器ROM是关键元件,设计人员通常利用ROM创建各种查找表,从而简化电路设计,提高电路的处理速度和稳定性。FPGA是基于SRAM的可编程器件。掉电后FPGA上的配置信息将全部丢失,所以由FPGA构造的数字系统在每次上电后要依赖于外部存储器来主动配置或在线被动配置。真正意义上的ROM应具有掉电后信息不丢失的特性,因此利用FPGA实现的ROM只能认为器件处于用户状态时具备ROM功能。使用时不必要刻意划分,而ROM单元的初始化则是设计人员必须面对的问题。本文讨论FPGA的ROM初始化问题,详细介绍mit文件的创建与使用。2基于FPGA的ROM的实现基于MAX+PLUSⅡ软件平台,FPGA可编程器件实现ROM功能比较简单。只需运行MAX+PLUSⅡ,选择图形输入,在新建页的空白处双击并在弹出的对话框中选择d:\maxplus2\max2lib\mega_lpm,调用软件提供的参数可调库(mega_lpm),找出参数化ROM宏模块(lpm_rom),。表1列出lpm_ROM宏模块的端口及参数设置。根据需要选择必要的Address[]、q[]两个端口创建加法运算的查找表。引入lpm_ROM宏模块后,一定要把LPM_ADDRESS_CONTROL设置为″UNREGISTERED″,否则编译报错。本系统设计选用了Altera公司的FLEX10K系列的FPGA(EPF10K10LC84-4),其模块结构。引入lpm_ROM宏模块后,开始ROM的初始化,这是运用lpm_ROM宏模块做为系统开发的关键。ROM初始化就是要在对应的地址赋初始值以实现查找表的功能。在系统编译之前一定要先设置LPM_FILE参数。实际上就是要加入一个mif文件或hex文件。以下详细讨论在MAX+PLUSⅡ环境下mif文件的创建和使用。3lpm_ROM初始化及mif文件3.1mif文件的格式及创建3.1.1mif文件格式mif文件是在编译和仿真过程中作为存储器(ROM或RAM)初始化输入的文件,即memoryinitializationfile。mif文件格式为:3.1.2mif文件创建mif文件的创建很简单,主要有两种方法,一种是在MAX+PLUSⅡ环境下,新建文件,选文本输入,保存为mif文件。另一种方法是建立一个txt文件,然后将扩展名改成mif即可。3.2mif文件的使用依上述方法创建的mif文件只是一个空文件,在lpm_ROM宏模块的LPM_FILE中引入这样的文件,仅仅能帮助lpm_ROM宏模块通过编译并把所有的存储单元初始化为零。且在编译出现:Warning:Can'tfinddataininitialmemorycontent[MIF/HEX]file。mif文件的格式是固定的,对于前4行(DEPTH,WIDTH,ADDRESS_RADIX,DATA_RADIX),前2个参数应与lpm_ROM宏模块LPM_WIDTHAD和LPM_WIDTH相关联,后2个参数为了方便一般设置为DEC(十进制)。关键是文件内容的begin与end之间的部分。mif文件的使用就是修改begin与end之间的内容。主要有两种修改方法。3.2.1mif文件的修改方法1mif文件的使用,即修改begin与end之间的内容,最常用的就是高级语言法。本文借助实例给以说明,并给出相应的m(Matlab)语言程序。设计要求:8位地址输入,8位数据输出,输出数等于地址高4位对应的数加低4位对应的数,即实现1个4位二进制加法的查找表。这里只用到lpm_ROM宏模块的Address[]、q[]两个端口。lpm_ROM宏模块及mif文件格式。采用MATLAB语言产生含有begin与end之间内容的txt文件,M文件的内容为:保存并运行,然后打开aaa.txt文件(默认路径C:\MATLAB701\aaa.txt),拷贝到mif文件的begin与end之间,即完成了对该文件的修改。使用高级语言修改mif文件速度快,准确度高且能实现复杂运算。适用于数据较多的场合。mif文件的修改方法2是在MAX+PLUSⅡ环境下,直接修改lpm_ROM存储器的各存储单元的内容。步骤如下:先引入lpm_ROM宏模块,新建aa.mif文件并加载到LPM_FILE中,编译完成后,波形编辑,然后仿真。此时MAX+PLUSⅡ会增加一个initialize菜单,点击initialize->initializememory…,即可在弹出的对话框中编辑存储器各单元内容,。各存储单元输入后,点击ExportFile…,在弹出的对话框中确定要输出的mif文件名,即完成了对mif文件的修改。这种方法适合数据量较小的场合,比较简单直观。以四位二进制加法查找表为例,分别采用以上两种方法对mif文件进行修改,仿真如下图5所示。仿真显示,两种方式下均正确实现了四位二进制加法查找表。4结束语本文详细讨论了基于FPGA的mif文件创建与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 对中学历史课堂管理的认识和实践
- 武装押运申请书
- 土地并申请书
- 房地产申请书
- 工程仲裁申请书
- 大学生创业项目计划书爱心
- 大学生创业课旅游项目有哪些
- 天车工过关测验训练题大全附答案
- 因数中间或末尾有零的乘法水平监控模拟题大全附答案
- 小学四年级数学几百几十数乘以一位数能力测试习题
- 创伤性脑疝查房
- 《政府管制基本理论》课件
- 农村常见传染病预防知识讲座
- XX医院网络及设备巡检记录表
- 开龙IT2021使用手册
- 《赵匡胤:北宋的开国皇帝》
- 蒸压加气混凝土砌块干燥收缩检测记录11969-2020
- 2023-2024学年第二学期人教版英语五年级教学计划(含进度表)
- 负债质量管理办法
- (完整word版)劳动合同书(电子版)正规范本(通用版)
- DB1522-T 1-2023 农用天气预报 水稻适宜度
评论
0/150
提交评论