6系列FPGA中使用块RAM的心得(3)
时间:02-11
来源:网络整理
点击:
接下来就是调用IPcore,来产生ROM的IP了。流程就不多讲了,不清楚的同学可以看书,也可以简单浏览一下。在建立IPcore的时候,选择为Block Memory Generator,就进入了块RAM的调用。Memory的类型自然选择为ROM,简单起见使用了单端口的ROM(single port ROM),如图1所示。
图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的幂)。
没有问题之后,点击generate,就可以产生IP的调用了。这个时间经常会有点长。
FPGA 相关文章:
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)
- DE0-Nano-SoC 套件 / Atlas-SoC 套件(10-30)