原创 FPGA学习笔记之LPM RAM使用

2012-10-30 18:10 5172 10 12 分类: FPGA/CPLD

 1、RAM初始化文件的生成,其格式必须满足一定的要求,对于Quartus II,其能接受的两种格式初始化文件:.mif格式(即memory initialization file )和.hex格式(即hexadecimal 16进制),下面是两种格式的建立方法:

    (1).MIF文件
     如果要生成的数据表相对简单,那么可以手动填写。即在quarter ii 中File,new, 选择memory file中的memory initialization file。,点击OK后需要选择存储器地址和数据宽度,比如说对应地址线是八位的,那么number应该是256,word size是8位,OK后即生成数据表格,然后自己填就行,填完保存。
     如果要生成的数据表比较复杂和庞大,那么就必须用高级语言编写生成,如用matlab或C写。此外,还有专门的MIF文件生成器,康芯电子mif-maker。
    (2).hex文件 
    在quarter ii 内部建立方法和.mif文件类似,第二种方法则是利用51编译器来,这个比较简单,学过51的都会。
  
2、具体操作:
    (1)从quartus ii 菜单栏tools下拉菜单中选择megawizard plug-in manager ,然后点击新建一个新宏模块变量;
   (2)next ,然后再选择你要调用的RAM模块,在左边memory 下有1port ,2port,等RAM宏模块,根据自己需要选择,这里选择1port,Device 选择Cyclone II ,语言选择Verilog, 在下面路径中选择你项目路径,并为RAM命名,下面那个return to this page for another create operation ,意思我想是当你下次创建类似操作时会跳过前面页面,直接来到当前页面,所以这里我不必选它;
   (3)选择长度和位宽后,我一般选择AUTO 自动分配所需存储空间大小,也有常用M4K的,当然看自己所需要的空间大小,若是小于4KB的,选M4K就好了。这是固定分配的存储器,比较节约逻辑资源;然后选择Single block ;
    (4)接着便是使能端和清零端口设置的选择,这里直接默认就可以了;
    (5)下一个选择便是选择是要空白的数据表,还是加载你已经做好的MIF文件,这里我选加载mif;
     (6)是产生仿真需要的网络表,要仿真的话,就需要这个咯;
    (7)最后是选择你需要产生的文件,.V文件是肯定要的, 不然在顶层模块或其他模块里无法例化调用这个RAM宏模块了,其他暂时不清楚是干什么,干脆就默认。
 
如此,便生成了需要的RAM模块,直接例化调用即可,或者生产图形符号,在原理图设计中使用也是可以的。
     
 
   以上为初学笔记,如EDN的网友发现做得不对的地方,敬请指正,谢谢。
 
 
 
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

345002072_353389109 2012-10-30 18:07

你选择了吗?在最后一个步骤

用户427137 2012-10-29 19:11

我使用LPM生成RAM之后,并没有生成相应的.v文件,找不到,然后在程序中不能例化了。这是为什么呢
相关推荐阅读
啊左不是蜗牛 2015-01-28 09:21
【博客大赛】那样的人生,看不穿
         昨晚11点跟PM姐姐聊天,问她今晚要不要加班,她回:刚刚开发哥哥陪她出来打的。。。我以为我十点半从实验室回去已经够晚了。。我脸红了。        我问她为什么不早点回去...
啊左不是蜗牛 2015-01-13 19:41
【智能手机】三个观点说说国产手机未来
在此篇文章之前还有一个各大手机品牌的总结,请点击查看。 智能手机之论英雄出处      谈手机之前换个角度,类比一下PC领域。 PC领域毛利最高的时候,国产PC一直混在低端。随着时代发...
啊左不是蜗牛 2015-01-09 17:56
【智能手机】论英雄出处
我认为,如果你不知道对手的底细,那么你就很难战胜对手。知己知彼,百战百胜。所以,我简单地说说我对这几家手机品牌的看法。个人之见,欢迎讨论。   苹果: 1976年成立,在乔布斯这样的天...
啊左不是蜗牛 2014-11-19 13:48
【博客大赛】蜗牛求职记之华为篇
1、前言说明          蜗牛是电赛出身,本科做硬件嵌入式,画板子和写C程序,然后研究生阶段是转战android,但是由于项目涉及到硬件,导师项目众多,小伙伴少,于是我也负责部分st...
啊左不是蜗牛 2014-08-16 14:38
以另一种位图的思想来解决一道OJ题目
前言: 以前所接触到的位图的思想都是以1位的形式去存储某个数出现的次数是1次还是0次。常见的例子不外乎在《编程珠玑》上的开篇例子里,1千万个数的排序统计,用1.25M的内存空间就可以达到遍历一...
啊左不是蜗牛 2014-08-15 11:57
Android 笔记之 listview 性能优化
列表显示需要三个元素, (1)listview 视图,用来显示列表的View ; (2)适配器,用来把数据映射到listView上面的 (3)数据,具体将被映射的数据,包括字符串,图片...
EE直播间
更多
我要评论
2
10
关闭 站长推荐上一条 /3 下一条