6系列FPGA中使用块RAM的心得(3)

FPGA/ASIC技术

211人已加入

描述

接下来就是调用IPcore,来产生ROM的IP了。流程就不多讲了,不清楚的同学可以看书,也可以简单浏览一下。在建立IPcore的时候,选择为Block Memory Generator,就进入了块RAM的调用。Memory的类型自然选择为ROM,简单起见使用了单端口的ROM(single port ROM),如图1所示。

FPGA

图1 IP调用
图1下方中间靠左的位置有个“datasheet”,点击一下就打开了该IP使用的手册,名字为《LogiCORE IP Block Memory Generator v4.2》。这个算是最全面的了,讲到了该IP使用的方方面面,还是非常实用的。接下来是配置该段存储器的宽度和深度。这个根据实际需要进行配置即可。
既然是ROM,就应该有预先“固化”的数据。在IP配置的第3步,有个内存初始化选项,这里可以调用.coe类型的文件,将事先存储的数据引用出来。.coe文件的建立也比较简单,我一般是首先新建一个记事本文件,即.txt文件,将预先计算好的数据存入,然后加上该文件头部需要的语句,即
          memory_initialization_radix = 10;
          memory_initialization_vector =
          3535
         ,-15105
         , -2288
         ,-25620
         ,-19906
         ,-19879
         ,-42826
         ……(中间数据省略)
         , -7697
         ,-36317
         ,-28038;
 memory_initialization_radix指的是数据的进制,10自然就是10进制了,还要注意的格式就是每个数据之前有逗号,最后一个数据以分号结束。前面提到所使用的拟合系数是浮点的,简单处理期间,这里把拟合系数都乘了10000,然后舍掉了剩余的小数位数(虽然一般情况下浮点到定点转换使用的都是乘2的幂)。

FPGA

 没有问题之后,点击generate,就可以产生IP的调用了。这个时间经常会有点长。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • FPGA

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分